Die Designmängel im IBM PC

Loading

In einer Fernsehsendung über Computergeschichte kam mal ein Interview mit Andy Herzfeld, der am Design des Macintosh beteiligt war. Er berichtete davon, dass die Mannschaft bei Apple loszogen sich einen IBM PC kauften, auseinandernahmen und sich darüber amüsierten was sie da sahen. Sie meinten der IBM PC müsste weiter sein. Nun ja, mir fällt dazu ein, das Apple damals gerade den Apple III herausbrachte der auch kein Ruhmesblatt für die Entwickler war.

Aber Zeit mal, obwohl es sicher schon in einem meiner Artikel über alte Computer zu finden ist, mal sich der Sache annehmen und zu analysieren. Ich mache das mal aus zwei Blickwinkeln. Der eine ist die rein technische Sicht und die andere ist die, die wohl damals für IBM wichtig war.

Fangen wir mal mit einer grundlegenden Beschreibung des Basisgeräts an wie es am 12. August 1981 vorgestellt wurde und in der Form nur in den USA verkauft wurde. Über den Teich, also nach Europa schaffte es der IBM PC erst zwei Jahre später, da hatte sich schon einiges geändert und es gab auch die fehlerbereinigte und stark erweiterte Version 2 von PC-DOS.

Der IBM PC bestand aus einem Gehäuse mit Einschüben für zwei Floppy Disklaufwerke in normaler Höhe, ein Netzteil war eingebaut, es war stark genug um die Hauptplatine und die Floppys und auch Adapterkarten mit Strom zu versorgen, aber – das sollte sich noch als Nachteil erweisen – es liefere nicht genug Strom für eine Festplatte.

Im Gehäuse befand sich die Basisplatine, das Motherboard mit 32 Sockel für Speicherbausteine und fünf Slots. An serienmäßigen Anschlüssen gab es einen Anschluss für einen Kasettenrekorder und an einem Fernseher, sowie für die Tastatur.

Der Prozessor war ein Intel 8088 mit 4,77 MHz. Auf der Basisplatine gab es vier RAM Bänke. Eine war fest verlötet und anfangs mit 16 Kbit Chips bestückt, später mit 64 Kbit Chips. Die Software bestand aus einem BIOS und einem BASIC im ROM. Da es nur den Kasettenrekorder unterstützte wurde es später „Kasettenbasic“ genannt.

Dazu gab es eine Tastatur, die separat angeschlossen wurde.

Das war die Basiseinheit. Man konnte sie natürlich erweitern. Beim Start gab es folgende Erweiterungen und Software:

Komponente Preis (in US-$)
Zentraleinheit 16 K Speicher, Keyboard: 1.265
Aufrüstung 16 KByte onboard (maximal 3): 90
32 KByte Erweiterungskarte: 325
64 KByte Erweiterungskarte: 540
Monochrommonitor 11,5 Zoll Typ: 5153: 345
MDA-Karte mit Druckerport: 335
CGA-Karte: 300
Diskettenlaufwerk: 570
Diskettenkontroller: 220
V 24 Schnittstelle: 145
Gameportkarte: 55
Tastatur: 265
Software
PC DOS: 40 (später 149)
CP-86: 249 (später 149)
Easywriter: 175
Hauptbuchhaltung, Außenstände,Verbindlichkeiten: Je 595, ergeben zusammen eine Finanzbuchhaltung
Disketten-BASIC: 40
Pascal Compiler: 300
Visicalc: 200
Adventure: 30

Kritik Systemaufbau

Man sieht zweierlei: Zum einen war die Softwareauswahl zum Anfang überschaubar und man benötigte zusätzlich zum Basisgerät noch vieles erwerben, um arbeiten zu können. Das war damals nicht ungewöhnlich, aber beim IBM PC war es doch relativ viel. Der IBM PC zielte schon vom Preis her auf Nutzer, die ihn geschäftlich nutzten. Diese schlossen ihn nicht an einen Fernseher, sondern einen Monitor an. Damit dies ging, benötigten die sie MDA Karte, die nur Text ausgeben konnte. Alternativ gab es die CGA-Karte die Farbgrafik konnte, aber auch einen sehr teuren Farbgrafikmonitor benötigte und deren Textdarstellung schlecht war. Gängig war wie MDA-Karte schon alleine deswegen, weil sie eine Druckerschnittstelle hatte, die ja auf dem Mainboard fehlte.

