Dado que o ciclo de clock no modelo multiciclo dura 10 ns , calcule o tempo total para executar 200 instruções com a seguinte distribuição:
100 instruções do tipo R.
50 instruções de carga (LW).
50 instruções de armazenamento (SW).

Passo 1

O enunciado fornece que o ciclo de clock dura 10\\ \text{ns} e pede o tempo total para executar 200 instruções com a seguinte distribuição:
  • 100 instruções do tipo R;
  • 50 instruções de carga (LW);
  • 50 instruções de armazenamento (SW).
O que precisamos calcular é o tempo total gasto para executar essas 200 instruções, dado o número de ciclos que cada tipo de instrução consome e o tempo de cada ciclo.

Passo 2

Conceito essencial: o tempo total de execução é o produto do número total de ciclos pelo tempo de cada ciclo. Em fórmula:
T_{\text{total}} = N_{\text{ciclos}} \times T_{\text{clock}}
onde T_{\text{total}} é o tempo total, N_{\text{ciclos}} é a soma de todos os ciclos necessários para todas as instruções, e T_{\text{clock}} é a duração de um ciclo de clock (aqui 10\\ \text{ns}).

Passo 3

No modelo multiciclo padrão (MIPS clássico) cada instrução é dividida em estágios comuns: busca de instrução (IF), decodificação/leituras de registradores (ID), execução/ cálculo de endereço (EX), acesso à memória (MEM) e escrita de resultado no registrador (WB). Dependendo do tipo de instrução, nem todos os estágios são usados para produzir um resultado final, portanto o número de ciclos por instrução varia. Aqui estão os counts típicos e por que:
  • Instrução R (operações registrador-registrador): passa por IF, ID, EX e WB. Não precisa de acesso à memória. Logo consome 4 ciclos.
    • IF: buscar opcode e instrução.
    • ID: decodificar e ler registradores.
    • EX: executar a operação ALU.
    • WB: escrever resultado no registrador.
  • Instrução LW (load word): passa por IF, ID, EX (calcula endereço), MEM (ler memória) e WB (escrever no registrador). Logo consome 5 ciclos.
  • Instrução SW (store word): passa por IF, ID, EX (calcula endereço) e MEM (escreve na memória). Não precisa de WB, logo consome 4 ciclos.
Se você ficar na dúvida na prova, basta lembrar: LW precisa de acesso à memória e depois de escrever no registrador => 5 ciclos; R-type não usa memória => 4 ciclos; SW escreve na memória mas não escreve registrador => 4 ciclos.

Passo 4

Agora calculamos o número de ciclos consumidos por cada grupo de instruções:
  • Para as 100 instruções R, com 4 ciclos cada:
100 \times 4 = 400\\ \text{ciclos}
  • Para as 50 instruções LW, com 5 ciclos cada:
50 \times 5 = 250\\ \text{ciclos}
  • Para as 50 instruções SW, com 4 ciclos cada:
50 \times 4 = 200\\ \text{ciclos}
Somando todos:
N_{\text{ciclos}} = 400 + 250 + 200 = 850\\ \text{ciclos}

Passo 5

Agora aplicamos a fórmula do Passo 2 com T_{\text{clock}} = 10\\ \text{ns}:
T_{\text{total}} = 850 \times 10\\ \text{ns} = 8500\\ \text{ns}
Convertendo para microssegundos (lembrando que 1\\ \mu\text{s} = 1000\\ \text{ns}):
8500\\ \text{ns} = 8,5\\ \mu\text{s}

Passo 6

Verificação alternativa (útil para checar em prova): calcular o CPI médio e usar T = \text{CPI} \times N_{\text{instr}} \times T_{\text{clock}}.
\text{CPI} = \frac{N_{\text{ciclos}}}{N_{\text{instr}}} = \frac{850}{200} = 4,25
T = 4,25 \times 200 \times 10\\ \text{ns} = 8500\\ \text{ns} = 8,5\\ \mu\text{s}
Mesma resposta — sinal de que os cálculos estão coerentes.

Resposta

T_{\text{total}} = 8500\\ \text{ns} = 8,5\\ \mu\text{s}

Exercícios relacionados