Story Transcript
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
UNIDAD DE CONTROL: LA MENTE DE LA MAQUINA.
CAPITULO CUARTO
2º Cuatrimestre. Juana María López. Hoja 1
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
CONTENIDO 4.1. Operaciones elementales. 4.1.1. Operaciones de transferencia. 4.1.2. Operaciones de proceso. 4.2. Estructura de un computador elemental y señales de control. 4.2.1. Memoria principal. 4.2.2. Banco de registros. 4.2.3. Unidad aritmético-lógica. 4.2.4. Unidad de direccionamiento. 4.2.5. Unidad de control. 4.3. Temporización de las señales de control. 4.4. Ejecución de instrucciones. 4.4.1. Ejecución de ADD A, B. 4.4.2.Ejecución de MOV A, [B+DESPLAZAMIENTO]. 4.5. Diseño de la unidad de control. 4.6. Unidad de control cableada. 4.7. Unidad de control microprogramada. 4.7.1. Estructura básica de la unidad de control microprogramada. 4.7.2. Secuenciamiento en la unidad de control microprogramada. 4.7.3. Codificación de las microinstrucciones. 4.7.4. Microbifurcaciones condicionales. 4.8. Arranque del computador. 2º Cuatrimestre. Juana María López. Hoja 2
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
OBJETIVO Objetivo del capítulo: -Mostrar como se van desarrollando las instrucciones internamente. -Describir el órgano capaz de que este funcionamiento sea posible: La unidad de control.
Estructura de computador sencilla. Uso de cronogramas. Mayor hincapié en estructura de computadores que en diseño digital.
No se consideran las unidades de Entrada / salida.
2º Cuatrimestre. Juana María López. Hoja 3
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
INTRODUCCION Función básica de la U.C.: ejecución de esta secuencia.. tomar la instrucción (a la que apunta el CP) de la memoria principal y llevarla a la unidad de control (fase de fetch).
•
• incrementar el CP. • decodificar la instrucción . • ejecutar la instrucción.
También resuelve situaciones anómalas y se comunica con los periféricos.
Información que utiliza: • la propia instrucción. • el registro de estado. • señales de E/S (interrupciones, reset, etc.).
2º Cuatrimestre. Juana María López. Hoja 4
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
INTRODUCCION (CONT) Información adicional del contador de programa.C.P. Para automatizar el paso a la siguiente instrucción.
C.O.,
direccionamiento, localizar operandos, mandarlos a la ALU si necesario y almacenar resultado.
Información del registro de estado. Rupturas de secuencia: programadas y automáticas. Cada ejecución en pequeños pasos: -suma de base más desplazamiento. -lectura del operando. -incremento del CP. -ejecución de operación aritmética....
La unidad de control genera las señales necesarias.
2º Cuatrimestre. Juana María López. Hoja 5
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
INTRODUCCION (CONT+) Trabajamos a nivel RTL (Register Transfer Logic). Concepto de ruta de datos: órganos encargados de transferir, memorizar y procesar las informaciones de la memoria principal.
La unidad de control es la unidad más "inteligente".
2º Cuatrimestre. Juana María López. Hoja 6
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
OPERACIONES ELEMENTALES Se clasifican en los dos grupos siguientes: -Operaciones de transferencia. -Operaciones de proceso.
LA
REGISTRO A
TA
LB
REGISTRO B
TB
LC
REGISTRO C
TC
BUS DE DATOS
Operaciones de transferencia requieren dos elementos de memoria (registros).
Registro origen- registro destino. Transferencia a un bus (señal de activación de salida triestado). Para la estabilización de la información señales de "nivel" (de permiso o de transferencia) .
Señales de nivel sincronizadas con un reloj de impulsos periódicos. 2º Cuatrimestre. Juana María López. Hoja 7
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
SEÑALES DE CONTROL DE TRANSFERENCIA señales de control
TA LC tiempo
L[Registro] = load Registro T[Registro] = Transfer Registro Se debe esperar a que los datos se estabilicen en el bus de datos.
El dato debe estar presente en el bus todo el tiempo que sea necesario para que se copie en el registro destino.
Regla : Señales que establecen caminos=> De nivel. Almacenan información => De flanco.
2º Cuatrimestre. Juana María López. Hoja 8
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
OPERACIONES DE PROCESO La información origen se hace pasar a través de un operador en su camino hacia el destino.
Operaciones diádicas o monádicas. Ejemplo de operación A A • Formato de la instrucción: código de operación MOV 0
registro A 7 8
ACCIÓN
registro B 11 12
desplazamiento
15 16
31
OPERACIÓN ELEMENTAL
SEÑAL CONTROL
traer instrucción (fetch): • direccionar
- CP → bus direcciones
PCT
- cargar registro de direcciones
ALE (desactivar)
• leer instrucción
- ciclo de memoria
MEM
- lectura
MR
- cargar instrucción en la
de Control (UC)
Unidad LI (desactivar)
2º Cuatrimestre. Juana María López. Hoja 34
DE
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores incrementar CP:
(la UC tiene que decodificar la instrucción y esto es igual a un retardo) • sumar CP+4
- la UC entrega el 2 al bus de datos -
selección
de
operandos
y
(retardo de un periodo) de DIT
operación (simultáneamente) X0,X1 e Y0, Y1 y S0, ...S3 - carga del acumulador LAC
• cargar nuevo CP
- transferencia bus de datos
(desactivar)
- carga del nuevo CP
DT LPC (desactivar)
2º Cuatrimestre. Juana María López. Hoja 35
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores calcular
dirección
operando fuente: • selección de sumandos (B+DESPL.)
-
la
UC
entrega
Desplazamiento
el
al bus de DIT
datos - la UC genera la dirección del registro 4 bits B en Dirección
• sumar
-
selección
de
A operandos
X0,X1 e Y0, Y1 y y
de S0, ...S3
operación (simultáneamente) LAC - carga del acumulador
(desactivar)
guardar resultado: • volcar al bus de datos el operando fuente
- transferencia al bus de direcciones del contenido del Acumulador
AT
- cargar registro de direcciones
ALE (desactivar)
• cargar registro
- ciclo de memoria
MEM
- lectura
MR
- la UC genera la dirección del registro 4 bits A con Dirección
A
- señal de carga del registro contador de fases a 0:
LR (desactivar) RESET
2º Cuatrimestre. Juana María López. Hoja 36
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
CRONOGRAMA DE MOV A, [B+Desplazamiento] señales reloj PCT ALE MEM MR MW LI DIT X0, X1
bus de datos
bus de datos
Y0, Y1
CP
puerto A
suma
suma
S0, ...S3 LAC DIRECCIÓN A
registro A
registro B
DIRECCIÓN B DT AT LPC LR RESET periodo 1
periodo 2
periodo 3
periodo 4
periodo 5
periodo 6
periodo 7
periodo 8
periodo 9
periodo 10
periodo 11
tiempo
2º Cuatrimestre. Juana María López. Hoja 37
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Diseño de la unidad de control.
• Consideración de la unidad de control como una “caja negra”. • Entradas: • Código de operación. • Estado del sistema. • Señales de Entrada/ Salida. • Contador de fases.
• Salidas: • Señales de control. INFORMACIÓN INSTRUCCIÓN CONTADOR DE FASES
UNIDAD DE
ESTADO
SEÑALES DE CONTROL
CONTROL
E/S
2º Cuatrimestre. Juana María López. Hoja 38
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Métodos de diseño de la unidad de control. • Unidad de control mediante lógica cableada. • Unidad de control microprogramada. • Cableada • Método de diseño “lógico”. (diseño digital) • Circuito más rápido. • Más laborioso de diseñar. (Métodos CAD). • Muy difícil de modificar. • Compensa sólo en algunas máquinas. • Métodos típicos: • De la tabla de estados. • De células de retardo. • Del contador secuenciador.
2º Cuatrimestre. Juana María López. Hoja 39
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Unidad de control microprogramada.
• Consiste en el almacenamiento de las “palabras” de control en memoria. • Palabra de control = conjunto de señales de control para un periodo de reloj (= microinstrucción). Ejemplo: microinstrucciones de ADD A, B MICROINSTRUCCIONES señal de control
MEM
0
1
0
0
0
0
0
0
MR
0
1
1
0
0
0
0
0
MW
0
0
0
0
0
0
0
0
ALE
1
0
0
0
0
0
0
0
MR
0
1
1
0
0
0
0
0
LR
0
0
0
0
0
0
0
1
S0...S3
0
0
0
0
1
0
1
0
X0, X1
0
0
0
0
1
0
1
0
Y0, Y1
0
0
0
0
1
0
1
0
LAC
0
0
0
0
1
0
1
0
DT
0
0
0
0
0
0
0
1
AT
0
0
0
0
0
1
0
0
LPC
0
0
0
0
0
1
0
0
DBT
0
0
0
0
0
0
0
0
PCT
1
0
0
0
0
0
0
0
LI
0
0
1
0
0
0
0
0
DIT
0
0
0
0
1
0
0
0
DIR. A
0
0
0
0
0
0
1
1
DIR. B
0
0
0
0
0
0
1
0
LFlags
0
0
0
0
0
0
0
1
RESET
0
0
0
0
0
0
0
1
fetch
CP & instrucción
2º Cuatrimestre. Juana María López. Hoja 40
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Unidad de control microprogramada(cont). • Microprograma: conjunto de microinstrucciones • •
• •
para la ejecución de una instrucción. Microcódigo: conjunto de microprogramas que ejecutan las instrucciones. En la tabla se ven los microprogramas de fetch (1,2 y 3), actualización del CP (5 y 6) y el de ejecución de la instrucción propiamente dicha (4, 7 y 8). Se tratan igual señales de flanco y nivel. Ventajas: • Fácil de depurar ( están en ROM). • Instrucciones complejas-> basta reservar más memoria. • Diferentes juegos de instrucciones cambiando los microprogramas. Emulación de máquinas.
2º Cuatrimestre. Juana María López. Hoja 41
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Estructura básica de la unidad de control Microprogramada. Ha de ser capaz de tres cosas: 1.Almacenar en memoria todas las microinstrucciones posibles. Ejemplo: Instrucciones de C.O. de 7 bits, contador de fases de 5 bits y 150 señales de control,
4096 palabras x 150 bits / palabra = 614400 bits= 600 Kb 2.Unir cada instrucción con su microprograma. 3.Secuencia del microprograma. Los problemas son: tamaño, codificación y secuenciamiento.
2º Cuatrimestre. Juana María López. Hoja 42
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Secuenciamiento en la U. C. Microprogramada Solución inmediata: código de operación
contador de fases
De esta manera, los microprogramas correspondientes a cada instrucción se encuentran a partir de la posición dada por:
código de operación
000......0000
Resultado: instrucción 1
32 posiciones
microprograma de la instrucción 1
instrucción 2
instrucción 127 instrucción 128
Se desperdicia memoria. Soluciones: Secuenciamiento explícito e implícito.
2º Cuatrimestre. Juana María López. Hoja 43
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Secuenciamiento Explícito. • Cada microinstrucción incluye la dirección de la siguiente. • Los códigos de operación apuntan al comienzo del microprograma. • Cada microinstrucción incluye: campo de dirección, señales de control y un bit que indica si es la última. • Ventaja: microinstrucciones repetidas. • Inconveniente: exceso de memoria. • 4096 microins. x 12 bits = 48 Kbits adicionales.
2º Cuatrimestre. Juana María López. Hoja 44
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Secuenciamiento Explícito (cont) CÓDIGO DE OPERACIÓN
bit de control del multiplexor
FORMATO ESTANDAR DE MICROINSTRUCCIÓN
dirección
MUX.
señales de control
0 0 0 0 0 0 0
POSICIONES CORRESPONDIENTES A LOS CÓDIGOS DE OPERACIÓN apuntan a la primera microinstrucción de cada microprograma
indica que es la última microinstrucción del microprograma (el multiplexor tomará el siguiente código de operación)
1
dirección
señales de control 000001000100000110010000010000
2º Cuatrimestre. Juana María López. Hoja 45
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Secuenciamiento Implícito. • Consiste en tener ordenadas secuencialmente todas las microinstrucciones de cada microprograma.
• Necesitamos un contador de microprograma que apunte a la microinstrucción en curso.
• Primera microinstrucción de cada microprograma: con una ROM que tiene:
• como direcciones los códigos de operación. • contiene
las posiciones microinstrucción.
de
la
primera
2º Cuatrimestre. Juana María López. Hoja 46
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Secuenciamiento Implícito (cont) CÓDIGO DE OPERACIÓN
bit de control de carga del CµP INCREMENTADOR +1
MEMORIA DE CONTROL
8 bits
señales de control 12 bits
ROM
registro CµP (contador de microprograma)
señal de carga del registro CµP
0 0 0 0 0 0 1
microprograma correspondiente a un código de operación
0 0 0
última microinstrucción
0 0 0 0 1 0 1
00010001100001010001
2º Cuatrimestre. Juana María López. Hoja 47
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Codificación de las microinstrucciones. • Codificando las microinstrucciones se puede ahorrar memoria de control.
• Microprogramación horizontal: no usa codificación. • Formatos largos pero rápidas. • Microprogramación vertical: alta codificación. • Menor tamaño de memoria pero mayor lentitud para decodificación.
Formato de las microinstrucciones: acceso bus
acceso bus
gobierno
banco de
de datos
direcciones
ALU
registros
memoria
unidad de direccionamie nto
MR
AT
S0, ...S3
LR
MEM
DT
PCT
X0, X1
DIR. A
MR
Y0, Y1
DIR. B
MW
DIT
LAC
LPC
ALE
FORMATO DE MICROINSTRUCCIÓN bus datos direcciones
ALU
registros
memoria
U. DIR.
estado
condición
2º Cuatrimestre. Juana María López. Hoja 48
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Codificación de campos de las microinstrucciones • Se codifican fácilmente las señales excluyentes (sólo una de ellas puede estar activa a un tiempo). • Ejemplo: señales que vuelcan datos en un bus. acceso bus de datos MR DT DIT
Codificación
señal de control activa
00
MR
01
DT
10
DIT
11
--
• La microinstrucción no posee las señales de control sino una codificación que indica como generarlas. • Inconveniente: requiere decodificación.
2º Cuatrimestre. Juana María López. Hoja 49
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Solapamiento de campos. • Hay instrucciones donde nunca se activan algunas señales. • Ejemplo: en una instrucción de salto nunca se accede a memoria. • Se solapa el campo no utilizado con uno que se utiliza. • Hay un bit que controla a que campo pertenecen las señales. • Ejemplo: en instrucción de salto, el campo no utilizado se solapa con la dirección de salto.
2º Cuatrimestre. Juana María López. Hoja 50
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Microbifurcaciones condicionales. • Las instrucciones de salto condicional tienen dos microprogramas posibles. • Microsalto o microbifurcación: una microinstrucción debe poder elegir entre dos caminos alternativos. • El mecanismo depende del tipo de secuenciamiento:
• Secuenciamiento explícito: • Se dan dos direcciones que difieren en un sólo bit. • Ese bit es el resultado de la comparación con la condición: 1 si se cumple y 0 si no se cumple. bit de condición
dirección
dos direcciones posibles: - "dirección" 0 - "dirección" 1
señales de control
campo de dirección bit de última microinstrucción
2º Cuatrimestre. Juana María López. Hoja 51
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Microbifurcaciones en el secuenciamiento implícito. • No se puede incluir un campo de dirección de salto porque ya sería explícito. • Solución: se solapa el campo de esta dirección con un campo de función excluyente.(Ejemplo: E/S) CÓDIGO DE OPERACIÓN
bit de control de carga del CµP INCREMENTADOR
8 bits
registro CµP (contador de microprograma)
+1
MEMORIA DE CONTROL
señales de control 12 bits
ROM MUX
señal de carga del registro CµP
0 0 0 0 0 0 1
microprograma correspondiente a un código de operación
última microinstrucción
0 0 0 0 0 0 0 1 0 1
dirección/E-S condición
bit de control de función
COMPARADOR REG. DE ESTADO
señales de control
decodificador
SEÑALES DE E/S DIRECCIÓN
2º Cuatrimestre. Juana María López. Hoja 52
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Arranque del computador. • Los componentes hardware toman un estado aleatorio. • Se empezaría a ejecutar un programa desconocido al azar.
• Solución: forzar en el reset todos los registros a un estado, e inicializar el CP apuntando a una memoria ROM con un programa cargador.
• El programa cargador se encarga de las siguientes tareas: • Rutinas de comprobación del computador. • Rutinas de configuración (periféricos, puertos, interrupciones,..) • Carga de vectores de interrupción. • Carga del sistema operativo. • Carga de controladores de dispositivos.
2º Cuatrimestre. Juana María López. Hoja 53