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