Unidad 3 · Conjunto de instrucciones y módulo de flujo de datos
jueves 24 de septiembre · 16:00–17:40 · en 33 días
GUÍA 24-09-26 Arquitecturas Computacionales
HU413 · jueves 24/09/2026 · 16:00-17:40 · Sesión 7
Unidad 3 · Conjunto de instrucciones y módulo de flujo de datos
DISEÑAR UN REPERTORIO
El conjunto de instrucciones es el contrato entre el hardware y el software. Una vez publicado, se vuelve casi imposible de cambiar, porque todo el software compilado depende de él.
CRITERIOS DE DISEÑO
- Regularidad — los mismos campos en las mismas posiciones.
- Ortogonalidad — cualquier operación con cualquier modo de direccionamiento.
- Lo común, rápido — optimizar lo que los programas realmente ejecutan.
- Compromiso entre número de instrucciones y complejidad de cada una.
CATEGORÍAS DEL REPERTORIO BASE RV32I
- Aritméticas y lógicas: add, sub, and, or, xor, con versiones inmediatas.
- Desplazamientos: sll, srl, sra.
- Acceso a memoria: lw, sw, con variantes de byte y media palabra.
- Saltos condicionales: beq, bne, blt, bge.
- Saltos incondicionales y llamadas: jal, jalr.
- Construcción de constantes: lui, auipc.
EL REGISTRO CERO
RISC-V dedica x0 a valer siempre cero. Con ese solo truco se obtienen gratis muchas pseudoinstrucciones: mover es sumar cero, negar es restar de cero, y no operar es sumar cero a cero. Es un ejemplo excelente de cómo una decisión mínima simplifica el repertorio.
EL CAMINO DE DATOS
Se construye preguntando qué necesita cada instrucción y uniendo los requisitos.
1. Búsqueda: PC, memoria de instrucciones, sumador de PC más cuatro.
2. Decodificación: banco de registros con dos lecturas y una escritura, generador de inmediato.
3. Ejecución: ALU, con multiplexor para elegir entre registro e inmediato.
4. Memoria: memoria de datos, para load y store.
5. Escritura: multiplexor entre el resultado de la ALU y el dato leído.
LOS MULTIPLEXORES SON LAS DECISIONES
Cada multiplexor del camino de datos corresponde a una señal de control. Contar los multiplexores es contar las señales que la unidad de control debe generar.
TAREA
Dibujar el camino de datos monociclo completo para las instrucciones add, lw, sw y beq, marcando cada multiplexor.
Nada anotado en esta sesión todavía.