Organizacja wielordzeniowa

Transkrypt

Organizacja wielordzeniowa
Organizacja wielordzeniowa
✦
✦
✦
✦
Ilość rdzeni (ang. core processors) na chipie
Ilość poziomów pamięci podręcznej
Ilość dzielonej (ang. shared) pamięci podręcznej
Przykłady
✦
✦
✦
✦
(a) ARM11 MPCore
(b) AMD Opteron
(c) Intel Core Duo
(d) Intel Core i7
Przykłady organizacji
wielordzeniowych
Dzielony L2 cache - korzyści
✦ Konstruktywna interfernecja pomiędzy wątkami na
rdzeniach zwiększa współczynnik trafień
✦ Dane dzielone poprzez cache nie muszą być replikowane
✦ Właściwe algorytmy zastępowania w cache’u pozwalają
na dynamiczny przydział pamięci podręcznej
✦ wątki mniej zgodne z ZLO mogą wykorzystywać więcej cecha’a
✦ Łatwiesza komunikacja międzywątkowa poprzez pamięć
dzieloną
✦ Problem zgodności zawartości cache’a L1 (ang. cache
coherence problem)
✦ Dedykowany cache L2 daje szybszy dostęp
✦ wykrzystanie przez wątki o silnej lokalności
✦ Dzielony L3 cache może jeszcze poprawić wydajność
Intel Core Duo
✦
✦
✦
✦
✦
✦
✦
✦
2006
Dwa superskalarne procesory x86, dzielony L2 cache
Dedykowane L1 cache: 32KB L1-I (instrukcje), 32KB L1-D (dane)
Dedykowane jednostki chłodzące (ang. thermal control unit) - laptopy
i komputery mobile
Advanced Programmable Interrupt Controlled (APIC)
✦ zarządzanie przerwaniami w wątkach na poziomie rdzeni
✦ przekierowywanie przerwań we/wy do właściwych rdzeni
✦ zegar wykorzystywany przez system operacyjny do wygenerowania
przerwania na lokalnym rdzeniu
Zarządzanie zasilaniem (ang. power management logic)
✦ monitorowanie aktywności CPU i chłodzenie, sterowanie napięciem i
zużyciem mocy
2MB dzielony L2 cache
✦ dynamiczna alokacja
Bus interfejs
Intel Core Duo
Diagram
Intel Core i7
Listopad 2008
Cztery procesory x86 SMT
Dedykowany L2, dzielony L3 cache (8MB)
Spekulatywne wypełnianie cache’a (ang. speculative
pre-fetch for caches) które mogą być wkrótce użyte
✦ Kontroler pamięci DDR3 na chipie
✦
✦
✦
✦
✦ trzy kanały szerokości 8 B (szerkość szyny 192b) dające 32GB/s
✦ pozwala na wyeliminowanie FSB (ang. front side bus)
✦ QuickPath Interconnection (QPI)
✦ łącze point-to-point do komunikowania się pomiędzy rdzeniami
(zapewnia zgodność cache’a )
✦ 6.4G transferów per second, 16b per transfer
✦ komunikacja dwukierunkowa (ang. bidirectional)
✦ Przepustowość = 2*2*6.4GB=25.6GB/s
Intel Core i7
Diagram
ARM11 MPCore
✦ Do czterech procesorów każdy wyposażony w L1 cache dla rozkazów i
danych
✦ DIC (ang. Distributed interrupt controller) – dystrybucja przerwań na rdzenie
✦ Timer per CPU – każdy rdzeń ma własny zegar
✦ Watchdog
✦ wysyłanie ostrzeżeń o błędach programowych
✦ dekrementuje ustaloną wartość do zera i wysyła alert
✦ Interfejs CPU
✦ interrupt acknowledgement, maskowanie and interrupt completion
acknowledgement
✦ CPU
✦ Pojedyńczy procesor ARM11; rdzeń MP11
✦ Vector floating-point (VPF) kontroler
✦ koprocesor zmiennoprzecinkowy
✦ L1 cache – dedykowany do każdego rdzenia
✦ Snoop control unit (SCU)
✦ odpowiedzialny za zgodność (ang. coherency ) pamięci podręcznych poziomu
L1
ARM11
MPCore
Diagram