Organización y arquitectura de computadoras · Organización y arquitectura de computadoras Tema...

26
Control Microprogramado Arquitectura de Computadoras 1 Organización y arquitectura de computadoras Tema 10 Unidad de Control Control microprogramado

Transcript of Organización y arquitectura de computadoras · Organización y arquitectura de computadoras Tema...

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