CBE – Cell Broadband Engine Der Cell Prozessor. 1 Inhalt Der Cell Prozessor Aufbau des Cells Platine Block Diagramm Synchronisation der Power Kerne Komponenten.

Post on 05-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

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

top related