Home Computer Hardware Site Map counter

Was ist der Vorteil eines 64 Bitters?

Früher etwas häufiger fand man bei den Prozessoren noch die Angabe „16 Bit Mikroprozessor“ oder „32 Bit Mikroprozessor“. Heute steckt in jedem PC ein 64-Bit-Mikroprozessor und in Handys ein 32-Bit-Prozessor. Dort hat Apple mit dem IPhone 5 aber auch schon das erste Handy mit einem 64-Bit-Prozessor herausgebracht. Doch was bringt einem das?

Intel 4004 ProzessorZuerst einmal gibt es drei mögliche Kriterien, an denen man festmachen kann, wie viele Bits ein Prozessor verarbeitet, denn dafür steht diese Angabe das sind:

Alle drei stehen für wichtige Designmerkmale eines Prozessors. Sie müssen aber nicht notwendigerweise übereinstimmen.

Die Breite des Adressbusses, also wie viele Bits dafür zur Verfügung stehen, legt fest, wie groß er Arbeitsspeicher sein kann. Hier ist die Lage allerdings äußerst verworren. Prozessoren, die einen Datenbus von nur 4 oder 8 Bits hatten, haben trotzdem einen viel größeren Adressbereich gehabt. Denn 4 Bits für die Adressen reichen gerade mal aus, um 16 Bytes anzusprechen. Bei 8 Bits sind es 256 Adressen. das ist viel zu wenig für selbst einfache Programme. Der erste Mikroprozessor, der Intel 4004 war ein 4-Bit-Prozessor, konnte also nur Zahlen von 0 bis 15 direkt verarbeiten. Doch sein Adressbus war 12 Bit breit, erlaubt es also 4096 Bytes zu adressieren. Die meisten 8 Bit Prozessoren erlaubten es, mit einem 16 Bit breiten Adressbus 64 KByte zu adressieren. Das waren 65536 Byte. Trotzdem war dies nicht viel. In den frühen Achtziger Jahren waren diese Rechner sehr populär und als Speicher billig wurde, gab es auch Computer mit 128, 256 oder 512 KByte Speicher zu kaufen, wie den Commodore C128, den Amstrad CPC6128. Da der Speicher aber größer war als der Adressbereich, konnte man ihn nicht komplett ansprechen. Man setzte eine Technik ein, die man Bank-Switching nennt. Dazu wird ein Speicherblock durch einen anderen ersetzt, zum Beispiel die obersten 16 KByte durch einen der vier Blöcke in den zweiten 64 KByte. Was als Beschränkung bleibt, ist das ein Programm maximal 64 KByte groß sein kann. Die zweiten 64 KByte sind nur für ausgelagerte Daten nutzbar oder als Zwischenspeicher für Grafiken die man dann schnell anzeigen kann. (Bild Links: 4 Bit Prozessor Intel 4004)

Konfuser war die Situation bei den 16 Bit Rechnern. Der 8086 Prozessor, dessen Nachfolger noch heute in jedem PC (auch von Apple) verwendet werden, hatte einen 16-Bit-Adressbus mit einer Besonderheit: An die Adresse wurde ein Offset von 4 Bit angehängt. Die Folge war, das der Prozessor drei Bereiche (für Daten, Code und Stack, dort landen übergebene Parameter oder Sprungadressen) von jeweils 64 KByte Größe in einem 1 Megabyte großen Adressraum verschieben konnte. Das geschah jeweils in Vielfachen von 16 Byte. So konnten zwar Programme größer als 64 KByte werden, indem sie diese „Fenster“ laufend wechselten, doch für Daten galt, dass die Größe eines Datenblocks maximal 64 KByte groß war, auch wenn die Daten zusammen mehr als 64 KByte umfassen konnten.

