Post on 01-May-2020
Control Microprogramado Arquitectura de Computadoras 1
Organización y arquitectura de computadoras
Tema 10
Unidad de Control
Control microprogramado
Control Microprogramado Arquitectura de Computadoras 2
Conceptos Generales• Las señales de control se generan por un programa similar a
los programas en lenguaje máquina• Palabra de control (CW)
– Cada bit representa una señal de control– Hay una CW por cada microoperación
• Microprograma – Secuencia de CWs por cada instrucción en lenguaje máquina
• Microinstrucciones– CWs individuales en un microprograma– Se añade una dirección que especifica la siguiente microinstrucción
a ser ejecutada
Control Microprogramado Arquitectura de Computadoras 3
Organización de la Unidad de Control Microprogramado
• Memoria de Control– Memoria especial (ROM) que
guarda los microprogramas para todas las instrucciones
• Contador de microprograma ( PC)– Incrementado por el reloj
• Generador de la dirección de inicio– Genera la dirección inicial del
microprograma de una instrucción
IRStartingAddress
Generator
PCRELOJ
Memoria de Control CW
Entradas Externas
Banderas
Generadorde
direccionesde inicio de salto
Control Microprogramado Arquitectura de Computadoras 4
Longitud de palabra de microprograma
• Basado en 3 factores– Número máximo de microoperaciones simultáneas
soportado
– La forma como la información de control es representada o codificada
– La forma en la cual se especifica la siguiente dirección de microinstrucción
Control Microprogramado Arquitectura de Computadoras 5
Formato de una microinstrucciónFunciones de la microinstrucción/señales
de controlDirección de la
siguiente microinstrucción
• Microinstrucciones con el campo de dirección de la microinstrucción siguiente– Elimina la necesidad de microinstrucciones de salto
– PC es reemplazado por el registro de direcciones de la microinstrucción ( AR)
– Aumenta la flexibilidad
– Palabras de control un poco más largas
Control Microprogramado Arquitectura de Computadoras 6
Memoria de control
.
Salta a obtención o interrupción
Rutina de ciclo de obtención
Rutina de ciclo indirecto
Rutina de ciclo de interrupción
Inicio del ciclo de ejecución
Rutina AND
Rutina ADD
.
Salta a obtención o interrupción
Salra a rutina de Op code
.Salta a obtención
.Salta a ejecución
.Salta a indirecto o ejecución
Control Microprogramado Arquitectura de Computadoras 7
Funciones de la unidad de control microprogramada
• Secuenciamiento de microinstrucciones
• Ejecución de microinstrucciones
• Deben considerarse ambas a la vez
Control Microprogramado Arquitectura de Computadoras 8
Técnicas de secuenciamiento• Basadas en
– La microinstrucción actual
– Banderas y códigos de condición
– Contenidos del IR
– La dirección de la memoria de control debe generarse
• Basado en el formato de la información de la dirección– Dos campos de dirección
– Un campo de dirección
– Formato variable
Control Microprogramado Arquitectura de Computadoras 9
Ejecución microinstrucción
• El ciclo es el evento básico
• Cada ciclo está formado de dos eventos– Obtención
• Determinado por la generación de la dirección de la microinstrucción
– Ejecución• El efecto es generar señales de control
• Algunos puntos de control internos al procesador
• El resto va al bus de control u otra interfase
Control Microprogramado Arquitectura de Computadoras 10
Generación de direcciones
•Traducción
•Adición
•Control Residual
•Dos campos
•Salto incondicional
•Salto condicional
ImplícitasExplícitas
Control Microprogramado Arquitectura de Computadoras 11
Funcionamiento de una unidad de control microprogramada
Memoria decontrol
Registro de Datos de Control (CDR)
Registro de dirección de Control (CAR)
Lógica deControl
Lógica deSecuenciamiento
IndicadoresDe la ALU
Reloj
Señales deControl haciaDentro del CPU
Señales de controlHacia el bus delsistema
DecodificadorUnidad de control
Registro de instrucción
Control Microprogramado Arquitectura de Computadoras 12
Funcionamiento de la unidad de control microprogramado
• La unidad de secuenciamiento carga el registro de dirección de control (CAR) y emite un comando de lectura
• El registro de dirección de control contiene la dirección de la siguiente microinstrucción a leer
• Cuando se lee una microinstrucción de la memoria de control, se transfiere al registro de datos de control (CDR)
• El contenido del CDR proporciona las señales de control y la dirección de la siguiente microinstrucción– Leer una microinstrucción es lo mismo que ejecutarla
• La lógica de secuenciamiento carga la nueva dirección en el CAR basado en la información de la siguiente dirección del CDR y las banderas de la ALU
Control Microprogramado Arquitectura de Computadoras 13
Ejemplo ejecución de una instrucción
• Add (R3), R11. PCout, MARin, Read, Select4, Add, Zin
2. Zout, PCin, Yin, WMFC
3. MDRout, IRin
4. R3out, MARin, Read
5. R1out, Yin, WMFC
6. MDRout, SelectY, Add, Zin
7. Zout, R1in, End
Control Microprogramado Arquitectura de Computadoras 14
Implementación con Control Microprogramado
10010100000000007
00000011000100006
01001000010000005
00100000000011004
00000000001100003
01000100010000012
00000011100011101
EndWMFCR3
out
R1
in
R1
out
Z
out
Z
in
AddSelectY
in
IR
in
MDR
out
ReadMAR
in
PC
out
PC
in
Control Microprogramado Arquitectura de Computadoras 15
Tipos de microinstrucción
• Cada microinstrucción especifica muchas microoperaciones diferentes a ejecutarse en paralelo– (microprogramación horizontal)
• Cada microinstrucción especifica una sola (o pocas) microoperaciones a ser ejecutadas simultáneamente– (microprogramación vertical)
Control Microprogramado Arquitectura de Computadoras 16
Microprogramación horizontal
• Palabra de memoria amplia
• Poca o Nula codificación de la información de control– 1 bit por señal
• La longitud de la palabra de control es igual al número de señales de control
• Alto grado de operaciones paralelas posibles
• Alta velocidad
• Memoria de control grande
Control Microprogramado Arquitectura de Computadoras 17
Formato de una microinstrucción horizontal
Señales de control internas Dirección de Instrucción
Condición de saltoSeñales de controldel bus del sistema
R1in …CW R2in R3in R4in R5in R1out R2out R3out R4out R5out … …… …… …
Señales de Control
Control Microprogramado Arquitectura de Computadoras 18
Microprogramación vertical
• Instrucciones más compactas (ocupan menos bits)• Señales empaquetadas en campos
– N señales de control condificadas en log2n bits
• Capacidad limitada para expresar paralelismo• Información de codificación de control requiere una palabra
decodificadora externa de memoria para identificar la línea de control exacta que está siendo manipulada
• Más pasos -> más lentas• Menos flexible que la horizontal
Control Microprogramado Arquitectura de Computadoras 19
Formato de una microinstrucción vertical
Dirección de Instrucción
Códigos de Función
Condiciónde salto
F1 - Rnin …CW F2 - Rnout … …… …… …
Señales de Control
DECODER DECODER
Control Microprogramado Arquitectura de Computadoras 20
Compromiso
• Divide las señales de control en grupos disjuntos
• Implementa cada grupo como un campo separado en la palabra de memoria
• Soporta niveles razonables de paralelismo sin mucha complejidad
Control Microprogramado Arquitectura de Computadoras 21
Características del Control Microprogramado
• Simplifica el diseño de la unidad de control– Más barata
– Menos propensa a errores
• Más lento– Puede mejorarse por la obtención anticipada (prefetching) de la
siguiente microinstrucción
• Puede ser utilizado para emulación de otra arquitectura extendiendo el conjunto de instrucciones para incluir las de la máquina a emular
Control Microprogramado Arquitectura de Computadoras 22
Consideraciones de diseño
• Tamaño de las microinstrucciones basado en:– Maximum number of simultaneous microoperations supported– The way control information is represented or encoded– The way in which the next microinstruction address is specified
• Tiempo de generación de direcciones– Determinado por el registro de instrucción
• Una por ciclo, después de que se captó la instrucción
– Siguiente dirección secuencial• Lo más común
– Saltos• Condicionales e incondicionales
Control Microprogramado Arquitectura de Computadoras 23
Implementación
• Microprocesadores actuales– Muchas instrucciones y asociadas al nivel de registro
del hardware– Muchos puntos de control a ser manipulados
• Esto resulta en memoria de control que– Contiene un número grande de palabras
• Correspondiente al número de instrucciones a ser ejecutadas
– Tiene un tamaño amplio de palabra• Debido al gran número de puntos de control a ser
manipulados
Control Microprogramado Arquitectura de Computadoras 24
Evolución de la Unidad de Control
• Al principio todas las computadoras usaban control alambrado todas las instrucciones eran ejecutadas directamente en hardware
• 1951 – Maurice Wilkes• 1964 – IBM emplea la microprogramación para emulación en la
familia IBM 360• 1970 – la mayoría de las computadoras emplean control
microporgramado– Muy fácil añadir instrucciones
• Los microprogramas crecieron y se volvieron demasiado lentos• Eliminar el microprograma, reducir el conunto de instrucciones,
implementar el control control alambrado máquinas más rápidas.
Control Microprogramado Arquitectura de Computadoras 25
Desempeño
• El desempeño es dependiente de:– Poder de las instrucciones– Ciclo de reloj– Número de ciclos por instrucción
• El desempeño se puede mejorar con:– Múltiples trayectorias de datos– Pre-obtención de las instrucciones y “pipelining”– Memorias caché
Control Microprogramado Arquitectura de Computadoras 26
Organización de la unidad de control
Memoria decontrol
Registro Intermedio de Control
Registro de dirección de Control
Lógica deControl
Lógica deSecuenciamiento
Registro de instrucción
IndicadoresDe la ALU
Reloj
Señales deControl internas
Señales deControl externas