Bildergalerie
Bild 3: Kommunikationsablauf zwischen zwei PCI-Bereichen über eine nicht transparente Brücke.
Bild 4: Beispielkonfiguration für ein leistungsfähiges, hybrides Mess- und Prüfsystem auf Grundlage von PXImc.
Bild 5: Beispiel eines verteilten Verarbeitungssystems, das auf einem PXI-Express-System und PXImc-Schnittstellenkarten basiert.
Bild 6: Mit PXImc lassen sich in PXI-Systemen mehrere Peripherieverarbeitungsmodule an ein Chassis anschließen.
Bild 1: Aufbau eines PCI-Express-Systems.

Bild 1: Aufbau eines PCI-Express-Systems.National Instruments

Was steckt hinter der PXImc-Technologie? Bild 1 veranschaulicht die Struktur eines typischen PCI-Express-basierten Systems. Auf dem Host-Rechner dient der Systembus (Root Complex) als Schnittstelle für das Verarbeitungssystem, um mit den PCI-Geräten zu kommunizieren. Das Verarbeitungssystem stellt dann eine Verbindung zu diesem Systembus her, um allen PCI- und PCI-Express-Geräten des Systems die erforderlichen Ressourcen zugänglich zu machen.

PXImc bietet ein Kommunikationsmodell mit einer großen Bandbreite und geringer Latenz, in dem PCI oder PCI Express als physikalische Kommunikationsschicht eingesetzt wird. Zwei Systeme mit eigenen Systembussen können nicht direkt über PCI oder PCI Express verbunden werden, da es einige Knackpunkte zwischen den beiden PCI-Bereichen gibt, beispielsweise Busverwaltung und Endpunkt-Ressourcenvergabe.

Die Verwendung einer nicht transparenten Brücke (NTB) löst diese Problematik, indem die PCI-Bereiche logisch getrennt werden und gleichzeitig ein Mechanismus abläuft, mit dem bestimmte Daten von einem PCI-Bereich auf den anderen übertragen werden.

Bild 2: Zwei Systeme sind über PCI Express miteinander verbunden, indem eine nicht transparente Brücke (NTB) als Schnittstelle eingesetzt wird.

Bild 2: Zwei Systeme sind über PCI Express miteinander verbunden, indem eine nicht transparente Brücke (NTB) als Schnittstelle eingesetzt wird.National Instruments

Bild 2 stellt diesen Vorgang dar. Sowohl System A als auch System B können die Ressourcenvergabe in ihren eigenen Bereichen selbständig steuern und werden dabei nicht durch eine nicht transparente Brücke als Schnittstelle beeinflusst.

Die nicht transparente Brücke reagiert auf Anfragen des Systembusses wie die anderen PCI-Endpunkte des Systems und fordert einen bestimmten physikalischen Adressraum an. Das BIOS des Systems teilt der nicht transparenten Brücke einen speziellen Bereich im physikalischen Adressraum zu. Da diese Ressourcenvergabe sowohl in System A als auch in System B stattfindet, fordert die nicht transparente Brücke die Ressourcen in beiden PCI-Bereichen (A und B) an. Wie in Bild 3 dargestellt dient der Adressraum, der von der nicht transparenten Brücke im PCI-Bereich von System A erfasst wird, als Fenster in den physikalischen Adressraum des PCI-Bereichs von System B und der Adressraum, der im PCI-Bereich von System B erfasst wird, als Fenster in den physikalischen Adressraum des PCI-Bereichs von System A.

PXImc verbindet herstellerübergreifend mehrere intelligente Systeme

Mit dem Standard PXImc bietet die PXI System Alliance eine Grundstruktur für Hard- und Softwarekomponenten und ein standardisiertes Protokoll für die Kommunikation zwischen zwei Systemen mithilfe von PCI oder PCI Express. Vom Standpunkt der Hardware aus wurde die Funktionalität so angeglichen, dass zwei unabhängige Systeme direkt über PCI oder PCI Express miteinander kommunizieren können. Im Softwarebereich wurde ein Kommunikationsmuster erstellt, über das jedes System die eigenen Ressourcen so auffinden und konfigurieren kann, dass es mit dem anderen System kommunizieren kann.

