Schwerpunkte

Verdrahtungs-Architektur für Multi-Core-Prozessoren

19. November 2007, 07:00 Uhr   |  


Fortsetzung des Artikels von Teil 1 .

Interaktion von mehr als 32 Kernen, Caches und Beschleunigungs-Engines

CoreNet soll mehr als 32 Power-e500- Cores verbinden können. Derartige Architekturen werden als Many-Core bezeichnet. Zusätzlich werden auf den Chips zahlreiche Hardware-Beschleuniger integriert, wie z.B. die QUICCEngine, Komponenten zur Daten- Kompression und -Dekompression sowie Musterabgleich oder Sicherheits- Funktionen zur Datenverschlüsselung. Auch wenn man selbst bei Nutzung der 45-nm-Prozesstechnologie nicht damit rechnen kann, dass Freescale in näherer Zukunft eine 32-Core-Architektur konstruiert, ist CoreNet von seiner Kapazität darauf ausgelegt – schließlich wird man ja irgendwann zur 32-nm-Technologie und weniger wechseln.

Zweifellos ist CoreNet in den Plänen von Freescale die erfolgskritische Komponente. Bei einer derart hohen Komponenten-Zahl auf einem Chip ergibt sich ein exorbitanter Datenverkehr, der von konventionellen Bussystemen nicht mehr bewältigt werden kann, ohne die Gesamtarchitektur auszubremsen. Konsequenterweise verzichtet Freescale deswegen auch auf die Nutzung von IBMs PowerConnect, einem kostenlos lizenzierbaren Bussystem für Power-Chips.

Das Bild zeigt das Blockdiagramm von zukünftigen Kommunikations- Chips, die CoreNet nutzen. Obwohl Freescale zu diesem Zeitpunkt noch keine detaillierten Informationen preisgibt, stehen folgende interessante Eigenschaften von CoreNet fest: Erstens werden homogene und heterogene Multi-Core-Designs unterstützt, was für PowerQUICC-Kommunikations- Chips sehr wichtig ist. Zweitens weist es eine große Bandbreite auf, die viele Transaktionen gleichzeitig ermöglicht. Drittens wird das Zusammenspiel zwischen den Level-2-Caches, die jedem einzelnen Kern zugeordnet sind, und dem geteilten Level-3-Cache sichergestellt. Und viertens wird mehreren externen Speicher-Controllern der parallele Zugriff ohne gegenseitige Blockade ermöglicht. Man kann sich CoreNet als paketbasiertes On-Chip-Netzwerk vorstellen, bei dem alle Komponenten (Kerne, Beschleuniger etc.) eine interne Netzwerk-Adresse erhalten. Ein so genannter Datenpfad-Manager (Datapath Resource Manager) kümmert sich um den Datenverkehr, ohne für dessen Management – anders als bei vielen anderen Multicore-Architekturen – einen eigenen Kern zu benötigen. Der Datenpfad-Manager wird zumindest auf API-Ebene programmierbar sein, um für unterschiedliche Anwendungen konfiguriert werden zu können. So könnte z.B. die Rechenlast symetrisch auf alle Kerne und Beschleuniger verteilt werden, um eine maximale Systemauslastung zu erzielen. Andere Möglichkeiten wären eine ungleiche Verteilung, um bestimmten Datenverkehr zu priorisieren, oder sogar bei wechselnden Rechenlasten eine dynamische Verteilung zur Laufzeit für ein intelligentes Load-Balancing.

Neben der Bereitstellung der reinen Hardware ist es notwendig, dem Entwickler Software-Entwicklungswerkzeuge an die Hand zu geben, mit denen diese auch ausgenutzt werden kann. Das wichtigste Tool ist Simics, eine Simulations-Umgebung der Firma Virtutech. Hiermit können Entwickler ein vollständiges System-Modell des kompletten Multicore-Designs inklusive aller Power-Cores, Hardware-Beschleuniger und I/O-Schnittstellen abbilden. Der einzige Nachteil der Simulation besteht darin, dass sie selbst auf schnellen Workstations rund 50-mal langsamer ist als die simulierte Hardware selbst. In jedem Fall dürfte die Multicore- Entwicklung auf einem Power- QUICC-Chip erheblich einfacher sein als auf Prozessoren für Arbeitsplatz- PCs, da die Parallelisierung von Aufgaben wie die Verarbeitung von Datenpaketen einfacher ist als bei Büroanwendungen.

CoreNet – wichtig für Erfolg der Freescale-Strategie

Bei Netzwerk- und Kommunikationsanwendungen handelt es sich um einen hart umkämpften Markt. In den letzten zwei Jahren hat Cavium Mips-kompatible Netzwerkprozessoren mit bis zu 16 64-bit-Cores und zahlreichen Hardware- Beschleunigern und I/O-Schnittstellen vorgestellt. Auch PicoChip liefert schon seit Jahren Parallel-Architekturen aus. AMCC hat kürzlich eine neue 32-bit-Power-Architektur angekündigt. ARC, ARM, Mips und Tensilica lizenzieren ihre 32-bit-Prozessoren an Kunden. Allerdings sind für die Gesamtleistung des Systems nicht nur die Anzahl der Cores und die isolierte Leistung der übrigen Komponenten auf dem Chip entscheidend, sondern primär das Netzwerk auf dem Chip, das deren Zusammenspiel regelt, eine hinreichende I/O-Bandbreite und die Lösung des Problems der Speicherverwaltung, das mit zunehmender Anzahl der Kerne immer größer wird. Um konkurrenzfähig zu bleiben, wird es nicht mehr ausreichen, punktuelle Verbesserungen auszuführen oder Taktfrequenzen von Single-Core-Architekturen zu erhöhen (hierfür haben Intel und AMD den Beweis bereits im negativen Sinn angetreten). Eine ganzheitliche Strategie ist gefordert – einschließlich neuer Software-Entwicklungstechniken und -Werkzeuge für Multi-Core-Architekturen.

Die Strategie von Freescale ist erfolgversprechend, da die angestrebte Plattform alle Komponenten enthält, die für den anspruchsvollen Zielmarkt erforderlich sind. Ob sie aufgeht, hängt zu großen Teilen an CoreNet. Wenn CoreNet die Erwartungen erfüllen kann, handelt es sich um ein Alleinstellungsmerkmal, das Freescales Chips von denen der Konkurrenz abhebt. Wenn es sich entgegen der Erwartungen jedoch zum Flaschenhals entwickelt, der die Gesamtarchitektur ausbremst, kann es Freescales gesamte Multi-Core-Strategie gefährden. Der erste ausgelieferte Chip wird den Kunden zeigen, in welche Richtung das Pendel ausschlägt.

Freescale plant die Auslieferung der ersten Chips der neuen Multi-Core- Plattform gegen Ende des Jahres 2008. Die Simulations-Umgebung soll im 4. Quartal 2007 bereitstehen, damit Entwickler bereits mit ihrer Arbeit beginnen können, bevor die Chips ausgeliefert werden. Unter www.freescale.com/files/32bit/doc/white_paper/MULTICOREFTFWP.pdf ist ein White Paper verfügbar.

Frank Riemenschneider, Elektronik

Seite 2 von 2

1. Verdrahtungs-Architektur für Multi-Core-Prozessoren
2. Interaktion von mehr als 32 Kernen, Caches und Beschleunigungs-Engines

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen