So funktionieren die neuen IBM-Computer:

Die Mikrokanal-Architektur des Personal System/2

15.04.1988

Anders als beim PC-XT oder PC-AT, die als PC-DOS-Systeme für eine Anwendung ausgelegt waren, handelt es sich beim Personal System/2 um Arbeitsplatzrechner mit denen es möglich ist, mehrere Anwendungen oder mehrere "Threads" gleichzeitig auszuführen. Um dabei einen vom Benutzer akzeptierten Durchsatz zu erreichen, muß das Gesamtsystem, also Hardware und Betriebssystem, aufeinander abgestimmt sein. Eine wichtige Rolle spielt dabei der Mikrokanal, den es bis heute nur in den Modellen 50, 60 und 80 des IBM Personal System/2 gibt. Sobald eine entsprechende Anzahl von Anwendungen unter dem Betriebssystem/2 laufen, wird der Mikrokanal seine Leistungsfähigkeit ausspielen können. Der folgende Artikel geht auf die Unterschiede zwischen AT-Bus und Mikrokanal ein. Vorgestellt werden auch die neuen Funktionen, die die Mikrokanalarchitektur in den Bereichen Geschwindigkeit und Betriebssicherheit nach IBM-Ansicht bietet.

Der erste PC, den die IBM 1981 auf den Markt brachte, war mit einem 8088 Prozessor und 16 KByte Hauptspeicher ausgerüstet und hatte als "Massenspeicher" einen Anschluß für ein externes Kassettenlaufwerk. Als Option gab es zunächst ein 160-KByte-Diskettenlaufwerk, das schnell durch ein doppelseitiges Laufwerk mit zunächst 320 KByte und dann 360 KByte Speicherkapazität ersetzt wurde.

Aus diesem "Großvater" der Industriestandard-PCs entstand im Laufe der Jahre der PC-AT mit einem 80286-Prozessor, 640 KByte Hauptspeicher, einem oder zwei Diskettenlaufwerken mit 1,2 MByte/360 KByte Speicherkapazität und einem oder zwei Festplattenlaufwerken mit 30 MByte Speicherkapazität. Daneben wurden auch die Zusätze, wie Grafikadapter, Monitore und Speichererweiterungen, immer weiter entwickelt.

Komplex Anwendungen einfacher zu handhaben

Ähnlich wie in diesen wenigen Jahren wird die Entwicklung in den nächsten Jahren voranschreiten, wobei sich die einzelnen Schritte

eher schneller als langsamer vollziehen werden. Dabei ist klar erkennbar, daß die Technik, wie sie beim PC und auch noch beim PC-AT verwendet wurde, langsam ihre Grenzen erreicht. Sicher läßt sich im Einzelfall auch noch die eine oder andere Verbesserung einbauen, aber über kurz oder lang sind die zu überwindenden technischen Schwierigkeiten nur noch mit unvertretbarem Aufwand und Kosten zu bewältigen. So sind zum Beispiel heute schon Erhöhungen der Taktraten teilweise nur dadurch zu erreichen, daß bestimmte Bereiche im PC zusätzlich abgeschirmt werden. Sonst könnten die FTZ-Bestimmungen nicht mehr eingehalten werden. Aber auch die Betriebssicherheit ist nicht mehr gewährleistet, da Störungen von außen bei höheren Geschwindigkeiten schwieriger zu handhaben sind.

Dazu kommt, daß sich die Anforderungen an Arbeitsplatzrechner in den letzten Jahren stark geändert haben. Mit dem IBM Betriebssystem/2 wurde aus dem "Single Tasking System" ein "Multitasking System" das wesentlich komplexere Anwendungen zuläßt. Wir bewegen uns heute in Leistungsbereichen, die noch vor ein paar Jahren nur Großrechnern vorbehalten waren. Gleichzeitig muß aber erreicht werden, daß diese komplexen Anwendungen für den Benutzer einfacher zu handhaben sind.

Diese und weitere Gründe führten dazu, daß man sich bei IBM dazu entschloß, mit der Personal-System/2-Familie neue Wege zu beschreiten. Neben dem Übergang von 5? Zoll auf 3? Zoll bei den Diskettenlaufwerken, der Integration von Standardfunktionen auf die Hauptplatine und einem neuen Standard für die Bildschirme war wohl die wichtigste Veränderung die Einführung der Mikrokanalarchitektur.

Der Mikrokanal arbeitet technisch zuverlässiger als der AT-BUS. Außerdem enthält die Mikrokanalarchitektur neue Funktionen, erlaubt den Einbau von zusätzlichen Prozessoren, sogenannten "Masters" und bietet Potential für zukünftige Leistungssteigerungen.

Beim IBM Mikrokanal handelt es sich zunächst einmal um die Zusammenfassung von Daten-, Adreß- und Kontroll-Leitungen, sowie einige zusätzliche Signale, die es beim AT-BUS nicht gibt. Er arbeitet asynchron, das heißt unabhängig vom Prozessor auf der Hauptplatine. Dadurch ist die Übertragungsrate nicht mehr von der Prozessorgeschwindigkeit abhängig, sondern wird von den am Übertragungsprozeß beteiligten, Komponenten bestimmt. Außerdem ist es möglich, mit Adapterkarten zusätzliche Prozessoren zu installieren sogenannte "Masters", die die gesamte Kontrolle über den Mikrokanal übernehmen können und so in die Lage versetzt werden, unabhängig vom Prozessor auf der Systemplatine Spezialaufgaben zu übernehmen.

System wächst mit den Anforderungen

Dies darf jedoch nicht mit der Funktion des Koprozessors verwechselt werden. Der Koprozessor ersetzt den Hauptprozessor logisch bei bestimmten mathematischen Aufgaben. Ein "Master" arbeitet dagegen parallel und unabhängig vom Hauptprozessor. Ein paar Beispiele für denkbare Master-Prozessoren sind: Datenverschlüsselung beim Speichern von Daten auf Festplatte und Entschlüsselung beim Lesen, Kontrolle über einen Token-Ring, Parallelprozessoren für Multiprozessorsysteme, Spezialprozessoren mit RISC- oder /370-Architektur, leistungsfähige Grafikprozessoren für CAD/CAM-Anwendung. Man könnte sich sogar vorstellen, daß man Prozessoren, die erst in Zukunft auf den Markt kommen und die heutigen Prozessoren 80386 ablösen werden, auf einer Adapterkarte in ein IBM Personal System/2 installiert. Diese können die gesamte Kontrolle über die vorhandene Hardware wie Hauptspeicher, Festplatten und Schnittstellen übernehmen, und der Benutzer erhält damit ein ganz neues System, das auf diese Weise mit seinen Anforderungen wächst.

Durch das veränderte Layout der Signalleitungen, Trennung der Analogmasse vom Masseanschluß der digitalen Signale, eigene "Layer" für Masse und Versorgungsspannungen, Abschirmung mindestens jedes vierten Steckeranschlusses mit Masse, schmalere Kontakte an den Erweiterungssteckern etc. ist im Gegensatz zum AT-BUS noch großes Potential für die Erhöhung der Datenübertragungsraten vorhanden, ohne daß befürchtet werden muß, die FTZ-Vorschriften nicht mehr einzuhalten. Darüber hinaus bietet dies aber auch Sicherheit gegen elektromagnetische Störungen von außen.

Wer kennt nicht die Situation, wo nach fast vollendeter Arbeit nur noch kurz ein Text gesichert oder ausgedruckt werden sollte und plötzlich der Cursor verschwunden und die Tastatur blockiert war. Ursache dafür sind meist solche elektromagnetischen Störungen, die vom Rechner fälschlicherweise als Interrupts interpretiert werden. Aber auch der Verlust eines, beim gleichzeitigen Auftreten von zwei Interrupts, kann zu dem beschriebenen Fehlverhalten führen. Durch eine Designänderung in der Interruptverarbeitung ist es den PS/2-Maschinen möglich "falsche" oder mehrfache Interrupts zu erkennen und richtig zu verarbeiten.

Interrupt-Controller hilft beim Multitasking

