Escolar Documentos
Profissional Documentos
Cultura Documentos
So Carlos
2014
6908114
SUMRIO
1.
2.
3.
2.1
2.2
2.3
2.4
2.5
REFERNCIAS ___________________________________________________ 7
1.
Na (Figura 3), podemos ver o que est acontecendo durante a simulao. No label
instruo atual mostrada a instruo que foi buscada no estgio BI (busca de instrues).
Em ciclo temos o ciclo atual da execuo, em bolhas mostrado quantas bolhas j foram
inseridas devido ao(s) conflito(s) presente entre as instrues. Em seguida vemos uma barra
de progresso, esta barra mostra o percentual concludo da simulao, a cada ciclo o
progresso ser incrementado.
Este campo inovador d ao usurio informaes valiosas sobre o que est
acontecendo durante a simulao, ele proporcionar informaes que com outros
simuladores s seriam vistas aps a simulao no relatrio final.
No campo recursos (Figura 4), podero ser ativados trs tipos de adiantamentos,
[MD -> EX] memria de dados para o estgio de execuo, [ER -> EX] escrita nos
registradores para o estgio de execuo e [ER -> MD] escrita nos registradores para a
memria de dados. Estes recursos podem ser ativados unicamente ou simultaneamente. A
opo, Escalonamento Dinmico, ainda no foi implementada, est designada como tarefa
para trabalho futuro.
Figura 4 Recursos
2.
Souce
ID/EX
EX/MEM
ForwardA = 01
MEM/WB
ForwardB = 00
ForwardB = 10
ID/EX
EX/MEM
ForwardB = 01
MEM/WB
2.1
Explicao
O primeiro operando da ULA vem do registrador
O primeiro operando da ULA adiantado a partir
do resultado prvio da ULA
O primeiro operando da ULA adiantado a partir
da memria ou recente resultado da ULA
O segundo operando da ULA vem do registrador
O segundo operando da ULA adiantado a
partir do resultado prvio da ULA
O segundo operando da ULA adiantado a
partir da memria ou recente resultado da ULA
Cdigo original:
LW $1,200($2)
LW $2,300($3)
ADD $6,$1,$3
//dependencia de $3
SW $6,100($2)
//dependncia de $6
XOR $7,$6,$3
LW $1,400($2)
AND $8,$7,$1
//dependncia de $1
LW $9,900($8)
//dependncia de $8
SW $9,850($9)
//dependncia de $9
XOR $9,$9,$1
2.2
Sada
Dependncias
[ 1 ] LW $1,200($2)
DEP( 1,3 ) - $1
[ 2 ] LW $2,300($3)
DEP( 2,4 ) - $2
[ 3 ] BOLHA
DEP( 2,6 ) - $2
[ 4 ] ADD $6,$1,$3
DEP( 3,4 ) - $6
[ 5 ] BOLHA
DEP( 3,5 ) - $6
[ 6 ] BOLHA
DEP( 5,7 ) - $7
[ 7 ] SW $6,100($2)
DEP( 6,7 ) - $1
[ 8 ] XOR $7,$6,$3
DEP( 6,10 ) - $1
[ 9 ] LW $1,400($2)
DEP( 7,8 ) - $8
[ 10 ] BOLHA
DEP( 8,9 ) - $9
[ 11 ] BOLHA
DEP( 8,9 ) - $9
[ 12 ] AND $8,$7,$1
DEP( 8,10 ) - $9
[ 13 ] BOLHA
[ 14 ] BOLHA
[ 15 ] LW $9,900($8)
[ 16 ] BOLHA
[ 17 ] BOLHA
[ 18 ] SW $9,850($9)
[ 19 ] XOR $9,$9,$1
2.3
Sada
Dependncias
[ 1 ] LW $1,200($2)
DEP( 1,3 ) - $1
[ 2 ] LW $2,300($3)
DEP( 2,4 ) - $2
[ 3 ] BOLHA
DEP( 2,6 ) - $2
[ 4 ] ADD $6,$1,$3
DEP( 3,4 ) - $6
[ 5 ] SW $6,100($2)
DEP( 3,5 ) - $6
[ 6 ] BOLHA
DEP( 5,7 ) - $7
[ 7 ] XOR $7,$6,$3
DEP( 6,7 ) - $1
[ 8 ] LW $1,400($2)
DEP( 6,10 ) - $1
[ 9 ] BOLHA
DEP( 7,8 ) - $8
[ 10 ] BOLHA
DEP( 8,9 ) - $9
[ 11 ] AND $8,$7,$1
DEP( 8,9 ) - $9
[ 12 ] LW $9,900($8)
DEP( 8,10 ) - $9
[ 13 ] BOLHA
[ 14 ] BOLHA
[ 15 ] SW $9,850($9)
[ 16 ] XOR $9,$9,$1
2.4
Ciclos na execuo: 19
Bolhas: 5
Adiantamento(s) Ativado(s): [ ER -> EX ]
N de Dependncias RAW: 12
SpeedUp: 3,750
Sada
Dependncias
[ 1 ] LW $1,200($2)
DEP( 1,3 ) - $1
[ 2 ] LW $2,300($3)
DEP( 2,4 ) - $2
[ 3 ] ADD $6,$1,$3
DEP( 2,6 ) - $2
[ 4 ] BOLHA
DEP( 3,4 ) - $6
[ 5 ] SW $6,100($2)
DEP( 3,5 ) - $6
[ 6 ] XOR $7,$6,$3
DEP( 5,7 ) - $7
[ 7 ] LW $1,400($2)
DEP( 6,7 ) - $1
[ 8 ] BOLHA
DEP( 6,10 ) - $1
[ 9 ] AND $8,$7,$1
DEP( 7,8 ) - $8
[ 10 ] BOLHA
DEP( 8,9 ) - $9
[ 11 ] LW $9,900($8)
DEP( 8,9 ) - $9
[ 12 ] BOLHA
DEP( 8,10 ) - $9
[ 13 ] BOLHA
[ 14 ] SW $9,850($9)
[ 15 ] XOR $9,$9,$1
2.5
Ciclos na execuo: 23
Bolhas: 9
Adiantamento(s) Ativado(s): [ ER -> MEM ]
N de Dependncias RAW: 12
SpeedUp: 3,125
Sada
[ 17 ] BOLHA
[ 1 ] LW $1,200($2)
[ 18 ] SW $9,850($9)
[ 2 ] LW $2,300($3)
[ 19 ] XOR $9,$9,$1
[ 3 ] BOLHA
Dependncias RAW
[ 4 ] ADD $6,$1,$3
DEP( 1,3 ) - $1
[ 5 ] BOLHA
DEP( 2,4 ) - $2
[ 6 ] BOLHA
DEP( 2,6 ) - $2
[ 7 ] SW $6,100($2)
DEP( 3,4 ) - $6
[ 8 ] XOR $7,$6,$3
DEP( 3,5 ) - $6
[ 9 ] LW $1,400($2)
DEP( 5,7 ) - $7
[ 10 ] BOLHA
DEP( 6,7 ) - $1
[ 11 ] BOLHA
DEP( 6,10 ) - $1
[ 12 ] AND $8,$7,$1
DEP( 7,8 ) - $8
[ 13 ] BOLHA
DEP( 8,9 ) - $9
[ 14 ] BOLHA
DEP( 8,9 ) - $9
[ 15 ] LW $9,900($8)
DEP( 8,10 ) - $9
[ 16 ] BOLHA
10
3.
# syscall le um inteiro
# e dividir por 5
# print string
li $v0,4
move $a0,$t0 # print result
li $v0,1
la $a0,endl
li $v0,4
li$v0,10
4.
REFERNCIAS