Buscar

Lista 5

Prévia do material em texto

Organização de Computadores I
DCC006
Professor: Omar Paranaiba Vilela Neto
Lista de Exercício 5
1 – Um arquiteto de computadores precisa projetar o pipeline de um novo microprocessador. Ele 
tem um núcleo de um programa de exemplo com 106 instruções. Cada instrução exige 100ps para 
terminar.
a) quanto tempo será necessário para executar esse núcleo de programa em um processador 
sem pipeline?
b) O microprocessador mais moderno tem cerca de 20 estágios de pipeline. Suponha que ele 
tenha um pipeline perfeito. Quanto é o ganho de velocidade conseguido em comparação com o 
processador sem pipeline?
c) O pipeline real não é perfeito, pois sua implementação introduz algum overhead por 
estágio do pipeline. Esse overhead afetará a latência das instruções, a vazão das instruções ou 
ambos?
2 – Observe o código abaixo:
add $3, $4, $6
sub $5, $3, $2
lw $7, 100($5)
add $8, $7, $2
a) quais as dependências encontradas?
b) Mostre o pipeline, indicando os caminhos de adiantamento necessários.
3 – Identifique todas as dependências de dados do código a seguir. Quais dependências são 
harzards de dados que serão resolvidos por meio de adiantamento? Quais dependências são 
harzards de dados que causarão stall?
add $3, $4, $2
sub $5, $3, $1
lw $6, 200($3)
add $7, $3, $6
4 – Considere a execução do código abaixo no caminho de dados em pipeline do MIPS.
add $2, $3, $1
sub $4, $3, $5
add $5, $3, $7
add $7, $6, $1
add $8, $2, $6
Ao final do quinto ciclo de execução, quais registradores estão sendo lidos e qual registrador será 
escrito?
5 – No exemplos visto em aula, vê-se que a vantagem no desempenho dos projetos de multiciclo e 
pipeline é limitada pelo maior tempo exigido para o acesso à memória em relação ao uso da ALU. 
Suponha que os acessos à memória passem a levar 2 ciclos de clock. Desenhe o pipeline 
modificado. Liste todas as novas situações de adiantamento possíveis e todos os hazards possíveis 
com sua extensão.
6 – Temos um núcleo de programa consistindo em cinco desvios condicionais. O núcleo do 
programa será executado milhares de vezes. A seguir estão os resultados de cada desvio para uma 
execução do núcleo do programa (T para tomado e N para não-tomado).
Branch 1 : T T T
Branch 2 : N N N N
Branch 3 : T N T N T N
Branch 4 : T T T N T
Branch 5 : T T N T T N T
Considere que o comportamento de cada desvio permanece o mesmo para cada execução do núcleo 
do programa. Liste as previsões para os seguintes esquemas de previsão de desvios:
a) Sempre tomado
b) Sempre não tomado
Qual é a exatidão das previsões?
c) O que você sugere para melhorar o desempenho?
7 – Liste e explique cada tipo de Harzard que pode ocorrer.
8 – Descreva cada estágio da arquitetura “pipelining”.

Continue navegando

Outros materiais