Zum Inhalt springen

Computerhardware: Hauptplatine: Bus: PCI

Aus Wikibooks

Der PCI-Bus (Peripheral Component Interconnect)

PCI wurde 1992 von Intel speziell für den Pentium entwickelt. Der PCI-Bus ist Industriestandard und auch in Apple Macintosh-PCs und Alpha-Workstations von Digital im Einsatz. Der PCI Bus ist bis ins Detail normiert und leicht nachzubauen.

Im Gegensatz zu früher entwickelten Bus-Systemen ist der PCI-Bus anpassungsfähig bei steigenden Anforderungen. Die aktuelle PCI Version ist 2.2, speziell für Server wurde PCI-X entwickelt.

Beginnend 2005 wird zunehmend eine nicht kompatible Weiterentwicklung, der PCI-Express-Bus verwendet.

Technische Daten:    PCI Version  1.0      2.1 und 2.2       PCI-X
 Busbreite:              32 Bit            64 Bit          64 Bit
 Bustakt:                33 MHz            66 MHz         133 MHz
 Max. Übertragungsrate: 133 MByte/s       533 MByte/s    1067 MByte/s
 Anzahl Slots:            3 bis 4           8

Anmerkung: PCI 2.1 und 2.2 wird meist als 32 Bit Slot realisiert

Erweiterungskarten-Konfiguration

1993 wurde die Spezifikation für PnP festgelegt. PCI unterstützt mit einem leistungsfähigen PC-BIOS die automatische Konfiguration der Grundplatine und entsprechender Steckkarten (Plug and Play). Jede Erweiterungskarte wird automatisch erkannt, nach ihren Ressourcenwünschen abgefragt und konfiguriert. Konflikte der Erweiterungskarten in Bezug auf Port-Adresse, Interrupt oder DMA-Kanal gehören - zumindest theoretisch - der Vergangenheit an.

  • Interrupt-Sharing: Wenn die Interrupts knapp sind, dürfen sich nötigenfalls mehrere PCI-Komponenten einen Interrupt teilen. Allerdings kommt es vor, dass wegen unsauber programmierter Treiber die Ressourcenteilung nicht funktioniert.
  • Bus-Master-Betrieb: Da der Prozessor über einen Controller (Chipsatz) vom Bus entkoppelt ist, kann der PCI Bus teils unabhängig von der CPU arbeiten. So kann beispielsweise die Festplatte Daten zum Brenner schicken, während unabhängig davon die CPU Berechnungen ausführt. Die PCI-Karte, die Daten sendet, ist der Master, und die Karte, welche die Daten empfängt, ist der Slave.
  • Multiplex-Prinzip: Theoretisch hat der PCI-Bus 64 Leitungen: Je 32 für die Daten- und Adressleitungen. Durch einen Multiplex-Betrieb können 32 Leitungen eingespart werden, da mit einem Takt zuerst die Adresse und in einem zweiten Takt das Datenwort gesendet wird. Auf Server-Platinen gibt es oft einen oder zwei 64-Bit-Steckplätze. Hier brauchen Adress- und Datenleitungen nicht nacheinander angesteuert werden.
  • Message-Prinzip: Für den Datenaustausch zwischen den PCI-Komponenten werden Steuerbefehle (Messages) verwendet. Laut Spezifikation gibt es 256 Steuerbefehle, die wichtigsten Befehle sind die für den Zugriff auf Erweiterungskarten-Register und den Hauptspeicher.
  • Burst-Modus: In diesem Modus bekommt der Bus-Controller nur die Startadresse und die Bytezahl von der CPU übermittelt und überträgt dann einen beliebig großen Speicherblock ohne weitere Beteiligung der CPU. Ein Latenz-Timer unterbricht nötigenfalls einen langen Burst, wenn eine andere Komponente den PCI-Bus benötigt.
  • Elektrische Entkopplung: Zwischen CPU und den Erweiterungssteckplätzen befinden sich Puffer-Schaltkreise, die stabile elektrische Signale garantieren.