Você está na página 1de 5

T6.

- Unidad de Control

Por:

1. Funciones de la Unidad de Control


SINCRONIZACIÒN: Es el elemento que sincroniza las acciones que realiza cada una de las unidades del
computador.
INTERPRESTACIÒN DE INSTRUCCIONES: Decodifica los códigos de operación y los modos de
direccionamiento de las instrucciones y actuar de forma diferente para cada uno de ellos.
SECUENCIA DE OPERACIONES: Se encarga de la temporización de las distintas operaciones necesarias de la
ejecución de una instrucción
EJECUCIÒN DEL CODIGO: Ejecutara un único código que existe para cada instrucción
ACEPTACIÒN Y GENERACIÒN DE SEÑALES: Aceptara las instrucciones y generara las señales de control
necesarias para la instrucción se pueda ejecutar dicho de otra manera acepta el código y luego se ejecuta con una
sola señal
EJECUCIÒN DE MICROINSTRUCIONES: En un procesador de X86 de núcleo, debe ejecutar los
microinstrucciones con las unidades debidas, en completa coordinación.

2. Técnicas

Cableada

En una implementación cableada, la unidad de control es esencialmente un circuito


combinacional. Sus señales lógicas de entrada, gobernadas por la instrucción máquina en curso, se
transforman en un conjunto de señales lógicas de salida, que son las señales de control. Es construida
de puertas lógicas, circuitos biestables, circuitos codificadores, circuitos decodificadores, contadores
digitales y otros circuitos digitales. Su control está basado en una arquitectura fija, es decir, que requiere
cambios en el cableado si el conjunto de instrucciones es modificado o cambiado. Esta arquitectura es
preferida en las computadoras RISC, pues consiste en un conjunto de instrucciones más pequeño. Las
señales de control generadas por un microinstrucción se usan para producir transferencias entre
registros y operaciones de la ALU.

Microprogramada

La implementación microprogramada, en la cual la lógica de la unidad de control se especifica


mediante un microprograma. Un microprograma consiste en una secuencia de instrucciones en un
lenguaje de microprogramación. Se trata de instrucciones muy elementales que especifican
microoperaciones. Una unidad de control microprogramada es un circuito lógico relativamente sencillo
que es capaz de (1) realizar el secuenciamiento de las micro instrucciones y (2) generar las señales de
control para ejecutar cada microinstrucción. Como en una unidad de control cableada, las señales de
control generadas por una microinstrucción se usan para producir transferencias entre registros y
operaciones de la ALU.
3. Microinstrucciones.

La unidad de control controla el funcionamiento de la CPU y también la del computador, esta


interpreta y ejecuta las instrucciones almacenadas en la memoria principal y genera las señales de control
necesarias para ejecutarlas.

• Dirección secuencial siguiente: el registro de dirección de control de la unidad de control aumenta en 1.


• Traducción del código de operación: la dirección de la siguiente microinstrucción viene determinada por
el código de operación.
• Llamada/retorno de subrutina: la microinstrucción de salto condicional hace uso de un código de
comprobación de cuatro bits dentro de la microinstrucción.
• Comprobación de interrupciones: ciertas microinstrucciones especifican una comprobación de
interrupciones. Si ha ocurrido una interrupción, ello determina la dirección de la siguiente
microinstrucción.
• Salto: se usan microinstrucciones de salto condicional e incondicional.

A una secuencia de microinstrucciones se la conoce como microprograma y será traducido a


lógica de control para dar las órdenes. Una condición esencial que se debe tener en cuenta a la hora de
diseñar el formato es que éste debe hacer sencilla la interpretación del microprograma y permitir una
programación sencilla del mismo. La secuencia de microinstrucciones es la siguiente:

FETCH: será la primera en ejecutarse y siempre pasará a la fase de decodificación.


DECO: una vez conocido el código de operación de la instrucción en curso, se tomará la decisión de
saltar hacia LOAD, STORE, BRANCH o ARIT. En el caso de que el código de operación sea 10 y el bit
Cond sea 0, se pasará a la fase de FETCH.
LOAD: enviará a la UP las señales necesarias para ejecutar la instrucción LOAD y saltará a FETCH.
STORE: enviará a la UP las señales necesarias para ejecutar la instrucción STORE y saltará a FETCH
BRANCH: enviará a la UP las señales necesarias para ejecutar la instrucción BRANCH y saltará a DECO.
ARIT: enviará a la UP las señales necesarias para ejecutar la instrucción A-L correspondiente y saltará a
DECO.

4. Micro procesos.

Para diseñar una unidad de control, debemos realizar o pasar por diversos ciclos que a
continuación vamos a mencionar. Primeramente, para la ejecución de un programa se debe pasar por
varios ciclos de instrucción y, dentro de cada ciclo de instrucción existen cuatro subciclos que se realizan
en secuencia adecuadamente. Estos subciclos son: Captación, indirecto, ejecución e interrupción. En
el ciclo de captación se inicia con el recibimiento de la instrucción de la memoria la cual implica cuatro
registros: registro de dirección de memoria (Memory Address Register, MAR), la cual especifica la
dirección de memoria de una operación de lectura o de escritura. Registro intermedio de memoria
(Memory Buffer Register, MBR), la cual contiene el valor a almacenar en memoria o el último valor leído
de memoria. Contador de programa (Program Counter, PC), en donde contiene la dirección de la
siguiente instrucción a captar. Y por último, registro de instrucción (lnstruction Register, lR), que contiene
la última instrucción captada.

