Verano 2004
description
Transcript of Verano 2004
Organización del Computador I Verano
Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy
Verano 2004 Profesora Borensztejn
Procesador Segmentado Unidad 2 2
SegmentaciónDescompone una determinada operación en n suboperaciones a realizar en etapas distintas, de manera que se puedan realizar n operaciones simultáneas, cada una en una etapa distinta.
• Divide una operación en suboperaciones
• Desacopla las suboperaciones
F
F1 F2 F3
Procesador Segmentado Unidad 2 3
Segmentación• No reduce la latencia de una instrucción, sino que ayuda a
incrementar la productividad de toda la tarea.• Permite que los recursos se utilizen óptimamente, sin ciclos
ociosos.• La velocidad, o frecuencia con que una instrucción sale del
pipeline (cauce) está limitada por el tiempo de proceso de la etapa más lenta.
• Idealmente, la mejora en velocidad debida a la segmentación es igual al número de etapas:– la segmentación involucra gastos
– las etapas pueden no estar equilibradas==> tiempo de inactividad
• El diseñador debe equilibrar la duración de las etapas.
Procesador Segmentado Unidad 2 4
Ejecución de lw en la máquina uniciclo
Instrucción Memoria Lect. ALU Memoria Escritura Total
Registros Datos Registros
Formato R 10 5 10 5 30
Load 10 5 10 10 5 40
Store 10 5 10 10 35
Beq 10 5 10 25
Ins R Alu Mem W
Ins R Alu Mem W
Ins R Alu40 nseg
lw
lw
lw
Procesador Segmentado Unidad 2 5
Etapas de la Segmentación• La instrucción se divide en 5 etapas:
– Ifetch– Reg/Dec– Ejec– Mem– WB
• Una etapa, un ciclo, debe acomodar la operación más lenta ===>> 10 nseg.
• El speedup ideal debiera ser 5.
Procesador Segmentado Unidad 2 6
Máquina uniciclo vs segmentada
Ins R Alu Mem W
Ins R Alu Mem W
Ins R Alu40 nseg
lw
lw
lw
Ins R Alu Mem Wlw
lw
lw
Ins R Alu Mem W
Ins R Alu Mem W10 nseg
10 nseg
10 nseg 10 nseg 10 nseg 10 nseg 10 nseg
Procesador Segmentado Unidad 2 7
Mejora de la Segmentación
7,170
120 seg
uni
uni
seg
TT
R
R
• Donde están los problemas?
– Hay que considerar el tiempo de llenado y vaciado del pipeline (20nseg+20nseg)
– Las etapas tienen la misma duración y no realizan la misma cantidad de trabajo
– La eficiencia del pipeline es mayor al considerar muchas instrucciones, porque las latencias individuales aumentan pero la productividad disminuye.
Procesador Segmentado Unidad 2 8
Uniciclo, Multiciclo vs Segmentada
Load
Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 9Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 10
Store
Fetch Reg ALU Mem WB Fetch Reg ALU Mem Fetch
Fetch Reg ALU Mem WB
Fetch Reg ALU Mem WB
Fetch Reg ALU Mem WB
Load RStore
Load
Store
R
Procesador Segmentado Unidad 2 9
Mejora de la Segmentación
3,410404500
8,310404000
seg
mult
mult
seg
seg
uni
uni
seg
TT
R
R
TT
R
R
Suponemos que ejecutamos 100 instrucciones
• Uniciclo– 40nseg * 1 CPI * 100inst= 4000 nseg
• Multiclo– 10nseg * 4,5 CPI * 100 inst= 4500 nseg
• Segmentada– 10nseg * (1 CPI * 100 inst + 4 ciclos) = 1040 nseg
Ahora ,Mejor!!!
Procesador Segmentado Unidad 2 10
Óptimo uso de recursos
M Reg M Reg
M Reg MReg
M Reg M Reg
M Reg M Reg
M Reg M Reg
Inst 1
Inst 2
Inst 3
Inst 4
Inst 5
0 1 2 3 4 5 6 7ciclos
Procesador Segmentado Unidad 2 11
¿Problemas?• No puede utilizarse el mismo recurso en el mismo
momento para hacer distintas cosas.– Por ejemplo: la memoria no puede utilizarse al mismo
tiempo para leer instrucciones y escribir o leer datos.
• Varias instrucciones utilizan un mismo recurso en distintos momentos y se pierden los valores anteriores– Por ejemplo: la ejecución de la segunda instrucción
carga la instrucción de memoria sobre el registro IR aún cuando la primera instrucción depende de la información que había guardado en IR.
Procesador Segmentado Unidad 2 12
Procesador Segmentado Lineal• Todas las instrucciones tardan el mismo tiempo y
atraviesan todas las etapas.• Cada unidad funcional sólo puede ser usada una
vez por instrucción (el flujo de información queremos que vaya siempre hacia la derecha)
• Cada unidad funcional debe ser utilizada en la misma etapa por todas las instrucciones.
• Queremos evitar problemas!!!! Por ejemplo:– Lw IF Reg Eje Mem Wr– R IF Reg Eje Wr
Procesador Segmentado Unidad 2 13
Uso de U.F
Paso Registros ALU Memoria
Fetch Todas PC<--PC+4 Todas Inst<--M[PC]
Lectura Todas
Eje Tipo R: operación
Lw y Sw: dirección
Beq: operación y dirección
Mem Lw y Sw
PostW Lw
Tipo R
Procesador Segmentado Unidad 2 14
Memoria
• Se utiliza en la etapas Fetch y Memoria
• Debe poder soportar al mismo tiempo :– lectura de instrucción– lectura/escritura de dato
• Soluciones:– una memoria con dos ports de lectura y uno de
escritura– memoria separada de instrucciones y datos
• Se utiliza en la etapas Fetch y Ejecución• Debe poder soportar al mismo tiempo :
– PC + 4 (Fetch)– S=AopB o S=A+ inm16 o Z=(A=B)
(Ejecución)– S=PC+inm16 (Ejecución)
• Solución:– 1 ALU y 2 sumadores
ALU
Banco de Registros
• Se leen en Decode y se escriben en Wb
•Debe poder soportar dos accesos de lectura y uno de escritura por ciclo.
•Se leen en la primera mitad del ciclo. Se escriben en la segunda mitad del ciclo.
Registros de Segmentación
• Entre cada etapa y la siguiente guardaremos la información que debe acompañar a cada instrucción en su marcha por el camino de datos.
ExtInm16
RegW
rs
rt
BusW
Registros 5
5
5 LRA
LRB
WR
rd
RegDst
PC
CLK
instMemoria de Instrucciones
32
ALUctr
Memoria de Datos
WE
@
W_src
>>
2
Alusrc
Z
4
32
32
32+
MU
X
Pcsrc
PC+4
IF/ID ID/EX EX/MEM MEM/WB
Procesador Segmentado Unidad 2 18
Instrucción Tipo R• Transferencias Físicas
IR<---MEM[PC]; PC<--PC+ 4;
BusA<---R[rs]; BusB<---R[rt]
BusS<---BusA+BusB
R[rd]<--BusS
IF/ID
ID/EX
EX/MEM
MEM/WB
IR
A B IRrd
S IRrd
S IRrd
Procesador Segmentado Unidad 2 19
Instrucción Load• Transferencias Físicas
IR<---MEM[PC]; PC<--PC+ 4;
BusA<---R[rs];
BusS<---BusA+ext(inm16);
Dato<--Mem[busS];
R[rt]<--Dato
IF/ID
ID/EX
EX/MEM
MEM/WB
IR
A Ext(inm16) IRrt
S IRrt
Dato IRrt
Procesador Segmentado Unidad 2 20
Instrucción Store• Transferencias Físicas
IR<---MEM[PC]; PC<--PC+ 4;
BusA<---R[rs];
BusS<---BusA+ext(inm16);
Mem[busS]<--BusB;
IF/ID
ID/EX
EX/MEM
MEM/WB
IR
A Ext(inm16) B
S B
Procesador Segmentado Unidad 2 21
Instrucción Beq• Transferencias Físicas
IR<---MEM[PC]; PC<--PC+ 4;
BusA<--R[rs]; BusB<--R[rt];
dst<--- PC+4+ Signext(inm16)*4; Z<-- (BusA=BusB) ;
si (Z) entonces PC<---dst;
IF/ID
ID/EX
EX/MEM
MEM/WB
IR
A Ext(inm16) B
PC + 4
Z Dst
PC + 4
Procesador Segmentado Unidad 2 22
Registros de Segmentación
IF/ID
ID/EX
EX/MEM
MEM/WB
IR PC+4
A B Irrd Irrt ext(inm16)
B
S Irrd Irrt Dato
Z Dst
PC + 4
S Irrd Irrt
Procesador Segmentado Unidad 2 23
Registros de Segmentación(mejor)
IF/ID
ID/EX
EX/MEM
MEM/WB
IR PC+4
A B Irrd Irrt ext(inm16)
S Reg B
S Reg Dato
Z Dst
PC + 4
Camino de Datos con Señales de Control
ExtInm16
RegW
rs
rt
BusW
Registros
5
5
5
LRA
LRB
WR
RegDst
PC
instMemoria de Instrucciones
32
ALUctr
Memoria de Datos
WE
@
W_src
>>
2
Alusrc
Zero
4
32
32
32+
MU
X
PC+4
IF/ID ID/EX EX/MEM MEM/WB
rt
rd
Aluop
Control ALU
Salto
Procesador Segmentado Unidad 2 25
Lógica de Control
Instrucción Ejecución Memoria Wb
RegDst ALUop1 ALUop0 ALUsrc Salto WE RegW W_src
Formato R 1 1 0 0 0 0 1 0
Lw 0 0 0 1 0 0 1 1
Sw x 0 0 1 0 1 0 x
Beq x 0 1 0 1 0 0 x
• El secuenciamiento de control debe viajar con la instrucción a través del Camino de Datos.
• Cada ciclo de reloj se realizan escrituras en el PC, por lo tanto no hay señal especial de escritura para él.
• Los 4 registros de segmentación también se actualizan en cada ciclo.
• Dividimos las señales de control en 3 grupos, de acuerdo a la etapa en la que actúan.
Juntando Todo
Ext
RegW
BusW
Registros
LRA
LRB
WR
RegDst
PC
instMemoria de Instrucciones
32
ALUctr
Memoria de Datos
WE
@
W_src
>>
2
Alusrc
Zero
4
32
32
32+
MU
X
PC+4
IF/ID
ID/EX
EX/MEM MEM/WB
Aluop
Control ALU
Salto
EX
M
W
M
W
W
Control
$10
$11
Identificar las instrucciones
Ext2090
RegW
11
BusW
Registros
LRA
LRB
WR
RegDst
PC
instMemoria de Instrucciones
32
ALUctr
Memoria de Datos
WE
@
W_src
>>
2
Alusrc
Zero
4
32
32
32+
MU
X
PC+4
IF/ID
ID/EX
EX/MEM MEM/WB
11
1
Aluop
Control ALU
Salto
EX
M
W
M
W
W
Control
10
15
6
0
$10
$11
$5
$6
16
10
00
1100
00
01
0
00
1
00
1
0
31
1
1
15
Organización del Computador I Verano
Rendimiento (2 de 3) Basado en el capítulo 2 del libro de Patterson y Hennessy
Verano 2004 Profesora Borensztejn
FIN Segmentado