czwartek, 24 maj 2012
NEXT / Artykuły / NEXT 3/2007 / Artykuły z NEXT 3/2007 / Polaris bliski działania

NEXT 3/2007 - Polaris bliski działania

Polaris bliski działania - ikonka nowe sposoby konstruowania układów o dużej wydajności

Data: 16 listopad 2007
Identyfikator: 070303

Czy superkomputer znalazł już gdzieś przemysłowe zastosowanie? Na jakie problemy natrafiono przy praktycznym wykorzystaniu tak ogromnej mocy obliczeniowej? Co w najbliższej przyszłości zyska przeciętny użytkownik na tak szybkich procesorach?

Strona 1 z 3
< Poprzednia 1 2 3 Następna >

Architektura Polarisa

W pojedynczym jądrze największą powierzchnię zajmuje jednostka obliczeniowa, jednak ruter zapewniający komunikację jest niewiele mniejszy.

Już od wczesnej wiosny 2007 r. głośno było o opracowanym przez Intel 80-rdzeniowym procesorze, zapewniającym moc obliczeniową na poziomie 1,3 TFLOPS. W końcu Intel zdecydował się na publikację informacji o układzie Polaris, gdyż pod taką właśnie nazwą realizowany jest cały projekt. Przyjrzyjmy się bliżej temu układowi, ponieważ wszystko wskazuje na to, że wytycza on nowy kierunek w architekturze systemów masowego przetwarzania równoległego, realizowanych w pojedynczym układzie scalonym.

Na powierzchni 275 mm2 układu, wykonanego w wymiarze technologicznym 65 nm, z dziewięcioma warstwami połączeniowymi, zlokalizowanych jest 80 niewielkich „kafelków”– układów Processing Engine (PE). Każdy z nich ma powierzchnię około 3 mm2 i jest samodzielnym procesorem, z własnymi pamięciami danych i instrukcji. Fotografia układu pokazuje relatywnie duże odstępy pomiędzy poszczególnymi „kafelkami”. Nie jest to bynajmniej niewykorzystana przestrzeń – tędy przebiega sieć połączeń tworząca jedną całość z 80 indywidualnych układów. Warto wiedzieć, że przepływność połączenia tej sieci wynosi 32 GB/s.

Sieć łączy ze sobą procesory-kafelki w dość oryginalny, a zarazem efektywny sposób. Zauważmy, że blisko jedną czwartą kafelka stanowi układ, któremu nadano nazwę ruter, czyli wyznacznik tras/połączeń. Jego konstrukcja jest oparta na sześcioportowym przełączniku krzyżowym. Sterowany programowo, umożliwia komunikację jądra obliczeniowego z układami wejścia/wyjścia, a także przekazywanie zadań pomiędzy poszczególnymi jądrami. Cztery wejścia/wyjścia rutera prowadzą do sąsiednich jąder, piąte przeznaczone jest na własny użytek jednostki PE. Szósty port rutera skierowany jest donikąd – na razie nieużyteczny, ma współpracować bezpośrednio z pamięcią RAM, która zostanie nałożona na chip i połączona z nim.

Najszybciej bezpośrednio

W jaki sposób pamięć RAM zostanie umieszczona na chipie? Już od dłuższego czasu producenci układów scalonych, a wśród nich Intel, prowadzą intensywne prace nad praktyczną realizacją struktury złożonej z kilku układów scalonych nałożonych jeden na drugi. W przypadku Polarisa indywidualny dostęp każdego z jąder do pamięci (oczywiście wieloportowej) eliminuje problemy niedoboru pasma przepływności, przed jakim stają coraz częściej współczesne procesory wielordzeniowe. Pojemność chipu pamięci, nałożonego na układ Polaris, Intel ostrożnie szacuje na 256 MB. Ma to być pamięć statyczna SRAM, a więc dość droga w produkcji, ale za to bardzo szybka i niewymagająca skomplikowanych układów towarzyszących, zapewniających na przykład cykliczne odświeżanie zawartości. Jeśli pamięć ta będzie do podziału dla 80 jąder, to nie jest jej zbyt wiele. Jeśli jednak potraktujemy ją jako wspólną dla wszystkich jąder pamięć podręczną drugiego poziomu, to wystarcza aż nadto. Pozostaje tylko czekać, aż Intel zrealizuje praktycznie brakujące ogniwo i szósty port rutera zostanie połączony z pamięcią RAM. Tymczasem, jak już wspomnieliśmy wcześniej, do pełnej użytkowości układowi Polaris jeszcze nieco brakuje pomimo gigantycznej wydajności.

Prosty jak procesor

Wewnątrz kafelka poza ruterem znajdziemy dwie 32-bitowe jednostki zmiennoprzecinkowe FPMAC z funkcją mnożenia, pracujące w trybie akumulacji i współpracujące z zestawem 32 rejestrów. Tryb akumulacji oznacza, że wynik operacji trafia do rejestru, w którym znajdował się jeden z operandów. Ten zestaw rejestrów jest zorganizowany tak, że pozwala na równoczesne dokonanie sześciu odczytów i czterech zapisów. Dwukilobajtowa pamięć RAM danych (D MEM) dostępna jest przez 64- -bitową szynę zarówno dla zespołu rejestrów, jak i układu RIB (Router Interface Block). Uwagę zwraca brak jakiegokolwiek dekodera instrukcji – elementu, do którego obecności przywykliśmy w klasycznej architekturze procesorów.

Dekodera instrukcji nie ma, ponieważ odczytywane z pamięci I MEM instrukcje sterują jednostkami procesora bezpośrednio. W Processing Engine układu Polaris zastosowano bardzo uproszczoną architekturę VLIW (Very Long Instruction Word), w bardziej wyrafinowanych formach znaną nam z procesorów Transmeta i Intel Itanium. W 96--bitowym słowie instrukcji może być zawarte do sześciu poleceń, adresowanych do poszczególnych układów funkcjonalnych. Możliwe jest więc równoczesne wydanie instrukcji dla obu jednostek FPMAC oraz dwóch instrukcji zapisu i dwóch odczytu z pamięci D MEM, a także kombinacje tych instrukcji z rozkazami przeznaczonymi dla rutera. Prościej, a zarazem skuteczniej chyba nie można zaprojektować procesora.


Tagi: procesory  
Ocena: +++++    (aby ocenić, musisz się zalogować w serwisie)

< Poprzednia 1 2 3 Następna >

Podobne artykuły:

Komentarze:

Redakcja nie ponosi odpowiedzialności za treść komentarzy.
Nikt jeszcze nie skomentował.
Niezalogowany

Aby mieć dostęp do niektórych części serwisu NEXT (np. forum dyskusyjnego, oceny numeru, newslettera), musisz posiadać konto w naszym serwisie. Zachęcamy do darmowej rejestracji!

Jeżeli posiadasz już konto w serwisie, to zaloguj się.