Abb. 5.1: Aufbau des klassischen PC-AT
Abb. 5.2: Busslot im PC-AT
Port-Adresse Verwendung 000h-00fh 1. DMA-Chip 8237A 020h-021h 1. PIC 8259A 040h-043h PIT 8253 060h-063h Tastaturcontroller 8042 070h-071h Echtzeituhr 080h-083h DMA-Seitenregister 0a0h-0afh 2. PIC 8259A 0c0h-0cfh 2. DMA-Chip 8237A 0e0h-0efh reserviert 0f0h-0ffh reserviert für Coprozessor 80287 100h-1ffh frei verfügbar 200h-20fh Spieleadapter 210h-217h reserviert 220h-26fh frei verfügbar 278h-27fh 2. Parallelschnittstelle (LPT2) 2b0h-2dfh EGA 2f8h-2ffh COM2 300h-31fh Prototypkarte 320h-32fh frei verfügbar 378h-37fh 1. Parallelschnittstelle (LPT1) 380h-38fh SDLC-Adapter 3a0h-3afh reserviert 3b0h-3bfh Monochromadapter / parallele Schnittstelle (LPT1/2) 3c0h-3cfh EGA 3d0h-3dfh Farb- / Graphikadapter 3e0h-3e7h reserviert 3f0h-3f7h Diskettencontroller 3f8h-3ffh COM1 Tabelle 5.1: Die I/O-Ports im PC-AT
Abb. 5.3: Prinzip des DMA Abb. 5.4: Kaskadierung der DMA-Controller Kanal Verwendung Breite 0 reserviert (Speicherauffrischung) 8 Bits 1 SDLC-Adapter/Bandlaufwerk 8 Bits 2 Diskettencontroller 8 Bits 3 reserviert 8 Bits 4 Kaskadierung DMA1->DMA2 -- 5 reserviert 16 Bits 6 reserviert 16 Bits 7 reserviert 16 Bits Tabelle 5.2: Die DMA-Kanäle im PC-AT
Abb. 5.5: Der PCI-Bus
Abb. 5.6: Die PCI-Slots
Interface Übertragungs- Datenleitungen Takt Reichweite Reichweite rate pro Link Kupfer optisch IEEE 1394 3,2 Gbit/s 4 1,6 GHz 100m 100m (Fire Wire) USB 2.0 0,48 Gbit/s 2 480 MHz 20m - SATA 1,5 Gbit/s 2 1,5 GHz 1m U320 SCSI 2,56 Gbit/s 32 80 MHz DDR 25m - SAS wie SATA 2 diverse 1m - iscsi wie 10Gbit nur optisch - - 10 km Ethernet 10 Gbit 10 Gbit/s nur optisch - - 10 km Ethernet PCI-Express 2,5 Gbit/s 4 1,25 GHz 0,3m - PCI-X 2.0 17,1 Gbit/s 64 133 MHz DDR - Tabelle 5.3: Schnelle Verbindungsverfahren (eine Auswahl) Abb. 5.7: Mainbord mit PCI-Slots und PCIe-Slots
PCI Express ( Peripheral Component Interconnect Express, abgekürzt: PCIe oder PCI-E) ist ein Erweiterungsstandard zur Verbindung von Peripheriegeräten mit dem Chipsatz eines Hauptprozessors. PCIe ist der Nachfolger von PCI, PCI-X und AGP und bietet im Vergleich zu seinen Vorgängern eine höhere Datenübertragungsrate pro Pin. PCIe 1.0/1.1 PCIe 2.0 PCIe 3.0 PCIe 4.0 Taktrate 1,25 GHz 2,5 GHz 4 GHz? Transfers/s je Lane und Richtung 2,5 GT/s 5 GT/s 8 GT/s 16 GT/s Kodierung 8b10b 8b10b 128b130b? Lanes (Breite) x1 250 MB/s 500 MB/s 1 GB/s 2 GB/s x2 500 MB/s 1 GB/s 2 GB/s 4 GB/s x4 1 GB/s 2 GB/s 4 GB/s 8 GB/s x8 2 GB/s 4 GB/s 8 GB/s 16 GB/s x16 4 GB/s 8 GB/s 16 GB/s 32 GB/s x32 8 GB/s 16 GB/s 32 GB/s 64 GB/s Tabelle 8.11: Datenübertragungsraten von PCI Express (Burstrate ohne Protokoll-Overhead) PCIe ist im Vergleich zum parallelen PCI-Bus kein geteiltes (shared) Bus-System, sondern eine separate serielle Punkt-zu-Punkt-Verbindung. Einzelne Komponenten werden über Switches verbunden. Diese ermöglichen es, direkte Verbindungen zwischen einzelnen PCIe-Geräten herzustellen, so dass die Kommunikation einzelner Geräte untereinander die erreichbare Datenrate anderer Geräte nicht beeinflusst. Bei PCIe gibt es kein eigenes Taktsignal, lediglich ein viel niedriger Referenztakt wird separat übertragen. Die Taktrückgewinnung erfolgt aus dem Empfangssignal. Dieses ist hierfür speziell kodiert (bis PCIe nach dem 8b/10b ab PCIe 3.0 eine Scrambling -Kodierung, welche 2 Synchronisations-Bits jeweils 128 Netto-Datenbits voranstellt). Mit jedem Takt werden zwei Bits übertragen (Double Data Rate). Trotz dieses anderen physischen Aufbaus ist PCIe softwareseitig voll kompatibel zu PCI, so dass weder Betriebssysteme und Treiber noch Anwendungsprogramme angepasst werden müssen. PCIe ist vollduplexfähig und arbeitet je nach Version mit 250, 500 oder 984,615 MByte/s pro Lane und Richtung. Version 4.0 soll 2000 MByte/s ermöglichen. PCIe ist wie PCI prinzipiell Hot-Plug-fähig, was das Ein- und Ausbauen von (z. B. defekten) Erweiterungskarten im laufenden Betrieb ermöglicht, sofern die Hardware und auch das Betriebssystem das unterstützen. Die Begriffe Megatransfer (MT, 10 6 Transfers) und Gigatransfer (GT, 10 9 Transfers) werden bei Computerhardware benutzt, um die Geschwindigkeit einer Verbindung anzugeben. Beispielsweise bedeuten 4 GT/s, dass 4 10 9 (vier Milliarden) Transfers pro Sekunde durchgeführt werden können. Die damit erzielte Datenübertragungsrate hängt einerseits von der Datenmenge pro Transfer ab, andererseits auch von der Anzahl der parallel genutzten Leitungen (Lanes). Außerdem muss der Overhead bei der Nutzung einer Kodierung (etwa Fehlerkorrektur) berücksichtigt werden. Ein Beispiel: PCI-Express 2.0 erlaubt pro Lane 5 GT/s und nutzt den 8b10b-Code zur Signalübertragung, der 8 Bit Daten in 10 Bit kodiert. Ein Transfer besteht aus einem einzelnen Bit. Ein Steckplatz für Grafikkarten ist üblicherweise mit 16 Lanes angebunden. Der maximal mögliche Datendurchsatz beträgt dann: