2 ExercíciosACIII
2 ExercíciosACIII
2 ExercíciosACIII
3) Supondo cache com mapeamento direto, com 64 kB de dados, linha com uma palavra de 32 bits (4
bytes), e endereços de 32 bits. Quantos bits tem a cache no total?
4) Supondo cache com mapeamento direto, com 16 kB de dados, blocos de 4 palavras, sendo cada palavra
de 32 bits e endereços de 32 bits. Quantos bits tem a cache no total?
5) Supondo uma cache com mapeamento conjunto associativo de 2 vias, com 1024kB de dados, palavra
de dados de 64 bits e endereço de 64 bits. Cada via possui um bloco de 8 palavras de dados. Quantos bits
tem a cache no total?
8) Explique a afirmação seguinte: “A TLB acelera o desempenho no acesso aos dados em memória”.
Correlacione conceitos. Por exemplo, enumere e explique.
10) Supondo um processador que executa um programa com: CPI = 1.1, 50% aritm/lógica, 30% load/store,
20% desvios. Supondo que 10% das operações de acesso a dados na memória sejam misses. Cada miss
resulta numa penalidade de 50 ciclos. Qual o CPI final? E se tiver 1% de miss ratio no fetch de instruções?
11) Suponha que o processador tenha um CPI de 1,0 e que todas as referencias acertem na cache primária
a uma velocidade de clock de 5GHz (0,2ns). O tempo de acesso à memória principal é de 100ns com todos
os tratamentos de faltas. Taxa de falhas por instrução na cache primária é de 2%. O quanto mais rápido
será o processador se acrescentarmos uma cache secundária com tempo de acesso de 5ns para um
acerto ou uma falha e que seja grande o suficiente para que a taxa de falhas na L2 seja de 0,5%?
12) Explique os três gráficos abaixo (uma explicação que reúne os três gráficos em um só contexto):
13) Do ponto de vista de desempenho e custo, explique vantagens dos mapeamentos: i) direto, ii)
completamente associativo, iii) associativo por conjunto.
16) Explique memória virtual como solução de um problema em uma arquitetura de computadores.
18) Explique como se dá o acesso à cache e memória principal, considerando a geração de um endereço
virtual, a tradução para o endereço real com utilização da TLB, e possível miss na TLB e/ou na cache.
19) Um projetista de processador com 5 estágios de pipeline optou pela escrita em registradores em dois
estágios. No quarto estágio para instruções lógicas e aritméticas e no quinto estágio para instruções de
acesso à memória. No entanto, a equipe de projeto rejeitou a proposta. Você faz parte da equipe.
Explique por que o projeto foi rejeitado com base nos conceitos discutidos na disciplina.
20) Um projetista de processador com 5 estágios de pipeline fez uso de uma tabela associativa para
predição dinâmica de desvios. No entanto, esta abordagem não foi aprovada pela equipe de projeto.
Sendo você desta equipe, explique por que o projeto foi recusado. Use uma abordagem quantitativa
complementar a sua explicação.
21) Para a figura abaixo explicar o que acontece na execução das instruções abaixo (fluxo 1 e fluxo 2) em
ordem de entrada no pipeline do processador. Apresente o cálculo do CPI para cada fluxo de instruções.
Instruções do fluxo 1:
1. lw $t0, 0($t0)
2. lw $t1, 0($t0)
3. beq $t0, $t1, Exit # considere existência do desvio
4. sw $t1, 0($t0)
5. lw $t3, 0($t1)
6. Exit: sub $t2, $t3, $s4
7. slt $s5, $t2, $t3
8. sw $t5, 0($t0)
9. lw $t2, 0($s2)
10. add $s4, $s2, $s1
Instruções do fluxo 2:
1. lw $t0, 0($t0)
2. lw $t1, 0($t0)
3. sw $t1, 0($t0)
Lista de Exercícios
Arquitetura de Computadores III
4. lw $t3, 0($t1)
5. slt $s5, $t0, $t3
6. beq $t0, $s5, Exit # considere existência do desvio
7. sub $s2, $s3, $s1
8. lw $t2, 0($s2)
9. Exit: sub $t2, $t3, $s4
22) Utilize o exercício anterior para explicar o que aconteceria para cada fluxo de instruções, em uma
figura sem o bloco de adiantamento de dados. Apresente o cálculo do CPI.
23) Com base no que foi estudado na disciplina e discutido em sala de aula, aponte e explique
modificações na arquitetura do MIPS da figura acima para que este suporte 4 threads por IMT.
Resolva: Preencha o quadro de execução abaixo e coloque setas no quadro (informe os registradores) que
indiquem dependências falsas (tracejadas) e verdadeiras (contínuas). Se for necessário, aumente qtd. de
linhas de execução ou não preencha todas.
Lista de Exercícios
Arquitetura de Computadores III
26) Explique: “Um processador many-core executa 32 threads simultaneamente e suporta 128 threads.
Ele não possui núcleos em quantidade igual ao número de threads executadas ou suportadas”. Faça
considerações sobre o tipo de pipeline e características arquiteturais que suportam as afirmações acima.
27) Um consultor, ao analisar a execução de uma aplicação, sugeriu ao analista de suporte de uma
empresa desativar o SMT do processador single-core (máquina com um processador que possui um
núcleo). Explique por que desta sugestão usando fundamentos discutidos em sala de aula.
28) Um cientista/engenheiro da computação optou por usar um processador com dois núcleos Xeon em
detrimento do uso de um processador com um núcleo Xeon SMT de duas threads. Todas as demais
características dos processadores são iguais (e.g. frequência, tamanho de cache, etc...). Explique esta
decisão do cientista da computação.
29) Qual a vantagem de: i) executar instruções fora de ordem se há buffer de reordenamento e ii)
múltiplas janelas de instruções se IPC não é muito maior do que 2?
30) Explique, conte uma história, que justifique o motivo para o desenvolvimento dos processadores
multicore.
31) Justifique o uso da rede-em-chip em relação ao barramento, com base em três argumentos, exceto
escalabilidade.