CBE – Cell Broadband Engine Der Cell Prozessor
CBE – Cell Broadband Engine
Der Cell Prozessor
2
Inhalt
Der Cell Prozessor Aufbau des Cells
• Platine • Block Diagramm• Synchronisation der Power Kerne
Komponenten des Cells• PPE• PPE Pipelining• SPE I + II• EIB
Speicherzugriffe Kennzahlen der Cell Leistung I+II Einsatzgebiete Einschränkungen Zusammenfassung Quellen
3
Der Cell Prozessor
Der „Cell“ entstand in einem Gemeinschaftsprojekt von
• Sony • Toshiba• IBM
Ziel war die Entwicklung eines neuen (PowerPC*) Prozessors der eine hohe arithmetische Rechenleistung und schnellen Speicherzugriff in sich vereinigen sollte. Veröffentlichte Kosten des Projekts ca. 400 Mio. $.
*Performance Optimization With Enhanced RISC Performance Chip
4
Aufbau des Cells – Platine
5
Aufbau des Cells – Block Diagramm
SPE = Synergistic Processor Element LS = Local Storage, 256KB je SPE
6
Aufbau des Cells – Block Diagramm
SPE = Synergistic Processor Element LS = Local Storage, 256KB je SPE
EIB = Element Interconnection BusMIC = Memory Interface ControllerBIC = Bus Interface Controller
7
Aufbau des Cells – Block Diagramm
SPE = Synergistic Processor Element LS = Local Storage, 256KB je SPE
EIB = Element Interconnection BusMIC = Memory Interface ControllerBIC = Bus Interface Controller
PPU = PowerPC Processor UnitL1 = 32 KByte Instruction CacheL1 = 32 KByte Data CacheL2 = 512 KByte Cache
8
Komponenten des Cells – PPE
Das Power Processing Element in ein 64-bit PowerPC-5 RISC-Prozessor der die zentrale Steuerung übernimmt.
Je ein 32KByte großer L1 Cache für Daten und Befehle
512 KByte großer L2 Cache (SRAM)
SIMD (Single Instruction Multiple Data) Design
In-Order-Execution, Multi-Threading und Round-Robin-Thread Scheduling
Pro Takt können 4 Instruktionen geladen und 2 gleichzeitig ausgeführt
VMX*-128 Erweiterung für Gleitkomma Operationen
*VMX: Eine Operation wird gleichzeitig auf mehrere Datenworte angewendet. Der Vektor wird in 8 Elemente zerlegt, wodurch eine 8-fache Leistungssteigerung erzielt werden kann.
9
Komponenten des Cells – PPE Pipelining
10
Die Synergistic Processing Elements sind eigenständige unabhängig voneinander arbeitende RISC-Prozessoren (Vektor)
SIMD (Single Instruction Multiple Data) Design
In-Order-Execution
2 Instruktionspipelines je SPE
Die Rechenleistung wurde nur für Operationen mit einfacher Genauigkeit optimiert
Bei doppelter Genauigkeit geht die Performance signifikant nach unten
Alle SPE haben 128 Register mit je 128-bit breite
Komponenten des Cells – SPE I
11
Jede SPE hat einen eigenen 256 KByte großen SRAM Speicher als LS
Der Zugriff auf das LS erfolgt mit rund 51 GByte/s
Ingesamt hat jede einzelne SPE 4 Recheneinheiten für Floating Point und 4 Recheneinheiten für Integer Operationen
Über einen DMA Controller (Memory Flow Controller) kommuniziert jede SPE unabhängig und direkt mit dem Hauptspeicher
Jede SPE ist über einen DMA Controller mit den EIB verbunden
Die Transferrate auf den EIB liegt bei 16 KByte pro Takt
Die Steuerung/Synchronisation aller SPEs erfolgt über die PPE
Komponenten des Cells – SPE II
12
Der Element Interface Bus verbindet alle Komponenten des Cell über 4 seperate Ringe miteinander
Pro Takt werden bis zu 96 Byte übertragen
Max. Bandbreite von 205 GByte/s (128 Byte*3,2 Ghz ~205 GByte/s
Komponenten des Cells – EIB
13
Speicherzugriffe
Jede SPE hat 2 Instruktions-pipelines, d.h. pro Takt können 2 SIMD Instruktionen gleichzeitig ausgeführt werden
Die „even pipeline“ enthält Gleitkomma und Integer Operationen
Die „odd pipeline“ ist für die Speicherzugriffe, z.B. auf den LS zuständig
Pro pipeline werden 32 Instruktionen auf einmal in den Buffer geladen und dann an die jeweilige Recheneinheit weitergeleitet
14
Max. Taktfrequenz (im Labor): > 4 GHz
Max. Perfomance (single precision): > 256 GFlops*
Max. Performace (double precision): >26 GFlops*
Größe des Chips: 221 mm²
Anzahl der verwendeten Transistoren: 234 Millionen
*GFlops: (109 Floating Points of Operation per Second)Die Anzahl der Gleitkommaoperationen pro Sekunde. Durch die Flops wird die gesamte Rechnerarchitektur, aber nicht die reine Prozessorgeschwindigkeit gemessen !
Kennzahlen der Cell Leistung I
15
Max. Taktfrequenz (im Labor): > 4 GHz
Max. Perfomance (single precision): > 256 GFlops*
Max. Performace (double precision): >26 GFlops*
Größe des Chips: 221 mm²
Anzahl der verwendeten Transistoren: 234 Millionen
Intels DualCore Itanium hat 1,72 Milliarden Transistoren...
*GFlops: (109 Floating Points of Operation per Second)Die Anzahl der Gleitkommaoperationen pro Sekunde. Durch die Flops wird die gesamte Rechnerarchitektur, aber nicht die reine Prozessorgeschwindigkeit gemessen !
Kennzahlen der Cell Leistung I
16
Pro Takt kann jede SPE 16 x 8-bit-integer 8 x 16-bit-integer 4 x 32-bit-integer
verarbeiten. Nach 6 Taktzyklen steht das Ergebnis in einfacher Genauigkeit fest. Bei doppelter Genauigkeit dauert es dann schon 13 Taktzyklen.
Hier ein Vergleich mit anderen Prozessoren. Benutzt wurde das Linpack Benchmark Programm bei „double precision“ Rechenoperationen:
Kennzahlen der Cell Leistung II
17
Anwendungsbereiche
Graphische 3D Anwendungen• Terrain Rendering• Digitale Satellitenbilder
Bearbeitung von großen Datenmengen in Echtzeit• Grafische Visualisierung• Dekodierung von Signalen (Video, MPEG, JPEG)
Multimedia Anwendung (HDTV)
Spielekonsole (Playstation 3)
Uni Saarland berechnet Daten für realtime Raytracing/Rendering
18
Einschränkungen
Standard Software reizt die Leistung des Cell Prozessors nicht aus
Die Software muss Multi-Threaded geschrieben sein um die Cell Kapazitäten nutzen zu können
Generell sieht das Betriebssystem den Cell nur als „einen“ Prozessor Zur Erzeugung von optimierten Code wird von IBM eine spezielle
Entwicklungsumgebung angeboten.
Für Programmierer gibt es ein eigenes „Cell Programming Handbook“
Aktuell arbeitet man an intelligenten Compilern für den Cell
19
Zusammenfassung
Der Cell ist ein integrierter Multiprozessor
Hohe Performance durch massive Parallelisierung der Aufgaben
Potential kann nur durch optimierte Software genutzt werden SPEs agieren als eigenständige Prozessoren im Prozessor
„Keep-it-simple““ als Credo für das Speichermanagement
Extrem schnelles Bus System mit dem alle Komponenten des Prozessors verbunden sind
Quellen
IBM Webpages http://www-128.ibm.com/developerworks/power/library/pa-cellperf/
http://www.research.ibm.com/cell/home.html
Wikipedia
TecChannel
IEEE Computer Society
Jörg Schätzlein