14.03.2015 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!