Wenn man Diskettenlaufwerke einbauen wollte – ebenfalls für den geschäftlichen Einsatz notwendig, braucht man einen Diskettenkontroller. Und mit 16 KByte Speicher kam man nicht weiter. Man musste die drei anderen Bänke bestücken. Mehr Speicher erfordert dann eine weitere Karte.

Damals gab es zwei Arten von bezahlbaren Computern: Rechnern die einen einbauten BASIC Interpreter hatten und an den Fernseher angeschlossen wurden, die sogenannten Homecomputer. Dann Rechner für geschäftliche Anwendungen die kamen mit einem Monitor und das Betriebssystem wurde von einem Diskettenlaufwerk gestartet, das also immer Bestandteil des Rechners war, während es bei den Heimcomputern oft optional ist, primärer Massenspeicher war dort ein Kassettenrekorder.

Der IBM PC wandte sich an Kunden die einen geschäftliche nutzbaren Rechner suchten. Privatpersonen hatten nichts mit IBM zu tun. Das Problem war, dass der Rechner in der Basisausführung aber ein Heimcomputer war. Trotzdem kostete er 1.600 Dollar. Für den geschäftlichen Einsatz musste man ihn aufrüsten: mit MDA-Karte, Diskkontroller, Speicherchips, zwei Diskettenlaufwerken, das hob den Preis dann auf 3000 Dollar an. Selbst Tastatur und Betriebssystem wurden separat verkauft. Man hätte durchaus einiges davon auf dem Mainboard integrieren können, ebenso wie beim Verkaufsstart schon 64 Kbit Chips seit einem Jahr auf dem Markt waren und der Rechner noch mit 16 KByte RAM ausgeliefert wurde.

Der 8 Bit Bus bremste zudem den Datenaustausch. So wurde der Bus denn auch beim Nachfolgemodell IBM PC AT deutlich renoviert. Insgesamt war der Rechner recht karg ausgestattet. DMA für schnellere Datentransfers fehlte, immerhin ein Zähler (8288) und Interruptcontroller (8259) gab es. Aber eine Uhr fehlte, obwohl MS-DOS schon das Datum mit abspeicherte – man musste das Datum bei jedem Start eintippen.

Kritik Prozessor

Die meiste Kritik – schon damals – gab es an der Prozessorwahl. Die Computerindustrie war damals noch jung. Aber es waren schon die Prozessoren 8080, 6800, 6502 und Z80 erschienen und alle diese Prozessoren wurden innerhalb eines Jahres nach erscheinen in Computern verbaut. Der Intel 8086 Prozessor war dagegen schon abgehangen, er erschien zwei Jahre vor dem IBM PC.

Heute ist die 8086-Linie als einzige Prozessorlinie von damals übrig geblieben. Das war damals aber nicht mal von Intel so gewollt. Der 8086 war als Lückenbüßer gedacht. Intel wollte die 16 Bit Generation komplett überspringen und gleich zu einem leistungsfähigen 32 Bit Prozessor übergehen, doch dessen Komplexität machte Jahre der Entwicklung nötig. Der 8086 sollte die Kunden bei Stange halten. Es war ein auf 16 Bit gehievtes 8080 Design. Dessen Hauptnachteil war das der Speicher segmentiert war, maximal 64 KByte konnte man in einem Stück adressieren. Für größere Datenstrukturen musste man eine eigene Speicherverwaltung schreiben, ein Nachteil mit dem ich noch ein Jahrzehnt später unter DOS beim Programmieren mich herumärgern musste.

Das der Prozessor schon lange auf dem Markt war, zeigte sich auch daran, dass die Entwicklung des Betriebssystems das mal PC-DOS heißen sollte bei SCP schon vorher begonnen hatte, weil deren 8086-Computer ohne Betriebssystem praktisch unverkäuflich waren.

Es gibt eigentlich eine zweigeteilte Kritik. Zum einen an der Wahl des 8086/88 Prozessors und dann noch an der genauen Wahl. Damals gab es ja noch einige weitere 16-Bit-Prozessoren, an die sich heute keiner mehr erinnert und die einfach im Wettbewerb untergingen wie Z8000, NS16xxx. Die meisten davon waren leistungsfähiger als der Intel 8086, der wohl beste 16 Bit Mikroprozessor der damaligen Zeit war der Motorola MC68000. Er war nicht nur deutlich schneller, er war auch unkomplizierter zu programmieren und wäre die viel bessere Wahl gewesen.

Offiziell wurde der MC68000 verworfen, weil er ein Jahr jünger war und Motorola einige Startprobleme hatte, aber das ist nichts Ungewöhnliches. Der 68000 steckte denn auch in den ersten Workstations von Sun und SGI, die größeren IBM-Rechnern Konkurrenz machten und dies dürfte der Grund gewesen sein, dass er nicht gewählt wurde. Er hätte den Rechner rund dreimal schneller gemacht als der gewählte 8088 mit 4,77 MHz.

Der zweite Grund war das IBM ja nicht den 8086 wählte, den es damals schon mit 8 MHz Taktrate gab. Intel wählte den 8088 mit 4,77 MHz Takt. Der Intel 8088 hatte nur einen Datenbus mit 8 anstatt 16 Bit Breite. Das verdoppelte bei allen Zugriffen auf den Speicher die Zugriffszeit und machte den Prozessor um 40 % langsamer. Und IBM nahm nicht die 8 MHz Version, sondern die 5 MHz Version die nur mit 4,77 MHz getaktet wurde.

Diese Entscheidung für den krummen Takt ist relativ gut begründet. IBM hat um Entwicklungszeit und –kosten zu sparen auf einer schon begonnenen Entwicklung aufgebaut, dem IBM Datamaster (5322) der einen 8085 Prozessor einsetzte. Dessen Bus wurde im IBM PC übernommen. Der 8085 ist aber ein 8-Bit-Prozessor, daher hatte der Bus drr später ISA (Industraial Standard Architecture) nur 8 Datenleistungen, was zur Wahl des 8088 führte. Dass es nur 4,77 MHz waren, lag an zwei Dingen: Mit der 5 MHz Version konnte IBM preiswerte 8 Bit-Peripheriebausteine einsetzen, anstatt der 8086-er Serie. Daneben spart dies Kosten bei den RAM Bausteinen, die auch langsamer sein konnten. Die Wahl von 4,77 anstatt 5 MHz erfolgte um 50 Cent für einen Quarzkristall einzusparen, denn so konnte man die Taktfrequenz aus der dreimal höheren Frequenz für die Fernsehnorm NTSC – primär sollte er ja an einen Fernseher angeschlossen werden – ableiten. In der Praxis hatte diese Wahl den Rechner um den Faktor 2,5 gegenüber einem 8 MHz 8086 verlangsamt.

Betriebssystem

Das Betriebssystem PC-DOS stammte nicht von IBM. Wie IBM zu ihm kam, ist eine Geschichte für sich. In Kurzfassung: Das System wurde von Tom Patterson bei der Firma SCP programmiert. Bill Gates versprach IBM ein Betriebssystem zu liefern, nachdem Verhandlungen mit Gary Kildall und Digital Research scheiterten. Sie kauften erst dann das Betriebssystem QDOS ein. Das QD stand für „Quick and Dirty“ weil er es schnell kopiert hatte wobei das Vorbild CP/M-80 war.

Entsprechend gab es viele Fehler im Betriebssystem. IBM bekam anfangs Tausende von Beschwerden und kümmerte sich erst nun darum das Betriebssystem zu verbessern und woher es überhaupt kam. Der augenfälligste Fehler: Von den beiden Seiten einer Diskette wurde nur eine beschrieben, was die Kapazität von 320 auf 160 KByte halbierte. Das Betriebssystem unterstützte auch nicht mehr als 64 KByte Speicher pro Segment, das heißt mit den damals verwendeten, drei Segmenten für Daten, Code und Stack machte mehr als 192 KByte Speicher keinen Sinn.

Einen richtigen Vorteil gegenüber dem etablierten CP/M bot MS-DOS erst ab Version 2. Die erste Version war eine einfache Kopie von CP/M-80. Version 2 bot das neue .exe Format für ausführbare Dateien die nun auch größer als 64 KByte, Unterverzeichnisse und Unterstützung für Festplatten. Das war aber erst zwei Jahre später der Fall. Dann erschien auch die zweite Generation von Programmen, die nativ die Vorteile des 8086 ausnutzen wie Lotus 1-2-3. Die erste Generation wie Wordstar oder Visicalc nutzte ein Feature des 8086: Als Nachfolger des 8080 war der Befehlssatz des 8080 als Untermenge enthalten. Ein Programm konnte so einen 8080 Quelltext in einen 8086 Quelltext übersetzen. So gab es recht bald, auch weil MS-DOS eine CP/M Kopie war – einfach übersetzte CP/M Programme, die aber die neuen Befehle des 8086 nicht nutzten und so unnötig langsam waren. Das galt sogar für Programmiersprachen. Die Zeitschrift Byte testete den BASIC Interpreter und stellte fest, das dieser in der Geschwindigkeit zwischen dem eines Apple II und eines Z80A mit 4 MHz lag.

Was gut war

Ich möchte ja nicht nur meckern. Es gab durchaus Dinge, die gut waren. Es waren die Dinge, bei denen IBM auf seine Erfahrungen mit größeren Rechnern aufbauen konnte. Die Tastatur wurde gelobt. Sie hatte einen harten, lauten Anschlag. Heute verpönt, damals ein Qualitätsmerkmal. Vor allem war sie flach und abnehmbar, was damals ungewöhnlich war da viele Tastaturen ins Gehäuse integriert waren.

Der Grünmonitor zeigte nur Text, den aber fein gerastert mit 9 x 14 Punkten pro Zeichen. Durch einen Attributsspeicher gingen auch Hervorhebungen wie Unterstreichen, Invertiert oder blinkend.

Fazit

Der IBM PC war eine Mogelpackung. Er versprach modernere Technik, bot diese aber nicht. Das Betriebssystem war nicht besser als CP/M. Der Prozessor auch nicht viel schneller als ein schneller Z80. Vor allem, wenn wie am Anfang nur CP/M Programme schnell angepasst wurden, ohne die Vorteile des neuen Prozessors auszunutzen. Auch bei Grafik oder Speicherplatz auf Disketten gab es Systeme, die besser waren. Heute weitestgehend vergessen: es gab ja zu der Zeit auch andere PC mit demselben Prozessor, aber besseren technischen Werten wie dem Victor Sirius.

Einige Entscheidungen wie der für das Bussystem waren schlicht und einfach dem Zeitmangel geschuldet, der PC sollte in wenigen Monaten entwickelt werden, so hat man übernommen was es schon gab.

Ich habe mal den Apple II mit dem IBM PC verglichen. Das Ergebnis: eine Konfiguration mit ähnliche Leistung gab es bei Apple für 70 % des Preises und Apple war schon damals nicht als Billigmarke bekannt. Für den praktischen Einsatz viel wichtiger: Der Apple II war drei Jahre auf dem Markt und es gab schon jede Menge Software für ihn.

