# Industry Standard Architecture

Industry Standard Architecture (in der Praxis fast immer nur als ISA bezeichnet) ist ein Computerbus-Standard für IBM-kompatible PCs, der die XT-Bus-Architektur von 8 auf 16 Bit erweitert.
Das Bus-Protokoll erlaubte sogar schon so genanntes Bus Mastering, obwohl nur die ersten 16 MiB des Hauptspeichers für direkten Zugriff zur Verfügung standen. In Bezug auf die XT-Bus-Architektur wird ISA manchmal auch mit dem Begriff AT-Bus-Architektur belegt.

## Weitere Einzelheiten

Der ISA-Bus wird üblicherweise mit 8,33 MHz betrieben und stellt in seiner Originalversion eine einfache Herausführung des Systembusses dar. Als Steckplatz dient ein zweiteiliger Slot mit Kontakten im Abstand von 2,54 Millimeter, wobei der längere, 62-polige Abschnitt dem XT-Slot entspricht, während der kürzere, 36-polige Abschnitt die zusätzlichen Signale des AT enthält. Dadurch konnten XT-Steckkarten zunächst weiterverwendet werden.
Der ISA-Bus wurde Anfang der 1980er Jahre durch Mark E. Dean und Dennis Moeller bei IBM entwickelt. Für Grafikkarten zu langsam, wurde der ISA-Bus durch verschiedene inkompatible Lösungen (MCA-Bus von IBM, EISA-Bus von Compaq und VESA Local Bus durch die Video Electronics Standards Association) ersetzt (MCA) bzw. ergänzt (EISA und VLB).
Eine gemeinsame Lösung entstand mit dem PCI-Bus in den 1990er Jahren. Dieser ersetzte schrittweise die ISA-Steckplätze auf den PC-Hauptplatinen. Deren Ansteuerung erfolgt dabei bei CPUs mit Cache über Bridges (bei CPUs mit PCI-Bus über eine PCI-ISA-Brücke), da sich Busse mit Cache-Kohärenz-Protokollen grundlegend vom alten PC-Bus unterscheiden. Lange Zeit hatten Hauptplatinen noch einen oder zwei ISA-Steckplätze für alte ISA-Steckkarten, wie z. B. ISDN-Karten, Soundkarten, Messkarten, I/O-Karten oder ähnliche. Mit dem Wegfall der ISA-Steckplätze Anfang der 2000er Jahre sind diese Steckkarten daher nicht mehr in neueren Rechnern einsetzbar. Mit der Einführung des PCI-Busses wurde dessen Plug&Play-Fähigkeit auch auf den ISA-Bus übertragen.
Jedoch ist selbst in den neuesten PCs auf der Hauptplatine noch ISA-Technologie vorhanden, da zum Beispiel Tastatur, Maus, Diskettencontroller und einige grundlegende Systemkomponenten (wie etwa der Interrupt-Controller) aus Kompatibilitätsgründen während des Betriebssystem-Startvorgangs über ISA ansprechbar sein müssen. Hierzu wird meist der neuere Low-Pin-Count-Bus verwendet, der softwareseitig voll kompatibel zu ISA ist, aber hardwareseitig einen ganz anderen, seriellen, Aufbau hat.
ISA-Busse wurden und werden auch in Industrie-PCs oder eingebetteten Systemen eingesetzt. Im Gegensatz zum Privatkundenbereich halten sich hier die „alten“ Systeme wegen der vielfach längeren Produktlebensdauer. Als Beispiel seien die Bussysteme AT-96 und PC/104 genannt, die ISA-Bussignale nutzen. Unterschiedlich sind aber die mechanischen Steckverbinder und die Backplane. Für Industrie-PCs werden auch immer noch (Stand September 2024) Hauptplatinen mit mindestens einem ISA-Steckplatz hergestellt, die zu deutlich höheren Preisen als Endverbraucher-Hauptplatinen angeboten werden, dafür aber mit einer langen Liefergarantie verbunden sind. Auf diesen Platinen werden aktuelle CPUs eingesetzt, was zu der etwas merkwürdigen Kombination eines Prozessors mit mehreren Gigahertz Taktfrequenz und einem Peripheriebus mit einer Taktfrequenz von 8 bis 12 MHz führt.
Da der ISA-BUS für den 80286 Prozessor bzw. IBM AT mit seinem 24 Bit breiten Adressraum ausgelegt wurde, können I/O Adressen von ISA Karten beim ISA-Bus nur in den ersten 16 MiB Adressraum eingeblendet werden. Dies führt bei Rechnern mit 16 MiB oder mehr RAM zu Überschneidungen, so dass dieses RAM, dass im Adressbereich der eingeblendete ISA Karte liegt, nicht verwendet werden kann.
ISA-Steckkarten gibt es in zwei Ausführungen:
* Als Legacy-ISA-Karten werden ISA-Steckkarten bezeichnet, für die die verschiedenen Systemressourcen (IRQ, DMA, IO-Base, Mem-Base) – soweit benötigt – vom Benutzer eingestellt werden müssen. Dies kann auf Hardwareebene geschehen, wobei dann auf der Steckkarte mittels Steckbrücken (Jumper) oder DIP-Schaltern die Werte einzustellen sind. Dies kann auch auf Softwareebene erfolgen, wobei auf der Steckkarte keine Einstellungen vorzunehmen sind und die notwendigen Systemressourcen per Software dem Treiber übergeben werden. Es gibt auch Mischlösungen. Bei Legacy-ISA-Karten muss der Benutzer dafür Sorge tragen, dass Systemressourcen nicht doppelt belegt werden. Lediglich serielle Schnittstellen (RS-232) können sich einen IRQ teilen, wobei dann aber jeweils nur eine dieser Schnittstellen zur gleichen Zeit angesprochen werden darf.
* Als ISA-PnP-Karten werden ISA-Steckkarten bezeichnet, die von einem PnP-fähigen BIOS die notwendigen Systemressourcen zugewiesen bekommen. Betriebssysteme, die das BIOS nur zum Booten benötigen und danach selbst die Hardwareverwaltung übernehmen, können ISA-PnP-Karten auch dann per Software konfigurieren, wenn das BIOS nicht PnP-fähig ist.

## Technische Daten

| Busbreite | 16 Bit |
| einsetzbare Steckkarten | 08 Bit ISA (XT-Bus), 16 Bit ISA |
| Pinanzahl | 98 (62+36) |
| Rastermaß | 2,54 mm (0,1") |
| Betriebsspannungen | +5 V, −5 V, +12 V, −12 V |
| Bustakt | 6 bis 10 MHz $^a$ $^b$ $^c$ |
| theoretischer Datendurchsatz | 16 Bit: 5,33 MByte/s bei 8 MHz (AT, 1 W/S) 08 Bit: 1,33 MByte/s bei 8 MHz (AT, 4 W/S) 08 Bit: 0,96 MByte/s bei 4,77 MHz (XT, 1 W/S) |
| Maximaler Adressraum | 24 Bit, daher sind nur Adressen in den ersten 2$^{24}$−1 = 16 MiB adressierbar. |