ComputerBase

Bericht: PCI Express - Die Grundlagen

von Simon Knappe

Einführung

Mit der Einführung der neuen Intel-Chipsatzserien i915 und i925 erwartet uns neben dem DDR2-Standard eine weitere gravierende Neuerung: PCI Express. PCI Express soll in Zukunft den doch mit rund zehn Jahren gealterten PCI-Bus ablösen, gleichzeitig die neue Plattform für Grafikkarten darstellen und die mittlerweile sieben Jahre alte AGP-Schnittstelle in Rente schicken. Doch was verbirgt sich hinter diesem Standard? Hat man einfach nur das bestehende PCI-Interface ein wenig modifiziert oder erwartet uns etwas völlig Neues? Diese Fragen möchten wir in den kommenden Absätzen ein wenig hinterleuchten.

PCI Express

Neuerungen

In der Tat hat der PCI Express (PCI E)-Standard bis auf das Kürzel „PCI “nicht mehr sonderlich viel mit dem alten PCI-Bus gemein. Die wichtigste Änderung liegt vorwiegend in der Datenübertragung, welche nicht mehr parallel (altes PCI) sondern nunmehr seriell von Statten geht. Die serielle Punkt-zu-Punkt-Verbindung entsteht durch so genannte „Lanes“, die jeweils aus zwei unidirektionalen Leitungspaaren besteht, bei der eine für das Senden und die andere zum Empfangen von Daten zuständig ist. Das Signal ist dabei praktisch gleichstromfrei und basiert auf einer relativ geringen Spannung. Damit wird eine magnetische Störung nahe beieinander laufender Leitungen verhindert. Die PCI Express-Schnittstelle wird es grundsätzlich in mehreren Versionen respektive Leistungsklassen geben. Angefangen bei PCI Express x1 (1 Lane) über x2 und x4 bis hin zu 16 Lanes für die neue Grafikschnittstelle PCI Express x16 (PEG - PCI Express for Graphics). Das Maximum an Lanes liegt bei 32. Die PCI E x1-Schnittstelle, welche den normalen PCI-Slot ablösen soll, besitzt samt Stromversorgung, Steuer-, Daten- und Adressbus genau 36 Pins. Die verschiedenen PCI (AGP)-Versionen im Vergleich:


SchnittstelleAnzahl an Pins
PCI E x136
PCI E x464
PCI E x898
PCI E x16164
PCI 32 Bit84
PCI X150
AGP 8x108

Der PCI Express-Bus besitzt eine Grundfrequenz von 2,5 GHz, was bei einer seriellen Verbindung (nur ein Bit gleichzeitig übertragbar) einer maximalen Übertragungsrate von 2,5 GBit/s entspricht. Es gibt jedoch eine kleine Enschränkung. Beim Senden und Empfangen verwendet der Bus das 8B/10B-Kodierverfahren. Dies ist dringend notwendig, damit sich Sender und Empfänger bei jeder Datenübertragung synchronisieren können. Die üblicherweise 8 Bit lange Information wird für diesen Zweck auf 10 Bit erweitert. Nachteil der ganzen Sache ist der 25 Prozent Overheadanteil, der die Nutzdatenrate auf „nur “2 GBit/s in beide Richtungen auf einer Lane beschränkt. Über eine PCI E x1-Schnittstelle können somit 250 MB/s in jede Richtung oder zusammengenommen 500 MB/s an Daten übertragen werden - knapp das Vierfache gegenüber dem herkömmlichen 32 Bit PCI, welche bei 133 MB/s (1000er Basis) am Ende ist. Bei 16 Lanes können dann logischerweise bis zu 4 GB/s an Daten gleichzeitg hin- und zurückgeschubst werden. Zum Vergleich kann die AGP 8x-Schnittstelle nur 2133 MB in der Sekunde übertragen.

PCI Express Grundlagen 1 PCI Express Blockbild 2 PCI Express Blockbild 3

Mittlerweile hat auch die Funktion des Hot Pluggings eine neue Version erreicht, die es dem Nutzer erlaubt, Karten während des laufenden Betriebes ohne Reset oder Abschalten des Systems zu installieren. Dabei bietet PCI Express eine Funktion namens „Power-Budget“, was im Endeffekt bedeutet, dass dem Slot nur eine gewisse elektrische Leistung zugewiesen werden kann. Steht nicht genug Strom für ein Betrieb einer neuen Komponente in diesem Slot zu Verfügung, wird eine Rückmeldung an den Systemadministrator gesendet.

