Control microprogramado

 

    Todas las señales de control requeridas dentro de la CPU pueden generarse utilizando un contador de estado y un circuito PLA.

Se analizará un enfoque alternativo que se utiliza mucho en el diseño de computadoras. Primero se presentarán algunos términos utilizados con frecuencia.

    Se empezará por definir palabra de control (CW: control word) como una palabra cuyos bits individuales representan las diferentes señales de control. Por lo tanto, cada uno de los pasos de control de la secuencia de control de una instrucción define una combinación única de unos y ceros en la CW.  Una secuencia de CW correspondientes a la secuencia de control de una instrucción de máquina constituye el microprograma para esa instrucción. Las palabras individuales de control en este microprograma por lo general se denominan microinstrucciones.

las CW son como se muestra en la figura. corresponden a los pasos 5, 6 y 7

    Considérese que los microprogramas correspondientes al conjunto de instrucciones de una computadora están almacenados en una memoria especial a la que se denomina la memoria de microprograma. La unidad de control puede generar las señales de control para cualquier instrucción, leyendo en forma secuencial las CW del microprograma correspondiente en la memoria de microprograma. Esto sugiere organizar la unidad de control. Para leer en forma secuencial las palabras de control a partir de la memoria de microprograma se emplea un contador de microprograma (m PC). El bloque etiquetado "generación de dirección inicial" es responsable de la carga de la dirección inicial del microprograma en el m PC cada vez que se carga una nueva instrucción en el IR. Después, el m PC es incrementado en forma automática por el reloj, provocando que se lean microinstrucciones sucesivas de la memoria. Por lo tanto, las señales de control serán entregadas a las diferentes partes de la CPU en la secuencia correcta.

    Hasta el momento no se ha analizado una importante función de la unidad de control y, en realidad, no se la puede implantar por medio de la organización simple.. Esta es la situación que surge cuando se requiere que la unidad de control verifique el estado de los códigos de condición o banderas de condición, a fin de elegir entre cursos alternativos de acción. Se ha visto que en el caso de control fijo, esta situación se maneja incluyendo una función lógica adecuada, como en la ecuación "Fin = T8 · ADD + T7 · BR + (T7 · N + T4 · ) · BRN + ...", en la circuitería de codificación. Otro enfoque diferente que se utiliza con frecuencia con el control microprogramado se basa en la introducción del concepto de ramificación condicional en el microprograma. Esto puede lograrse ampliando el conjunto de microinstrucciones a fin de incluir algunas de ramificación condicional. Además de la dirección de ramificación, estas microinstrucciones pueden especificar cuál de las banderas de instrucción, códigos de condición o tal vez bits del registro de instrucción deben verificarse como condición para que tenga lugar la ramificación.

Esquema de organización de la unidad de control

 

 

 

<iframe><noscript><xmp><pre>