Buscar

Lista de exercícios Infraestrutura e Hardware - UFPE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Continue navegando