Академический Документы
Профессиональный Документы
Культура Документы
Unidad de control
Contenidos
Estructura de una CPU Comunicacin externa. Reloj Ejecucin de instrucciones. Lenguaje descriptivo Interrupciones y excepciones Diseo de la unidad de control Reset o encendido del sistema.
Interfaces de E/S
Seales de Control
C1
MAR
T3
MBR
C2 C3
PC
T4
C4 C6 C5 T8
RI
Unidad de control
T7
Seales de interrupcin
Bus Interno
T1
T2
C9
RT1
0 1
C10
RT2 RE
0 1
C7 C8
A RA RB RC SC
B MA
T5
T6
MPX A
MB
MPX B
Banco de registros
E
Cod. Op
ALU
C11
RT3
CPU
C1: Carga de MAR C2: Carga de MBR desde el bus de datos C3: Carga de MBR desde el bus interno T3: Salida MBR al bus interno
C2 Td: Salida de MAR al bus de direcciones C3
MAR T3
MBR
PC T4 C4 C5
C4: Carga desde el sumador (PC=PC+4) C5: Carga desde el bus T4: Salida al bus interno
RI: Registro de instrucciones, almacena la instruccin a ejecutar C6: Carga el RI desde el bus interno T8: Salida al bus interno del RI para Seales de poder utilizar direccionamientos Seales de control; las que posibilitan el control de la CPU (rojo)
C6 T8
RI
Unidad de control
Indicadores (RE)
interrupcin
Indicadores: provenientes del registro RE. Aportan las condiciones de ejecucin de determinadas instrucciones Seales de interrupcin: seales externas que cambian la secuencia de ejecucin normal del programa
Fundamentos y estructura de computadores
A RA RB RC SC
Banco de registros
E
C11:
Carga
del
registros
RT1
MPX A
0 1
C10
RT2
MPX B
0 1
MA Cod. Op
MB
ALU
C11
A y B: Desde el banco de registros MA y MB: seleccin de entradas de MPXs Indicadores: Salida hacia el reg. de indicadores (RE)
RT3
ALU
L: Lectura de datos E: Escritura de datos B. de datos: por el se reciben los datos a escribir y se envan los datos ledos B. de Direcciones: por el se recibe la localizacin dnde se leer o escribirn los datos B. de Control: conjunto de seales que permiten sincronizar todo el proceso de acceso a memoria.
Bus de control
Bus de control
1 F T
Ejecucin de Instrucciones
Memoria principal
L E
Interfaces de E/S
Seales de Control
C1
MAR
T3
MBR
C2 C3
PC
T4
C4 C6 C5 T8
RI
Unidad de control
T7
Seales de interrupcin
Bus Interno
T1
T2
C9
RT1
0 1
C10
RT2 RE
0 1
C7 C8
A RA RB RC SC
B MA
T5
T6
MPX A
MB
MPX B
Banco de registros
E
Cod. Op
ALU
C11
RT3
CPU
Ejecucin de instrucciones
Lenguaje de transferencia de registro
Especifica lo que sucede dentro de la CPU por medio de las transferencias
Operaciones de transferencia MAR PC Operaciones de proceso R1 R2 + RT1
Para que cada operacin se realice hace falta activar una serie de seales de control: MAR PC R1 R2 + RT1
T4, C1 RB = 00010 (R2) MA = 1 MB = 0 Cod Op. = SUMA T5 RC 00001 (R1) SC
Fundamentos y estructura de computadores
Ejecucin de instrucciones
Fases de ejecucin de instrucciones:
Lectura de la Instruccin desde memoria
Leer la instruccin almacenada en la direccin de memoria indicada por PC y llevarla a RI. Incremento del PC
Ejecucin
Generacin de las seales de control en cada ciclo de reloj.
Ejecucin de instrucciones
Lectura de la instruccin
Se ha de generar una secuencia de seales de control (S1 a S4) que posibiliten buscar el cdigo de instruccin en memoria, su carga en RI y la preparacin de PC para el ciclo de instruccin siguiente:
S1: MAR PC S2: PC PC + 4 S3: MBR MP S4: RI MBR
Seales de Control
C1
Bus Interno
MAR
T3
MBR
C2 C3
PC
C4 C7 C5 T8
RI
Unidad de control
T7
T4
T1 T2 C9
Seales de interrupcin
RT1
0 1
C10
RT2 RE
0 1
C7 C8
A RA RB RC SC
B MA
T5
T6
MPX A
MB
MPX B
Banco de registros
E
Cod. Op
ALU
C11
RT3
CPU
Td
C1 MAR
T3
Ta
Seales de Control
MBR
C2
C3
PC T4
C4 C7
C5 T8
RI
Unidad de control
T7
Seales de interrupcin
Bus Interno
T1
T2
C9
RT1
0 1
C10
RT2 RE
0 1
C7 C8
A RA RB RC SC
B MA
T5
T6
MPX A
MB
MPX B
Banco de registros
E
Cod. Op
ALU
C11
RT3
CPU
Seales de Control
C1 MAR MBR
C2 C3
PC T4
C4 C5
C6
T8
RI
Unidad de control
T7
Bus Interno
T3
T1 T2 C9
Seales de interrupcin
RT1
0 1
C10
RT2 RE
0 1
C7 C8
A RA RB RC SC
B MA
T5
T6
MPX A
MB
MPX B
Banco de registros
E
Cod. Op
ALU
C11
RT3
CPU
Ejecucin de instrucciones
Decodificacin
Se ajusta a un ciclo de reloj que no tiene actividad en las lneas de control ni en traspasos de registros internos de la CPU En este ciclo de permite que la unidad de control realice localice la secuencia de seales de control que den lugar a la ejecucin de la instruccin. Posteriormente se estudiar qu se realiza concretamente en este ciclo
Ejecucin de instrucciones
Ejecucin
Se producir la secuencia de seales de control necesarias para la correcta ejecucin de la instruccin en curso. Siempre que sea posible y lgico, se solaparn las operaciones con los registros, a fin de minimizar el nmero de ciclos necesarios para la ejecucin.
Ejecucin de instrucciones
Ejemplo de todo el ciclo de instruccin: lw $reg, dir
Secuencia de transferencia de registro y seales de control asociadas:
S1: MAR PC S2: PC PC + 4 S2: MBR MP S3: RI MBR S4: Decodificacin S5: MAR RI(dir) S6: MBR MP S7: $Reg MBR T4, C1 C4 Td, L, C2 T3, C6 ------------T8, C1 Td, L, C2 RC ($reg), T3, SC
Ejecucin de instrucciones
Memoria principal
L E
Interfaces de E/S
Seales de Control
C1
MAR
T3
MBR
C2 C3
PC
T4
C4 C6 C5 T8
RI
Unidad de control
T7
Seales de interrupcin
Bus Interno
T1
T2
C9
RT1
0 1
C10
RT2 RE
0 1
C7 C8
A RA RB RC SC
B MA
T5
T6
MPX A
MB
MPX B
Banco de registros
E
Cod. Op
ALU
C11
RT3
CPU
Ejecucin de instrucciones
Ejercicio.
Cules son los pasos para realizar este pequeo programa? Sumar los nmeros que hay en dos posiciones de memoria y dejar el resultado en el registro numero 9
Ejecucin de instrucciones
Modos de Ejecucin
En los microprocesadores modernos es normal encontrarnos con modos de ejecucin diferenciados por sus privilegios en la ejecucin de determinadas instrucciones
Modo supervisor o nucleo: tienen todos los privilegios y suele ser el que utiliza el sistema operativo para su funcionamiento. Permite guardar coherencia y robustez en la ejecucin de diversas tareas simultneas. Modo usuario: suele ser el ms restringido. Permite que el modo supervisor vigile el uso adecuado de los recursos del computador.
Interrupciones
Generalidades
Seal que llega a la unidad de control y que rompe la secuencia normal de ejecucin Causas:
Cuando ocurre un error en la ejecucin de la instruccin (divisin por 0, ) Ejecucin de una instruccin ilegal Acceso a una posicin de memoria ilegal Cuando un perifrico solicita la atencin del procesador Modo traza o de prueba.
Cuando se genera una interrupcin se detiene el programa actual y se transfiere la ejecucin a otro programa que atiende la interrupcin (rutina de gestin)
Fundamentos y estructura de computadores
Interrupciones
Clasificacin:
Excepciones hardware sncronas: Divisin por cero, acceso a una posicin de memoria ilegal, Excepciones hardware asncronas: Fallos o errores en el HW Interrupciones externas: Perifricos, modo traza o prueba. Llamadas al sistema: Instrucciones mquina especiales que generan una interrupcin para activar al sistema operativo
Los tipos de interrupciones, lgica y hardware necesario para el proceso de gestin de interrupciones y excepciones, se estudiar en profundidad en el siguiente tema.
Interrupciones
Gestin de interrupciones:
de ejecucin de instrucciones. Se aade una nueva fase a la secuencia
1. 2. 3. 4.
Lectura de la Instruccin desde memoria Decodificacin: Ejecucin Ciclo de reconocimiento de interrupcin: Comprueba se hay activada
alguna seal de interrupcin. (Varias? Prioridad)
Si est activada:
Salva el contador de programa y el registro de estado Pasa de modo usuario a modo ncleo Obtiene la direccin de la rutina de gestin de la interrupcin Almacena en el contador de programa la direccin obtenida (de esta forma la siguiente instruccin ser la de la rutina de tratamiento)
Interrupciones
Rutinas de gestin de interrupciones:
Encargada de dar respuesta a la peticin de interrupcin de la secuencia normal del programa.
Forman parte del cdigo del sistema operativo. Qu deben de realizar? Cmo deben programarse?
1. 2. 3. 4. Salvar el resto de registros del procesador Atender la interrupcin ejecutndose la rutina propiamente dicha. Tras terminar de ejecutarse, Restaurar los registros del procesador utilizados por el programa interrumpido Ejecutar una instruccin mquina especial, RETI, que
Restaura el registro de estado del programa interrumpido (fijando de nuevo el modo del procesador a modo usuario) Restaura el contador de programa (de forma que la siguiente instruccin es la del programa interrumpido).
La unidad de control es un autmata finito y por lo tanto es una mquina de estados. Diseo de Moore o Mealy. Se puede disear como un circuito digital convencional (lgica cableada) o mediante un secuenciador de estados (Lgica programada). La ltima opcin es la ms adecuada.
El diseo de la unidad de control exige haber definido previamente las seales que hay que activar en cada una de las instrucciones mquina que es capaz de interpretar:
- Cronogramas. - Operaciones elementales. - Lenguaje simblico.
Caractersticas:
o Implementacin en Hardware - Muy rpida (Normalmente usado en computadores RISC) o Laborioso y costoso el diseo y puesta a punto del circuito o Difcil de modificar: rediseo completo.
UC Almacenada-Microprogramada
Concepto
Emplear una memoria donde almacenar las seales de cada perodo de cada instruccin.
Caractersticas:
o -Fcil modificacin, actualizacin, ampliacin, etc.. Ej.: PSP, IPhone, etc. o - Fcil tener instrucciones complejas EJ.: Rutinas de diagnstico, etc. o - Fcil tener varios juegos de instrucciones Se pueden emular otros computadores. o - Hw simple difcil microcdigo
UC Almacenada-Microprogramada
Se emplea una memoria para almacenar el estado de las seales de control en cada periodo de cada instruccin. Memoria de control o micromemoria: bastar con ir leyendo una a una las posiciones adecuadas de esta memoria para ejecutar una determinada instruccin mquina
UC Almacenada-Microprogramada
Microinstruccin: cadena de unos y ceros que representan el estado de cada seal de control durante un ciclo de reloj Cada microinstruccin tiene un bit por cada seal de control.
Microprograma: conjunto ordenado de microinstrucciones que representan el cronograma de una instruccin mquina Ejecutar una instruccin de Cdigo Mquina consiste en leer un microprograma Firmware: conjunto de los microprogramas de una mquina (se podra traducir como microcdigo)
El tamao de la memoria de control depender de: el nmero de instrucciones mquina el nmero de ciclos por instruccin del nmero de bits de cada microinstruccin
UC Almacenada-Microprogramada
Fech
Microprogramas
Firmware
Reset
add
bge
1 microprograma -> 1 instruccin en cdigo mquina 1 microprograma -> 1 instruccin especial 1 microprograma -> Varias Microinstrucciones
Memoria de Control
UC Almacenada-Microprogramada
Tres condiciones bsicas:
1) Memoria de control suficiente para almacenar todos los microprogramas correspondientes a todas las instrucciones.
2) Procedimiento para asociar a cada instruccin su microprograma
Procedimiento que convierta el cdigo de operacin de la instruccin en la direccin de la memoria de control donde empieza su microprograma.
3) Mecanismo para ir leyendo las sucesivas microinstrucciones, y para bifurcar a otro microprograma cuando termina el que se est ejecutando. Dos alternativas para 2) y 3): Secuenciamiento explcito Secuenciamiento implcito
UC Almacenada-Microprogramada SECUENCIAMENTOS:
Explcito
Cada microinstruccin proporciona la direccin de la microinstruccin siguiente. Gran cantidad de memoria de control para el secuenciamiento de instrucciones.
implcito
Instrucciones de un microprograma ordenadas consecutivamente en la memoria de control. Necesario: Etapa traductora (ROM o PLA) Registro de microdirecciones e incrementador
A
P
RESET
GND 5v 0v Te Tr
En cualquier momento es posible accionar el pulsador P, produciendo que le nodo A se coloque a una tensin cercana a 0V el tiempo suficiente para que se ejecute la rutina de inicializacin del sistema
La red RC debe estar diseada para ser inmune al ruido y mantener el tiempo necesario a 0v la seal de RESET.