Intel i AMD na CELLowniku!

W marcu 2001 roku firmy IBM, Sony oraz Toshiba zwarły szeregi i wspólnymi siłami postanowiły stworzyć jednoukładowy superkomputer. I rzeczywiście – niedawno zaprezentowany Cell z superkomputerami ma wiele wspólnego. Wbrew pozorom nie chodzi tu tylko o ogromną wydajność.

Na początku lat osiemdziesiątych do sprzedaży trafiły pierwsze wieloprocesorowe superkomputery z rodziny Cray X-MP. Najsilniejsza konfiguracja składała się z ośmiu wektorowych procesorów. Także współczesny Cell ma osiem wektorowych układów SPE (Synergistic Proce­ssing Element). Różnica polega na tym, że wszystkie one znajdują się w jednym kawałku krzemu. Wektorowe obliczenia trudno jednak wykorzystać w typowych domowo-biurowych zastosowaniach. By Cell mógł pracować również jako procesor ogólnego przeznaczenia, w jego wnętrzu znalazł się bazujący na architekturze IBM PowerPC układ o nazwie Power Proce­ssing Element (PPE). Nie jest to typowy PowerPC, a jego znacznie uproszczona wersja, ciągle jednak zdolna do pracy z 64-bitowym kodem i dwoma wątkami jednocześnie.

Dlaczego uproszczona? Otóż Cell jest bardzo elastyczną i programowalną jednostką centralną. By to osiągnąć, jego konstruktorzy zdecydowali się na maksymalne uproszczenie wszystkich dziewięciu rdzeni. Mniejsza złożoność to bowiem prostsze zasady działania i możliwość łatwego zwielokrotnienia liczby układów, a tym samym i łącznej mocy obliczeniowej.

Mniej “logiki sterującej” sprawia jednak, że na barkach programistów spoczywać będzie niespotykana dotąd odpowiedzialność za jak najlepsze wykorzystanie jednostek wykonawczych. Odpowiednio zoptymalizowany program, efektywnie rozdzielający zadania pomiędzy wszystkie dziewięć pogrupowanych wedle uznania rdzeni, teoretycznie będzie w stanie wykorzystać całą ogromną wydajność zmiennoprzecinkową Cella. A ta, przy planowanym zegarze 4 GHz, wynosić ma 256 gigaflopów! Dla porównania: najwydajniejsze obecnie procesory graficzne, takie jak ATI Radeon X850 XT czy nVidia GeForce 6800 Ultra, “ledwie” przekraczają 40 gigaflopów.

Krzemowa układanka

Synergistic Processing Element porównać można do jednostek SSE3 (Streaming SIMD Extension) najnowszego Pentium 4 i Athlona 64. Wszystkie one mają 128-bitowe rejestry i potrafią przetworzyć jednocześnie dwie instrukcje. Mogą też pracować na operandach stałoprzecinkowych. Każdy SPE jest jednak tak naprawdę oddzielnym procesorem wektorowym, składającym się z siedmiu jednostek wykonawczych, zorganizowanych w dwóch potokach. Wszystkie SPE wyposażone zostały w 256 kilobajtów pamięci lokalnej, a w rdzeniu każdego procesora wektorowego umieszczono kontroler DMA. Odpowiada on za transfer danych pomiędzy pamięcią systemową a lokalnymi zasobami SPE. Jakby tego było mało, wszystkie osiem wektorowych układów połączono ze sobą w sieć za pomocą interfejsu EIB (Element Interface Bus). Szyna ta w jednym takcie zegara jest w stanie przesłać do 96 bajtów danych i obsługuje do 100 zapytań jednocześnie.

Do EIB podpięty jest również wspomniany Power Processing Element. Ma on własne 64 KB pamięci podręcznej pierwszego poziomu i 512 KB cache’u L2. PPE będzie także pomagał w zarządzaniu pozostałymi rdzeniami. Cała ta “pajęczyna” procesorów z otoczeniem komunikować się ma za pomocą zaprojektowanej przez firmę Rambus nowej szeregowej szyny o nazwie FlexIO (dawna nazwa Redwood). Oprócz ogromnej przepustowości (dochodzącej do 76,8 GB/s), uzyskanej m.in. dzięki pracy z czestotliwością 800 MHz, szyna ta wykorzystuje dwa inne ciekawe rozwiazania – technologie FlexPhase oraz DRSL (Differential Rambus Signaling Level). Normalnie połączenia na płytce drukowanej muszą być tak zorganizowane, by długość wszystkich linii była porównywalna. Coraz szersze szyny powodują jednak, że trudniej zaplanować i rozmieścić wszystkie linie, tak aby przesyłane nimi sygnały były zsynchronizowane. FlexPhase jest techniką, która nie wymaga już takiej samej długości połączeń układów. Wszystko synchronizować będzie odpowiedni chip. Z kolei DRSL umożliwia zastosowanie niższego napięcia zasilającego, a tym samym zmniejszenie poboru mocy.

Komunikacja z otoczeniem to jednak nie wszystko. Sony Cell do wydajnej pracy potrzebuje także bardzo szybkich pamięci. Obecny w tym procesorze dwukanałowy (każdy kanał będzie miał szerokość 64 bitów) kontroler pamięci współpracować ma z modułami Rambus XDR DRAM, które będą w stanie dostarczyć w ciągu sekundy nawet 25,6 GB danych.

Wielordzeniowy Xenon – konsolowy konkurent dla Cella
IBM jest także autorem trzyrdzeniowego serca konsoli Microsoft Xbox drugiej generacji (kodowa nazwa Xenon). Procesor ten będzie modyfikacją dwurdzeniowego układu Power5. To dlatego każdy z trzech 64-bitowych rdzeni zdolny będzie do pracy z dwoma wątkami jednocześnie, w wyniku czego, system widzieć ma aż sześć procesorów logicznych. Dodatkowo rdzenie procesora IBM będą wyposażone także w jednostki do obliczeń wektorowych.
Procesor konsoli Xenon pracować ma z zegarem o częstotliwoci minimum 3,5 GHz i docelowo produkowany będzie w wymiarze 65 nm.

Cell i konkurenci
Procesor Intel SmitfieldAMD ToledoIBM XenonSony Cell
Liczba rdzeni2239
Teoretyczna moc obliczeniowa12 Gflop*8,8 Gflop**bd.256 Gflop
Liczba tranzystorów~250 mln~205 mln~300 mln234 mln
Proces technologiczny 90 nm90 nm65 nm90 nm – docelowo 65 nm
Pamięć podręczna drugiego poziomu (cache L2) 2 MB2 MB1 MB2,5 MB
Powierzchnia układu~230 mm2~220 mm2bd.221 mm2
bd. – brak danych; * – dla układu Pentium D (Smithfield) 2 x 3 GHz; ** – dla układu AMD Toledo 2 x 2,2 GHz
Więcej:bezcatnews