COMPUTADOR. DOCENTE: ING. CHRISTIAN LOJAN HERRERA EL COMPUTADOR ESTA CONSTITUIDO. CPU. MEMORIA UNIDADES DE E/S.
ALTO NIVEL DESCRIPCION DEL COMPORTAMIENTO (DATOS Y SEALES) ESTRUCTURA (CONTROL E INTERCONEXION)
3.1. COMPONENTES DEL COMPUTADOR. CONCEPTOS DE Von Neumann.
Datos e instrucciones comparten una memoria de lectura y escritura. Direccionado de memoria discrimina el tipo de dato. Ejecucin secuencial de programas a menos que se programe un salto. COMPONENTES LGICOS. Guardan datos / realizan operaciones aritmticas o lgicas. Programacin en hardware vs. Programacin en software.
HARDWARE VS. SOFTWARE. Hardware: Se requiere una reprogramacin fsica. Software: Hardware de propsito general, con seales de control generadas por un algoritmo secuencial.
REGISTROS DEL COMPUTADOR Dentro de la CPU hay un conjunto de registros que ofrecen un nivel de memoria mas rpido y pequeo que la memoria principal. Registros visible al usuario. Registros de control y de estado. El registro visible al usuario es aquel que puede ser referenciado por medio del lenguaje maquina que ejecuta el procesador; accesible a todos los programas tanto los de aplicacin como los del sistema; los registros normalmente disponibles son: Registro de datos. Registros de direccin. Registro ndice Puntero de segmento. Puntero de pila
COMPONENTES DE ALTO NIVEL. REGISTROS DEL COMPUTADOR Los registros de control y de estado se emplean para controlar las operaciones del procesador, la mayor parte de estos registros no son visibles para los usuarios , algunos pueden ser accesibles a las instrucciones de maquina ejecutadas en un modo de control. MAR: Memory Address Register. MBR: Memory Buffer Register. IOAR: Input Output Address Register. IOBR: Input Output Buffer Register.
REGISTROS DEL COMPUTADOR. Adems de estos los siguientes registros son esenciales en la ejecucin de instrucciones. Contador de programa(PC). Registro de instruccin(IR) Program status word(PSW) contiene cdigos de condicin junto con otras informaciones de estado. Signo. Supervisor Cero. Igualdad. Acarreo. Se produce acarreo mas alla del bit mas significativo. Desbordamiento. Habilitar/Inhabilitar interrupciones.
FUNCIONAMIENTO DEL COMPUTADOR Ejecucin de un programa. Capta instruccin (fetch). Ejecuta la instruccin. Ciclo de instruccin (Procesamiento para ejecutar una instruccin)
CICLOS DE CAPTACION Y EJECUCION. La instruccin captada se almacena en el registro de instruccin (IR). El CPU interpreta la instruccin que puede ser en general del siguiente tipo:
CPU-Memoria Transferir datos del CPU a la memoria o viceversa. CPU-ES Transferir datos a o desde el exterior mediante transferencias entre el CPU y un mdulo de E/S. Procesamiento de datos El CPU debe realizar alguna operacin aritmtica o lgica con los datos. Control Alteracin de la secuencia de ejecucin.
Una instruccin puede implicar una combinacin de las acciones anteriores. EJEMPLO Sea una maquina hipottica cuyas caractersticas son : El procesador tiene un nico registro de datos el Acumulador(AC). Tanto las instrucciones como los datos son de 16 bits de longitud. El formato de instruccin dedica 4 (16 codigos de operacin diferentes)bits para el codigo de operacin y 12(4096=4K palabras) bits para direccionar la memoria directamente.
Registros internos de la CPU: Contador de progarma(PC):direccion de la instruccin a ser leida. Registro de instruccin(IR):Instruccin que esta ejecutandose Acumulador(AC): Almacenamiento temporal
Cod . Op. S 0 3 4 15 Direccion 0 1 15 Magnitud EJEMPLO Lista parcial de los codigos de operacin: 0001 = Cargar de la memoria la acumulador. 0010 = Almacenar el AC en memoria. 0101 = Sumar al AC el contenido de la memoria
EJEMPLO EJEMPLO EJEMPLO PC = PC + 1 EJEMPLO
EJEMPLO
EJEMPLO CICLOS DE INSTRUCCIN (ESTADOS) CICLOS DE INSTRUCCION 1. clculo direccin instruccin: determina la direccin de la siguiente instruccin a ejecutarse 2. bsqueda instruccin: lee la instruccin de suposicin de memoria a la cpu. 3. decodificacin de la instruccin: analiza la instruccin para determinar el tipo de operacin a realizar y los operandos que se usarn. 4. clculo direccin operando: si la operacin implica la referencia a un operando en la memoria e/s, entonces se determina la direccin.
CICLOS DE INSTRUCCION 5. Bsqueda del operando: busca el operando en lamemoria e/s. 6.operacin sobre los datos: ejecuta la instruccin. 7. clculo direccin resultado. 8. almacenamiento resultado
RESUMEN: Una vez que se hace un fetch de una instruccin, los especificadores de los operandos deben ser identificados. Cada operando que se encuentra en memoria es extrado de la misma mediante un fetch, pero es posible que se requiera realizar un acceso indirecto a memoria. Es importante aclarar que no se requiere accesar la memoria (realizar un fetch) cuando los operandos de la instruccin se encuentran ya en los registros del CPU. Una vez que la instruccin es ejecutada, es posible que se requiera almacenar el resultado en la memoria principal.
INTERRUPCIONES Programa Generada por alguna condicin como resultado de la ejecucin de una instruccin (desbordamiento, divisin por cero, instruccin no existente o acceso fuera del espacio de memoria).
Termporizacin Generada por un temporizador interno al procesador para realizar una funcin de manera regular.
E/S Generada por un controlador de E/S para indicar fin de operacin sin error o avisar una condicin de error.
Fallo del hardware Generada por un fallo como deficiencia en alimentacin INTERRUPCIONES? MEJORA EL DESEMPEO DEL PROCESADOR. DESPERDICIO DE CICLOS DE PROCESADOR. EJECUCION DE INTERRUPCIONES 1,2 Y 3.- Instrucciones que no generan procesos de e/s. 4.- Instruccin implica copia de datos y inicializacin (prep. Parmetros de control.) El programa se encierra en un bucle en espera de E/S. 5.- Fin, devuelve Flag (correcto o con errores)
Interrupciones y el ciclo de instruccin. (espera corta) Cuando se invoca a WRITE, solo se ejecuta el cdigo de preparacin y la orden de e/s. Continua el programa usuario mientras el dispositivo interacta con los datos en memoria. Al terminar enva peticin de interrupcin. Suspende la operacin del programa de usuario y ejecuta el gestor de interrupciones.
Interrupciones y el ciclo de instruccin. (espera corta) CICLO DE INSTRUCCIN CON INTERRUPCIONES TRATAMIENTO DE INTERRUPCIONES Suspende la ejecucin del programa en curso y guarda su contexto. Carga el contador de programa con la direccin de comienzo de la rutina de gestin de interrupcin. TRATAMIENTO DE INTERRUPCIONES Interrupcin y ciclo de instruccin (espera larga) ESTADOS CICLO DE INSTRUCCIONES CON INTERRUPCIONES
INTERRUPCIONES MULTIPLES
SECUENCIA TEMPORAL CON VARIAS INTERRUPCIONES.
3.3.- Estructuras de interconexion SU PRINCIPAL OBJETIVO ES ASEGURAR LA COMUNICACIN ENTRE LOS MDULOS DEL COMPUTADOR. Tipos de intercambio entre estructuras de interconexion. Los conjuntos de lneas que conectan los diversos mdulos se denomina estructura de interconexin. El diseo de la estructura depende de los intercambios que se deban producir. Memoria Est constituido por palabras de la misma longitud, cada una de ellas con una nica direccin numrica. Seales de control (Lectura/Escritura) Mdulo de E/S Funcionalmente es similar a la memoria. Hay dos tipos de operaciones (lectura y escritura), puede controlar ms de un dispositivo externo. Las interfaces se denominan Puertos. CPU Lee instrucciones y datos, escribe datos una vez que los ha procesado, y utiliza ciertas seales para controlar el funcionamiento del sistema. Tipos de transferencia. La estructura de interconexin debe dar cobertura a los siguientes tipos de transferencias:
Memoria - CPU El CPU lee una instruccin o dato desde la memoria. CPU - Memoria El CPU escribe un dato en la memoria. E/S - CPU El CPU lee datos de un dispositivo de E/S a travs de un mdulo de E/S. CPU - E/S El CPU envo datos al dispositivo de E/S. Memoria - E/S y viceversa Se utiliza el acceso directo a memoria (DMA), no se pasa a travs del CPU. Interconexin de modulos. INTERCONEXIN CON BUSES. Un bus es un camino de comunicacin entre dos o ms dispositivos. Al ser un camino en comn pueden solaparse las seales. El bus esta disponible para una transaccin a la vez. El bus posee varias lneas de comunicacin que determinan cuantos bits se pueden transmitir simultneamente. Los computadores poseen varios buses con jerarqua. El bus del sistema comunica los componentes principales del computador (Pueden haber uno o varios buses).
ESTRUCTURA DEL BUS.
ESTRUCTURA DEL BUS Lneas/bus de datos: camino para transferir datos entre el resto de componentes de un computador. Su anchura (nmero de lneas elctricas) suele ser una potencia de dos (8=2^3, 16=2^4, 32=2^5, 64=2^6, ...). Lneas/bus de direcciones: designan la posicin/direccin de los datos. Son salidas de la CPU/procesador y determinan capacidad de direccionamiento. Lneas/bus de control: controlan el acceso y uso de las lneas/buses anteriores.
ORDENES Y OPERACIONES. Memory write. Memory Read. I/O write. I/O Read. Transfer ACK. Bus Request Bus Grant. Interrupt request. Interrupt Ack. Clock. Reset. Buses. A nivel fsico son un conjunto de conductores elctricos grabados en una placa. Los dispositivos pueden estar conectadas a unas o todas las lneas del bus.
Jerarquas de Buses Mltiples. Mayor nmero de dispositivos, mas retardos en la propagacin. Cuellos de botella por peticiones mltiples (Aumentar el ancho de bus vs. Incremento de velocidad.)
Arquitectura Tradicional Arquitectura de Altas prestaciones. Elementos del diseo de un bus Tipos de buses
Las lneas de los buses se dividen en: Dedicadas.- Usa lneas separadas para direcciones y datos Multiplexadas.-Usa las mismas lneas Mtodo de arbitraje.- el control del bus puede necesitar mas de un mdulo Centralizado.- Un nico dispositivo asigna tiempos en el bus Distribuido.- Cada mdulo puede controlar el acceso al bus Temporizacin.- forma de controlar los tiempos en el bus Sincrnico.- la presencia de un evento est determinada por la presencia de un reloj Asincrnico.- la presencia de un evento en el bus es consecuencia y depende de que se produzca un evento previo no precisan la existencia de una seal de reloj
SINCRONA Asncrona Asncrona Elementos de diseo de un bus. Anchura del bus Direccin.-el ancho de este bus afecta a la capacidad del sistema Datos.- mientras mas ancho es el bus de datos, mayor es el nmero de bits que se transmiten a la vez Tipo de transferencia de datos: Lectura Escritura Lectura-modificacin-escritura Lectura despus de escritura Bloque