Escolar Documentos
Profissional Documentos
Cultura Documentos
Organização de Computadores
Lista 1 - Avaliando e Compreendendo o Desempenho
1. Uma das armadilhas vistas em sala de aula estava relacionada à expectativa de
que a melhoria de um aspecto de um computador levasse a um aumento de
desempenho em quantidade proporcional ao tamanho desta melhoria. Isto pode
ser verdade, mas nem sempre. Considere um computador com os seguintes
tempos de execução para uma aplicação: 700s para executar instruções de
ponto flutuante, 850s para executar instruções de inteiros, 550s para executar
instruções de entrada/saída, 400s para executar instruções de desvio, com
tempo total de execução de 2.500s. É possível reduzir o tempo total de
execução em 10% reduzindo apenas o tempo para executar a instrução de
desvio? Justifique sua resposta.
2. Considere três processadores diferentes, P1, P2 e P3, que implementam o
mesmo conjunto de instruções. A frequência de seus clocks e os valores médios
de seus CPIs são, respectivamente, 2GHz, 3GHz e 4GHz e 1.2, 0.8 e 2.0.
Considerando que os três processadores executam uma dada aplicação em 10
segundos, determine para cada processador:
a. A quantidade de ciclos executada
b. A quantidade de instruções executada.
3. Uma falácia comum é o uso da métrica MIPS (Milhões de Instruções Por
Segundo) na avaliação do desempenho de processadores. Por esta métrica, o
processador que possui o maior MIPS é o mais rápido. Verifique se isso é válido
para os seguintes processadores: P1, com frequência de relógio de 3GHz, CPI
de 1.1; e processador P2, com frequência de relógio de 2.5GHz, CPI de 1.0.
Considere que um mesmo programa ao ser compilado para P1 gera 3x10 6
instruções, enquanto ao ser compilado para P2 gera 0.5x106 instruções
4. Assuma que uma aplicação execute 600 instruções aritméticas, 200 instruções
de leitura à memória, 600 instruções de escrita à memória, e 100 instruções de
desvio, num total de 1.500 instruções. Assuma que a instrução aritmética
execute em 1 ciclo de clock, acessos à memória (leituras e escritas) executem
em 4 ciclos de clock e desvios em 2 ciclos de clock.
a. Qual o tempo de execução da aplicação, considerando um processador
de 2GHz?
b. Se o número de instruções de leitura pode ser reduzida à metade, qual
será o ganho obtido?
5. Você é o diretor de projeto de um novo processador. O projeto do processador e
o compilador estão completos e, agora, você precisa decidir entre produzir o
projeto atual como está ou gastar mais tempo para melhorá-lo. Você discute
esse problema com sua equipe de engenharia de hardware e chega às
seguintes opções: a) Deixar o projeto como está. Chame esse computador
básico de Mbase . Ele possui uma velocidade de clock de 500MHz; e b) Otimizar o
hardware. A equipe de hardware afirma que pode melhorar o projeto do
processador para conferir-lhe uma velocidade de clock de 600MHz. Chame esse
computador de Mopt.Considere nesta questão as seguintes medições feitas
usando um simulador para Mbase e Mopt:
a. Qual é o CPI para cada computador? Quais são os índices MIPS nativos
para Mbase e Mopt?
b. O quanto Mopt é mais rápido do que Mbase?
6. A equipe de compiladores ouviu sobre a discussão para melhorar o computador
abordado na questão anterior. A equipe propõe melhorar o compilador para o
computador a fim de ganhar mais desempenho. Chame essa combinação do
compilador melhorado e o computador básico de Mcomp . As melhorias na
geração de instruções para esse compilador aprimorado foram estimadas desta
forma: