Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tipo-I Tipo-J
6 bits 31
Los campos son: op: Operacin de la instruccin. rs, rt, rd: Registros fuente y destino. shamt: Desplazamiento. funct: Selecciona las variantes de la operacin del campo op. direccin / immediato: Direccin de desplazamiento o valor inmediato. Direccin destino: direccin de destino en las instrucciones de salto.
Arquitectura de ordenadores.Control monociclo.3
Operando destino
INSTRUCCIONES TIPO R El operando destino se encuentra en las posiciones 15-11 (campo rd)
31 26 21 16 11 op 6 bits rs 5 bits rt 5 bits rd 5 bits shamt 5 bits
6 funct 6 bits
INSTRUCCIN DE CARGA El registro destino se encuentra en las posiciones 20-16 (campo rt)
31 26 21 16 op 6 bits rs 5 bits rt 5 bits immediato 16 bits
Se necesir un multiplexor para seleccionar el campo de la instruccin que indique el nmero de registro donde se va a escribir
Add 4 Shift left 2 Instruction [25 21] PC Leer direccin Instruccin [31-0 ] Memoria de instrucciones Instruction [20 16]
Leer Registro 1 Leer Registro 2 Escribir Registro Lectura Dato 1
Lectura Dato 2
M u x
M u x
Instruction [15 0]
16
Sign 32 extend
CONTROL
Memoria Camino de datos
Salida
0
Add 4 RegWrite
Leer Registro 1 Leer Registro 2 Lectura Dato 1
ALU result
M u x 1
Instruction [25 21] PC Leer direccin Instruccin [31-0 ] Memoria de instrucciones Instruction [20 16]
0
M u Instruction [15 11] x 1 RegDst Instruction [15 0]
Escribir Registro
Lectura Dato 2
0 M u x 1
1 M u x 0
16
Sign 32 extend
ALU control
MemRead
Instruction [5 0] ALUOp
Ninguno
Ninguno EL Segundo operando de la ALU proviene de la segunda salida del archivo de registros El n de registro destino para Escribir registro proviene del campo rt
Ninguno. El PC es sustituido por la salida del sumador que calcula el valor de PC+4. El valor conectado a la entrada Escribir dato del registro proviene de la ALU
instruccin
RegDst
ALUSrc
MentoReg
RegWrite
MemRead
MemWrite
Branch
Tipo R lw sw beq
1 0 x x
0 1 1 0
0 1 x x
1 1 0 0
0 1 0 0
0 0 1 0
0 0 0 1
La instruccin Add
31 op 6 bits 26 rs 5 bits 21 rt 5 bits 16 rd 5 bits 11 shamt 5 bits 6 funct 6 bits 0
add
rd, rs, rt
mem[PC]
* Extraer la instruccin de memoria * Leer rs y rt. * Efectuar la operacin * Escribir rd * Calcula la direccin de la siguiente instruccin
PC <- PC + 4
Arquitectura de ordenadores.Control monociclo.11
I n s tr u c tion [1 5 1 1 ]
I n s tr u c tion [1 5 0 ]
16 S ig n e xte n d
32 A LU c o n tr ol
In s tru c tio n [5 0 ]
P C S rc
Read re g ister 1
16 S ig n e xte n d
32 A LU co n tr ol
Instruction [25 21] PC Read address Instruction [310] Instruction memory Instruction [15 11] Instruction [20 16] 0 M u x 1
Read data 1 0 M u x 1 Zero ALU ALU result Read data Data memory
Address
1 M u x 0
Instruction [5 0]
Instruction [25 21] PC Read address Instruction [310] Instruction memory Instruction [15 11] Instruction [20 16] 0 M u x 1
Read data 1 0 M u x 1 Zero ALU ALU result Read data Data memory
Address
1 M u x 0
Instruction [5 0]
Control
Instruccion<31:0> <21:25> <21:25> <16:20> <11:15> Memoria de instruc. <0:15>
Op Fun
Rt
Rs
Rd
Imm16
Control
Zero
CAMINO DE DATOS
26 rs rs
21 rt rt
16 rd
11 shamt
6 funct
La codificacin de ALUop
En nuestro caso, ALUop tiene dos bits que representan: IInstrucciones tipo-R Instrucciones Tipo-I que requieren la ALU para realizar: - Suma y Resta
lw Suma 00
sw Suma 00 11 rd
ALUctr
ALU
and or Inicializar-sobre-menor
F5
F4
Cdigo funcin F3 F2
F1
F0
0 X 1 1 1 1 1
0 1 X X X X X
X X X X X X X
X X X X X X X
X X 0 0 0 0 1
X X 0 0 1 1 0
X X 0 1 0 0 1
X X 0 0 0 1 0
ALUctr<2> = ALUop<0> + ( ALUop<1> * func<1> ) ALUctr<1> = !ALUop<0> + !func<2> ALUctr<0> = ( ALUop<1> * func<0> ) + ( ALUop<1> * func<3>)
Entradas
Salidas
..
<0>
op<5>
..
op<5>
..
op<5>
..
<0>
<0>
<0>
R-tipo
lw
sw
beq
ALUop1 ALUop0
Arquitectura de ordenadores.Control monociclo.25
Limitaciones de la implementacin en un solo ciclo Todas las instrucciones tardan el mismo tiempo en ejecutarse. El tiempo de ejecucin viene definido por el tiempo que tarda en ejecutarse la instruccin ms lenta. La situacin se agrava si consideramos operaciones ms complejas Lo habitual es que slo haya un mdulo de memoria -> Ms de un ciclo para completar la instruccin
Resumen Camino de datos monociclo => CPI=1, ciclo => largo 5 pasos para el diseo de un procesador 1. Analizar el repertorio de instrucciones => requerimientos del camino de datos 2. Seleccionar el conjunto de elementos del camino de datos y establecer una metodologa de pulsos de reloj 3. Ensamblar el camino de datos teniendo en cuenta los requerimientos 4. Analizar la implementacin de cada instruccin para determinar los puntos de control que afectan a la transferencia entre registros. . 5. Ensamblar la lgica de control.
Resumen El control es la parte ms complicada MIPS hace que el control sea ms sencillo
Las instrucciones tienen el mismo tamao Los registros fuente estn siempre en el mismo lugar Los valores inmediatos tienen el mismo tamao y se encuentran en el mismo lugar Las operaciones son siempre entre registro o con valores inmediatos
Procesador Entrada Control Memoria Camino de datos Salida