Buňka (mikroprocesor) - Cell (microprocessor)

Cell je vícejádrová mikroprocesorová mikroarchitektura, která kombinuje univerzální jádro PowerPC se skromným výkonem a efektivní koprocesní prvky, které výrazně urychlují aplikace pro zpracování multimédií a vektorů , jakož i mnoho dalších forem vyhrazeného výpočtu.

Byla vyvinuta společnostmi Sony , Toshiba a IBM , aliancí známou jako „STI“. Architektonický návrh a první realizace byly provedeny v STI Design Center v texaském Austinu po dobu čtyř let počínaje března 2001 o rozpočet vykázal Sony as blížící se US $ 400 milionů EUR. Cell je zkratka pro Cell Broadband Engine Architecture , běžně zkráceně CBEA v plném rozsahu nebo Cell BE z části.

První hlavní komerční aplikace Cell byla v herní konzoli Sony PlayStation 3 , vydané v roce 2006. V květnu 2008 se superpočítač IBM Roadrunner na bázi buňky stal prvním systémem TOP500 LINPACK s podporou 1.0 petaflops. Společnost Mercury Computer Systems také vyvinula návrhy založené na buňce.

Architektura Cell obsahuje architekturu koherence paměti, která klade důraz na energetickou účinnost, upřednostňuje šířku pásma před nízkou latencí a upřednostňuje špičkovou výpočetní propustnost před jednoduchostí programového kódu . Z těchto důvodů je Cell obecně považován za náročné prostředí pro vývoj softwaru . IBM poskytuje vývojovou platformu založenou na Linuxu , která pomáhá vývojářům programovat pro mobilní čipy.

Dějiny

Cell BE, jak vypadá v PS3 na základní desce
Peter Hofstee , jeden z hlavních architektů mikroprocesoru Cell

V polovině roku 2000 vytvořily společnosti Sony Computer Entertainment , Toshiba Corporation a IBM alianci známou jako „STI“ pro návrh a výrobu procesoru.

Centrum designu STI bylo otevřeno v březnu 2001. Cell byl navržen po dobu čtyř let s využitím vylepšených verzí návrhových nástrojů pro procesor POWER4 . V Austinu pracovalo více než 400 inženýrů ze tří společností s kritickou podporou jedenácti designových center IBM. Během tohoto období společnost IBM podala mnoho patentů týkajících se architektury buněk, výrobního procesu a softwarového prostředí. Časná patentová verze širokopásmového motoru byla ukázána jako čipový balíček obsahující čtyři „zpracovatelské prvky“, což byl patentový popis toho, co je nyní známé jako Power Processing Element (PPE). Každý prvek zpracování by na čipu obsahoval 8 „synergických prvků zpracování“ ( SPE ). Tento čipový balíček měl běžet na taktu 4 GHz a s 32 SPE poskytujícími po 32  gigaFLOPS (čtvrtinová přesnost FP8) měl Broadband Engine teoreticky mít 1 teraFLOPS surového výpočetního výkonu.

Návrh se 4 OOP a 32 SPE nebyl nikdy realizován. Místo toho Sony a IBM vyráběly pouze design s jedním OOP a 8 SPE. Tento menší design, Cell Broadband Engine nebo Cell/BE byl vyroben pomocí 90 nm SOI procesu.

V březnu 2007 IBM oznámila, že 65 nm verze Cell/BE se vyrábí ve svém závodě (v té době nyní GlobalFoundries ') ve východním Fishkillu v New Yorku . Společnost Bandai Namco Entertainment používá procesor Cell/BE pro své Arkádová deska 357 a následná 369.

V únoru 2008 společnost IBM oznámila, že začne vyrábět procesory Cell s 45nm procesem.

V květnu 2008 představila společnost IBM vysoce výkonnou verzi mobilního procesoru s dvojitou přesností s plovoucí desetinnou čárkou, PowerXCell 8i , o velikosti 65 nm.

V květnu 2008 se superpočítač Opteron -a PowerXCell 8i, systém IBM Roadrunner , stal prvním systémem na světě, který dosáhl jednoho petaFLOPS, a byl do 3. čtvrtletí 2009 nejrychlejším počítačem na světě. Tři energeticky nejúčinnější superpočítače na světě , jak je uvedeno v seznamu Green500 , podobně vycházejí z PowerXCell 8i.

V srpnu 2009 byl 45 nm buněčný procesor představen ve shodě s Sony PlayStation 3 Slim .

V listopadu 2009 společnost IBM ukončila vývoj procesoru Cell s 32 APU, ale stále vyvíjela další produkty Cell.

Komercializace

17. května 2005 společnost Sony Computer Entertainment potvrdila některé specifikace procesoru Cell, které by byly dodávány v tehdy připravované konzoli PlayStation 3 . Tato konfigurace buněk má v jádru jeden OOP s osmi fyzickými SPE v křemíku. V systému PlayStation 3 je jeden SPE během testovacího procesu zablokován, což je postup, který pomáhá zlepšit výnosy z výroby, a další je vyhrazen pro operační systém, takže v kódu hry zůstane 6 bezplatných SPE. Cílová hodinová frekvence při zavedení je 3,2  GHz . Úvodní design je vyroben pomocí 90 nm SOI procesu, přičemž počáteční objemová produkce je plánována pro zařízení IBM ve East Fishkill v New Yorku .

Vztah mezi jádry a vlákny je častým zdrojem zmatku. Jádro PPE má dvojité vlákno a v softwaru se projevuje jako dvě nezávislá vlákna provádění, přičemž každé aktivní SPE se projevuje jako jedno vlákno. V konfiguraci PlayStation 3, jak popisuje Sony, poskytuje procesor Cell devět nezávislých vláken spuštění.

28. června 2005 oznámily společnosti IBM a Mercury Computer Systems dohodu o partnerství na vybudování počítačových systémů založených na buňkách pro vestavěné aplikace, jako je lékařské zobrazování , průmyslová inspekce , letecký a obranný průmysl , seizmické zpracování a telekomunikace . Společnost Mercury od té doby vydala blade servery , konvenční rackové servery a akcelerační desky PCI Express s procesory Cell.

Na podzim roku 2006 IBM uvedla na trh blade modul QS20 využívající procesory Double Cell BE pro ohromný výkon v určitých aplikacích a dosáhla vrcholu 410 gigaFLOPS ve čtvrtinové přesnosti FP8 na modul. Pro superpočítač IBM Roadrunner byl použit QS22 založený na procesoru PowerXCell 8i . Mercury a IBM používají plně využitý procesor Cell s osmi aktivními SPE. 8. dubna 2008 vydala společnost Fixstars Corporation desku akcelerátoru PCI Express založenou na procesoru PowerXCell 8i.

Vysoce výkonný server ZEGO pro výpočet výkonu médií Sony využívá procesor 3,2 GHz Cell/BE.

Přehled

Cell Broadband Engine , nebo buněk , jak je běžně známo, je mikroprocesor určený jako hybrid konvenčních procesorů ploše (jako jsou Athlon 64 , a jádro 2 rodiny) a více specializovaných vysoce výkonné procesory, jako je například NVIDIA a Grafické procesory ATI ( GPU ). Delší název označuje jeho zamýšlené použití, konkrétně jako součást současných a budoucích online distribučních systémů; jako takový může být použit v displejích a záznamových zařízeních s vysokým rozlišením, stejně jako v systémech HDTV . Kromě toho může být procesor vhodný pro digitální zobrazovací systémy (lékařské, vědecké atd. ) A fyzikální simulace ( např. Modelování pro vědecké a strukturální inženýrství ).

V jednoduché analýze lze procesor Cell rozdělit na čtyři komponenty: externí vstupní a výstupní struktury, hlavní procesor nazývaný Power Processing Element (PPE) (dvoucestné simultánně vícevláknové jádro PowerPC 2.02 ), osm plně funkčních ko procesory nazývané Synergistic Processing Elements nebo SPE a specializovaná širokopásmová kruhová datová sběrnice spojující PPE, vstupní/výstupní prvky a SPE, nazývaná Element Interconnect Bus nebo EIB.

Aby se dosáhlo vysokého výkonu potřebného pro matematicky náročné úkoly, jako je dekódování/kódování MPEG toků, generování nebo transformace trojrozměrných dat nebo provádění Fourierovy analýzy dat, procesor buňky spojuje SPE a PPE prostřednictvím EIB, aby poskytl přístup prostřednictvím plně mezipaměti koherentní DMA (přímý přístup do paměti) , do hlavní paměti i do jiného externího úložiště dat. Aby bylo možné co nejlépe využít EIB a překrývat výpočet a přenos dat, je každý z devíti prvků zpracování (PPE a SPE) vybaven modulem DMA . Vzhledem k tomu, že pokyny pro načítání/ukládání SPE mají přístup pouze do vlastní místní paměti scratchpadu, každá SPE závisí na přenosu dat do a z hlavní paměti a dalších místních pamětí SPE na DMA. Operace DMA může přenášet buď jednu oblast bloku o velikosti až 16 kB, nebo seznam 2 až 2048 takových bloků. Jedním z hlavních návrhových rozhodnutí v architektuře Cell je použití DMA jako centrálního prostředku přenosu dat uvnitř čipu s cílem umožnit maximální asynchronii a souběžnost zpracování dat uvnitř čipu.

PPE, který je schopen provozovat konvenční operační systém, má kontrolu nad SPE a může spouštět, zastavovat, přerušovat a plánovat procesy běžící na SPE. Za tímto účelem má OOP další pokyny týkající se kontroly SPE. Na rozdíl od SPE dokáže PPE číst a zapisovat hlavní paměť a místní paměti SPE pomocí standardních instrukcí pro načítání/ukládání. Přestože mají Turing kompletní architektury, SPE nejsou plně autonomní a vyžadují, aby je OOP připravil, než budou moci vykonávat jakoukoli užitečnou práci. Protože většina „koňských sil“ systému pochází ze synergických prvků zpracování, použití DMA jako metody přenosu dat a omezená lokální paměťová stopa každé SPE představují velkou výzvu pro vývojáře softwaru, kteří chtějí co nejlépe využít tato koňská síla, vyžadující pečlivé ruční ladění programů pro získání maximálního výkonu z tohoto CPU.

Architektura PPE a sběrnice obsahuje různé provozní režimy, které poskytují různé úrovně ochrany paměti , což umožňuje chránit oblasti paměti před přístupem konkrétních procesů běžících na SPE nebo PPE.

PPE i SPE jsou architektury RISC s 32bitovým formátem instrukcí s pevnou šířkou. PPE obsahuje 64bitovou sadu obecných registrů (GPR), 64bitovou sadu registrů s pohyblivou řádovou čárkou (FPR) a 128bitovou sadu registrů Altivec . SPE obsahuje pouze 128bitové registry. Ty lze použít pro skalární datové typy od velikosti 8 bitů po 64 bitů nebo pro výpočty SIMD v různých celočíselných formátech a plovoucí desetinné čárce. Adresy systémové paměti pro PPE i SPE jsou vyjádřeny jako 64bitové hodnoty pro teoretický rozsah adres 2 64 bajtů (16 exabajtů nebo 16 777 216 terabajtů). V praxi nejsou všechny tyto bity implementovány v hardwaru. Adresy místního úložiště interní v procesoru SPU (Synergistic Processor Unit) jsou vyjádřeny jako 32bitové slovo. V dokumentaci týkající se buňky slovo vždy znamená 32 bitů, dvojité slovo znamená 64 bitů a čtyřslovné 128 bitů.

PowerXCell 8i

V roce 2008 společnost IBM oznámila revidovanou variantu buňky nazvanou PowerXCell 8i , která je k dispozici v serverech QS22 Blade Servers od IBM. PowerXCell je vyráběn 65nm procesem a přidává podporu až 32 GB štěrbinové paměti DDR2 a také dramaticky zlepšuje výkon dvojité přesnosti s plovoucí desetinnou čárkou na SPE z maxima přibližně 12,8  GFLOPS na 102,4 GFLOPS celkem pro osm SPE, což je shodou okolností stejný špičkový výkon jako vektorový procesor NEC SX-9 vydaný přibližně ve stejnou dobu. IBM Roadrunner superpočítač, svět je nejrychlejší v letech 2008-2009, se skládala z 12,240 PowerXCell 8i procesorů, spolu s 6,562 AMD Opteron procesorů. Superpočítače poháněné PowerXCell 8i ovládly také všech 6 nejlepších „nejzelenějších“ systémů v seznamu Green500, přičemž superpočítače s nejvyšším poměrem MFLOPS/Watt jsou na světě. Kromě QS22 a superpočítačů je procesor PowerXCell k dispozici také jako akcelerátor na kartě PCI Express a používá se jako hlavní procesor v projektu QPACE .

Vzhledem k tomu, že PowerXCell 8i odstranil paměťové rozhraní RAMBUS a přidal podstatně větší rozhraní DDR2 a vylepšené SPE, bylo nutné přepracovat rozložení čipů, což vedlo k většímu odběru čipů i balení.

Architektura

Schéma Cell.png

Přestože čip Cell může mít řadu různých konfigurací, základní konfigurací je vícejádrový čip složený z jednoho „prvku Power Processor Element“ („PPE“) (někdy nazývaného „Processing Element“ nebo „PE“) a několika „Prvky synergického zpracování“ („SPE“). PPE a SPE jsou propojeny vnitřní vysokorychlostní sběrnicí nazvanou „Element Interconnect Bus“ („EIB“).

Element procesoru (PPE)

PPE (buňka) .png

PPE je PowerPC založen, duální problémem v řádu dvoucestný simultánní-vícevláknových CPU jádro s 23-stupňový potrubí a působící jako regulátor pro osmi SPE, které zpracovávají většinu výpočetní zátěže. OOP má omezené možnosti spuštění mimo objednávku; může provádět zatížení mimo provoz a má zpožděné provádění potrubí . PPE bude fungovat s konvenčními operačními systémy díky své podobnosti s jinými 64bitovými procesory PowerPC, zatímco SPE jsou navrženy pro provádění vektorového kódu s plovoucí desetinnou čárkou. PPE obsahuje mezipaměť 64 KiB úrovně 1 (instrukce 32 KiB a data 32 KiB) a mezipaměť 512 KiB úrovně 2. Velikost řádku mezipaměti je 128 bajtů. Kromě toho IBM zahrnula jednotku AltiVec (VMX), která je plně propojena s jednoduchou přesností s plovoucí desetinnou čárkou (Altivec 1 nepodporuje vektory s plovoucí desetinnou čárkou s dvojitou přesností .), 32bitová jednotka s pevným bodem (FXU) se 64bitovým registrovým souborem na vlákno, Load and Store Unit (LSU) , 64-bit Floating-Point Unit (FPU) , Branch Unit (BRU) and Branch Execution Unit (BXU). PPE se skládá ze tří hlavních jednotek: instrukční jednotky (IU), prováděcí jednotky (XU) a vektorové/skalární prováděcí jednotky (VSU). IU obsahuje mezipaměť instrukcí L1, hardware predikce větví, vyrovnávací paměti instrukcí a logiku kontroly závislostí. XU obsahuje celočíselné prováděcí jednotky (FXU) a load-store unit (LSU). VSU obsahuje všechny prostředky pro provádění pro FPU a VMX. Každý OOP může dokončit dvě operace s dvojitou přesností na hodinový cyklus pomocí skalární instrukce fúzovaného násobení-přidání, což znamená 6,4  GFLOPS při 3,2 GHz; nebo osm operací s jednou přesností na hodinový cyklus s instrukcí vektor fúzované-násobení-přidání, což znamená 25,6 GFLOPS při 3,2 GHz.

Xenon v konzole Xbox 360

OOP byl navržen speciálně pro procesor Cell, ale během vývoje se Microsoft přiblížil IBM a chtěl pro své Xbox 360 vysoce výkonné procesorové jádro . IBM vyhověla a vyrobila tříjádrový xenonový procesor na základě mírně upravené verze OOP s přidanými rozšířeními VMX128.

Synergické prvky zpracování (SPE)

SPE (buňka) .png

Každý SPE je dvojí procesor v pořadí složený z „jednotky synergického zpracování“, SPU a „řadiče toku paměti“, MFC ( DMA , MMU a rozhraní sběrnice ). SPE nemají žádný hardware predikce větví (proto kompilátor značně zatěžuje). Každý SPE má 6 prováděcích jednotek rozdělených mezi lichá a sudá potrubí na každém SPE: SPU provozuje speciálně vyvinutou sadu instrukcí (ISA) se 128bitovou organizací SIMD pro instrukce s jednoduchou a dvojitou přesností. Vzhledem k současné generace Cell, každý SPE obsahuje 256  KiB vložený SRAM pro instrukce a data, s názvem „Místní Storage“ (nezaměňovat za „lokální paměti“ v dokumentech společnosti Sony, které se vztahují ke VRAM), který je viditelný na OOP a lze je řešit přímo softwarem. Každý SPE může podporovat až 4 GiB paměti místního úložiště. Místní úložiště nefunguje jako konvenční mezipaměť CPU, protože není transparentní pro software ani neobsahuje hardwarové struktury, které předpovídají, která data se mají načíst. SPE obsahují 128bitový soubor se 128 vstupními registry a měří 14,5 mm 2 při 90 nm procesu. SPE může pracovat na šestnácti 8bitových celých číslech, osmi 16bitových celých číslech, čtyřech 32bitových celých číslech nebo čtyřech číslech s plovoucí desetinnou čárkou s jednoduchou přesností v jediném taktovacím cyklu, stejně jako při operaci paměti. Všimněte si, že SPU nemůže přímo přistupovat k systémové paměti; 64bitové adresy virtuální paměti vytvořené SPU musí být předány ze SPU do řadiče toku paměti SPE (MFC), aby se v rámci systémového adresního prostoru nastavila operace DMA.

V jednom typickém scénáři použití systém načte SPE s malými programy (podobně jako vlákna ) a zřetězí SPE dohromady, aby zvládl každý krok v komplexní operaci. Například set-top box může načítat programy pro čtení dekódování DVD, videa a zvuku a displeje a data budou předávána ze SPE do SPE, až nakonec skončí v televizi. Další možností je rozdělit vstupní sadu dat a mít několik SPE provádějících souběžně stejný druh operace. Při 3,2 GHz poskytuje každý SPE teoretický výkon 25,6 GFLOPS s jednoduchou přesností.

Ve srovnání se současníky osobních počítačů relativně vysoký celkový výkon mobilního procesoru s pohyblivou řádovou čárkou zdánlivě převyšuje schopnosti jednotky SIMD v CPU, jako je Pentium 4 a Athlon 64 . Porovnávání pouze schopností systému s plovoucí desetinnou čárkou je však jednorozměrná a pro aplikaci specifická metrika. Na rozdíl od procesoru Cell jsou tyto stolní procesory vhodnější pro univerzální software, který obvykle běží na osobních počítačích. Kromě provádění více instrukcí za hodiny mají procesory od Intelu a AMD prediktory větví . Buňka je navržena tak, aby to kompenzovala pomocí kompilátoru, ve kterém se vytvářejí pokyny pro přípravu na větev. U operací s plovoucí desetinnou čárkou s dvojitou přesností, které se někdy používají v osobních počítačích a často se používají ve vědeckých počítačích, výkon buňky klesá o řád, ale stále dosahuje 20,8 GFLOPS (1,8 GFLOPS na SPE, 6,4 GFLOPS na PPE). Varianta PowerXCell 8i, která byla speciálně navržena pro dvojnásobnou přesnost, dosahuje ve výpočtech s dvojitou přesností 102,4 GFLOPS.

Testy společnosti IBM ukazují, že SPE mohou dosáhnout 98% svého teoretického špičkového výkonu při optimalizovaném paralelním násobení matice.

Toshiba vyvinula koprocesor poháněný čtyřmi SPE, ale žádnými OOP, nazývanými SpursEngine, navrženými pro zrychlení 3D a filmových efektů ve spotřební elektronice.

Každý SPE má lokální paměť 256 KB. Celkem mají SPE 2 MB lokální paměti.

Element Interconnect Bus (EIB)

EIB je komunikační sběrnice interní k buněčnému procesoru, která spojuje různé prvky systému na čipu: procesor PPE, řadič paměti (MIC), osm koprocesorů SPE a dvě I/O rozhraní mimo čip, celkem 12 účastníků PS3 (počet SPU se může v průmyslových aplikacích lišit). EIB zahrnuje také rozhodčí jednotku, která funguje jako sada semaforů. V některých dokumentech IBM označuje účastníky EIB jako „jednotky“.

EIB je v současné době implementována jako kruhový prstenec skládající se ze čtyř 16bajtových širokých jednosměrných kanálů, které se ve dvojicích protiběžně otáčejí. Pokud to vzory provozu umožňují, každý kanál může přenášet až tři transakce současně. Protože EIB běží na polovinu systémové frekvence, efektivní kanálová rychlost je 16 bytů každé dva systémové hodiny. Při maximální souběžnosti se třemi aktivními transakcemi na každém ze čtyř prstenů je maximální okamžitá šířka pásma EIB 96 bytů za hodiny (12 souběžných transakcí × 16 bytů široký / 2 systémové hodiny za přenos). I když je tento údaj často citován v literatuře IBM, je nerealistické jednoduše toto číslo škálovat podle rychlosti procesoru. Rozhodčí jednotka ukládá další omezení .

Hlavní inženýr IBM David Krolak , hlavní designér EIB, vysvětluje model souběžnosti:

Kroužek může začít novou operaci každé tři cykly. Každý převod trvá vždy osm úderů. To bylo jedno ze zjednodušení, které jsme provedli, je optimalizováno pro streamování velkého množství dat. Pokud provádíte malé operace, nefunguje to tak dobře. Pokud myslíte na osmivozové vlaky, které jezdí po této trati, dokud vlaky do sebe nenarazí, mohou na trati koexistovat.

Každý účastník v EIB má jeden 16bitový port pro čtení a jeden 16bajtový port pro zápis. Limit pro jednoho účastníka je čtení a zápis rychlostí 16 bajtů na hodiny EIB (pro jednoduchost se často uvažuje o 8 bajtech na systémové hodiny). Každý procesor SPU obsahuje vyhrazenou frontu pro správu DMA, která je schopná naplánovat dlouhé sekvence transakcí do různých koncových bodů, aniž by zasahovala do probíhajících výpočtů SPU; tyto fronty DMA lze spravovat také lokálně nebo vzdáleně, což poskytuje další flexibilitu v řídicím modelu.

Data proudí na kanálu EIB postupně kolem prstence. Protože je účastníků dvanáct, celkový počet kroků kolem kanálu zpět do místa původu je dvanáct. Šest kroků je nejdelší vzdálenost mezi jakoukoli dvojicí účastníků. Kanál EIB nesmí přenášet data vyžadující více než šest kroků; taková data musí mít kratší trasu kolem kruhu v opačném směru. Počet kroků zahrnutých v odeslání paketu má velmi malý dopad na latenci přenosu: rychlost hodin, která řídí kroky, je ve srovnání s jinými aspekty velmi rychlá. Delší komunikační vzdálenosti však poškozují celkový výkon EIB, protože snižují dostupnou souběžnost.

Navzdory původní touze IBM implementovat EIB jako výkonnější cross-bar, kruhová konfigurace, kterou přijali, aby ušetřila zdroje, zřídka představuje omezující faktor výkonu čipu Cell jako celku. V nejhorším případě musí programátor věnovat zvláštní pozornost naplánování komunikačních vzorců, kde je EIB schopna fungovat na vysokých úrovních souběžnosti.

David Krolak vysvětlil:

No, na začátku, na začátku vývojového procesu, několik lidí tlačilo na přepínač příčníků a způsob, jakým je autobus navržen, by ve skutečnosti mohl vytáhnout EIB a vložit přepínač do příčníku, pokud byste byli ochotni věnovat více křemíku prostor na čipu k elektroinstalaci. Museli jsme najít rovnováhu mezi konektivitou a oblastí, a prostě nebyl dostatek prostoru pro vložení úplného přepínače příčníků. Takže jsme přišli s touto prstencovou strukturou, která je podle nás velmi zajímavá. To se vejde do oblasti omezení a stále má velmi působivou šířku pásma.

Posouzení šířky pásma

Při 3,2 GHz každý kanál proudí rychlostí 25,6 GB/s. Při pohledu na EIB izolovaně od systémových prvků, které spojuje, dosažení dvanácti souběžných transakcí při tomto průtokovém rychlosti vychází z abstraktní šířky pásma EIB 307,2 GB/s. Na základě tohoto pohledu mnoho publikací IBM zobrazuje dostupnou šířku pásma EIB jako „větší než 300 GB/s“. Toto číslo odráží špičkovou okamžitou šířku pásma EIB upravenou podle frekvence procesoru.

V rozhodčím mechanismu pro pakety přijaté do sběrnice jsou však zahrnuta další technická omezení. Skupina IBM Systems Performance vysvětlila:

Každá jednotka v EIB může současně odesílat a přijímat 16 bajtů dat v každém cyklu sběrnice. Maximální šířka datového pásma celé EIB je omezena maximální rychlostí, s jakou jsou adresy snoopovány ve všech jednotkách v systému, což je jedna na cyklus sběrnice. Protože každý požadavek na adresu snooped může potenciálně přenášet až 128 bajtů, teoretická maximální šířka pásma dat v EIB na 3,2 GHz je 128 Bx1,6 GHz = 204,8 GB/s.

Tento citát zjevně představuje plný rozsah veřejného zveřejnění tohoto mechanismu IBM a jeho dopadu. Rozhodčí jednotka EIB, mechanismus snoopingu a generování přerušení při chybách překladu segmentů nebo stránek nejsou v sadě dokumentace, kterou dosud zveřejnila společnost IBM, dobře popsány.

V praxi může být efektivní šířka pásma EIB také omezena zúčastněnými účastníky kroužku. Zatímco každé z devíti procesorových jader může souběžně číst a zapisovat 25,6 GB/s, řadič paměťového rozhraní (MIC) je svázán s dvojicí paměťových kanálů XDR, což umožňuje maximální tok 25,6 GB/s pro kombinované čtení a zápis a dva IO řadiče jsou dokumentovány jako podporující špičkovou kombinovanou vstupní rychlost 25,6 GB/s a špičkovou kombinovanou výstupní rychlost 35 GB/s.

Aby se zmatek ještě zvýšil, některé starší publikace uvádějí šířku pásma EIB za předpokladu systémových hodin 4 GHz. Tento referenční rámec má za následek okamžitou hodnotu šířky pásma EIB 384 GB/s a šířku pásma omezenou na arbitráž 256 GB/s.

Vše, co se nejčastěji považuje za teoretické číslo 204,8 GB/s, je nejlepší mít na paměti. Skupina IBM Systems Performance prokázala datové toky zaměřené na SPU dosahující 197 GB/s na buněčném procesoru běžícím na 3,2 GHz, takže toto číslo také odpovídá praxi.

Paměťové a I/O řadiče

Buňka obsahuje dvoukanálové makro Rambus XIO, které je propojeno s pamětí Rambus XDR . Řadič paměťového rozhraní (MIC) je oddělený od makra XIO a je navržen společností IBM. Linka XIO-XDR běží rychlostí 3,2 Gbit/s na pin. Dva 32bitové kanály mohou poskytnout teoretické maximum 25,6 GB/s.

Rozhraní I/O, také provedení Rambus, je známé jako FlexIO . Rozhraní FlexIO je uspořádáno do 12 pruhů, z nichž každý je jednosměrný, 8bitová široká cesta bod-bod. Pět 8bitových širokých cest point-to-point je příchozími pruhy do Cell, zatímco zbývajících sedm je odchozích. To poskytuje teoretickou maximální šířku pásma 62,4 GB/s (36,4 GB/s odchozí, 26 GB/s příchozí) při 2,6 GHz. Rozhraní FlexIO lze taktovat nezávisle, typ. na 3,2 GHz. 4 příchozí + 4 odchozí pruhy podporují koherenci paměti.

Možné aplikace

Karta pro zpracování videa

Některé společnosti, například Leadtek , vydaly karty PCI-E založené na buňce, které umožňují překódování videa H.264 , MPEG-2 a MPEG-4 „rychleji než v reálném čase“ .

Blade server

29. srpna 2007 IBM oznámila BladeCenter QS21. Generování naměřených operací s pohyblivou řádovou čárkou za 1,05 gigabajtů za sekundu (gigaFLOPS) na watt se špičkovým výkonem přibližně 460 GFLOPS je jednou z dosud nejúspornějších výpočetních platforem. Jedno šasi BladeCenter může dosáhnout 6,4 tera – pohyblivé čárky za sekundu (teraFLOPS) a více než 25,8 teraFLOPS ve standardním 42U racku.

13. května 2008 IBM oznámila BladeCenter QS22. QS22 představuje procesor PowerXCell 8i s pětinásobkem výkonu s plovoucí desetinnou čárkou s dvojnásobnou přesností a kapacitou až 32 GB paměti DDR2 na lopatce.

Od 12. ledna 2012 společnost IBM ukončila řadu serverů Blade na základě procesorů Cell.

Deska PCI Express

Několik společností poskytuje desky PCI-e využívající IBM PowerXCell 8i. Výkon je udáván jako 179,2 GFlops (SP), 89,6 GFlops (DP) při 2,8 GHz.

Konzole videohry

Sony je PlayStation 3 herní konzole byl první aplikací je výroba procesoru Cell, taktovaný na 3,2  GHz a obsahuje sedm z osmi provozních SPE, aby Sony zvýšit výtěžek na výrobu procesoru. Pouze šest ze sedmi SPE je přístupných vývojářům, protože jeden je vyhrazen operačním systémem.

Domácí kino

Toshiba vyrobila HDTV pomocí Cell. Představili systém pro dekódování 48 streamů MPEG-2 standardního rozlišení současně na obrazovce 1920 × 1080 . To může divákovi umožnit vybrat kanál na základě desítek miniatur videí zobrazených současně na obrazovce.

Superpočítač

Superpočítač IBM , IBM Roadrunner , byl hybridem procesorů General Purpose x86-64 Opteron a Cell. Tento systém převzal místo č. 1 v seznamu Top 500 z června 2008 jako první superpočítač, který pobíhal rychlostí petaFLOPS , přičemž pomocí standardního benchmarku LINPACK získal trvalou rychlost 1 026 petaFLOPS . Společnost IBM Roadrunner použila verzi procesoru Cell PowerXCell 8i, vyrobeného pomocí technologie 65 nm a vylepšených SPU, které zvládnou výpočty s dvojitou přesností ve 128bitových registrech, přičemž dosáhly dvojnásobné přesnosti 102 GFLOP na čip.

Clusterové výpočty

Clustery konzolí PlayStation 3 jsou atraktivní alternativou k špičkovým systémům založeným na Cell blade. Inovativní výpočetní laboratoř, skupina vedená Jackem Dongarrou , na katedře informatiky na univerzitě v Tennessee, podrobně prozkoumala takovou aplikaci. Společnost Terrasoft Solutions prodává klastry PS3 s 8 a 32 uzly s předinstalovaným programem Yellow Dog Linux , což je implementace výzkumu společnosti Dongarra.

Jak poprvé uvedl Wired 17. října 2007, zajímavou aplikaci používání PlayStation 3 v konfiguraci klastru implementoval astrofyzik Gaurav Khanna z katedry fyziky University of Massachusetts Dartmouth , který nahradil čas používaný na superpočítačích kupou osmi PlayStation 3s. Následně další generace tohoto stroje, nyní nazývaná PlayStation 3 Gravity Grid , využívá síť 16 strojů a využívá procesor Cell pro zamýšlenou aplikaci, která je binární koalescencí černé díry pomocí perturbační teorie . Klastr zejména provádí astrofyzikální simulace velkých supermasivních černých děr zachycujících menší kompaktní objekty a generoval numerická data, která byla několikrát publikována v příslušné vědeckovýzkumné literatuře. Verze procesoru Cell používaná systémem PlayStation 3 má uživateli k dispozici hlavní procesor a 6 SPE, což dává stroji Gravity Grid síť 16 procesorů pro všeobecné použití a 96 vektorových procesorů. Stroj má jednorázové náklady na stavbu 9 000 USD a je vhodný pro simulace černých děr, které by jinak stály 6 000 USD za běh na konvenčním superpočítači. Výpočty černé díry nejsou náročné na paměť a jsou vysoce lokalizovatelné, a proto jsou pro tuto architekturu vhodné. Khanna prohlašuje, že výkon klastru překračuje na svých simulacích výkon 100+ tradičního klastru Linux založeného na jádru Intel Xeon. Gravitační mřížka PS3 získala značnou pozornost médií v letech 2007, 2008, 2009 a 2010.

Laboratoř výpočetní biochemie a biofyziky na Universitat Pompeu Fabra v Barceloně nasadila v roce 2007 systém BOINC s názvem PS3GRID pro kolaborativní výpočty založený na softwaru CellMD, první navržený speciálně pro procesor Cell.

Výzkumná laboratoř leteckých sil Spojených států nasadila k analýze satelitních snímků s vysokým rozlišením klastr PlayStation 3 s více než 1700 jednotkami, kterému se přezdívá „Condor Cluster“ . Letectvo tvrdí, že Condor Cluster by byl z hlediska kapacity 33. největším superpočítačem na světě. Laboratoř otevřela superpočítač pro použití univerzitami pro výzkum.

Distribuované výpočty

S pomocí výpočetního výkonu více než půl milionu konzolí PlayStation 3 byl projekt distribuovaných počítačů Folding@home uznán Guinness World Records za nejvýkonnější distribuovanou síť na světě. Prvního rekordu bylo dosaženo 16. září 2007, protože projekt překonal jeden petaFLOPS , kterého distribuovaná počítačová síť nikdy předtím nedosáhla. Kolektivní úsilí navíc umožnilo samotnému PS3 dosáhnout značky petaFLOPS 23. září 2007. Ve srovnání s tím, druhý nejvýkonnější superpočítač na světě v té době, BlueGene/L od IBM, dosahoval přibližně 478,2 teraFLOPS, což znamená výpočetní technologie Folding@home. výkon je přibližně dvakrát vyšší než u BlueGene/L (ačkoli propojení CPU v BlueGene/L je více než milionkrát rychlejší než průměrná rychlost sítě ve Folding@home). Od 7. května 2011 běží Folding@home na přibližně 9,3 x86 petaFLOPS, přičemž 1,6 petaFLOPS generuje pouze 26 000 aktivních PS3. Na konci roku 2008 byl k vytvoření tuláckého certifikátu SSL použit cluster 200 konzolí PlayStation 3 , který účinně prolomil jeho šifrování.

Sálové počítače

Společnost IBM oznámila 25. dubna 2007, že začne integrovat své mikroprocesory Cell Broadband Engine Architecture do řady mainframů společnosti . To vedlo k hernímu rámci .

Prolomení hesla

Díky architektuře procesoru se lépe hodí pro hardwarem podporované aplikace kryptografických útoků hrubou silou než konvenční procesory.

Softwarové inženýrství

Vzhledem k flexibilní povaze buňky existuje několik možností využití jejích zdrojů, které se neomezují pouze na různá výpočetní paradigmata:

Fronta práce

PPE udržuje frontu úloh, plánuje úlohy ve SPE a monitoruje postup. Každý SPE provozuje „mini jádro“, jehož úkolem je načíst úlohu, spustit ji a synchronizovat s OOP.

Vlastní multitasking SPE

Mini jádro a plánování je distribuováno napříč SPE. Úkoly jsou synchronizovány pomocí mutexů nebo semaforů jako v konvenčním operačním systému . Úkoly připravené ke spuštění čekají ve frontě, než je SPE spustí. SPE používají sdílenou paměť pro všechny úkoly v této konfiguraci.

Zpracování streamu

Každá SPE spouští odlišný program. Data pocházejí ze vstupního proudu a jsou odesílána do SPE. Když SPE ukončí zpracování, výstupní data se odešlou do výstupního proudu.

To poskytuje flexibilní a výkonnou architekturu pro zpracování streamu a umožňuje explicitní plánování pro každou SPE samostatně. Jiné procesory jsou také schopné provádět úlohy streamování, ale jsou omezeny načteným jádrem.

Open source vývoj softwaru

V roce 2005 byly vývojáři IBM předloženy patche umožňující podporu buněk v jádře Linuxu. Arnd Bergmann (jeden z vývojářů výše uvedených oprav) také popsal Linuxovou architekturu Cell na LinuxTag 2005. Od verze 2.6.16 (20. března 2006) jádro Linuxu oficiálně podporuje procesor Cell.

PPE i SPE jsou programovatelné v C/C ++ pomocí společného API poskytovaného knihovnami.

Společnost Fixstars Solutions poskytuje Yellow Dog Linux pro systémy založené na IBM a Mercury Cell, jakož i pro PlayStation 3. Společnost Terra Soft strategicky spolupracuje se společností Mercury na poskytování balíčku podpory Linux Board Board pro Cell a podpory a vývoje softwarových aplikací na různých jiných buňkách platformy, včetně IBM BladeCenter JS21 a Cell QS20, a řešení založená na Mercury Cell. Terra Soft také spravuje sadu Y-HPC (High Performance Computing) Cluster Construction and Management Suite a nástroje pro sekvenování genů Y-Bio. Y-Bio je postaveno na standardu RPM Linux pro správu balíčků a nabízí nástroje, které pomáhají výzkumníkům v bioinformatice provádět svou práci efektivněji. IBM vyvinula pseudosouborový systém pro Linux s názvem „Spufs“, který zjednodušuje přístup k prostředkům SPE a jejich používání. IBM v současné době spravuje jádro Linuxu a porty GDB , zatímco Sony spravuje řetězec nástrojů GNU ( GCC , binutils ).

V listopadu 2005 vydala společnost IBM na své webové stránky „Software Broadband Engine (CBE) Software Development Kit verze 1.0“, která se skládá ze simulátoru a různých nástrojů. Vývojové verze nejnovějšího jádra a nástrojů pro Fedora Core 4 jsou udržovány na webových stránkách Barcelona Supercomputing Center .

V srpnu 2007 společnost Mercury Computer Systems vydala sadu pro vývoj softwaru pro PlayStation 3 pro vysoce výkonné počítače.

V listopadu 2007 vydala společnost Fixstars Corporation nový modul „CVCell“, jehož cílem je zrychlit několik důležitých API OpenCV pro Cell. V sérii testů výpočtu softwaru zaznamenali doby provedení na 3,2 GHz buněčný procesor, které byly 6krát až 27krát rychlejší ve srovnání se stejným softwarem na 2,4 GHz Intel Core 2 Duo.

Galerie

Ilustrace různých generací procesorů Cell/BE a PowerXCell 8i. Obrázky nejsou v měřítku; Všechny balíčky Cell/BE měří 42,5 × 42,5 mm a PowerXCell 8i měří 47,5 × 47,5 mm.

Viz také

Reference

externí odkazy