El primer paso es llevar la dirección al registro de dirección de memoria (MAR), ya que este es
el único registro conectado a las líneas de dirección del bus del sistema. El segundo paso es traer la
instrucción. La dirección deseada (en MAR) se coloca en el bus de direcciones. La unidad de control
emite una orden READ por el bus de control, y el resultado aparece en el bus de datos y se copia en el
registro intermedio de memoria (MBR). Es necesario además incrementar PC en I (longitud de la
instrucción) para que esté preparado para la siguiente instrucción. El tercer paso es transferir el
contenido de MBR al registro de instrucción (IR). Esto libera MBR para su uso durante un posible ciclo
indirecto.

En el ciclo indirecto una vez que se capta una instrucción, el siguiente paso es captar los
operando fuente. Si la instrucción especifica una dirección indirecta, un ciclo indirecto ha de preceder al
ciclo de ejecución. El campo de dirección en la instrucción se transfiere a MAR. Este se usa después
para captar la dirección del operando. Por último, el campo de dirección de IR se actualiza con el
contenido de MBR, de modo que contenga una dirección directa en lugar de una indirecta. IR tiene
ahora el mismo estado que si no se hubiera usado direccionamiento indirecto, y está listo para el ciclo
de ejecución.

Cuando termina el ciclo de ejecución, en el ciclo de interrupción se realiza una comprobación


para determinar si ha ocurrido alguna interrupción habilitada. Si es así, tiene lugar un ciclo de
interrupción. En el primer paso el contenido de PC se transfiere a MBR, de modo que pueda guardarse
para el retomo de la interrupción. Entonces MAR se carga con la dirección en la cual va a guardarse el
contenido de PC, y PC se carga con la dirección de comienzo de la rutina de procesamiento de la
interrupción. Sin embargo, ya que la mayoría de los procesadores tienen múltiples tipos y/o niveles de
interrupciones, podrían hacer falta una o más microoperaciones adicionales para obtener la dirección
de salvaguardia y la dirección de la rutina antes de que puedan transferirse a MAR y a PC
respectivamente. En todo caso, una vez hecho esto, el paso final es almacenar MRR, que contiene el
antiguo valor de PC en la memoria. El procesador queda entonces preparado para iniciar el siguiente
ciclo de instrucción.

En el ciclo de ejecución, en el primer paso, la parte de dirección de IR se carga en MAR.


Después se lee la posición de memoria referenciada. Por último, la ALU opera los contenidos de entrada
y MBR. La nueva característica introducida aquí es la actuación condicional PC se incrementa si (MBR)
= O. Esta comprobación y actuación puede implementarse como una microoperación. Esta
microoperación puede ejecutarse durante la misma unidad de tiempo en la cual el valor actualizado de
MBR se almacena en memoria. Por último, examinemos una instrucción de llamada a subrutina.
5. Conclusiones

La Unidad de Control hará las siguientes tareas: ir a buscar una instrucción a memoria,
decodificar la instrucción y ejecutarla. El proceso de búsqueda de una instrucción (o dato) a memoria
es común a todas las instrucciones, es decir a cada microprograma.

En la unidad de control existen diferentes técnicas como la cableada y microprogramada, cada


una de ellas tiene sus puntos fuertes en cuanto a rapidez de ejecución, costo, etc. Pero ambas se
encargan de que las señales de control generadas por una microinstrucción se usen para producir
transferencias entre registros y operaciones de la ALU.

El código llamada/retorno de subrutina especifica la comprobación de diversos códigos de


condición de la ALU para determinar la decisión de salto. Si la condición no es cierta, se escoge la
siguiente dirección secuencial. Si es cierta, los ocho bits menos significativos del registro de dirección
de control se cargan con ocho bits de la microinstrucción. Esto permite el salto dentro de una página de
memoria de 256 palabras.

El secuenciamiento de direcciones dentro de la unidad de control da al microprogramador una


flexibilidad apreciable y puede facilitar la tarea de la microprogramación. Por otra parte, esta
aproximación requiere más lógica en la unidad de control que otra con menores capacidades.

Para la ejecución de un programa se realiza el ciclo de instrucción que tiene cuatro subciclos
que son captación, indirecto, interrupción y ejecución.
Los subprocesos se realizan de la siguiente forma: se inicia con el recibimiento de la instrucción
de la memoria, se lleva la dirección al registro de dirección de memoria, se trae la instrucción, se
transfiere el contenido de MBR al registro de instrucción (IR), se capta los operando fuente, el campo
de dirección de IR se actualiza con el contenido de MBR, se realiza una comprobación para determinar
si ha ocurrido alguna interrupción habilitada, luego, el contenido de PC se transfiere a MBR, de modo
que pueda guardarse para el retomo de la interrupción. Entonces, MAR se carga con la dirección en la
cual va a guardarse el contenido de PC, y PC se carga con la dirección de comienzo de la rutina de
procesamiento de la interrupción, finalmente, la parte de dirección de IR se carga en MAR, después se
lee la posición de memoria referenciada, la ALU opera los contenidos de entrada y MBR.

Você também pode gostar