You are on page 1of 3

1

Unidad de Control
Ing. Elas Mendoza H. (Recopilacin)

ResumenEs la unidad de control que efecta la transferencia de registros. Lo hace por medio de seales de control que transfieren los datos de registro a registro, posiblemente a travs de un circuito lgico que lo transforma de alguna manera. La unidad de control interpreta las instrucciones de mquina uno por uno, causando que el registro especificado transfiera u otra accin ocurra.

I. INTRODUCCIN

informacin binaria almacenada en una computadora digital puede clasificarse como datos o informacin de control. Como vimos, los datos se manipulan en una trayectoria de datos para efectuar operaciones aritmticas, lgicas, de desplazamiento y otras tareas de procesamiento de datos. Estas operaciones se implementan con unidades ALU, registros, multiplexores y buses. La unidad de control proporciona seales que activan las diferentes microoperaciones de la ruta de datos para efectuar las tareas de procesamiento de datos especificadas. La unidad de control tambin determina la secuencia en la que se llevan a cabo las diferentes acciones. Puesto que el diseo lgico de un sistema digital con frecuencia se trata en dos partes diferentes, tratamos el diseo de la trayectoria de datos con anterioridad, y, en el presente, el diseo de la unidad de control. La sincronizacin de los registros de un sistema digital sncrono se controla con un generador de reloj maestro. Los pulsos de reloj se aplican a los flip-flops y registros del sistema, incluyendo los de la unidad de control. Para evitar que los pulsos de reloj continuos cambien el estado de los registros con cada ciclo de reloj, algunos registros tienen una seal de control de carga que habilita y deshabilita la carga del registro. Las variables binarias que controlan las entradas de seleccin de los multiplexores, buses y ALU y las entradas de control de carga son generadas por la unidad de control. La unidad de control que genera las seales de secuenciacin de las operaciones de la trayectoria de datos es un circuito secuencial con estados que dictan las operaciones de control del sistema. En cualquier momento, el estado del circuito secuencial activa un grupo predeterminado de microoperaciones. Con condiciones de estado y entradas de control, la unidad de control secuencial determina el siguiente estado en el que se activan las microoperaciones adicionales. El circuito digital que actan como unidad de control ofrece
A

una secuencia de seales para activar las microoperaciones de la trayectoria de datos y tambin determina su propio estado siguiente. Con base en el diseo global del sistema, en los sistemas digitales se emplean dos tipos diferentes de unidad de control, uno para un sistema programable y otro para un sistema no programable. En un sistema programable, una parte de la entrada al procesador consiste en una secuencia de instrucciones. Cada instruccin especifica la operacin que deber ejecutar el sistema, los operandos para la operacin, el destino del resultado de la operacin y, en algunos casos, la siguiente instruccin a ejecutar. En el sistema programable, las instrucciones generalmente se almacenan en memoria, sea RAM o ROM. Para ejecutar en secuencia las instrucciones, es necesario proporcionar la direccin de memoria de la instruccin a ejecutar. Esta direccin viene de un registro llamado contador de programa (PC, program counter). Como lo implica su nombre, el PC tiene lgica que le permite contar. Adems, para cambiar la secuencia de operaciones mediante decisiones basadas en la informacin de estado, el PC necesita capacidad de carga paralela. As que, en el caso de un sistema programable, la unidad de control contiene un PC y lgica de decisin asociada, as como la lgica necesaria para interpretar la instruccin. La ejecucin de una instruccin significa la activacin de la secuencia de operaciones en la trayectoria de datos para ejecutar la operacin indicada por la instruccin. En un sistema no programable, la unidad de control no es responsable de obtener las instrucciones de la memoria ni de secuenciar la ejecucin de esas instrucciones. No hay un PC ni ningn registro semejante en tal sistema. En cambio, la unidad de control determina las operaciones por ejecutar y su secuencia, con base nicamente en sus entradas y bits de estado.

II. CONTROL ALAMBRADO DE CICLO SENCILLO En la figura 1 se ilustra el diagrama de bloque de una computadora con unidad de control alambrado que obtiene y ejecuta una instruccin por ciclo de reloj. Nos referimos a esta computadora como computadora de ciclo sencillo. La

2 memoria de datos M est conectada a las conexiones de Address out, Data out y Data in de la trayectoria de datos. Aunque no se considera generalmente como parte de la unidad de control, por claridad se ilustra la memoria de instruccin, as como sus entradas de direccin y salidas de instruccin, con la unidad de control. En nuestro estudio, slo leeremos palabras de la memoria de instruccin, por lo que debe verse como componente de combinacin, en lugar de secuencial. El PC proporciona la direccin de la instruccin a la memoria de instrucciones; la salida de instruccin de la memoria de instrucciones va a la lgica de control que, en este caso, es el decodificador de instrucciones. La salida de la memoria de instrucciones tambin va al relleno de ceros, que proporciona la Constant in a la trayectoria de datos. signo de 16 bits para la ruta de datos; por ejemplo, el valor de operando 111 se vuelve 0000000000000111, o +7. El relleno de ceros entra a la trayectoria de datos por la ruta Constant in. Decodificador de instrucciones El decodificador de instrucciones es un circuito de combinacin que proporciona todas las palabras de control para la trayectoria de datos, con base en el contenido de los campos de instruccin. Los formatos de instruccin y cdigos de operacin fueron cuidadosamente seleccionados por el diseador de la computadora para conservar sencilla la lgica de control presentada en la figura 2.

