Sunteți pe pagina 1din 13

FacultaaddeInfo

ormtica
Un
niversidad Compluten
nsedeMadrid

PROBLEMA
AS DE EST
TRUCTUR
RA DE COM
MPUTADO
ORES

SEGMENTA
ACIN

Oblligatorios::
1. Sea un prrocesador segmentad
s
do con cin
nco etapas como el visto
v
en cllase (DLX) que tienee las
sigu
uientescarractersticaas:

Se puede escribirr y leer en el


e banco dee registros en el mism
mo ciclo dee reloj.
ne tcnicass para red
ducir o elim
minar para
adas en ca
aso de riessgos de da
atos (NO tiiene
No tien
implem
mentado co
ortocircuito
o).
Los salltos se resuelven en la etapa IID. Despus del saltto siempree se busca la instrucccin
siguien
nte y en casso de que se
s produzcca el salto se
s anula la
a instruccin buscada
a.

Se ejecuta
e
en d
dicho proccesador un
na aplicaci
n con las siguientes
s
caracterstticas:
- El 20 % de las in
nstrucciones son salttos condiciionales y el 40 % de llos saltos se
s realizan.. No
hay dep
pendenciaas de datos en las insttrucciones de salto.
- El 188% de lass veces, la
as instruccciones Ii+1 tienen un
na depend
dencia de LDE con
n las
instruccciones Ii (eel 30 % de stas

correesponden a instruccio
ones de loaad).
- El 6%
% de las veeces las instruccioness Ii+2 tienen
n dependen
ncias de L
LDE con la instrucci
n Ii,
(el 30 % de stas corresp
ponden a instruccio
ones de lo
oad), y en
n esos caso
os nunca hay
depend
dencias enttre Ii+1 e Ii+2.
Calcular:
d dicho prrocesador.
a) Los ciclos por insstruccin de
b) Los ciclos por insstruccin sii al procesaador se le aade
a
forw
warding (coortocircuitto).
c) SPEED
D UP del seegundo casso frente all primero.

2. Seaunpro
ocesadorseegmentado
odecinco etapascon
nlassiguientescaracttersticas:
TieneeelHWparaaladetecciinderiessgoygenerracindelaparadaeendecodifiicacin.
Se puede escribirr y leer el registro
r
en
n el mismo ciclo de re
eloj.

Tieneiimplementtadalatcn
nicadeforw
warding(ccortocircuiito).
Lossalltoscondiccionalesseresuelven endecodificacinm
mediantepaaradas.

Sup
pongamos que a estee procesad
dor se le reealiza la siguiente modificacin
m
n: se unen
n las etapass de
ejeccucinym
memoria.Co
omoconseecuenciadeeestamod
dificacine
elcicloderrelojaumen
ntaun35%
%.
Halllarlarelaccindeveelocidades entrelaveersinorig
ginaldelprocesador ylamodificadacuaando
se ejecuta
e
unaa aplicacin
nenlaqueeenel25%
%delosca
asosexisten
ndependen
enciasLDE
Eentreunlload
Pro
oblemas dee Estructuraa de Comp
putadores

Segmenta
acin / pg
g. 1

y la instruccin que le sigue (esta instruccin nunca es un salto condicional) y que el 33% son
saltoscondicionales.

