Hoofdcategorieën
Device Settings

Architectuur Cell-processor onder de microscoop gelegd

Door Ralph Smeets, zaterdag 22 januari 2005 17:23
Bron: Nicholas Blachford, submitter: larridon, views: 12.772

Nicholas Blachford heeft op zijn homepage een beschrijving gegeven van de Cell-processor, die in de PlayStation 3 zal worden gebruikt, en de achterliggende architectuur. Daarnaast gaat hij in op de vraag of de Cell-processor een bedreiging zal vormen voor de huidige processors die momenteel in pc's gebruikt worden. Dit was geen gemakkelijke taak, want IBM, Toshiba en Sony, die deze processor hebben ontworpen, hebben tot nu toe maar weinig los gelaten over de architectuur. Het artikel is dan gebaseerd op een patent omtrent de Cell-processor en informatie die verspreid over het Internet is te vinden. Het is dus goed mogelijk dat Blachford een aantal details niet correct heeft, hoewel er waarschijnlijk wel gesteld kan worden dat hij er niet ver naast zal zitten.

De Cell-processor is gebaseerd op een architectuur die bestaat uit meerdere cellen, waarbij de onderliggende processors, als de software, inclusief de gegevens die verwerkt moeten worden, beschouwd worden als afzonderlijke cellen. Dit geheel wordt bestuurd door een cel die softwarecellen richting processorcellen verstuurd. Als de processorcel klaar is met de berekeningen, worden de resultaten weer teruggestuurd naar de moedercel. Deze architectuur valt dan ook heel goed te vergelijken met een vorm van distributed computing. Ook kan het geheel zo geprogrammeerd worden dat een cel de gegevens van een andere cel gebruikt. Hiermee kan op een redelijk eenvoudige manier bijvoorbeeld een MPEG2-stream (dvd, HDTV) worden afgespeeld, waarbij er door elke cel een andere bewerking wordt losgelaten op de stream die afkomstig is van de bron.

Volgens Blachford zal de Cell-processor bestaan uit een op IBM's Power Architectuur gebaseerde processor, de Processor Unit, acht geheugencontrollers en acht Attached Processing Units. De Power-processor zorgt voor het distribueren van de softwarecellen over de APU's. Deze APU's, vergelijkbaar met een SSE3-unit in de Pentium 4, doen dus het uiteindelijke werk. Hiervoor heeft elke APU de beschikking over 128KB snel SRAM-geheugen, 128 128-bits registers, vier floating point unit en vier integer units. Tijdens een presentatie van de Cell-processor tijdens het ISSCC werd een dia getoond waaruit blijkt dat dit alles zijn werk zal doen op 4,6GHz en 1,3V:

Cell-processor specificaties

Deze slide was de basis voor een discussie op Real Word Technologies, waarbij ook het artikel van Blachford werd besproken. Onder andere Paul DeMone laat hier van zich horen en stelt dat de architectuur van de verschillende onderdelen erg simpel moet zijn om dit soort snelheden toe te laten. Vooral het feit dat de Power-architectuur deze snelheden waarschijnlijk nooit kan halen, wijst erop dat de 4,6GHz waarschijnlijk alleen betrekking heeft op de APU's.

Blachford stelt in zijn artikel dat er maar liefst vijf 3GHz dual-core Opteron-processors nodig zijn om de rekenkracht van een enkele Cell-processor te evenaren. Toch zal de Cell-processor niet meteen een x86-processor kunnen vervangen. Alle software zal namelijk herschreven moeten worden om te kunnen draaien op de Cell-architectuur, iets dat waarschijnlijk niet zal gebeuren. Toch ziet Blachford in de Cell-processor een geduchte concurrent voor de huidige x86-processor. Met behulp van een Just-In-Time (JIT) compiler zou een Cell-processor namelijk een pc kunnen emuleren en dus via een omweg de concurrentie aangaan. Dit is min of meer vergelijkbaar met de morphing-technologie die gebruikt wordt in de processors van Transmeta, bijvoorbeeld de Efficeon. Op Real Word Technologies zijn ze hier echter een stuk sceptischer over.

Cell-processor architectuur
Volgende 18:01 Het Linux-bedrijfsmodel nader bekeken
Vorige 17:06 Maxell komt met 'stevigere' beschrijfbare dvd's
Advertentie

Reacties

«  1  2  »

