Arquitectura MIPS: Formato de la instrucción máquina • La ruta de datos la diseñaremos para un subconjunto de instrucciones del procesador MIPS MIPS, que dispone de sólo 3 formatos de diferentes de longitud fija de 32 bits: p R: • Tipo Aritmético-lógicas • Tipo I:  Referencia a memoria  Aritméticas (inmediato)  Salto condicional • Tipo J:  Salto incondicional

31

26 op

rs

6 bits 31

21

op

5 bits

11 rd

5 bits 21

rs

6 bits 31

rt

5 bits 26

16 5 bits

6 bits

desp 5 bits

16

0 funct 6 bits 0

inmediato

rt 5 bits

16 bits

26 op

6

0 dirección 26 bits

• El significado de los campos es el siguiente:  op: código de operación (identificador de cada instrucción)  rs, rt, rd: identificadores de los registros fuentes y destino de las operaciones  desp: cantidad a desplazar en operaciones de desplazamiento  funct: identificador de la operación aritmética a realizar  inmediato: operando inmediato, o desplazamiento en direccionamiento base+desplazamiento  dirección: dirección destino del salto 1 ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Arquitectura MIPS: Semántica de las instrucciones seleccionadas • Instrucciones de referencia a memoria (formato tipo I):  lw rt, inmed(rs)  sw rt, inmed(rs)

rt  Memoria( rs + SignExt( inmed ) ) , PC  PC + 4 Memoria( rs + SignExt( inmed ) )  rt , PC  PC + 4

• Instrucciones aritmético-lógicas con operandos en registros (formato tipo R)     

rd  rs + rt, PC  PC + 4 rd  rs - rt , PC  PC + 4 rd  rs and rt , PC  PC + 4 rd  rs or rt , PC  PC + 4 ( si ( rs < rt ) entonces ( rd  1 ) en otro caso ( rd  0 ) ), PC  PC+4

add rd, rs, rt sub rd, rs, rt and rd, rs, rt or rd, rs, rt slt rd, rs, rt

• Instrucciones de salto condicional (formato tipo I)  beq b rs, rt, inmed i d

sii ( rs = rt ) entonces ( PC C  PC C + 4 + 4·SignExt( 4 Si ( inmed i d)) caso contrario PC  PC + 4

2 ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Diseño de la ruta de datos monociclo (1)

PCWrite

• Componentes de la ruta de datos (1): 32 PC

Contador de programa  2 Sumadores: S d o El primero para sumar 4 al PC o El segundo para sumar al PC el valor inmediato de salto.

32 32

+ 32 ALUctr

111

función A and B A or B A+B A–B 1 si (A