La Unidad Procesadora. En un sistema digital complejo, la capa de hardware de la máquina es el nivel más bajo del modelo de capas de un sistema microcomputarizado. La unidad procesadora es una parte del nivel de hardware y consiste de una Unidad Aritmética Lógica y un grupo de registros de propósito general o específico. La unidad procesadora es el hardware final en donde se ejecutan las instrucciones de la máquina. Para poder ejecutar una instrucción de máquina la unidad procesadora debe ser controlada por el hardware de la Unidad de Control. La función de la Unidad de Control es generar las señales de control para que los datos viajen por la Unidad Procesadora de forma de realizar las instrucciones de programa en lenguaje de máquina. Lenguaje de máquina no es lo mismo que lenguaje ensamblador.
Esquema de Unidad Procesadora Típica
Componentes de la Unidad Procesadora. Los Registros R0, R1, R2, R3 sirven para almacenamiento de datos y se interconectan para realizar operaciones de transferencia directa o para realizar diversas microoperaciones. Cada registro está conectado a dos conjuntos de multiplexores cuya salida forman los buses A y B. Las entradas de control en cada conjunto de multiplexores seleccionan un registro para el bus correspondiente. Los buses A y B se aplican a las entradas de la ALU y son los operandos de las instrucciones de ALU. Las entradas de control de la ALU determinan la operación en particular que se efectuará con los operandos de entrada a ella. El resultado de operación de ALU es la entrada a la unidad de corrimiento. Los datos de salida de la ALU se pueden correr a la derecha o a la izquierda, o pueden pasar por la unidad de corrimiento sin cambio, dependiendo de las entradas de control de la unidad de corrimiento. El resultado de la operación de corrimiento se coloca en el bus de salida que a su vez se conecta a las entradas de todos los registros. El registro destino que recibe el resultado del bus de salida es seleccionado por un decodificador. El decodificador activa una entrada de carga de registros para producir la trayectoria de transferencia entre los datos del bus de salida y el registro destino. El bus de salida tiene otras terminales para transferir datos de la unidad procesadora a un dispositivo externo. Los casos del exterior pueden entrar a la unidad procesadora a través de las terminales de datos de entrada en uno de los multiplexores.
Unidad de Control La unidad de control que supervisa el funcionamiento de la trayectoria de datos del procesador debe dirigir el flujo de información a través de los buses, la ALU y la unidad de corrimiento seleccionando las diversas componentes de la unidad. Ejemplo de realización de una operación. R1 R2 + R3 La unidad de control debe proporcionar variables de selección binaria a las siguientes entradas de selección: Líneas de control MUX A: Para colocar el contenido de R2 en el bus A. Líneas de control MUX B: Para colocar el contenido de R3 en el bus B. Líneas de control ALU: Para generar la operación aritmética A + B. Líneas de control Unidad de Corrimiento: Para generar una transferencia directa de la salida de la ALU al bus de salida (no hay corrimiento). Selector del destino del decodificador: Para cargar el contenido del bus de salida en R1. Los cinco conjuntos de variables de selección deben generarse en forma simultánea y deben estar disponibles en las terminales los correspondientes dispositivos al inicio de un periodo de pulsos de reloj. Los datos binarios de los dos registros fuente deben propagarse a través de los multiplexores, la ALU, la unidad de corrimiento y a las entradas del registro destino, todo durante un periodo de pulsos del reloj. Después, cuando llega la siguiente transición de borde del reloj, la información binaria en el bus de salida se carga en el registro destino. Para obtener un tiempo de respuesta rápido, la ALU se construye con circuitos de alta velocidad y la unidad de corrimiento con compuertas combinacionales.
Unidad de aritmética y lógica (ALU). Una unidad de aritmética lógica (ALU) es un circuito combinacional que realiza un conjunto de operaciones aritméticas y lógicas básicas. La ALU tiene un número de líneas de selección que sirven para elegir una operación determinada en la unidad. Las líneas de selección se decodifican dentro de la ALU de manera que k variables de selección puedan especificar hasta 2 k operaciones distintas. El funcionamiento de una ALU típica de 4 bits supone que las cuatro entradas de datos de A se combinan con las cuatro entradas de datos de B para generar un resultado producto de una operación. Las funciones de la ALU según sus entradas de control se muestran en la siguiente tabla: Tabla de funciones de la ALU Entradas de Selección Operación Nombre de la Operación S 2 S 1 S 0 C in 0 0 0 0 F = A Transferencia de A 0 0 0 1 F = A+1 Incremento de A 0 0 1 0 F = A+B Adición 0 0 1 1 F = A+B+1 Adición con acarreo 0 1 0 0 F = A+[B] 2-1 A + comp a (2-1) de B 0 1 0 1 F = A+[B] 2-1 +1 Sustracción 0 1 1 0 F = A-1 Decremento de A 0 1 1 1 F = A Transferencia de A 1 0 0 0 F = A and B And lógico bit a bit 1 0 0 1 F = A or B Or lógico bit a bit 1 0 1 0 F = A xor B Xor lógico bit a bit 1 0 1 1 F = comp(a) = [A] 2-1 Complemento de A Una ALU típicamente cuenta con bits de estado o bits de condición, que después de una operación de la ALU, y que nos dan información acerca del resultado de la operación de la ALU (C, V, Z, S) Si el bit V es uno (V=1) indica resultado aritmético incorrecto. El bit C = 1 indica rebalse lógico(acarreo después de la suma o préstamo después de la sustracción). El bit de estado Z es a 1 si la salida de la ALU contiene sólo ceros y se pone en 0 en caso contrario. Por lo tanto, Z = 1 si el resultado de una operación es cero y Z = 0 si el resultado es distinto de cero. El bit de estado S o bit de signo tiene el valor del bit del signo del resultado. El bit del signo es siempre el último bit a la izquierda de la ALU.
Unidad desplazadora. A la salida de la unidad aritmética lógica se ubica una unidad desplazadora que dependiendo de las entradas de control realiza las operaciones según la siguiente tabla. Tabla de funciones de unidad desplazadora. Entradas de Control Operación Función H 1 H 0 0 0 S = F Transferencia de F a S (No hay desplazamiento) 0 1 S = shl(f) Desplazamiento a la izquierda 1 0 S = shr(f) Desplazamiento a la derecha 1 1 S = 0 Transferencia de ceros a S Unidad decodificadora. La unidad decodificadora tiene como entradas de control D 1 y D 0 y dependiendo de sus valores se carga la salida de la unidad de desplazamiento en los registros R0, R1, R2 y R3, según la siguiente tabla. Entradas de Control Registros a Cargar D 1 D 0 0 0 R0 0 1 R1 1 0 R2 1 1 R3
Palabra de control de la Unidad Procesadora. Palabra de control: Conformada por 16 líneas de control de los subsistemas que conforman la Unidad Procesadora. Esta palabra de control está conformada por 5 campos
Las funciones de todas las variables de selección se especifican en la siguiente tabla La ejecución de una microoperación específica implica determinados valores binarios en la palabra de control. Palabra de Control para microoperación R1 R2 R3 Campo A B D F H Símbolo R2 R3 R1 F=A-B No hay Corrimiento Palabra de Control 010 011 001 0101 000 Campos de palabra de Control para diversas microoperaciones: