Implementacje mikroprocesorów komórkowych

Pierwszy komercyjny mikroprocesor Cell , Cell BE, został zaprojektowany dla Sony PlayStation 3. IBM zaprojektował PowerXCell 8i do użytku w superkomputerze Roadrunner .

Realizacja

Pierwsza edycja Cell na 90 nm CMOS

IBM opublikował informacje dotyczące dwóch różnych wersji Cell w tym procesie, wczesnej próbki inżynierskiej oznaczonej jako DD1 oraz ulepszonej wersji oznaczonej jako DD2 przeznaczonej do produkcji.

Znane warianty komórek w procesie 90 nm
Przeznaczenie Obszar matrycy Pierwszy ujawniony Wzmocnienie
DD1 221mm 2 ISSCC 2005
DD2 235mm 2 Fajne frytki kwiecień 2005 Ulepszony rdzeń PPE

Głównym ulepszeniem w DD2 było niewielkie wydłużenie matrycy, aby pomieścić większy rdzeń PPE, który według doniesień „zawiera więcej zasobów do wykonywania SIMD / wektorów”. Niektóre wstępne informacje opublikowane przez IBM odnoszą się do wariantu DD1. W rezultacie niektóre wczesne relacje dziennikarskie dotyczące możliwości Cell różnią się teraz od sprzętu produkcyjnego.

Plan komórki

Materiał Powerpoint towarzyszący prezentacji STI przedstawionej przez dr Petera Hofstee], zawiera fotografię matrycy komórki DD2 z zaznaczonymi granicami jednostek funkcjonalnych, które są również opatrzone nazwami, co ujawnia podział obszaru krzemu według jednostek funkcyjnych w następujący sposób:


Jednostki funkcji komórki i ślad
Jednostka funkcji komórki Obszar (%) Opis
interfejs XDR 5.7 Interfejs do pamięci systemu Rambus
kontroler pamięci 4.4 Zarządza pamięcią zewnętrzną i pamięcią podręczną L2
Pamięć podręczna L2 o pojemności 512 KiB 10.3 Pamięć podręczna dla PPE
Rdzeń PPE 11.1 Procesor Power PC
test 2.0 Nieokreślona „logika testowania i dekodowania”
EBI 3.1 Procesory łączące magistralę elementów
SPE (każdy) × 8 6.2 Synergiczny element współprzetwarzający
kontroler wejść/wyjść 6.6 Zewnętrzna logika we/wy
Rambus FlexIO 5.7 Sygnalizacja zewnętrzna dla pinów I/O

Plan piętra SPE

Dodatkowe szczegóły dotyczące wewnętrznej implementacji SPE zostały ujawnione przez inżynierów IBM, w tym Petera Hofstee , głównego architekta procesora synergicznego IBM, w naukowej publikacji IEEE.

Ten dokument zawiera fotografię SPE 2,54 × 5,81 mm, zaimplementowaną w 90-nm SOI . W tej technologii SPE zawiera 21 milionów tranzystorów, z których 14 milionów jest zawartych w tablicach (termin przypuszczalnie oznaczający pliki rejestrów i lokalny magazyn), a 7 milionów tranzystorów to układy logiczne. To zdjęcie jest przerysowane granicami jednostek funkcjonalnych, które są również opatrzone nazwami, co ujawnia podział obszaru krzemu według jednostek funkcyjnych w następujący sposób:

Jednostki funkcyjne i powierzchnia SPU
Jednostka funkcji SPU Obszar (%) Opis Rura
Pojedyncza precyzja 10.0 pojedyncza precyzyjna jednostka wykonawcza FP nawet
podwójna precyzja 4.4 jednostka wykonawcza FP o podwójnej precyzji nawet
proste stałe 3.25 jednostka wykonawcza punktu stałego nawet
kontrola emisji 2.5 zasila jednostki wykonawcze
makro do przodu 3,75 zasila jednostki wykonawcze
GPR 6.25 plik rejestru ogólnego przeznaczenia
przestawiać 3.25 jednostka wykonawcza permutacji dziwne
oddział 2.5 oddziałowa jednostka wykonawcza dziwne
kanał 6,75 interfejs kanałowy (trzy dyskretne bloki) dziwne
LS0–LS3 30,0 cztery bloki 64 KiB lokalnego sklepu dziwne
MMU 4,75 jednostka zarządzająca pamięcią
DMA 7,5 jednostka bezpośredniego dostępu do pamięci
BIU 9.0 jednostka interfejsu magistrali
RTB 2.5 wbudowany blok testowy tablicy (ABIST)
ATO 1.6 jednostka atomowa dla atomowych aktualizacji DMA
HB 0,5 niejasny

