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.

Page: 1 2 3 4 5 6 7 8

ZDNet.de Redaktion

Recent Posts

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

3 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

3 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

6 Tagen ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

6 Tagen ago

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

6 Tagen ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

7 Tagen ago