Anda di halaman 1dari 28

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

29/01/2010

ARQUITECTURA DE COMPUTADORAS

PROFESOR :

Carlos Guerra Cordero


ALUMNOS :
1 2

Bedoya Cabrera Yessenia Mauricio Polo Miguel

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

NVO CHIMBOTE - ENERO DEL 2010

Pgina 1

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

INDICE
PAG. FUNCIONAMIENTO DELAUNIDAD DE CONTROL__________________________________________________________2 UNIDAD DE CONTROL________________________________________________________________________________2 DEFINICION____________________________________________________________________________________2 FUNCIONES____________________________________________________________________________________2 ELEMENTOS___________________________________________________________________________________3 PASOS DE EJECUCION________________________________________________________________________5 MICROOPERACIONES_________________________________________________________________________________6 DEFINICION____________________________________________________________________________________6 CICLO DE CAPTACION________________________________________________________________________7 CICLO INDIRECTO_____________________________________________________________________________9 CICLO DE INTERRUPCION__________________________________________________________________10 CICLO DE EJECUCION_______________________________________________________________________11 CICLO DE INSTRUCCIN____________________________________________________________________12 CONTROL DEL PROCESADOR______________________________________________________________________13 REQUISITOS FUNCIONALES________________________________________________________________13 SEALES DE CONTROL_____________________________________________________________________15 ORGANIZACIN INTERNA DELPROCESADOR___________________________________________19 IMPLEMENTACION CABLEADA____________________________________________________________________21 ENTRADAS DE LA UNIDAD DE CONTROL________________________________________________22 LOGICA DE LA UNIDAD DE CONTROL____________________________________________________23 CONCLUSION__________________________________________________________________________________________________25 BIBLIOGRAFIA________________________________________________________________________________________________25

Pgina 2

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

I.

UNIDAD DE CONTROL
La unidad de control es la parte del CPU que se encarga de que las cosas sucedan, ya que emite seales de control externas al CPU para producir el intercambio de datos con la memoria y los mdulos de E/S. Tambin emite seales de control internas para transferir datos entre registros, hacer que la ALU ejecute una funcin y otras operaciones internas. La entrada a la unidad de control est compuesta por el registro de instruccin, los indicadores, y seales de control. FUNCIONES: Interpreta y ejecuta las instrucciones almacenadas en la memoria principal y genera las seales de control necesarias para ejecutarlas. La unidad de control dirige todas las operaciones del PC. Es la encargada de activar o desactivar los diversos componentes del microprocesador en funcin de la instruccin que el microprocesador est ejecutando y en funcin tambin de la etapa de dicha instruccin que se est ejecutando. Utiliza seales de reloj para mantener la secuencia de eventos apropiada para llevar a cabo cualquier tarea de procesamiento. Se encarga de dar las rdenes necesarias para ejecutar las instrucciones de un programa: orden de lectura de memoria, orden de escritura en memoria, orden de ejecucin de operacin aritmtico-lgica.

La responsabilidad principal de la unidad de control es hacer que se produzca una secuencia de operaciones elementales, llamadas microoperaciones, durante el desarrollo de un ciclo de instruccin.

La funcin principal de la unidad de control de la CPU es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecucin de una instruccin, y hacer esto con todas las instrucciones de que conste el programa.

Pgina 3

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

A raz de la interpretacin de las instrucciones que integran el programa esta unidad genera el conjunto de rdenes elementales necesarias para que se realice la tarea necesitada.

ELEMENTOS DE LA UNIDAD DE CONTROL

