Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.