Doppelt fit mit 64 Bit
Dienstag 1.4.2008: Doppelt fit mit 64 Bit
In der aktuellen ct sind einige Artikel die sich damit beschäftigen, wie und was unter einem 64 Bit Vista oder Linux läuft. Zeit also sich dies mal genauer zu betrachten. Zuerst einmal: Was heißt überhaupt 64 Bit? Gemeint ist die Breite der Register des Prozessors. Der erste x86 Prozessor hatte 16 Bit breite Register, ab dem 386, der 1985 erschien, waren es 32 Bit und seit 4 Jahren gibt es nun 64 Bit.
Neue Befehle können nun 64 Bit breite Daten bearbeiten, doch darum geht es nicht, der Übergang bringt auch nur für wenige Anwendungen eine Geschwindigkeitssteigerung. Vielmehr geht es um die Adressierung. Diese ist unabhängig von der Registerbreite. Beim 8086 waren dies 20 Bit, wobei allerdings nur Segmente von 16 Bit Breite linear angesprochen werden konnten, beim 80286 waren es 24 Bit, wobei man allerdings in einen zweiten Modus wechseln musste, der inkompatibel zum DOS war. Daher setzte sich diese Lösung nicht durch. Seit dem 80386 sind es 32 Bit – volle 4 Gigabyte Speicher. Seit dem Pentium II gibt es einen Modus bei dem man 36 Bit nutzen kann. Einige Windows Server Versionen setzen diesen ein. Doch er ist langsamer und viele Treiber haben Probleme in diesem Modus.
Nun sind also 64 Bit Prozessoren auf dem Markt und damit ist die Begrenzung des Arbeitsspeichers auf 4 Gigabyte (wobei unter Windows XP und 32 Bit Vista nur etwa 3 GB nutzbar sind). Allerdings wird es so bald kein 64 Bit Windows geben – denn die Prozessoren unterstützen derzeit nur 40 Bit breite Adressen. Das reicht immerhin für 1 Terabyte oder 256 mal mehr als heute möglich ist.
In der Vergangenheit hat sich im Durschnitt alle 3 Jahre der Speicher vervierfacht. 1982 hatte ein durchschnittlicher PC 64 KByte, und damit die 16 Bit ausgeschöpft, die ein 8 Bit Prozessor adressieren konnte. 1988 hatte ein PC schon 1 MByte, das war das Maximum eines 8086 Prozessors. 1995 waren es 16 MByte, das Maximum eines 80286 Prozessors.
Nun kann man sich 4 Gigabyte leisten, also das Maximum eines 80386 Prozessors oder seiner Nachfolger bis zum Athlon 64 oder Core Duo bei Intel. (Bei 64 Bit war AMD ausnahmsweise schneller und hier musste Intel die AMD Technik lizensieren). Nach den bisherigen Erfahrungen werden diese 40 Bit etwa 12 Jahre lang ausreichend sein. Bis dahin wird es dann sicher 48 Adressierung geben. (Für jede Adressen und Datenleitung die ein Prozessor heute hat kommen einige Versorgungs- und Masseleitungen, weshalb man die Anzahl der Adressleitungen natürlich begrenzt, wenn kein Bedarf dafür ist.
Doch wird es einmal 64 Bit Adressierung geben? Ich denke nicht. Heute ist Speicher in 65 nm Technologie gefertigt und es gehen bis zu 2 Gigabyte auf ein DIMM. 4 Dieser DIMMs erlauben heute einen Maximalausbau auf 8 GByte. Das sind 233 Bit. 264 Bit sind 31 Bits mehr, d.h. rund 2 Milliarden mal mehr Speicherzellen. Lässt man die Anzahl der DIMM Sockel und Chips gleich, so muss man die Speicherzelle um den Faktor 46000 kleiner machen. Die ersten Speicherchips auf dem Markt hatten 256 Bit Kapazität Heute sind es 1 Gigabit. Der Sprung von diesen betrug nur 22 Bit also weitaus weniger als die 31 Bit die man für eine 64 Bit Adressierung benötigt. Deutlich wird dies vor allem an der Strukturgröße:
Heute sind die Strukturen 65 nm breit. Der Abstand zweiter Siliziumatome in einem Kristallgitter beträgt 0.222 nm. Anders ausgedrückt: Kommt man in den Bereich von 0.2 nm, also rund 130 mal kleineren Strukturen als heute, so speichert man eine Information in einem einzelnen Siliziumatom. Kleiner geht es nicht. Damit kann man aber nur maximal 254 Bits Adressieren – weniger als die 64 Bit Adressierung hergeben würde. In der Praxis wird es deutlich weniger sein. Man kann zumindest bei Silizium nicht ein Elektron in einem Atom speichern. Dann hätte man ein Ion. Man braucht einige Atome die das Elektron teilen. Daneben muss man eine Speicherzelle isolieren. Das geht mit Siliziumoxid, das aber auch erst ab einer Dicke von 2-3 Atomlagen isoliert. Praktisch wird eine Speicherzelle dadurch etwa 10 Atome breit sein sein. Das entspricht 2 nm Strukturbreite oder etwa 32 mal weniger als heute. Das sind dann pro Rechner etwa 244 Bits oder 16 Terabyte Speicher.
Man sollte sich so langsam mit dem Gedanken anfreunden, das die PC’s nicht weiter wie bisher exponentiell in der Leistung wachsen. Schon heute sieht man dies in Teilbereichen. So ist die Taktfrequenz seit Jahren nicht angestiegen. Dual oder Quadcore Prozessoren von heute liegen heute unterhalb der 3.8 GHz welche ein Pentium 4 einmal erreichte. Die Taktfrequenz die heute maximal möglich ist, wurde schon 2003 erreicht. Festplatten verdoppeln sich auch nicht mehr so schnell in der Kapazität. Die 1 Terabyte Platte gibt es nun seit einem Jahr und seitdem keine größeren mehr. Für noch kleinere Strukturen als heute wird man in das Extrem UV gehen müssen, da die Strukturbreite von der Wellenlänge der Belichtungsquelle abhängt. (integrierte Schaltungen werden "gedruckt" und dabei kommen Masken zum Einsatz die belichtet werden). Das erfordert Vakuum, extrem glatte Spiegel anstatt Linsen und teure Systeme die Extrem UV Strahlen erzeugen. trotzdem ist diese Technologie nur für bis zu maximal 6-10 nm gut. Für 2 nm wird man Röntgenstrahlen brauchen, was nochmals die Kosten hochtreiben wird.
Wer braucht 1 Terabyte oder 16 Terabyte? Nun ich bin mir sicher, man wird diese Speichermenge füllen. Als DOS konzipiert wurde legte man den Maximalausbau auf 640 KByte fest .- 10 mal mehr als in den ersten IBM PC steckten, und von Gates gab es das Zitat "640K sind genug für jedermann". Windows 3.1 lief prima mit 4-8 MB Speicher und niemand hätte zu Windows 3.1 oder 95 Zeiten gedacht, dass man jemals 4 Gigabyte für Anwendungen brauchen könnte. Wenn man einfach nur mal anfängt den Trend vom "Semi-3D" Desktop von Vista fortzusetzen, kann man durch das hinzufügen einer räumlichen Dimension leicht Speicher en Masse beanspruchen oder man integriert anstatt der Hilfe zu allem einen schönen HD Video Film, wie man etwas macht, auch damit kann man locker Festplatten und Speicher zumüllen.
Voll bekommt man den Speicher immer. Der derzeit größte Supercomputer in der November 2007 Liste von Top500 hat 73728 GByte Hauptspeicher – 73 Terabyte oder etwas mehr als 246 Byte….