wow, als ik het zo lees is die vrij snel. Het zou wel mooi zijn als die nog een keer voor de desktop zou komen, maarja, moet alles er wel op kunnen draaien.

Kijk dit maakt het me eindelijk duidelijk wat zo'n Cell nu precies inhoud :) Ziet er wel veelbelovend uit IMO

wow, ik kan haast niet wachten totdat dit ook daadwerkelijk gebruikt gaat worden.

zoals ik het nu zie is het een soort risc processor maar dan is er voor elke functie een aparte APU beschikbaar waardoor er erg veel dingen tegelijk uitgerekend kunnen worden.
echter zal dat denk ik niet altijd het geval zijn tenzei elk stukje multifunctioneel is.

het is me nog niet helemaal duidelijk waarvoor elk APU dus gebruikt gaat worden. zijn deze multifunctioneel? en zo ja waar komt de uber rekenkracht eigenlijk vandaan.

In het geval van een pc processor kan je regelmatig zeggen "dat zal niet altijd het geval zijn". Zo kun je dat zeggen bij Hyperthreading, bij AMD64 enzovoorts. Is de software er voor geschreven, dan zal dat het geval zijn en werkt de techniek dus en kun je er voordeel mee uithalen, zoniet? dan werkt de techniek en dus het voordeel ook niet.

Bij zoiets als een console heb je dat zogoed als niet. De software moet er namelijk from scratch voor geschreven worden en dus zorgt een goede softwareprogrammeur er heus wel voor dat deze techniek zo optimaal benut wordt als mogelijk. Tuurlijk zal dit niet werkelijk altijd zo zijn, maar ze zullen dit wel zoveel mogelijk proberen te doen, itt bv Hyperthreading, dat lang niet door alle software is/word ondersteund.

Tof dat de PS nu ook een echt sterke processor krijgt, maar is de GPU niet veel belangrijker?

De gpu maakt onderdeel uit van de Cell processor, en het gpu gedeelte in de cell processor wordt in samenwerking met nVidia gemaakt, waarbij de technieken geleend worden van het huidige NV40 (6800 serie) en de toekomstige NV50 chips. Wat graphics zit het dus wel goed.

Klinkt zoals de meeste nieuwe dingen van andere makelarij erg optimistisch. Het zal wel weer uitdraaien op de helft van wat er beloofd werd.
Ik vind ze wel heel erg overkill klinken als ze zeggen dat 1 cell processor meer kan als 5 dual core opterons, lijkt me heel sterk dat ze hier de waarheid spreken.

tja... de vorige schatting was 100x 2,4Ghz P4.
Dus ze gaan al omlaag.

Hoe vaak hebben we al niet gehoord dat de next gen console tig keer sneller is dan de huidige desktop systemen?

Eerst zien, dan geloven.
Met behulp van een Just-In-Time (JIT) compiler zou een Cell-processor namelijk een pc kunnen emuleren en dus via een omweg de concurrentie aangaan.
Dan mag de software wel veel gebruikmaken van threading, anders kun je maar een cell gebruiken.

Het nadeel van veel threading is dat het schedulen alleen al op een gegeven moment te lang duurt om er een apparte thread voor op te starten. Das een van de redenen (eigenlijk dé reden) waarom een grote multicore geen zin heeft (laat zeggen meer dan 8 cores op 1 chip). Het is dus niet zo dat we over 10 of 20 jaar spreken over een 100-cores-in-1-core processor. Ik vraag me dan ook af hoe de Sony/Toshiba dit probleem oplossen met hun Cell processor (al is het bij hun cell systeem nog niet overkill aan cells) want ze hebben dan óf een hele goed scheduler nodig, óf de resultaten zullen irl lang niet zo goed zijn als gepland.

Deze chip stelt nog niet zo veel voor maar het word natuurlijk leuk als je een paar miljoen cores hebt die al vast alle branches aan het vooruit rekenen zijn.
Wat geeft het in de toekomst als 99% van de berekeningen weer kunnen worden weggegooit als je toch en paar miljoen cores hebt.
Ze zullen toch iets moeten doen om je cpu sneller te krijgen, als ze uit de single pipe cpu's geen hogere megahertzen meer weten te persen.

Wat geeft het in de toekomst als 99% van de berekeningen weer kunnen worden weggegooit als je toch en paar miljoen cores hebt.

99 % energie verlies?

