Simulación en VHDL del Datapath
del MIPS
Descripción
• Implementar una versión simplificada del
datapath del MIPS que soporte
instrucciones R-Type. Las instrucciones RType son un subset del datapath
completo.
• Por simplicidad, se asume que la memoria
de instrucciones y la memoria de datos
son externas al sistema
Instrucciones R-Type
• Las instrucciones de tipo R son aquellas
en las que los valores de datos usados
por la instrucción estan guardados en
registros.
• El formato de la instrucción R-Type es:
OP rd, rs, rt
Instrucción R-Type
Opcode
rs
rt
shift
funct
Opcode: The opcode is the machinecode representation of the
instruction mneumonic. Several related instructions can have the
same opcode. The opcode field is 6 bits long (bit 26 to bit 31).
rs, rt, rd
The numeric representations of the source registers and the
destination register. These numbers correspond to the $X
representation of a register, such as $0 or $31. Each of these
fields is 5 bits long. (25 to 21, 20 to 16, and 15 to 11,
respectively).
• Shift
– Used with the shift and rotate instructions, this
is the amount by which the source operand rs
is rotated/shifted. This field is 5 bits long (6 to
10).
• Funct
– For instructions that share an opcode, the
funct parameter contains the necessary
control codes to differentiate the different
instructions. 6 bits long (0 to 5).
Instrucciones R-Type a
implementar
Instrucciones R-Type a
implementar
Instrucciones R-Type a
implementar
•
•
•
La memoria de instrucciones es de 32
bits y la memoria de datos es de 16 bits
El datapath va a contener un register file
compuesto por cuatro registros de 16
bits.
El control de las entradas del datapath
viene dado por algunos campos del
Instruction Register. Estos campos son
IR(25-11) y IR(10-6).
Como opera el datapath con las
instrucciones R-type.
1. En la primera fase la instruccion se leen
los dos registros fuentes rs, rt desde
el register file, direccionados por IR(2521) y IR(20-16) respectivamente. Los
registros fuentes son cargados en los
registros A y B.
Como opera el datapath con las
instrucciones R-type.
2. En el siguiente ciclo la ALU realiza la operacion
deseada sobre los registros A y B. Aqui la
señal ALUOp=10 que en conjunto con el
campo función que viene en IR(5-0) determina
los 3 bits de control de la alu para seleccionar
la funcion apropiada de la misma.
Esto se hace con el ALU control block
El resultado es automaitcamente cargado en
ALUout Register en cada ciclo de clock
Como opera el datapath con las
instrucciones R-type.
•
•
•
En la ultima fase el contenido de ALUout
es guardado en el registro destino.
Las señales de este ciclo son:
MemtoReg=0, RegWrite=1.
Esto provoca que el registro destino rd
direccionado por IR(15-11) sea escrito en
el register file
Implementacion
• Primero diseñar los modulos individuales:
 un registro de instrucción de 32 bits
Un register file de 4x16
4 to 1 de 16bit MUX con 2 señales de
control
2 bit decoder y el write port para el
Register File
Registros de 16 bits: A,B, ALuout
Implementacion
Una ALU de 16 bits
El decoder de control de la ALU
Descargar

Diapositiva 1