Para realizar su funcin, la unidad de control consta de los siguientes elementos: Contador de programa. Contiene permanentemente la direccin de memoria de la siguiente instruccin a ejecutar. Al iniciar la ejecucin de un programa toma la direccin de su primera instruccin. Incrementa su valor en uno, de forma automtica, cada vez que se concluye una instruccin, salvo si la instruccin que se est ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomar la direccin de la instruccin que se tenga que ejecutar a continuacin; esta direccin est en la propia instruccin en curso. Registro de instruccin. Contiene la instruccin que se est ejecutando en cada momento. Esta instruccin llevar consigo el cdigo de operacin (un cdigo que indica qu tipo de operacin se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que acta la instruccin, por ejemplo los nmeros a sumar) o las direcciones de memoria de estos operandos. Decodificador. Se encarga de extraer el cdigo de operacin de la instruccin en curso (que est en el registro de instruccin), lo analiza y emite las seales necesarias al resto de elementos para su ejecucin a travs del secuenciador. Reloj. Proporciona una sucesin de impulsos elctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instruccin. Secuenciador. En este dispositivo se generan rdenes muy elementales (micrordenes) que, sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a poco la instruccin que est cargada en el registro de instruccin.

Pgina 4

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

La unidad de control realiza dos tareas bsicas: Secuenciamiento. La unidad de control hace que el CPU avance a travs de una serie de micro operaciones en la secuencia oportuna, basada en el programa que se est ejecutando. Ejecucin. La unidad de control hace que se ejecute cada microoperacin. La clave de cmo funciona la unidad de control es mediante el uso de seales de control. Seales de control Las entradas son: Reloj. La unidad de control hace que se ejecute una microoperacin (o un conjunto) en cada pulso de reloj. Registro de instruccin. Determina que microoperacin se debe realizar. Indicadores. Usado para determinar el estado del CPU y el resultado de operaciones anteriores de la ALU. Seales de control del bus de control. Seales de control desde el bus del sistema. Las salidas son: Seales de control internas del CPU.- Para transferir datos de un registro a otro y para activar funciones especficas de la ALU. Seales de control hacia el bus de control.- Seales de control de la memoria y seales de control de los mdulos de E/S.

Pgina 5

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Los pasos para ejecutar una instruccin cualquiera son los siguientes:

1) Se extrae de la memoria principal la instruccin a ejecutar esa informacin es almacenada en el contador de instrucciones, la informacin que se almacena es la prxima instruccin a ejecutar en el registro de instruccin propiamente dicha. Este paso se llama ciclo de fetch en la literatura computacional (to fetch significa traer, ir por). 2) Una vez conocido el cdigo de la operacin la unidad de control ya sabe que circuitos de la ALU deben de intervenir pueden establecerse las conexiones elctricas necesarias a travs del secuenciador. 3) Extrae de la memoria principal los datos necesarios para ejecutar la instruccin en proceso. 4) Ordena la ALU que efecta las operaciones el resultado de este es depositado en el acumulador de la ALU. 5) Si la instruccin a proporcionado nuevos datos estos son almacenados en la memoria principal. 6) Incrementa en una unidad el contenido del contador de instrucciones a ejecutar.

Pgina 6

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

La unidad de control ejecutara varias veces este ciclo de a una enorme velocidad. Estas instrucciones no residen en memoria, ni fueron escritas por ningn programador, sino que la maquina las ejecuta directamente por medios electrnicos, y lo har mientras est funcionando (mientras este encendida) en una computadora es a razn de cientos de miles (o incluso millones) de veces por segundo.

II.

MICROOPERACIONES
A lo largo de la asignatura hemos visto que el funcionamiento de un computador, cuando se ejecuta un programa, consiste en una secuencia de ciclos de instruccin, con una instruccin mquina por ciclo. Naturalmente, debemos recordar que esta secuencia de ciclos de instruccin no es necesariamente la misma que la secuencia escrita de instrucciones que constituye un programa, debido a la existencia de instrucciones de salto. A lo que nos referimos aqu es a la secuencia temporal de ejecucin de instrucciones. Hemos visto adems que cada ciclo de instruccin puede considerarse compuesto por carias unidades ms pequeas. Una subdivisin prctica es captacin, ciclo indirecto, ejecucin e interrupcin, si bien solo aparecen los ciclos de captacin y ejecucin. Para disear una unidad de control, no obstante, necesitamos desglosar ms esta descripcin. En realidad, veremos que casa uno de los ciclos ms pequeos implica una serie de pasos, cada uno de los cuales involucra ciertos registro del procesador. Nos referiremos a estos pasos como microoperaciones. El prefijo micro alude al hecho de que cada paso es muy sencillo y hace muy poco. La ejecucin de un programa consiste en la realizacin secuencial de instrucciones. Cada instruccin se ejecuta durante un ciclo de instruccin compuesto por subciclos ms cortos (captacin, indirecto, ejecucin, interrupcin). La ejecucin de cada subciclo incluye una o ms operaciones ms breves (microoperaciones)

Pgina 7

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Ejecucin de un Programa

Ciclo de Instruccin

Ciclo de Instruccin

...

Ciclo de Instruccin

Captacin

Indirecto

Ejecucin

Interrupcion

OP

OP

OP

OP

OP

OP

OP

OP

Las microoperaciones son las operaciones funcionales de un procesador. Usaremos un ejemplo gua para el diseo de la unidad de control. A. Ciclo de captacin Tiene lugar al principio de cada ciclo de instruccin y hace que una instruccin sea captada de la memoria. Para el fin de este estudio, suponemos la organizacin representada en la Figura A hay cuatro registros implicados: Registro de direccin de memoria (Memory Address Register, MAR) Conectado al bus de direcciones Especifica la direccin para una operacin de lectura/escritura Conectado al bus de datos Tiene los datos a escribir o los datos leidos en la ltima lectura Tiene la direccin de la siguiente instruccin a ser captada Tiene la ltima instruccin captada

Registro intermedio de memoria (Memory Buffer Register, MBR)

Contador de programa (Program Counter, PC) Registro de Instruccin (Instruction Register, IR)

Consideremos la secuencia de eventos del ciclo de captacin desde el punto de vista de su efecto sobre los registros del procesador. En la Figura A se muestra un ejemplo. Al

Pgina 8

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

comienzo del ciclo de captacin, la direccin de la siguiente instruccin a ejecutar est en el contador de programa (PC); en este caso, la direccin es 1100100.

Figura A. Secuencia de eventos del ciclo de captacin. El primer paso es llevar esa direccin al registro de direccin de memoria (MAR), ya que este es el nico registro conectado a las lneas de direccin del bus de sistema. El segundo paso es traer la instruccin. La direccin deseada 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 adems incrementar PC en I (Longitud de la instruccin) para que est preparado para la siguiente instruccin. Como estas dos acciones no se interfieren entre si, podemos hacerlas simultneamente para ahorrar tiempo. El tercer paso es transferir el contenido de MBR al registro de instruccin (IR). Esto librea MBR para su uso durante un posible ciclo indirecto. De este modo, el ciclo de captacin consta realmente de 3 pasos y cuatro microoperaciones. Cada microoperacin implica la transferencia de datos hacia dentro o hacia fuera de un registro. Con tal de que estas transferencias no se interfieren entre s, varias de ellas pueden tener lugar durante un paso, ahorrando tiempo. Simblicamente, podemos escribir esta secuencia de eventos como sigue:

Pgina 9

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Los agrupamientos de microoperaciones deben cumplir dos reglas: 1 Debe seguirse la secuencia correcta de eventos. As, (MAR (PC)) debe preceder a (MBR Memoria), ya que la operaciones de lectura de memoria hace uso de la direccin almacenada en MAR. 2 Debe evitarse conflictos: No se debe leer y escribir el mismo registro al mismo tiempo MBR <- (memoria) e IR <- (MBR) no deben de estar en el mismo ciclo Tambin: PC <- (PC) +1 es una suma: Usa la ALU Puede necesitar microoperaciones adicionales B. Ciclo indirecto Una vez que se capta una instruccin, el siguiente paso es captar los operandos fuente. Siguiendo con nuestro ejemplo, supongamos un formato de instruccin de una direccin, que permite direccionamiento directo e indirecto. Se incluyen las siguientes microoperaciones:

El campo de direccin en una instruccin se transfiere a MAR. Este se usa despus para captar la direccin del operando. Por ultimo, el campo de direccin de IR se actualiza con el contenido de MBR, de modo que contenga una direccin directa en lugar de una indirecta.

Pgina 10

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

IR tiene el mismo estado que si no se hubiera usado direccionamiento indirecto, y esta listo para el ciclo de ejecucin. De momento saltamos ese ciclo, para considerar el ciclo de interrupcin. C. Ciclo de interrupcin Cuando se realiza una ejecucin, se realiza una comprobacin para determinar si ha ocurrido alguna interrupcin habilitada. Si es as, tiene lugar un ciclo de interrupcin. La naturaleza de este ciclo vara mucho de una mquina a otra.

Aqu presentamos una secuencia muy simple de eventos:

En el primer paso, el contenido de PC se transfiere a MBR, de modo que pueda guardarse para el retorno de la interrupcin. Entonces, MAR se carga con la direccin en la cual va a guardarse el contenido de PC y PC e carga con la direccin de comienzo de la rutina de procesamiento de la interrupcin. D. Ciclo de ejecucin Los ciclos de captacin, indirecto y de interrupcin son sencillos y predecibles. Cada uno implica una secuencia pequea y fija de microoperaciones y, en todos los casos, se repiten las mismas microoperaciones para cada ejecucin de una instruccin. Esto no ocurre as en el ciclo de ejecucin. En una mquina con N cdigos de operacin diferentes, pueden ocurrir N secuencias diferentes de microoperaciones. Veamos algunos ejemplos:

Pgina 11

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

En un principio IR contiene la instruccin ADD. En el primer paso, la parte de direccin de IR se carga en MAR. Despus se lee la posicin de memoria referenciada. Por ultimo, la ALU suma los contenidos de RI y MBR. Consideremos otro ejemplo:

La nueva caracterstica introducida aqu es la actuacin condicional. PC se incrementa si (MBR) =0. Esta comprobacin y actuacin puede implementarse como una microoperaciones. Observe que esta microoperaciones puede ejecutarse durante la misma unidad de tiempo en la cual el valor actualizado de MBR se almacena en memoria. Por ultimo, examinemos una instruccin de llamada a subrutina. Como ejemplo, consideremos la instruccin <<saltar y guardar la direccion>> BSA X.

Pgina 12

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

La direccin que hay en PC al comienzo de la instruccin es la direccin de la siguiente instruccin secuencial. Esta se guarda en la direccin sealada por IR. Esta ltima direccin tambin se incrementa para obtener la direccin de la instruccin correspondiente al siguiente ciclo de instruccin. E. Ciclo de instruccin Para completar la descripcin, tenemos que unir las secuencias de microoperaciones, como se muestra en la Figura1.3. Suponemos que hay un nuevo registro de dos bits llamado cdigo de ciclo de instruccin (instruction cycle code, ICC). El ICC designa el estado del procesador en trminos de en que parte del ciclo se encuentra este: 00: Captacin 01: Indirecto 10: Ejecucin 11: Interrupcin

Al final de cada uno de los cuatro ciclos, el ICC se actualiza convenientemente. Ese ciclo indirecto siempre viene seguido de ciclo de ejecucin. El ciclo de interrupcin siempre es seguido por el ciclo de captacin (Ver Figura B). En el caso de los ciclos de ejecucin y de captacin, el siguiente ciclo depende del estado del sistema.

Pgina 13

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Figura B. Diagrama de flujo del ciclo de instruccin De este modo, el diagrama de flujo de la Figura B define la secuencia completa de microoperaciones, que dependen solo de la secuencia de instrucciones y del patrn de interpretaciones. Naturalmente, este es un ejemplo simplificado. El diagrama de flujo de un procesador real sera ms complejo. De todas formas, hemos llegado al punto de nuestra discusin en el que el funcionamiento del procesador se define como la ejecucin de una secuencia de microoperaciones.

III.

CONTROL DEL PROCESADOR


