(Bild: Freescale Semiconductor)
Erschienen in: E&E-Kompendium 2009/2010, S. 27
M&P  |  

Multicores legen einen Zahn zu

Die Revolution der Prozessor-Architektur durch Mikroprozessoren mit mehreren Kernen

Die Einführung von Mikroprozessoren mit mehreren Rechenkernen kann man getrost als Umbruch auf dem Gebiet der Prozessorarchitekturen bezeichnen – ähnlich der Verbreitung des RISC-Prinzips vor etwa 20 Jahren. * Eric Bost

Am oberen Ende des aktuellen Leistungsspektrums nimmt die Verlustleistung selbst bei Verwendung der modernsten CMOS-Prozesse (90 nm, 45 nm) exponentiell mit der Frequenz zu. Gleichzeitig aber können die Chipentwickler dank der Fortschritte bei der Prozesstechnologie immer mehr Transistoren auf ein Stück Silizium packen. Die Alternative besteht also darin, den Leistungsdurchsatz zu steigern, indem man auf einem Baustein mehrere CPUs zusammenschaltet, gleichzeitig aber die Taktfrequenz und somit die Stromaufnahme auf einem vernünftigen Niveau hält. Ein weiterer Aspekt ist die Partitionierung und Absicherung unterschiedlicher Softwareumgebungen, die parallel und gleichzeitig auf einem Multicore-Baustein ausgeführt werden.Auf den ersten Blick lassen sich die unterschiedlichen Prozessoren anhand der Anzahl ihrer Kerne und der möglichen Taktfrequenz klassifizieren. Eine sorgfältigere Analyse bestimmter Faktoren aber erlaubt eine feinere Differenzierung:

Abbildung 1: Interne Architektur des P4080.

* Freescale Semiconductor

Abbildung 2: Partitionierung und Hypervisor.

* Freescale Semiconductor

Abbildung 3: Debug-Architektur des Bausteins P4080.

* Freescale Semiconductor

Eric Bost, Senior Field Application Engineer bei Freescale Semiconductor in Gif-sur-Yvette, Frankreich
  • die effiziente Koordination der internen Datenflüsse,
  • die Partitionierung der vorhandenen Ressourcen für koexistierende Softwareumgebungen,
  • die Absicherung der plattformeigenen Ressourcen,
  • das einfache Debuggen der Applikationen.

Dieser Artikels befasst sich damit, wie der neue, mit acht Prozessorkernen ausgestattete und auf einer 45-nm-Technik gefertigte QorIQ-Prozessor P4080 von Freescale für solche Anforderungen optimiert wurde, und zeigt dann, dass es sich dabei keineswegs um eine reine Ansammlung von Rechenkernen in einem System-on-Chip handelt, sondern um eine äußerst innovative und robuste Systemlösung.Wie man aus dem Blockschaltbild in Abbildung 1 entnehmen kann, ist der P4080 eine SoC-Plattform (System-on-Chip); im Rahmen dieser Plattform werden nach und nach diverse Derivate entstehen. Bei den acht Prozessorkernen handelt es sich um e500mc(e500-multicore)-Power-Architecture-basierte Kerne, mit jeweils bis zu 1,5 GHz. Die neuartige „Hypervisor“-Architektur (Details siehe unten) ist eines der herausragenden Highlights dieser Plattform. Um für optimale Rechenleistung bei geringst möglicher Stromaufnahme zu sorgen, kann man die verschiedenen Rechenkerne des P4080 dank mehrerer Power Planes und Taktquellen je nach Bedarf unabhängig voneinander betreiben.

Interne Datenflüsse effizient koordinieren

