Considere um sistema com 1000 instruções, frequência de 100MHz e arquitetura de pipeline de 5 estágios e leia as perguntas a seguir:
a)Qual é o tempo necessário para executar uma instrução?
b)Qual é o tempo necessário para executar integralmente o programa sem a utilização do pipeline?
c)Qual é o tempo necessário para executar integralmente o programa com a utilização do pipeline?
Soluções para a tarefa
Resposta:
A: 50ns
B: 50.000ns
C: 10.040ns
Explicação:
A: Uma instrução percorre todos os estágios (5), enquanto o tempo para percorrer cada estágio é , que é igual a 10ns. Multiplicando o tempo para percorrer cada estágio pelo número de estágios (5), chega-se ao resultado: 50ns.
B: Para obter o tempo necessário para a realização de todos as instruções, basta multiplicar o tempo de realização de uma instrução (50ns) pelo número de instruções (1.000), que resulta em: 50.000ns.
C: Com a utilização do Pipeline, após a instrução deixar um estágio, outra instrução poderá ocupá-lo. Assim, se uma instrução demora 50ns sem o pipeline, com o pipeline, 2 instruções demorariam 60ns, pois cada estágio demora 10ns. Portanto, 50ns da primeira instrução mais 999 instruções em pipeline vezes 10ns, o tempo total é 10.040ns.