11

w tomie 3 podręcznikach Intel zawiera opis licznika zdarzeń Sprzęt:Kolejka instrukcji procesorów Intel dostarcza prognozę rozgałęzień statycznych?

BACLEAR_FORCE_IQ

Liczy ilość razy BACLEAR został zmuszony przez kolejkę obsługi. IQ jest również odpowiedzialny za zapewnienie warunkowej prognozy rozgałęzienia kierunku na podstawie statycznego schematu i danych dynamicznych dostarczonych przez jednostkę prognozowania rozgałęzień L2 . Jeśli warunkowy cel rozgałęzienia nie zostanie znaleziony w docelowej macierzy , a IQ przewiduje, że gałąź jest brana, następnie , IQ wymusi oddziału Kalkulator Adresu wydania BACLEAR. Każdy BACLEAR potwierdzony przez BAC generuje około 8-cyklowy bąbelek w rurociągu pobierania instrukcji.

Zawsze uważałem, że Kalkulator adresów oddziałów wykonuje algorytm przewidywania statycznego (gdy gałąź bufora docelowego nie zawiera żadnego wpisu gałęzi)?

Czy ktoś może potwierdzić, które z powyższych dwóch są prawidłowe? Nie mogę nic znaleźć.

+1

Usunąłem odpowiedź, ponieważ nie było pomocne. Zauważyłem jednak, że podręcznik do optymalizacji Intel Optimization mówi: "Mikroarchitektura Intel Core nie używa heurystyki przewidywania statycznego.Jednak aby zachować spójność w procesorach Intel 64 i IA-32, oprogramowanie powinno utrzymywać heurystyczną predykcję statyczną jako domyślną. " –

Odpowiedz

0

Jeśli warunkowa cel oddział nie zostanie znaleziony w tablicy docelowej

Jak to może nie znaleźć? maskujesz go za pomocą maski bitowej, aby znaleźć indeks w tabeli i uzyskać następny cel oddziału.

Cóż, jeśli po przeczytaniu wyniku sprawdź, czy adres połączenia nie pasuje do znacznika wyniku, masz wynik "nie został wykorzystany".

W tym momencie dochodzimy do drugiej części instrukcji.

i IQ przewiduje, że oddział zostanie podjęta

Więc gałąź cel mówi „nie podjęte” i IQ przewiduje, że zostanie podjęta mamy sprzeczność.

Aby rozwiązać sprzeczność, IQ wygrywa, ponieważ celem rozgałęzień jest po prostu "jeśli skaczemy, skaczemy tutaj", ale IQ przepowiada, czy skaczemy, czy nie, na podstawie znacznie większej logiki.

Stąd

następnie IQ zmusi Kalkulator Oddział Adres do wystawienia BACLEAR. Każdy BACLEAR potwierdzony przez BAC generuje około 8 bańka cyklu w rurociągu pobierania instrukcji.

Co jest dobre w rurociągu na etapie 14-19. 8 cykli jest, jeśli IQ może odczytać rzeczywisty adres docelowy z instrukcji (w połączeniu z PC), jeśli wartość musi zostać odczytana w rejestrze (to jest możliwe, jeszcze nie wycofane), może to potrwać nieco dłużej.