Monociclo
Camino de datos con todos los multiplexores y líneas de control necesarias (según figura del libro de texto).
PCSrc 0 M u x 1
Diseño del control monociclo para la arquitectura MIPS
Add 4 RegWrite Instruction [25– 21] PC Read address Instruction [31– 0] Instruction memory Instruction [20– 16] 0 M u Instruction [15– 11] x 1 RegDst Instruction [15– 0] Readregister 1 Read register 2 Shift left 2 Add ALU result
Read data 1
MemWrite ALUSrc 0 M u x 1 Zero ALU ALU result MemtoReg Address Read data 1 M u x 0
Read Write data 2 register Write Registers data 16 Sign 32 extend
Data Write data memory MemRead
ALU control
Instruction [5– 0] ALUOp
Diseño del control monociclo
Diseño del control monociclo
2
Recordatorio (I)
La organizacióndel procesador condiciona el Tcpu
5 pasos en el diseño del procesador • 1. Analizar repertorio de instrucciones Funcionalidad del camino de datos • 2. Seleccionar componentes del camino de datos • 3. Ensamblar camino de datos para proporcionar la funcionalidad requerida. • 4. Analizar la implementación de cada instrucción para determinar la ubicación de los puntos de control que permitanejecutar las transferencias entre registros. • 5. Diseño de la unidad de control (a continuación ...)
Recordatorio (II)
MIPS hace fácil la implementación de estos pasos • Instrucciones del mismo tamaño • Registro fuente (rs) siempre en la misma posición del formato de instrucción • Valores inmediatos siempre del mismo tamaño (16 bits) y en la misma posición (bits 0-15) • Operaciones siempre sobreregistros/inmediatos Camino de datos monociclo CPI=1 TCLK grande A continuación: Paso 5 (diseño de la unidad de control)
Diseño del control monociclo
3
Diseño del control monociclo
4
Diseño de la unidad de control: visión completa de la implementación
Camino de datos con la unidad principal de control y la unidad local de control de la ALU
0 M u x ALU Add result Add 4 Instruction[31 26] RegDst Branch MemRead MemtoReg Control ALUOp MemWrite ALUSrc RegW rite Read register 1 0 M u x 1 Shift left 2 1 PCSrc
La Unidad Aritmética y Lógica (ALU)
Operaciones básicas (solo usaremos 5 de las 8 posibles)
Binvert Operation CarryIn a
A L U o p e r a ti o n
a Z ero ALU b
Less
0 1 Result
R e s u lt O v e r f lo w
b
0 1
2
PC
Read address Instruction [31–0]Instruction memory
Instruction [25 21] Instruction [20 16]
3
Read register 2 Registers Read Write data2 register Write data
Read data1 0 M u x 1 32 ALU control
C a rry O u t
Zero ALU ALU result Read data Data memory
a.
Address
Instruction [15 11]
W rite data
1 M u x 0
Entradas de control (ALUctr)
000 001 010 110 111
CarryOut
FUNCIÓN
AND OR ADD SUB SLTInstruction [15 0]
16
Sign extend
Instruction [5 0]
Diseño del control monociclo
5
Diseño del control monociclo
6
Control de la ALU
Operaciones a realizar según la instrucción: • Load (lw) y store (sw): Suma • Salto (beq): Resta • Aritméticas (tipo R: add,sub, or,and y slt): Definida por el campo “Funct” Dependencias de las señales de control
Cod. Op. LW SW Branch EqualR-Type R-Type R-Type R-Type R-Type ALUop 00 00 01 10 10 10 10 10 Instrucción Carga Almacena salto suma resta AND OR set on less than FUNCT XXXXXX XXXXXX XXXXXX 100000 100010 100100 100101 101010 Op. deseada suma suma resta suma resta and or set on less than Entradas de control de la ALU (ALUctr) 010 010 110 010 110 000 001 111
Control local de la ALU: Tabla de verdad
ALUop ALUop1 ALUop0 0 0 x 1 1x 1 x 1 x 1 x 1 x F5 x x x x x x x F4 x x x x x x x funct F3 F2 x x x x 0 0 0 0 0 1 0 1 1 0 F1 x x 0 1 0 0 1 F0 x x 0 0 0 1 0 bit2 0 1 0 1 0 0 1 ALUctr bit1 bit0 1 0 1 0 1 0 1 0 0 0 0 1 1 1
31
Instrucción Tipo R:
26 op 6 bits
21 rs 5 bits
16 rt 5 bits ALUctr 3
11 rd 5 bits
6 shamt 5 bits funct 6 bits
0
op 6
Main Control
func 6 ALUop N
ALU Control (Local)...
Regístrate para leer el documento completo.