PCI Express: Der Highspeed-Datenbus im Detail

Transaction Layer

Der Transaction Layer verarbeitet Schreib- und Lese- sowie spezielle Ereignisanforderungen. Er ist das Bindeglied zwischen dem Software- und dem Data Link Layer.

Um unnötige Datenübertragungen zu vermeiden, unterstützt der Transaction Layer das Protokoll nach der so genannten Credit-Based-Flow-Kontrolle. Das Verfahren übermittelt nur Datenpakete, wenn am Ziel freie Puffer verfügbar sind. Das spart wiederholte Datenübermittlungen und somit eine überflüssige Belegung der Busbandbreite. Benötigt der Sender eine Empfangsbestätigung, so erfolgt der Transfer im Split-Transfer-Modus. Er erlaubt es dem Absender bis zur Antwort des Adressaten, weitere Übertragungen an andere Empfänger durchzuführen.

Zusätzlich legt der Transaction Layer Regeln für die Übertragung und das Management von TLPs fest, wie etwa PCI/PCI-X-Kompatibilität. Eine intelligente Flusskontrolle erlaubt die Aufteilung der Datenpakete nach bestimmten Traffic-Class-Gruppen. In Switches werden diese Einheiten je nach Verwendung vor der Datenübertragung in virtuelle Kanäle zusammengefasst oder aufgeteilt. Dieses Verfahren dient zur effektiven Nutzung der vorhandenen Busbandbreiten, da lediglich zusammengehörende Datenpakete übermittelt werden.

Die PCI-Express-Spezifikation definiert für den Datenaustausch mittels des Transaction Layer vier Adressierungsarten. Das sind im Einzelnen Memory, I/O, Configuration und Message mit unterschiedlichen Transfermodi wie Reads und Writes.