Unidad Aritmético-Lógica (4 bits)
Descripción general
- Propósito: La unidad aritmético-lógica (ALU) es un circuito digital que realiza operaciones aritméticas y lógicas sobre números binarios de 4 bits. Sirve como núcleo computacional de los sistemas digitales, ejecutando diversas operaciones en función de las señales de control.
- Símbolo: La unidad aritmético-lógica está representada por un bloque rectangular con entradas para dos operandos de 4 bits (A y B) y selección de operación, con salidas para el resultado de 4 bits y los indicadores de estado.
- Rol en DigiSim.io: La unidad aritmético-lógica habilita el cómputo en circuitos digitales, siendo esencial para implementar procesadores, calculadoras y otros sistemas computacionales.

Descripción funcional
Comportamiento lógico
La unidad aritmético-lógica de 4 bits toma dos entradas de 4 bits, realiza una operación seleccionada por las entradas de control de operación, y produce un resultado de 4 bits junto con indicadores de estado. Estos indicadores señalan propiedades como si el resultado es cero, negativo, o si hubo un acarreo o desbordamiento.
Selección de operación:
| Código de op. | Operación | Descripción |
|---|---|---|
| 000 | Suma | R = A + B |
| 001 | Resta | R = A - B |
| 010 | AND lógico | R = A & B |
| 011 | OR lógico | R = A |
| 100 | XOR lógico | R = A ^ B |
| 101 | NOT lógico | R = ~A |
| 110 | Desplazamiento izq. | R = A << 1 |
| 111 | Desplazamiento der. | R = A >> 1 |
Nota: Los códigos de operación exactos pueden variar según la implementación
Entradas y salidas
Entradas:
- A[3:0]: Primer operando de 4 bits.
- B[3:0]: Segundo operando de 4 bits.
- OpCode[2:0]: Selección de operación de 3 bits para determinar qué función realizar.
Salidas:
- Result[3:0]: Resultado de 4 bits de la operación.
- Indicador de cero (Z): Se activa cuando el resultado es cero (todos los bits son 0).
- Indicador de acarreo (C): Se activa cuando una operación produce un acarreo de salida (para suma) o préstamo (para resta).
- Indicador negativo (N): Se activa cuando el bit más significativo del resultado es 1 (negativo en complemento a dos).
- Indicador de desbordamiento (V): Se activa cuando una operación aritmética con signo resulta en un desbordamiento.
Parámetros configurables
- Retardo de propagación: El retardo de tiempo entre los cambios de entrada y los cambios de salida correspondientes. Esto se simula en DigiSim.io.
- Conjunto de operaciones: Algunas implementaciones pueden tener conjuntos de operaciones personalizables u operaciones adicionales.
Representación visual en DigiSim.io
La unidad aritmético-lógica de 4 bits se muestra como un bloque rectangular con entradas en el lado izquierdo y salidas en el lado derecho. Está claramente etiquetada como "ALU" para identificar su función. Los pines de entrada (A[3:0], B[3:0], OpCode[2:0]) y los pines de salida (Result[3:0], Z, C, N, V) están organizados en grupos lógicos. El componente indica visualmente el estado actual de todas las entradas y salidas.
Valor educativo
Conceptos clave
- Aritmética binaria: Demuestra cómo las computadoras realizan operaciones aritméticas básicas sobre números binarios.
- Lógica booleana: Muestra la implementación de operaciones lógicas sobre valores de múltiples bits.
- Indicadores de estado: Introduce el concepto de códigos de condición que proporcionan información sobre los resultados de las operaciones.
- Bloques de construcción computacionales: Ilustra cómo se pueden implementar operaciones complejas usando lógica digital.
- Señales de control: Demuestra cómo los circuitos digitales pueden configurarse para realizar diferentes funciones.
Objetivos de aprendizaje
- Comprender cómo los sistemas digitales realizan cómputos aritméticos y lógicos.
- Aprender la relación entre las operaciones binarias y sus resultados.
- Reconocer cómo los indicadores de estado proporcionan información esencial sobre los resultados de las operaciones.
- Aplicar conceptos de la unidad aritmético-lógica para diseñar sistemas computacionales simples.
- Comprender cómo la unidad aritmético-lógica encaja en la arquitectura más amplia de un sistema informático.
Ejemplos de uso
- Diseño de CPU simple: La unidad aritmético-lógica forma el núcleo computacional de una CPU, ejecutando operaciones aritméticas y lógicas.
- Circuitos de calculadora: Implementación de calculadoras binarias que realizan operaciones matemáticas básicas.
- Manipulación de datos: Procesamiento de datos realizando operaciones bit a bit para enmascarar, filtrar o transformar valores.
- Prueba de condiciones: Uso de la unidad aritmético-lógica y sus indicadores para probar condiciones específicas en valores de datos.
- Controlador simple: Creación de sistemas de control que toman decisiones basadas en comparaciones aritméticas.
Notas técnicas
- La unidad aritmético-lógica de 4 bits se construye típicamente usando una combinación de sumadores, puertas lógicas y multiplexores para seleccionar entre operaciones.
- Los indicadores se derivan del resultado de la operación y la cadena de acarreo, proporcionando información importante para las decisiones de control.
- La unidad aritmético-lógica puede expandirse para manejar datos más anchos (8 bits, 16 bits, etc.) replicando la estructura básica o usando diseños en cascada.
- Para aritmética con signo, la unidad aritmético-lógica de 4 bits puede representar valores de -8 a +7 usando la representación en complemento a dos.
- En DigiSim.io, el comportamiento de la unidad aritmético-lógica simula componentes digitales del mundo real, incluyendo retardos de propagación y generación de indicadores.
Diagrama de bloques
graph LR
InputA[A 3:0] --> ALU[Unidad Aritmético-Lógica]
InputB[B 3:0] --> ALU
OpCode[Selección de Operación<br/>OpCode 2:0] --> ALU
ALU --> Result[Result 3:0]
ALU --> Flags[Indicadores de Estado<br/>Z, C, N, V]
Características
- Componente central de la unidad de ejecución de una CPU
- Realiza operaciones tanto aritméticas como lógicas sobre datos binarios
- Usa señales de control para seleccionar la operación deseada
- Genera indicadores de estado que proporcionan información sobre el resultado
- Puede encadenarse para manejar palabras de datos más anchas (8 bits, 16 bits, etc.)
- Utiliza propagación de acarreo para aritmética de múltiples bits
Aplicaciones
- Unidades de ejecución de unidades centrales de procesamiento (CPU)
- Procesamiento digital de señales
- Cálculo de direcciones en gestión de memoria
- Manipulación de datos en microcontroladores
- Unidades de procesamiento de gráficos
- Calculadoras científicas
- Sistemas de control digital
- Sistemas embebidos
Implementación
Una unidad aritmético-lógica de 4 bits puede construirse usando:
- Sumadores completos para operaciones aritméticas
- Puertas lógicas para operaciones bit a bit
- Multiplexores para seleccionar entre diferentes operaciones
- Decodificadores para la selección de operaciones
Implementación funcional
La unidad aritmético-lógica de 4 bits contiene:
- Unidad sumadora/restadora de 4 bits
- Unidad lógica para operaciones bit a bit
- Desplazador para operaciones de desplazamiento
- Multiplexor para seleccionar la salida apropiada
- Lógica de indicadores de estado
Componentes relacionados
- Unidad aritmético-lógica de 8 bits: Versión expandida con operandos de 8 bits
- Registro: Almacena datos antes y después de las operaciones de la unidad aritmético-lógica
- Unidad de control: Proporciona señales de control de operación a la unidad aritmético-lógica
- Sumador: Componente especializado para operaciones de suma
- Comparador: Componente especializado para operaciones de comparación