Was den IBM PC zu einem Erfolg machte – die Prognose über die Verkaufszahlen des Life-Cycle von 5 Jahren wurden schon im ersten Jahr erreicht – war der Ruf der Firma. Es gab „nutzbare“ PC also Systeme die man nicht selbst zusammenbauen musste seit etwa zwei Jahren. Aber wer nicht vorher mit Computern zu tun hatte, wusste nicht so viel damit anzufangen. War das etwas für Freaks die gerne programmierten? Oder ein teures Spielzeug? IBM kannte jeder. Selbst wenn man als Freiberufler oder Handwerker nicht mit einem Rechner von IBM zu tun hatte, so kannte man andere Geräte von IBM für das Büro wie Schreibmaschinen. Wenn IBM nun einen PC herausbringt, dann scheinen diese Geräte im geschäftlichen Umfeld wirklich nützlich zu sein. Letztendlich nutzte dies auch den anderen Herstellern, denn nicht jeder der so auf Mikrocomputer aufmerksam wurde griff zu einem IBM PC.

10 thoughts on “Die Designmängel im IBM PC

  1. Was es beim IBM PC/XT/AT gab, waren meterweise Dokumentationen, vom Schaltplan bis hin zur BIOS Beschreibung.

    Der Prozessor hingegen, und auch das Betriebssystem waren in meinen Augen schlecht. Die unsägliche Speichersegmentierung hat Bernd ja schon geschrieben, und dass das DOS alle Funktionsaufrufe über Interrupts steuert ist auch, sagen wir mal, eigenwillig. (Dass es dann Atari beim 68000 übernommen hat ist ja wieder ein weiteres Kapitel im Buch „schlechte Computerdesigns“)

  2. Einige der schlechten Designentscheidungen sind aber gleichzeitig auch der Grund warum der IBM-PC die dominierende Architektur wurde. Dadurch das praktisch alles als Erweiterung ausgeführt war ist die Architektur sehr flexibel weiter zu entwickeln. Ich denke da z.B. an den Amiga. Die Architektur mit den Custom Chips war wegweisend hat aber gleichzeitig dafür gesorgt das Grafik und Sound mehr oder weniger eingefroren waren. Beim PC hat man kontinuierlich neue Grafik und Soundkarten entwickelt die natürlich immer besser wurden und nach den ersten Entwicklungsschritten das selbe gemacht haben wir die Custom Chips. Bei anderen Heimcomputersystemen sah es ähnlich aus.

    Zu „Die Tastatur wurde gelobt. Sie hatte einen harten, lauten Anschlag. “ Solche Tastaturen gib es wieder und sind beliebt. Schau mal in der Gaming Szene nach mechanischen Tastaturen.

    1. Das ist aber was komplett anderes: es ist die grundlegende entscheidung einer offenen und geschlossenen Architektur. Zum einen erlaubten die Erweiterungsplätze natürlich die Nachrüstung und damit Dinge an die man 1981 nicht mal dachte wie Netzwer, Festplatten oder CD-ROM.

      Was du moist ist aber etwas anderes: das man leistungsfähige Custom-chips gleich auf dem Motherboard verlötet. Das war 1981 in der form noch gar nicht möglich, aber die Logik der MDA-Karte wäre durchaus aufs Board gegangen wenn mann gleich mit 64 KBit Chips bestückt hätte. Klar machen solche eingebauten Lösungen dann mehr Probleme wenn man die Hardware weiter entwickeln will. Das Hauptproblem das Amiga und Atari aber hatten war das die x86 Linie die anfangs langsamer als die mc68k Linie war sie dann in der Geschwindigkeit überholten und vor allem das Motorola diese Linie ende der Achtziger zugunsten des PowerPC einstellten.

      1. Offene Architektur hatte der Amiga aus. Bei den Tastaturcomputer und dem Amiga 1000 mechanisch begrenzt. Beim Amiga 200/3000/4000 mit den Zorro Slots aber auf mindestens gleichem Niveau wie IBM-kompatible. Aber da Stückzahlmäßig der Amiga 500 klar dominierend war konnte man als Entwickler natürlich nicht davon ausgehen das eine Bessere Grafikkarte/Soundkarte oder sogar nur eine Festplatte vorhanden war.

        Das Motorola die 68k Serie hat auslaufen lassen hat dem Amiga nicht gut getan, aber da war der Amiga sowieso schon auf dem stark absteigenden Ast. Der 1987 vorgestellt Amiga 3000 mit 25MHz 68030 war was den Prozessor betrifft durchaus Konkurrenzfähig. Aber die Grafik war immer noch genauso wie beim Amiga 1000 von 1985, während die auch 1987 von IBM veröffentlichte VGA Grafik Leistungsstärker als die des Amigas war. Erst 1992 mit dem Amiga 1200/4000 holte der Amiga was Grafik betraf wieder halbwegs auf. Wobei die AGA Grafik immer noch etwas schwächer ist als VGA, und auf dem PC da schon mit SuperVGA hantiert wurde. Der 68020 beim Amiga 1200 war zugegebenermaßen nur noch begrenzt konkurrenzfähig zu dem was im x86 Markt verkauft wurde, der 68040 im Amiga 4000 sollte es aber mit den meisten damals verfügbaren 486 noch einigermaßen aufnehmen können.

        Ja ich weiß das mit VGA ist Leistungsstärker als ECS bzw. AGA ist ein bisschen komplizierter. Dank der Customs Chips hatte der Amiga im endeffekt das was man bei PC’s erst beginnend mit den Windows-Beschleuniger Grafikkarten hatte. Dadurch konnte man schon mit einem A500 mit 68000er Fenster sauberer/ruckelfeier Verschieben wie mit einem 486 auf dem Windows 3.11 lief… Mein leistungsstarker bezieht sich auf Auflösung und Farbpalette.

        1. Tippfehler, nicht „Der 1987 vorgestellt Amiga 3000“ sondern „1990“. Also eine Zeit als die 1987 Vorgestellte VGA Grafik schon weit verbreitet war.

        2. Dirk das offene Konzept des Amigas war eine Mogelpackung. Für das Betriebsystem war so eine Grafikkarte nur eine teure Speichererweiterung. Das konnte der PC schon mit Windows 3.0 besser. Spätestens beim A3000 hätte man alles neu machen müssen, vielleicht den damals neuen ET4000 Chips aufs Board statt des ECS mit komischen 1280×256 4/64 Farben.

          1. Die Grafikkarte (und Soundkarte) sind da beim Amiga Spezialfälle, eben wegen der Custom Chips.

            Kannst du mir eigentlich erklären wie das mit den Grafikkarten beim Amiga eigentlich funktioniert hat. Ohne Grafikkarte stelle ich mir die Sitation ja ähnlich vor wie bei einem PC mit einer Grafikkarte mit Shared Memory. Sprich CPU und Agnus bauen das Bild im Chip Ram auf. Denise bringt es dann auf den Monitor (und macht dabei auch noch Sprites und BOBs). Habe ich das richtig Verstanden? Wo haben dann die Grafikarten wie Picasso und Co sich eingeklingt?

  3. Der PC-5150 hatte natürlich ein 4-Kanal DMA
    1-Kanal Refresh
    1-Kanal Floppy

    64K-DRAM kam erst 1980 auf den Markt.
    1981 wahren 64K Chips noch Teuer, deshalb wurden 16K Chips verbaut,
    und in den USA wurde auch ein Version verkauft mit nur 16K RAM (für was auch immer).

    Vorausplanung wahr nicht die Sache der PC Entwickler bei IBM.
    z.B. Verwendung von reservierten Interrupt-Vektoren im BIOS.

    1. Na ja wenn man schon die Datenrate eines Floppy-Disklaufwerkes (bei den IBM Laufwerken beträgt die Datenrate 250 Kbit/s) DMA braucht sieht man doch wie schlecht das Design ist. Eine Z80 mit 4 MHz konnte problemlos die doppelte Datenrate verarbeiten ohne DMA-Controller.

  4. Die Diskettenlaufwerke waren nur Single Side, 160KB,
    auch wenn der Controller Double Side Laufwerke ansteuern konnte.
    Somit kein Fehler in MSDOS.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..