rewolucja w podejściu do budowy CPU
Data: 22 styczeń 2008
Identyfikator: 080205
Pomimo rosnącej liczby rdzeni dzisiejsze procesory coraz częściej muszą
być wspomagane przez GPU czy układy dekodujące strumienie wideo.
Naukowcy z Intela i AMD zauważyli, że nadszedł czas na zmiany i szykują
prawdziwą rewolucję w podejściu do budowy procesorów.
Strona 1 z 3
|
Pierwszy był Cell
|
Konsolowy procesor Cell to bardzo ciekawa
konstrukcja bazująca na dwóch rodzajach rdzeni.
Osiem z nich to wektorowe układy SPE (Synergistic
Processing Element), a jeden to uproszczony
PowerPC firmy IBM, którego zadaniem jest
zarządzanie całością. Power Processing Element
pełni także rolę procesora ogólnego przeznaczenia.
Wszystkie dziewięć rdzeni Cella komunikuje się ze
sobą za pomocą szyny EIB (Element Interconnect
Bus). Za komunikację z otoczeniem odpowiedzialna
jest szeregowa szyna FlexIO firmy RAMBUS.
Tego samego autorstwa jest także dwukanałowy
kontroler pamięci XDR DRAM, oferujący pasmo
dochodzące do 25,6 GB/s.
Jednym z najważniejszych
zadań procesora Cell,
podstawy konsoli
Playstation 3,
jest wspieranie
układu
graficznego (GPU).
|
Przyjmuje się, że ostatnim wielkim uczonym, który miał ogromną wiedzę z większości dziedzin nauki, był niemiecki filozof, matematyk, prawnik, inżynier mechanik, fizyk i dyplomata Gottfried Wilhelm Leibniz. Żył na przełomie XVI i XVII wieku i już wtedy było wiadomo, że czasy, w których jedna osoba mogła odnosić sukcesy jednocześnie w wielu dziedzinach życia, mijają bezpowrotnie.
Dziś nikogo nie dziwi, że nawet w obrębie jednej dyscypliny nauki istnieje wiele osobnych specjalizacji. Zasada mówiąca o tym, że jak coś jest do wszystkiego, to jest do niczego, odnosi się jednak nie tylko do ludzi.
Kiedyś było prościej
Kilka lat temu wyścig pomiędzy Intelem a AMD sprowadzał się przede wszystkim do gonitwy za coraz wyższą częstotliwością zegara, bo to ona była wyznacznikiem wydajności procesorów. Gdy jednak nieubłagane prawa fizyki dały o sobie znać i inżynierowie zrozumieli, że zegara w nieskończoność podnosić się nie da, trzeba było poszukać innej drogi. Nowym wyzwaniem stało się zbudowanie architektury zdolnej do wykonania jak największej liczby operacji w jednym takcie zegara. Skutecznie zwiększając współczynnik IPC (Instruction Per Cycle), Intelowi udało się np. stworzyć bardzo wydajny procesor Core Duo bez konieczności podnoszenia częstotliwości zegara do niebotycznych wartości.
Uzyskiwanie lepszego współczynnika IPC jest jednak dla twórców procesorów coraz większym wyzwaniem. Nie wystarczy po prostu zwiększyć liczbę jednostek wykonawczych w rdzeniu. Wszystkie one muszą być optymalnie rozłożone na całej długości potoku wykonawczego, a przede wszystkim bardzo sprawnie powinien działać mechanizm odpowiedzialny za dostarczanie odpowiedniej ilości instrukcji i danych, tak by procesor miał co robić.
Owszem, zaawansowane mechanizmy predykcji rozgałęzień, coraz sprytniejsze systemy niekolejnego wykonywania i łączenia rozkazów, wykorzystywanie coraz szybszej, pojemniejszej i wieloetapowej (Cache L1, L2 i L3) pamięci podręcznej czy powoli powracająca do łask technologia współbieżnej wielowątkowości (na nowo pojawi się ona w procesorach Intela o kodowej nazwie Nehalem) pomagają w uzyskaniu wydajniejszych procesorów przy zachowaniu tego samego zegara.
Kolejne sukcesy na tym polu przychodzą jednak coraz trudniej. I to właśnie dlatego, oprócz zwiększania wydajności pojedynczego rdzenia, na znaczeniu przybiera ciągłe zwielokrotnianie ich liczby. 2, 4, 8, a nawet 16 rdzeni to kierunek rozwoju CPU w najbliższym czasie. Myli się jednak ten, kto sądzi, że takie dublowanie jest idealnym rozwiązaniem.
Wydajność na wakacjach
I nie chodzi tu nawet o ciągle niewielką liczbę programów mogących skorzystać z choćby dwóch, a co dopiero czterech i więcej rdzeni. Tutaj potrzeba przede wszystkim czasu, by programiści nauczyli się z wielordzeniowych układów korzystać. Niezbędne są również rozwiązania, takie jak zaproponowana przez AMD technologia LWP (Light-Weight Profiling), która zaimplementowana w krzemie pozwoli na podział zadań pomiędzy wszystkie dostępne rdzenie z poziomu logiki procesora.
Prawdziwy problem leży jednak gdzie indziej. Coraz więcej milionów tranzystorów użytych do budowy takiego wielordzeniowego procesora zwyczajnie leży odłogiem, nawet w przypadku zastosowania odpowiedniego, wielowątkowego oprogramowania. CPU to bowiem wypracowana przez lata prób i doświadczeń mieszanka jednostek stało- i zmiennoprzecinkowych, wspomaganych przez multimedialne rozszerzenia typu SSE, która powinna poradzić sobie możliwie dobrze z całym spektrum różnych zadań. Niestety, bardzo rzadko zdarza się, by dany rodzaj oprogramowania wykorzystywał całą moc obliczeniową procesora. Zwiększenie liczby rdzeni to w większości sytuacji także zwiększenie liczby niewykorzystywanych w danej chwili jednostek obliczeniowych, podczas gdy inne ledwo dają sobie radę z natłokiem zadań. Tym samym powstają rozwiązania coraz bardziej nieefektywne i nieprzystosowane do potrzeb rynku.
Zarówno Intel, jak i AMD stają więc przed koniecznością zmiany podejścia do problemu wydajności oraz samej filozofii budowania procesorów. Zamiast tworzyć ogromne, złożone z setek milionów tranzystorów rdzenie ogólnego przeznaczenia i upychać w jednym kawałku krzemu ich jak największą liczbę, znacznie lepiej przeanalizować faktyczne potrzeby i stworzyć wieloukładowy procesor odpowiednio przystosowany do wykonywania wielu specjalistycznych zadań jednocześnie.
Ocena: 



(aby ocenić, musisz się zalogować w serwisie)
Podobne artykuły: