Wieviele Bit braucht der Computer?

[11.06.2004 16:35]

Sind 64-Bit-PCs die Zukunft? Bei all dem Getöse, das derzeit um die neuen 64-Bit-Prozessoren veranstaltet wird, sollte meine Antwort eigentlich ein klares "Ja und zwar sehr bald" sein. Doch trotz des Marketing-Rummels um 64-Bit-Chips wie AMDs Athlon64 hat der Sprung von 32 Bit auf 64 Bit deutlich geringere Auswirkungen, als uns die Computerindustrie erzählen will. Wer kein Macintosh-User ist, wird wohl noch zehn Jahre lang keinen 64-Bit-Rechner brauchen - und vielleicht sogar nie.

Beginnen wir mit einigen Hintergrundinformationen. Die Chips in der großen Mehrzahl heutiger Desktop- und Laptop-Rechner sind 32-Bit-Prozessoren. Die meisten basieren auf Intels unglaublich erfolgreicher IA32-Architektur, die man auch x86 nennt (wie in 286, 386 oder 486). Celerons und Pentiums von Intel sind ebenso IA32-Varianten wie AMDs reguläre Athlon-Chips.

Doch plötzlich sind 64-Bit-Maschinen en vogue. Seit einiger Zeit verkauft AMD Prozessoren, die sowohl 32- als auch 64-Bit-Programmcode ausführen können; Rechner mit diesen Chips können sowohl mit 64-Bit-Linux als auch einer speziellen 64-Bit-Version von Windows XP arbeiten, die Microsoft in diesem Jahr veröffentlichen will. Apple liefert unterdessen all seine neuen Power Mac-Rechner mit dem G5-Chip aus - einem 64-Bit-Prozessor von IBM. Und auf eine gewisse Weise ist das nur eine Aufholjagd: So stieg etwa Nintendo schon 1996 auf 64 Bit um, als es die Nintendo64-Spielekonsole herausbrachte.

Um all diese Dinge zu verstehen, muss man erst einmal verstehen, wofür die Bit-Zahl tatsächlich steht. Computerbauer meinen damit zwei Dinge innerhalb einer Rechnerarchitektur - erstens, wie viele Bit diese Rechner nutzen, wenn sie Informationen im Speicher ablegen; zweitens stehen die Bit für die Registerbreite, die ein Mikroprozessor nutzen kann, um seine mathematischen Operationen durchzuführen. Jedes Bit kann sowohl 1 als auch 0 sein, also können 32 Bit 2 hoch 32 oder auch 4.294.967.296 verschiedene Werte darstellen. Dementsprechend ist der sichtbarste Unterschied zwischen 32-Bit- und 64-Bit-Computern der, dass die 64-Bit-Systeme die wesentlich größeren Maschinen sind. Sie können mehr Speicher adressieren und außerdem mit größeren Zahlen rechnen. Doch "mehr" bedeutet nicht unbedingt auch "besser". Es hängt immer davon ab, was man denn da mehr bekommt.

Der Umstieg von 32 auf 64 Bit ist wichtig, wenn es um die Adressierung von Speicher geht. Ein Programm auf einem 32-Bit-Rechner kann problemlos bis zu 4 Gigabyte an Speicher ansprechen - wir erinnern uns, 2 hoch 32 sind ungefähr 4,3 Milliarden. Ein Programm auf einem 64-Bit-Rechner kann wiederum 2 hoch 64 Adressen ansprechen - also vier Milliarden mal vier Milliarden Bytes, eine erstaunlich große Zahl. Diese Werte zeigen einem sofort, dass einem 64-Bit-System deutlich mehr Expansionsraum bleibt. Aber diese Fakten verwirren auch reichlich, wie wir noch sehen werden.

