4. O SIMULADOR SIMUS 4.1 - Descrição A partir da escolha da ...
4. O SIMULADOR SIMUS 4.1 - Descrição A partir da escolha da ...
4. O SIMULADOR SIMUS 4.1 - Descrição A partir da escolha da ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
32<br />
execução. Neste caso o custo de um desvio condicional é de dois ciclos.<br />
Entretanto, a melhor situação ocorre quando utilizamos uma cache de<br />
desvio.<br />
I-1<br />
Busca Decodif. eXecução Escrita<br />
B<br />
D X E<br />
I<br />
Instrução<br />
de Desvio B D X E<br />
I+1<br />
Instrução<br />
Atrasa<strong>da</strong> B D X E<br />
A<br />
Instrução<br />
Alvo<br />
Execução de um Desvio Atrasado em um Pipeline de 4 Estágios<br />
I-1<br />
Busca Decodif. eXecução Escrita<br />
Acerto<br />
na Cache<br />
I+1<br />
Código e<br />
End. Desvio<br />
Buscados na Cache<br />
Estágio D Carregado<br />
com Instr. em I+2 ou A<br />
B<br />
Instrução<br />
Atrasa<strong>da</strong><br />
I+2<br />
D X E<br />
Aval. Cond.<br />
B D X E<br />
Instrução<br />
Seguinte B D X E<br />
?<br />
Instrução em<br />
I+3<br />
ou<br />
A+1<br />
Execução de um Desvio Atrasado com Cache de Desvio<br />
Figura <strong>4.</strong>2 - Operação <strong>da</strong> Cache de Desvio<br />
Na cache de desvio estão armazenados o "tag", que é o endereço<br />
<strong>da</strong> instrução anterior ao desvio (I-1), os códigos de condição <strong>da</strong> instrução<br />
de desvio (em I), o endereço <strong>da</strong> instrução alvo (A) e a instrução alvo (em<br />
A), para onde pode ser transferido o controle. Se houver um acerto na<br />
cache, a busca <strong>da</strong> instrução de desvio (em I) é substituí<strong>da</strong> pela busca <strong>da</strong><br />
instrução "atrasa<strong>da</strong>" (em I+1). No ciclo seguinte, os códigos de condição<br />
<strong>da</strong> instrução que está na cache são avaliados em paralelo com a execução<br />
<strong>da</strong> instrução atrasa<strong>da</strong> e a busca <strong>da</strong> instrução seguinte (em I+2). Se o<br />
código de condição for avaliado falso, o processamento prossegue<br />
normalmente, com a busca <strong>da</strong> instrução em I+3 no ciclo seguinte. Se<br />
entretanto for avaliado ver<strong>da</strong>deiro, no ciclo seguinte o estágio de