- Cell (Prozessor)
-
Cell ist der Name für eine Prozessorserie, die von IBM gemeinsam mit Sony und Toshiba entwickelt wurde. Die Prozessoren zeichnen sich durch die Nutzung eines 64-Bit-PowerPC-Kernes, einer Pipeline-Architektur, Unterstützung für Simultaneous Multithreading und dem Einsatz einer Multicore-Architektur aus, wodurch sie für paralleles Rechnen prädestiniert sind.
Inhaltsverzeichnis
Aufbau
Das Grundkonzept der Cell-Prozessoren sieht acht Synergistic Processing Elements (SPE) und ein PowerPC Processing Element (PPE) vor. Jedes SPE besteht aus einer Recheneinheit (ALU) mit vierfachem SIMD, bezeichnet als Synergistic Processing Unit (SPU). Diese verfügt über 128 Register, die jeweils 128 Bit groß sind. Zum SPE gehört weiterhin ein Memory Flow Controller (MFC), der DMA-Übertragungen zum Hauptspeicher oder zu anderen SPEs steuert, sowie ein eigener lokaler Speicher von 256 KB. Mit dem Verzicht auf Cache zugunsten eines direkt adressierbaren und SRAM basierten lokalen Speichers können Speicherlatenzen gegenüber einer Cache-gestützten In-Order-Architektur kontrolliert und entsprechend gering gehalten werden.[1]
Der Steuerprozessor (PPE) basiert auf der 64-Bit-PowerPC-Architektur von IBM, dessen Pipeline aber im Vergleich zu üblichen PowerPC-Prozessoren in order arbeitet.[2] Da er zwei Threads gleichzeitig abarbeiten kann, entstehen bei entsprechend eingerichteten Programmen die üblichen In-Order-Nachteile durch blockierte Pipelines in geringerem Maße. Dem PPE stehen 512 KB L2-Cache zur Verfügung. Insgesamt verfügt die CPU also über 2,5 MB internen Speicher.
Die einzelnen Prozessorkerne sind über einen Element Interconnect Bus (EIB) gekoppelt, der Daten mit bis zu 96 Byte pro CPU-Takt übertragen kann. Sowohl das PPE als auch die SPEs können pro CPU-Takt mit 8 Bytes auf den EIB zugreifen. Der EIB ist dabei als Ringbus (4× 128 Bit) realisiert und wird mit halbem CPU-Takt getaktet. Der Zugriff auf den Hauptspeicher erfolgt über einen Memory Interface Controller (MIC).[3]
Der erste Cell-Prozessor wurde in 90 nm Strukturgröße im SOI-Verfahren gefertigt, dabei erreichte das Die eine Fläche von rund 221 mm².[4] Ab März 2007 stellte IBM den Prozessor in 65-nm-Verfahren her, was zu einer kleineren Die-Fläche und somit zu geringeren Fertigungskosten führte.[5]
2007 wurde eine verbesserte Variante des Cell-Prozessors auf den Markt gebracht, der PowerXCell 8i. Dieser wurde bereits vom Start weg in 65 nm gefertigt und unterstützt im Vergleich zu seinem Vorgänger Berechnungen mit Gleitkommazahlen doppelter Genauigkeit nativ, das heißt ohne Hilfsfunktionen und damit wesentlich schneller.
Einsatz
Der Cell-Prozessor wurde mit speziellem Augenmerk auf breitbandige Berechnungsanwendungen entwickelt, vor allem Grafikberechnung und Videokodierung/-dekodierung. Die erste kommerzielle Verwendung fand das Design im September 2006 in IBM-Bladeservern mit acht SPEs.[6] Bekannt wurde der Prozessor aber vor allem durch seinen Einsatz in Sonys Spielkonsole PlayStation 3, wo er mit 3,2-GHz-Takt läuft, jedoch nur mit sieben SPEs. So können auch Cell-Chips mit nur sieben funktionierenden SPEs noch verbaut werden, wodurch die Kosten gesenkt werden können. Auch mit nur sieben SPEs erreicht der Prozessor aber eine theoretische Spitzenleistung von über 200 GFlops bei einfach genauen Gleitkommazahlen, was den Prozessoren der Konkurrenzkonsolen der siebten Generation (Xbox 360 und Wii) überlegen ist.
Des Weiteren wird der Prozessor auch in Fernsehern mit erweiterten Videofunktionen eingesetzt[7], Cell-Derivate mit nur vier SPEs und zusätzlicher Hardware zur Videokodierung und -dekodierung finden auch in speziellen Notebooks von Toshiba Verwendung[8][9] sowie in Erweiterungskarten für PCs.[10] Der Nachfolgeprozessor PowerXCell 8i wird seit März 2007 in Servern eingesetzt.[11][12]
Weitere Informationen
Im LINPACK-Leistungsvergleich mit anderen Prozessoren schneidet der Cell BE wie folgt ab:[2]
LINPACK
1k×1k (DP)Taktfrequenz Höchstleistung Durchschnittliche
LeistungEffizienz SPU 3,2 GHz 1,83 GFlops 1,45 GFlops 79,23 % 8 SPUs 3,2 GHz 14,63 GFlops 9,46 GFlops 64,66 % Pentium 4 3,2 GHz 6,40 GFlops 3,10 GFlops 48,44 % Pentium 4 + SSE3 3,6 GHz 14,40 GFlops 7,20 GFlops 50,00 % Itanium 1,6 GHz 6,40 GFlops 5,95 GFlops 92,97 % Die Werte beziehen sich auf doppelt genaue Gleitkommazahlen (64 Bits), für welche die SPUs des Cell-Prozessors nicht ausgelegt sind. Mithilfe der für doppelten Genauigkeit optimierten VMX-Einheit im PPE gelingt dem Cell-Prozessor 21,03 GFlops. Jack Dongarra und sein Team erreichten mit LINPACK unter doppelter Genauigkeit eine Performance entsprechend 100 GFlops auf einer 4K×4K-Matrix.[13]
LINPACK-Berechnungen mit einfach genauen Gleitkommazahlen (32 Bits) erreichen auf einem Cell-Prozessor mit acht SPUs über 73 GFlops. Mit zunehmender Matrixgröße steigt die Recheneffizienz, so dass 8 SPUs auf einer 4K×4K-Matrix unter LINPACK etwa 156 GFlops erreichen.
Zudem ist es auch interessant, den Cell-Prozessor mit anderen Multiprozessoren zu vergleichen:
Multi-Array Prozessoren[14] Hersteller Prozessor Anzahl der Kerne Anzahl
der SIMD-
EinheitenFMUL+FADD
Performance
in Flop/sTakt
in GHzSpitzenleistung
in GFlop/sBLAS/SGEMM
in GFlop/sVerlustleistung
in WattAusführung IBM Cell BE1 8 4 2 3,2 204,8 201 80 Prozessor Nvidia 8800Ultra (G80) 128 1 2 1,512 387,1 2 >170 Karte Nvidia 8800GTX (G80) 128 1 2 1,350 345,6 1053 120–170 Karte Nvidia GT200b 240 1 n/a 1,476 1062,7 2 180–240 Karte ATI HD2900 XT (R600) 320 5 2 0,742 474,9 2 150–200 Karte ATI 1900XTX (R580) 48 4 2 0,65 249,6 120 130–1704 Karte ATI RV770 800 5 n/a 0,750 1200 2 80–160 Karte ClearSpeed CSX700[15] 192 1 2 0,25 96 80 10 Prozessor ClearSpeed e710 192 1 2 0,25 96 80 25 Karte -
ohne Berücksichtigung des PPE
-
unbekannt
-
unter DirectX 9
-
ctm
Siehe auch
- Nebenläufigkeit
- Parallelisierung
- Pipeline (Prozessor)
- Simultaneous Multithreading
- Multicore-Prozessor
- PowerPC
- TRIPS-Prozessor
- Terascale-Prozessor
- H. Peter Hofstee
Weblinks
- IBM: Cell Broadband Engine (englisch)
- Cell Architecture Explained, Details zur Cell Broadband Engine (englisch)
- IBM: Cell Broadband Engine resource center (englisch)
Referenzen
- ↑ Cell’s Approach - In Order with no Cache, aufgerufen am 28. Januar 2011
- ↑ a b IBM: Cell Broadband Engine Architecture and its first implementation - A performance view
- ↑ D. Pham, S. Asano, M. Bolliger, M. Day, H. Hofstee, C. Johns, J. Kahle, A. Kameyama, J. Keaty, Y. Masubuchi, M. Riley, D. Shippy, D. Stasiak, M. Suzuoki, M. Wang, J. Warnock, S. Weitzel, D. Wendel, T. Yamazakiund K. Yazawa: The design and implementation of a first-generation CELL processor; International Solid-State Circuits Conference, Seiten 184–185, Februar 2005
- ↑ Introducing the IBM/Sony/Toshiba Cell Processor -- Part II: The Cell Architecture, Artikel auf Arstechnica vom 8. Februar 2005
- ↑ IBM Produces Cell Processor Using New Fabrication Technology, Nachricht auf X-bit Labs vom 12. März 2007
- ↑ IBM stellt Blade-Server-Modul mit Cell-Prozessoren vor, Nachricht auf Heise.de vom 13. September 2006
- ↑ Toshiba Demonstrates Cell Microprocessor Simultaneously Decoding 48 MPEG-2 Streams, Nachricht auf Tech-On vom 25. April 2005
- ↑ Toshiba Qosmio G55 - erstes Notebook mit SpursEngine, Nachricht auf Golem vom 18. Juni 2008
- ↑ Toshiba Qosmio® G55-Q802 Laptop Computers Specs & Customer Reviews, Produktspezifikation zum Notebook mit SpursEngine-Prozessor, einem Cell-Derivat
- ↑ The WinFast PxVC1100 Video Transcoding Card: Worth The Price?, Testbericht auf tomshardware.com, 28. Januar 2010
- ↑ IBM announces PowerXCell 8i, QS22 blade server, Nachricht auf Beyond3D vom 13. Mai 2008
- ↑ IBM BladeCenter QS22, Produktspezifikation zum IBM-Bladeserver mit PowerXCell 8i
- ↑ Exploiting the Performance of 32 bit Floating Point Arithmetic in Obtaining 64 bit Accuracy (Englisch), 31. Oktober 2006, aufgerufen 5. Januar 2011
- ↑ Zelluläre Strukturen in c't, Seite 196 ff, Ausgabe 12/2007, Heise-Verlag
- ↑ Clearspeed CSX700, Produktspezifikation zum CSX700-Prozessor
-
Wikimedia Foundation.