Requisitos funcionales Podemos definir los requisitos funcionales de la unidad de control como aquellas funciones que debe llevar a cabo. Una definicin de estos requisitos funcionales es la base del diseo e implementacin de una unidad de control.

Pgina 14

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Con la informacin a la mano, el siguiente proceso de tres pasos lleva a la caracterizacin de la unidad de control: 1. 2. 3. Definir los elementos bsicos del procesador. Describir las microoperaciones que ejecuta el procesador. Determinar las funciones que debe realizar la unidad de control para hacer que se ejecuten las microoperaciones. Los pasos 1 y 2 ya los conocemos. Recordando, los elementos funcionales bsicos del procesador son: ALU Registros Caminos de datos internos Caminos de datos externos Unidad de control Algunas consideraciones deberan convencerle de que esta lista est completa. La ALU es la esencia funcional del computador. Los registros se usan para almacenar datos internos del procesador. Algunos registros contienen informacin de estado necesario para gestionar el secuenciamiento de las instrucciones. Otros contiene datos que van hacia, o vienen desde, la ALU, la memoria y los mdulos de E/S. Los caminos de datos internos se usan para transferir datos entre los registros y entre estos a la ALU. Los caminos de datos externos unen los registros a la memoria y a los mdulos de E/S, a menudo por medio de un bus de sistema. La unidad de control hace que se produzcan operaciones dentro del procesador. La ejecucin de un programa consta de operaciones que involucran estos elementos del procesador. Como hemos visto, estas operaciones consisten en una secuencia de microoperaciones. As tenemos los siguientes tipos de microoperaciones: Transferencia de datos entre registros Transferencia de datos de registro a una interfaz externa Transferencia de datos de una interfaz externa a registro Hacer operaciones aritmticas o lgicas Podemos ser ahora, algo mas explcitos acerca de la forma en que funciona la unidad de control. La unida de control realiza dos tareas bsicas:

Pgina 15

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Secuenciamiento: La unidad de control hace que el procesador avance a travs de una serie de microoperaciones en la secuencia oportuna, basada en el programa que se est ejecutando. Ejecucin: La unidad de control hace que se ejecute cada microoperacin. La clave de cmo funciona la unidad de control es la utilizacin de seales de control. Seales de control Para que la unidad de control realice su funcin, debe tener entradas que le permitan determinar el estado del sistema y salidas que le permitan controlar el comportamiento del mismo. La Figura C es un modelo general de la unidad de control, que muestra todas sus entradas y salidas. Las entradas son las siguientes: Reloj Una micro-instruccin (o conjunto de micro-instrucciones paralelas) por ciclo de reloj. Registro de instruccin Op-code (Cdigo de operacin) para la instruccin actual. Determina que microinstrucciones se ejecutan. Estado del CPU. Resultado de operaciones previas. Interrupciones Reconocimiento

Banderas (Flags)

Del bus de control

Pgina 16

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Figura C. Diagrama de bloques de la unidad de control Las salidas son las siguientes: Seales de control internas al procesador: son de dos tipos: las que hacen que los datos se transfieran de u registro a otro, y las que activan especificas de la ALU. Seales de control hacia el bus de control: tambin las hay de dos tipos: seales de control de la memoria, y seales de control de los mdulos de E/S. El nuevo elemento introducido en esta figura es el de seal de control. Se usan tres tipos de seales de control: las que activan una funcin de la ALU, las que activan un camino de datos, y las que son seales del bus del sistema binarias a puertas lgicas individuales. Consideremos el ciclo de captacin para entender como mantiene el control de la unidad de control. La unidad de control se mantiene al tanto de donde est dentro del ciclo de instruccin. En un punto determinado, sabe que inmediatamente despus se va a realizar un ciclo de captacin. El primer paso de transferir el contenido de PC a MAR. La unidad de control hace esto activando la seal de control que abre las puertas entre los bits de PC y los bits de MAR. El siguiente paso es leer una palabra desde memoria a MBR e incrementar PC. La unidad de control hace esto enviando las siguientes seales de control simultneamente: Una seal de control que abre las puertas que permiten que el contenido de MAR aparezca en el bus de direcciones.

