Professional Documents
Culture Documents
slide 11.2
CC1
CC2
CC3
CC4
CC5
CC6
CC7
CC8
CC9
lw $2, 20 ($1)
MI
Reg
ULA
MD
Reg
MI
Reg
ULA
MD
or $8, $2 , $6
MI
Reg
ULA
MD
Reg
MI
Reg
ULA
MD
Reg
MI
Reg
ULA
MD
Reg
slide 11.3
Faz o pipeline parar quando houver uma instruo load word, seguida de uma instruo que leia o registrador onde esta instruo de load word escreveu Vai operar durante o estgio DI, inserindo uma parada entre a instruo load word e o uso de seu resultado Condio a ser verificada:
load word a nica instruo que l dados da memria
Se (DI/EX.LerMem = 1 E ((DI/EX.RegistradorRt = BI/DI.RegistradorRs ) OU (DI/EX.RegistradorRt = BI/DI.RegistradorRt ))) Ento pra o pipeline por um ciclo de relgio
ComputaoUFPel Arquitetura e Organizao de Computadores II
slide 11.4
CC1
CC2
CC3
CC4
CC5
CC6
CC7
CC8
CC9
lw $2, 20 ($1)
MI
Reg
ULA
MD
Reg
MI
Reg
Reg
ULA
MD
Reg
or $8, $2 , $6
MI
Reg
Reg
ULA
MD
Reg
bolha
add $9, $4, $2
MI Reg
ULA
MD
Reg
MI
Reg
ULA
MD
Reg
slide 11.5
Se a instruo que est no estgio DI estiver parada, ento o estgio BI tambm precisa parar Para impedir o avano de instrues pelo pipeline, basta evitar que tanto o PC quanto o registrador BI/DI sejam escritos As condies do item anterior fazem com que, no ciclo de relgio seguinte:
A instruo que est no BI seja lida novamente Os registradores lidos no estgio DI sero lidos novamente
slide 11.6
M U X
1 BI/DI
ER
instruo
EX/MEM
Controle
M EX
ER M
MEM/ER ER
ULAOp ULAFonte
+
4
[31-26]
EscReg
[25-21]
+
DvC
PC
32
[20-16]
Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita
Dado lido #1
0
Registradores
Dado lido #2
1
ULA
M U X Resultado
Endereo
3
Operao da ULA
M U X
1
16
[15-0]
32
Extenso de sinal
0 [15-11] 1
M U X
2
RegDst
LerMem
slide 11.7
Como a instruo load word prossegue pelo pipeline, cria-se uma bolha de execuo, a qual deve tambm prosseguir pelo pipeline Uma bolha deve executar em cada estgio a mesma coisa que uma instruo NOP executa NOP:
Todos os sinais de controle em 0 (zero) para os estgios EX, MEM e ER. Estes valores de sinais de controle so passados adiante a cada ciclo de relgio, produzindo o efeito desejado (nenhum registrador ou memria escrito)
slide 11.8
Prof. Jos Lus Gntzel
slide 11.9
MI
Reg
ULA
MD
Reg
MI
Reg
ULA
MD
48 or $13, $6, $2
MI
Reg
ULA
MD
Reg
MI
Reg
ULA
MD
Reg
72 lw $4, 50($2)
MI
Reg
ULA
MD
Reg
slide 11.10
Conforme j visto anteriormente, a parada no avano das instrues no uma soluo vivel para o desvio condicional Uma alternativa comum considerar que os desvios condicionais sempre ocorrem, considerando a seqncia normal de execuo das instrues Caso o desvio se realize, ser necessrio descartar as instrues que estiverem sendo buscadas e executadas E a execuo deve continuar a partir da instruo armazenada no endereo-alvo do desvio condicional
slide 11.11
Para descartar instrues, basta mudar para 0 os valores originais dos sinais de controle e Tambm mudar as instrues que estiverem em BI, DI e EX, quando a instruo de desvio condicional chegar ao estgio MEM
slide 11.12
M U X
1 BI/DI
ER
instruo
EX/MEM
Controle
M EX
ER M
MEM/ER ER
ULAOp ULAFonte
+
4
[31-26]
EscReg
[25-21]
+
DvC
PC
32
[20-16]
Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita
Dado lido #1
0
Registradores
Dado lido #2
1
ULA
M U X Resultado
Endereo
3
Operao da ULA
M U X
1
16
[15-0]
32
Extenso de sinal
0 [15-11] 1
M U X
2
RegDst
LerMem
slide 11.13