Intel 8008Beim IBM PC war der nutzbare Speicher sogar noch kleiner. Als Microsoft 1981 die zweite Version von MS-DOS herausbrachte, unterstützte MSDOS erstmals Programme von mehr als 64 KByte Größe (die erste Version konnte das noch nicht). Doch vom Speicher nutzte MS-DOS nur 640 KByte. Die restlichen 384 KB waren reserviert. Dort lagen an festen Bereichen Speicherbereiche für Textausgabe, Grafikausgabe, BIOS, Netzwerkkarten oder andere Karten. Das Zitat von Bill Gates „640 K ought to be enought for anybody“ wird von ihm dementiert, gilt aber als eine der größten technischen Fehlentscheidungen, weil sehr schnell PC‘s mehr als 640 KByte Speicher hatten. (Bild links: 8 Bit Prozessor Intel 8008)

1981 hatte ein typischer IBM PC 64 bis 128 KByte Speicher, schon 1984 kamen Rechner mit 1 MByte auf den Markt. Innerhalb von drei Jahren gab es Rechner, die mehr Speicher hatten, als MS-DOS unterstützte. Man behalf sich damit den Speicher anderweitig, z.B. als RAM-Disk zu nutzen. Dabei kann man den Speicher wie eine Diskette ansprechen, aber er ist erheblich schneller. Nur darf man nicht vergessen alle Daten, die dort liegen vor dem Ausschalten auf eine echte Diskette zu kopieren, denn sonst sind sie weg. Später nutzte Microsoft einen Bug im Intel 80286 Prozessor, der mit der Arbeit mit den 64-K-Fenstern zusammenhing um den DOS Speicher zu erweitern. Man konnte den Startoffset der Fenster auch so wählen, dass das das Speicher noch im ersten Megabyte Speicher anfing, aber im zweiten Megabyte endete. Das führte dazu, das man dort ein Programm ablegen konnte, das dann auf den darüberliegenden Speicher zugriff. Dieses diente so als Brücke zwischen DOS, das nach wie vor nur 640 KByte unterstützte und dem erweiterten Speicher, der ab dem 80286 Prozessor ansprechbar war. Das wurde so populär, das Intel diese fehlerhafte Funktion, im Fachjargon „A20 Gate“ noch Jahrzehnte in die Prozessoren einbaute.

Intel 8086Andere 16-Bit-Prozessoren, wie der Motorola 68000 hatten einen Adressbus von 24 Bit Breite, ausreichend für 16 Megabyte. Das leistete auch Intels dritter 16 Bit Prozessor, der 80286. Es gab aber auch 16 Bitter mit nur 16 Bit Adressbusbreite, wie der TMS-9900.

Bei den 32 Bittern war ein 32-Bit-Adressbus, ausreichend um 4 Gigabyte Speicher anzusprechen, Standard. Der nutzbare Speicher ist bei einem PC aber kleiner, weil auch hier Steckkarten sowie die OnBoard Grafik Speicher belegen. Typisch verblieben von den 4 GB Maximalausbau noch 3-3,5 GByte nutzbarer Speicher. (Bild links: 16 Bit Prozessor Intel 8086)

Doch schon bei den 64 Bittern ist es nicht selbstverständlich, dass der Prozessor auch einen 64 Bit breiten Adressbus hat. Das wäre auch etwas zu viel. Es war zwar in der Vergangenheit so, das die steigende Integration es irgendwann erlaubte, Speicher so billig herzustellen, das das Ausschöpfen des Adressraums kein Problem mehr war. Bei den 8-Bittern war dies sieben Jahre nach deren Erscheinen der Fall, bei den 16-Bittern mit 24 Bit Adressbus nach 13 Jahren und bei den 32 Bittern nach 25 Jahren. Doch der Sprung von 32 auf 64 Bit ist so groß, wie der von 1 Bit auf 32 Bit, wozu die Computertechnik immerhin einige Jahrzehnte brauchte. Könnte man ein Bit in einem Atom speichern und benötigte man keine Atome für die Isolation, den Transistor als Schaltelement und die Leitungen, so bräuchte man immer noch 264 Atome, die bei Silizium einer Fläche von 0,8 x 0,8 m entsprechen, also nicht in einigen Chips unterzubringen ist. So ist bei 64 Bit Prozessoren der Adressbus kleiner als 64 Bit und nur 40 bis 44 Bit breit, was immer noch 1-16 Terabyte entspricht.

Eine Variation ist auch, das man mit dem Adressbus den Speicher nicht byteweise anspricht, sondern wortweise. Das ist bei einem 16 Bitter ein vielfaches von 16 Bit (2 Byte) und bei einem 32 Bitter ein vielfaches von 32 Bit (4 Byte).

Das zweite Kriterium für die Einstufung ist der Datenbus. Er bestimmt wie viele Bits auf einmal geladen werden können. Er ist besser geeignet zur Einstufung als 8,16 oder 32 Bitter als der Adressbus, aber auch nicht fehlerfrei. Während alle 4 und 8 Bit Prozessoren einen Datenbus von 4 und 8 Bit Breite haben, gilt das für 16 und 32 Bit Prozessoren nicht. Hier gab es zahlreiche Exemplare, bei denen der Datenbus nur halb so breit war. Intel war relativ erfolgreich mit den Prozessoren 8088 (16 Bitter mit 8 Bit Datenbus) und 386 SX (32 Bitter mit 16 Bit Datenbus). Beides waren „kastrierte“ Versionen der 8086/386DX. Der Vorteil war, das beide Prozessoren auf billige Zusatzbausteine zurückgreifen konnten, die es für den kleineren Bus gab. Als Preis dauerten alle Datentransfers deutlich länger. Genauso wie man mit einem Auto das 4 Sitzplätze hat, nur halb so oft fahren muss wie bei einem Zweisitzer um eine Gruppe von Menschen zu transportieren, genauso waren die Versionen mit halbiertem Datenbus deutlich langsamer als die vollwertigen Versionen. Der 8088 war z.B. um 40% langsamer als der 8086.

Da ein breiter Datenbus so die Geschwindigkeit erhöhte, gab es auch den entgegengesetzten Fall. Intel führte bei den höheren Versionen der Pentium-Reihe (32 Bit) einen 64 Bit Datenbus ein, um mehr Daten auf einmal einzuladen. Grafikprozessoren (GPU) haben heute aus demselben Grund 128, 256 und 512 Bit breite Datenbusse.

Intel 80386Das letzte und entscheidendste Kriterium ist die interne Funktionsweise. Das heißt wie groß sind die Register (Speicherplätze) im Prozessor und wie große Zahlen kann er mit einem Befehl bearbeiten. Nehmen wir einen 16 Bit Prozessor, der zwei 32 Bit lange Zahlen addieren muss. Er würde folgende Befehlsfolge ausführen: (Bild links: 32 Bit Prozessor Intel 80386)

Die zweite Addition muss mit Überlauf erfolgen, das ist ein Bit, in dem das 17.te Bit abgelegt wird, dass bei der Addition gesetzt wird, wenn das Ergebnis nicht in 16 Bits passt. Der 16 Bit Prozessor mus für eine 32-Bit-Addition also 8 Befehle ausführen. Dagegen sind es bei einem 32-Bit-Prozessor nur 4:

Es werden nicht nur halb so viele Befehle ausgeführt. Weil der Prozessor einen größeren Datenbus hat, lädt er diese auch schneller und führt sie schneller aus. Es werden nur zwei anstatt vier Register belegt, Register sind Speicherplätze, auf die man schnell zugreifen kann und sie sind knapp. Die meisten Prozessoren haben nur 4-16 Stück davon.

