Um processador possui um pipeline de 5 estágios. Considere que cada ciclo de clock do processador se dá em 4ns. Responda:
a) Qual a latência desse processador?
b) Qual a banda passante deste processador?
c) Considerando que cada estágio do pipeline precisa de 4 ns para funcionar, é sabido que este processador demorou exatos 52 ns para executar um número exato de instruções. Quantas instruções completas o processador executou nesses 52 ns de tempo?

Passo 1

O enunciado diz que temos um processador com pipeline de 5 estágios e cada ciclo de clock dura 4 ns. Vamos usar os conceitos de latência (tempo que uma instrução leva para atravessar todo o pipeline) e banda passante (throughput, instruções concluídas por unidade de tempo) para responder aos itens.

Passo 2

Para calcular a latência de uma única instrução num pipeline de 5 estágios, basta multiplicar o número de estágios pelo tempo de cada estágio. Cada estágio dura 4 ns, logo:
latência = 5 times 4,ns = 20,ns ê

Passo 3

A banda passante (throughput) de um pipeline ideal é de uma instrução concluída por ciclo de clock. Como cada ciclo é de 4 ns, temos:
banda passante = 1,instrução4,ns = 0,25,instruções/ns = 250times10^6,instruções/s çãçõçõ

Passo 4

Para saber quantas instruções foram executadas em 52 ns, usamos a fórmula do tempo total em pipeline cheio:
T = latência + (N-1)timesperíodo de clock êí
onde T=52,ns, latência = 20 ns e período de clock = 4 ns. Substituindo:
52 = 20 + (N-1)times4
(N-1)times4 = 32 implies N-1 = 8 implies N = 9
Logo o processador completou 9 instruções.

Passo 5

Teoria aplicada: no pipeline, a primeira instrução só sai após percorrer todos os estágios (latência), e daí em diante cada novo resultado sai a cada ciclo de clock, definindo o throughput.

Resposta

a) 20 ns
b) 0,25 instruções/ns (250 M instruções/s)
c) 9 instruções

Exercícios relacionados