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.
REGISTRO A REGISTRO CREGISTRO BLA LB LC
TA TB 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
tiempo
TA
LC
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+ D
mux. mux.X Y
LA LB LC LD
BUS DE DATOS
[S0, S1, ...]
REGISTRO A REGISTRO B REGISTRO C REGISTRO D
OPERADOR
Selección de operando (X,Y) Selección de operación. Carga del resultado L[Registro]
2º Cuatrimestre. Juana María López. Hoja 9
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
CRONOGRAMA DE OPERACIONES DE PROCESO
señales de control
tiempo
X
LC
Y
S0, S1, ... suma
selección deoperandos
operaciónselección de
carga del registro C
2º Cuatrimestre. Juana María López. Hoja 10
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
ESTRUCTURA DE UN COMPUTADOR ELEMENTAL Y
SEÑALES DE CONTROL
Estudiaremos las señales de control que genera una unidad de control basándonos en una máquina simplificada que sigue la arquitectura de Von Neumann.
ALU
UNIDAD DE CONTROL
MEMORIA
señales de control bus de direcciones y datos
Vamos a prescindir del bloque de E/S para simplificar el estudio.
Hay que añadir un banco de registros que podría
incluirse en el bloque de la ALU y una unidad de direccionamiento para actualizar el contador de programa que forma parte de la unidad de control.
2º Cuatrimestre. Juana María López. Hoja 11
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
MEMORIA PRINCIPAL.
El bloque de memoria principal consta de los siguientes elementos: • pastilla/s de memoria RAM. • registro para mantener la dirección dada por el bus de direcciones. • buffer bidireccional para la conexión al bus de datos. • señales de control.
Se puede ver la interconexión entre los distintos elementos. Desde un punto de vista hardware el registro puede ser un 7495 o cualquier registro equivalente y el buffer bidireccional un 74245.
BUS DE DIRECCIONES
BUS DE DATOS
MEMORIAPRINCIPAL MEM
MR
MW
ALE
MR
registro
buffer bidireccional
2º Cuatrimestre. Juana María López. Hoja 12
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
MEM. PRINCIPAL (CONT).
señal activa por nombre significado MEM nivel memory iniciar ciclo de memoria MR nivel memory read ciclo de lectura MW nivel memory write ciclo de escritura ALE flanco address latch
enable carga en el latch una dirección
MR nivel --- indica la dirección del buffer; si el nivel es alto los datos se vuelcan al bus; si es bajo se lee el bus.
Los cronogramas de acceso a la memoria son los siguientes:
señales
MEM
ALE
MR
MW
MR
tiempo
vuelcacontenidoal bus
ciclo de lectura
2º Cuatrimestre. Juana María López. Hoja 13
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
CRONOGRAMA DE ACCESOS A MEMORIA
señales
tiempo
MEM
ALE
MR
MW
MRlee elcontenidodel bus
ciclo de escritura
La duración de la señales MR y MW depende de la memoria, es decir, de sus tiempos de lectura y escritura.
La duración de MEM será la mínima posible, es decir, la correspondiente al periodo básico de la máquina.
2º Cuatrimestre. Juana María López. Hoja 14
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
BANCO DE REGISTROS.
El banco de registros consta de los siguientes elementos:
• 16 registros de propósito general accesibles al usuario desde el ensamblador o lenguaje máquina. • 2 puertas de salida que permiten leer 2 registros simultáneamente. • la selección de ambos registros se efectúa mediante 2 conjuntos de direcciones de 4 bits (DIRECCIÓN A y DIRECCIÓN B) que provienen directamente de la unidad de control. • 1 puerta de entrada que permite cargar un registro desde el bus de datos; se direcciona con el bloque DIRECCIÓN A y la carga se efectúa mediante la correspondiente señal de control (LR).
En la figura se puede observar la interconexión entre estos elementos.
2º Cuatrimestre. Juana María López. Hoja 15
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
2º Cuatrimestre. Juana María López. Hoja 16
BUS DE DIRECCIONES
BUS DE DATOS
BANCO DE REGISTROS
PUERTA DE ENTRADA
PUERTA DE SALIDA A PUERTA DE SALIDA B
16 registros4 bits 4 bits
DIRECCIÓN A DIRECCIÓN B
LR
de la unidad de control de la unidad de control
a la ALUa la ALU
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Las señales de control son las siguientes: señal activa por nombre Significado
LR flanco load register carga el registro indicado por
DIRECCIÓN A con un dato del bus
de datos.
DIRECCION
A
nivel (4
bits)
Selecciona un registro del banco.
DIRECCION
B
nivel (4
bits)
Selecciona un registro del banco.
Cuando se carga un dato en un registro este mismo dato aparece en la
puerta de salida A una vez cumplido el tiempo de retardo correspondiente.
2º Cuatrimestre. Juana María López. Hoja 17
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Unidad Aritmético-Lógica.
Elementos que la componen: • Un Operador: con 4 señales de control para selección de
operación.(S0,....S3) • Dos multiplexores: cada uno con 3 entradas y una salida
que hace de entrada al operador. Control: multiplexor_1(X0,X1) y multiplexor_2(Y0,Y1). • Un acumulador: registro intermedio. Su contenido puede ser volcado a : -operando X. -bus de datos. -bus de direcciones.
2º Cuatrimestre. Juana María López. Hoja 18
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
2º Cuatrimestre. Juana María López. Hoja 19
BUS DE DATOS
BUS DE DIRECCIONES
MULTIPLEXOR X MULTIPLEXOR Y
OPERADOR
X Y
de B de B de A del contador de programa (CP)
ACUMULADOR
[S0, ...S3]
[X0, X1] [Y0, Y1]
LAC
DT
AT
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
señal activa por nombre Significado
S0...S3 nivel selection Selecciona la operación a realizar.
X0, X1 nivel --- Selecciona uno entre 3 operandos.
Y0, Y1 nivel --- Selecciona uno entre 3 operandos.
LAC flanco load acumulator carga el acumulador con la salida del
operador.
DT nivel data transfer Transfiere el contenido del
acumulador al bus de datos.
AT nivel address transfer Transfiere el contenido del
acumulador al bus de direcciones.
-Señales AT y DT para volcar acumulador en los buses. -Posible implementación: Latch 74244. -Estado de alta impedancia si están inactivos.
2º Cuatrimestre. Juana María López. Hoja 20
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Unidad de Direccionamiento. -Genera la siguiente instrucción a ejecutar en la secuencia del programa. -Necesario que integre el CP y un sumador. -Necesaria la posibilidad de transferencia con los buses. -Supondremos igual anchura en ambos buses y en los registros. -Ver en el gráfico un ejemplo de solución de esta unidad y sus posibilidades de transferencia y cálculo.
BUS DE DIRECCIONES
BUS DE DATOS
CONTADOR DE PROGRAMA
CPLPC
PCT
ACUMULADOR
OPERADOR
X Y
de B de B de Adel ACUMULADOR
del BUS DE DATOS
[Y0, Y1]
LAC
AT
MULTIPLEXOR X MULTIPLEXOR Y
DT
2º Cuatrimestre. Juana María López. Hoja 21
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Las señales de control para la unidad de direccionamiento son las siguientes:
Señal activa por nombre significado
LPC flanco load program counter carga una dirección nueva en el CP
desde el bus de datos.
PCT nivel program counter transfer transfiere el contenido del registro CP
al bus de direcciones.
2º Cuatrimestre. Juana María López. Hoja 22
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Unidad de Control. • Genera las señales de control que constituyen el bus de
control. • Contiene registros auxiliares para su misión:
• Buffer de Instrucciones: Almacena código máquina formado por una o varias instrucciones.
• Puerto de entrada de instrucciones: Activado por la señal LI, se carga con una instrucción que pasa al buffer.
• Puerto de salida: Transfiere al bus de datos, datos inmediatos o desplazamientos, gobernado por la señal DIT.
• Registro de estado: Contiene los flags. Se cargan los bits selectivamente según señales provenientes de la ALU activas por flanco.
• Registro contador de fases: Cuenta las fases del reloj del sistema y se encarga así de la temporización.
• Dos buses de 4 bits: Son de salida de la unidad de control y sirven para generar la dirección de selección de registro de la ALU.
2º Cuatrimestre. Juana María López. Hoja 23
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
BUFFER DE INSTRUCCIONES
UNIDAD DE CONTROL
REGISTRO DE ESTADO (flags)
BUS DE DIRECCIONES
BUS DE DATOS
señales de control
SALIDA DE DESPLAZAMIENTOSO DATOS INMEDIATOS
ENTRADA DEINSTRUCCIONES
CONTADORDE FASES
DIRECCIONESDE REGISTROS
DIRECCIÓN A
DIRECCIÓN B
OSCILADORrelojLI
DIT
LFlags
RESET
2º Cuatrimestre. Juana María López. Hoja 24
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Las señales de control de la unidad de control son las siguientes:
Señal activa por nombre significado
LI flanco load instruction carga una instrucción desde el bus de
datos.
DIT nivel data intruction
transfer
transfiere un dato inmediato o un
desplazamiento al bus de datos.
Lflags flanco load flags carga los flags después de una
instrucción aritmética o lógica.
RESET flanco reset pone a 0 el contador de fases.
2º Cuatrimestre. Juana María López. Hoja 25
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
2º Cuatrimestre. Juana María López. Hoja 26
BUS DE DIRECCIONES
BUS DE DATOS
MULTIPLEXOR X MULTIPLEXOR Y
OPERADOR
X Y MEMORIAPRINCIPAL MEM
MR
MW
ALE
MR
SALIDA A SALIDA B
BANCO DE REGISTROS16 registros
4 bits 4 bits
DIRECCIÓN A DIRECCIÓN B
LR
PUERTADE ENTRADA
REGISTRO DE ESTADO (flags)BUFFER DE INSTRUCCIONES
señales de control
UNIDAD DE CONTROL
SALIDA DE DESPLAZAMIENTOSO DATOS INMEDIATOS
ENTRADA DEINSTRUCCIONES
CONTADORDE FASES
DIRECCIONES DE REGISTROS
OSCILADORreloj
[X0, X1] [Y0, Y1]
[S0,...S3]
ACUMULADORACUMULADOR LAC
DT
AT
CONTADOR DE PROGRAMA
CPLPC
PCT
DIRECCIÓN A
DIRECCIÓN B
LI IT
RESET
LFlags
DIT
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
TEMPORIZACION DE LAS SEÑALES DE CONTROL.
• El funcionamiento de un computador es síncrono • Ejecución de una instrucción. FASES:
• Fetch (búsqueda de una instrucción). • Decodificación y búsqueda de operandos. • Operación. • Almacenar resultado.
• El nº de ciclos de reloj varía según las instrucciones. Depende de :
• Modo de direccionamiento. • Tipo de operación.
reloj
fase de fetch operación almacenar resultadobusqueda deoperandos
2º Cuatrimestre. Juana María López. Hoja 27
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
EJECUCION DE LAS INSTRUCCIONES. Vamos a desglosar una ejecución en:
• Acciones a seguir. • Descomposición en operaciones elementales. • Temporización en cronogramas.
EJECUCION DE ADD A, B
Formato de la instrucción:
código de operación registro registroADD A B
0 7 8 11 12 15
ACCIÓN OPERACIÓN ELEMENTAL SEÑAL DE
CONTROL
traer instrucción (fetch):
• direccionar
• leer instrucción
- CP → bus direcciones
- cargar registro de direcciones
- ciclo de memoria
- lectura
- cargar instrucción en la Unidad de control (UC)
PCT
ALE
(desactivar)
MEM
MR
LI
(desactivar)
2º Cuatrimestre. Juana María López. Hoja 28
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+2
• cargar nuevo CP
- la UC entrega el 2 al bus de datos
- selección de operandos y de
operación (simultáneamente)
- carga del acumulador
- transferencia bus de datos
- carga del nuevo CP
(periodo de reloj)
DIT
X0,X1 e Y0, Y1 y
S0, ...S3
LAC
(desactivar)
DT
LPC
(desactivar)
Realizar suma:
• dar direcciones del
banco de registros
• sumar
- la UC genera Dirección A y B
al decodificar la instrucción
-selección de operandos y operación
- carga del acumulador
4 + 4 bits
X0,X1 e Y0, Y1 y
S0, ...S3
LAC
(desactivar)
2º Cuatrimestre. Juana María López. Hoja 29
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Guardar resultado:
• seleccionar A
• cargar registro
- transferencia al bus de datos
- la UC genera dirección A
- señal de carga
DT
4 bits
LR
(desactivar)
Actualizar reg. de estado: LFlags
Contador de fases a 0: RESET
2º Cuatrimestre. Juana María López. Hoja 30
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
CRONOGRAMA DE ADD A,B señales
MEM
ALE
MR
MW
reloj
PCT
LI
DIT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIÓN B
LFlags
RESET
LR
DIRECCIÓN A
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8
tiempo
AT
LPC
puerto A
registro B
puerto B
registro A registro A
suma
DT
fase de fetch actualización de CP operacióndecodi -ficación
bus datos
CP
suma
2º Cuatrimestre. Juana María López. Hoja 31
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
COMENTARIOS AL CRONOGRAMA: • Dos accesos a memoria necesarios si el bus de datos es
de un byte.
• Periodo 4: decodificación de la instrucción.
• Periodos 5 y 6 de actualización de CP. Posible ahorro con sumador distinto.
• Actualización en un periodo menos si el resultado de la ALU no pasara por el acumulador.
• Optimización: Antes del fin de la ejecución, comenzar el
fetch de la siguiente.
2º Cuatrimestre. Juana María López. Hoja 32
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Optimización de ADD A, B.
señales
MEM
ALE
MR
MW
reloj
PCT
LI
DIT
X0, X1
Y0, Y1
S0, ...S3
LAC
DIRECCIÓN B
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8
LFlags
RESET
LR
DIRECCIÓN A
AT
LPC
puerto A
registro B
puerto B
registro A registro A
suma
DT
tiempo
bus datos
CP
suma
2º Cuatrimestre. Juana María López. Hoja 33
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
EJECUCION DE MOV A, [B+DESPLAZAMIENTO]
• Instrucción de transferencia con direccionamiento directo relativo a registro.
• • Operación: [B+ Desplazamiento] --> A • Formato de la instrucción:
ACCIÓN OPERACIÓN ELEMENTAL SEÑAL DE
CONTROL
traer instrucción (fetch):
• direccionar
• leer instrucción
- CP → bus direcciones
- cargar registro de direcciones
- ciclo de memoria
- lectura
- cargar instrucción en la Unidad de Control (UC)
PCT
ALE
(desactivar)
MEM
MR
LI
(desactivar)
código de operación registro registroMOV A B
0 7 8 11 12 15 16 31
desplazamiento
2º Cuatrimestre. Juana María López. Hoja 34
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
• cargar nuevo CP
- la UC entrega el 2 al bus de datos
- selección de operandos y de
operación (simultáneamente)
- carga del acumulador
- transferencia bus de datos
- carga del nuevo CP
(retardo de un periodo)
DIT
X0,X1 e Y0, Y1 y
S0, ...S3
LAC
(desactivar)
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.)
• sumar
- la UC entrega el
Desplazamiento al bus de
datos
- la UC genera la dirección del registro
B en Dirección A
- selección de operandos y de
operación (simultáneamente)
- carga del acumulador
DIT
4 bits
X0,X1 e Y0, Y1 y
S0, ...S3
LAC
(desactivar)
guardar resultado:
• volcar al bus de datos
el operando fuente
• cargar registro
- transferencia al bus de direcciones
del contenido del Acumulador
- cargar registro de direcciones
- ciclo de memoria
- lectura
- la UC genera la dirección del registro
A con Dirección A
- señal de carga del registro
AT
ALE
(desactivar)
MEM
MR
4 bits
LR
(desactivar)
contador de fases a 0: RESET
2º Cuatrimestre. Juana María López. Hoja 36
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
CRONOGRAMA DE MOV A, [B+Desplazamiento]
DIRECCIÓN A
DIRECCIÓN B
MEM
ALE
MR
MW
PCT
LI
DIT
X0, X1
Y0, Y1
S0, ...S3
LAC
bus dedatos
suma
puerto A
registro B registro A
reloj
señales
tiempo
periodo 1 periodo 2 periodo 3 periodo 4 periodo 5 periodo 6 periodo 7 periodo 8 periodo 9 periodo 10 periodo 11
LR
RESET
AT
LPC
DT
bus dedatos
CP
suma
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.
INSTRUCCIÓN
ESTADO
E/S
UNIDADDE
CONTROL
SEÑALES DECONTROL
CONTADORDE FASES
INFORMACIÓN
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
instrucción 2
instrucción 127
instrucción 128
32 posiciones microprograma dela instrucción 1
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)
señales de controldirección
bit de controldel multiplexorFORMATO ESTANDAR
DE MICROINSTRUCCIÓN
POSICIONES CORRESPONDIENTESA LOS CÓDIGOS DE OPERACIÓN
0
apuntan a la primera microinstrucción de cada microprograma
0
1
000
00
dirección 000001000100000110010000010000
señales de control
indica que es la última microinstrucción del microprograma(el multiplexor tomará el siguiente código de operación)
MUX.
CÓDIGO DE OPERACIÓN
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 de la primera
microinstrucción.
2º Cuatrimestre. Juana María López. Hoja 46
UNIDAD DE CONTROL. CAPITULO 4. Fundam. de Computadores
Secuenciamiento Implícito (cont)
000000
1
señales de control
CÓDIGO DE OPERACIÓN bit de controlde carga del C Pµ
000000
1
000000
1
INCREMENTADOR
señal de carga del registro C Pµ
(contador de microprograma)registro C Pµ
+1
00010001100001010001
MEMORIA DE CONTROL
ROM
8 bits
12 bits
microprogramacorrespondiente a uncódigo de operación
última microinstrucción
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
de datos
acceso bus
direcciones
gobierno
ALU
banco de
registros
memoria unidad de
direccionamie
nto
MR
DT
DIT
AT
PCT
S0, ...S3
X0, X1
Y0, Y1
LAC
LR
DIR. A
DIR. B
MEM
MR
MW
ALE
LPC
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.
señales de control
campo de dirección
dirección
bit de última microinstrucción
bit de condicióndos direcciones posibles:- "dirección" 0- "dirección" 1
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)
000000
1
señales de control
bit de controlde carga del C Pµ
000000
1
000000
1
INCREMENTADOR
señal de carga del registro C Pµ
(contador de microprograma)registro C Pµ +1 MEMORIA DE CONTROL
CÓDIGO DE OPERACIÓN
ROM
8 bits
12 bits
microprogramacorrespondiente a uncódigo de operación
última microinstrucción
dirección/E-Scondición señales de control
DIRECCIÓN
SEÑALES DE E/S
decodificadorbit de control de función
MUX
REG. DE ESTADO
COMPARADOR
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