Alpha 21064Ein 8-Bit-Prozessor kann nur 8 Bit breite Zahlen auf einmal bearbeiten, das wären z.B. die ganzen Zahlen von 0 bis 255. Bei einem 16-Bit-Prozessor sind es schon die Werte von 0 bis 65535 und bei einem 32-Bit-Prozessor ist die Obergrenze 4.294.967.295. Das bedeutet, es gibt immer weniger Fälle gibt, in denen der Wertebereich nicht ausreicht. In der praktischen Programmierung gibt es nur wenige Fälle, wo man 64 Bit Zahlen braucht. 32 Bit Ganzzahlen sind so groß, dass viele Spieleprogrammierer sie als schnellen Ersatz für Fließkommazahlen nutzen. So kann man in einer Szene, in der Objekte nach Entfernung eingezeichnet werden, z.B. eine 32-Bit-Ganzzahl durch 100 teilen und damit die Distanz in Metern nehmen, beziehungsweise die Bruchteile stehen für die Zentimeter. Das reicht immerhin bis zu 40 Millionen km Entfernung. (Bild links: 64 Bit DEC Prozessor Alpha 21064)

Daher haben viele Prozessoren, die 32 oder 64 Bit verarbeiten auch Spezialbefehle, die anstatt 64 Bit z.B. viermal 16 Bit auf einmal verarbeiten, also vier 16 Bit Operationen simultan anstatt einer 64-Bit-Operation durchführen. Bei besonderen Spezialregistern kann man so durchaus auch 128 oder 256 Bit mit einem Prozessor verarbeiten, der in der normalen Operation ein 32 Bitter ist.

Wenn die Kriterien nicht übereinstimmen, spricht man oft von einem 16/32 Bitter oder 8/16 Bitter. Ein 8/16 Bitter ist z.b. der intel 8088 (16 Bit interne Register, 20 Bit Adressbus, 8 Bit Datenbus). Der Motorola 68000 ist ein 16/32 Bitter (16 Bit Datenbus, 24 Bit Adressbus, intern 32 Bit breite Register).

Der Hauptnutzen ist aber, dass in der Regel ein 16 Bitter nicht einfach nur das Gleiche ist, wie zwei 8 Bitter, sondern er ist in der Regel mächtiger. So haben 16 Bit Prozessoren z.B. Befehle für die Multiplikation und Division, welche die 8-Bitter durch ein Programm erledigen müssen. 32 Bit Prozessoren haben eine Recheneinheit für die direkte Berechnung von Fließkommazahlen fest eingebaut, die bei den 16-Bittern noch als Coprozessor separat erworben werden musste.

Zwischen den aktuellen 32 und 64 Bit Prozessoren gibt es aber keinen Unterschied in dieser Beziehung. Wer unter Windows ein Programm einmal im 32 und 64 Bit Modus übersetzt, stellt auch keinen Geschwindigkeitsgewinn fest. Hier ist der Hauptnutzen einfach der, dass ein 32-Bit-Prozessor maximal 4 Gbyte Speicher ansprechen kann. Da auch Smartphones immer leistungsfähiger werden und immer mehr Speicher haben, hat daher Apple daher schon frühzeitig den Sprung zu einem 64-Bit-Prozessor gewagt.

Denn eines ist auch wichtig: Das Betriebssystem muss die Fähigkeiten auch unterstützen. Noch Jahre nach der Einführung der 32 Bit Intel-Prozessoren war Windows nur 16 Bittig, das änderte sich erst 1995, also zehn Jahre nach Vorstellung des 80386 Prozessors von Intel. Windows 95 als erste „32 Bit Version“, war jedoch noch nicht vollständig ein Betriebssystem im 32 Bit Mode, zahlreiche Altlasten wie Treiber waren noch 16 Bit breit. Das änderte sich erst mit Windows XP, das 2001 erschien. Erst mit Windows 7 flog die Unterstützung für den 64 Bit Modus aus dem Betriebssystem.

