UNIDAD ARITMÉTICO LÓGICA (ALU)





Esta es la unidad de la lógica aritmética de la CPU. El acumulador se puede aumentar y disminuir. Además, el acumulador puede ser comparado con uno de los registros o un valor literal en el código del programa.
Una instrucción se compone de un código de cuatro bits de instrucciones y opcional de cuatro bits de datos del programa. Estos datos del programa se pueden cargar en el acumulador o puede ser comparado con el acumulador. Los datos no se puede escribir de nuevo a la memoria del programa en tiempo de ejecución.


Imagen creada en Circuit Maker

EL ACUMULADOR

El acumulador es un 74LS193 que es un poco cuatro, arriba-abajo del contador que se puede cargar con datos. Todos los datos cargados en la memoria del programa o de la entrada pasa por el primer acumulador. Además, los cuatro registros son leídos y escritos por el acumulador. Cuando el acumulador se carga, la fuente de datos está habilitada en el bus de datos (que son todos los dispositivos de tres estados) durante tres ciclos de reloj. El acumulador se carga en el segundo (medio) del ciclo de reloj. Esto se hace para garantizar los insumos en el 74LS193 son estables cuando se cargan los datos.

Las ALU (Arithmetic Logic Units), o unidades de lógica y aritmética, son dispositivos muy versátiles que pueden programarse para llevar a cabo una gran variedad de operaciones aritméticas y lógicas entre dos palabras binarias. En la figura Nº 5 se muestra e! diagrama de pines de 74LS181, una ALU de 4 bits en tecnología TTL. Como se observa de la figura, el positivo consta de dos grupo líneas de entrada A3A2A1A0
y B3B2B1B0, un grupo líneas neas de salida F3F2F1F0, un grupo de líneas selectoras de función S3S2S1S0 una línea selectora de modo M, una entrada de acarreo previo Cn. una salida de acarreo resultante Cn+4, una salida de comparación A=B y dos salidas de expansión P,G.

Programando adecuadamente las líneas de selección, S3S2S1Sy la de modo M junto con la de acarreo previo, Cn, IaALU puede ejecutar 16 operaciones lógicas y 32 operaciones aritméticas diferentes con los datos A=A3A2A1A B=B3B2B1B0. Estas operaciones, con sus respectivos códigos de selección, se relaciona en la tabla de la figura Nº 6. Se asume que tanto las entradas como las salidas son activas en alto.
Para programar el dispositivo como generador de funciones lógicas, la entrada se- lectora de modo, M, debe estar a nivel alto. La operación lógica deseada se programa mediante un código de 4 bits de la forma S3S2SISO aplicado a las entradas selectoras de función. El estado de la entrada de acarreo Cn es indiferente por lo cual puede fijarse en cualquier nivel.

Por ejemplo, para realizar la operación lógica A XOR B A= 1011 y B=000l, la línea M debe estar en 1 lógico y en las líneas S3S2S1S0 debe aplicarse el código 0110.
Cada bit de la palabra de salida F = F3F2F1F0 es el resultado de la operación XOR de cada bit de la palabra A con el correspondiente bit de la palabra B. Es decir, P3 =A3 XOR B3, F2 = A2 XOR B2 y así sucesivamente. Por tanto, F = 1010.

Para programar la ALU como generadora de funciones aritméticas, la línea M debe llevarse a nivel bajo con el fin de habilitar los acarreos internos. La suma de A y B, por ejemplo, se realiza cuando el código de las entradas de se lección es 1001. La entrada de acarreo Cn es activa en bajo.
Si la suma produce un acarreo de salida igual a 1, esté también será activo en bajo. La ALU utiliza un sistema interno de generación de acarreos conocido como carry look ahead (acarreo en adelanto), que no requiere que la suma sea calculada en su totalidad antes de establecer la naturaleza del acarreo resultante.

Configuración de pines de una ALU 74LS181
 
Tabla de las funciones del 74LS181

COMPARANDO EL ACUMULADOR Y LAS BANDERAS

El acumulador puede ser comparado con un valor literal en la memoria del programa o registrar un dominio. Cuando un valor literal es en comparación, la memoria de programa de datos (2114) se activa en el bus de datos durante tres ciclos de reloj, mientras que las banderas del cierre se fija. Del mismo modo, para comparar el acumulador a un registro, el registro se activa en el bus de datos durante tres ciclos de reloj, mientras que las banderas del cierre se fija.

Un 74LS85, un comparador de cuatro pedacitos magnitud se utiliza para hacer la comparación. Tiene tres salidas, menor, igual y mayor que. Esto nos da tres banderas. La salida del 74LS85 está trabado en un 74LS175 pestillo cuando una instrucción CMPL o CMPR se ejecuta. Un grupo de Y y O las puertas se utilizan para ejecutar un salto cuando una bandera dada existe. La salida LTCH SEG de la última puerta O se carga el segmento de dirección de programa de cierre con el contenido del acumulador cuando se va de alta. El JMPL, JMPE y conexiones JMPG a las puertas del pabellón para determinar qué buscar un salto. Si el indicador está establecido, el segement registro se carga causando la ejecución del programa para saltar a otro segmento de programa.

CONEXIONES CON OTROS ESQUEMAS

Aquí está un listado de las conexiones a otros esquemas.

RESET
Activo alta restablecimiento.
/ RESET
Activo baja restablecimiento.
INS0 hasta INS3
Instrucción código de la memoria del programa.
LTCHFLAG
Active la señal de alto para trabar las banderas en el registro de banderas.
/ WR
Active la señal baja a escribir el acumulador a un registro.
LTCH REG
Active la señal de alto para el cierre del registro de dirección en el registro de dirección del cierre.
/ DEC del CAC
Señal activa baja para disminuir el acumulador.
/ INC CAC
Activos de baja señal para incrementar el acumulador.
/ LD CAC
Señal activa baja para cargar el acumulador.
INC PC
Active la señal de alto para incrementar el contador de programa.
LTCH INS
Active la señal de alto para el cierre de la instrucción de programa en la instrucción del cierre.
/ E INPUT
Active la señal de baja para permitir que las líneas de entrada en el bus de datos.
/ E INS DATA
Active la señal de baja para que los datos del programa en el bus de datos.
/ RD
Active la señal de baja para que el registro seleccionado en el bus de datos.
OUT LTCH
Active la señal de alto para trabar el acumulador a la salida de cierre.
/ RESTART
Señal activa baja para restablecer el contador de programa.
JMPG
Active la señal de alto para trabar el segmento de registro cuando el mayor indicador se establece.
JMPE
Active la señal de alto para trabar el segmento de registro cuando la bandera de la igualdad se establece.
JMPL
Active la señal de alto para trabar el segmento de registro cuando el menor indicador se establece.