Der PCI Local Bus


Research Paper (undergraduate), 2005

21 Pages, Grade: 1,7


Excerpt


Inhaltsverzeichnis

1 Einführung

2 Motivation
2.1 (E)ISA
2.2 VESA-Local-Bus
2.3 PCI

3 Der PCI-Local-Bus
3.1 Signale und Adressierung
3.1.1 Signale
3.1.2 Adressierung
3.2 Busoperationen
3.2.1 Bustransaktionen
3.2.2 Buskommandos
3.3 Busarbitration
3.4 Plug-and-Play und der Konfigurationsadressraum
3.5 64-Bit Erweiterung
3.6 Weitere Eigenschaften

4 Ausblick
4.1 PCI-X
4.2 PCI Express

Literatur

Abbildungsverzeichnis

3-1 PCI Systemstruktur

3-2 PCI Signalliste

3-3 Lesezugriff auf PCI-Bus

3-4 Sehreibzugriff auf PCI-Bus

3-5 Beispiel Busarbitration

3- 6 Konfigurations Header

4- 1 PCI Standards

Tabellenverzeichnis

2- 1 Vergleich von Erweiterungsbussen

3- 1 Leistungaufnalmie von Steckkarten

3-2 Byteadressierung im I/O-Adrcssraum

3-3 Burstmodi im Memory-Adressraum

3-4 PCI Buskommandos

1 Einführung

