8/18/2019 DLX Pipeline
1/18
Arquitectura de Computadores Mejora del Rendimiento - 1
Arquitectura de Computadores
1. Introducción
2. La CPU
3. Lenuaje M!quina". La Memoria
#. $istemas de %ntrada&$alida
'. Mejora del Rendimiento
(. Arquitecturas RI$C
8/18/2019 DLX Pipeline
2/18
Arquitectura de Computadores Mejora del Rendimiento - 2
Arquitectura de Computadores
'. Mejora del Rendimiento
1. CPU $ementada )Pipeline *1.2 Un ejemplo+ ,L
2. Memoria Cac/
1. CPU $ementada )Pipeline *1.2 Un ejemplo+ ,L
8/18/2019 DLX Pipeline
3/18
Mejora del Rendimiento - 3Arquitectura de Computadores
La CPU $ementación )Un ejemplo+ ,L-*
0amos a er una simpliicación )sin tener en cuentainstrucciones multiciclo MMU etc.*
Arquitectura RI$C load&store
Arquitectura 4ar1ard de memoria
# etapas
IF+ %5tracción de la instrucción ID+ ,ecodiicación & Acceso a reistros EX+ %jecución & C!lculo de operandos MEM+ Acceso a memoria WB+ 6rite 7ac8 )escritura en
reistros*
Cada etapa en un ciclo de reloj
8/18/2019 DLX Pipeline
4/18
Mejora del Rendimiento - "Arquitectura de Computadores
Pipeline ...,L-
I - c
a c h é
Actualizar PC
R e g
. I n s t r . D
- c a c h é
A L U O u t p u t
A l m a c e n a r R e g .
D a t o d e M e m .
D a t o
a R e g . M
U A
L U
A L U I n p u t !
A L U I n p u t
"
A L U I n p
u t #
P C
IF ID EX MEM WB
5
532
32
32
32
$scritura en registros
Lectura %
$scritura
R e g i s t r o s
Unidadde &altos
32&alto 'ue(o PC
8/18/2019 DLX Pipeline
5/18
Mejora del Rendimiento - #Arquitectura de Computadores
Pipeline ...,L-
IF+ Extracción de la instrucciónIR 9 I:Cace ;PC
8/18/2019 DLX Pipeline
6/18
Mejora del Rendimiento - 'Arquitectura de Computadores
Pipeline ...,L-
EX E!ecución / "#lculo de o$erandos
@tener ALU:@utput operación aritm/tica&lóica
dirección de memoria
B
MEM Acceso a %e%oria,ato:a:Reistro 9 ALU:@utput ó
,:Cace ;ALU:@utput< 9 Almacenar:Re
WB Write Bac& 'escritura en registros(Reistros;< 9 ,ato:a:Reistro ó
Reistros;< 9 ,ato:de:Mem
8/18/2019 DLX Pipeline
7/18Mejora del Rendimiento - (Arquitectura de Computadores
Pipeline ...,L-
D)X Instrucciones *+$icas
I,S*-.""I, 0E-A"I, E2EM)0 NOP
LW Reg, Dir (Reg
8/18/2019 DLX Pipeline
8/18Mejora del Rendimiento - Arquitectura de Computadores
Pipeline ...,L-
D)X -alenti3ación 4 De$endencias de Datos $ólo amos a estudiar las RA6
6A6 ocurren en cauces con m!s de un etapa de escritura D enejecuciones uera de orden
6AR cuando una etapa de escritura precede a una de lectura
IFlw R1,$100
lw R2,$200
add R2,R1,R2
!" R1,R2,R1
*ie%$o
1 2 3 4 5 6 7 8
ID
IF
EX
ID
IF WB
MEM WB
MEM
EX
ID
IF
WB
MEM
EX
ID
WB
MEM
EXAntiguo R1
Nuevo R1
8/18/2019 DLX Pipeline
9/18Mejora del Rendimiento - EArquitectura de Computadores
Pipeline ...,L-
S0)."I, S0F*WA-E )Insertar ?@P por el compilador*
lw R1,$100
lw R2,$200
add R2,R1,R2
*ie%$o
1 2 3 4 5 6 7 8
#%
#%
56abr+a bastado con una 7nica instrucción ,08
9
MEM WBIF ID EX
MEM WBIF ID EX
MEM WBIF ID EX
MEM WBIF ID EX
MEM WBIF ID EX
No hay conficto
Se accede a los registros en el 2 subciclo de ID
Nuevo R1
8/18/2019 DLX Pipeline
10/18Mejora del Rendimiento - 1>Arquitectura de Computadores
Pipeline ...,L-
S0)."I, 6A-DWA-E ),etener el cauce*
lw R1,$100
lw R2,$200
add R2,R1,R2
*ie%$o
1 2 3 4 5 6 7 8
Nuevo R1
9
!" R1,R2,R1
10
9"ada de$endencia -AW genera burbu!as
Se ralenti3a la e!ecución del $rogra%a
IF ID
IF
EX
ID
IF
MEM
EX
IF
WB
MEM
IF
WB
ID
IF
EX
IF
MEM
IF
WB
ID EX
8/18/2019 DLX Pipeline
11/18Mejora del Rendimiento - 11Arquitectura de Computadores
Pipeline B,L
S0)."I, 6A-DWA-E )Antici$ación*
add R2,R1,R2
*ie%$o
1 2 3 4 5 6
!" R1,R2,R1
9Eli%ina%os las burbu!as
5Funciona $ara todas las instrucciones8
ALU
ALU
R2
AnticipaciónMEM WBIF EX
MEM WB
ID
IF ID EX
R2
8/18/2019 DLX Pipeline
12/18Mejora del Rendimiento - 12Arquitectura de Computadores
Pipeline B,L
S0)."I, 6A-DWA-E )Detener el cauce = Antici$ación*
lw R1,$100
lw R2,$200
add R2,R1,R2
*ie%$o
1 2 3 4 5 6 7 8 9
!" R1,R2,R1
10
A$arecen burbu!as cuando ;a< instrucciones de acceso a %e%oria 'lw(
El dato en una instrucción load 'lw( est# dis$onible tras la eta$a MEM
Anticipación
MEM!E"IF MEMID EX
IF ID EX
IF ID
IF
WB
MEM WB
ID
WB
MEM
IF
EX
WB
ID
MEM
EX
R2
R1
R2
Anticipación
E"!E"
8/18/2019 DLX Pipeline
13/18Mejora del Rendimiento - 13Arquitectura de Computadores
Pipeline ...,L
E2EM)0 4 Sin antici$ación 'For=arding(
lw R&,$100
ll' R&,R&,2
g( R1,R),R&
*ie%$o
1 2 3 4 5 6 7 8 9
ID
IF
IF IF IF
MEMIF ID EX WB Nuevo R#
MEM WBEX
EXEIF MEM
,L
8/18/2019 DLX Pipeline
14/18Mejora del Rendimiento - 1"Arquitectura de Computadores
Pipeline B,LD)X -alenti3ación 4 Moti>os estructurales
,L no tiene riesos estructurales )$tructural $tall *.
0amos a introducir alunas modiicaciones en las etapas del caucepara proocar la aparición de riesos estructurales.
"aso 1.- $uponamos que en la etapa M%M realiFamos unaescritura en los reistros
Giempo
1 2 3 4 5 6 7 8
"AS0 1
lw R1,$100
ll' R&,R*,2
Banco de REGISR!S
Acceso si$ult%neoWBWB
MEM
WB WBWB
IF ID EX
IF ID
MEM
WB
EX
,L
8/18/2019 DLX Pipeline
15/18Mejora del Rendimiento - 1#Arquitectura de Computadores
Pipeline ...,L
Banco de REGISR!S
Acceso si$ult%neo
0*-0S -IES?0S UtiliFación de la ALU )por ejemplo para actualiFar el contador de prorama*
Una Hnica memoria )accesos simult!neos desde las etapas I D M%M*.
"aso .- La etapa I, tiene dos suciclos )1J decodiicación D 2J
acceso a los operandos en el anco de reistros*. ,iidimos laetapa I, en dos+ ,%C R%K.
"AS0
WBlw R&,$100
ll' R&,R&,2
Giempo
1 2 3 4 5 6 7 8
++++++++++
IF DE" REG MEMEX
IF DE" REG MEM WBEX
,L
8/18/2019 DLX Pipeline
16/18Mejora del Rendimiento - 1'Arquitectura de Computadores
Pipeline ...,LD)X -alenti3ación 4 Bifurcaciones
%l prolema aparece con las instrucciones de salto condicional
,etener el cauce para conocer la siuiente instrucción a ejecutarreduce su rendimiento
Calcular la dirección de salto lo antes posile )etapa I,* aorece latoma de decisiones D eita los riesos de control
I%$le%entación 7GA )7ranc. Garet Address *+ ?ueo reistro interno %n la etapa I, se calcula la dirección del salto )desplaFamiento
sore el PC* se uarda en 7GA D se compruea la condición de salto)consulta de un reistro*
Poltica adoptada+ Predicción est!tica de no saltarN
%n la etapa % si el salto se toma se actualiFa PC con 7GA
Puede ocurrir dos situaciones+
?o se toma el salto 9O Continua la ejecución
$e toma el salto 9O 0aciar el cauce
A&IER'(
,L
8/18/2019 DLX Pipeline
17/18Mejora del Rendimiento - 1(Arquitectura de Computadores
Pipeline ...,L
Bifurcaciones: ,0 se to%a el salto
#%
"e- R1,SALIR
add R2,R.,R2
*ie%$o
1 2 3 4 5 6 7 8 9
!" R&,R),R*
10
SALIR ++
R11
IF ID
IF
" @ "
EX
ID
IF WB
MEM WB
MEM
EX
ID
IF
WB
MEM
EX
ID
WB
MEM
EX
redicción est#tica de Cno saltar
B*A" @ " des$l.
-1@1 # ,0 SA)*A-
,L
8/18/2019 DLX Pipeline
18/18Mejora del Rendimiento 1Arquitectura de Computadores
Pipeline ...,L
Bifurcaciones: SI se to%a el salto
#%
"e- R1,SALIR
add R2,R.,R2
*ie%$o
1 2 3 4 5 6 7 8 9
!" R&,R),R*
10
SALIR ++
R10
IF ID
IF
EX
ID
IF
MEM
EX
redicción est#tica de Cno saltar
" @ B*A"
99SA)*A-
0aciar
IF WBMEM
WB
EX
WB
MEM
ID
Top Related