1587_tema9controlmic..

Anuncio
Organización y arquitectura de
computadoras
Tema 10
Unidad de Control
Control microprogramado
Control Microprogramado
Arquitectura de Computadoras
1
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
2
Organización de la Unidad de Control
Microprogramado
• Memoria de Control
IR
Generador
Starting
de
direcciones
Address
de inicio
Generator
de salto
Entradas Externas
Banderas
– Memoria especial (ROM) que
guarda los microprogramas
para todas las instrucciones
• Contador de microprograma
( PC)
– Incrementado por el reloj
RELOJ
PC
Memoria de Control
Control Microprogramado
• Generador de la dirección de
inicio
CW
– Genera la dirección inicial del
microprograma de una
instrucción
Arquitectura de Computadoras
3
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
4
Formato de una microinstrucción
Funciones de la microinstrucción/señales
de control
Direcció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
5
Memoria de control
.
Salta a indirecto o ejecución
.
Salta a ejecución
.
Salta a obtención
Salra a rutina de Op code
.
Salta a obtención o interrupción
.
Salta a obtención o interrupción
Control Microprogramado
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
Arquitectura de Computadoras
6
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
7
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
8
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
9
Generación de direcciones
Explícitas
Implícitas
•Dos campos
•Salto incondicional
•Salto condicional
•Traducción
•Adición
•Control Residual
Control Microprogramado
Arquitectura de Computadoras
10
Funcionamiento de una unidad de control
microprogramada
Registro de instrucción
Unidad de control
Indicadores
De la ALU
Reloj
Lógica de
Secuenciamiento
Decodificador
Registro de dirección de Control (CAR)
Memoria de
control
Registro de Datos de Control (CDR)
Lógica de
Control
Señales de
Control hacia
Dentro del CPU
Control Microprogramado
Arquitectura de Computadoras
Señales de control
Hacia el bus del
sistema
11
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
12
Ejemplo ejecución de una instrucción
•
Add (R3), R1
1. 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
13
Implementación con Control
Microprogramado
PC
PC
MAR
in
out
in
Read
MDR
IR
Y
out
in
in
Select
Add
Z
Z
R1
R1
R3
in
out
out
in
out
WMFC
End
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
2
1
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
3
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
6
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
Control Microprogramado
Arquitectura de Computadoras
14
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
15
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
16
Formato de una microinstrucción horizontal
Señales de control internas
Dirección de Instrucción
Señales de control Condición de salto
del bus del sistema
CW
R1in
R2in
R3in
R4in
R5in R1out R2out R3out R4out R5out
… … … … … … …
Señales de Control
Control Microprogramado
Arquitectura de Computadoras
17
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
18
Formato de una microinstrucción vertical
Dirección de Instrucción
Códigos de Función
Condición
de salto
CW
… … … … … … …
F1 - Rnin
F2 - Rnout
DECODER
DECODER
Señales de Control
Control Microprogramado
Arquitectura de Computadoras
19
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
20
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
21
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
22
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
23
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
24
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
25
Organización de la unidad de control
Registro de instrucción
Indicadores
De la ALU
Reloj
Lógica de
Secuenciamiento
Registro de dirección de Control
Memoria de
control
Registro Intermedio de Control
Lógica de
Control
Control Microprogramado
Señales de
Control internas
Arquitectura de Computadoras
Señales de
Control externas
26
Descargar