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