Pipeline
1. a) Descreva o que acontece quando a instrução entra em cada estágio do pipeline (IF, ID, EX, MEM, WB). Descreva todos os sinais, as mudanças nos registradores e outros efeitos em detalhes.
IF: O add é lido da memória usando o endereço no PC. O endereço do PC é incrementado em 4 e depois escrito de volta ao PC para ficar pronto para o próximo ciclo.
ID: Decodifica o add e lê os valores atribuídos aos registradores t1 e t2. Incrementa PC em +4.
EX: Lê o conteúdo dos registradores e soma utilizando ALU. PC incrementado em +4.
MEM: Testa se a instrução é do tipo R, se for desvia para a próxima instrução. Incrementa PC em +4.
WB: Escreve o resultado da instrução no registrador t0.
b) Quantos ciclos são necessários para se ter o resultado da operação no registrador?
5 ciclos.
2. a) O que acontece nos diferentes estágios do Pipeline?
IF: Busca a instrução lw, a instrução lw é lida da memória usando o endereço no PC e depois é colocado no registrador do Pipeline.
ID: o registrador t1 recebe o endereço de memória com o valor atribuído (por nós), lê t0 inicialmente sem valor.
EX: Endereço é incrementado e o resultado armazenado no registrador do Pipeline, assim como o conteúdo do registrador t1.
MEM: Acessa a memória no endereço determinado por nós.
WB: Escreve no registrador t0, o valor escrito na memória no endereço inicial contido no t1.
Em todos os estágios o PC é incrementado em +4.
b) Quais operações são feitas na ALU?
Soma do endereço armazenado em t1 com a quantidade de deslocamento, nesse caso 0.
c) Quantos ciclos são necessários para que o registrador tenha o valor correto?
5 ciclos
d) Todos os estágios do Pipeline são utilizados?
Sim
3. a) O que acontece nos estágios do Pipeline?
IF: Busca a instrução sw, a instrução sw é lida da memória, usando o endereço no PC e depois é colocado no registrador do Pipeline.
ID: O registrador T1 recebe o endereço de memória com o