PCI-Express
Transcription
PCI-Express
Rechnerstrukturen Labor bei Herrn Prof. Dr. Risse (RST-L WS 2004/2005) PCI-Express (überarbeitete Version) 31.01.2005 Marco Bensch (11039) Clemens Nau (11330) INHALT Abbildungsverzeichnis ............................................................. 2 Abkürzungsverzeichnis ............................................................. 2 Einleitung ............................................................. 4 PCI-Architektur ............................................................. 5 PCI-Versionen im Überblick ............................................................. 6 PXI-X ............................................................. 6 Mini-PCI ............................................................. 7 PCI-Express-Architektur PCI-Express-Bridges ............................................................. 7 ............................................................. 9 PCI Express: Switch-Architektur .......................................................... 10 PCI Express Advanced Switching ........................................................ 11 Slot und Bus ............................................................. 12 Kompatibilität ............................................................. 14 Physical Layer ............................................................. 15 Data Link Layer ............................................................. 17 Aufbau des Data Link Layer Transaction Layer ............................................................. 18 ............................................................. 19 Aufbau des Transaction Layer ............................................................. 20 Powermanagement ............................................................. 22 Hot-Plug-Fähigkeit ............................................................. 23 Quality of Service ............................................................. 25 Mini-PCI-Express ............................................................. 26 ExpressCard ............................................................. 27 Fazit ............................................................. 29 Quellenverzeichnis ............................................................. 30 1 Abbildungsverzeichnis Nummer Inhalt Seite 1 PCI: Aufbau eines Desktop-PC's 4 2 PCI-Express: Aufbau eines Desktop-PC's 5 3 Layer-Modell 6 4 Bridges 7 5 Switch 8 6 Lanes 10 7 Slot 11 8 Physical Layer 1 13 9 Physical Layer 2 14 10 Data Link Layer 15 11 Data Link Layer Aufbau 16 12 Transaction Layer 17 13 Transaction Layer Header 18 14 PCI-Express Hot-Plug 21 15 PCI Hot-Plug 22 16 Mini-PCI-Express 1 23 17 Mini-PCI-Express 2 23 18 Express-Cards 54 und 34 24 19 Express-Card Steckplatz 24 Abkürzungsverzeichnis Abkürzung PCI Peripheral Component Interconnect RAID Redundant Array of Independent Disks PC Personal Computer I/O Input/Output SIG Special Interest Group AMD Firmenname HP Firmenname PCI-X Peripheral Component Interconnect Extended 2 Abkürzung AGP Accelerated Graphics Port VIA Firmenname SiS Firmenname MHz Megaherz MB Megabyte LAN Lokal Area Network WLAN Wireless Lokal Area Network IDE Integrated Drive Electronics USB Universal Serial Bus SCSI Small Computer System Interface AD_STB Address-Strobe IEEE Institute of Electrical and Electronics Engineers ATI Firmenname AS Advanced Switching ASI Advanced Switching Interconnect V Volt PEG PCI Express for Graphics SM System-Management PLL Phase-Locked-Loop-(Schaltung) TLP Transaction Layer Paket DLLP Data-Link-Layer-Paket TC Traffic-Class CRC Cyclic Redundancy Code LCRC Link Cyclic Redundancy Code ECRC End-to-End-CRC SHPC Standard-Hot-Plug-Controller BIOS Basic Input Output System ACPI Advanced Configuration & Power Interface QoS Quality of Service CD Compact Disk CD-ROM Compact Disc-Read-Only Memory GHz Gigaherz PCMCIA Personal Computer Memory Card International Association SCM Firmenname 3 Einleitung Da in allen Bereichen immer größere Datenmengen schnell und zuverlässig zu Festplatten-RAID-Systemen, Netzwerkkarten oder Grafikkarten transportiert werden müssen, soll PCI Express der einzige und universelle Datenbus für PCs werden. Als Bremse erweist sich hier in der Regel das zu langsame I/O-Bussystem. Es muss die Datenströme zwischen den einzelnen Subsystemen steuern und verarbeiten. Reicht die Übertragungsrate der I/O-Architektur nicht aus, kommt es unweigerlich zum Datenstau (oft als Flaschenhals bezeichnet). Dieses Manko will das PCI-SIG-Konsortium (SIG → Special Interest Group), bestehend aus Firmen wie Intel, AMD, Microsoft, Dell und HP, mit neuen Bustechnologien beseitigen. Nachdem der 10 Jahre alte PCI-Bus mit einer Datentransferrate von maximal 127,2 MByte/s für moderne I/O-Hardware wie 10-Gbit-Ethernet-Adapter zu langsam ist, sollen PCI-X und vor allem PCI Express das Defizit beseitigen. Das PCI-X-Bussystem hat sein Einsatzgebiet vorwiegend im Server-Bereich und soll wie PCI laut PCI-SIG komplett von PCI Express abgelöst werden. Dies erreicht eine Übertragungsgeschwindigkeite von bis zu 9,53 GByte/s je Richtung (siehe Grafik 6) (PCI Express mit 32 Leitungspaaren). Doch auch auf anderen Gebieten soll PCI Express existierende Standards ersetzen. Dies betrifft zum Beispiel die AGP-Schnittstelle, den Mini-PCI-Bus und die PC Card. Erste lauffähige Komponeneten auf Basis von PCI Express existieren bereits seit Ende 2003. Serienreife Chipsätze haben namhafte Hersteller wie Intel, VIA oder SiS erst Mitte 2004 eingeführt. 4 PCI-Architektur Das aktuelle PCI-Bussystem basiert auf der Spezifikation 2.3 (siehe Tabelle S. 5) und bietet mit 33 MHz Takt und 32 Bit rund 133 MB/s an Bandbreite. PCI ist ein paralleles Bussystem und alle angeschlossenen Komponenten müssen sich diese 133 MB/s teilen. Das gilt nicht nur für die Erweiterungskarten, die man in die PCI-Slots steckt, sondern auch für Onboard-Komponenten wie Sound, LAN, IDE-Controller, USB und dergleichen mehr. PCI arbeitet synchron, daraus folgt, dass alle Signale im gesamten System innerhalb eines Zeitfensters von maximal einer Nanosekunde synchron gehalten werden müssen. Ein weiteres Problem ist die fehlende elektrische Terminierung. Das führt dazu, dass mit jeder Geschwindigkeitsverdopplung die Anzahl der Steckplätze halbiert wird. Neue, schnelle Varianten haben nur noch maximal zwei Busteilnehmer. Das ist dann eine Punkt-zu-Punkt-Verbindung, wie z.B. AGP 8x für Grafikkarten. [Quelle: 1] [Grafik 1 – Quelle: Addison Wesley] PCI-Aufbau eines Desktop-PCs Der PCI-Bus arbeitet mit zwei Arten von Bus-Teilnehmern, dem Initiator und dem Target. Der Initiator startet einen Buszugriff, indem er die Kontrolle über die Steuerleitungen übernimmt und dann eine Zieladresse generiert. Zusätzlich legt der Initiator Länge und Beginn eines Bustransfers fest. Der Empfänger, auch Target genannt, signalisiert die Lesebereitschaft mit einem Rückmeldesignal oder erzeugt Wait-States (*1). Er kann Datentransfers aber nicht selbst initialisieren. *1: Wait-States = Anzahl der Taktzyklen, die eine Einheit auf eine andere warten muß. 5 PCI-Versionen im Überblick PCIPCI 1.0 PCI 2.0 PCI 2.1 PCI 2.2 PCI 2.3 / PCI-X-1.0 PCI-X-2.0 PCI-X-3.0 Version PCI 3.0 Max. Busbreite (Bit) 32 32 64 64 64 64 64 64 Max Taktrate (MHz) 33 33 66 66 66 133 533 1066 Max Bandbreite (Gbyte/s) 0,13 0,13 0,5 0,5 0,5 0,99 3,97 7,95 Spannung (Volt) 5 5 5/3,3 5/3,3 3,3 3,3 3,3/1,5 3,3/1,5 1991 1993 1994 1999 2002/2004 1999 2002 2004 Einführung (Jahr) [Quelle: Fachlexikon der Mechatronik] PCI-X Um die steigende Performance-Anforderung an den PCI-Bus zu decken, wurden 1999 bzw. 2002 die Spezifikationen für PCI-X-1.0 und PCI-X-2.0 vorgestellt. Aber auch der PCI-X-Standard wird noch überarbeitet und weiterentwickelt. Bereits seit 2002 beschäftigt sich das PCI-SIG-Konsortium mit der Entwicklung des PCI-X-3.0-Standards. Der PCI-X-1.0-Bus arbeitet mit einer maximalen Taktfrequenz von 133 MHz und einem 3,3-V-Slot. Er erreicht einen Datendurchsatz von 0,99 Gbyte/s. Beim PCI-X-2.0-Bus gibt es zwei Address-Strobe-Leitungen (*1) AD_STB und AD_STB#, die für eine Verdoppelung beziehungsweise Vervierfachung der Bandbreite bei gleicher Taktfrequenz von 133 Mhz sorgen. Im Double-Data-Rate-Modus (2x 133 MHz) erreicht der Bus einen Datendurchsatz von 1,99 GByte/s und im Quad-Data-Rate-Betrieb (4x 133 MHz) kommt er auf 3,97 Gbyte/s. Der in der Entwicklung befindliche (Stand: Januar 2005) PCI-X-3.0-Standard soll über ein erweitertes Power-Management verfügen. Wie aus der Bezeichnung PCI-X 1066 (*2) abzuleiten ist, schafft es der Datenbus, 1066 Mega-Transfers pro Sekunde auszuführen. Damit erreicht er eine theoretische Bandbreite von 7,95 GByte/s. *1: Adress-Strobe-Leitungen = Zusätzliche Leitungen, die die Gültigkeit der Adresse auf dem Adressbus anzeigen. [Quelle: 11] *2: Die unterschiedlichen Bezeichnungen der einzelnen Revisionen führen oft zu Verwirrungen: PCI-X-1.0 => PCI-X-133 PCI-X-2.0 => PCI-X-266 und PCI-X-533 PCI-X-3.0 => PCI-X-1066 [Quelle: 12] 6 Mini PCI Die Mini PCI-Spezifikation definiert eine zusätzliche Implementierung für PCI-Karten mit kleinem Formfaktor (Mini PCI-Karte siehe Grafik 16). Diese Spezifikation benutzt eine qualifizierte Untermenge vom PCI-Protokoll. Elektrischen Definitionen, und Konfigurationsdefinitionen sind wie bei der normalen PCI-Spezifikation. Wo die Mini PCISpezifikation nicht ausdrücklich andere Merkmale definiert, gilt die konventionelle PCISpezifikation. PCI-Express-Architektur PCI Express eignet sich als universelle Verbindung zu internen Komponenten wie USB-Controllern, Steckkarten mit hohem Datendurchsatz wie SCSI-RAID-Controllern oder 10-Gbit-Ethernet-Adaptern sowie als Docking-Verbindung zu externen Geräten wie Notebooks. [Grafik 2 – Quelle: Tecchannel] PCI-Express-Aufbau eines Desktop-PCs Einbingung von Nicht PCI-Express-Komponenten über Bridge- bzw Switch-Bausteinen (siehe S.7 ff). Ein weiterer Nutzen bei PCI Express liegt in der Anbindung der Southbridge an die Northbridge. Bisher setzten die Hersteller auf eigene Lösungen. PCI-Express könnte dank seiner guten Skalierbarkeit auch für dieses Segment sinnvoll eingesetzt werden. Die herkömmlichen proprietären Chip-to-Chip-Verbindungen wie V-Link von VIA, MuTIOL von SiS oder Hub Link von Intel könnten gegenüber dem schnellsten Verfahren (MuTIOL 0,99 Gbyte/s) um mehr als das Neunfache gesteigert werden. 7 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 (siehe Physikal Layer), welches im Vergleich relativ hohe Latenzen verursacht, jedoch nicht geeignet. [Grafik 3 – Quelle: Tecchannel] PCI-Express Layer-Modell Aus Sicht von PCI Express sind die Layer Software und Betriebssystem ein virtuelles PCISystem. Beim Rechnerstart wird die Initialisierung (Boot-Vorgang, Enumeration und Konfiguration) vollkommen PCI-kompatibel durchgeführt. So kann jede unter herkömmlichem PCI bootbare Software – also auch das Betriebssystem – unverändert in einem PCI-Express-System booten. Das Laufzeit-System ist ebenfalls PCI-kompatibel. Darauf können dann PCI Express oder andere Software aufsetzen. [Quelle: 1] Eine genauere Eklärung der Transactoin-, Data Link- und Physical Layer folgt weiter unten. 8 PCI-Express-Bridges Das langfristige Ziel von PCI Express ist es, die unterschiedlichen I/O-Standards wie PCI, PCI-X oder AGP abzulösen. Allerdings muss in der Übergangszeit gewährleistet sein, dass die neue Technologie aus Kostengründen die herkömmlichen Steckkarten weiterhin unterstützt. Gleichzeitig muss PCI Express mit den aktuellen Schnittstellen-Standards wie USB 2.0, SCSI, IEEE1394b, Ethernet und Infiniband problemlos zusammen arbeiten können. Die Lösung hierfür bieten Bridge-Bausteine. [Grafik 4] Bridge-Bausteine Mit Bridge-Bausteinen lassen sich alle nicht PCI-Express-konformen Komponenten in die PCI-Express-Architektur einbinden. Performance-Einbußen sollen dabei nicht auftreten. So setzt zum Beispiel der Grafikchip-Hersteller Nvidia einen AGP-zu-PCI-ExpressBaustein ein, um bis zur Entwicklung einer nativen Lösung vorhandene Grafikchips in einer PCI-Express-Architektur einsetzten zu können. Dieser Bridge-Baustein lässt sich auch in umgekehrter Richtung betreiben. Dieses Konzept verfolgt die Grafikchipschmiede ATI. Das Unternehmen verwendet native PCIExpress-Grafikchips und kombiniert sie mit einer PCI-Express-zu-AGP-Bridge, um zu der noch aktuellen AGP-Schnittstelle kompatibel zu sein. Auch im Serverumfeld, wo zum Beispiel PCI-X-Komponenten sehr verbreitet sind, sollen künftig die Bridge-Bausteine die Einbindung dieser Technologie in die PCI-ExpressArchitektur erleichtern. Durch den Einsatz der Bridge-Technologie lassen sich in diesem Bereich Kosten für die erneute Validierung der auf PCI-Express umgestellten Steckkarten sparen. 9 Switch-Architektur Neben den Bridge-Bausteinen stellt die PCI-Express-Technologie einen neuen Funktionsbaustein - den Switch - zur Verfügung. Er verwaltet mehrere Endgeräte und verfügt über eine intelligente Flusskontrolle. Diese unterstützt gleichlange (isochrone) Datentransfers innerhalb des Switches von einem Endgerät zum anderen per sogenannten virtuellen Tunnel ohne Umwege über den Host. Ein isochroner Datenfluss ist auch von einem Host zum Endgerät möglich. Beide Übertragungsformen beschleunigen den Datenverkehr und verhindern Engpässe während des Datentransports. Die Taktfrequenz der seriellen Verbindung ist immer gleich. Soll die Datentransferrate erhöht werden, wird die Anzahl der Verbindungen erhöht. Die Stern-Topologie erlaubt langsame und schnelle Erweiterungskarten, je nach Anwendung, ganz ohne gegenseitige Beeinträchtigung zu nutzen. Um Software-Kompatibilität zum PCI-2.3/3.0-Standard zu gewährleisten, besitzt jeder Ein-/Ausgang des Switches eine interne virtuelle PCI-zu-PCI-Bridge. Für PCI-ExpressDatenzugriffe ohne Berücksichtigung der PCI-Kompatibilität können sie bei zukünftigen Lösungen entfallen. [Grafik 5] Switch Der PCI-Express-Switch kann zum Beispiel den Datenverkehr einer Host Bridge auf mehrere Geräte aufteilen. Diese hängen dann wie bei der herkömmlichen PCI-BusArchitektur nicht mehr in einer Kette hintereinander, sondern nebeneinander. Jedes Gerät ist dadurch direkt für den Host mit niedriger Latenzzeit erreichbar. Zusätzlich erhöht die Switch-Struktur die Ausfallsicherheit, da ein Defekt einer Komponente nicht mehr eine ganze Kette lahm legt. 10 PCI Express Advanced Switching Unter Federführung von Intel ergänzte die eigens gegründete Advanced Switching Interconnect Special Interest Group (ASI SIG) im ersten 1.0-Entwurf die PCI-ExpressTechnologie um einen Advanced-Switching-Standard, kurz PCI AS. Im Januar 2004 erfolgte die Verabschiedung des Standards. Dieser soll PCI Express als Verbindungstechnik im Netzwerk- und Telekommunikations-Bereich nutzbar machen. So lassen sich beispielsweise definierte Datentransferraten für bestimmte Punkt-zu-PunktVerbindungen vorgeben (siehe Quality-of-Service). Darüber hinaus ist der Einsatz von PCI AS in Servern als Backplane-Standard geplant. Das PCI AS soll als spezielle Verbindungstechnik wie beispielsweise für Netzwerkprozessoren in Routern dienen und den Datenaustausch in einer auf Telekommunikation basierenden Serverumgebung beschleunigen und vereinfachen. Mit der Advanced-Switching-Technologie lassen sich auch so genannte Fabrics realisieren. In diesen Schaltungs-Topologien ist es möglich, Daten zwischen beliebigen Punkten abhängig von der Adresse und vom Absender zu befördern. Für die PCI-AS-Technologie bleibt die Hardware der PCI-Express-Architektur unverändert, lediglich die Software muss den besonderen Anforderungen an den Datenaustausch in einem Netzwerk entsprechen. 11 Slot und Bus Kostengünstig soll der neue PCI-Express-Slot sein. Deshalb schrumpfen beim PCIExpress-Slot im Vergleich zum Standard-PCI-Slot mit der Anzahl der Pins auch die Abmessungen. Die wichtigste Änderung liegt in der Datenübertragung, welche nicht mehr parallel (altes PCI) sondern seriell abläuft. Die serielle Punkt-zu-Punkt-Verbindung entsteht durch sogenannte „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. Dadurch ist PCI-Express vollduplexfähig, d.h. Daten können gleichzeitig sowohl gesendet als auch empfangen werden. [Grafik 6 – Quelle: Tecchannel] Aufbau Lanes Eine Lane ist in der Lage, 250 MByte/s pro Richtung zu übertragen. Durch Koppelung mehrerer Lanes lassen sich entsprechend Vielfache dieser Datenrate erreichen.Das Signal ist dabei praktisch gleichstromfrei (siehe Physical Layer) und basiert auf einer relativ geringen Spannung (siehe nächste Seite). 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). Generell sind bei PCI Express derzeit maximal 32 Lanes (laut Spezifikation) möglich. Was schon alleine durch den benötigten Platz (Hardware) begrenzt ist. 12 [Grafik 7 – Quelle: Hardwareluxx] PCI Express-Slots Je nach der Anzahl der benötigten Lanes kann der PCI-Express-Slot ohne mechanische Einschränkungen vor oder neben den existierenden PCI-Slots eingesetzt werden. Auch Systemlösungen für PC-Cards, Cartridges oder Kabelverbindungen zu anderen Rechnern inklusive Hot-Plug-Unterstützung sind mit dem PCI-Express-Bus möglich. Der PCI-Express-Bus lässt sich auf günstigen Vier-Layer-Mainboards implementieren. Will man unterschiedliche Signallaufzeiten der Lanes auf der Platine vermeiden, müssen die Kupferbahnen der Leitungen gleich lang sein. Die Spezifikation schreibt eine maximale Leitungslänge von 50,8 cm bei einer 16-Lane-Verbindung vor. Zusätzlich müssen die Leitungen mit einer Impedanz von 100 Ohm terminiert sein. Die maximale Peak-to-Peak-Spannung zwischen den zwei differenziellen Signalleitungen darf 1,2 V nicht überschreiten. Gleichzeitig darf sie am Ausgang des Transmitters 0,8 V sowie am Eingang des Receivers 0,175 V nicht unterschreiten. Die exakte Angabe von definierten Spannungspegeln ist bei der differenziell seriellen Datenübertragung besonders wichtig. Denn die Informationen extrahiert der Empfänger nicht aus Amplituden-Differenzen, sondern aus Flusswechseln im Datenstrom (siehe Physical Layer). Der PCI-Express-Slot bietet optional einen integrierten SM-Bus (System-ManagementBus). Das serielle Interface besteht aus zwei Leitungen, über die Informationen zwischen Systemkomponenten mit gleicher Schnittstelle ausgetauscht werden können. Der SM-Bus ist in der Lage, System- und Power-Management-Tasks unabhängig von weiteren Kontrollleitungen des PCI-Express-Busses zu steuern. Darüber hinaus übermittelt er Herstellerinformationen wie Modellnamen und Seriennummern der angeschlossenen Komponenten, Zustände von Suspend-Ereignissen und Statusprotokolle bei Gerätefehlern. 13 Kompatibilität Eine wichtige Eigenschaft des PCI-Express-Standards ist die Software-Kompatibilität zum herkömmlichen PCI-Standard. Weder das Betriebssystem noch die Applikations-Software müssen 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 (Version 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.3kompatiblen 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. 14 Physical Layer Der Physical Layer stellt die unterste Ebene des Layer-Modells dar und regelt den Datenfluss über die einzelnen seriellen Busleitungen. [Grafik 8 – Quelle: Tecchannel] Physical Layer Vor jeder Übertragung kodieren der Sender und der Empfänger die Daten nach dem 8B/10B-Verfahren. Der 8B/10B-Code wird auch bei Fibre-Channel oder Gigabit-Ethernet verwendet und wurde von IBM entwickelt und patentiert. Acht Bit Nutzdaten werden dabei in einen 10-Bit-Code überführt, der die Eigenschaft hat, dass im resultierenden Datenstrom maximal fünf Bit in Folge den gleichen Wert haben. Mindestens alle fünf Zyklen gibt es also einen Pegelwechsel, was dem Empfänger genügt, um mittels einer PLL(*1) den Takt zuverlässig zu rekonstruieren. Zusätzlich ist der Code „gleichspannungsfrei“: Die Anzahl der Nullen und Einsen ist im Mittel gleich groß. Anschliessend kann am empfangenden Ende mit einer PLL-Schaltung der Takt sicher aus den Daten gewonnen werden. Innerhalb des 10-bit-Codes können interne Steuerbefehle und Fehlererkennungsfunktionen untergebracht werden, ohne dass die darüberliegende Schicht damit belastet wird. Ein einzelner Datenstrom wird über die in einem Link vorhandenen Lanes verteilt, übertragen und am anderen Ende automatisch wieder zusammengesetzt. Wenn ein Fehler erkannt wird, sendet der Physikal Layer einen Recever Error an den Data Link Layer. Dabei wird die Entscheidung den Entwicklern überlassen welche Fehler erfasst und gemeldet werden sollen. [Quelle: 8] *1: PLL ist die Abkürzung für den englischen Begriff 'Phase-locked loop'. Der phasengekoppelte Regelkreis ist eine häufig verwendete Schaltung der Elektronik die u.a. für die Taktsynchronisationverwendet wird. [Quelle: Wikipedia] 15 Zwei Beispielfehlermeldungen: 8b/10b Decoder „Code Violation“ - Verletzung der CRC-Regeln • Elastic Buffer(*1) overflow oder underflow • In diesem Datenstrom sind durch entsprechend aufeinander folgende Bitwechsel die Taktinformationen enthalten, mit denen sich die Übertragungsstationen synchronisieren. Weitere Signale zur Datenflusskontrolle sind nicht erforderlich. Nachteil der 8B/10BKodierung ist die um 20 Prozent niedrigere effektive Datenrate. Bei einer Grundfrequenz von 2,5 GHz erreicht der PCI-Express-Bus eine maximale Transferrate von 2,5 Gbit/s je Richtung und Leitungspaar, das entspricht dann 2,0 Gbit/s an Nutzdaten. Geplant ist eine Erhöhung der Frequenz bis auf 10 GHz, damit erreicht man die maximal physikalische Bandbreite von 10 Gbit/s in Kupferleitungen. [Grafik 9 – Quelle: Tecchannel] Aufteilen und codieren P>S = Parallel zu Seriell Der PCI-Express-Bus erlaubt durch das Hinzufügen von Lanes eine flexible Skalierung in der benötigten Bandbreite. Der Physical Layer der PCI-Express-Architektur unterstützt x1, x2, x4, x8, x16 und x32 breite Lanes. Während der Initialisierungsphase synchronisieren Sender und Empfänger die Lane-Breite und die Übertragungsfrequenz. Der Vorgang beeinflusst den Betriebssystem- oder Software-Layer nicht und garantiert damit volle Kompatibilität zum herkömmlichen PCI-Standard. Spezifikations-Upgrades in Form von neuen Encoding-Technologien oder die Steigerung der Übertragungsgeschwindigkeit sind durch die Layer-Struktur einfach durchzuführen. Die neuen Vorgaben und Anforderungen verändern ausschließlich die Funktionsparameter im Physical Layer. *1: Der „Elastic Buffer“ wird genutzt um Taktschwankungen auszugleichen. [Quelle: 8] 16 Data Link Layer Die Hauptaufgabe des Data Link Layer besteht darin, Datenpakete vom Transaction Layer (TLPs) für eine Datenübertragung durch den Physical Layer vorzubereiten und umgekehrt. Dabei stellt er bestimmte Service-Funktionen wie Fehlererkennung und die damit verbundene Wiederholung des Datentransfers zur Verfügung. Zudem übernehmen DataLink-Layer-Pakete bestimmte Link-Management-Funktionen. Im Einzelnen sind das Empfangsbestätigungen von Transaction-Layer-Paketen, Initialisierungs- und Powermanagement-Status sowie das Übermitteln von Informationen zur Datenflusskontrolle. Data-Link-Layer-Blöcke werden per Point-to-Point-Transfer zwischen zwei Komponenten übertragen. Demgegenüber lassen sich TLPs über mehrere angeschlossene Geräte verzweigen. [Grafik 10 – Quelle: Tecchannel] Data Link Layer Um die Datenintegrität eines TLPs zu gewährleisten, fügt der Data Link Layer am Blockanfang des Datenpakets eine eindeutige Identifizierungsnummer an, die so genannte Paket-Sequenznummer. Damit identifiziert sich ein einzelner Übertragungsprozess innerhalb der PCI-Express-Umgebung eindeutig. Zusätzlich hängt der Data Link Layer an das Blockende eine Prüfsumme zur Fehlererkennung (CRC). Signalisiert der Empfänger eine fehlerhafte Datenzustellung, wird durch den Data Link Layer ein erneuter Blocktransfer veranlasst. Sendet der Data Link Layer diesen Datenblock, so erreicht er den Empfänger mit einer gewissen Verzögerung. Diese Latenzzeit hängt von Faktoren wie Frequenz und Bandbreite des Busses, Signalverzögerung durch Leiterbahnen und Wiederholung eines Transfers bei einer Fehlererkennung ab. 17 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. Es gibt drei wichtige Typen von DLLPs: 1. TLP Acknowledgement Ack/Nak DLLPs 2. Power Management DLLPs 3. Flow Control Packet 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. [Grafik 11 – Quelle: Tecchannel] Data-Link-Paket 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. 18 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. [Grafik 12 – Quelle: Tecchannel] Transaction Layer 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 (identisch mit denen in PCI-Systemen) und Message mit unterschiedlichen Transfermodi wie Reads und Writes. 19 Aufbau des Transaction Layer Der Transaction Layer besteht aus einem Header, Datenbereich und optionalem Anhang zur Fehlererkennung. Die allgemeine Bedeutung der ersten vier Bytes (Doppelwort) des Transaction Header ist bei allen Transaction-Layer-Paketen gleich. Er beginnt mit dem höchstwertigen Bit des Bytes Null. Bit fünf und sechs des Bytes Null geben die Länge des Header (Fmt) an. Dieser kann drei oder vier Doppelwörter lang sein und einen optionalen Datenanhang beinhalten. Die Bits Null bis vier des Bytes Null (Type) und die zwei Bits der Header-Länge definieren die Transfermodi wie beispielsweise 32/64-Bit-Memory- oder I/O-Reads/Writes. Diese legen auch den weiteren Aufbau des Transaction-Header fest. [Grafik 13 – Quelle: Tecchannel] Transaction-Layer-Paket Die Traffic-Class-Bits (TC) vier bis sechs des Bytes eins kodieren acht verschiedene Service-Klassen, die den Datentransport beeinflussen. Nur die System-Software in einer PCI-Express-Umgebung kann Service-Klassen wie zum Beispiel Datentransport nach Priorität definieren. Die Default-Einstellung (Bitfolge: 000) unterstützt jede PCI-ExpressKomponente. Das siebte Bit des Bytes zwei im Transaction-Header (TD) signalisiert, dass dem Transaction-Layer-Paket ein besonderer Anhang folgt, der aus einem einzelnen Doppelwort besteht. Dieser beinhaltet eine spezielle End-to-End-CRC-Prüfsumme (ECRC) zur Fehlererkennung und soll eine hohe Datenintegrität gewährleisten. Mit dem Setzen des sechsten Bits des Bytes zwei (EP) erkennt der Empfänger ein fehlerhaftes TLP. Darüber hinaus informiert ein Statusbericht den Absender über den aufgetretenen Fehler und veranlasst ihn, den Datentransfer zu wiederholen. 20 Das Ordering-Attribute-Feld (Attr) des TLPs besteht aus den beiden Bits vier und fünf des Bytes zwei. Mit dem vierten Bit lässt sich das Cache-Coherency-Management ansprechen. Wenn das Bit deaktiviert ist, zwingt die übertragene Operation die Hardware, kohärente Cache-Zugriffe durchzuführen. Ein gesetztes Bit signalisiert den Verzicht auf diese Zugriffsform (No Snoop). Das fünfte Bit entscheidet darüber, ob Datenzugriffe streng nach den PCI-Richtlinien oder unter bestimmten Voraussetzungen nach der PCI-XSpezifikation erfolgen. Das garantiert eine Abwärtskompatibilität zum PCI-/PCI-XStandard. Die Länge des nutzbaren Datenbereichs (Length) repräsentieren die Bytes drei und zwei, bei Letzterem werden nur die ersten beiden Bits ausgewertet. Die insgesamt zehn Bits stehen für eine maximale Datenmenge von 1024 Doppelwörtern, das sind umgerechnet 4 KByte nutzbare Daten. Der Header enthält in den Bit-Feldern Fmt, Type und TD alle notwendigen Informationen, um die Größe des gesamten Transaction-Layer-Pakets zu bestimmen. 21 Powermanagement Das PCI-Express-Powermanagement unterstützt alle Funktionen, die in der Bus Powermanagement Interface Specification Revision 1.1 und in der Advanced Configuration and Power Interface Specification Revision 2.0 festgelegt sind. Anders als PCI mit den Device-Powermanagement-States D0, D1 und D2 sowie D3hot und D3cold, definiert PCI Express so genannte Link-Powermanagement-States. Die einzelnen Link-States L0, L0s, L1, L2 und L3 sind aus den Device-States abgeleitet und haben ähnliche Funktionen. Im L0/D0-Modus versorgt das Netzteil die gesamte Hardware mit Strom. Der Zustand L0s/D0/D1 ist mit dem Standby-Modus gleichzusetzen. L1/D1/D2 erweitert den StandbyBetrieb, in dem spezielle Funktionseinheiten einer Steckkarten abgeschaltet werden. Im L2/D3hot-Zustand bleibt nur die Hilfsspannung des Netzteils aktiviert. Hierbei befindet sich das System in einem so genannten Low-Power-Sleep-State. Dagegen schaltet der L3/D3cold-Modus alle Spannungen aus. 22 Hot-Plug-Fähigkeit Eine Hot-Plug-Funktion ermöglicht es, Hardware-Komponenten im laufenden Zustand eines Rechners einzustecken oder zu entfernen. Eine Unterbrechung des Betriebs durch einen Reset oder ein Power-Down ist nicht notwendig. Die erste offizielle Hot-PlugSpezifikation für PCI wurde 1997 verabschiedet. Es folgte 2001 eine überarbeitete Version mit verbesserter Funktionalität des Standard-Hot-Plug-Controllers (SHPC). Für den PCI-Express-Bus startete die Entwicklung der Spezifikationen für das PCI Express Native Hot Plug bereits 2002. [Grafik 14 – Quelle: Tecchannel] PCI Express Native Hot Plug Zu den Vorteilen des PCI Express Hot Plug zählt die volle Unterstützung vom alten PCIHot-Plug, basierend auf dem SHPC-Modell. Zusätzlich nutzt es eine Reihe von Programmroutinen, die bereits in aktuellen Betriebssystemen wie Windows 2003 Server und Windows XP implementiert sind. Dabei verzichtet das Native Hot Plug auf herstellerspezifisch angepasste BIOS- und Treiberversionen sowie auf modifizierte Geräte-Controller. Jede PCI-Express-Komponente wie der Root Complex, die Bridge oder der Switch verfügt über einen Hot-Plug-Controller, der unabhängig von Herstellervorgaben nach den PCI-Express-Spezifikationen arbeitet. Einen weiteren Pluspunkt verbucht das PCI Express Hot Plug durch die so genannten "Power-Budgeting-Funktionen". Ist die Leistungsaufnahme eines PCI-Express-Slots vom Betriebssystem auf einen bestimmten Wert begrenzt oder steht dem System an einem Slot nicht mehr genügend elektrische Leistung für ein Gerät zur Verfügung, erkennt PCIExpress Hot Plug diesen Zustand. Es überträgt diese Informationen an den Systemadministrator, der entsprechende Maßnahmen einleiten kann. 23 [Grafik 15 – Quelle: Tecchannel] herkömmliches PCI Hot Plug Im Vergleich zu PCI Hot Plug bietet das standardisierte PCI Express Hot Plug für den Administrator entscheidende Vorteile bei der Systemverwaltung. Entsprechen die verwendeten Komponenten dem PCI-Express-Standard, so sind keine besonderen Herstellereigenschaften bei der Nutzung der Funktion zu berücksichtigen. Wird zum Beispiel ein Native-Hot-Plug-Gerät in einen PCI-Express-Slot gesteckt, signalisiert das ACPI-BIOS diesen Zustand direkt dem Betriebssystem. Dieses löst definierte TreiberService-Interrupts aus und startet entsprechende Hot-Plug-Funktionen, die das Betriebssystem bereits unterstützt. 24 Quality of Service Quality of Service (QoS) ist ein allgemeiner Ausdruck, der sich normalerweise auf die Fähigkeit eines Netzwerkes bezieht, eine feste (zugesicherte) Latenzzeit und Datenübertragungsrate zur Verfühgung zu stellen. QoS ist von grossem Interesse, wenn Applikationen garantierte Bandbreite zu bestimmten Intervallen brauchen, z.B. AudioDaten. Um diese Eigenschaft zur Verfühgung stellen zu können, definierte PCI Express isochrone Datenübertragung, welches einen hohen Grad an QoS benötigt. QoS kann für jede Transaktion angewandt werden, die PCI Express durchläuft (nutzt). QoS kann natürlich nur zur Verfühgung gestellt werden, wenn das Betriebssytem und die beteiligte Hardware dies Unterstützen. QoS kann sich auf viele Eigenschaften beziehen, z.B. • Übertragungsrate • effektive Bandbreite • Latenzzeit • Fehlerrate • Andere Parameter ,die die Performanece beeinflussen Eigenschaften von PCI Express, die QoS ermöglichen: • Service (Traffic) – Klassen • virtuelle Kanäle • Port Arbitration • Virtual Channel Arbitration • Datenfluss-Kontrolle PCI Express benutzt diese Eigenschaften um zwei generelle Transaktion-Klassen bereit zu stellen, welche von der PCI Express-Implementierung unterstützt werden. Isochrone (gleichlange) Datenübertragung – diese Art der Datenübertragung benötigt eine konstante Busbandbreite in regelmässigen Zeitabständen, zusammen mit einer zugesicherten Latenzzeit. Isochrone Datenübertragung werden oft benutzt wenn eine synchrone Verbindung zwischen zwei Geräten gebraucht wird. Beispielsweise ein CDROM-Laufwerk beim Übertragen von Audio-Daten zu Lautsprechern. Eine synchrone Verbindung existiert, wenn z.B. ein Kopfhörer direkt mit dem CD-Laufwerk verbunden wird. Wenn beispielsweise eine Sound-Karte genutzt wird um die Lautsprecher mit den Audio-Informationen zu versorgen, wird der Einfachheit halber,eine isochrone Datenübertragung zur Daten-Versorgung benutzt. Asynchrone Datenübertragung – Diese Klasse der Datenübertragung bezieht eine weite Menge von Applikationen welche viele Unterschiedliche Anforderungen an Bandbreite und Latenzzeit haben ein. QoS bietet anspruchsvollen Anwendungen höhere Prioräten als Anwendungen mit niedrigeren Ansprüchen. Auf diese Art können die Anwendungen in eine Hierarchie von Traffic-Klassen eingeteilt werden mit verschiedenen Prioritäten, abhängig von ihren Anforderungen. 25 Mini-PCI-Express Mini-PCI-Express basiert auf dem PCI-Express-Standard. Die nicht für den End-User konzipierte Schnittstelle soll spezielle Onboard-Erweiterungen wie WLAN oder Modem in Notebooks und PCs aufnehmen. Mini-PCI-Express soll Mini PCI ersetzen. [Grafik 16 – Quelle: Intel] Mini-PCI-Express-Format 1 Zu den gravierenden Änderungen gegenüber einem herkömmlichen Mini-PCI-Einschub Type III zählt der halbe Formfaktor einer Mini-PCI-Express-Karte. Darüber hinaus hat sich die theoretische Daten-Performance des neuen Interface von 127,2 MByte/s auf 596 MByte/s (eine PCI-Express-Lane mit einer Taktfrequenz von 2,5 GHz) erhöht. Diese hohe Bandbreite bei der Datenübertragung ermöglicht der Umstieg von der parallelen PCI- auf die serielle PCI-Express-Technologie. [Grafik 17 – Quelle: Intel] Mini-PCI-Express-Format 2 Um eine hohe Flexibilität des Mini-PCI-Express-Interface zu gewährleisten, haben die Entwickler zusätzlich zum PCI-Express-Bus auch einen SM-Bus und einen USB-2.0-Bus integriert. Insgesamt verfügt die Mini-PCI-Schnittstelle über 52 Steckkontakte. Der Abstand der einzelnen Pins beträgt 0,8 mm. Das Interface liefert über die 3,3-V-Kontakte 750 mA und über die 1,5-V-Kontakte 375 mA an Strom. 26 ExpressCard ExpressCard ist die nächste Evolution des PC-Card-Standards auf Basis von PCI Express. Die PCMCIA Trade Association verabschiedete die unter dem Code-Namen NEWCARD entwickelte ExpressCard-Spezifikation 1.0 im September 2003. Der ExpressCard-Standard löst mit höherer Performance und kleinerem Formfaktor die bisherigen PC Cards in Notebooks ab und soll auch in PCs zum Einsatz kommen. [Grafik 18 – Quelle: Intel] ExpressCard/54 und ExpressCard/34. Die höhere Bandbreite garantiert beim ExpressCard-Standard die PCI-ExpressTechnologie. Wahlweise kommt USB 2.0 zum Einsatz. Die universellen ExpressCardEinsteckplätze verfügen über genügend Kontakte für beide Varianten und unterstützen jeweils beide Bussysteme. Künftige Notebooks oder PCs benötigen keinen zusätzlichen Controller für die Ansteuerung der ExpressCard: PCI Express und USB 2.0 zählen dann zu den Standard-Features der Systemchipsätze. Notebooks mit PC-Card-Steckplätzen müssen noch einen eigenen PC-Card-Controller nutzen - der zusätzliche Kosten verursacht. [Grafik 19 – Quelle: Intel] ExpressCard-Steckplatz vs herkömmlicher PC-Card-Steckplatz 27 Die ExpressCard-Spezifikation 1.0 definiert zwei Formfaktoren: Den ExpressCard/34 mit einer Breite von 34 mm und den ExpressCard/54 mit 54 mm Breite. Letztere entspricht der Breite einer herkömmlichen PC Card und nimmt beispielsweise entsprechende Festplatten auf. Als Steckplätze sind ebenfalls beide Formfaktoren vorgesehen. Allerdings kann der universell einsetzbare ExpressCard-Slot/54 auch 34er ExpressCards aufnehmen. Die Höhe der ExpressCards beträgt standardmäßig 5 mm bei einer Länge von einheitlich 75 mm. Mit der ExpressCard-Spezifikation 1.0 bietet die PCMCIA erstmals einen gemeinsamen Standard für Erweiterungskarten an, der für Notebooks und PCs gilt. Die aktuellen PCCards haben sich ausschließlich in den mobilen Rechnern durchgesetzt. Ähnlich wie USB 1.1/2.0 soll ExpressCard künftig beide Gattungen verbinden und somit eine höhere Funktionalität bieten. Neben der PCMCIA Trade Organisation unterstützen Intel, Microsoft, Dell, Lexar Media und SCM Microsystems die Entwicklung von ExpressCard. 28 Fazit Die grundsätzlichen Vorteile von PCI Express liegen in der Skalierbarkeit, der SoftwareKompatibilität zu PCI und dem universellen Einsatz wie zum Beispiel im Server- und Workstation-Bereich. Denn je nach benötigter Bandbreite können mehrere Lanes parallel an einem Port zusammengeschaltet werden. Darüber hinaus lässt sich PCI Express nicht nur als I/O-Verbindung für Steckkarten, sondern auch als Chip-to-Chip-Interconnect einsetzen. Durch das "serielle" Bussystem und das besonders aufwendige Übertragungsprotokoll mit 8B/10B-Codierung entstehen aber hohe Latenzzeiten bei der Datenübertragung, so dass PCI Express als Prozessoroder Speicherbus nicht in Frage kommt. Hier hat HyperTransport Vorteile, da dieser Ballast fehlt. Auch als Basis für den Ersatz der AGP- und der Mini-PCI-Schnittstelle sowie des PCCard-Interfaces wird die neue Bustechnologie genutzt. Ein weiterer Pluspunkt von PCI Express sind niedrige Kosten durch die geringe Leiterbahnanzahl. Auf der anderen Seite verlangt PCI Express eine neue Verbindungsarchitektur auf den System-Boards und neue Steckkarten, wie zum Beispiel Grafikkarten. Was etwas schade ist, ist das man von der PCI-SIG nur „Informationen gegen Dollar“ bekommt (nach zu lesen unter: http://www.pcisig.com/specifications/order_form). Zumal auf den eigenen Internetseiten die verschiedenen PCI-Spezifikationen als „Open Standard“ bezeichnet weden. Für nicht Mitglieder liegt der Einstiegspreis bei 100,- $. Dafür bekommt man die PCI Express Mini Card Specifikation 1.0 Eine CD mit allen Aktuellen Specifikationen kostet 1500,- $. Mitglied kann man nur werden, wenn man in einer Firma arbeitet, die Mitglied ist. 29 Quellenverzeichnis [1] Hermann Strass PCI-Express: Mit Volldampf in ein neues Zeitalter http://www.elektroniknet.de/topics/kommunikation/fachthemen/2004/0004/index.htm [2] Jim Brewer, Joe Sekel - Dell Technology: PCI-Express White Paper, Feb. 2004 http://www1.us.dell.com/content/topics/global.aspx/vectors/en/2004_pciexpress?c=us& l=en&s=gen&cs= [3] Bernhard Haluschak: Der Highspeed Datenbus im Detail, 14.06.2004 http://www.tecchannel.de/hardware/1003/ [4] Bernhard Haluschak: PCI-Express für Grafikkarten http://www.tecchannel.de/hardware/1183/ [5] Simon Knappe: PCI-Express – Die Grundlagen (Der ICE für die Peripherie?), 18.06.2004 http://www.computerbase.de/artikel/hardware/mainboards/2004/pci_express_die_grun dlagen/ [6] Thomas Rau: Know-how: PCI-Express, 17.03.2004 http://www.pcwelt.de/know-how/hardware/38593/ [7] Jörg Pieters, Chefredaktion TweakPC: PCI Express: Kurz erklärt ,2004 http://www.tweakpc.de/hardware/infos/mainboard/pci_express/s01.php [8] Ravi Budruck, Don Anderson, Tom Shanley: PCI Express System Architecture, Addison Wesley, erschienen 04.09.2003 [9] Kein Autor: PCI-Express http://www.hardwareecke.de/berichte/schnittstellen/pci_express_1.php [10] Erich Käser: PCI-Versionen im Überblick, Fachlexikon der Mechatronik, 2004 http://www.fachlexika.de/technik/mechatronik/ [11] Jürgen Quade: Harte und weiche Echtzeitsysteme, Material zur Vorlesung Echtzeitsysteme I+II an der Hochschule Niederrhein, Kapitel 4. Prozessankopplung http://ezs.kr.hsnr.de/lectures/ezs/html/c3511.html [12] Davis Media Inc.: Platform Conference Summary, Januar 2003 http://www.findarticles.com/p/articles/mi_zdext/is_200301/ai_ziff36486 [13] Heise News: PCI Express: Advanced Switching für Telekommunikations-Server, Heise Verlag http://www.heise.de/newsticker/meldung/32652 30