Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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 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
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
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
3
1
S
No
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 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)
Segmenta
acin / pg
g. 7
Segmentacin / pg. 8
Cantidad
1
1
1
1
Latencia
2
3
5
1
Segmentacin
No
No
No
No
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
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
Segmentacin / pg. 10
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:
Segmentacin / pg. 11
Cantidad
1
1
1
1
1
Latencia
2
2
3
4
1
Segmentacin
S
S
S
No
No
FPADD
FP DIV
FPMUL
INTALU
1
1
1
1
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.
Segmentacin / pg. 13