De PS2 was toch ook vele malen sneller dan de gemiddelde desktop toen hij gereleased werd? Het probleem is alleen dat je daar niets van kan zien omdat er ten eerste totaal andere applicaties op draaien en ten tweede de punten waarop hij sneller is nauwelijks overeenkomen met de x86 architectuur.
Om de vector rekenkracht van de EE (emotion engine, PS2 prosessor) te kunnen benaderen heb je een P4 van zo'n 3GHz nodig.
Daarentegen moet je de EE geen logische integer operaties voor z'n kiezen gooien, want dan kom je in de buurt van een P2 300MHz.

Zo zal waarschijnlijk ook de Cell niet goed te vergelijken zijn met de x86. Je kan er wel zeker van zijn dat het een krachtige processor is aangezien de Blue Gene/L clusters van IBM gebaseerd zijn op de Cell prosessor. Maar ook hier weer, een cluser wordt veel vaker voor vector operaties dan voor integer operaties gebruikt en zal een P4 dus vrij zinloos zijn.

Dat klinkt inderdaad een beetje overdreven dat de Cell zo krachtig zal zijn dat je 5 dual core Opterons nodig hebt om het te evenaren. Wat moet een gamesconsole/media machin e met zoveel power? Zelfs PC's zijn nu nog niet zo ver, en wat moet dat wel niet gaan kosten die PS3.

en 85C! heb je in de winter gelijk extra verwarming erbij :Y)

Ik weet nog heel goed toen de PS2 uitkwam, claimde Sony dat het 50x zo powerfull als de Dreamcast was, al snel daalde die uitspraak naar 20x, toen naar 10x uiteindelijk viel de PS2 wat betreft graphics helemaal niet veel beter te kunnen.

Het is 85C met een heatsink. Waarschijnlijk bedoelen ze dus passieve koeling.

De grootte van het heatsink is niet bekend, maar zo'n snelle CPU met een passief heatsink is niet slecht ;)

Stel dat die cell echt zoveel beter is (wat ik niet denk want dan zouden intel/amd allang ook ziets geprobeert hebben) zouden ze dan niet zoiets als met procs het geval is een soort x86 layer eraan toevoegen die alles weer vertaalt? De huidige x86 procs gebruiken x86 toch ook alleen nog maar als layer voor de software maar de rest werkt toch allang niet meer via x86? of heb ik dat mis? (had zoiets een x ergens gelezen).

Dat ze zoiets bij de huidige computers niet toepassen is toch ook heel logisch, dat zou bijna onmogelijk zijn! Begrijp wel goed dat met de huidige pc software en hardware zoiets ook niet zomaar te implementeren is. Alles moet aangepast worden en kost zeer veel tijd en gewenning voor consumenten. Zoiets valt er bij de consumenten niet door te drukken, veel te veel gedoe. Maar met een Console kan ALLES omdat het een dedicated systeem is. Velen willen niet geloven dat next-gen consoles sneller zijn dan de huidige desktops, ik zeg: natuurlijk zijn die veel sneller, das gewoonweg heel logisch. (vind ik dan)
Ook moet je niet vergeten dat de PC's zoals wij die kennen en waar sommingen misschien van vinden dat ze snel zijn en helemaal te gek draaien met hun allernieuwste videokaart, cpu en raid setups, dan vergis jij je heel erg. Houd namelijk altijd in je achterhoofd dat een pc een van de meest slecht gestructureerde systemen zijn die er bestaan, het kan allemaal ontzettend veel beter, maar jah weet jij veel, want je vergelijkt pc resultaten met pc resultaten. Een geheel andere aanpak kan een gigantische winst behalen op gebied van performance. Wij zitten nu al jaren vast aan zo'n stom moederbord met pci sloten ed. dat hele concept zou eigenlijk in de put gegooid moeten worden.
Ik ben me door de jaren zeer bewust geworden van hoe slecht pc's eigenlijk presteren en loop al jaren te schreeuwen om betere aanpak, maar dat valt onmogelijk zomaar te veranderen. De consoles bieden hier uitstekend de gelegenheid voor, en dat is precies wat we nu mee gaan maken, soort van evolutie op game gebied. We denken wel dat we heel snel vooruitgang boeken als we zien hoesnel er videokaarten uitkomen en alles daar omheen, we vinden het zelfs TE snel gaan, maar de uitgangsmethode is eigenlijk waar het allemaal al verkeerd gaat. Ik vind zelf dat we in de afgelopen jaren geen interessante prestaties geboekt hebben, als we zo doorgaan komt er nooit echt een 'snel' systeem, het blijft immers RE-TE-TRAAG. Het gehele concept MOET anders, en dan gaat de performance met een speer de lucht in, let maar op.

