Está en la página 1de 18

William Stallings

Organización y Arquitectura
de Computadores

Capítulo 15
Control microprogramado
Unidad de control
microprogramado

Utiliza las secuencias de instrucciones para


controlar las operaciones complejas.
Una secuencia de microinstrucciones se conoce
como microprograma, o firmware.
Implementación
 Todo lo que la unidad de control puede hacer es
generar un conjunto de señales de control.
 Cada línea de control está activa o inactiva.
 Cada línea de control puede representarse con un dígito
binario.
 Podríamos construir una palabra de control para cada
microoperación.
 Tenga una secuencia de palabras de control para cada
instrucción de código de máquina.
 Añada un campo de dirección indicando la siguiente
microinstrucción, dependiendo de las condiciones.
Implementación
El mayor microprocesador de nuestros días:
ִMuchas instrucciones y hardwares de nivel de
registro asociado.
ִMuchos puntos de control para manipular.
En la memoria de control, esto se traduce en:
ִLa contención de un gran número de palabras:
que corresponden al número de instrucciones que se
ejecutarán.
ִUna gran expansión mundial:
Debido al gran número de puntos de control que se
manipularán.
Formato de la microinstrucción o
palabra de control

Basado en 3 factores:
ִActivación del máximo número de microoperaciones
simultáneas.
ִLa manera en que se representa o codifica la
información de control.
ִLa manera en que se especifica la próxima dirección
de microinstrucción.
Tipos de microinstrucción

Microinstrucción vertical:
ִCada microinstrucción especifica una sola
microoperación (o unas pocas) para que se realicen.
Microinstrucción horizontal:
ִCada microinstrucción especifica muchas
microoperaciones diferentes para que se realicen en
paralelo.
Diagrama de microprogramación
vertical

Dirección de microinstrución
Códigos de
función
Condición
de salto
Diagrama de microprogramación
horizontal

Señales de control internas a la CPU Micro-instruction Address


Dirección de microinstrucción

Señales de control Condición de salto


del bus del sistema
Alternativa

Dividir las señales de control en grupos


inconexos.
Implementar cada grupo como un campo
separado en la palabra de memoria.
Mantener niveles razonables de paralelismo sin
demasiada complejidad.
Funcionamiento de una unidad
de control microprogramada
Registro de instrucción

Unidad de control
Decodificador

Indicadores
de la ALU Lógica de secuen-
Registro de dirección de control
Reloj ciamiento

Lectura Memoria de
control

Registro intermedio de control

Dirección de
control siguiente
Decodificador

Señales de control Señales de control


hacia dentro de la CPU hacia el bus del sistema
Funcionamiento de la unidad de
control

 La unidad lógica de secuenciamiento emite una orden


de lectura a la memoria de control.
 La palabra especificada en el registro de dirección de
control se lee en el registro intermedio de control.
 Los contenidos del registro intermedio de control
generan señales de control y la información de dirección
siguiente.
 La unidad lógica de secuenciamiento carga una nueva
dirección en el registro de dirección de control, basada
en la información de dirección siguiente del registro
intermedio de control y en los indicadores de la ALU.
Ventajas e inconvenientes

Simplifica el diseño de la unidad de control:


ִImplementación más barata.
ִMenos propensa a errores.
Más lenta que una unidad cableada de
tecnología comparable.
Tareas realizadas por una
unidad de control
microprogramada
Secuenciamiento de microinstrucciones.
Ejecución de microinstrucciones.
Las dos taresas deben considerarse a la vez.
Consideraciones respecto al
diseño

Tamaño de la microinstrucción.
Tiempo de generación de la dirección:
ִViene determinada por el registro de instrucción:
Una vez por ciclo, justo tras la captación de la instrucción.
ִEs la siguiente dirección secuencial:
La situación más común en la mayoría de los diseños.
ִEs el destino de un salto:
Tanto condicionales como incondicionales.
Técnicas de secuenciamiento

A partir de la microinstrucción en curso, de los


indicadores de condición y del contenido del
registro de instrucción, hay que generar una
dirección de la memoria de control.
Categorías basadas en el formato de la
información de dirección de la microinstrucción:
ִDos campos de dirección.
ִUn único campo de dirección.
ִFormato variable.
Generación de direcciones

Explícitas Implícitas

Dos campos Traducción


Salto incondicional Adición
Salto condicional Control residual
Ejecución de
microinstrucciones

El ciclo es el evento básico.


Cada ciclo se compone de dos partes:
ִCaptación:
Depende de la generación de una dirección de
microinstrucción.
ִEjecución.
Ejecución

El resultado es la generación de señales de


control.
Algunas de estas señales controlan puntos
internos del procesador.
Las demás señales van al bus de control externo
o a otras interfaces externas.

También podría gustarte