IBMs erster Personal Computer, der "Original-PC", benutzte einen Intel 8088-Prozessor - einen kleinen Chip mit merkwürdigen ingenieurtechnischen Kompromissen. Intern war der 8088 ein 16-Bit-Prozessor: Er hatte 16-Bit-Mathematik-Register, konnte also Zahlen zwischen 0 und 65.535 (oder zwischen -32778 und 32767) darstellen. Außerdem ließen sich über sein 16-Bit-Adressregister problemlos bis zu 64 Kilobyte Hauptspeicher ansprechen. 64 Kilobyte reichten natürlich für fast nichts - selbst 1981, als der Ur-PC das erste Mal auf den Markt kam. Deshalb hatte der 8088 mehrere so genannte Segment-Register, die die Anzahl der Adressregister um 4 Bit erhöhten, bevor der Speicher überhaupt beschrieben oder gelesen wurde. So konnte der 8088 bis zu einem Megabyte an Hauptspeicher ansprechen.

Ein Megabyte war damals viel RAM und die Entwickler dachten nicht, dass ein Heim- oder Business-User jemals so viel Speicher brauchen würde - oder ihn sich überhaupt leisten könnte. Deshalb zogen die IBM-Designer eine Begrenzungslinie quer durch die Speichertabelle ihres Rechners und setzten den Videospeicher mitten in die obere Hälfte. So war der Hauptspeicher eines PCs effektiv auf 640 Kilobyte RAM beschränkt. So entstand auch das so genannte 640K-Limit, das auch im DOS-Betriebssystem steckte.

Ein paar Jahre später stellte Intel seinen nächsten Mikroprozessor vor, den 80286 (Der 80186 schaffte es nie wirklich in einen PC). Der 286 war die Basis für IBMs PC/AT. Er besaß einen Emulationsmodus, den so genannten "Real Mode", mit dem er die gleiche Software wie der 8088 laufen lassen konnte. Außerdem besaß er einen fortschrittlicheren Modus, den so genannte "Protected Mode", der mit bis zu 16 Megabyte RAM arbeiten konnte. Die große Mehrheit dieser Rechner lief im Real Mode, mit dem man Microsofts DOS und all seine alten Original-PC-Programme laufen lassen konnte. Der 286 war als Plattform für 8088-Software beliebter als der 8088 selbst - er war viel schneller. Nur die wenigstens 286-Chips liefen also tatsächlich im neuen Protected Mode.

1985 stellte Intel den 80386 vor - den ersten 32-Bit-Prozessor der x86-Familie. Einmal mehr hatte dieser Chip einen Real Mode, in dem DOS und die anderen 8088-Programme laufen konnten. Und er überrundete den 8088 deutlich - nicht nur, weil er eine 32-Bit-Architektur hatte, sondern vor allem, weil er eine höhere Taktfrequenz und ein besseres internes Design besaß. Es gab eine Reihe von Unternehmen, die so genannte "DOS Extender" verkauften - Werkzeuge, die es auch Programmen unter DOS erlaubten, den vollen 32-Bit-Adressraum zu nutzen. Diese Extender schalteten den Computer in den 32-Bit-Modus für die mathematischen Berechnungen, gingen aber zurück in den 16-Bit-Modus, wenn die Programme auf die Festplatte zugreifen mussten. Nichtsdestotrotz waren 32-Bit-Programme auf diesen 32-Bit-Chips die Ausnahme, nicht die Regel.

Erst als die 32-Bit-Maschinen die 16-Bit-Rechner an Stückzahlen deutlich überholt hatten, lieferte Microsoft sein erstes echtes 32-Bit-Betriebssystem - Windows 95. Bis dahin waren zwei weitere Generationen an x86-Rechnern von Intel auf den Markt gekommen - der 80486 und der Pentium. Natürlich hätte Microsoft ein 32-Bit-Betriebssystem Jahre vor Windows 95 ausliefern können. Aber das wäre wohl ein Fehler gewesen - warum sollte man ein Betriebssystem verkaufen, das auf den meisten PCs auf dem Markt gar nicht läuft?

Diese alte Geschichte wird dann wieder relevant, wenn wir uns den nächsten großen Schritt in der PC-Architektur ansehen - den von 32 Bit nach 64 Bit. Doch während der Sprung vom 16-Bit-Adressraum (oder besser 20 Bit, wenn man die 8088-Segment-Architektur in Betracht zieht) nach 32 Bit riesig war, wird der Umstieg von 32 Bit auf 64 Bit von den meisten Computerbenutzern wohl kaum bemerkt werden. Der Grund liegt darin, dass 32 Bit eigentlich schon genug sind, um die meisten Computer-Aufgaben zu erledigen - nicht nur die heutigen, sondern auch die von morgen.

Der Quantensprung in Sachen Geschwindigkeit und Power, den wir beim Umstieg von 16 auf 32 Bit erlebt haben, wird sich nicht wiederholen. Natürlich ist der 64-Bit-Adressraum gigantisch, aber auch die alten 32 Bit sind nicht zu verachten.

Heutzutage gibt es nur wenige Anwendungen, die wirklich vier Gigabyte Speicher brauchen. Für Dinge wie Textverarbeitung, Tabellenkalkulation, E-Mail und Web reichen deshalb 32 Bit für die nächste Zukunft problemlos. Mein Windows-Desktop-Rechner frisst viel Speicher - so bläht sich etwa der Internet Explorer routinemäßig auf bis zu 64 Megabyte auf. Aber das ist immer noch nur ein Vierundsechzigstel des Speichers, den ein 4 Gigabyte-Rechner adressieren kann. Ich kann mir keinen Web-Browser vorstellen, der wirklich 4 Gigabyte braucht. Es würde ja allein 10 Stunden dauern, bis ich so viele Daten über meine DSL-Leitung heruntergeladen habe.

Man könnte meinen, dass das gleichzeitige Verwenden anderer, ähnlich übergroßer Anwendungen mehr und mehr Hauptspeicher frisst - bis zum Punkt, wo man wirklich mehr Adressraum braucht. Aber das ist nicht der Fall. Windows, Unix und andere moderne Betriebssysteme nutzen eine Technik namens "Virtual Memory", die jedem Programm seine eigene Speichertabelle gibt. Auf einem 32-Bit-Rechner bedeutet dies, dass jedes Programm potenziell seine eigenen vier Gigabyte an Virtual Memory erhält. Während eine einzelne Anwendung nie mehr als vier Gigabyte adressieren kann, hat eine 32-Bit-Maschine mit Windows XP und 10 oder 20 Gigabyte Speicher kein Problem, diesen Speicher unter einem aufgeblähten Browser, einem aufgeblähten Word 2003 und einer aufgeblähten Access-Datenbank aufzuteilen.

Große Unterschiede gibt es nur, wenn einzelne Programme mehr als vier Gigabyte Speicher benötigen. Wenn man beispielsweise ein Data Warehouse für eine multinationale Firma mit 10 Terabyte an Online-Speicherkapazität betreibt, könnte ein Datenbank-Server sicherlich von 10 oder 20 Gigabyte Speicher profitieren, in der er seinen gesamten Index ablegen kann. Auch einer großen Simulationsanwendung könnte so viel Hauptspeicher helfen, wenn sie Dinge wie das Wetter für Übermorgen berechnet.

Während Dell Heim-PCs mit 512 Megabyte RAM ausliefert und Windows XP-Rechner ungefähr 1,5 Gigabyte Speicher in Anspruch nehmen, um all ihre Programme abzulegen, sagen die Marketingleute, dass wir 64-Bit-Rechner benötigen, um das schnell herannahende Vier-Gigabyte-Limit zu durchbrechen. Glauben Sie ihnen nicht! Dell verkauft bereits jetzt 32-Bit-Server mit 8, 16 und 32 Gigabyte RAM. Die Marketing-Leute wollen bloß, dass wir 64-Bit-Maschinen kaufen, weil sie teurer sind.

Eine andere Angelegenheit, bei der 64-Bit-Maschinen besser sind als heutige 32-Bit-Rechner, sind Berechnungen. Während 32-Bit-Maschinen Integer-Werte zwischen 0 und 4.294.967.295 repräsentieren können, stellen 64-Bit-PCs Zahlen zwischen 0 und 18.446.744.073.709.551.615 dar. Die Möglichkeit, solche riesigen Werte in einer einzigen Instruktion zu berechnen, kann ein riesiger Vorteil sein - aber nur bei einer kleinen Anzahl wissenschaftlicher Anwendungen. Bei den meisten Büroarbeiten dagegen nützt 64-Bit-Integer-Mathematik rein gar nichts. Unsere PCs können heute schon mit 64 Bit rechnen - dazu nutzen sie spezielle Fließkomma-Einheiten oder eben mehrere 32-Bit-Instruktionen. Für die meisten Berechnungen wird 64-Bit-Mathematik-Hardware also einfach nicht gebraucht.

Mein Wort allein muss Ihnen zum Thema nicht reichen. Man muss sich nur die Geschichte anderer 64-Bit-Architekturen ansehen. Zwar sind 64-Bit in der x86-Welt noch neu, aber andere Mikroprozessoren machten den Sprung bereits in den Neunzigern mit. Alpha, MIPS64 und Sparc64 sind allesamt 64-Bit-Maschinen. Und trotzdem ignorieren die meisten dieser Rechner die oberen 32 Bit jeder Zahl - weil sie zumeist 0 wären.

All diese Argumente gegen 64-Bit-Maschinen sind gewichtig. Wenn man aber vor einem neuen Apple G5-Rechner sitzt, fühlt sich die Maschine trotzdem deutlich schneller an, als ein Rechner mit dem Vorläufer-Chip, der 32-Bit-CPU G4. Woran das liegt?

Mit einer Ausnahme (Intels Itanium-Chip) führen aktuelle 64-Bit-Maschinen 32-Bit-Code schneller aus als ihre 32-Bit-Cousins. Das hat denselben Grund, aus dem ein Intel 80386 mit 32 Bit den 16-Bit-Code schneller ausführte als der 8088 und der 80286 - die 64-Bit-Chips sind einfach moderner. Sie werden in besseren Silizium-Prozessen hergestellt, besitzen höhere Taktfrequenzen und mehr Transistoren. AMDs Athlon64 und IBMs G5 haben nicht nur breitere Register, sie haben auch mehr Funktionen eingebaut. Diese Chips können mehrere Instruktionen zur gleichen Zeit besser ausführen, besitzen neue Features wie "Out-of-order Execution" oder "Branch Predicition". Der Power Mac G5 mit seinen 64 Bit bedient vor allem 32-Bit-Code. Die Geschwindigkeit der Maschine kommt wegen seiner beiden Prozessoren, höheren Taktraten, mehr Cache-Speicher und einem besseren Speicherbus.

Natürlich hätten IBM und AMD die gleiche Technik auch in ein neues 32-Bit-Design stecken können. Heutzutage kostet die Herstellung neuer Chips aber Milliarden von Dollar. Ein 64-Bit-Prozessor rechtfertigt einen höheren Preis als eine 32-Bit-CPU, weshalb die Firmen ihre jüngste und beste Technologie lieber in ihre 64-Bit-Produkte stecken.

In Zukunft werden sich die 64-Bit-Rechner vor allem deshalb durchsetzen, weil sie 32-Bit-Code besser ausführen als heutige 32-Bit-Prozessoren. Der Markt könnte sich aber auch anders entwickeln. Die zusätzlichen 32 Bit brauchen viel Energie, was dazu führen könnte, dass die Hersteller von Chips für Laptops und Handhelds einfach die Zusatzfunktionen aus den 64-Bit-Maschinen in ihre 32-Bit-Chips stecken.

