Arquitectura de Computadoras

  • Published on
    04-Jul-2015

  • View
    3.914

  • Download
    0

Embed Size (px)

Transcript

<p>Introduccin</p> <p>Arquitectura</p> <p>Atributos de un sistema visibles para un programador Conjunto de instrucciones, bits de representacin de datos, mecanismos de E/S, direccionamiento de memoria Interconexin entre unidades funcionales Seales de control, interfaces computador / perifricos, tipo de memoria</p> <p>Organizacin </p> <p>Estructura y funcionamiento </p> <p>Un computador es un sistema complejo De naturaleza jerrquica Posee subsistemas interrelacionados Necesitamos entender </p> <p>Estructura Funcionamiento</p> <p>Funcionamiento </p> <p>Procesamiento de datos Almacenamiento de datos Transferencia de datos Control</p> <p>Procesamiento de datos</p> <p>El computador debe ser capaz de procesar datos Los datos pueden adoptar diferentes formas</p> <p>Almacenamiento de datos </p> <p>Es una funcin esencial Existen dos tipos de almacenaimentos: </p> <p>A corto plazo Memoria temporal A largo plazo Memoria en ficheros</p> <p>Tansferencia de datos</p> <p>El computador debe ser capaz de transferir datos entre l y el mundo exterior Con dispositivos conectados directamente al computador</p> <p>Entrada Salida Comunicacin de datos</p> <p>Con dispositivos remotos</p> <p>Control </p> <p>Hecha por la unidad de control Gestiona y controla </p> <p>Procesamiento Almacenamiento Transferencia</p> <p>Estructura</p> <p>Existen 4 componentes estructurales</p> <p>Unidad central de proceso</p> <p>Procesamiento de datos Almacena datos Transfiere datos Comunica la CPU, la memoria y la E/S</p> <p>Memoria central</p> <p>E/S</p> <p>Sistemas de interconexin</p> <p>Arquitectura de von Neumann</p> <p>Los datos y las instrucciones se almacenan en una sola memoria de lectura-escritura El contenido de la memoria se direccionan indicando su posicin, sin importar el tipo de contenido La ejecucin se produce siguiendo una secuencia de instruccin tras instruccin</p> <p>Componentes del computador </p> <p>Conjunto pequeo de componentes lgicos Se pueden combinar de formas diferentes permitiendo almacenar datos binarios Para clculos concretos, se usa un hardware de componentes lgicos diseado especficamente para dicho clculo El hardware acepta datos y produce resultados Hardwired program</p> <p>Componentes del computador</p> <p>Hardware con funciones lgicas y aritmticas de uso general El hardware realiza funciones distintas segn las seales de control aplicadas El hardware acepta datos y seales de control, y produce resultados No se necesita reconfigurar el hardware para cada nuevo programa Simplemente se proporciona un nuevo conjunto de seales de control</p> <p>Componentes del computador</p> <p>Como se suministran las seales de control </p> <p>Un programa es una secuencia de pasos En cada paso se realiza una operacin aritmtica o lgica con ciertos datos Para cada paso se necesita un nuevo conjunto de seales de control Se asocia un cdigo especfico a cada conjunto de seales de control Se aade al hardware un componente para generar seales de control a partir del cdigo</p> <p>Componentes del computador</p> <p>En lugar de reconfigurar el hardware para cada programa Se proporciona una nueva secuencia de cdigos Cada cdigo es una instruccin Una parte del hardware interpreta cada instruccin y genera las seales de control La secuencia de instrucciones es conocida como software</p> <p>Componentes del computador</p> <p>Existen dos componentes esenciales </p> <p>Intrprete de instrucciones Mdulo general de funciones aritmticas y lgicas</p> <p>Ambos constituyen la CPU Adems encontramos los componentes de E/S</p> <p>Responsables de introducir instrucciones y proporcionar resultados</p> <p>Componentes del computador </p> <p>Otro componente importante es la memoria De ella se extraen los datos y las instrucciones La arquitectura de Von Neumann establece que la memoria puede ser usada para instrucciones y datos</p> <p>Componentes del computador </p> <p>La CPU se encarga del control Intercambia datos con la memoria Usa registros internos</p> <p>Registro de direccin de memoria (MAR)</p> <p>Direccin en memoria de la prxima escritura o lectura Contiene el dato a escribir en memoria o donde se escribe el dato cuando se lee de la memoria</p> <p>Registro para datos de memoria (MBR)</p> <p>Componentes del computador</p> <p>Registros internos (contina)</p> <p>Registro de direcciones de E/S (E/SAR)</p> <p>Especifica un dispositivo de E/S Se usa para intercambiar datos entre un mdulo de E/S y la CPU Direccin de memoria de la siguiente instruccin Siguiente instruccin a ejecutar</p> <p>Registro para datos de E/S (E/S BR)</p> <p>Contador de programa (PC)</p> <p>Registro de instruccin (IR)</p> <p>La funcin de un computador es la ejecucin de un programa Un programa est constituido por un conjunto de instrucciones en memoria El procesador ejecuta instrucciones especificadas en el programa Consta de dos etapas </p> <p>Funcionamiento del computador</p> <p>Captar la instruccin Ejecutar la instruccin</p> <p>Ciclos de captacin y ejecucin</p> <p>Al inicio de cada ciclo de instruccin, la CPU capta una instruccin de memoria Se utiliza un registro llamado Contador de programa (PC) El registro PC permite saber donde est la instruccin que debe captarse A no se que se indique otra cosa, la CPU siempre incrementa el PC Se captar la siguiente instruccin de la secuencia</p> <p>Ciclos de captacin y ejecucin</p> <p>La instruccin captada se almacena en otro registro de la CPU llamado Registro de instruccin (IR) La instruccin se escribe usando un cdigo binario que indica la accin a realizar a la CPU La accin generalmente puede ser de cuatro tipos: </p> <p>Procesador Memoria Procesador E/S Procesamiento de datos Control</p> <p>Ciclos de captacin y ejecucin</p> <p>Ejemplo de mquina hipottica </p> <p>Procesador con nico registro de datos (AC) Los datos e instrucciones son de 16 bits La memoria est organizada en palabras Pueden haber 24 = 16 operaciones distintas Se puede direccionar 216 = 4096 palabras</p> <p>Ciclos de captacin y ejecucin</p> <p>Ciclos de captacin y ejecucin </p> <p>El ejemplo necesita tres ciclos de instruccin Cada uno con un ciclo de captacin y uno de ejecucin Con instrucciones mas complejas se necesitaran menos ciclos Los procesadores actuales incluyen instrucciones que contienen mas de una direccin Entonces el ciclo de ejecucin de una instruccin incluye ms de una referencia a memoria</p> <p>Ciclos de captacin y ejecucin</p> <p>Los distintos estados en el ciclo de instruccin bsico son: </p> <p>Clculo de la direccin de la instruccin (iac) Captacin de la instruccin (if) Decodificacin de la operacin (iod) Clculo de la direccin del operando (oac) Captacin del operando (of) Operacin con los datos (do) Almacenamiento del operando (os)</p> <p>Ciclos de captacin y ejecucin</p> <p>Interrupciones</p> <p>Todos los computadores disponens de un mecanismo para interrumpir a la CPU Algunas clases de interrupciones mas comunes son: </p> <p>Programa Temporizacin E/S Hardware</p> <p>Sin interrupciones</p> <p>Con interrupciones</p> <p>Con interrupciones, la CPU puede ejecutar otras instrucciones mientras se lleva a cabo una operacin de E/S</p> <p>Se aade el ciclo de interrupcin al ciclo de instruccin En una interrupcin, el procesador comprueba si se ha generado alguna interrupcin mediante la presencia de una sealo de interrupcin</p> <p>Interrupciones y el ciclo de instruccin</p> <p>Interrupciones y el ciclo de instruccin</p> <p>Interrupciones mltiples</p> <p>Hasta ahora vimos casos de una sola interrupcin Casos reales involucran interrupciones provenientes de varios dispositivos Existen dos alternativas: </p> <p>Desactivar las interrupciones Usar prioridades para las interrupciones</p> <p>Desactivar interrupciones</p> <p>El procesador ignora las peticiones de interrupciones Las interrupciones generadas se mantienen pendientes Sern examinadas por el procesador cuando se activen las interrupciones nuevamente No se tiene en cuenta las solicitudes prioritarias Ej., placa de red</p> <p>Interrupciones de mayor prioridad interrumpen la gestin de prioridades de menor prioridad Permite atender situaciones de mayor criticidad</p> <p>Prioridades en las interrupciones</p> <p>Prioridades en las interrupciones</p> <p>Funcionamiento de las E/S</p> <p>Un mdulo de E/S (por ejemplo, un controlador de disco) puede intercambiar datos directamente con el procesador El procesador puede leer o escribir datos en memoria como tambin en un mdulo de E/S A veces el procesador cede a un mdulo de E/S la autoridad de leer o escribir en memoria Esta transferencia E/S memoria se produce sin intervencin del procesador Esta operacin se conoce como DMA (Acceso Directo a Memoria</p> <p>Estructuras de interconexin</p> <p>Existen mdulos de tres tipos elementales que se comunican entre s </p> <p>Procesador Memoria E/S</p> <p>El conjunto de lneas que conectan los mdulos se denomina estructura de interconexin</p> <p>Memoria </p> <p>Constituido por N palabras del mismo tamao Cada palabra tiene una nica direccin numrica Una palabra puede leerse o escribirse El tipo de operacin se indica mediente las seales Read (leer) y Write (escribir) La posicin de memoria para la operacin se especifica por una direccin</p> <p>Memoria</p> <p>Mdulo de E/S </p> <p>Funcionalmente muy similar a la memoria Existen dos tipos: leer y escribir Un mdulo puede controlar mas de un dispositivo externo Cada interfaz hacia un dispositivo se denomina puerto Cada puerto tiene una direccin Existen lneas externas de datos para entrada y salida de datos por un dispositivo externo Un mdulo de E/S puede interrumpir al CPU</p> <p>Mdulo de E/S</p> <p>Procesador </p> <p>El procesador lee instrucciones y datos Escribe datos una vez procesados Usa seales para controlar el funcionamiento del sistema Puede recibir seales de interrupcin</p> <p>Procesador</p> <p>Tipos de transferencias </p> <p>Memoria a procesador Procesador a memoria E/S a procesador Procesador a E/S Memoria a E/S E/S a memoria</p> <p>DMA</p> <p>Estructuras de interconexin</p> <p>Se han probado diversas estructuras de interconexin Las ms comunes son las estructuras de bus y de buses mltiples</p> <p>Interconexin con buses</p> <p>Un bus es un camino de comunicacin entre dos o ms dispositivos Es un medio de transmisin compartido por varios dispositivos Cualquier seal transmitida por uno es escuchada por los dems Si dos dispositivos transmiten al mismo tiempo, sus seas se solapan y distorsionan Solo un dispositivo puede transmitir con xito en un momento dado</p> <p>Interconexin con buses</p> <p>Usualmente un bus est constituido por varios caminos de comunicacin o lneas Cada lnea es capaz de transmitir seales binarias En un intervalo se puede transmitir una secuencia de dgitos binarios por una nica lnea Se pueden usar varias lneas del bus para transmitir dgitos binarios simultneamente</p> <p>Interconexin con buses</p> <p>Los computadores poseen distintos tipos de buses Proporcionan comunicacin entre sus componentes El bus que conecta los componentes principales del computador (procesador, memoria y E/S) se llama bus del sistema</p> <p>Estructura del bus</p> <p>Est constitudo usualmente por entre 50 y 100 lneas A cada lnea se le asigna una funcin Existen diversos diseos de buses Bsicamente se clasifican en tres grupos funcionales </p> <p>Lneas de datos Lneas de direcciones Lneas de control</p> <p>Lneas de datos</p> <p>Proporcionan un camino para transmitir datos entre los mdulos del sistema El conjunto de estas lneas se denomina bus de datos Generalmente consta de 8, 16 o 32 lneas distintas Este nmero es el ancho del bus Cada lnea solo puede transportar un solo bit cada vez</p> <p>Lneas de datos</p> <p>El nmero de lneas determina cuantos bits pueden transferirse al mismo tiempo El ancho del bus es clave en las prestaciones generales del sistema</p> <p>Lneas de direccin</p> <p>Se usan para designar la fuente o el destino del dato situado en el bus de datos Si el procesador desea leer una palabra (8, 16 o 32 bits) de datos de la memoria, indica su direccin colocndola en el bus de direccin El ancho del bus de direcciones determina la cantidad de memoria posible en el sistema Un bus de 32 bits permite 4 GB de memoria</p> <p>Lneas de direccin</p> <p>Tambin se usan para direccionar los puertos de E/S Los bits de orden alto se usan para seleccionar una posicin de memoria o un puerto de E/S dentro de un mdulo Ejemplo para un bus de 8 bits:</p> <p>01111111 e inferiores referencian posiciones dentro de un mdulo de memoria. 128 palabras 10000000 referencian dispositivos conectados a un mdulo de E/S</p> <p>Lneas de control</p> <p>Las lneas de datos y de direcciones son compartidas por todos los componentes El bus de control es el responsable de controlar el uso de las lneas de datos y de direccin Las seales de control transmiten rdenes e informacin de temporizacin entre los mdulos Las seales de temporizacin indican la validez de los datos y las direcciones Las seales de rdenes especifican las operaciones a realizar</p> <p>Lneas de control</p> <p>Algunas lneas de control tpicas son: </p> <p>Escritura en memoria Lectura de memoria Escritura de E/S Lectura de E/S Reconocimiento de transferencia Peticin de bus Cesin de bus Peticin de interrupcin Reconocimiento de interrupcin</p> <p>Si un mdulo desea enviar un datos a otro: </p> <p>Obtiene el uso del bus Transfiere el dato a travs del bus Obtiene el uso del bus Transfiere la peticin al otro mdulo mediante la lnea de control y direccin apropiadas Luego espera a que el otro mdulo enve el dato</p> <p>Si un mdulo desea pedir un dato a otro: </p> <p>El bus del sistema es un conjunto de conductores elctricos paralelos El bus se extiende a travs de todos los componentes del sistema Cada componente se conecta a algunas o a todas las lneas del bus</p> <p>Jerarqua de buses</p> <p>Si se conecta un gran nmero de dispositivos al bus, las prestaciones disminuyen </p> <p>Aumenta el retardo El bus se convierte en el cuello de botella</p> <p>Se usan varios organizados jerrquicamente</p> <p>Jerarqua de buses</p> <p>Una estructura tpica se muestra en la siguiente figura Hay un bus local que conecta el procesasor a una memoria cach El controlador de memoria cach conecta la cach al bus local y al bus del sistema El uso de cach evita los accesos frecuentes del procesador a la memoria principal</p> <p>Jerarqua de buses</p> <p>Es posible conectar controladores de E/S directamente al bus del sistema Para ello se usan uno o ms buses de expansin Una interfaz con el bus de expansin regula las transferencias entre el bus de sistema y los controladores conectados al bus de expansin Esto permite conectar el sistema una amplia variedad de dispositivos de E/S y aislar el trfico entre la memoria y el procesador</p> <p>Jerarqua de buses</p> <p>Esta arquitectura de buses tradicional es eficiente Su debilidad queda expuesta a medida que los dispositivos de E/S ofrecen prestaciones cada vez mejores La industria propone un bus de alta velocidad integrado con el resto del sistema Requiere un adaptador (bridge) entre el bus del procesador y el bus de alta velocidad</p> <p>Jerarqua de buses</p> <p>Un bus local que conecta el procesador a un controlador de cach, que a su vez est conectado al bus del sistema que soporta a la memoria principal El controlador de cach est integrado al bridge que permite la conexin al bus de alta velocidad Los dispositivos de menor capacidad se conectan al bus de expansin</p> <p>Elementos de diseo de un bus</p> <p>Tipos de buses</p> <p>Dedicados multiplexados Centralizado distribuido Sncrono asncrono Direccin datos Lectura escritura - etc.</p> <p>Mtodo de arbitraje</p> <p>Temporiz...</p>