Pgina 17

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Una seal de control de lectura de memoria, en el bus de control. Una seal de control que abre las puertas que permiten almacenar el contendido del bus de datos en MBR. Seales de control de la lgica I al contenido de PC y almacena el resultado de nuevo en PC. Despus de esto, la unidad de control enva una seal de control que abre las puertas adecuadas entre MBR e IR. Esto completa el ciclo de captacin exceptuando un detalle: la unidad de control debe decidir si ejecuta a continuacin un ciclo indirecto o un ciclo de ejecucin. Para decidir esto, examina IR viendo si se hace una referencia indirecta a memoria. Los ciclos indirecto y de interrupcin funcionan de un modo parecido. En el caso del ciclo de ejecucin, la unidad de control comienza examinando el cdigo de operacin y, en funcin de l decide qu secuencia de microoperaciones deben realizarse para ejecutar el ciclo. Un ejemplo de seales de control

Figura D. Caminos de datos y seales de control. La figura D ilustra el ejemplo. Se trata de un procesador sencillo con nico acumulador. Los caminos de control de las seales que proceden de la unidad de control no se muestran, pero las terminaciones de las seales de control estn designadas como C i y se indican mediante un crculo. La unidad de control recibe entradas de reloj, del

Pgina 18

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

registro de instruccin, y de los indicadores. En cada ciclo de reloj, la unidad de control lee todas sus entradas y emite un conjunto de seales de control. Las seales de control se van hacia tres destinos distintos: Camino de datos: la unidad de control dirige el flujo interno de datos. Por cada camino a controlar hay una puerta (indicada mediante crculo en la figura). Una seal de control de la unidad de control abre temporalmente la puerta para dejar pasar los datos. ALU: la unidad de control gobierna el funcionamiento de la ALU mediante un conjunto de seale de control. Estas seales activan diversos dispositivos y puertas dentro de la ALU. Bus del sistema: la unidad de control enva seales de control a las lneas de control del bus del sistema. La unidad de control debe conocer en todo momento donde esta dentro del ciclo de instruccin. Usando ese conocimiento, y leyendo todas las entradas, la unidad de control emite una serie de seales de control que hacen que se efecten las microoperaciones. La unidad de control usa los pulsos de reloj para temporizar la secuencia de eventos, dejando tiempo entre eventos para que los niveles de las seales se estabilicen. La tabla 1 Indica las seales de control necesarias para realizar algunas de las secuencias de microoperaciones descritas con anterioridad.

Microoperaciones

Temporizacin t1: MAR (PC)

Seales de control activas C2 C5 ,CR C4 C8 C5, CR

Captacin

t2: MBR Memoria PC (PC)+/ T3: IR (MBR)

Indirecto

t1: MAR (IR (Direccin)) t2: MBR Memoria

Pgina 19

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

t3:IR(Direccin)(MBR (Direccin)) t1: MBR (PC) Interrupcin t2: MAR Direccin de salvaguarda PC Direccin de la rutina t3: Memoria (MBR) CR= Seal de Control de lectura (read) hacia el bus del sistema. CW=Seal de control de escritura (write) hacia el bus del sistema.

C4 C1

C12, CW

Tabla 1. Microoperaciones y seales de control El carcter mnimo de la unidad de control merece ser considerado. La unidad de control es el motor que mueve todo el computador. Lo hace basndose solo en el conocimiento de las instrucciones que tiene que ejecutar y de la naturaleza de los resultados de las operaciones aritmticas y lgicas. Nunca llega a ver los datos que se procesan o los resultados reales producidos. Y controla todo con unas pocas seales de control que van a ciertos puntos dentro del procesador y unas pocas que van hacia el bus de sistema. Organizacin interna del procesador La figura D indica el uso de diversos caminos de datos. La complejidad de este tipo de organizacin debera estar clara. Usando un bus interno al procesador. La figura D. puede disponerse del modo que muestra la figura E. Un nico bus interno conecta la ALU y todos los registros del procesador. Hay puertas y seales de control encargadas de realizar transferencias de datos entre el bus y cada registro.

