Unidad lógica aritmética

La unidad lógica aritmética ( ALU ; en inglés  aritmetic logic unit, ALU ) es una unidad procesadora que, bajo el control del dispositivo de control, sirve para realizar transformaciones aritméticas y lógicas (a partir de las elementales ) sobre los datos, llamados en este caso operandos . El valor de bits de los operandos generalmente se denomina tamaño o longitud de la palabra de la máquina .

El concepto de unidad aritmética lógica fue propuesto en 1945 por John von Neumann en una publicación sobre EDVAC ; se convirtió en uno de los componentes de la ahora clásica arquitectura informática de von Neumann .

Organización y principios de funcionamiento

La ALU binaria binaria (dos operandos) de un bit con una salida binaria (dos dígitos) puede realizar hasta funciones (operaciones) binarias binarias (dos operandos) con una salida binaria (dos dígitos).

La unidad aritmético-lógica, dependiendo del desempeño de las funciones, se puede dividir en dos partes:

La estructura de la unidad lógica aritmética incluye condicionalmente registros Rg1 - Rg7, que sirven para procesar información proveniente de la memoria operativa o pasiva N1, N2, ... NS y circuitos lógicos que se utilizan para procesar palabras de acuerdo con microinstrucciones provenientes del control. dispositivo.

Hay dos tipos de microcomandos: externos: los microcomandos que ingresan a la ALU desde fuentes externas y provocan la transformación de la información en ella, e internos: los que se generan en la ALU y afectan el dispositivo de microprograma, cambiando así la secuencia normal de comandos.

Funciones típicas de los registros incluidos en la unidad aritmética lógica:

Parte de los registros operacionales se pueden abordar en la instrucción para realizar operaciones sobre sus contenidos, y se denominan accesibles por programa. Estos registros incluyen: sumadores, registros de índice y algunos registros auxiliares. Los registros restantes no se pueden direccionar en el programa, es decir, son inaccesibles para el programa.

Los dispositivos operativos se pueden clasificar según el tipo de información procesada, la forma en que se procesa y la estructura lógica.

Una estructura lógica tan compleja de la ALU puede caracterizarse por la cantidad de microoperaciones que difieren entre sí, que son necesarias para completar todo el complejo de tareas asignadas a la unidad lógica aritmética. A la entrada de cada registro, se ensamblan los circuitos lógicos correspondientes, proporcionando tales conexiones entre los registros, lo que hace posible implementar las microoperaciones especificadas. Realizar operaciones sobre palabras se reduce a realizar ciertas microoperaciones que controlan la transferencia de palabras a la ALU y acciones para transformar palabras. El orden de ejecución de los microcomandos está determinado por el algoritmo para realizar operaciones. Es decir, las conexiones entre los registros ALU y sus funciones dependen principalmente de la metodología aceptada para realizar operaciones lógicas, incluidas las aritméticas o aritméticas especiales.

Un ejemplo de operación ALU en operaciones de suma

Funcionalmente, la ALU consta de dos registros (Registro 1, Registro 2), un circuito de control y un sumador [1] . La operación aritmética se realiza en ciclos:

Un ejemplo de operación ALU en una operación de resta:

Operaciones

Todas las operaciones realizadas en la unidad lógica aritmética son operaciones lógicas (funciones), que se pueden dividir en los siguientes grupos:

Las computadoras modernas de uso general generalmente implementan operaciones de todos los grupos anteriores, y las computadoras pequeñas y microcomputadoras , los microprocesadores y las computadoras especializadas a menudo no tienen equipos para aritmética de punto flotante, aritmética decimal y operaciones en campos alfanuméricos. En este caso, estas operaciones son realizadas por subrutinas especiales.

Las operaciones aritméticas incluyen suma , resta , resta de módulo ("operaciones cortas") y multiplicación y división ("operaciones largas"). El grupo de operaciones lógicas consiste en operaciones de disyunción (OR lógico) y conjunción (AND lógico) sobre palabras binarias multibit, comparación de códigos por igualdad. Las operaciones aritméticas especiales incluyen normalización, desplazamiento aritmético (solo se desplazan los bits digitales, el bit de signo permanece en su lugar), desplazamiento lógico (el bit de signo se desplaza junto con los bits digitales). El grupo de operaciones para editar información alfanumérica es extenso. Cada operación en una ALU es una función lógica o secuencia de funciones lógicas descritas por lógica binaria para computadoras binarias, lógica ternaria para computadoras ternarias , lógica cuaternaria para computadoras cuaternarias, lógica decimal para computadoras decimales, etc.

Clasificación

Las unidades aritméticas lógicas se dividen en seriales y paralelas según la forma en que actúan sobre los operandos. En los dispositivos seriales, los operandos se representan en código serial y las operaciones se realizan secuencialmente en el tiempo en sus bits individuales; en paralelo - por un código paralelo y las operaciones se realizan en paralelo en el tiempo sobre todos los bits de los operandos.

Según la forma en que se representan los números, se distinguen los dispositivos aritmético-lógicos:

Por la naturaleza del uso de elementos y nodos, las ALU se dividen en bloques y multifuncionales. En un dispositivo de bloque, las operaciones sobre números fijos y de punto flotante, números decimales y campos alfanuméricos se realizan en bloques separados, aumentando la velocidad de operación, ya que los bloques pueden realizar las operaciones correspondientes en paralelo, pero los costos del equipo aumentan significativamente. En las ALU multifuncionales, las operaciones para todas las formas de representación numérica se realizan mediante los mismos circuitos, que se conmutan de la manera correcta según el modo de operación requerido.

En cuanto a sus funciones, una unidad aritmética lógica es una unidad operativa que realiza microoperaciones que aseguran la recepción de operandos de otros dispositivos (por ejemplo, memoria), su transformación y la emisión de resultados de transformación a otros dispositivos. La unidad aritmético-lógica está controlada por una unidad de control que genera señales de control que inician la ejecución de ciertas microoperaciones en la ALU. La secuencia de señales generadas por el bloque de control está determinada por el código de operación de comando y las señales de alerta.

Notas

  1. Makarova N. V. Informática: libro de texto. - M. : Finanzas y estadísticas, 2006. - 768 p. — ISBN 978-5-279-02202-1 .

Literatura