Przewidywanie skoków

Brach-prediction buffer / Branch history table

Najprostszy schemat przewidywanie skoków. Buffer to kawałek pamięci przechowujący jeden bit, mówiący o tym, czy ostatnim razem doszło do skoku. Wykonanie kolejnej instrukcji odbywa się zgodnie z przewidzeniem, a jeśli jest ono błędne, nowa prognoza zostaje zapisana w bufferze.

Correlating predictors

Kiedy następny skok na pewno nie będzie wykonany w zależności od poprzedniego; np.: a==2; b==2; a!=b.

Predykatory dwupoziomowe

Przechowują informację o prawdopodobieństwie warunkowym. Nie są bezpośrednio związane z instrukcją skoku, ale na podstawie adresu instrukcji i historii wykonań. Rejestr historii składa się z 8/16 bitów informacji na temat wykonań pojedynczego lub wielu skoków. Predykatory dwupoziomowe i trójpoziomowe nazywa się korelatorami skoków.

gLocal

W schemacie gLocal adres instrukcji skoku wybiera rejestr historii związany z danym skokiem. Zawartość rejestru historii i adres skoku są argumentami funkcji mieszającej, której wartość wybiera jeden z dwu- lub czterostanowych predyktorów. Predyktor udziela odpowiedzi na pytanie o prawdopodobieństwo skoku na bazie poprzednich wykonań tego skoku.

gShare

W schemacie gShare historia wykonań wszystkich skoków przechowywane jest w jednym rejestrze. Zawartość rejestru historii i adres skoku są argumentami funkcji mieszającej, której wartość wybiera jeden z dwu- lub czterostanowych predyktorów. Predyktor udziela odpowiedzi na pytanie o prawdopodobieństwo skoku na bazie poprzednich wykonań wszystkich ostatnio wykonywanych skoków.

High-Performance Instruction Delivery

Samo przewidywanie, czy skok się wykona, czy nie, nie wystarczy – trzeba też znać adres, pod który się uda. Adres musi być znany już w fazie IF, więc zazwyczaj odczytanie predyktu zachodzi w fazie ID.

Integrated Instruction Fetch Units

Zintegrowany predyktor skoków – predyktor staje się częścią instrukcji i ciągle przewiduje skoki.

Instruction prefetch – mechanizm samodzielnie przewiduje skoki na podstawie predyktorów.

Instruction memory access and buffering – fetching multiply instructions may require accessing multiple cache lines, the unit used prefetch to try to hide the cost of crossing cache blocks. It also provides buffering, essentially acting as an on-demand unit to provide instructions to the issue stage as needed and in the quantity needed.

Dla jal - $ra używa się stosów.


Wyszukiwarka

Podobne podstrony:
Urazy kolana i stawu skokowego
311[15] Z4 04 Przewietrzanie kopalń
Potrzeba przewidywalności oraz sprawowania kontroli, Psychologia, psychologia stosowana I, emocje
silnik skokowy przebiegi czasowe
Szybkie przewijanie dużych zestawień1
staw skokowo goleniowy
Przewiertniowate
Charakterystyki skokowe wybranych elementow liniowych
Przewidywanie budowy przestrzen Nieznany
7b wskazówki praktyczne do skoków z opóźnionym otwarciem spadochronu
przewidywane problemy zdrowotne Polaków w XXI wieku, Medycyna, Zdrowie Publiczne & Organizacja i eko
Tropiciele Czterolatek Przewidywane osiagniecia grudzien, Przewodniki metodyczne przedszkole
ch ka skokowa
Przewidywane ceny węgla w handlu
przewiso18000
2 Staw skokowy, Prywatne, masaż, masaż
Urazy stawu skokowego, Ortopedia traumatologia
HARMONOGRAM DZIAŁAŃ PRZEWIDZIANYCH, 12.PRACA W SZKOLE, ZSG NR 4 2008-2009
wykresy skokowa

więcej podobnych podstron