Natuurlijk wil dit allemaal niet zeggen dat de cell ook te vergelijken valt met een andere cpu, dat moet je gewoon helemaal niet willen doen. Het wordt helaas wel gedaan en de reacties daarop zijn ook nogal irritant. Wat maakt een performancevergelijking nou eigenlijk uit, we beoordelen achteraf wel of het snel of traag is, meer niet. Ik geloof echter heilig in een andere aanpak en dat deze zeer positief uit zal pakken, hoeveel beter dat dan is boeit NU helemaal nog niet.

Dat deze techniek niet zonder veel problemen ingevoerd kan worden klopt, maar het probleem is niet de gewenning van de consument maar het ontwerpen van het systeem. Intel en/of Amd zouden wel een heel groot risico lopen om een systeem te onwerpen dat niet meer compatibel is met al wat er de laat ste decennia ontwikkeld is op pc gebied. De ontwikkelingskosten zijn gewoon te hoog.
Jij beweert dat het systeem van "moederbord met pci sloten ed." in de put zou gegooid worden. Ik veronderstel dat je bedoelt dat het gehele instructiesetachitectuur systeemmodel niet deugt? Welke alternatieven zijn er dan zo meteen om dit te vervangen?

PC's presteren niet zo goed op bepaalde specifieke gebieden als de dedicated game-systemen, maar dat wordt veroorzaakt door het hele concept van een pc. Het is immers een allround machine die steeds voor meer gevariëerde zaken gebruikt wordt.
Ik hoop toch stiekem wel dat je gelijk krijgt ivm de performance die als een speer de lucht in gaat gaan.

Interresant dat je dit nou net naar voren haalt, zat er gister nog aan te denken. Ik ben het namelijk helemaal met je eens. Consoles hebben een groot voordeel ten opzichte van pc's. Ze vormen namelijk hun eigen platform waardoor ze compleet nieuwe technieken kunnen implenteren. Bij pc's kan dit niet aangezien alles compatible moet zijn met de huidige pc's en dat vormt een zeer grote bottleneck. En dat is niet alleen hardware matig, maar ook softwarematig. Kijk maar eens naar de games industrie. Huidige xbox games kunnen kwa graphics over het algemeen aardig mee met die van de huidige pc games. Tuurlijk op de pc is alles vaak wel net iets mooier. Maar als je dan kijkt wat voor hardware er in zo'n xbox zit: een 700mhz processor met een videokaart die gebaseerd is op de geforce 3. Met een p3 700mhz en een geforce 3 kun je geen enkele nieuwe pc game meer fatsoenlijk spelen maar kijk eens hoe mooi de boel eruit ziet op de xbox. En waar zit het hem nou in? De xbox is 1 platform en alle xbox'en zijn hetzelfde. Men kan er dus het maximale uithalen want men kan alles perfect optimaliseren voor de hardware. En dit kan dus niet bij een pc. Bij een pc heb je zoveel onderdelen die verschillend zijn(verschillende videokaarten, cpu's etc.) en ze verschillen allemaal zoveel in snelheid dat men met geen mogelijkheid het maximale eruit te halen. Erger nog de games moeten ook nog eens compatibel zijn met oudere pc's die langzamer zijn. Ik denk dus dat we eigenlijk gewoon van dat upgrade en verschillende onderdelen systeem af moeten en gewoon moeten gaan werken met vaste platformen. Gewoon vaste pc's die allemaal hetzelfde zijn en dat er dan bijvoorbeeld om de twee jaar 1 nieuwe pc uitkomt. En dan kunnen er best pc's zijn van verschillende fabrikanten zolang de boel in die pc's maar niet veel varieert. Het resultaat? Geen pc's meer die na een half jaar alweer veroudert zijn. Games zien er dan juist beter uit als je pc eenmaal 1 a 2 jaar oud is aangezien de boel steeds meer geoptimaliseerd is voor die pc.