Dies wurde erreicht indem man von den "edge-triggered" Interrupt der AT weg- und mittels eines eigenen Interrupt-Controllers zu "level-triggered" Interrupts übergegangen ist. In der Praxis bedeutet das, daß ein Interrupt jetzt nicht mehr nur während einer sehr kurzen Zeitspanne (im Bereich von Nanosekunden) erkannt werden kann, sondern daß das Signal so lange aktiv bleibt, bis der Interrupt abgearbeitet wurde. Dadurch wird es aber gleichzeitig möglich, einen Interrupt-Level mit anderen Adaptern zu teilen oder Signale, die früher fälschlicherweise als Interrupts interpretiert wurden, zu erkennen und bei der Verarbeitung zu ignorieren. Dies gewinnt unter dem IBM Betriebssystem/2 mit seiner Möglichkeit mehrere Tasks zu verarbeiten an zusätzlicher Bedeutung. Denn hier werden Interrupts viel häufiger auftreten als unter PC-DOS.

Die fehlende Möglichkeit des "Interrupt Level Sharing" konnte beim AT-BUS in Einzelfallen dazu führen, daß bestimmte Funktionen trotz freier Steckplätze nicht genutzt werden konnten. Als Beispiel sei hier die gleichzeitige Verwendung einer SDLC-Adapterkarte und einer Btx-Adapterkarte genannt. Diese konnten in den XT- und AT-Maschinen nicht gleichzeitig installiert werden.

Die in den AT-Maschinen vorhandenen DMA-Controller werden in der Regel nicht verwendet, da sie zu langsam sind. Das bedeutet wiederum, daß die CPU die Daten von den E/A-Einheiten zum Speicher übertragen muß. Bei dem Personal-System/2 übernimmt ein IBM-eigener DMA-Controller (VLSI-Schaltkreis) den Datentransfer und entlastet dadurch die CPU, zum Beispiel bei der Datenübertragung von der Festplatte in den Speicher erheblich.

Für den Durchsatz spielt - neben der internen Struktur und der Taktfrequenz des Prozessors - die Datenübertragung eine wichtige Rolle. Sie wird von verschiedenen Faktoren bestimmt. Bei der "synchronen" Kontrolle durch den Prozessor, wie in den ATs, ist die Übertragungsrate um so höher je höher die Taktfrequenz des Prozessors ist. In fast allen Fällen ist der Takt für den BUS die Hälfte, ein Drittel oder ein Viertel des Prozessortakts. Bei "asynchroner" Kontrolle bestimmt ebenfalls die Taktfrequenz die Daten-Übertragungsrate. Jedoch kann es hier ein beliebiger Controller mit einer vollkommen anderen Taktfrequenz, als der des zentralen Prozessors, sein. So werden zum Beispiel die DMA-Controller in heute verfügbaren PS/2-Rechnern mit bis zu 10 Megahertz Taktfrequenz betrieben. Das entspricht mehr als der doppelten Taktfrequenz, die üblicherweise bei AT-Maschinen verwendet wird. Darüber hinaus bedeutet die Erweiterung des E/A-Datenpfads von 8 Bit auf 16 Bit, wie bei den Mikrokanal-Maschinen der Personal-System/2-Familie, eine Verdoppelung der Datenrate. Weiterhin bestimmt die Anzahl der "Clock-Cycles" die Datenübertragungsrate: Je mehr Cycles pro Datenbyte benötigt werden, um so langsamer werden Daten übertragen. Der DMA-Controller macht sich auch hier positiv bemerkbar, da dadurch in der Regel bei der E/A-Datenübertragung ein Cycle eingespart wird.

Wartezyklen werden kürzer

Mit den "Matched Memory Cyles" im Modell 80 wurde ein weiterer neuer Weg beschritten. Beim AT-BUS bestimmt der langsamste beteiligte Baustein die Anzahl der Wartezyklen des Prozessors. Jeder Zugriff zum Hauptspeicher bedingt eine, abhängig von der Geschwindigkeit der Speicherbausteine, festgelegte Anzahl von Wartezyklen. Diese ist immer gleich. Auch dann, wenn man nachträglich schnellere Schaltkreise einbauen würde. Anders bei Erweiterungen, die "Matched Memory" unterstützen. Hier geht die Hardware zunächst von schnellen Schaltkreisen aus und fügt, falls die Bausteine in der Geschwindigkeit nicht mithalten können dynamisch Wartezyklen ein. Die Anforderung dieser Wartezyklen geschieht vom angesprochenen "Channel Slave" über das Signal "-MMCR".