Fig. 2 Diagrama del decodificador de instrucciones La lgica de control correlaciona las instrucciones con los valores de los campos de palabra de control. Ntese que los campos DR, SA y SB y los ltimos cinco bits del cdigo de operacin se correlacionan directamente con los campos DA, AA, BA y FS, respectivamente, de la palabra de control. Como resultado de seleccionar cuidadosamente los cdigos de operacin para correlacionarlos con el campo FS, cualquier operacin de unidad de funciones puede especificarse con los cinco bits de la derecha del cdigo de operacin. Los bits 13 a 15, los tres de la izquierda del cdigo de operacin, se alimentan a la lgica que genera las lneas de control de MB, MD, RW y MW. Estos bits de instruccin seleccionan la fuente de los datos a cargar en un registro del archivo de registros (MD) y determinan si se escribe el archivo de registros (RW). Tambin determinan si se escribe la memoria (MW) y si aparece el contenido de un registro en el bus B (MB). Es claro que estos bits tienen un papel principal en el control de la trayectoria de datos. No detallaremos el proceso de diseo de la lgica de control; sin embargo, damos la tabla de verdad del diseo en la tabla 1. Si se necesita una combinacin de valores en MB a travs de MW, esta tabla puede servir para determinar los

Fig. 1 Diagrama de bloque de una computadora de ciclo sencillo Todas las partes de la computadora que son secuenciales aparecen sombreadas. Observe que no hay lgica secuencial en la parte de control, a excepcin del PC; por tanto, en este caso, excepto por ofrecer la direccin a la memoria de instrucciones, la lgica de control es de combinacin. Este hecho, combinado con la estructura de la trayectoria de datos y el empleo de memorias separadas de instrucciones y de datos, permiten que la computadora de ciclo sencillo obtenga y ejecute una instruccin desde la memoria de instrucciones en un solo ciclo de reloj. El PC contiene la direccin de la instruccin actual. Incrementa en uno su contenido al inicio del ciclo de reloj en el que se ejecuta una instruccin. Para obtener una instruccin por ejecutar, se aplica el contenido del PC a la entrada de direccin de la memoria de instrucciones y se aplica al decodificador de instrucciones y al relleno de ceros. El relleno de ceros agrega 13 ceros a la izquierda del campo de operando (OP) de la instruccin, formando un operando sin

3 valores de los bits 13 a 15 de la instruccin. Tabla 1 Tabla de verdad de la lgica del decodificador de instrucciones archivo de registro que consta de ocho registros, R0 a R7. El formato de instruccin la figura 3(a) consiste en un cdigo de operacin que indica la utilizacin de tres o menos registros, segn se necesite. A uno de los registros se le designa como destino del resultado y a dos de ellos como fuentes de los operandos. Por sencillez, los campos de nombre se abrevian DR para el registro destino, SA para el registro fuente A y SB para el registro fuente B. La cantidad de registros y de campos de registro empleados la determina el cdigo de operacin especfico. El cdigo de operacin tambin especifica el empleo de los registros. Por ejemplo, para una operacin de resta, supngase que los tres bits de SA son 010, que especifican R2, los tres bits de SB son 011, indicando R3, y los tres bits de DR son 001, especificando R1. Entonces R3 ser restado de R2 y el resultado se pondr en R1. Como otro ejemplo, asuma que la operacin es un almacenamiento (en memoria) y adems que los tres bits de SA especifican R4 y los tres bits de SB indican R5. Para esta operacin, suponemos que el registro especificado en SA contiene la direccin y el registro SB el operando a almacenar; por tanto, el valor de R5 se almacena en la localidad de memoria dada por R4. El campo DR no tiene efecto, pues la operacin de almacenamiento evita que se escriba el archivo de registros. El formato de instruccin de la figura 3(b) tiene un cdigo de operacin, dos campos de registro y un operando. El operando es una constante llamada operando inmediato, pues est disponible de inmediato en la instruccin; por ejemplo, para una operacin inmediata de suma en la que se especifica SA como R7, DR como R2 y el operando OP como 011, se suma el valor 3 a R7 y el resultado queda en R2.

Para ayudar a entender el uso de cada combinacin de valores, las categoras de las instrucciones tpicas manejadas por una combinacin se listan a la izquierda de la tabla. Los cuatro bits de palabra de control correlacionados con los bits 13 a 15 de la instruccin determinan una parte de la definicin del valor del cdigo de operacin. Observe que el bit 13 sirve para controlar la escritura de memoria, adems de ser el primer bit del campo de palabra de control FS. Este traslape restringe de alguna manera las instrucciones que afectan los valores del bit de estado. De otra manera, podra definirse prcticamente cualquier operacin sencilla en la ruta de datos, especificando los siete bits del cdigo de operacin. Advierta que Funcin de desplazamiento con registros ocurre dos veces. La repeticin resulta de emplear condiciones irrelevantes en la tabla con la que se dise la lgica del decodificador de instrucciones. Formato de instrucciones El formato de una instruccin por lo general se representa mediante una caja rectangular que simboliza los bits de la instruccin, como aparecen en las palabras de memoria o en el registro de control. Los bits se dividen en grupos o partes llamados campos. A cada campo se asigna un elemento especfico, como el cdigo de operacin, un valor constante o una direccin de archivo de registros. Los diferentes campos especifican distintas funciones de la instruccin y, cuando aparecen juntos, constituyen un formato de instruccin.

REFERENCIAS
[1] M. Mors Mano, Ch. Kime Fundamentos de diseo lgico y computadoras, 1a ed., Prentice Hall 1998, pp. 387388, 391-393.

Fig. 3 Tres formatos de instruccin Considere, por ejemplo, los tres formatos de instruccin ilustrados en la figura 3. Suponga que la computadora tiene un

You might also like