PCI Express: Der Highspeed-Datenbus im Detail

Aufbau des Data Link Layer

Die Data-Link-Layer-Pakete (DLLPs) bestehen aus fünf Bytes beginnend mit dem Byte Null. Die acht Bits des Bytes Null spezifizieren den Typ des DLLPs. Die Bits Null bis fünf des Bytes eins und die Bits sechs und sieben des Bytes zwei definieren zum Beispiel den Header-String zur Initialisierung der Flusskontrolle. Dazu gehören auch die Bits Null bis sieben des Bytes drei und die Bits Null bis drei des Bytes zwei, die den Daten-String der Funktion bilden. Der letztere String kann bei einer Empfangsbestätigung auch eine Sequenznummer eines fehlerhaft übertragenen TLPs enthalten. Überträgt der Data Layer Powermanagement-Funktionen, bleiben die Bytes unbelegt. Den Abschluss eines DLLPs bildet das Byte vier mit einer CRC-Prüfsumme.

Muss der Data Link Layer einen Transaction-Layer-Block übertragen, fügt er am Anfang des TLPs eine Sequenznummer an, die aus zwei Bytes besteht. Die ersten vier Bits des Daten-Strings bleiben dabei unbelegt, und die nachfolgenden zwölf Bits bilden die Sequenznummer. Am Ende des Datenpakets hängt der Data Link Layer eine vier Bytes lange Prüfsumme zur Fehlererkennung (LCRC) an.