Decodificador de Instrucciones

Construye un decodificador de instrucciones que convierte códigos de operación en señales de control—el componente del CPU que interpreta lo que significa cada instrucción.

Overview

El decodificador de instrucciones toma el código de operación (opcode) de una instrucción y genera señales de control que le indican a cada componente del CPU qué hacer. Por ejemplo, una instrucción ADD activa la ALU, selecciona los registros correctos y enruta los datos apropiadamente. Esto se implementa con decodificadores y lógica combinacional.

Components Needed

  • 2x SN74HC138 IC (Decodificador 3 a 8)
  • severalx Varios ICs de compuertas lógicas
  • 10x LED
  • 1x Interruptor DIP (8 posiciones)
  • severalx Cables

Instructions

  1. Definir Tu Conjunto de Instrucciones

    Diseña un conjunto de instrucciones simple con 8 operaciones (opcode de 3 bits): LOAD, STORE, ADD, SUB, AND, OR, JUMP, HALT. Enumera qué señales de control necesita cada una.

  2. Crear la Tabla de Señales de Control

    Haz una tabla de verdad: las filas son opcodes, las columnas son señales de control (RegWrite, MemRead, ALUop, etc.). Marca qué señales están activas para cada instrucción.

  3. Construir el Decodificador

    Usa un 74HC138 para decodificar el opcode de 3 bits en 8 líneas. Cada línea representa una instrucción. Combina las salidas con compuertas OR para generar cada señal de control.

  4. Probar Cada Instrucción

    Configura cada opcode en los interruptores DIP. Verifica que se activen las señales de control correctas (mostradas en los LEDs). Prueba las 8 instrucciones.

Challenges

  • Expande a 16 instrucciones con un opcode de 4 bits
  • Añade control condicional basado en banderas de la ALU
  • Implementa instrucciones multiciclo con una máquina de estados
  • Construye una ROM de microcódigo en lugar de lógica discreta