Diese Ausarbeitung soll einen Überblick über die wichtigsten Eigenschaften des „Peripheral Com­ponent 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öffentlichung. 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 dctailicrtcr. 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 Spezifikation 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 Grafiken siche [12]. Desweiteren stütze ich mich auf [1,6,10], da sic das Thema jeweils unterschiedlich beleuchten. Leider beziehen diese sieh auf ältere Revisionen der PCI Spezifikation 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 Än­derungen wurde er 1984 von IBM als ISA-Bus (Industry Standard Architecture) vorgcstcllt. ISA hielt sieh ü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 sieh nun EISA (Extended ISA), konnte sieh aber wegen der weiter steigenden Anforderungen nicht mehr behaupten. 1992, als direkte Konkurrenz zum VL-Bus, wurde PCI in seiner ersten Version vorgcstcllt. 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 LX-Bus mit ihren Eckdatcn, sowie die Entwicklung von PCI beschrieben. Für mehr Informationen siche [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 weitver­breiteter Local-Bus, als Meilenstein der Computcrcntwicklung. Er erreicht eine Transferrate von 16 MB/s, die aber für die Anfang der 1990er aufkommenden grafischen Betriebssysteme wie

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 2-1: Vergleich von Erweiterungsbussen

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 Grafikkarte blieb bestehen.

Durch immer günstigere Computer wurden diese für die breite Masse erschwinglich. Und so wur­de die Konfiguration von IRQs, DMA-Kanälen oder I/O-Adressen der ISA-Kartcn über .Jumper, DIP-Switchcs 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 Freciuenz 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 beeinflussen. Mit einem Puffer 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 Konfiguration verfügen, allerdings war das „wie“ nicht in der Spezifikation 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 vorge­stellt 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 Spezifikation 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. Zu­dem fehlten in dieser Revision Informationen zu den Anschlüssen und Erweiterungskarten in der Spezifikation.

PCI ist eine Kombination aus dem Besten der ISA- und VL-Busse. Einerseits hat PCI den direk­ten Speicherzugriff 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 Spezifikation 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-Kartcn der ersten Stunde noch in aktuellen Mainboards. 1995 wurde die Version 2.1 der Spezifikation mit einer Erhöhung der Taktfreciuenz auf 66 MHz veröffentlicht. 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öffentlicht. Aus PCI 2.3 wurden die rei­nen 5 V-Erwcitcrungskartcn entfernt. Die aktuelle PCI Revision 3.0 der PCI Special Interest 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äts­grü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-Systcmstruktur zeigt Abbildung 3-1. Die Anbindung an den Host bus 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 J/O-Adrcssraum angeordnet sein können. PCI-Busmastcr 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.

Abbildung 3-1: PCI Systemstruktur in Bloekdarstcllung.

Abbildung in dieser Leseprobe nicht enthalten

Inzwischen sind die Anforderungen der Grafikkarten 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 Grafikkarte und Hauptspeicher. Der PCI-Bus wird weiterhin für andere schnelle Systemkomponenten benutzt, wie LAN, ISDN, Soundkartc und ähnliches. Jedes PCI-Device kann bis zu 16 „functions“ zur Verfügung stellen. Diese haben ihre eigenen Speicherbereiche und werden separat konfiguriert.

Typische PCI-Bus Implementierungen unterstützen bis zu vier Slots für Erweiterungskarten bzw. bis zu zehn on-board PCI-Adaptcr. Falls mehr PCI-Slots benötigt werden kann über cine PGP to-PCI-Bridge. ein weiterer PCI-Bus angcsehlosscn 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 PCLto-ISA-Bridge.

Hier die wichtigsten technischen Daten des PCI-Bus in Stichpunkten[1]:

- 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ärtskompatibüität, d.h. es können Steckkarten mit jeweils wahlweise 32- oder 64-Bit-brcitcn 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-Zvklen variabler Länge für Schreib- und Lesezugriffe.
- Kurze Latenzzeit von zwei Takten bei Schreibzugriffen (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 Stcckplätzc durch weitere PCI-Busse zu erhöhen (PCI-to-PCI-Bridgcs).
- 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-/Datenleit ungen, die un­terschiede zu 64 Bit behandele ich separat in Kapitel 3.5. Zwischen 33 und 66 MHz gibt cs keine logischen, sondern nur elektrische Unterschiede, die ich hier nicht betrachte.

Zum besseren Verständnis noch einige Begriffe und Synonyme aus der PCI Spezifikation, die hier auch auftauchen werden: Komponenten, die an den PCI-Bus angcschlosscn sind, werden auch „Agents“ oder „Devices“ genannt. Sic können entweder direkt auf dem Mainboard sitzen (planar- onlv) oder als Steckkarte cingcschobcn 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 „Wcchsclzyklus“ 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 für die Busarbitrierung. In Abbildung 3-2 sind alle Signale[2] die PCI benötigt aufgelistet und nach Funktionen gruppiert. Links stehen die benötigten Signale, rechts die optionalen Signale, wie zum Beispiel 64-Bit-Transfcrs und Interrupts.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3-2: Liste der PCI-Signalc, sortiert nach Signalgruppen.

3.1.1 Signale

Es werden fünf elektrotechnisch verschiedene Signalarten unterschieden: in Input als Standard-Eingangssignal.

Abbildung in dieser Leseprobe nicht enthalten

Es folgt die Beschreibung aller Signale, wenn auch nur in Kurzform[3]. Die Signale zu Address and Data, Interface Control, Arbitration und 6f-Bit. Bus Extension werden in späteren Abschnitten noch näher betrachtet.

Abbildung in dieser Leseprobe nicht enthalten

Address and Data

Abbildung in dieser Leseprobe nicht enthalten

Interface Control

Abbildung in dieser Leseprobe nicht enthalten

Interface Control (optional)

Abbildung in dieser Leseprobe nicht enthalten

[...]


[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.

[3] “entnommen aus [6], überarbeitet und ert.weit.ert. nach (12]

Excerpt out of 21 pages

Details

Title
Der PCI Local Bus
College
Technical University of Darmstadt
Grade
1,7
Author
Year
2005
Pages
21
Catalog Number
V48680
ISBN (eBook)
9783638453134
File size
602 KB
Language
German
Notes
In meiner Ausarbeitung wird zuerst die geschichliche Entwicklung hin zum PCI-Local-Bus beschrieben. Danach wird auf den grundsätzlichen Aufbau, die Möglichkeiten und die Funktionsweise von PCI eingegangen. Nach der Betrachtung von Hardware, Datentransfer, Konfiguration und Übertragungsmodi wird noch ein kurzer Ausblick auf die Weiterentwicklungen PCI-X und PCI Express gegeben.
Keywords
Local
Quote paper
Daniel Jacobi (Author), 2005, Der PCI Local Bus, Munich, GRIN Verlag, https://www.grin.com/document/48680

Comments

  • No comments yet.
Look inside the ebook
Title: Der PCI Local Bus



Upload papers

Your term paper / thesis:

- Publication as eBook and book
- High royalties for the sales
- Completely free - with ISBN
- It only takes five minutes
- Every paper finds readers

Publish now - it's free