3. ElsiguientefragmentodecdigoseejecutaenunDLXsegmentadodecincoetapas:
sub $1,$2,$3
add $4,$5,$6
sub $5,$4,$8
add $7,$2,$3
add $9,$7,$3
lw $1,10($6)
add $3,$1,$4
sub $6,$7,$8
Suponiendo que se puede escribir un dato en el banco de registros y leer su nuevo valor en el
mismo ciclo, calcular el nmero de ciclos necesarios para ejecutar este cdigo en los siguientes
casos:
a) No existe la posibilidad de anticipar operandos (NO tiene implementado cortocircuito) ni
de reordenar el cdigo.
b) Existe anticipacin de operandos (tiene implementado cortocircuito), pero NO existe la
posibilidad de reordenacin de cdigo.
c) No hay anticipacin de operandos (NO tiene implementado cortocircuito) pero existe la
posibilidad de reordenacin de cdigo. Reordenar el cdigo para conseguir que el nmero
de ciclos sea mnimo.
4. SeaunDLXsegmentadodecincoetapasconlassiguientescaractersticas:
Un dato se puede leer y escribir en el banco de registros en el mismo ciclo de reloj.
Existe anticipacin de operandos (tiene implementado cortocircuito).
Las dependencias de LDE se detectan en la etapa de decodificacin y se resuelven mediante
cortocircuito cuando los operandos estn disponibles.
Los riesgos estructurales referidos a memoria se detectan y se resuelven mediante espera en
la ltima etapa de cada unidad funcional
Los riesgos de EDE entre dos instrucciones A y B tal que A precede a B se resuelven
mediante inhibicin de escritura de la instruccin A.
Las unidades funcionales del procesador son:
UF
FP ADD
FP MUL
Int ALU

Cantidad
1
1
1

Latencia
2
5
1

Segmentacin
si
si
No

Sabiendo que el siguiente fragmento de cdigo se ejecuta sobre dicho procesador


LDF10,0(R1)
MULDF4,F0,F10
LDF12,0(R2)
ADDDF2,F12,F4
LDF48(R1)
MULDF12,F4,F12
Problemas de Estructura de Computadores

Segmentacin / pg. 2

LDF12,16(R1)
a) Representar el diagrama instruccin-tiempo para la primera iteracin e indicar los
cortocircuitos realizados. Indicar claramente las paradas y sus causas.
b) Determinar el CPI

5. Supongamos un computador como el DLX segmentado en cinco etapas con las siguientes
caractersticas:
Poseeanticipacindeoperandos(tieneimplementadocortocircuito).
Utilizasaltosretardadosconundelayslotdeunciclo.
Posee una sola memoria cache para el almacenamiento de instrucciones y datos. Por esta
raznnoresultaposibleleerunainstruccinyrealizarlalecturaoescrituradeundatoenel
mismociclodereloj(nopuedecoincidiretapaMEMdeunloadostoreconotrainstruccin
enetapaIF).
LasescriturasenelbancoderegistrossehacenenlaprimeramitaddelafaseWB,mientras
quelaslecturassehacenenlasegundamitaddelafaseWB.
Supongamos que este computador ejecuta el siguiente programa:
BUCLE: LWR2,X(R6)

LWR3,Y(R6)

SUB R2,R2,R3

ADD R2,R2,R1

SUB R6,R6,#4

SWZ(R6),R2

BNEZ R6,BUCLE

ADD R1,R1,#1

SUB R3,R3,R7
Se supone que el valor inicial de R6 es 2000.
a) Construye el diagrama de tiempo correspondiente a la primera iteracin del bucle, indicando
sobre el diagrama los cortocircuitos que se activan.
b) Calcula el valor del CPI
c) Si el computador trabaja con una frecuencia de 1 GHz, determina el rendimiento en MIPS.
6. ElsiguientefragmentodecdigoseejecutaenunDLXconsegmentacinde7etapas:
LOOP: LDF2,0(R1)

MULTD F4,F2,F0

LD F6,0(R2)

ADDDF6,F4,F6

SD0(R2),F6

ADDI R1,R1,8

ADDI R2,R2,8

SGTI R3,R1,DONE

BEQZ R3,LOOP
ADDR1,R2,#5
Problemas de Estructura de Computadores

Segmentacin / pg. 3


Suponiendo que:
Tanto la memoria de datos como la de instrucciones estn segmentadas en dos etapas
Un dato se puede escribir en un registro y leer su valor en el mismo ciclo
Se dispone de lgica de cortocircuito
La deteccin de todo tipo de riesgos (estructurales y LDE) y generacin de paradas se
realiza en la etapa de decodificacin
Los riesgos EDE se resuelven mediante inhibicin de escritura
Los saltos se resuelven en la etapa de decodificacin
Se emplea un branchdelay slot (salto retardado) de una instruccin
Una inst. aritmtica y un store pueden coexistir en las etapas de MEM y WB
Las unidades funcionales tienen las siguientes caractersticas:
UF
FP ADD
FP MUL
Int ALU

Cantidad
1
1
1

Latencia
4
5
1

Segmentacin
si
si
No

a) Determinar el CPI teniendo en cuenta que done=0x1000 y r1=0x0100 al inicio de la


ejecucin.
b) Reordenar/modificar el cdigo para que el CPI sea mnimo.
7. En un procesador segmentado es necesario ejecutar el siguiente cdigo:
for(n=0;n<100;n++){
for(k=0;k<4;k++){
out[n]+=filter[k]*input[n+k];
}
}

Queriendo conseguir el mayor rendimiento, se decide realizar la siguiente implementacin en


ensamblador:
loop_n:ADDIR2,R0,#0
loop_k: LS F3,0(R3);leedememoria4bytes(loaddeunfloat)

LS F4,0(R4);leedememoria4bytes(loaddeunfloat)

MULSF6,F3,F4
;mult.enpuntoflotante(dedosfloat)

LS F5,0(R5);leedememoria4bytes(loaddeunfloat)
ADDSF5,F6,F5;sumaenpuntoflotante(dedosfloat)
SS O(R5),F5;escribeenmemoria4bytes(storedeunfloat)
ADDIR3,R3,#4;actualizopunteroafilter
ADDIR4,R4,#4;actualizopunteroainput
ADDIR2,R2,#1
BLTIR2,#4,loop_k;saltaaloop_ksiR2<4
ADDIR5,R5,#4;avanzamoselpunterosobreout
SUBIR3,R3,#16 ;R3vuelveaapuntarafilter[0]
SUBIR4,R4,#12
;R4apuntaalsiguienteinput[n]
ADDIR1,R1,#1
BLTIR1,#100,loop_n;saltaaloop_nsiR1<100

Se supone que:
Inicialmente R1=0, R3 apunta a filter[0], R4 apunta a input[0] y R5 apunta a out[0]
Un dato se puede escribir en un registro y leer su valor en el mismo ciclo.
Se dispone de lgica de cortocircuito (forwarding).
Problemas de Estructura de Computadores

Segmentacin / pg. 4

La deteccin de todo tipo de riesgos (estructurales y LDE) y generacin de paradas se


realiza en la etapa de decodificacin.
Los riesgos EDE se resuelven mediante paradas hasta que la instruccin ya lanzada entre
en la etapa de memoria.
Dos instrucciones no pueden acceder simultneamente a la etapa de acceso a memoria ni
tampoco a la de escritura en el banco de registros.
Los saltos se resuelven en la etapa de decodificacin y NO se implementan saltos
retardados (se cancela la siguiente instruccin si el salto es tomado)
Se dispone de las siguientes unidades funcionales:
UF
FP ADDS/
SUBS
FP MULS
INT ALU

Cantidad Latencia Segmentacin


1
2
S
1
1

3
1

S
No

a) Rellena 25 ciclos del diagrama instruccin-tiempo de la hoja adjunta correspondiente al


comienzo del bucle interno con k=3 y n = 0. Si es necesario para llegar a los 25 ciclos, aade
instrucciones a la tabla (filas 16 y 17).
b) A partir del apartado anterior, estima el nmero de ciclos que tardar en ejecutarse el
cdigo completo y determina el CPI. Indica claramente los clculos que realices para llegar
a los resultados.
c) En una versin del procesador, s se implementan saltos retardados (delay-slot). Adapta (si
es necesario) el cdigo anterior para que siga funcionando correctamente. Se obtiene algn
beneficio para este cdigo? Justifica tu respuesta.
d) Asumiendo el procesador original (sin delay-slot), trata de mejorar el rendimiento
mediante reordenacin de instrucciones y/o transformaciones de cdigo a alto nivel. Se
valorarn especialmente estas ltimas, ya que conducirn a mejor rendimiento. En
cualquier caso, escribir el cdigo final en ensamblador y estimar nuevamente los ciclos de
ejecucin y el CPI.

Problemas de Estructura de Computadores

Segmentacin / pg. 5

F
FacultaddeI
Informtica
UniveersidadCompllutensedeMad
drid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
5

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
5

LS F3,0(R3)
LS F4,0(R4)
MULS F6,F3,F44
LS F5,0(R5)
ADDS F5,F6,F55
SS 0(R5),F5
ADDI R3,R3,#4
ADDI R4,R4,#4
ADDI R2,R2,#1
BLTI R2,#4,
ADDI R5,R5,#4
SUBI R3,R3,#166
SUBI R4,R4,#122
ADDI R1,R1,#1
BLTI R1,100

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

mas de Estructu
ura de Computtadores
Problem

Segm
mentacin / p
g. 6

FacultaaddeInfo
ormtica
Un
niversidad Compluten
nsedeMadrid

Opccionales:
1. Sea un prrocesador segmentad
s
do con cin
nco etapas como el visto
v
en cllase (DLX) que tienee las
sigu
uientescarractersticaas:

Se puede escribirr y leer en el


e banco dee registros en el mism
mo ciclo dee reloj.
No tien
ne tcnicass para red
ducir o elim
minar para
adas en ca
aso de riessgos de da
atos (NO tiiene
implem
mentado co
ortocircuito
o).
Los salltos se resu
uelven en ejecucin.
e

Se ejecuta
e
en d
dicho proccesador un
na aplicaci
n con las siguientes
s
caracterstticas:

El 18%
% de las veces, lass instrucciiones Ii+1 tienen un
na depend
dencia de LDE con las
instruccciones Ii. El
E 29 %de stas

corressponden a instruccio
ones de loaad.
El 6% d
de las vecees las instru
ucciones Ii++2 tienen dependencias de LDE
E con la instruccin Ii
El 25% de las insttrucciones son de biffurcacin condiciona
c
l, de las cu
uales se tom
man el 35%
%.
No hay
y dependen
ncias de da
atos en las instruccio
ones de saltto.

Calcular:
a) Los cicclos por insstruccin de
d dicho prrocesador.
b) Los cicclos por insstruccin si al processador se le aade forw
warding (ccortocircuito) y los saaltos
se resu
uelven en decodificac
d
cin.
c) SPEED
D UP del seegundo casso frente all primero.
d) Eficien
ncia de amb
bos casos.

mos un pro
ocesador segmentado
o de cinco
o etapas en
n el que see ejecutan 2 aplicacio
ones
2. Supongam
difeerentes.Laaaplicacin
nAtieneu
un17%de instruccio
onesconun
napenalizaacinde3ciclosderreloj
yun
n12%deiinstruccion
nesconun
napenalizaacinde2 ciclosderreloj.Laap
plicacinB
Btieneun225%
deiinstruccion
nescon1ciclodepen
nalizacin..
a)
b)
c)
d)

Cul ees el ciclo por


p instrucccin de caada una de las aplicacciones?
Cul ees el ciclo por
p instrucccin prom
medio del procesador
p
?
Cul ees el speed
dup frente al
a procesad
dor sin seg
gmentar?
Cul ees la eficaccia frente all procesad or segmen
ntado ideal?

3. Sea un prrocesador segmentad


