PCI Express: Der Highspeed-Datenbus im Detail

Kompatibilität

Eine wichtige Eigenschaft des PCI-Express-Standards ist die Software-Kompatibilität zum herkömmlichen PCI-Standard. Weder das Betriebssystem noch die ApplikationsSoftware muss speziell an das Bussystem angepasst werden. Besondere Anforderungen an die Kompatibilität stellen die beiden kritischen Phasen Initialisierung und Betrieb. Während der Initialisierungsphase ermittelt das Betriebssystem die Hardware-Konfiguration und reserviert die entsprechenden Ressourcen wie Speicher, I/O-Bereich und Interrupts. Das PCI-Express-Konzept übernimmt unverändert die bisherigen PCI-Konfigurationsroutinen und die Programmierbarkeit der angeschlossenen I/O-Geräte. Somit ist gewährleistet, dass alle Betriebssysteme ohne besondere Anpassung mit PCI Express zusammenarbeiten können.

PCI Express erweitert den Raum für Initialisierungs- und Konfigurationsdaten, den so genannten Configuration Space, auf 4096 Bytes pro Funktionsblock. Demgegenüber stehen 256 Bytes, die in der PCI-Spezifikation Revision 2.3 festgelegt sind. Der Configuration Space enthält Informationen darüber, welche Geräte am Bus angeschlossen sind und wie sie angesteuert werden. Diese Daten sind wichtig für den Bootvorgang. Deshalb unterteilt PCI Express den Configuration Space in einen PCI-2.3-kompatiblen Bereich mit maximal 256 Bytes und einen erweiterten PCI-Express-Bereich mit 4096 minus 256 Bytes. Der Zugriff auf den PCI-2.3-konformen Bereich kann sowohl nach den PCI-2.3- als auch nach den erweiterten PCI-Express-Regeln erfolgen. Ein Zugriff per PCI 2.3 auf den erweiterten PCI-Express-Raum ist nicht möglich. Sollen Zugriffsfehler vermieden werden, muss für eine PCI-kompatible Konfigurationsanforderung der erweiterte PCI-Express-Bereich mit Nullen aufgefüllt sein.

Um PCI Express in ein PC-System mit einem aktuellen Betriebssystem zu implementieren, sind keine neuen oder angepassten Treiber erforderlich. Alle modifizierten Prozesse des PCI-Express-Busses beeinflussen ausschließlich den Physical Layer, Data Link Layer und den Transaction Layer. Die Funktionsweise und der Aufbau der einzelnen PCI Express Layer erklären, wie der künftige I/O-Standard im Detail arbeitet.