A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Avaliando e Compreendendo o Desempenho - Respostas Professor: André Luis Meneses Silva /msn: Página:

Apresentações semelhantes


Apresentação em tema: "Avaliando e Compreendendo o Desempenho - Respostas Professor: André Luis Meneses Silva /msn: Página:"— Transcrição da apresentação:

1 Avaliando e Compreendendo o Desempenho - Respostas Professor: André Luis Meneses Silva /msn: Página:

2 Questão 1 Nosso programa favorito é executado em 10 segundos no computador A, que possui um clock de 4 GHz. Estamos tentando ajudar um projetista de computador a construir uma nova máquina B, que execute esse programa em 6 segundos. O projetista determinou que um aumento substancial na velocidade de clock é possível, mas esse aumento afetará o restante do projeto da CPU, fazendo com que o computador B exija 1,2 vez mais ciclos de clock do que o computador A para esse programa. Que velocidade de clock devemos pedir para que o projetista almeje?

3 Questão 1 Primeiro Encontrar o número de ciclos de clock necessários para o programa A

4 Questão 1 Calcular o tempo de CPU para B

5 Questão 2 Suponha que tenhamos duas implementações da mesma arquitetura do conjunto de instruções (ISA). Para um determinado programa: A máquina A tem um tempo de ciclo de clock de 250 ps e uma CPI de 2,0 A máquina B tem um tempo de ciclo de clock de 500 ps e uma CPI de 1,2 Que máquina é mais rápida para esse programa e quão mais rápida ela é?

6 Questão 2 Sabemos que cada computador executa o mesmo número de instruções para o programa. Vamos chamar esse número de I. Primeiro devemos encontrar o número de ciclos de clock do processador para cada computador:

7 Questão 2 Agora podemos calcular o tempo de CPU para cada processador.

8 Questão 3 Um projetista de compilador está tentando decidir entre duas seqüências de código para um determinada máquina. Com base na implementação de hardware, existem três classes diferentes de instruções: Classe A, Classe B e Classe C, e elas exigem um, dois e três ciclos, respectivamente. A primeira seqüência de código possui 5 instruções: 2 de A, 1 de B e 2 de C. A segunda seqüência possui 6 instruções: 4 de A, 1 de B e 1 de C. Que seqüência será mais rápida? O quanto mais rápida? Qual é a CPI para cada seqüência?

9 Questão 3 Da figura temos: Ciclos de Clock da CPU 1 = (2 x 1) + (1 x 2) + (2 x 3) = 10 Ciclos de Clock da CPU 2 = (4 x 1) + (1 x 2) + (1 x 3) = 9 Logo CPU 2 é mais rápida

10 Questão 3 Válido, pois estamos trabalhando com a mesma cpu, logo, mesma velocidade de clock

11 Questão 3 CPI 1 = Ciclos de Clock da CPU 1 = 10 = 2 Contagem de instruções 1 5 CPI 2 = Ciclos de Clock da CPU 2 = 9 = 1,5 Contagem de instruções 2 6

12 Questão 4 Dois compiladores diferentes estão sendo testados para uma máquina de 4 GHz com três classes diferentes de instruções: Classe A, Classe B e Classe C, e elas exigem um, dois e três ciclos, respectivamente. Ambos os compiladores são usados para produzir código para um grande software. O código do primeiro compilador usa 5 bilhões de instruções da Classe A, 1 bilhão de instruções da Classe B e 1 bilhão de instruções da Classe C. O código do segundo compilador usa 10 bilhões de instruções da Classe A, 1 bilhão de instruções da Classe B e 1 bilhão de instruções da Classe C. Que seqüência será mais rápida de acordo com o MIPS? Que seqüência será mais rápida de acordo com o tempo de execução?

13 Questão 4

14

15 Questão 5 Tempo de execução após melhoria = Tempo de execução não afetado + (Tempo de execução afetado / Quantidade de melhoria) Exemplo: Suponha que um programa seja executado em 100 segundos em uma máquina, com multiplicação responsável por 80 segundos desse tempo. O quanto precisamos melhorar a velocidade da multiplicação se queremos que o programa seja executado 4 vezes mais rápido? Que tal torná-lo 5 vezes mais rápido?

16 Questão 5

17

18 Questão 6 Suponha que melhoramos uma máquina fazendo todas as instruções de ponto flutuante serem executadas cinco vezes mais rápido. Se o tempo de execução de algum benchmark antes da melhoria do ponto flutuante é 10 segundos, qual será o aumento de velocidade se metade dos 10 segundos é gasta executando instruções de ponto flutuante?

19 Questão 6

20 Questão 7 Estamos procurando um benchmark para mostrar a nova unidade de ponto flutuante descrita acima e queremos que o benchmark geral mostre um aumento de velocidade de 3 vezes. Um benchmark que estamos considerando é executado durante 100 segundos com o hardware de ponto flutuante antigo. Quanto do tempo de execução as instruções de ponto flutuante teriam que considerar para produzir nosso aumento de velocidade desejado nesse benchmark?

21 Questão 7


Carregar ppt "Avaliando e Compreendendo o Desempenho - Respostas Professor: André Luis Meneses Silva /msn: Página:"

Apresentações semelhantes


Anúncios Google