Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Architektura komputerów

Podobne prezentacje


Prezentacja na temat: "Architektura komputerów"— Zapis prezentacji:

1 Architektura komputerów
Wykład nr 12: Architektury superskalarne Piotr Bilski

2 Organizacja superskalarna
Rejestry całkowitoliczbowe Rejestry zmiennopozycyjne Potokowe jednostki funkcjonalne Operacje na pamięci Zwielokrotnienie potoków Za każdy potok odpowiedzialna jest inna jednostka funkcjonalna

3 Przetwarzanie superpotokowe
Pobranie Dekod. Exec. Zapis Architektura superskalarna stopnia 2 Architektura superpotokowa stopnia 2 czas

4 Ograniczenia architektury superskalarnej
Paralelizm na poziomie rozkazu Paralelizm na poziomie maszyny Ograniczenia: Prawdziwa zależność danych Zależność proceduralna Konflikt zasobów Zależność wyjściowa Antyzależność

5 Wpływ zależności na wykonanie programu
Zależność danych lub konflikt zasobów i1 Zależność proceduralna i2 i3 i4 i5 i6 czas

6 Prawdziwa zależność danych
I1 Add r1, r2 I2 Move r3, r1 Obie instrukcje mogą zostać pobrane i zdekodowane jednocześnie I2 nie może być wykonana zanim I1 nie zostanie wykonana

7 Paralelizm na poziomie rozkazu
Wymaga niezależności między następującymi po sobie instrukcjami Możliwa do osiągnięcia, jeśli istnieje niezależność proceduralna i danych Na przykład: Load R1  R2 Add R3  R3, „1” Add R4  R4, R2 Add R3  R3, „1” Add R4  R3, R2 Store [R4]  R0

8 Strategie wydawania rozkazów
Kolejne wydawanie/kolejne kończenie Kolejne wydawanie/inna kolejność kończenia Inna kolejność wydawania/inna kolejność kończenia

9 Kolejne wydawanie/kolejne kończenie
Dekodowanie wykonywanie zapis I1 I2 I3 I4 I5 I6 I1 I2 I3 I4 I5 I6 I1 I2 I3 I4 I5 I6 I1 – dwa cykle na wykonanie I3 i I4 – ta sama ALU I5 zależy od I4 I5 i I6 – ta sama ALU

10 Kolejne wydawanie/inna kolejność kończenia
Dekodowanie wykonywanie zapis I1 I2 I3 I4 I5 I6 I1 I2 I3 I4 I5 I6 I2 I1 I3 I4 I5 I6 I1 – dwa cykle na wykonanie I3 i I4 – ta sama ALU I5 zależy od I4 I5 i I6 – ta sama ALU

11 Zależność wyjściowa I3 nie może być ukończona przed I1
I1: R3 ← R3 op R5 I2: R4 ← R3 + 1 I3: R3 ← R5 + 1 I4: R7 ← R3 op R4 I3 nie może być ukończona przed I1 Zmiana kolejności wykonywania rozkazów jest trudna i wymaga rozwiązań sprzętowych

12 Inna kolejność wydawania/inna kolejność kończenia
Dekodowanie okno wykonywanie zapis I1 I2 I3 I4 I5 I6 I1, I2 I3, I4 I4,I5,I6 I5 I1 I2 I3 I6 I4 I5 I2 I1 I3 I4 I6 I5 I1 – dwa cykle na wykonanie I3 i I4 – ta sama ALU I5 zależy od I4 I5 i I6 – ta sama ALU

13 Antyzależność I1: R3 ← R3 op R5 I2: R4 ← R3 + 1 I3: R3 ← R5 + 1
I3 nie może być zakończona, zanim I2 jest wykonana Zależność jest odwrócona

14 Przemianowanie rejestrów
Zmiana sekwencji wykonywania rozkazów uniemożliwia określenie zawartości rejestrów w dowolnej chwili Nowym danym procesor przypisuje wolne rejestry Rozkazy sięgają do danej poprzez numer/nazwę odpowiadającego jej rejestru

15 Paralelizm maszynowy Powielanie jednostek funkcjonalnych ma sens tylko, gdy przemianuje się rejestry Okno rozkazu powinno być dostatecznie duże, aby pomieścić efektywnie dużo rozkazów (>16) Konieczna jest skuteczna predykcja rozgałęzień

16 Przyspieszenie architektur superskalarnych (bez przemianowania rejestrów)

17 Przyspieszenie architektur superskalarnych (z przemianowaniem rejestrów)

18 Przetwarzanie superskalarne

19 Przykład superskalarności – P4
Procesor pobiera rozkazy sekwencyjnie Rozkaz tłumaczony jest na mikrooperacje (rozkazy RISC) Mikrooperacje są przetwarzane superskalarnie w 20-elementowych potokach Wyniki mikrooperacji są wysyłane do wewnętrznych rejestrów i porządkowane

20 Architektura Pentium 4

21 Działanie Pentium 4 Pobranie instrukcji z pamięci w porządku programu statycznego Tłumaczenie instrukcji na jedną lub więcej instrukcji RISC o ustalonej długości (mikrooperacji) Wykonywanie mikrooperacji w potoku superskalarnym Mikrooperacje mogą być wykonywane w innej kolejności! Umieszczenie wyników mikrooperacji w zbiorze rejestrów w oryginalnym porządku programu Zewnętrzna powłoka CISC z wewnętrznym rdzeniem RISC Wewnętrzny rdzeń RISC o długości co najmniej 20 etapów

22 Potok Pentium 4

23 Architektura PowerPC Procesor składa się z trzech niezależnych jednostek wykonawczych (wykonanie trzech rozkazów jednocześnie): Jednostka przetwarzania rozgałęzień Jednostka zmiennopozycyjna Jednostka całkowitoliczbowa

24 Schemat PowerPC 601

25 Potok PowerPC 601


Pobierz ppt "Architektura komputerów"

Podobne prezentacje


Reklamy Google