Motorola 680202005 kam der Athlon 64 als erster Intel kompatibler Prozessor auf den Markt, der neben dem alten 32-Bit-Betrieb auch einen 64-Bit-Modus hatte, doch erst 2009 gab es auch eine 64-Bit-Version von Windows. Auch das kann ein Grund für eine frühzeitige Weichenstellung sein. Apple hat jedoch einen strategischen Vorteil: es fertigt Betriebssystem und Hardware selbst und kann daher den Übergang beschleunigen. (Bild links: 32 Bit Motorola 68020 Prozessor)

Gibt es auch Fälle, in denen ein größerer Prozessor von Nachteil ist? Nun es gibt einige Nachteile. Die Programme werden länger, weil die Breite von Adressen aber auch Zahlen fest ist. Wenn man diese nicht benötigt so verschenkt man Speicher. Darüber hinaus kann es sein, dass man nur Daten verarbeitet, die eine feste Breite haben. Wer Textverarbeitung betreibt, der hat mit Zeichen zu tun, die 8 Bit oder 16 Bit breit sind. Sie wird dann mit einem 64-Bit-Prozessor nicht schneller. Analog wird ein Programm, das digitalisierte Meßwerte speichert und verarbeitet keinen Zusatznutzen haben, wenn es auf einem 64-Bit-Prozessor läuft, aber die Messwerte nur 8 Bits belegen, weil dies das Ausgabeformat des Analogdigitalwandlers ist. Hier wird ein Array (Feld) nur wesentlich mehr Speicher belegen.

Wenn man sich weg vom PC-Markt bewegt, dann gibt es noch sehr viele Anwendungsgebiete, in denen auch noch 8 oder 16 Bit Mikroprozessoren verbreitet sind. Eine Waschmaschine braucht zur Steuerung des Programms nur einen 8-Bit-Prozessor. Allerdings sind auch zahlreiche Mikrocontroller, also Prozessoren zur Steuerung heute 32 Bittig, weil es oft unwirtschaftlich ist Halbleiterfirmen mit einer Technologie zu betreiben die 20,30 Jahre hinter dem aktuellen Stand hinterherhinkt. Üblicherweise wird nach 10 bis 15 Jahren dann die Fabrik abgerissen oder die Fertigungsanlagen durch neue ersetzt. So gesehen macht es nur wenig Sinn einen 8 Bit oder 16 Bit Controller zu fertigen. Es gibt sie trotzdem. Man nutzt den freien Platz auf dem Chip um dort RAM oder Flash-Speicher unterzubringen und 8 Bit Mikrokontroller wie der ATMega8 sind sehr stromsparend.

Z80Wird es einmal 128 oder 256 Bit Prozessoren geben? Meine Vermutung: nein. Es wäre technisch kein Problem einen solchen Prozessor zu konstruieren, doch es macht keinen Sinn. Es gibt keine Ganzzahlen dieser Größe. Schon 64 Bit Zahlen decken einen Bereich von -9 x 1018 bis +9x1018 ab. Das ist so groß, dass Programme für die Finanzverwaltung inzwischen 64 Bit Ganzzahlen benutzen, bei denen man einfach die letzten 4 Stellen als Nachkommastellen betrachtet. Der am weitesten verbreitetste Typ für Fließkommazahlen ist ebenfalls 64 Bit breit und bietet mindestens 18 Stellen Genauigkeit. Das ist selbst für wissenschaftliche Fragestellungen ausreichend genau. Es gibt einen 128-Bit-Typ, doch ist es einfacher, nur die Fließkommaeinheit auf diese Breite auszulegen. (Bild links: 8 Bit Zilog Z80 Prozessor)

Viele Prozessoren haben aber Register von 128 oder 256 Bit Breite. Allerdings nicht zum Bearbeiten so großer Zahlen, sondern um in den Fließkommaeinheiten um mehrere Zahlen gleichzeitig der gleichen Operation zu unterziehen. In Simulationen ist es oft so, dass ein Modell in verschiedene Elemente unterteilt ist, bei einer Crash-Simulation z.B. die Oberfläche des Autos in kleine Elemente. Für jedes Element werden dann die gleichen Gleichungen, nur mit unterschiedlichen Werten gelöst. Ist dies gegeben, so kann bei einer solchen Architektur dann die gleiche Gleichung für zwei oder vier Elemente gleichzeitig gelöst werden, was die Geschwindigkeit verdoppelt oder vervierfacht. Dies kann z.B. die AVX-Erweiterung der Intel und AMD Prozessoren. Sie hat 256 Bit breite Register, eine Erweiterung auf 512 Bit ist geplant.

Häufiger kommt der Fall vor, dass man Daten mit weniger als 64 Bit Breite verarbeiten muss, aber sehr viele. Grafikprozessoren haben Hunderte bis Tausende sehr einfache Recheneinheiten die maximal 32 Bit breite Daten bearbeiten. Jede Einzelne ist für das Erzeugen eines kleinen Teil eines Bildes oder Videos zuständig, alle zusammen erzeugen das ganze Bild. Die absolute Rechenleistung ist, obwohl diese Recheneinheiten sehr einfach sind, durch ihre Zahl sehr hoch. So werden heute in Supercomputern oft Verbünde aus schnellen PC-Prozessoren und den Prozessoren der Grafikkarten (GPU: Graphic Processing Unit) eingesetzt. Damit diese mit genügend Daten versorgt werden, haben die GPU sehr breite Datenbusse von 256 oder sogar 512 Bit Breite. In dieser Beziehung könnte man also von einem 256 oder 512 Bit Prozessor sprechen.

Power PC 601Es gibt übrigens kein Gesetz, das Prozessoren in einer Architektur mit einem Vielfachen von 8 Bit gefertigt werden müssen. In der Raumfahrt wurden Spezialrechner mit 12, 23 oder 26 Bit Breite eingesetzt. Kommerziell gab es Rechner mit 12, 18, 24, 31, 48 und 60 Bits Architektur.

Die Anzahl der Transistoren steigt natürlich mit jeder Generation an. Nimmt man von Intel den jeweils ersten Prozessor mit 4,8,16 und 32 Bit und als 64 Bit Prozessor den ersten Alpha Prozessor so steigen die Transistorzahlen schnell an (Intels Gegenstück, der Itanium ist als Bergleich nicht gut geeignet, da er sehr viel später erschien und sehr komplex ist, das gleiche gilt für die 64 Bit Prozessoren der x86 Linie). MIPS steht für Millionen Instruktionen pro Sekunde, also Befehle pro Sekunde. Man kann sie allerdings nicht direkt vergleichen, da ein 4 Bit Prozessor sehr viele Instruktionen ausführen muss um eine 64 Bit Zahl zu addieren (siehe oben), ein 64 Bit Prozessor aber nur eine. Mehr zu dieser Problematik im Artikel über Benchmarks. (Bild links: 32 Bit Prozessor Power 601)

Die Transistorzahl und die Taktfrequenz sind oft gekoppelt: Je kleiner die Transistoren sind, desto schneller schalten sie, desto höher kann die Taktfrequenz sein. Allerdings wird beim Schalten jeweils Ladungen verschoben die letztendlich in Wärme umgesetzt werden. Dies steigt rapide bei hohen Tatfrequenzen an, weshalb seit 2003 die meisten Prozessoren sich auf maximal 3-4 GHz Takt beschränken.

 
Prozessor Bits die verarbeitet werden Transistoren Taktfrequenz MIPS Erschienen
4004 4 2.300 0,108 0,06 November 1971
8008 8 3.500 0,2 0,08 April 1972
8086 16 29.000 5 0,8 Juni 1978
80386 32 275.000 16 5 Oktober 1985
Alpha 21064 64 1.680.000 150 300 September 1992

Veröffentlichungsdatum des Artikels: 5.10.2013

Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.

Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.

Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.

Mehr über das Buch auf dieser eigenen Seite.

Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.


© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Impressum / Datenschutz Neues Hier werben / advertisment here Buchshop Bücher vom Autor Top 99