H.A.R.R.Y. hat geschrieben: ↑28 Mär 2021, 18:54
So? Die Maschinen werden nach Anzahl der Adressbits klassifiziert?
Nein, das habe ich nicht geschrieben, Sie werden meistens nach ihrer Arithmetik-Breite beschrieben. Für Laien: "kann nativ mit Zahlen bis 255 rechnen -> ist ein 8-Bitter", "kann mit Zahlen bis 65535 rechnen -> ist ein 16-Bitter" usw ...
Und genau das benötigt man in erster Linie zur Adressberechnung beim Speicherzugriff. Wenn eine Maschinen mit Speicheradressen umgehen soll, dann muss sie die auch berechnen können. Deine "Gegenbeispiele" sind 8-Bitter und die 8086-Familie. Die 8-Bitter können tatsächlich kaum mit Ihrem 16-Bit-Adressraum umgehen und nutzen so was wie doppelte Register oder haben eben doch spezielle 16-Bit-Adressarithmetik. Aber direkt adressieren konnten sie Ihren Speicher nicht, wie man z.B. an der leidigen Zero-Page-Nutzung des 6502 sieht. Beim 8086 sah es nicht besser aus, die konnten auch nur mit Ihren Segment-Register-Krücken über den 16-Bit-Adressraum hinaus arbeiten und auch das ging mehr schlecht als recht, weswegen die meisten DOS-Programme nur 64 Kilobytes Speicher genutzt haben und z.B. die meisten Spiele nur Videomodes genutzt haben, die mit 16-Bit adressiert werden konnten. 320x200 Pixel in 256 Farben sind z.B. 64000 Bytes, die man gerade noch mit 16-Bit-Artihmetik adressieren kann, was der Grund ist, weswegen Spiele auf DOS-PCs lange in dieser damals schon nicht zeitgemäßen Auflösung liefen.
Deswegen schrieb ich "in der Regel". Ja, man kann für alles eine Lösung finden und sich irgendwas bauen. Ein 6510 konnte z.B. "Banken" und damit den Adressraum erweitern, der Atmel AVR adressiert Worte statt Bytes und kommt so mit 16 Bit auf 128kBytes usw usw. Und dann gibt es noch den 68000, bei dem sie sich nie ganz einigen konnten, ob er denn nun ein 16- oder ein 32-Bitter ist. Deswegen hieß der Atari-ST auch "ST". Das stand für Sixteen-Thirtytwo.
Wenn Du nicht glaubst, dass der Adressraum der Grund für das Aufkommen der 64-Bitter ist, was ist er denn dann? Es gibt praktisch keine andere Verwendung, die in der Praxis die Verwendung von 64-Bit-Arithmetik benötigt. Alle anderen Berechnungen lassen sich mit 32-Bit-Integer-Arithmetik gut abdecken. Das ist der erwähnte Grund, warum 64-Bit-Arithmetik ein Nachteil ist. Ein 64-Bitter macht nämlich praktisch alle Berechnungen mit 64-Bit-Zahlen und belegt mit denen doppelt so viel Speicher wie ein 32-Bitter und er muss auch doppelt so viele Daten transferieren. Ergo: 64-Bit-Arithmetik zu nutzen macht nur dann Sinn, wenn man es auch für irgendwas dringend benötigt. Und was ist das? Eben der Umgang mit mehr als 4 Gigabyte Speicher.
Zusammenfassend: Die Dinger heißen nicht 64-Bitter, weil sie 64 Adressbits haben. Das habe ich ja auch nicht behauptet. Sie heißen 64-Bitter, weil sie 64-Bit-Arithmetik beherrschen. Aber Karl fragte ja
warum man neuerdings 64-Bitter nutzt. Und das tut man, damit man mit einem Adressraum von 64-Bits sinnvoll umgehen kann. Und genau deswegen verbaut man 64-Bitter, sobald man mehr als 4GB Speicher ansprechen will.