Zrozumienie potoków wysyłkowych jest ważne, aby pisać wydajny kod. W architekturze SPU dwie instrukcje mogą być wysyłane (uruchamiane) w każdym cyklu zegara za pomocą potoków dyspozytorskich oznaczonych jako parzyste i nieparzyste . Dwie rury zapewniają różne jednostki wykonawcze, jak pokazano w powyższej tabeli. Gdy IBM podzielił to na partycje, większość instrukcji arytmetycznych jest wykonywana na parzystym potoku, podczas gdy większość instrukcji pamięci jest wykonywana na nieparzystym potoku. Jednostka permutacji jest ściśle powiązana z instrukcjami pamięciowymi, ponieważ służy do pakowania i rozpakowywania struktur danych znajdujących się w pamięci do formatu wielu operandów SIMD, na którym SPU oblicza najbardziej wydajnie.

W przeciwieństwie do innych projektów procesorów zapewniających odrębne potoki wykonawcze, każda instrukcja SPU może być wysyłana tylko przez jeden wyznaczony potok. W konkurencyjnych projektach można zaprojektować więcej niż jeden potok do obsługi bardzo powszechnych instrukcji, takich jak add , umożliwiając jednoczesne wykonywanie więcej niż dwóch takich instrukcji, co może służyć zwiększeniu wydajności niezrównoważonych przepływów pracy. Zgodnie z niezwykle spartańską filozofią projektowania, w przypadku SPU żadne jednostki wykonawcze nie są udostępniane wielokrotnie.

Zrozumienie ograniczeń restrykcyjnego projektu z dwoma potokami jest jednym z kluczowych pojęć, które programista musi zrozumieć, aby napisać wydajny kod SPU na najniższym poziomie abstrakcji. Dla programistów pracujących na wyższych poziomach abstrakcji dobry kompilator automatycznie zrównoważy współbieżność potoków tam, gdzie to możliwe.

Moc i wydajność SPE

Zgodnie z testami przeprowadzonymi przez IBM przy dużym obciążeniu transformacją i oświetleniem [średni IPC 1,4], profil wydajności tej implementacji dla pojedynczego procesora SPU jest kwalifikowany w następujący sposób:

Zależność prędkości od temperatury
Napięcie (V) Częstotliwość (GHz) Moc (W) temp. umierania (°C)
0,9 2.0 1 25
0,9 3.0 2 27
1.0 3.8 3 31
1.1 4.0 4 38
1.2 4.4 7 47
1.3 5.0 11 63

Wpis dotyczący pracy w paśmie 2,0 GHz przy napięciu 0,9 V oznacza konfigurację o niskim poborze mocy. Inne wpisy pokazują szczytową stabilną częstotliwość roboczą osiąganą z każdym przyrostem napięcia. Zgodnie z ogólną zasadą w obwodach CMOS, rozpraszanie mocy wzrasta w przybliżeniu do V 2 F, kwadrat napięcia razy częstotliwość robocza.

Chociaż pomiary mocy dostarczone przez autorów IBM są mało precyzyjne, dają dobre wyczucie ogólnego trendu. Liczby te pokazują, że część jest zdolna do pracy z częstotliwością powyżej 5 GHz w warunkach laboratoryjnych — chociaż temperatura matrycy jest zbyt wysoka dla standardowych konfiguracji komercyjnych. Pierwsze komercyjnie dostępne procesory Cell zostały ocenione przez IBM jako działające z częstotliwością 3,2 GHz, przy której ten wykres sugeruje temperaturę matrycy SPU w komfortowych okolicach 30 stopni.

Należy zauważyć, że pojedynczy SPU reprezentuje 6% powierzchni matrycy procesora Cell. Dane dotyczące mocy podane w powyższej tabeli stanowią tylko niewielką część całkowitego budżetu mocy.

IBM publicznie ogłosił zamiar wdrożenia Cell w przyszłej technologii poniżej węzła 90 nm w celu poprawy zużycia energii. Zmniejszone zużycie energii mogłoby potencjalnie umożliwić podbicie istniejącego projektu do 5 GHz lub więcej bez przekraczania ograniczeń termicznych istniejących produktów.

Komórka przy 65 nm

Pierwsze skurczenie komórki miało miejsce w węźle 65 nm. Redukcja do 65 nm zmniejszyła istniejącą matrycę 230 mm2 opartą na procesie 90 nm do połowy jej obecnego rozmiaru, około 120 mm2 , co znacznie obniżyło również koszty produkcji IBM.

   W dniu 12 marca 2007 r. IBM ogłosił, że rozpoczął produkcję ogniw 65 nm w swojej fabryce East Fishkill. Produkowane tam chipy są najwyraźniej przeznaczone wyłącznie dla kasetowych Cell należących do IBM , które jako pierwsze otrzymały ogniwa 65 nm. Sony wprowadziło trzecią generację PS3 w listopadzie 2007 r., Model 40 GB bez kompatybilności z PS2, w którym potwierdzono, że wykorzystuje ogniwo 65 nm. Dzięki skurczonemu ogniwu pobór mocy został zmniejszony z 200 W do 135 W.

        Początkowo wiadomo było tylko, że ogniwa 65 nm są taktowane do 6 GHz i działają na napięciu rdzenia 1,3 V, jak wykazano na ISSCC 2007. Dałoby to chipowi teoretyczną szczytową wydajność 384 GFLOPS w ćwierćdokładności ćwiartki FP ( 48 GFLOPs w FP64 o podwójnej precyzji), co stanowi znaczącą poprawę w stosunku do wartości szczytowej 204,8 GFLOPS (25,6 GFLOPs w FP64 o podwójnej precyzji), którą komórka 90 nm 3,2 GHz mogłaby zapewnić z 8 aktywnymi jednostkami SPU. IBM ogłosił ponadto, że wdrożył nowe funkcje oszczędzania energii i podwójne zasilanie dla macierzy SRAM. Ta wersja nie była jeszcze długo plotkowaną wersją „Cell+” z ulepszoną wydajnością zmiennoprzecinkową Double Precision, która po raz pierwszy ujrzała światło dzienne w połowie 2008 roku w superkomputerze Roadrunner w postaci serwerów kasetowych QS22 PowerXCell. Chociaż IBM mówił już wcześniej o komórkach z wyższym taktowaniem, a nawet je pokazywał, częstotliwość taktowania pozostała stała na poziomie 3,2 GHz, nawet w przypadku funkcji „Cell+” Roadrunnera z podwójną precyzją. Utrzymując stałą prędkość zegara, IBM zdecydował się zamiast tego zmniejszyć zużycie energii. PowerXCell łączy w sobie nawet najlepsze klastry IBM Blue Gene (371 MFLOPS/wat), które już teraz są znacznie bardziej energooszczędne niż klastry złożone z konwencjonalnych procesorów (265 MFLOPS/wat i mniej).

Przyszłe edycje w CMOS

Perspektywy przy 45 nm

Na ISSCC 2008 IBM ogłosił Cell w węźle 45 nm. IBM powiedział, że wymagałby o 40 procent mniej energii przy tej samej częstotliwości zegara niż jego poprzednik 65 nm, a obszar matrycy zmniejszyłby się o 34 procent. Ogniwo 45 nm wymaga mniejszego chłodzenia i pozwala na tańszą produkcję, również dzięki zastosowaniu znacznie mniejszego radiatora. Produkcja masowa miała początkowo rozpocząć się pod koniec 2008 roku, ale została przesunięta na początek 2009 roku .

Perspektywy poza 45 nm

Sony, IBM i Toshiba ogłosiły rozpoczęcie prac nad ogniwem tak małym jak 32 nm w styczniu 2006 r., ale ponieważ proces kurczy się w fabrykach zwykle w skali globalnej, a nie pojedynczego chipa, było to jedynie publiczne zobowiązanie do doprowadzenia Cell do 32 nm.