Das Gleiche passierte bei den Game-Konsolen. Obwohl Nintendo vor einigen Jahren viel Wirbel um seinen 64-Bit-Prozessor namens R4300i machte, der im Nintendo64-System steckte, profitierten die Spieler von den zusätzlichen 32 Bit nicht. Der R4300i war ein schneller Chip, weil er einige aktuelle Technologien zur Beschleunigung der Programmausführung nutzte. Die gleiche Performance hätte er auch erreicht, wenn diese Tricks einem 32-Bit-Prozessor beigebracht worden wären. Die neue Technik machte den Chip schneller, nicht die zusätzlichen Bit.

Nachdem wir den Sprung von 8 nach 16, 16 nach 32 und nun 32 nach 64 Bit mitgemacht haben, sollte man meinen, dass irgendwann in ferner Zukunft auch der Sprung von 64 Bit nach 128 Bit folgt. Damit würde ich nicht rechnen.

Dazu sollte man wissen, dass sich die Bit-Anzahl exponentiell entwickelt. Ein 32-Bit-System kann 65.000 Mal mehr Speicher verwalten als ein 16-Bit-System, während ein 64-Bit-System theoretisch vier Milliarden mal mehr Speicher verwalten kann als ein 32-Bit-System. Man könnte heute schon ein System bauen, das 2 hoch 64 Bytes an Datenspeicher besitzt - aber man bräuchte dazu 200 Millionen Festplatten, die jeweils 256 Gigabytes an Informationen enthalten. So viele Festplatten produzierte die gesamte Industrie im Jahr 2003.

Natürlich ist es denkbar, dass Computer irgendwann 2 hoch 64 Byte große Datenbanken brauchen. Aber es ist kaum ein einzelnes Problem denkbar, dass so viel Speicher auf einmal adressieren müsste. Der Grund dafür liegt darin, dass man ein solch großes System niemals aus einem einzelnen Prozessor und einem einzelnen Adressraum bauen würde. Statt dessen würde man Millionen oder auch Milliarden von Prozessor-Elementen nutzen, bei denen sich Speicher und Verantwortlichkeiten überlappen. Wenn so ein Prozessor oder Speicherblock ausfällt, arbeiten andere Teile des Systems einfach weiter.

Aufgrund solcher Argumente halte ich es für sehr unrealistisch, dass man jemals 2 hoch 128 Bit an einzelnem Speicher brauchen könnte - nicht in unserem Leben und nicht im nächsten.

Andererseits könnte ich mich auch verrechnet haben: 64 Bit könnten genau die Technik sein, um vollwertige Virtual Reality-Anwendungen mit Ganzkörpersimulationen möglich zu machen, bei denen sich ganz neue Effekte ergäben. Oder viel einfacher: Firmen wie Dell werden Apples Vorbild folgen und 32-Bit-Maschinen im Low-End-Bereich auslaufen lassen und statt dessen dank Marketing-Hype ihre Taschen durch den Verkauf von 64-Bit-Maschinen füllen, bei denen die Gewinne höher sind.

Man darf aber auch nicht vergessen, dass es immer Platz am unteren Marktrand gibt. Ich glaube nicht, dass Dell diesen Sektor anderen Firmen überlässt, wenn 32-Bit-Maschinen sich noch gut die nächsten zehn Jahre einsetzen lassen. Man muss sich nur Apple ansehen: Während die Power Macs für den Desktop jetzt mit G5-Prozessoren arbeiten, nutzt das Unternehmen nach wie vor G4-Chips - in iMacs, eMacs und in PowerBook-Rechnern. Persönlich glaube ich deshalb, dass uns 32-Bit-Systeme noch eine lange Zeit erhalten bleiben.

Von Simson Garfinkel; Übersetzung: Ben Schwan

(sma[1]/Technology Review)

URL dieses Artikels:
  http://www.heise.de/tr/aktuell/meldung/48174

Links in diesem Artikel:
  [1] mailto:sma@tr.heise.de


Copyright © 2004 Heise Zeitschriften Verlag