s
do con UF
Fs multiciclo del cua
al se sabe que los riesgos de LDE
L
tien
nenunapeenalizacin
nmediade3ciclosy
yquelosrieesgosdeEDEtienen unapenallizacinmeedia
de4
4ciclos.Seeejecutaen
ndichoprrocesadoru
unaaplicacinenlaquehayu
un35%de riesgosLD
DEy
un8
8%deriesgosEDE.
d procesador?
a) Cul ees el CPI del
Pro
oblemas dee Estructuraa de Comp
putadores

Segmenta
acin / pg
g. 7

b) Se modifica el procesador de manera que los riesgos EDE se eliminen inhabilitando la


escritura de la primera instruccin. Cul es el nuevo CPI?
c) Cul es el speedup obtenido con la modificacin?
4. Suponiendo los siguientes tiempos de ejecucin de los diversos elementos de una ruta de datos
para el MIPS:
Lectura de memoria: 5ns; escritura de memoria: 7ns; lgica de control de la ALU: 2ns; lgica de
control principal: 2 ns; lectura BR: 1ns; escritura BR: 2ns; operacin ALU: 5ns; extensin signo: 1
ns; multiplicacin por 4: 1 ns; multiplexores: 1 ns; Tsetup=0,1 ns; Thold=0,1 ns; CLK_to_Q= 0,1 ns.
a) Calcular cul es el mejor tiempo de ciclo para una implementacin segmentada.
b) Si el tiempo de escritura en memoria fuese 15 ns, realizar el mismo clculo.
5. Sobre la estructura del computador MIPS segmentado, se ejecuta la siguiente secuencia de
instrucciones:
ADD $1, $2, $3
SUB $4, $2, $3
AND $5, $2, $3
OR $6, $2, $3
Si la instruccin ADD est colocada en la direccin de memoria 00002000 (Hex), y el contenido de los
registros es:
$1=00000005
$2=00000004
$3=00000002
PC=00002000
a) Sealar el contenido de los siguientes registros al cabo de 4 ciclos de reloj: IF/ID.pc,
ID/EX.pc, EX/MEM.pc, ID/EX.A, ID/EX.B, EX/MEM.ALUout, MEM/WB.ALUout,
ID/EX.rd, EX/MEM.rd, MEM/WB.rd.
b) Indicar tambin el contenido de cada uno de los registros que almacena el control.
6. SetieneelsiguientefragmentodecdigodelMIPS.
OR $4, $8, $9
(100 instrucciones con dependencias internas de datos, pero no detencin de pipeline)
ADD $5, $6, $7
OR $4, $1, $6
(100 instrucciones con dependencias internas de datos, pero no detencin de pipeline)
LW $10, 20($4)
ADD $8, $9, $10
SUB $6, $8, $1
OR $1, $3, $5
BEQ $1,$2,1000
ADD $1, $5, $6
a) Cunto tardara en ejecutarse, si cuando hay un conflicto de control se espera a que se
solucione y se supone que el destino de salto se conoce en la fase ID y la comparacin de
Problemas de Estructura de Computadores

Segmentacin / pg. 8

salto tambin. Suponer que no hay anticipacin de operandos.


b) Si se tuviesen saltos retardados, cmo se podra rellenar el hueco de salto para disminuir el
tiempo de ejecucin? Cul sera este tiempo?
c) Y si adems de saltos retardados tuvisemos anticipacin de operandos?
El destino del salto es la instruccin OR $4, $1, $6, y el salto se repite 100 veces.
7. SeaunprocesadorDLXsegmentadoconlassiguientescaractersticas:

Un dato se puede escribir en un registro y leer su valor en el mismo ciclo.


Se dispone de lgica de cortocircuito (forwarding).
Los saltos se resuelven en la etapa de decodificacin y se cancela la siguiente instruccin si
el salto es tomado.
La deteccin de todo tipo de riesgos y generacin de paradas se realiza en la etapa de
decodificacin.
En el caso de los riesgos EDE se produce una parada hasta que la instruccin ya lanzada
entre en la etapa de memoria (en ese momento la segunda instruccin saldra de su etapa
ID).
Los registros r1 y r2 contienen inicialmente el valor 4.
Dos instrucciones no pueden acceder simultneamente a la etapa de acceso a memoria ni
tampoco a la de escritura en el banco de registros.
Se dispone de las siguientes unidades funcionales:
UF
FP ADD
FP MUL
FP DIV
Int ALU