Watchdog-Timer als "Toter-Mann-Schaltung"

In einem solch komplexen System ist eine Fehlererkennung von großer Wichtigkeit. Auch dafür wurden zusätzliche Schaltkreise eingebaut. So gibt es beispielsweise einen sogenannten "Watchdog-Timer" der einen NMI-Interrupt erzeugt, wenn seine Zeit abgelaufen ist. Dieser Watchdog-Timer kann wie eine "Toter-Mann-Schaltung" für das Betriebssystem genutzt werden, um zum Beispiel eine in einer Schleife ("Loop") befindliche Task gezielt zu unterbrechen und so das Betriebssystem bei Fehlverhalten betriebsbereit zu erhalten. Für Fehler, die aus der Hardware von Erweiterungskarten kommen, wurden "Channel Check"-Schaltkreise und Register eingebaut. Deren Informationen können von der Software ausgewertet werden und entsprechende Korrekturmaßnahmen eingeleitet werden. Dies sind nur zwei Beispiele für die vielfältigen Hard- und Softerror-Identifikationen.

Ein anderes Beispiel ist die automatische Rekonfigurationsmöglichkeit von 64-K-Blöcken des Hauptspeichers. Wird bei POST (Power On System Test) festgestellt, daß ein Speicherbereich defekt ist, so wird der betreffende 64-K-Block ans logische Ende des Hauptspeichers gesetzt, der Rest bleibt betriebsbereit, und der Fehler kann zu einem späteren Zeitpunkt repariert werden. Beim AT muß ein solcher Fehler sofort behoben werden oder der gesamte Speicher oberhalb des fehlerhaften Bereichs läßt sich nicht verwenden.

Diagnostics erkennen und beheben Fehler

Zusätzlich stehen auf den IBM-Personal-System/2-Diagnosedisketten Diagnostics zur Verfügung. Sie können dazu genutzt werden, um intermittierende Fehler, über die in der Log-Dateien Informationen vorhanden sind, zu erkennen und zu beheben.

Aber es wurden nicht nur Vorkehrungen getroffen, um aufgetretene Fehler zu behandeln, sondern auch solche, die diese verhüten. Einen wichtigen Beitrag dazu leistet das Layout der Hauptplatine mit nur noch ganz wenigen Kabelverbindungen, die Verwendung von SMD-Schaltkreisen und die IBM-eigenen VLSI-Schaltkreise. Durch letztere konnten wichtige Funktionen, für die vorher viele Bauelemente nötig waren, in ein Bauteil integriert werden. Zusätzlich hilft künstliche Alterung durch "Burn In" Frühausfälle zu vermeiden.

Automatische Konfiguration beim Einschalten

Die Mikrokanalarchitektur bietet dem Benutzer auch Vorteile bei der Handhabung. Systemerweiterungen müssen dem Gesamtsystem "beschrieben" werden. In den Maschinen mit herkömmlicher Technik geschieht dies durch DIP-Schalter, wegen ihrer Größe auch "Mäuseklaviere" genannt. Bei den IBM Personal System/2 läuft diese "Beschreibung" automatisch ab. Das System erkennt beim Einschalten (POST = Power On Self Test) eine Veränderung der Konfiguration, indem es die Informationen im nichtflüchtigen DRAM auf der Hauptplatine mit den Identifikationen der Adapterkarten vergleicht. Diese ID besteht aus vier "Hex-Werten" und kann in bestimmten Bereichen vom Hersteller frei gewählt werden. Der Benutzer wird aufgefordert, die dazugehörende Setup-Diskette ins Laufwerk A zu geben. Von dort lesen die POS-Routinen (POS = Programmed Option Select) die Informationen zu einer installierten Erweiterung aus einer Datei, die im Namen die ID hat (@