Pgina 20

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Figura E. Procesador con bus interno. Otras seales de control dirigen las transferencias de datos hacia y desde el bus (externo) del sistema y el funcionamiento de la ALU. Se han aadido dos nuevos registros rotulados como Y y Z, a la organizacin son necesarios para el correcto funcionamiento de la ALU. Cuando se realiza alguna operacin que incluye dos operandos, uno se puede obtener desde el bus interno, pero el otro a de obtenerse de otra fuente. El registro Y proporciona un almacenamiento temporal de la otra entrada. La ALU es un circuito combinacional sin almacenamiento interno. De este modo cuando las seales de control activan una funcin de la ALU, la

Pgina 21

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

entrada de esta se transforma en una salida. Debido a ello, la salida de la ALU no se puede conectar directamente al bus, ya que realimentara la entrada. El registro Z proporciona el almacenamiento temporal de salida. Con esta configuracin, una operacin de suma de un valor de la memoria al AC tendra los siguientes pasos:

Son posibles otras organizaciones, pero, en general se usa algn tipo de bus interno o conjunto de buses internos. El uso de camino de datos simplifica el trazado de las interconexiones y el control del procesador. Otra razn prctica para usar un bus interno es ahorrar espacio. El espacio ocupado entre registros tiene que minimizarse especialmente en los microprocesadores que solo puede ocupar uh trozo cuadrado de silicio de un cuarto de pulgada.

IV.

IMPLEMENTACION CABLEADA
Despus de estudiar la unidad de control en lo referente a entradas, salidas y funciones, ahora es el momento de volver al tema de la implementacin de la unidad de control. Se ha usado una gran variedad de tcnicas. La mayora de ellas se pueden clasificar en dos categoras: Implementacion Cableada Implementacin Microprogramada

En una Implementacin Microprogramada, la Lgica de la UC se especifica mediante un microprograma. El cual consiste en una secuencia de instrucciones en un lenguaje de microprogramacin (instrucciones elementales que especifican microoperaciones).

Pgina 22

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

En una Implementacin Cableada, la unidad de control es esencialmente un circuito combinacional. Sus seales lgicas de entrada se transforman en un conjunto de seales lgicas de salida, que son las seales de control. Este enfoque se examina en este trabajo. ENTRADAS DE LA UNIDAD DE CONTROL

La figura C representa la unidad de control como la hemos estudiado hasta aqu. Las entradas principales son el registro de instruccin, reloj, los indicadores y las seales de control de bus. En el caso de los indicadores y de las seales de control del bus, cada bit tiene normalmente un significado determinado (por ejemplo, desbordamiento). Las otras dos entradas, sin embargo, no son tiles a la unidad de control tal como entran. Consideremos en primer lugar el registro de instruccin. La unidad de control hace uso del cdigo de operacin y realiza acciones diferentes (emite una combinacin diferente de seales de control) para cada instruccin. Para simplificar la lgica de la unidad de control, debera existir una entrada lgica nica para cada cdigo de operacin. Esta funcin la puede realizar un decodificador, que toma una entrada codificada y produce una salida nica. En general, un decodificador tendr n entradas binarias y 2n salidas binarias. Cada uno de los 2n patrones de entrada distintos activar una nica salida. La tabla 2 es un ejemplo. El decodificador de una unidad de control normalmente tendr que ser ms complejo que es de la tabla, para representar cdigos de operacin de longitud variable. I1 I2 I3 I4 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Pgina 23

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

1 1 1 0 1 1 1 0 1 1 1 1

0 0 1

0 1 0

1 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

Tabla 2. Un decodificador con 4 entradas y diecisis salidas El reloj de la unidad de control emite una secuencia repetitiva de pulsos. Esto es til para delimitar la duracin de los microoperaciones. Esencialmente, el periodo de los pulsos de reloj ha de ser suficientemente largo para permitir la propagacin de las seales a lo largo de la circuitera del procesador. Sin embargo, como hemos visto. La unidad de control emite seales de control diferentes en unidades de tiempo diferentes dentro de un nico ciclo de instruccin. Por tanto, podramos tener un contador como entrada a la unidad de control, con una seal de control diferente de T1, T2, etc. Al final e un ciclo de instruccin, la unidad de control deber realimentar el contador para reiniciarlo a T1. Con estos dos refinamientos, la unidad de control se puede representar como en la figura F.

Figura F. Unidad de control con entradas decodificadas

LOGICA DE LA UNIDAD DE CONTROL

Pgina 24

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

Para definir la implementacin cableada de una unidad de control, todo lo que queda es estudiar su lgica interna, que produce seales de control de salida a partir de las seales de entrada. Bsicamente, lo que tenemos que hacer es, para cada seal de control, obtener su expresin booleana como una funcin de las entradas. Esto se explica mejor con un ejemplo. Consideremos otra vez nuestro ejemplo sencillo ilustrado en la figura D. Veamos en la tabla 1 las secuencias de microoperaciones de seales de control necesarias para controlar tres de las cuatro fases del ciclo de instruccin. Consideremos una nica seal de control, C5. Esta seal hace que se lean datos del bus de datos externo en MBR. Podemos ver que se usa dos veces en la tabla 1. Definamos dos nuevas seales de control, P y Q, que tengan la siguiente interpretacin:

La siguiente expresin booleana define a C5:

Es decir, la seal de control C5 se pondr a uno durante la segunda unidad de tiempo de los ciclos de captacin e indirecto. Esta expresin no esta completa. C5 se necesita tambin durante el ciclo de ejecucin. Para nuestro sencillo ejemplo, supongamos que hay solo tres instrucciones que leen de la memoria: LDA, ADD, AND. Ahora podemos definir como ( )

Este mismo proceso podra repetirse para cada seal de control generada por el procesador. El resultado sera un conjunto de ecuaciones booleanas que definira el comportamiento de la unidad de control y por tanto del procesador. Juntando todo, la unidad de control debe controlar el estado del ciclo de instruccin. Como se mencion, al final de cada subciclo (captacin, indirecto, ejecucin, interrupcin), la unidad de

Pgina 25

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

control emite una seal que hace que el generador de temporizacin se reinicie y emita T 1. Adems, la unidad de control ha de establecer los valores adecuados de P Y Q para definir el siguiente subciclo a ejecutar.

Problemas con la Implementacin cableada


El secuenciamiento y la lgica de microoperaciones es compleja Difcil de disear y probar Diseo inflexible Difcil aadir nuevas instrucciones

CONCLUSION

Aprender las bases principales del diseo de la unidad de control llevar a una mejor comprensin de los lenguajes de programacin, segmentacin, computadoras de procesadores paralelos,

microcontroladores, etc. Adems, poder disear una unidad de control, nos conduce a conocer y comprender uno de los secretos de la electrnica ms enigmticos. Todas estas preguntas como Cmo se procesa la informacin? Cmo es posible que una computadora me pueda desplegar imgenes, videos, texto, etc.? Son el enigma de las computadoras y los estudiantes de una ingeniera relacionada con la computacin deben de conocer, al menos de manera superficial, con las respuestas.

BIBLIOGRAFIA

http:/atc2.aut.uah.es/~juani/documentos/capitulo4.pdf http:/studies.ac.upc.edu/EUPVG/ARCO_T/.../UCmicrop.pdf http:/iteso.mx/~jluis/acpdf/oto-04/08-La-unidad-de-control.PDF

Pgina 26

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL

http:/156.35.172.16/CDITI/congresos/web_cuieet6/congreso/.../a52.doc http://es.wikipedia.org/wiki/Unidad_de_control
http://wwwdi.ujaen.es/asignaturas/fundTopo/TEMA9.pdf

Pgina 27