Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Introduccin
2. La CPU
3. Lenguaje Mquina
4. La Memoria
5. Sistemas de Entrada/Salida
6. Mejora del Rendimiento
7. Arquitecturas RISC
Arquitectura de Computadores
Arquitectura de Computadores
6. Mejora del Rendimiento
1. CPU Segmentada (Pipeline)
1.2 Un ejemplo: DLX
2. Memoria Cach
Arquitectura de Computadores
La CPU
Extraccin de la instruccin
ID:
EX:
MEM:
Acceso a memoria
WB:
registros)
Arquitectura de Computadores
...DLX
MUX
Dato de Mem.
Dato a Reg.
D-cach
32
Lectura /
Escritura
Almacenar Reg.
32
Registros
32
Reg. Instr.
I-cach
ALU Output
Actualizar
PC
ALU
Unidad
de Saltos
ALU Input 1
PC
Salto
ALU Input 2
Nuevo PC 32
ALU Input 3
Pipeline
Escritura en registros
IF
ID
Arquitectura de Computadores
EX
32
MEM
WB
Pipeline
...DLX
IR es el Registro de Instruccin
PC = PC+4
PC es el Contador de Programa
= IR[15-0]
(Dir. Inmediatos)
Nuevo PC
= Dir_Salto
Arquitectura de Computadores
Pipeline
EX
...DLX
Ejecucin / Clculo de operandos
Obtener ALU_Output
operacin aritmtica/lgica
direccin de memoria
MEM
Acceso a memoria
Dato_a_Registro
= ALU_Output
WB
Registros[] = Dato_de_Mem
Arquitectura de Computadores
...DLX
Pipeline
OPERACIN
EJEMPLO
NOP
LW
Reg, Dir
(Reg<-Mem[Dir])
LW r12, Vector(r4)
SW
Dir, Reg
(Mem[Dir]<- Reg)
SW Vector(r4), r12
ADD/SUB
SGT
RA,RB,RC
RA,RB,RC
(RA<-RB+RC)
ADD R1,R2,R3
RA =(RB>RC)?1:0
SGT R1,R5,R4
(NE,EQ,LT,LE,GE)
BEQZ
RA,ETIQ
BEQZ R1,BUCLE
SLLI
RA,RB,X
RA<-RB<<2
SLLI R5,R5,2
(SLL,SRL,SRLI)
Arquitectura de Computadores
Pipeline
...DLX
DLX Ralentizacin Dependencias de Datos
lw R1,$100
IF
ID
EX
IF
ID
EX
IF
ID
EX
IF
ID
lw R2,$200
add R2,R1,R2
sub R1,R2,R1
Antiguo R1
Nuevo R1
MEM WB
MEM WB
MEM WB
EX
MEM WB
Tiempo
Arquitectura de Computadores
Pipeline
...DLX
lw R1,$100
IF
ID
EX
IF
ID
EX
IF
ID
EX
IF
ID
EX
IF
ID
lw R2,$200
add R2,R1,R2
nop
nop
MEM WB
Nuevo R1
MEM WB
MEM WB
No hay conflicto
MEM WB
EX
MEM WB
Tiempo
...DLX
Pipeline
IF
ID
EX
IF
ID
EX
IF
IF
add R2,R1,R2
sub R1,R2,R1
MEM WB
10
Nuevo R1
MEM WB
IF
ID
EX
IF
IF
MEM WB
IF
ID
EX
Tiempo
DLX
Pipeline
add R2,R1,R2
IF
ID
EX
MEM WB
Anticipacin
R2
sub R1,R2,R1
IF
ID
EX
MEM WB
Tiempo
ALU
R2
ALU
Arquitectura de Computadores
Pipeline
DLX
lw R1,$100
IF
ID
EX
9
8
Anticipacin
MEM->EX
MEM WB
R1
lw R2,$200
IF
ID
EX
Anticipacin
MEM WB
EX->EX
R2
add R2,R1,R2
sub R1,R2,R1
IF
ID
ID
10
EX
MEM WB
R2
IF
IF
ID
EX
MEM WB
Tiempo
...DLX
Pipeline
lw R5,$100
slli R5,R5,2
IF
ID
EX
IF
IF
sgt R1,R4,R5
MEM WB
IF
Nuevo R5
ID
EX
IF
IF
MEM WB
EXE MEM
Tiempo
Arquitectura de Computadores
Pipeline
DLX
lw R1,$100
IF
ID
EX
CASO 1
4
MEM
WB
WB
Acceso simultneo
Banco de REGISTROS
slli R5,R6,2
IF
Arquitectura de Computadores
ID
EX
MEM
WB
WB
Tiempo
Pipeline
...DLX
CASO 2
lw R5,$100
IF
DEC REG
EX
Acceso simultneo
MEM WB
Banco de REGISTROS
slli R5,R5,2
IF
DEC REG
EX
MEM WB
Tiempo
OTROS RIESGOS
Utilizacin de la ALU (por ejemplo para actualizar el contador de programa)
Una nica memoria (accesos simultneos desde las etapas IF y MEM).
Arquitectura de Computadores
Pipeline
...DLX
Implementacin
Se toma el salto
Arquitectura de Computadores
ACIERTO
Pipeline
...DLX
Bifurcaciones: NO se toma el salto
Prediccin esttica de
no saltar
nop
IF
ID
EX
MEM WB
IF
ID
EX MEM
R1=1
beqz R1,SALIR
PC = PC + 4
add R2,R3,R2
sub R5,R4,R6
IF
ID
EX
IF
ID
10
BTAC = PC + despl.
WB
R1=1 NO SALTAR
MEM WB
EX
MEM WB
SALIR: ..
Tiempo
Arquitectura de Computadores
Pipeline
...DLX
Bifurcaciones: SI se toma el salto
Prediccin esttica de
no saltar
nop
IF
ID
EX
MEM WB
IF
ID
EX MEM
R1=0
beqz R1,SALIR
add R2,R3,R2
10
PC = BTAC
WB
SALTAR!!
Vaciar
IF
sub R5,R4,R6
SALIR: ..
IF
ID
EX
MEM WB
Tiempo
Arquitectura de Computadores