Nach der Ressourcenvergabe auf beiden Systemen verfügt die nicht transparente Brücke über Speichermechanismen, um Daten zwischen beiden Systemen zu übertragen. Dazu gehören Elemente wie ein schneller Zwischenspeicher für die Datenübertragung, Interruptregister zur Signalisierung und große Bereiche des Adressraums, der über die nicht transparente Brücke in den gegenüberliegenden Adressraum übertragen wird.

Nicht transparente Brücken sind zwar keine neue Technologie, aber bisher gab es dazu keinen branchenweiten Standard, der die Kommunikation zwischen PCI-Hierarchien erleichtert hätte. Lösungen für diesen Bereich erfordern jedoch ein benutzerdefiniertes Hard- und Softwaredesign, bevor sie als Kommunikationskanal eingesetzt werden können.

Systembandbreite und Latenz

Da sich PCI Express dank PXImc als physikalische Kommunikationsschicht einsetzen lässt, hängt die Leistung einer PXImc-Verbindung von der Art der PCI-Express-Schnittstelle ab. In Tabelle 1 wird die theoretische Bandbreite verschiedener PCI-Express-Verbindungen aufgelistet.

Um die Leistung einer typischen PXImc-Verbindung mit Alternativen zu vergleichen, führte National Instruments erste Vergleichsstudien mit Prototypenhardware und vorläufigen Software-Stacks durch. Dafür wurden zwei PXI-Express-Chassis PXIe-1082 jeweils mit einem eigenen PXI-Express-Embedded-Controller PXIe-8133 ausgestattet und über den Prototyp der auf einer x4-PCI-Express-Schnittstelle der 1. Generation basierenden PXImc-Hardware verbunden. Mit diesem Aufbau konnten eine unidirektionale Latenz von 6 µs und ein Durchsatz von 670 MB/s erreicht werden. Im Vergleich zu Gigabit Ethernet bedeutet dieses Leistungsvermögen etwa zehnmal höhere Bandbreiten und hundertmal bessere Latenz, wodurch sich PXImc als ideale Schnittstelle für das Erstellen leistungsstarker Prüf-, Steuer- und Regelsysteme auf mehreren Computern darstellt. Im Rahmen der stetigen Weiterentwicklung des Standards PCI Express wird auch die von einer PXImc-Verbindung erbrachte Leistung weiterhin zunehmen.

Leistungsstarke hybride Mess- und Prüfsysteme

Komplexe Mess-, Steuer- und Regelsysteme wie HIL-Systeme bestehen normalerweise aus verschiedenen separaten Subsystemen, die über unterschiedliche Funktionen verfügen. Oftmals beruhen diese Subsysteme auf verschiedenen Hardwareplattformen, um die Anforderungen an die Funktionalität der Plattform bestmöglich zu erfüllen. PXImc ermöglicht die Kommunikation dieser Subsysteme über eine PCI-Express-Verbindung mit hoher Bandbreite und geringer Latenz. So lässt sich ein leistungsstarkes hybrides Mess- und Prüfsystem erstellen, das mit verschiedenen Hardwareplattformen eingesetzt werden kann, und dadurch Leistung, Flexibilität und Kosten optimal in sich vereint.

Durch den Einsatz von PXImc als Kommunikationsbus für mehrere Systeme können diese kürzere Prüfzeiten und schnellere Schleifenausführungsraten erzielen als über vergleichsweise langsame Schnittstellen wie Ethernet oder Reflective Memory. Diese Funktionalität ermöglicht es somit den Systemen, ihre speziellen Aufgaben schneller auszuführen, und – bei HIL-Systemen – Simulationen unter realen Bedingungen durchzuführen.

Bild 4 veranschaulicht eine typische Konfiguration eines solchen Systems. In dem Beispiel kommuniziert das Master-PXI-System bei hohem Durchsatz und geringer Latenz über die PXImc-Verbindung mit den sekundären PXI-Systemen und einem Stand-alone-Messgerät, um ein leistungsfähiges, hybrides Mess- und Prüfsystem zu erstellen.

