Unidad de Control
Unidad de Control
Unidad de Control
1. FUNCIÓN
En un principio eran unidades cableadas, es decir, todas las conexiones que se necesitaban
hacer entre los componentes de la UCP se hacían con cables físicos para cada operación dentro de
la ejecución de una instrucción. Luego, las UDC fueron micro-programadas en donde la ejecución de
cada instrucción consistía en que la UDC internamente ejecutaba un conjunto secuenciado de tareas
que se llamaron micro-instrucciones. A este conjunto de micro-instrucciones se lo denominó micro-
programa. Cada micro-instrucción ocupaba un ciclo de reloj. Hoy en día, en los procesadores Intel,
cada instrucción es analizada y particionada separando las instrucciones u operaciones de sus datos
u operandos, alojándolos en espacios de memoria separados y permitiendo así la paralelización de
la ejecución de múltiples instrucciones en un solo núcleo, al mismo tiempo.
Las instrucciones tienen un formato que en general es común para todas las plataformas
computacionales. Este formato consiste en un primer paquete de bits que define la operación que
se quiere realizar y luego una serie de paquetes de bits que aportan la información necesaria y
complementaria para poder completar la operación.
Como las operaciones están representadas por códigos binarios, se suele llamar a la operación
Código de Operación (OpCode o COP) y a las piezas de información restantes Objetos (Objects).
Como ejemplo, en nuestro procesador de estudio, la instrucción MOV AX,1A3F posee un byte
para el COP y dos bytes para los operandos. Esta instrucción, en binario (hexadecimal) es B 8 3 F 1 4 h,
La UDC (o CU) ejecutará instrucciones siguiendo un ciclo repetitivo al que llamaremos Ciclo de
Instrucción. Este no es el único ciclo que sigue la UDC, al finalizar cada ciclo de instrucción, dadas
ciertas condiciones lógicas, la UDC podrá iniciar un Ciclo de Interrupción que veremos más
adelante. Por ahora, nos limitaremos al ciclo de instrucción.
Podemos ver en la figura que si la operación no necesita operandos, el ciclo seguirá por el
curso en “rojo”. En cambio si los tiene, por el “verde”.
La UCP posee un registro interno que se llama Program Counter o Contador de Programa
(PC) que apunta a la posición de MP de la próxima instrucción a ejecutar. Este registro es parte de la
arquitectura del procesador (puede leerse y modificarse). Este registro es operado en forma
autónoma por la UDC y tiene diferentes comportamientos. En modo “Normal” o “Habitual”, la UDC
incrementa en 1 su valor para leer las sucesivas posiciones de MP en ejecución de cada instrucción.
Si la instrucción es un cambio a otra posición de MP que no es la próxima, el PC trabajará en modo
“Salto” y será alterado o cargado con el valor de la posición de MP en donde continúa el programa
en curso. Si el COP indica que el objeto es la dirección de MP donde reside el dato propiamente
dicho, el PC se comporta en modo “Indirección” y momentáneamente resuelve y carga la dirección
del operando, lo accede y luego vuelve al funcionamiento “normal”.
Ejecución (EX)
Una vez finalizado la etapa de Ejecución, se retornará a la etapa de Búsqueda del COP de la
instrucción siguiente.
Nótese que el grupo “Transferencia de programa” junto con el de “Control del procesador” son
las más numerosas e importantes ya que es la función principal de la UCP.
Si bien no hay una definición concreta del término “Palabra” (o Word) de un procesador,
podemos decir que una “palabra” en un conjunto de bits que son una la unidad de medida normal a
ser almacenada, procesada o transmitida por el procesador. Siempre su longitud será un múltiplo de
2 y en el mejor de los casos múltiplos de 8 (1 byte). En el caso de nuestro Intel 8086/8088, la palabra
mide 1 byte.
6. CAPACIDAD DE DIRECCIONAMIENTO
Cada dirección de acceso estará compuesta por “n” cantidad de bits, con lo cual la capacidad
de direccionamiento para “n” bits es 2n.
Como podemos apreciar en la figura, vemos el “pin out” del 8086 (o listado de contactos, pines,
o patitas) y marcadas con rojo, los contactos pertenecientes al bus de direcciones.
El bus es de 20 bits (A0…A19), marcado con letras rojas en el gráfico, es capaz de direccionar
220 posiciones de memoria = 1 Mega direcciones (desde la 00000h hasta la FFFFFh). Como la
palabra del 8086 es de 1 byte, puede colocarse como máximo una memoria de 1 Megabyte, 1 Mega
direcciones de 1 byte cada una.
Para el caso del acceso a unidades de entrada/salida, de estos 20 bits solo se utilizarán los
primeros 16 bits (A0…A15) brindando una capacidad de direccionamiento de puertos de E/S de 216 =
64 Kilo direcciones o 65.536 direcciones (desde la 0000h hasta la FFFFh).
Los registros del Intel 8086/8088 que intervienen en el proceso de direccionamiento son los
siguientes, todos de 16 bits:
La instrucción posee solo el COP, no tiene operandos. Los datos necesarios para la ejecución
completa de la instrucción están contenidos en el COP.
El Intel 8086 utiliza este modo y ocupan 1 byte solamente. Un ejemplo de ello son las
siguientes instrucciones:
El Intel 8086 utiliza este modo y ocupan 2 o más bytes. Un ejemplo de ello son las siguientes
instrucciones:
El Intel 8086 utiliza este modo y ocupan 2 o más bytes. Un ejemplo de ello es la siguiente
instrucción:
El Intel 8086 utiliza este modo y ocupan 2 o más bytes. Un ejemplo de ello es la siguiente
instrucción:
El Intel 8086 utiliza este modo y ocupan 2 o más bytes. Un ejemplo de ello es la siguiente
instrucción: