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.
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:
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:
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:
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.