2023 08 15 ALU

A y B son operandos R es la salida F es la entrada de la unidad de control D es un estado de la salida
la ALU es un circuito digital que calcula operaciones aritméticas (suma, resta, multiplicación, etc) y operaciones lógicas (si, y, o, no) entre dos números. En los microprocesadores modernos se tienen múltiples núcleos, cada núcleo con múltiples unidades de ejecución y cada uno de ellas con múltiples ALU.
Historia¶
Von Neumann propuso el concepto de ALU en 1945 cuando escribió las bases para la creación de un nuevo computador llamado EDVAC. Von Neumann explicó que una ALU es un requisito fundamental para una computadora porque necesita efectuar operaciones matemáticas básicas. Por lo tanto, creyó que era "razonable que una computadora debería contener los órganos especializados para estas operaciones"
Sistemas numéricos¶
Una ALU debe procesar números usando el mismo formato que el resto del circuito digital La ALU se compone en resumen de un Circuito operacional, Registros de Entrada, Registro Acumulador y Registro de estados.
La mayoría de acciones de la computadora son realizados por la ALU.
Operaciones simples¶
La mayoría de las ALU pueden realizar las siguientes operaciones: Operaciones aritméticas de números enteros operaciones lógicas de bits Operaciones de desplazamiento de bits (desplazar o rotar una palabra en un numero específico de bits a la izquierda o derecha.)
Operaciones complejas¶
Un ingeniero puede diseñar una ALU para calcular cualquier operación, sin importar la compleja que sea, el problema es que en cuanto más compleja sea la operación, más costosa y requerirá mayor espacio en el procesador.
Diseñar una ALU muy compleja que calcule la raíz cuadrada de cualquier número en un solo paso. Esto es llamado cálculo en un solo ciclo de reloj.
Diseñar una ALU compleja que calcule la raíz cuadrada con varios pasos (como el algoritmo que aprendimos en la escuela). Esto es llamado cálculo interactivo, y generalmente confía en el control de una unidad de control compleja con microcódigo incorporado
Diseñar una ALU simple en el procesador, y vender un procesador separado, especializado y costoso, que el cliente pueda instalar adicional al procesador, y que implementa una de las opciones de arriba. Esto es llamado coprocesador o unidad de coma flotante.
Emular la existencia del coprocesador, es decir, siempre que un programa intente realizar el cálculo de la raíz cuadrada, hacer que el procesador compruebe si hay presente un coprocesador y usarlo si lo hay; si no hay uno, interrumpir el proceso del programa e invocar al sistema operativo para realizar el cálculo de la raíz cuadrada p
Decir a los programadores que no existe el coprocesador y no hay emulación, así que tendrán que escribir sus propios algoritmos para calcular raíces cuadradas por software. Esto es realizado por bibliotecas de software.
Entradas y salidas¶
Las entradas de la ALU son los datos en los que se harán las operaciones (llamados operandos) y un código desde la unidad de control indicando qué operación realizar. Su salida es el resultado de cómputo de otra operación.
ALU vs FPU¶
Una unidad de compa flotante (FPU) también realiza operaciones aritméticas entre dos valores, pero lo hace para números en representación de coma flotante, que es mucho más complicada que la representación de complemento a dos usada en una ALU.