Cantidad
1
1
1
1

Latencia
2
3
5
1

Segmentacin
No
No
No
No

En este procesador se ejecuta el siguiente fragmento de cdigo


L0:

ADDD F2,F4,F0
SD F2,0(r1)
DIVD F4,F4,F0
ADDD F4,F0,F2
MULD F2,F2,F4
LD F4,0(r1)
ADDD F0,F2,F4
ADDD F8,F6,F8
SUBI r2,r2,#1
ADDI r1,r1,#1
BNEZ r2,L0
ADDD F0,F8,F2
ADDD F2,F0,F8
end

a) Representar el diagrama instruccin-tiempo e indicar los cortocircuitos realizados. Indicar


claramente las paradas y sus causas.
b) Calcular los CPI (ciclos por instruccin) resultantes de la ejecucin del cdigo.
Problemas de Estructura de Computadores

Segmentacin / pg. 9

8. SeaunDLXsegmentadoconlassiguientescaractersticas:
Un dato se puede escribir en el banco de registros y leer su valor en el mismo ciclo.
Se dispone de lgica de cortocircuito (forwarding).
Los saltos se resuelven en la etapa de decodificacin.
La deteccin de todo tipo de riesgos (estructurales y LDE) y generacin de paradas se
realiza en la etapa de decodificacin.
Los riesgos EDE se resuelven mediante inhibicin de escritura.
Dos instrucciones no pueden acceder simultneamente a la etapa de acceso a memoria ni
tampoco a la de escritura en el banco de registros.
Se dispone de las siguientes unidades funcionales:
UF
FP ADDD
FP SUBD
FP MULD
FP DIVD
INT ALU

Cantidad
1
1
1
1
1

Latencia
3
3
4
5
1

Segmentacin
S
S
S
No
No

En este procesador se ejecuta el siguiente fragmento de cdigo


ADDI r3,r0,#3
L1 : SUBD F2,F6,F8
SUBD F4,F8,F6
SD 0(r3),F4
DIVD F2,F4,F8
ADDD F2,F8,F8
SUBI r3,r3,#1
DIVD F6,F4,F8
MULD F4,F2,F6
SUBD F10,F2,F6
LD F4,0(r3)
ADDD F0,F4,F2
BNEZ r3,L1
MULD F4,F2,F2
end
a) Representar el diagrama instruccin-tiempo para la primera iteracin e indicar los
cortocircuitos realizados. Indicar claramente las paradas y sus causas.
b) A la vista del diagrama obtenido, y sin necesidad de desarrollar todas las iteraciones,
calcular el nmero de ciclos que toma la ejecucin completa del cdigo.
9. ElsiguientefragmentodecdigoseejecutaenunDLXconsegmentacin:
LOOP: LD
F2, 0(R1)
MULTD F4, F2, F0
LD
F6, 0(R2)
ADDD F6, F4, F6
SD
0(R2), F6
Problemas de Estructura de Computadores

Segmentacin / pg. 10

ADDI R1, R1, 8


ADDI R2, R2, 8
SGTI
R3, R1, DONE
BEQZ R3, LOOP
ADDR1,R4,#5
Suponiendo que:
Un dato se puede escribir en un registro y leer su valor en el mismo ciclo
Se dispone de lgica de cortocircuito
Permite la coexistencia del store y de las operaciones aritmticas en las etapas de M y W
Los saltos se resuelven en la etapa de decodificacin
Se emplea un branchdelay slot (salto retardado) de una instruccin
Las unidades funcionales tienen las siguientes caractersticas:
UF
Cantidad Latencia Segmentacin
FP ADD
1
4
No
FP MUL
1
5
No
Int ALU
1
1
No
a) Representar el diagrama instruccin-tiempo para la primera iteracin e indicar los
cortocircuitos realizados. Indicar claramente las paradas y sus causas.
b) Determinar el CPI teniendo en cuenta que done=0x1000 y r1=0x0100 al inicio de la
ejecucin.
10. EnunDLXconsegmentacinejecutamoselsiguientefragmentodecdigo:
LOOP: DIVDF0,F4,F2

ADDDF0,F2,F6

DIVDF8,F8,F2

ADDIR3,R3,#1

ADDDF2,F6,F8

MULDF6,F8,F0

LDF2,0(R3)

SD0(R5),F6

MULDF2,F6,F8

ADDDF6,F8,F0

ADDDF0,F2,F2

SUBIR5,R5,#1

BNEZR5,LOOP

ADDDF4,F2,F2

SUBDF6,F0,F0
END:SUBIR3,R3,#1
Se supone que:

Un dato se puede escribir en un registro y leer su valor en el mismo ciclo.


Se dispone de lgica de cortocircuito (forwarding).

Problemas de Estructura de Computadores

Segmentacin / pg. 11

Los saltos se resuelven en la etapa EX y se espera a que se resuelvan antes de lanzar la


siguiente instruccin.
La deteccin de todo tipo de riesgos (estructurales y LDE) y generacin de paradas se
realiza en la etapa de decodificacin.
Los riesgos EDE se resuelven mediante inhibicin de escritura.
Inicialmente r5=1000.
Dos instrucciones no pueden acceder simultneamente a la etapa de acceso a memoria ni
tampoco a la de escritura en el banco de registros.
Se dispone de las siguientes unidades funcionales:
UF
FP ADDD
FP SUBD
FP MULD
FP DIVD
INT ALU

Cantidad
1
1
1
1
1

Latencia
2
2
3
4
1

Segmentacin
S
S
S
No
No

Representar el diagrama instruccin-tiempo para la primera iteracin e indicar los cortocircuitos


realizados as como las paradas producidas y sus causas. A la vista del diagrama obtenido, indicar
el nmero de ciclos por instruccin (CPI) en rgimen estacionario.
11. Seaundlxetapadeejecucinmulticicloconlassiguientescaractersticas:
Un dato se puede escribir y leer de un registro en el mismo ciclo de reloj.
Los saltos se resuelven en la etapa de decodificacin
Las detecciones de riesgos de datos y generacin de paradas se realiza en la etapa de
decodificacin.
La deteccin de riesgos EDE se realiza en la etapa ID y se produce una parada hasta que la
instruccin ya lanzada entre a la etapa de memoria.
Forwarding combinacional
Salto retardado de 1 instruccin
UF

CANTIDAD LATENCIA SEGMENTACIN

FPADD
FP DIV
FPMUL
INTALU

1
1
1
1

Y el siguiente fragmento de cdigo:


LOOP:
LDF6,0(R2)
MULD F8,F6,F0
ADDIR2,R2,#1
LDF2,0(R2)
DIVD F8,F2,F8
SD0(R2),F8
MULDF8,F2,F0
ADD F8,F4,F6
ADDI R3,R3,,#8
SGTI R4,R3,DONE
Problemas de Estructura de Computadores

2
10
5
1

NO
NO
NO
NO

Segmentacin / pg. 12

BNEZ R4,LOOP
ADDR1,R2,#5
a) CPI del pipeline, suponiendo que el bucle se ejecuta muchas veces.
b) Suponiendo que el hardware de la mquina puede inhibir la escritura en el registro
destino de una instruccin ya lanzada. Explica cmo usar esta caracterstica para reducir
las penalizaciones debidas a los riesgos EDE. Calcula el nuevo valor de CPI.

Problemas de Estructura de Computadores

Segmentacin / pg. 13

S-ar putea să vă placă și