2
INHALTSVERZEICHNIS
Inhaltsverzeichnis
1 Einführung 3
2 Motivation 3
2.1 (E)ISA 3
2.2 VESA-Local Bus 4
2.3 PCI 4
3 Der PCI-Local Bus 5
3.1 Signale und Adressierung 6
3.1.1 Signale 7
3.1.2 Adressierung 10
3.2 Busoperationen 12
3.2.1 Bustransaktionen 12
3.2.2 Buskommandos 14
3.3 Busarbitration 15
3.4 Plug-and Play und der Kongurationsadressraum 16
3.5 64 Bit Erweiterung 18
3.6 Weitere Eigenschaften 19
4 Ausblick 19
4.1 PCI-X 19
4.2 PCI Express 20
Literatur 21
Abbildungsverzeichnis
3-1 PCI Systemstruktur 5
3-2 PCI Signalliste 7
3-3 Lesezugri auf PCI-Bus 12
3-4 Schreibzugri auf PCI-Bus 13
3-5 Beispiel Busarbitration 16
3-6 Kongurations Header 17
4-1 PCI Standards 19
Tabellenverzeichnis
2-1 Vergleich von Erweiterungsbussen 3
3-1 Leistungaufnahme von Steckkarten 10
3-2 Byteadressierung im I/O-Adressraum 11
3-3 Burstmodi im Memory-Adressraum 11
3-4 PCI Buskommandos 15
3
2. Motivation
1 Einführung
Diese Ausarbeitung soll einen Überblick über die wichtigsten Eigenschaften des Peripheral Component Interconnect Bus (PCI-Bus) geben.
Dazu erläutere ich in Abschnitt 2 die Entwicklung von ISA- und VL-Bus, die Probleme, die PCI zu lösen hatte, und die Erweiterungen seit seiner ersten Veröentlichung. In Abschnitt 3 wird der PCI-Bus eingehender behandelt. Ich gebe dort zuerst einen Überblick über die Eigenschaften des Busses und erläutere dann einige Themen detailierter. Zum Abschluÿ wird in Abschnitt 4 noch auf die aktuellen Entwicklungen eingegangen, mit kurzen Einführungen zu PCI-X und PCI Express.
Die aktuelle PCI Spezikation der PCI Special Interest Group, auf die ich hier aufbaue, ist Re-vision 3.0 vom 12. August 2002 . Für eine detailliertere und umfassendere Beschreibung und weitere Graken siehe [12]. Desweiteren stütze ich mich auf [1, 6, 10], da sie das Thema jeweils unterschiedlich beleuchten. Leider beziehen diese sich auf ältere Revisionen der PCI Spezikation und die entnommenen Passagen mussten auf den aktuellen Stand überarbeitet werden.
2 Motivation
Die Entwicklung der Erweiterungsbusse hat 1981 mit dem PC bus begonnen. Mit ein paar Änderungen wurde er 1984 von IBM als ISA-Bus (Industry Standard Architecture) vorgestellt. ISA
hielt sich über einige Jahre als de facto Standard. Erst gegen Ende der 80er Jahre reichte seine
Kapazität nicht mehr aus und bekam Konkurrenz durch Micro Channel (1987) und VESA-Local-Bus (1992). ISA wurde zwar 1988 erweitert und nannte sich nun EISA (Extended ISA), konnte
sich aber wegen der weiter steigenden Anforderungen nicht mehr behaupten. 1992, als direkte
Konkurrenz zum VL-Bus, wurde PCI in seiner ersten Version vorgestellt. PCI sollte die Proble-
me der bis dahin vorherrschenden Systeme ISA und VL-Bus beseitigen und die Vorzüge beider Varianten vereinen. In Tabelle 2-1 werden einige Standards verglichen.
Im Folgenden werden der (E)ISA- und VL-Bus mit ihren Eckdaten, sowie die Entwicklung von
PCI beschrieben. Für mehr Informationen siehe [1, 6, 10, 12, 13, 14].
2.1 (E)ISA
ISA besteht aus einem 16 Bit breiten Bus, läuft mit 8 MHz Takt und gilt, als erster weitverbreiteter Local-Bus, als Meilenstein der Computerentwicklung. Er erreicht eine Transferrate von 16 MB/s, die aber für die Anfang der 1990er aufkommenden graschen Betriebssysteme wie
4
2.2 VESA-Local-Bus
Windows oder OS/2 nicht mehr ausreichten. Mit steigendem Datentransfervolumen, wuchs auch der Bedarf an Speicherkapazität. Bei einem adressierbaren Speicherbereich von 16 MB stöÿt man bei ISA allerdings auch schnell an Grenzen. Die Erweiterung des Standards (EISA) auf 32 Bit Busbreite und daraus resultierenden 32 MB/s änderten trotz adressierbaren 4 GB Speicher nicht viel, da der Engpass zwischen Prozessor und Grakkarte blieb bestehen. Durch immer günstigere Computer wurden diese für die breite Masse erschwinglich. Und so wurde die Konguration von IRQs, DMA-Kanälen oder I/O-Adressen der ISA-Karten über Jumper, DIP-Switches und ähnliches zu einem Problem. Für Hobbyisten und Computerspezialisten zwar (k)eine Aufgabe, für den Otto-normal-Verbraucher aber zu kompliziert.
2.2 VESA-Local-Bus
Der erste Versuch diese Probleme zu lösen wurde von der VESA (Video Electronics Standards Association) mit dem VESA-Local-Bus (VL-Bus) gestartet. Dieser ist 32 Bit breit und direkt am Front-Side-Bus (FSB) des Prozessors angeschlossen. Damit läuft der VL-Bus zwar mit der gleichen Frequenz wie die CPU (bei 33 MHz ergibt das eine Transferrate von 132 MB/s), jedoch können nur wenige Erweiterungskarten angeschlossen werden, ohne die Performanz der CPU zu beeinussen. Mit einem Puer zum FSB können so zwei bis drei Erweiterungskarten und ohne sogar nur eine angeschlossen werden. Die Karten für den VL-Bus sollten über eine automatische Konguration verfügen, allerdings war das wie nicht in der Spezikation beschrieben. Und so entwickelte jeder Hersteller seine eigene Lösung.
Das gröÿere Problem jedoch ist die direkte Verbindung mit dem FSB des Prozessors. Dadurch ist der VL-Bus auf eine bestimmte FSB- bzw. Prozessorarchitektur beschränkt und mit dem Erscheinen des Pentium nicht mehr einsetzbar.
2.3 PCI
Der Peripheral Component Interconnect Bus wurde 1992 von Intel in der Revision 1.0 vorgestellt und sollte die Probleme der bisherigen Busse lösen und die Vorzüge von ISA und VL-Bus kombinieren.
Von der Industrie wurde PCI schon länger erwartet, erfüllte mit der ersten Spezikation aber noch nicht alle gestellten Ansprüche. In dieser Version hat PCI mit 32 Bit Busbreite und 33 MHz Takt lediglich die gleiche maximale Transferrate wie der VL-Bus mit einer 33 MHz CPU. Zudem fehlten in dieser Revision Informationen zu den Anschlüssen und Erweiterungskarten in der Spezikation.
PCI ist eine Kombination aus dem Besten der ISA- und VL-Busse. Einerseits hat PCI den direkten Speicherzugri und die Geschwindigkeit des VL-Busses, andererseits wird die Anbindung an den Front-Side-Bus über eine Bridge realisiert und erhält dadurch die Prozessorunabhängigkeit, und damit die potentielle Langlebigkeit, von ISA.
Mit der Revision 2.0 von 1993 wurde die Spezikation um die fehlenden Teile ergänzt und dem PCI-Bus eine Erweiterung auf 64 Bit spendiert. So wie bei dieser Erweiterung und allen weiteren wurde immer auf Abwärtskompatibilität wert gelegt. Deshalb funktionieren auch PCI-Karten der ersten Stunde noch in aktuellen Mainboards. 1995 wurde die Version 2.1 der Spezikation mit einer Erhöhung der Taktfrequenz auf 66 MHz veröentlicht. Damit war der heute immer noch aktuelle Stand für PCI mit einer Transferrate von maximal 528 MB/s (64 Bit Breite und 66 MHz) erreicht. Höhere Transferraten können zum Beispiel mit PCI-X (siehe Abschnitt 4.1), einer Erweiterung des PCI-Local-Bus, oder PCI Express (siehe Abschnitt 4.2) erreicht werden. PCI 2.2 wurde 1998 und PCI 2.3 im März 2002 veröentlicht. Aus PCI 2.3 wurden die rei- nen 5 V-Erweiterungskarten entfernt. Die aktuelle PCI Revision 3.0 der PCI Special Interest
5
3. Der PCI-Local-Bus
Group erschien im August 2002, in der die Unterstützung für den 5 V-Anschluss auf Mainboards komplett verschwunden ist. Einzig die 3,3 V/5 V Combo-Karten blieben aus Kompatibilitätsgründen mit den vielen existierenden 5 V-Systemen erhalten. So ist der Wechsel von der 5 V Spanungsversorgung zu 3,3 V abgeschlossen.
3 Der PCI-Local-Bus
Eine typische PCI-Systemstruktur zeigt Abbildung 3-1. Die Anbindung an den Hostbus ist über eine Bridge (Host-to-PCI-Bridge ) realisiert, die den Datentransfer zwischen CPU, Speicher und PCI-Bus regelt. Der Prozessor kann durch die Bridge direkt auf PCI-Komponenten zugreifen, die beliebig im Memory- oder I/O-Adressraum angeordnet sein können. PCI-Busmaster können
über diese schnelle Verbindung direkt auf den Hauptspeicher zugreifen. Die Bridge kann noch weitere Funktionen zur Verfügung stellen, wie zum Beispiel einen Busarbiter oder Hot-pluging.
Inzwischen sind die Anforderungen der Grakkarten weiter gestiegen, so dass der PCI-Bus hier nicht mehr ausreicht und so ist die Host-Bridge in aktuellen Rechnern mit PCI-Bus um einen AGP-Port erweitert worden. Der AGP-Port ist um ein vielfaches schneller und ermöglicht so einen schnellen Datentransfer zwischen Grakkarte und Hauptspeicher. Der PCI-Bus wird weiterhin für andere schnelle Systemkomponenten benutzt, wie LAN, ISDN, Soundkarte und ähnliches. Jedes PCI-Device kann bis zu 16 functions zur Verfügung stellen. Diese haben ihre eigenen Speicherbereiche und werden separat konguriert.
Typische PCI-Bus Implementierungen unterstützen bis zu vier Slots für Erweiterungskarten bzw. bis zu zehn on-board PCI-Adapter. Falls mehr PCI-Slots benötigt werden kann über eine PCIto-PCI-Bridge ein weiterer PCI-Bus angeschlossen werden. Üblich ist hier eine hierarchische
Struktur von Busebenen, wobei maximal 256 PCI-Busse unterstützt werden. So können über Bridges auch andere Busse integriert werden, etwa ISA über eine PCI-to-ISA-Bridge.
6
3.1 Signale und Adressierung
1 :
Hier die wichtigsten technischen Daten des PCI-Bus in Stichpunkten
• 32-Bit-Multiplexbus, erweiterbar auf 64 Bit; unabhängig davon 32- oder 64-Bit-Adressierung.
• Synchroner Bus mit einer Bustaktfrequenz von üblicherweise 33 MHz, aber auch 66 MHz.
• Vorwärts- und Rückwärtskompatibilität, d.h. es können Steckkarten mit jeweils wahlweise 32- oder 64-Bit-breiten PCI-Komponenten und 33 oder 66 MHz Bustakt betrieben werden.
• Transparenz bei der Erhöhung der maximalen Übertragungsrate von 132 MB/s (32-Bit-Daten bei 33 MHz) zu 264 MB/s (64-Bit-Daten bei 33 MHz) und von 256 MB/s (32-Bit-Daten bei 66 MHz) zu 528 MB/s (64-Bit-Daten bei 66 MHz).
• Burst-Zyklen variabler Länge für Schreib- und Lesezugrie.
• Kurze Latenzzeit von zwei Takten bei Schreibzugrien (60 ns bei 33 MHz, 30 ns bei 66 MHz), wenn der Master auf dem Bus geparkt ist.
• Multimasterfähigkeit mit verdeckter (überlappender) Busarbitrierung.
• Bis zu vier Steckplätze bei 33 MHz und bis zu zwei bei 66 MHz mit der Möglichkeit, die Anzahl der Steckplätze durch weitere PCI-Busse zu erhöhen (PCI-to-PCI-Bridges).
• Möglichkeit der PCI-Anbindung anderer Busse mittels einer entsprechenden Bridge, z.B. PCI-to-ISA.
• 3,3 V Signal-Umgebung mit rückwärtskompatiblen PCI-Steckkarten für 5 V Umgebungen.
Im Folgenden beziehe ich mich auf einen PCI-Bus mit 32 Bit Adress-/Datenleitungen, die unterschiede zu 64 Bit behandele ich separat in Kapitel 3.5. Zwischen 33 und 66 MHz gibt es keine logischen, sondern nur elektrische Unterschiede, die ich hier nicht betrachte. Zum besseren Verständnis noch einige Begrie und Synonyme aus der PCI Spezikation, die hier auch auftauchen werden: Komponenten, die an den PCI-Bus angeschlossen sind, werden auch Agents oder Devices genannt. Sie können entweder direkt auf dem Mainboard sitzen (planaronly) oder als Steckkarte eingeschoben werden (add-in board). Eine Buskomponente fungiert entweder als Master (Initiator), oder als Slave (Target). Wenn die Nutzung von Signalen von einem Agenten zum Nächsten wechselt, wird in der Regel ein Wechselzyklus eingelegt.
Dieser nennt sich Turnaround-Cycle.
3.1 Signale und Adressierung
Das PCI Interface benötigt für ein Target mindestens 47 Pins und für einen Master mindestens 49, um alle grundlegenden Funktionen benutzen zu können. Der Master benötigt zwei Pins mehr
2 die PCI benötigt aufgelistet und
für die Busarbitrierung. In Abbildung 3-2 sind alle Signale
nach Funktionen gruppiert. Links stehen die benötigten Signale, rechts die optionalen Signale, wie zum Beispiel 64-Bit-Transfers und Interrupts.
1 siehe [6]
2 Wie gewohnt steht # am Ende eines Signals wie FRAME# für active-low und AD[31::00] für einen 32-Bit-Bus mit LSB 0.
Arbeit zitieren:
Daniel Jacobi, 2005, Der PCI Local Bus, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Daniel Jacobi hat den Text Der PCI Local Bus veröffentlicht
Daniel Jacobi hat einen neuen Text hochgeladen
Let My People Go!: The Miracle of the Montgomery Bus Boycott
Robert J. Walker, Mary F. Whitt
Local Governance Reform in Global Perspective
Norbert Kersting, Janice Caulfield, R. Andrew Nickson, Dele Olowu, Hellmut Wollmann
0 Kommentare