Im Herzen des P4080 sitzt die so genannte CoreNet Interconnect Fabric. Als „Schaltzentrale“ unterstützt sie alle Interaktionen zwischen den einzelnen Akteuren der Plattform: Rechenkernen, lokalem Speicher (2 MByte L3-Cache und 1,6 GHz externes DDR3), Kommunikationsschnittstellen (1G/10G-Ethernet, Serial-Rapid-I/O, PCI-Express) und den verschiedenen internen Hardwarebeschleunigern (FMan/QMan, Security und Pattern-Matching Engines). Im Vergleich mit herkömmlichen Bussen bietet CoreNet mit seiner Crossbar-Matrix natürliche Vorteile: Transaktionen können parallel und gleichzeitig ablaufen, was in einer deutlich höheren Gesamtbandbreite resultiert. Die Frame Manager (FMan) übernehmen nicht nur die gesamte Layer-1/2/3-Verarbeitung wie handelsübliche eMAC-Module, sie können auch ankommende Datenpakete (oder Frames) vorklassifizieren und an die entsprechenden Kerne weiterleiten, wo Protokolle und Aufgaben weiter verarbeitet werden. Die verfügbaren Zyklen der einzelnen Kerne können so optimal genutzt werden. Mit dem Queue Manager (QMan) lassen sich hierarchische Warteschlangen (Queues) realisieren. Damit wird schon auf Ebene des SoC ein Höchstmaß an QoS (Quality of Service) sichergestellt. Auf diese Weise lässt sich auch ein pipelineorientierter Ablauf realisieren. Hier ist anzumerken, dass die QMan-Hardware selbst dann die Reihenfolge der Datenpakete erhält, wenn mehrere Kerne für einen einzelnen Datenlauf herangezogen werden. Dank dieser einzigartigen Kombination aus „offenen“ Kernen, Hardwarebeschleunigern und Interconnect-Matrix kann der P4080 einen Datenfluss in der Größenordnung von 10 GBit/s bewältigen, der bisher nur ganz speziellen und weniger offenen Bausteinen (NPUs und ASICs) vorbehalten war.

Vorhandene Ressourcen partitionieren

Der Einfachheit wollen wir annehmen, dass eine Partition im Prinzip ein Betriebssystem und die zugehörigen Anwendungen umfasst. Ein System mit mehreren Partitionen, das robust arbeiten soll, kann keine unkontrollierten Zugriffe von den jeweiligen Partitionen auf die gemeinsamen Ressourcen tolerieren. Daher ist es notwendig, solche Ressourcen zu „virtualisieren“.

Die Infrastruktur des P4080 zur Multicore-Partitionierung besteht zur Lösung dieser Probleme im Wesentlichen aus den folgenden Hardwarekomponenten:

  • 3-stufige Hierarchie für User/Supervisor/Hypervisor-Privilegien,
  • Unterstützung für Logische Partitionen und entsprechende,
  • Unterstützung für die Virtualisierung gemeinsamer Peripheriefunktionen und Interrupt-Management
  • Mechanismen für die sichere Kommunikation zwischen den Partitionen,
  • kontrollierte Zugriffe von den Prozessorkernen auf Speicher und Peripheriefunktionen auf Partitionsebene mittels einer MMU,
  • kontrollierte Zugriffe von Peripheriefunktionen auf den Speicher auf Ebene der Partitionen und Logischer I/Os (PAMU).

Die PAMU fungiert als MMU für alle Zugriffe, die von DMA-Komponenten des SoC ausgehen – mit Ausnahme der Rechenkerne. Auf dieser Hardwareinfrastruktur setzt ein „Hypervisor“ genannter Softwarelayer auf. Er kontrolliert die Partitionen, weist ihnen ihre eigenen Ressourcen zu und koordiniert die entsprechenden Zugriffsgenehmigungen. Freescale und Partnerfirmen können diverse Referenz-Softwarelayer für diesen „Hypervisor“ bereitstellen. Abbildung 2 zeigt eine Partitionierung des P4080 mit dem Hypervisor.

Plattformressourcen absichern

