1. Operaciones aritméticas
1. Suma los operandos A y B y obtiene su suma en y.
2. Suma con acarreo: Suma los operandos A, B y acarreo para obtener su suma en y.
3. Resta: resta los operandos A y B para obtener la diferencia en Y. Para esta función, el arrastre es en realidad un indicador "prestado". Esta operación también se puede utilizar para comparar los tamaños de A y B; en este caso, el procesador puede ignorar la salida Y, que solo está interesado en los bits de estado producidos por la operación (especialmente ceros y negativos).
4. Hay préstamo y resta: el préstamo (llevar) resta B de A (o viceversa), y la diferencia aparece en Y y se arrastra (toma prestada).
5. Complemento a dos (inverso): obtenga el inverso de A o B (A menos 0 o B menos 0) y obtenga el resultado del cálculo en y.
6. Suma 1: Suma 1 a A (o B) y obtén el resultado del cálculo en y.
7. Resta 1: Resta 1 de A (o B) para obtener el resultado del cálculo en y.
8. Pasar: mantener todos los bits de A (o B) sin cambios y obtener el número de entrada original en Y. Esta operación se usa a menudo para verificar la paridad del operando y determinar si es 0; . Ya sea negativo o cargando el operando directamente en un registro.
Segundo, operaciones lógicas bit a bit
1. Y: A y B son AND bit a bit, y el resultado del cálculo se obtiene en y.
2. O: O A y B bit a bit, y obtenga el resultado del cálculo en y.
3. ?XOR: XOR A y B poco a poco, y obtiene el resultado del cálculo en y.
4. Complemento: niega cada bit de A (o B) para obtener el resultado del cálculo en y.
3. Operación de cambio
Bajo diferentes códigos de operación, la operación de cambio de ALU puede desplazar el operando A (o B) hacia la izquierda o hacia la derecha, y el resultado del cambio aparecerá en y, Por lo general, una ALU simple solo puede desplazar el operando en un bit, mientras que una ALU más compleja utiliza un desplazador de barril, que puede desplazar cualquier número de bits en una sola operación.
En una operación de desplazamiento, los bits desplazados fuera del operando se transfieren a la salida de acarreo. El número de bits movidos al operando depende del tipo de desplazamiento, por ejemplo:
1. Desplazamiento aritmético: el operando se considera un entero en complemento a dos y su bit más significativo es el bit de signo. Cuando el cambio se mantendrá.
2. Desplazamiento lógico: al desplazarse, el operando se complementa con un 0 lógico, que es adecuado para enteros sin signo.
3. Desplazamiento circular: en este momento, el operando se considera un búfer circular, por lo que su bit más bajo y su bit más alto son adyacentes durante el desplazamiento.
4. ? Desplazamiento circular (con acarreo): La entrada de acarreo (c) y el operando se consideran un desplazamiento circular de todo el operando.
Una unidad lógica aritmética (ALU) es un circuito digital lógico combinacional que puede realizar operaciones aritméticas u operaciones de bits sobre números enteros binarios.
Datos extendidos:
Características
La ALU se utiliza para realizar operaciones aritméticas y lógicas en el conjunto de instrucciones de la computadora, en algunos procesadores, la ALU se divide en; dos partes, a saber, unidad aritmética (AU) y unidad lógica (LU). Algunos procesadores contienen múltiples AU, por ejemplo, una para operaciones de punto fijo y otra para operaciones de punto flotante. En las computadoras personales, las operaciones de punto flotante a veces las realiza una unidad de punto flotante llamada coprocesador digital.
En términos generales, la ALU puede acceder directamente al controlador del procesador, a la memoria y a los dispositivos de entrada y salida. La entrada y salida se realizan a través del bus. Una instrucción de entrada consta de una palabra de instrucción, a veces llamada palabra de instrucción de máquina, que incluye un código de operación, operandos únicos o múltiples y, a veces, un código de formato que indica a la máquina ALU qué operación realizar y cuántas operaciones realizar en esa; número de operación.
Por ejemplo, se pueden comparar o sumar dos operandos. El código de formato se puede combinar con el código de operación para determinar si se trata de una instrucción de punto fijo o de punto flotante. La salida incluye el resultado almacenado en un registro de almacenamiento y una configuración que indica si la operación fue exitosa. Si la operación falla, el estado correspondiente se mostrará en la palabra de estado de la máquina.
Por lo general, las ubicaciones de almacenamiento de los operandos de entrada, operandos, sumas acumuladas y resultados de conversión están todos en la ALU. En la unidad aritmética, las operaciones de multiplicación y división se obtienen mediante una serie de operaciones de suma y resta.
Hay muchas formas de representar números negativos en código de máquina.
En una unidad lógica sólo se puede realizar una de las 16 operaciones lógicas posibles a la vez.
El diseño de la ALU es una parte clave del diseño del procesador. También estamos investigando cómo mejorar la velocidad de procesamiento de las instrucciones.
Materiales de referencia:
Enciclopedia Baidu-Unidad lógica aritmética