Simulação SimpleScalar
Tarefa 1 – Execução in-order e out-of-order
Verifique o efeito da execução em ordem e fora de ordem nos benchmarks (lembre-se que a opção default do simulador é fora de ordem).
Configurações para simulação em ordem e fora de ordem:
→ Pipeline com largura de um (1) em ordem e fora de ordem;
→ Pipeline com largura de um (4) em ordem e fora de ordem;
→ Pipeline com largura de um (8) em ordem e fora de ordem;
Pipeline com uma largura significa que os parâmetros de busca, decodificação, despacho e execução e término devem ser configurados.
→ Apresente as medidas de total de ciclos executados e CPI para as seguintes configurações acima.
Respostas
Benchmark
Li
Li
Li
Parâmetros
Configuração 1
Configuração 2
Configuração 3 issue:inorder False
True
False
True
False
True
fetch:ifqsize
1
1
4
4
8
8 decode:width 1
1
4
4
8
8
issue:width
1
1
4
4
8
8 ruu:size 4
4
refazer refazer refazer refazer commit:width
1
1
4
4
8
8 lsq:size 2
2
refazer refazer refazer
Refazer
res:ialu
1
1
4
4
8
8 res:imult 1
1
2
2
4
4
res:fpalu
1
1
4
4
8
8 res: fpmult
1
1
2
2
4
4 res:memports 2
2
2
2
4
4
Total de Ciclos
290959794
292093289
117851420
240617882
108651753
243573784
CPI
1.5873
1.5935
0.6429
1.3127
0.5927
1.3288
Benchmark
GCC_4
GCC_4
GCC_4
Parâmetros
Configuração 1
Configuração 2
Configuração 3 issue:inorder fetch:ifqsize
decode:width
issue:width
ruu:size
commit:width
lsq:size
res:ialu
res:imult
res:fpalu
res: fpmult
res:memports
Total de Ciclos
CPI
→ Qual é o impacto em termos de CPI de permitir o processamento de mais instruções por ciclo ?
O CPI diminui, já que mais instruções são terminadas em um mesmo ciclo. (melhorar resposta, está sendo redundante)
→ Qual é o impacto em termos de CPI do uso de execução fora de ordem ?
Na execução fora de ordem o CPI diminui, já que as instruções podem ser processadas independentes da ordem de despacho,