Im Bereich der Kommunikationselektronik deckt der Begriff Absicherung eine ganze Reihe von Aspekten ab. Zunächst kann er sich auf die über das Netzwerk übertragenen Daten beziehen; auf dieser Ebene stützt sich die Systemsicherheit auf die Standardprotokolle (z. B. IPSec, SSL, MAC-SEC, PDCP usw. ...) und die zugehörigen Verschlüsselungs- und Authentifizierungsalgorithmen (z.B. AES, DES, SNOW, SHA usw.) ab, die für den Aufbau und die Kontrolle sicherer Tunnel definiert wurden. Freescale hat in den P4080 einen speziell für Sicherheitsaufgaben konzipierten Hardwarebeschleuniger integriert, der die Rechenkerne weitgehend von sicherheitsrelevanten Aufgaben entlastet. Im gleichen Zusammenhang sollte man die PME (Pattern Matching Engine) erwähnen. Sie wird überall dort eingesetzt, wo es notwendig ist, die Inhalte des Datenverkehrs zu inspizieren und eine unmittelbare Mustererkennung mit Regular Expressions durchzuführen.Ein weiterer, aber völlig anderer „Sicherheitsaspekt“ bezieht sich auf den Schutz des Gerätes selbst gegen mögliche Fehlfunktionen, ‚Denial-of-Service‘-Bedrohungen oder den Schutz von eingebrachtem IP (hier Intellectual Property). Freescale hat entsprechende Mechanismen integriert: sicheres Booten, interne Schlüssel, periodische Überprüfung von kritischen Befehls- und Datensegmenten durch Authentifizierung.

Applikationen einfach debuggen

Durch den hohen Integrationsgrad, den ein Multicore-Baustein wie der P4080 mit sich bringt, tut sich der Hardwareentwickler wesentlich leichter, weil sich die meisten kritischen Pfade und Schnittstellen innerhalb des SoC befinden. Aus der Sicht des Softwareentwicklers dagegen lösen diese Aspekte ganz andere Emotionen aus, speziell was das Debuggen angeht Deshalb hat Freescale eine ausgeklügelte dezentrale Debugging-Architektur (Abbildung 3) in den P4080 integriert, deren Funktionalität sich in drei Kategorien aufbrechen lässt:

  • dedizierte physikalische Ports für den Anschluss der SoC-Plattform an externe Geräte für das Debuggen,
  • eine „Event Control“-Infrastruktur,
  • eine „Trace“-Infrastruktur („Nexus“).

Es gibt zwei physikalische Ports:

  • einen JTAG IEEE1149.1-Universalport für die Kommunikation mit Debugger-Testern und -Tools,
  • eine serielle Aurora-konforme SerDes-Schnittstelle speziell für einen externen Trace-Analyzer.

In der ‚Event Control‘-Infrastruktur laufen alle Debugger-Mechanismen für „Run Control“ und „Performance Monitoring“ zusammen. Mit „Performance Monitoring“ ist es beispielsweise möglich, bestimmte, von Transfers auf der CoreNet-Matrix, auf einem PCI-Express-Port oder von einer Aktivität auf einem bestimmten Hardwarebeschleuniger herrührende Events auszuwerten. Wenn alle diese Debugging- und Monitoring-Funktionen von externen, an den JTAG-Port angeschlossenen Tools angesteuert werden können, dann kann man sie im Rahmen eines residenten Softwaremoduls über dedizierte Register und konfigurierbare Interrupts auch voll und ganz kontrollieren. Und schließlich erstreckt sich auch die Nexus Trace-Infrastruktur über alle Funktionsgruppen des SoC.

• more@click-Code: EEK90202

Kontaktdaten

Freescale Halbleiter GmbH
Schatzbogen 7
81829 München
Deutschland
T +49-89-92103-0
F +49-89-92103-101
zur Website
GO TOP

Ähnliche Artikel

M&P | Fachbericht

Der unaufhaltsame Umstieg

E&E Kompendium 2011

Abenteuer Anwendung

Management

Businessprofile

E&E Lexikon

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
SUCHEN