Ik denk dus dat we eigenlijk gewoon van dat upgrade en verschillende onderdelen systeem af moeten en gewoon moeten gaan werken met vaste platformen.
Waarom maak jij dan nu gebruik van de PC? Een brief typen kan ook op een typmachine hoor... Een typmachine is namelijk ook gespecialieerd in het maken van brieven... Dus die kan dat ook heel goed... Vooral de Remmington uit 1820... ;)

Wat ook veel scheelt is dat de XBOX maar graphics voor een TV scherm hoeft neer te zetten.
Niemand die het in zijn hoofd haalt om op zijn PC een game TV resolutie te gaan spelen. En volgens mij krijgt een XBOX het (mede!) daarom voor elkaar met beperkte hardware toch graphisch mooi uitziende games te draaien.

Het nadeel van consoles is dat er altijd bespaard moet worden op allerlei omdat het anders te duur wordt. Bvb de PS2 heeft slechts 32MB ram (Main + VGA) en kwam uit in de tijd dat een doorsnee pc 256MB had en 32-64MB vga. Het gevolg was dat bij de introductie vd PS2 de textureres nog niet de helft was van wat een toenmalige Geforce 2 moeiteloos aankon.
Een eenvoudige console kan nooit beter zijn dan een high end pc die 3 maal zo duur is (zonder scherm). Dat was misschien zo in het vorige millenium maar het is inmiddels lang achterhaald. :)
Zoals eerder gezegd;
Zouden we bvb 3dMark 05 draaien op een PS3 en op een pc met 6800GT op dezelfde resolutie (!) dan zal die pc een hogere score neerzetten.

Absolute onzin. Resolutie zegt alleen iets over de zichtbare details. Low-res kan stukken mooier zijn dan high-res. Vergelijk Gran-Turismo 4 met GTR.

Je bedoelt waarschijnlijk de vertaling van x86 commando's naar micro-ops. Deze laatste zijn dan geoptimaliseerd voor de processor?

Betekent toch dat de processor niet veel anders kan dan x86 commando's aannemen, die in een buffer stoppen etc. Ze zijn niet gemaakt om de vertaling niet te maken.

Wat ik nog steeds niet begrijp, over het optimaliseren van processor gebruik, zeker na de introductie van PCI-E, is het volgende:

Door de hoge bandbreedte van PCI-E moet het toch mogelijk zijn om bepaalde berekeningen te centraliseren in de meest efficiente unit beschikbaar in het systeem?

Zo begrijp ik dat de nieuwe Nvidea cores mpeg-2 kunnen coderen. Stel, de software krijgt de opdracht dat te gaan doen, dan zou deze toch kunnen evalueren of mn Intel P4 3,0 dat sneller of minder snel doet dan de nvidea die erin zit, en de gegevens dan daar dus heen kunnen leiden. Dit principe zou natuurlijk ook voor een CELL achtige structuur kunnen.

In wezen zijn de altivecs daar ook een voorbeeld van. De processor zou vectorberekeningen in de 'main' unit kunnen afhandelen, maar beslist om deze naar de altivec te sturen.

Dan is het toch nog maar een kleine stap om de extra unit andere kunstjes te laten leren, en daar dan bepaalde delen van de code heen te leiden?

De nVidia cores kunnen alleen mpeg 2 decoderen, en niet encoderen. Voor het decoderen heb je geen snelle pc nodig, dat kan zelfs een oude pentium 2 nog op full screen op dvd kwaliteit. Encoderen kost veel meer cpu power en kan het zelfs de snelste processor nog het vuur aan de schenen leggen. Daarbij is de decoder in de nVidia core alleen gemaakt om de weergave van videobeelden scherp te maken, en gebruik maken van enkele technieken om beter beeld te creeeren. Normaal nam de cpu die taak al op zich dmv software, maar dat was lang niet zo precies en scherp. Het is dus niet de vraag of de cpu of de nVidia decoder dat gaat doen, je wil gewoon altijd dat de nVidia decoder dat gaat doen omdat die scherper is, beter beeld geeft en tevens de cpu ontlast, zodat er meer power is voor overige cpu intensieve zaken :).

En het is btw nVidia, en niet nVidea

Zucht...
* 786562 The_Great_Cornholio
«  1  2  »

Op dit item kan niet meer gereageerd worden.

Volgende 18:01 Het Linux-bedrijfsmodel nader bekeken
Vorige 17:06 Maxell komt met 'stevigere' beschrijfbare dvd's
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011