Multicore-CPUs für verteilte Verarbeitung

Anwendungen aus den Bereichen SIGINT und echtzeitfähiges Hochleistungsrechnen, für die Daten inline oder in Echtzeit verarbeitet werden, müssen typischerweise über komplexe Datenverarbeitungsfunktionen verfügen, um den Datenfluss bewältigen zu können. Außerdem wird bei diesen Anwendungen die Verarbeitungslast mithilfe einer Kommunikationsschnittstelle, die eine hohe Bandbreite und geringe Latenz bietet, auf mehrere separate Verarbeitungsknoten verteilt. Für einige verteilte Verarbeitungssysteme reichen auch FPGAs und einzelne digitale Signalverarbeitungssysteme aus. Doch für bestimmte Anwendungen muss bestehendes x86-basiertes Software-IP genutzt werden oder die Berechnungen in Gleitkomma- statt in Festkommawerten angegeben werden. In solchen Fällen bietet PXImc die Möglichkeit, verteilte Verarbeitungssysteme zu erstellen, die die aktuellen, auf Multicore-CPU basierenden PCs als externe Rechenknoten nutzen. Dies bezieht sich nicht nur auf die zuvor aufgeführten Anforderungen, sondern bietet auch ein System mit kürzeren Entwicklungs- und Fehlerbehebungszeiten im Vergleich zu Systemen, die FPGA und benutzerdefinierte digitale Signalverarbeitungssysteme nutzen.

Bild 5 zeigt eine der möglichen Konfigurationen für verteilte Verarbeitungssysteme, die sich mit einem PXI-Express-System und PXImc-Schnittstellenkarten erstellen lässt. In diesem Beispiel ist der Master-Controller dafür verantwortlich, dass Daten von verschiedenen I/O-Modulen gesammelt und dann über PXImc-Verbindungen an vier x86-basierte Rechenknoten weitergeleitet werden. Diese Knoten können je nach der erforderlichen Verarbeitungsleistung handelsübliche PCs oder High-End-Workstations sein.

x86-basiertes Co-Processing

Beim PXImc-Standard kann ein Verarbeitungssystem über eine interne nicht transparente PCI- bzw. PCI-Express-Brücke verfügen. Dadurch können die Verarbeitungsmodule an einen Peripheriesteckplatz eines PXI-Express-Chassis angeschlossen werden und über die PCI-Express-Leitungen an der Backplane des Chassis mit dem Master-Controller kommunizieren. Am Chassis angeschlossene Peripherieverarbeitungsmodule erhöhen die gesamte Verarbeitungsfunktionalität eines einzelnen Systems und stellen eine kompakte und robuste Systemlösung dar. Damit lassen sich optimal komplexe Mess- und Prüfanwendungen verarbeiten, die durch die Abmessungen des Systems eingeschränkt sind und/oder die sehr hohe Mobilitätsanforderungen stellen. Außerdem ermöglicht der Standard direkte Peer-to-Peer-Kommunikation zwischen PXImc- und anderen PCI- bzw. PCI-Express-Geräten. Mit dieser Fähigkeit können PXImc-Geräte, zum Beispiel Peripherieverarbeitungsmodule, direkt mit PCI- bzw. PCI-Express-Geräten kommunizieren, ohne den Master-Controller einzusetzen. Außerdem lassen sich Subsysteme innerhalb eines einzelnen PXI-Chassis erstellen und die Chassis-Ressourcen effizienter nutzen. Bild 6 stellt die Einbindungsmöglichkeiten von Peripherieverarbeitungsmodulen in ein PXI-Chassis sowie die beiden möglichen Kommunikationsmethoden dar.

Der Standard PXImc der PXI Systems Alliance (PXISA) stellt eine herstellerübergreifende Lösung dar, die die steigenden Anforderungen in Anwendungsbereichen wie HIL und SIGINT erfüllen kann, erweitert den Funktionsumfang der PXI-Plattform und ermöglicht unterschiedliche Konfigurationen wie Hybridsysteme, verteilte Verarbeitung und Co-Processing innerhalb eines Chassis.