PERSPECTIVAS DE ALTO NIVEL DEL FUNCIONAMIENTO Y DE LAS
INTERCONEXIONES DEL COMPUTADOR
Un ciclo de instruccin consiste en la captacin de la instruccin, seguida de ninguno o varios accesos a operandos, ninguno o varios almacenamientos de operandos y la comprobacin de las interrupciones. Los principales componentes del computador deben de estar interconectados para el intercambio de datos y seales de control, el medio de interconexin ms usado es el bus compartido que est constituido por un conjunto de lneas, una jerarqua de buses permite mejorar el nivel de prestaciones. En el diseo de los buses se debe tomar en cuenta: -El arbitraje que se refiere al control de forma centralizada o distribuida de las seales a travs de las lneas del bus. -La temporizacin que se refiere a si las seales del bus se sincronizan mediante un reloj central o se envan asncronamente. -La anchura que refiere al nmero de lneas de direccin y de datos. En Alto nivel se describe al computador de dos formas: (1). Mediante el comportamiento de cada uno de sus componentes. (2). Mediante la estructura de interconexin y los controles necesarios para gestionar el uso de dicha estructura La visin en alto nivel ayuda a entender la naturaleza de comprensin debido a sus capacidad explicativa, tambin sirve para entender los complejos problemas de evaluacin de prestaciones. 3.1 COMPONENTES DEL COMPUTADOR El diseo de Von Newmann se basa en tres conceptos clave: -Los datos y las instrucciones se almacenan en una sola memoria de lectura- escritura. -Los contenidos de esta memoria se direccionan indicando su posicin, sin considerar el tipo de dato contenido en la misma. -La ejecucin se produce siguiendo una secuencia de instruccin tras instruccin. Para el almacenamiento de datos y la realizacin de operaciones aritmticas y lgicas se utilizan componente lgicos bsicos que se encuentran con una configuracin especfica para cada clculo. El conjunto de los componentes conectados se denomina programa cableado. Para evitar una reconfiguracin del hardware para cada programa se hace uso del hardware de uso general, el cual acepta datos y seales de control produciendo resultados; para cada nuevo programa el programador slo necesita proporcionar un nuevo conjunto de seales de control. Cmo se suministran las seales de control? El programa es una secuencia de pasos. En cada paso, se realiza una operacin con ciertos datos. Para cada paso se requiere un nuevo conjunto de seales de control. La solucin consiste en asociar un cdigo especfico a cada posible conjunto de seales de control, y aadir al hardware de uso general una parte encargada de generar las seales de control a partir del cdigo. Cada cdigo es de hecho una instruccin y una parte del hardware interpreta cada instruccin y genera las seales de control.
Los datos y las instrucciones son introducidos en el sistema mediante un
dispositivo de entrada, este dispositivo contiene los componentes bsicos para captar datos e instrucciones, y traducirlos al formato de seales que utiliza el sistema. UN mdulo de salida proporciona los resultados, a los mdulos de entrada y salida se les conoce como componentes de E/S (Entrada/Salida). Existen ciertas instrucciones como ejecutar la instruccin de salto IAS, y operaciones con datos que necesiten acceder a ms de un operando y de acuerdo a una secuencia por ello existe un mdulo llamado memoria, o memoria principal, esta memoria almacena temporalmente las instrucciones y los datos. La CPU se encargar del control e intercambia datos con la memoria, utiliza dos registros internos, (1) registro de direcciones de memoria (MAR Memory ADdress Register) (especifica la direccin en memoria de la prxima lectura o escritura (2) registro para datos de memoria (MBR) (Memory Buffer Register) (contiene el dato que se va a escribir en memoria). Un mdulo de memoria consta de un conjunto de posiciones designadas por direcciones numeradas secuencialmente. Cada posicin contiene un nmero binario que se interpreta como una instruccin o como un dato. Un mdulo de E/S transfiere datos desde los dispositivos externos a la CPU y a la memoria
3.2 FUNCIONAMIENTO DEL COMPUTADOR
La funcin bsica que realiza un computador es la ejecucin de un programa que est constituido por un conjunto de instrucciones almacenadas en memoria. El procesador es quien se encarga de ejecutar las instrucciones especificadas en el programa. Durante la ejecucin del programa se tiene dos aspectos o etapas: -El procesador lee la instruccin de memoria y la ejecuta (ciclo de captacin y ciclo de ejecucin) El procesamiento que requiere una instruccin se denomina ciclo de instruccin LOS CICLOS DE CAPTACIN Y EJECUCIN La CPU capta una instruccin de memoria, normalmente se usa un registro llamado contador de programa (PC) para seguir la pista de la instruccin que se debe captar a continuacin. El CPU incrementa el PC despus de captar una instruccin. La instruccin captada se almacena en un registro de la CPU conocido como registro de instrucciones (IR).La instruccin se escribe en binario para especificar la accin que debe realizar la CPU, la CPU interpreta la instruccin y lleva a cabo la accin requerida que puede ser de 4 tipos: -Procesador-Memoria: Los datos deben transferirse desde la CPU a la memoria o viceversa. -Procesador-E/S: Los datos deben transferirse hacia el exterior mediante transferencias entre la CPU y un mdulo de E/S. -Procesamiento de Datos: La CPU debe realizar una operacin aritmtica o lgica con los datos. -Control: Una instruccin puede especificar que la secuencia de ejecucin se altere. La ejecucin de una instruccin puede implicar una combinacin de estas acciones. **EJEMPLO: El fragmento de programa suma el contenido de la palabra de memoria en la direccin 940 con el contenido de la palabra de memoria en la direccin 941 y almacena el resultado en esta ltima posicin. Se requieren tres instrucciones, que consumen tres ciclos de captacin y tres de ejecucin: -El contador de programa (PC) contiene el valor 300, la direccin de la primera instruccin. Esta instruccin (el valor hexadecimal 1940) se caiga en el registro de instruccin (IR). Obsrvese que este proceso implicara el uso del registro de direccin de memoria (MAR) y el registro de datos de memoria (MBR). Por simplicidad, se han ignorado estos registros intermedios. -Los primeros cuatro bits de IR (primer dgito hexadecimal) indican que el acumulador (AC) se va a cargar. Los restantes 12 bits (tres dgitos hexadecimales) especifican la direccin (940) que se va a cargar. -El registro PC se incrementa, y se capta la siguiente instruccin (5941) desde la direccin 301. -El contenido anterior de AC y el de la posicin de memoria 941 se suman, y el resultado se almacena en AC. -El registro PC se incrementa, y se capta la siguiente instruccin (294) desde la posicin 302. -El contenido de AC se almacena en la posicin 941. ESTADOS DEL CICLODE INSTRUCCIN -Clculo de la direccin de la instruccin (IAC,Instruction Address Calculation): Determina la direccin de la siguiente instruccin a ejecutar, en 16 bits se suma 1 a la direccin previa , si la memoria se organiza en bytes (8bits) direccionables individualmente se suma 2 a la direccin previa. -Captacin de instruccin (IF, Instruction Fetch): La CPU lee la instruccin desde sus posicin en memoria. -Decodificacin de la operacin indicada en la instruccin (IOD,Instruction Operation Decoding): Analiza la instruccin para determinar el tipo de operacin a realizar. -Clculo de la direccin del operando (OAC, Operand Address Calculation): Si la instruccin implica una referencia a un operando en memoria o disponible mediante E/S determina la direccin del operando. -Captacin de operando (OF, Operand Fetch): Capta el operando desde memorio o se lee desde el dispositivo de E/S -Operacin con los datos (DO, Data Operation): Realiza la operacin indicada en la instruccin. -Almacenamiento de operando (OS, Operand Store): Escribe e resultado en memoria o la saca a travs de un dispositivo de E/S. Los estados en la parte superior de la Figura 3.6 ocasionan intercambios entre la CPU y la memoria o un mdulo de E/S. Los estados en la parte inferior del diagrama solo ocasionan operaciones internas a la CPU. INTERRUPCIONES Todos los computadores disponen de un mecanismo por el cual otros mdulos (E/S, memoria) pueden interrumpir el procesamiento normal de la CPU. Las interrupciones ayudan a mejorar la eficiencia del procesador LAS INTERRUPCIONES Y EL CICLO DE INSTRUCCIN Con el uso de interrupciones el procesador puede dedicarse a ejecutar otras instrucciones mientras una operacin de E/S est en curso. Para permitir el uso de interrupciones, se aade un ciclo de interrupcin al ciclo de instruccin:
En el ciclo de interrupcin el procesador comprueba si se ha generado alguna
interrupcin esto por una seal, si no hay seales de interrupcin el procesador contina con el ciclo de captacin y accede a la siguiente instruccin del programa en curso; en case de haber una interrupcin pendiente el procesador hace lo siguiente: -Suspende la ejecucin del programa y guarda su contexto, almacena la direccin de la siguiente instruccin a ejecutar. -Carga el contador de programa con la direccin de comienzo de un rutina de gestin de interrupcin. A continuacin el procesador prosigue con el ciclo de captacin y accede a la primera instruccin del programa de gestin de interrupcin, que dar servicio a la interrupcin Deben ejecutarse instrucciones extra (en el gestor de interrupcin) para determinar el origen de la interrupcin y para decidir la accin apropiada. No obstante, debido a la relativamente gran cantidad de tiempo que se perdera simplemente por la espera asociada a la operacin de E/S, el procesador puede emplearse de manera mucho ms eficiente utilizando interrupciones. INTERRUPCIONES MLTIPLES: Para tratar interrupciones mltiples se tiene dos alternativas: -Desactivar las interrupciones mientras se est procesando una interrupcin, las interrupciones se manejan en un orden secuencial estricto. El inconveniente es que no se tiene en cuenta la prioridad relativa ni las solicitudes con un tiempo crtico. Definir prioridades para las interrupciones y permitir que una interrupcin de prioridad ms alta pueda interrumpir a un gestor de interrupcin de prioridad menor FUNCIONAMIENTO DE LAS E/S Un mdulo de E/S puede intercambiar datos directamente con el procesador. El procesador puede leer o escribir datos de(o en) un mdulo de E/S. Generalmente se permite que los intercambios de E/S se produzcan directamente con las memoria, en ese caso el procesador cede a un mdulo de E/S la autoridad para leer o escribir en memoria.(acceso directo a memoria). 3.3. ESTRUCTURAS DE INTERCONEXIN Un computador est constituido por un conjunto de unidades o mdulos de tres tipos elementales (procesador, memoria, E/S) que se comunican entre s. l conjunto de lneas que conectan los diversos mdulos se denomina estructura de interconexin. Entre los tipos de intercambios que se necesitan se tienen: -Memoria: Un mdulo de memoria est constituido por N palabras de la misma longitud, estas palabras tienen una nica direccin numrica. La posicin de memoria para la operacin se especifica mediante una direccin. -Mdulo de E/S: Un mdulo de E/S es funcionalmente igual a una memoria, adems puede controlar ms de un dispositivo externo. Procesador: el procesador lee instrucciones y datos, utiliza ciertas seales para controlar el funcionamiento del sistema, recibe seales de interrupcn. La estructura de interconexin debe dar cobertura a los siguientes tipos de transferencia: -memoria a procesador: El procesador lee una instruccin o un dato desde la memoria -Procesador a memoria: el procesador escribe un dato en la memoria. -E/S a procesador: El procesador lee datos de un dispositivo de E/S, a travs de un mdulo de E/S -Procesador a E/S: El procesador enva datos al dispositivo de E/S -Memoria a E/S y viceversa: Un mdulo de E/S puede intercambiar datos directamente con la memoria. 3.4 INTERCONEXIN CON BUSES Un bus es el medio por el cual dos dispositivos pueden comunicarse, este medio de transmisin es compartido, al bus se conectan varios dispositivos y cualquier seal que uno de estos dispositivos mande estar disponible para los dems dispositivos, puede haber distorsin de seales cuando dos dispositivos transmiten en el mismo periodo de tiempo cuando dos dispositivos. Un bus est constituido por varios caminos de comunicacin, o lneas. Cada lnea puede transmitir seales binarias. En un intervalo de tiempo se puede transmitir una secuencia de dgitos binarios a travs de una nica lnea, se puede usar varias lneas del bus para transmitir dgitos binarios en paralelo. Los computadores poseen diferentes tipos de buses que proporcionan comunicacin entre sus componentes a distintos niveles dentro de la jerarqua del sistema. El bus que conecta los componentes principales del computador se denomina bus del sistema. ESTRUCTURA DEL BUS El bus del sistema est constituido usualmente por entre 50 y cien lneas, cada lnea tiene una funcin particular, las lneas se puede clasificar en: -lneas de datos: Proporcionan el camino para la transmisin de datos, el conjunto de estas lneas se denomina bus de datos, el nmero de lneas determina cuantos bits se puede transmitir a la vez. El nmero de lneas se conoce como la anchura del bus. -lneas de direcciones: Se utilizan para designar la fuente o destino del dato situado en el bus de datos. La anchura de bus de direcciones determina la mxima capacidad de memoria posible en el sistema. Los bits de orden ms alto se utilizan para seleccionar una posicin de memoria o un puerto de E/S dentro de un mdulo. -lneas de control: Se usan para controlar el uso de las lneas de datos y de direcciones debido a que estn compartidas por todos los componentes. Transmiten rdenes e informacin de temporizacin entre los mdulos del sistema, estas seales de temporizacin indican la validez de los datos y las direcciones, las rdenes especifican las operaciones a realizar. Algunas lneas de control tpicas son: -escritura de memoria: Hace que el dato del bus se escriba en la posicin direccionada -lectura de memoria: Hace que el dato de la posicin direccionada se site en el bus -Escritura de E/S: Hace que el dato del bus se transfiera a travs del puerto de E/S -Lectura de E/S: Hace que el dato del puerto de E/S direccionado se site en el bus -Transferencia reconocida: Indica que el dato ha sido aceptado o situado en el bus -Peticin de bus: Un mdulo necesita el bus -Cesin de bus: ceder el bus al mdulo -Peticin de interrupcin: Interrupcin pendiente -Interrupcin reconocida. Interrupcin aceptada -Reloj: sincronizar las operaciones -Inicio: pone los mdulos conectados en su estado inicial *lneas de alimentacin El funcionamiento del bus se describe a continuacin. Si un mdulo desea enviar un dato a otro debe hacer dos cosas: (1) obtener el uso del bus y (2) transferir el dato a travs del bus. Si un mdulo desea pedir un dato a otro mdulo, debe (1) obtener el uso del bus y (2) transferir la peticin al otro mdulo mediante las lneas de control y direccin apropiadas. Despus debe esperar a que el segundo mdulo enve el dato. Implementacin fsica tpica de una arquitectura de bus
JERARQUAS DE BUSES MLTIPLES
-A ms dispositivos conectados al bus mayor es el retardo de propagacin -El bus puede sufrir de aglomeramientos de peticiones de transferencias, esto se puede resolver incrementando la velocidad a la que el bus transfiere datos y utilizando buses ms anchos, pero la velocidad de transferencias que necesitan los dispositivos conectados al bus va en incremento, el bus nico tiende a dejar de utilizarse. La mayora de computadores utilizan varios buses organizados jerrquicamente. Hay un bus local que conecta el procesador a una memoria cach y al que puede conectarse uno o ms dispositivos locales. El controlador de memoria cach conecta al bus local y al bus del sistema donde se conectan todo los mdulos de memoria principal. Se puede conectar controladores de E/S directamente al bus de sistema. Un bus de expansin permite regular las transferencias de datos entre el bus de sistema y los controladores al bus de expansin, esto ayuda a aislar el trfico de informacin entre le memoria y el procesador del trfico correspondiente a las E/S. Esta arquitectura de buses es eficiente pero muestra debilidad a medida que los dispositivos de E/S ofrecen prestaciones cada vez mayores. Una solucin ha sido proponer un bus de alta velocidad que se integre con el resto del sistema, arquitectura de entrplanta.
La ventaja de esta organizacin es que el bus de alta velocidad acerca al
procesador los dispositivos que exigen prestaciones elevadas y al mismo tiempo es independiente del procesador. As, se pueden tolerar las diferencias de velocidad entre el procesador y el bus de altas prestaciones y las variaciones en la definicin de las lneas de los buses. Los cambios en la arquitectura del procesador no afectan al bus de alta velocidad, y viceversa ELEMENTOS DEL DISEO DE UN BUS Tipo: Una lnea del bus dedicada est permanente asignada a una funcin o a un subconjunto fsico de componentes del computador, ejemplo para direcciones y datos. La ventaja del multiplexado es el uso de menos lneas, pero se puede tener reduccin en las prestaciones debido a que los eventos deben compartir las misma lneas no pueden producirse en paralelo. Mtodo de arbitraje: En un esquema centralizado un nico dispositivo hardware controlador del bus o rbitro asigna tiempos en el bus. En un esquema distribuido cada mdulo dispone de lgica para controlar el acceso, los mdulos actan conjuntamente para compartir el bus. Temporizacin: Forma en que se coordina los eventos en el bus. Con temporizacin sncrona la presencia de un evento en el bus est determinada por un reloj. El bus incluye una lnea de reloj Con a temporizacin asncrona la presencia de un evento en el bus es consecuencia y depende de que se produzca un evento previo La temporizacin sncrona es ms fcil de implementar y comprobar, pero es menos flexible que la temporizacin asncrona debido a que todos los dispositivos en un bus sncrono deben utilizar la misma frecuencia de reloj. Con la temporizacin asncrona puede compartir el bus una mezcla de dispositivos lentos y rpidos. Anchura del bus: La anchura del bus de datos afecta a las prestaciones del sistema. La anchura del bus de direcciones se refiere al rango de posiciones a las que puede hacer referencia. Tipos de transferencias de datos: Todos los buses permiten tanto transferencias de escritura como de lectura. 3.5 PCI El bus PCI (Peripheral Component Interconnect, Interconexin de Componente Perifrico) es un bus muy popular de ancho de banda elevado independiente del procesador que se puede utilizar como bus de perifricos o bus para una aquitectura de entreplanta. EL bus PCI proporciona mejores prestaciones para los subisstemas de E/S de alta velocidad. El estndar actual permite el uso de hasta d64 lneas de datos a 66MHz. EL PCI ha sido diseado especficamente para ajustarse econmicamente a los requisitos de E/S de los sistemas actuales, permite que otros buses se conecten al bus PCI. Intel empez trabajar en el PCI en 1990 pensando en sus sistemas basados en al Pentium El PCI est diseado para permitir una cierta variedad de configuraciones basadas en microprocesadores, incluyendo sistemas de uno o varios procesadores.
ESTRUCTURA DEL BUS
Puede configurarse como un bus de 32 o 64 bits. Se dividen en los siguientes grupos funcionales: -Terminales (patillas) de sistema Constituidas por los terminales de reloj y de inicio -Terminales de direcciones y datos: 32 lneas para datos y direcciones multiplexadas en el tiempo. Las otras lneas de grupo se utilizan para interpretar y validar las lneas de seal correspondientes a los datos y direcciones. -Terminales de control de la interfaz: Controlan la temporizacin de las transferencias y proporcionan coordinacin entre los mdulos que las inician y los destinatarios. -Terminales de arbitraje: Estas lneas no son compartidas, cada maestro del PCI tiene su par propio de lneas que lo conectan con el rbitro del bus PCI -Terminales para seales de error TERMINALES OPCIONALES -Terminales de Interrupcin: Para los dispositivos PCI que deben generar peticiones de servicio, no son compartida, cada PCI tiene su propia lnea o lneas de peticin de interrupcin -Terminales de soporte de cach: Necesarios para permitir memorias cach en el bus PCI asociados a un procesador o a otro dispositivo. -Terminales de ampliacin a bus de 64 bits: Incluye 32 lneas multiplexadas en el tiempo para direcciones y datos -Terminales de test RDENES DEL PCI La actividad del bus consiste en transferencias entre elementos conectados al bus, denominndose maestro al que inicia las transferencias. Cuando un maestro del bus adquiere control del mismo determina el tipo de transferencia que se producir. Los tipos de rdenes son: -reconocimiento de interrupcin -ciclo especial: se usa para iniciar la difusin de un mensaje a uno o varios destinos -lectura de E/S -escritura de E/S -lectura de memoria Lectura de lnea de memoria Lectura mltiple de memoria Escritura en memoria Escritura e invalidacin de memoria Lectura de configuracin Escritura de configuracin Ciclo de direccin dual TRASFERENCIAS DE DATOS Toda transaccin de datos en el bus PCI es nica que consta de una fase de direccionamiento y una o ms fases de datos ARBITRAJE El bus PCI utiliza un esquema de arbitraje centralizado sncrono, Cada maestro tiene una nica seal de peticin (REQ) y cesin (GNT) del bus. Estas lneas se conectan a un rbitro central y se utiliza un simple intercambio de las seales de peticin y cesin para permitir acceso al bus.
Examen - (AAB01) Cuestionario 1 - Conteste Las Preguntas Del Cuestionario 1 en Línea Referente Al Funcionamiento Del Computador y La Aritmética Del Computador