Auch der PCMCIA-Steckplatz erhält ein neues Gewand. Unter dem Label „NewCard “wurden zwei neue Form-Faktoren (34 und 54) verabschiedet. Der neue Slot basiert ebenfalls auf PCI Express und soll vorwiegend im mobilen Sektor zum Einsatz kommen. Zudem können die Karten auch über USB2.0 mit dem Notebook oder Handheld kommunizieren.

Express Card 34 Express Card 54

Der Bus

Der Bus (physikalischer Layer) ist in seiner maximalen Leitungslänge begrenzt. Bei PCI E x16 darf die Kupferleitung zwischen Sender und Empfänger maximal eine Länge von 50,8 cm aufweisen. Wählt man eine längere Leitung, kann es zu unterschiedlichen Signallaufzeiten zwischen den einzelnen Lanes kommen, was bei der Synchronisation fatale Folgen hätte, da der Empfänger nicht mehr gleichzeitig die Daten und Taktinformationen erhalten kann und demzufolge Datenmüll entsteht. Die Leitungen selbst müssen mit einem 100 Ohm starken Terminationswiderstand bestückt sein und die Differenzspannung zwischen zwei Signalleitungen darf maximal 1,2 Volt betragen. Zudem dürfen die Transmitterspannung von 0,8 Volt und die ankommende Spannung am Receiver von 0,175 Volt nicht unterschritten werden.

Das Transaction Layer verarbeitet in seiner Hauptaufgabe sämtliche Lese- und Schreibvorgänge sowie bestimmte Ereignisprozeduren und bildet die Verbindung zwischen dem physikalischen und dem Data Link Layer. Der Sinn dabei liegt in der Einsparung von unnötigen und mehrfachen Übertragungsvorgänge, indem über das Credit-Base-System zuerst geprüft wird, ob beim Empfänger genügend freie Puffer vorhanden sind. Bei Anforderung einer Empfangsbestätigung schaltet der Layer automatisch in den Split-Transfer-Mode, wo bis zum Erhalt der Bestätigung zusätzliche Übertragungen zu anderen Adressaten möglich sind. Bestehend aus einem Header und einem Datenstrang kann bei Bedarf auch eine 32 Bit lange Prüfsumme nachgesendet werden. Nach dem Transaction-Layer-Verfahren erhofft man sich eine effiziente Bandbreitennutzung, welche zudem in der Lage ist, über einen internen Switch die einzelnen Daten nach Traffic-Klassen zu sortieren. Dazu dienen im Transaction-Header die Bits 4 - 6 im ersten Byte, welche insgesamt acht verschiedene Service-Klassen kodieren können. Der Header selbst kann bis zu vier Doppelwörter (4 Bytes / 32 Bit) lang sein, wobei die Bits fünf und sechs des ersten Bytes (Byte 0) die länge des Headers angeben. Die Bits 0 bis 4 dienen zur Angabe des Transfermodi, z.B. 32/64 Bit I/O- oder Memory-Schreibvorgänge (Writes). Bit Nummer sieben legt fest, ob dem Header noch ein optionaler Anhang von einem Doppelwort folgt oder nicht. Der Anhang enthält einen CRC-Summe für die Fehlererkennung und kann somit für sehr hohe Datenintegrität sorgen. Über das 6. Bit im zweiten Byte kann dann ggf. eine Rückmeldung gegeben werden, bei einem Fehler die Daten erneut zu senden.

PCI Express Grundlagen 2 PCI Layer Schichten

Anschließend übernimmt der Data-Link-Layer die Aufgabe, Daten vom Transaction-Layer für den physikalischen Layer aufzubereiten. Der Link erfolgt über eine Punkt-zu-Punkt-Verbindung zwischen den einzelnen Komponenten. Am Anfang der Datenpakete für den Transaction-Layer wird eine Identifikationsnummer oder auch Paketidentifikationummer zugfügt. Wird bei der Übertragung ein Fehler gemeldet, werden die Daten anschließend umgehend ein weiteres Mal versendet.

Unabhängig von allen Kontrollleitungen bietet der PCI Express-Bus optional die Möglichkeit eines integrierten SM-Bus', welcher in der Lage ist, System- und Power-Management-Aufgaben eigenständig zu steuern. Nebenher überträgt er auch Herstellerinformationen wie Gerätetyp und Seriennummern sowie bei Bedarf Suspend-Zustände und Protokolle von Gerätefehlern. Nicht zu vergessen ist die maximale Leistungsübertragung der Stromversorgung, die von 25 Watt bei AGP 8x um das dreifache auf 75 Watt erhöht wurde.

Praktischer Nutzen

