Milliardengrab: Warum Intels Itanium gescheitert ist

Um zu verstehen, warum moderne x86-CPUs auf Core-2– oder Nehalem-Basis etwa genauso schnell sind wie vergleichbare RISC-Architekturen, muss man wissen, dass die heutigen x86-CPUs nicht mehr den Beschränkungen unterworfen sind, die CISC-Prozessoren der 70er und 80er Jahre aufwiesen und letztendlich zur Entwicklung von RISC-Prozessoren führten.

Prozessoren der 70er Jahre sind in ihrer Befehlsausführung recht deterministisch. Jeder Befehl braucht eine bestimmte Anzahl von Taktzyklen. Einige brauchen nur einen Takt, komplexere Befehle benötigen mehrere. Programmierer nutzten damals in der Regel Assembler als Programmiersprache, wenn darum ging, die Geschwindigkeit zu optimieren. Die Nutzung eines Compilers führte zu langsamem und vor allem auch speicherintensivem Code.

Das verleitete Prozessorhersteller dazu, immer mehr Befehle in die Prozessoren einzubauen, um so die Assembler-Programmierer  zu unterstützen. So wurden immer mehr Transistoren für recht komplexe Befehle benötigt, die manchmal gar keinen Sinn ergaben. Ein Beispiel dafür ist der INDEX-Befehl, den DEC in der VAX-CPU implementierte. Dieser Befehl benötigte weitaus mehr Takte als seine Implementierung mittels einer Schleife aus einfacheren Befehlen.

Das sprach sich natürlich herum. Niemand nutzte den INDEX-Befehl, der dennoch wertvolle Transistoren verschwendete. DEC konnte ihn jedoch nicht wieder "abschaffen", denn man musste ja abwärtskompatibel bleiben.

1972 entwickelte Dennis Ritchie einen völlig neuartigen Compiler mit einer ganz neuen Sprache. Die verstand zunächst niemand, denn "Hello " + "world" war nicht "Hello world" wie in allen anderen Sprachen, sondern führte zu einem sinnlosen Ergebnis. Außerdem galten andere Merkwürdigkeiten, etwa 65535 = -1 oder "Hello world" + 10 = "d". Dann behauptete Ritchie auch noch, dass 10000 + 1 auf unterschiedlichen Computern 10002, 10004 oder 10008 ergeben könne, und dass gerade die unterschiedlichen Ergebnisse die Kompatibilität zwischen verschiedenen Architekturen sichere.

Diese Sprache nannte er C. Bei Mathematikern, die Fortran bevorzugten, und Datenbankprogrammierern, die überwiegend COBOL nutzten, fand die Sprache wenig Anklang. Bisherige Assemblerprogrammierer waren jedoch begeistert. Man konnte lesbaren und prozessorunabhängigen Code erzeugen, der in seiner Effizienz, was Geschwindigkeit und Speicherbedarf angeht, nur geringfügig ungünstiger ist als der schwer handhabbare Assembler-Code.

Spätestens 1973, als Ritchie zusammen mit Ken Thompson Unix in C implementierte, war man sich der Mächtigkeit dieser Sprache im Klaren. Bisher hätte man nicht für möglich gehalten, dass zeitkritische Events, zum Beispiel Interrupt-Handler, wie sie in Treibern vorkommen, in einer anderen Sprache als Assembler hätten implementiert werden können. Der Siegeszug von C hatte begonnen.

Themenseiten: Intel, Plattform, Servers, Software, Storage, Storage & Server

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

1 Kommentar zu Milliardengrab: Warum Intels Itanium gescheitert ist

Kommentar hinzufügen
  • Am 7. Juli 2009 um 20:22 von Davidoff

    WindowsNT 3.1 und 16MB RAM
    Wie Sie auf "Microsoft sah sich allerdings genötigt, das Chicago-Projekt ins Leben zu rufen, das in Windows 95 mündete, um damals übliche Rechner mit bis zu 4 MByte Hauptspeicher zu unterstützen" ist mir schleierhaft, denn "Windows NT 3.1 benötigt mindestens 16 MByte" ist schlichtweg falsch, auch der Nach-Nachfolger WindowsNT 3.51 lief noch prima mit 8MB RAM. Und selbst das gute alte WindowsNT 4 begnügt sich in der Workstation-Variante mit lediglich 12MB, nur die Server-Version brauchte tatsächlich 16MB RAM. WindowsNT 4 kam aber erst Ende 1996 und damit geraume Zeit nach Windows95 raus.

    Der wahre Grund für Windows95 lag zum Einen in der damals noch hohen Verbreitung von DOS-Programmen (vor Allem Spiele), welche unter der DOS-Emulation von WindowsNT garnicht bzw. nur eingeschränkt funktionierten. Zudem erlaubte das die Aufspaltung des eigenen Portfolios in Consumer- (Windows95) und Business-Linie (WindowsNT).

    Davidoff

Schreibe einen Kommentar

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