Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de Exercícios – Infraestrutura de Hardware - EC - Capítulo 1 1- [1,0] Considere duas implementações diferentes de um processador que possui um conjunto de instruções dividido em quatro classes: A, B, C e D, onde instruções de uma mesma classe possuem o mesmo CPI. A implementação P1 do processador opera com uma frequência de 2,5 GHz e os CPIs de cada classe de instruções, para esta implementação, são dados por 1, 2, 3 e 3, respectivamente. A implementação P2 opera com uma frequência de 3,2 GHz e os CPIs das classes, neste caso, são dados por 2, 2, 2 e 2, respectivamente. Seja um programa que executa 3.0E6 instruções divididas nas classes mencionadas da seguinte forma: 10% classe A, 20% classe B, 50% classe C e 20% classe D. Para este programa responda as questões a seguir, justificando os resultados de cada resposta. a. Qual é a implementação mais rápida? R: A implementação mais rápida é a P2, com 1,875 milisegundos, em comparação com os 3,120 milisegundos da implementação P1. b. Qual é o CPI global para cada implementação do processador? R: CPI global da P1: 2,6 e CPI global da P2: 2,0. 2- [0,5] Considere três implementações de um outro processador dadas por P1, P2 e P3, onde a implementação P1 tem uma frequência de clock de 3,0 GHz, a implementação P2 tem uma frequência de clock de 2,5 GHz e a implementação P3 possui uma frequência de clock de 4,0 GHz. O CPI resultante da execução de uma mesma aplicação nas três implementações foi: CPIP1= 1,5, CPI P2 = 1,0 e CPI P3 = 2,2. Qual processador tem o melhor desempenho em instruções por segundo para a aplicação? Justifique sua resposta. R: A implementação P2 tem melhor desempenho em instruções por segundo. P2: 2,5 x 10^9, P1: 2,0 x 10^9 e P3: 1,8x10^9. 3- [1,0] Para a questão anterior se deseja reduzir o tempo de execução em 30%, podendo levar a um aumento de 15% no CPI. Que frequência de relógio deveria ter cada implementação para se obter essa redução de tempo? R: Considerando um programa com apenas uma instrução, já que o número de ciclos e o CPI são proporcionais, as novas frequências são: P1: 4,92 GHz P2: 4,10 GHz P3: 6,57 GHz 4- Os compiladores podem ter um impacto importante no desempenho de uma aplicação. Suponha que para um dado programa, o código gerado pelo compilador A resulte na execução de 1.5E9 instruções com o tempo de execução de 1,8 s, enquanto o compilador B gera um código onde são executadas 1.9E9 instruções com o tempo de execução de 2.2 s. Responda as perguntas a seguir justificando os resultados de cada resposta. a. [0,5] Encontre o valor do CPI médio de cada código executado, considerando que o processador possui um tempo de ciclo de clock de 1ns. R: CPI de A: 1,2 CPI de B: 1,16 b. [0,5] Suponha agora que os programas compilados foram executados em processadores com implementações diferentes. Se os tempos de execução nos dois processadores forem os mesmos, quanto mais rápido é o relógio do processador executando o código do compilador A em relação ao relógio do processador executando o código do compilador B? R: A frequência de clock do processador executando o código do compilador B é 21% maior que quando executa o código do compilador A. Ou seja, B é mais rápido. c. [1,0] Um novo compilador foi desenvolvido que executa apenas 7.5E8 instruções e possui um CPI médio de 1.4. Qual é o desempenho do código desse novo compilador em comparação com o código do compilador A e do compilador B executando no processador da letra a.? R: O novo compilador possui tempo de execução de 1,05s. Em comparação, o compilador A executa o código em 71% mais tempo que o novo compilador, e o compilador B executa em 110% mais tempo. 5- [1,5] Considere uma aplicação do benchmark SPEC CPU2006 em execução no processador da AMD que executa 2.65E12 instruções com tempo de CPU igual a 770s. Esta mesma aplicação possui tempo de CPU em um processador de referência igual a 9850s. Responda as perguntas a seguir, justificando todas as respostas. a. Encontre a CPI para o processador da AMD se o tempo do ciclo do relógio for 0,333ns, calcule também o SPECratio. R: O CPI é de 0,875 e o SPECratio é igual a 12,8. b. Qual o aumento no tempo de execução se o número de instruções do benchmark for aumentado em 10% sem afetar o CPI. R: Como o CPI e a frequência de clock não mudam, o aumento do tempo de CPU é igual ao aumento do número de instruções: 10%. c. Se o número de instruções do benchmark for aumentado em 10% e o CPI for aumentado em 5%, qual o aumento no tempo de execução? Qual o SPECratio para esta alteração? R: O aumento no tempo de execução é de 15,5%. O novo SPECratio é 11,07. 6- [1,5] Para uma segunda aplicação do benchmark, assuma um tempo de execução de 980 s, CPI de 1,55 e frequência de clock de 2,8 GHz. Considerando esta nova situação, responda as perguntas a seguir, justificando suas respostas. a. Se o tempo de execução for reduzido em 10% sem afetar a CPI e com uma frequência de clock de 4 GHz, qual o número de instruções da aplicação? R: O número de instruções é 2,28x10^12. b. Determine a frequência de clock necessária para obter uma redução adicional de 10% no tempo da CPU, mantendo o número de instruções e o CPI inalterados. R: A nova frequência de clock é 4,4 GHz. c. Determine para qual frequência de clock uma redução do CPI em 12% levaria a uma melhora no tempo da CPU em 18%, sendo que o número de instruções não foi alterado. R: Para o contexto do ENUNCIADO, a nova frequência de clock será de 3,0 GHz. Já em relação a LETRA A, a nova frequência de clock será de 4,29 GHz. 7- [1,0] Suponha que uma nova versão do processador AMD com uma frequência de clock de 3,2 GHz está sendo desenvolvida. Algumas instruções foram adicionadas ao ISA de forma que o número de instruções da aplicação da questão anterior foi reduzido em 12%. O tempo de execução passou a ser 750s e o novo SPECratio é 13,5, qual o novo CPI? Justifique sua resposta. R: Considerando o número de instruções calculado com base no enunciado da questão 6, o novo CPI é de 1,5. Mas, considerando o número de instruções calculado na letra a) da questão 6 (com redução de 10% no CPU time original), o novo CPI seria 1,2. 8- [0,5] Quais as informações do processador que um compilador deve conhecer para gerar código? R: A interface abstrata entre o hardware e o software de nível mais baixo, que chamamos de ISA (instruction set architecture), carrega todas as informações necessárias para escrever um código de máquina que vai executar corretamente, incluindo instruções, registros, acesso à memória, E/S, etc. 9- [1,0] Descreva as principais classes de computadores existentes ressaltando, quais as principais características a serem consideradas no projeto de cada classe. R: Computador pessoal (personal computer): Bom desempenho a baixo custo, propósito geral e geralmente executa uma variedade de softwares. Servidor: Usado para executar grandes tarefas, é baseado em redes e tem processadores de alto desempenho. Tem alta capacidade de armazenamento e comunicação. Supercomputador: Composto de centenas a milhares de processadores e terabytes de memória. Realiza cálculos sofisticados. Embarcado: Projetado para executar uma aplicação ou um conjunto de aplicações relacionadas e integradas em apenas um sistema. Possui restrições rigorosas em desempenho, custo e capacidade.
Compartilhar