Licenciatura em Engenharia Informática e Computação
Exercícios
Arquitectura de Computadores
2005/06
Avaliação de desempenho de processadores
N. 2
FEUP
1. Suponha que existem duas possibilidades para melhorar o desempenho de um computador:
i) acelerar as instruções de multiplicação 4 vezes; ou
ii) tornar as instruções de acesso à memória 2 vezes mais rápidas.
Suponha ainda que usa repetidamente um programa que demora 100s a executar. A respectiva
distribuição de instruções é a seguinte:
multiplicações
acessos a memória
outras instruções
20%
50%
30%
a) Que aumento de rapidez pode ser obtido melhorando apenas as instruções de multiplicação?
b) E se apenas forem melhorados os acessos a memória?
c) Que aumento de rapidez pode ser obtido combinando os dois melhoramentos?
d) Suponha agora que o programa é modificado de forma a que a contribuição de cada tipo de
instruções é diferente da apresentada inicialmente. Qual é a distribuição de instruções que levaria a
que ambos os melhoramentos conduzissem a igual aumento da rapidez? (Nenhuma das novas
percentagens deve ser igual a zero.)
2. Considere duas implementações, M1 e M2, do mesmo conjunto de instruções. Existem quatro
classes de instruções (A, B, C e D). A implementação M1 tem f 1=500 MHz, enquanto M2 tem f2
=750 MHz. O CPI de cada classe de instruções é dado pela tabela seguinte:
CPI por classe
Classe de Instruções
Implementação M1
Implementação M2
A
1
2
B
2
2
C
3
4
D
4
4
a) Designa-se por desempenho de pico a taxa mais alta a que um computador pode executar
uma sequência de instruções escolhida especialmente para maximizar essa mesma taxa.
Qual é o desempenho de pico de M1 e M2 em instruções por segundo?
b) Na hipótese de o número de instruções executadas por um dado programa se repartir
igualmente pelas quatro classes, quanto mais rápida é M2 que M1?
c) Na hipótese da alínea anterior, qual deveria ser a frequência de relógio de M1 para ter o
mesmo desempenho que M2?
Arquitectura de Computadores
1/3
2005/06
3. Considere os computadores M1 e M2. Pretende-se comparar o desempenho destas máquinas e
fizeram-se os testes referidos de seguida:
Programa
Tempo em M1
Tempo em M2
Prog1
2.0 segundos
1.5 segundos
Prog2
5.0 segundos
10.0 segundos
a) Qual é o computador mais rápido para cada programa ?
b) Quantas vezes cada computador é mais rápido / mais lento que o outro, para cada
programa ?
c) Considere que o programa Prog1 na máquina M1 necessita de 5×109 instruções e que o
mesmo programa necessita de 6×109 na máquina M2. Calcule quantas instruções por
segundo cada computador executa.
d) Suponha que M1 custa 500€ e que M2 custa 800€. Admita ainda que é necessário executar o
Prog1 muitas vezes. Será mais conveniente comprar em grandes quantidades computadores
M1 ou M2 ?
4. Suponha que é a/o responsável pelo desenvolvimento de um processador. É agora necessário
decidir se o computador deve ser fabricado imediatamente ou se é vantajoso dispender mais tempo
em aperfeiçoamentos. Existem duas opções:
i) Manter o projecto (designado por Mbase, f=500 MHz);
ii) Optimizar o hardware (Mopt, f=600 MHz).
As características de Mbase e Mopt são as seguintes, respectivamente:
Mbase
a)
b)
c)
d)
Mopt
Classe
CPI
Frequência
Classe
CPI
Frequência
A
2
40
A
2
40
B
3
25
B
2
25
C
3
25
C
3
25
D
5
10
D
4
10
Qual é o CPI de cada máquina?
Qual é o índice MIPS para cada uma das máquinas?
Quanto mais rápida é Mopt que Mbase?
O grupo de compilação propõe-se melhorar o compilador. Designe a combinação de Mbase
com o compilador melhorado por Mcomp. O grupo de compilação estimou as seguintes
melhorias para Mcomp:
Classe
% de instruções executadas em relação a Mbase
A
90%
B
90%
C
85%
D
95%
Arquitectura de Computadores
2/3
2005/06
Por exemplo, se Mbase executar 500 instruções da classe A, Mcomp executaria apenas
0.9×500 = 450 instruções de classe A para o mesmo programa. Qual é o CPI de Mcomp?
Quanto mais rápida é Mcomp que Mbase?
e) O grupo de compilação acha que é possível implementar as mesmas melhorias para a
máquina Mopt, obtendo a máquina Msuper. Quanto mais rápida é Msuper que Mbase? Pode
existir alguma razão para não se implementar Msuper?
5. A tabela seguinte apresenta o número de instruções de vírgula flutuante executadas por 3
aplicações diferentes, bem como o respectivo tempo de execução.
Programa Nº de operações
Tempo de execução em segundos
Computador A Computador B Computador C
1
5109
2
5
10
2
20109
20
20
20
3
40109
200
50
15
a) Usando como critério o tempo total de execução, qual é o computador mais rápido? Qual é o seu
desempenho relativo aos outros dois computadores?
b) Assuma agora que o programa 1 é executado 8 vezes mais frequentement que o programa 3, e
que o programa 2 é executado 2 vezes mais frequentemente que o programa 3. Qual dos
computadores é o mais rápido para este tipo de carga e qual é o seu desempenho relativo? Compare
com os resultados obtidos na alínea anterior e comente.
Fim.
Arquitectura de Computadores
3/3
2005/06
Download

Desempenho de computadores