Einer der wichtigsten Punkte der Änderungen ist das Erhalten der Systemkompatibilität. Weder das Betriebssystem noch die Anwendungen müssen auf das neue Interface mittels Treiber angepasst werden. PCI Express bietet praktisch dieselben Funktionen für die Initialisierungsphase des Betriebssystems wie das Festlegen von Ressourcen, Speicherbereiche, I/Os und IRQs. Somit ist eine völlige Kompatibilität der Betriebssysteme gewährleistet. PCI Express besitzt im Vergleich zu PCI (übliche Version 2.3) einen 16 Mal so großen Konfigurationsspeicher für Initialisierungs- und Konfigurationsdaten. Der Speicher wurde von 256 Byte auf 4096 Byte vergrößert. In ihm befinden sich wichtige Bootinformationen, z.B. welche Geräte am Bus hängen und wie sie angesteuert werden müssen.

Der praktische Nutzen liegt auf der Hand. Angesichts von RAID-Controllern und 1 bis 10 GBit Netzwerkkarten gerät der herkömmliche, 32 Bit breite PCI-Bus mit seinen 133 MB/s doch an seine Grenzen. Auch hochwertige Soundkarten verursachen öfters große Lasten auf dem PCI-Bus, welche man mit PCI Express aus der Welt räumen will. Abhilfe schaffen hier PCI E x1 bis x8, welche sich, dank ihrer deutlich fixeren Datenübertragung in beide Richtungen, den kommenden Anforderungen gewachsen fühlen. Gerade für nicht native RAID-Controller im Chipsatz, z.B. für den Einsatz von RAID 5 oder höher, könnte der PCI Express neue Möglichkeiten für eine schnelle Anbindung der Festplatten an das System bringen. Auch Gigabit-Netzwerkkarten werden von einem Flaschenhals entfernt.

Ein weiterer Nutzen hinter PCI Express könnte bei für Mainboard- und Chipsatzhersteller in der Anbindung der Southbridge an die Northbridge versteckt sein. Bisher setzten die Hersteller auf eigene Lösungen (VIAs V-Link, Intels Hubinterface, nVidias HyperTransport-Implementation oder SiS' MultiTIOL). PCI-Express könnte dank seiner guten Skalierbarkeit auch für dieses Segment sinnvoll eingesetzt werden. Für die Ansteuerung der CPU ist PCI Express - anders als AMDs HyperTransport-Link beim Athlon 64 - wegen seiner Paket orientierten Datenübertragung und dem doch recht aufwendigen 8B/10B Kodierungsverfahren, welches relativ hohe Latenzen verursacht, jedoch nicht geeignet.

PCI Express Blockbild 1 PCI Express im Einsatz

Wer jetzt allerdings auf eine hohe Verfügbarkeit an PCI E-Hardware zum Launch gehofft hat, wird wohl bitter enttäuscht werden. Nicht zuletzt durch Eindrücke auf der diesjährigen CeBIT sprechen doch viele Anzeichen dafür, dass Hardware auf Basis der neuen Schnittstelle bis 2005 doch eher Mangelware bleiben wird. Nicht zuletzt dadurch, dass bis jetzt nur Plattformen für Intel-Prozessoren diese Schnittstelle bieten. AMD-Fans müssen aufgrund mangelnder Chipsätz noch ein wenig länger auf PCI Express warten. Jedoch steht VIAs neue Southbridge, die VT8251, mit PCI Express schon in den Startlöchern. Anfangs werden aller Voraussicht nach nur die kleinen Grafikkarten-Modelle (ATI X600, nVidia PCX5750 und PCX5900) erhältlich sein. Hier gehen ATi und nVidia bekannterweise verschiedene Wege. Setzt man bei nVidia noch auf einen externen und somit flexiblen Brigde-Chip, welcher AGP 8x auf PCI E x16 und umgekehrt ermöglicht, geht ATi mit dem R423, welcher nativen PCI E-Support bieten soll, etwas konsequenter (und risikoreicher) zu Werke.

Fazit

Insgesamt kann man den Schritt zu PCI Express durchaus als eine kleine technische Revolution (zumindest als einen Evolutionssprung) betrachten. Der Konzept scheint zu stimmen, es hapert jedoch noch ein wenig an der Umsetzung. Von allen technischen Vorteilen unberührt, steht die doch eher magere Verfügbarkeit an entsprechender Hardware diesem Standard gegenüber. Ob Intel sich mit einem völligen „Verstoß“ des AGP-Ports und der starken Forcierung auf die neuen Chipsätze und Mainboards mit PCI Express sowie der Ausrüstung der Platinen einen Gefallen getan hat, werden erst die kommenden Wochen und Monate zeigen. Für kommende Peripherie wie z.B. die Audigy 3 könnte ein leistungsfähigeres Bus-System wie PCI Express im Vergleich zum guten, alten PCI unabdingbar sein.

Copyright © 1999–2008 ComputerBase Medien GbR