Das ist ein bisschen "ein Megabyte sollte für jeden reichen", aber ...
Ein flacher 64-Bit-Adressraum ermöglicht bis zu 4,3 Milliarden Mal mehr Speicherplatz als ein 32-Bit-Adressraum. Das sind 17.179.869.184 GiB.
Offensichtlich war der Übergang von 8 auf 16 Bit ziemlich schnell (ich betrachte die Dinge auf eine jugendliche Art und Weise und ignoriere all diese Mainframes und Minis, weil sie keinen Elite-Port betreiben konnten). Der Übergang von 16 Bit auf 32 Bit dauerte etwas länger und 32 Bit dauerten tatsächlich eine ganze Weile.
Jetzt haben wir 64 Bits, wäre es dumm zu sagen "17.179.869.184 GiB sollten für jeden reichen"?
Dies ist eine Frage des Programmierers, weil ich wirklich den Standpunkt der Programmierung im Auge habe. Selbst wenn ein Computer eines Tages scheinbar unendlich viel Arbeitsspeicher hat, bedeutet dies nicht, dass Anwendungen einen scheinbar unendlich flachen Adressraum benötigen.
Können wir Programmierer aufatmen und sagen: "Nun, was auch immer Ganzzahlen oder Gleitkommazahlen tun mögen, ich muss mir wenigstens keine Sorgen mehr machen, dass meine Zeiger weiter wachsen."
quelle
Antworten:
Ich glaube nicht, dass wir in absehbarer Zeit Maschinen mit mehr als 2 ^ 64 Bytes RAM haben werden, aber das ist noch nicht alles, wofür der Adressraum nützlich ist.
Für einige Zwecke ist es nützlich, andere Dinge in den Adressraum zu mappen, wobei Dateien ein wichtiges Beispiel sind. Ist es also sinnvoll, in absehbarer Zeit mehr als 2 ^ 64 Byte Speicher an einen Computer anzuschließen?
Ich muss ja sagen. Es muss weit über 2 ^ 64 Bytes Speicher geben, da dies nur etwa 17 Millionen Menschen mit Terabyte-Festplatten sind. Seit einigen Jahren gibt es Datenbanken mit mehreren Petabyte, und 2 ^ 64 sind nur ungefähr 17.000 Petabyte.
Ich denke, wir werden wahrscheinlich in den nächsten Jahrzehnten einen Adressraum von> 2 ^ 64 nutzen können.
quelle
Wenn Computer nicht mit Durchbruchstechnologien beginnen, die es selbst in Laboratorien noch nicht gibt, ist es mit der aktuellen Siliziumtechnologie physikalisch einfach nicht möglich , mehr als 2 64 adressierbaren Speicherplatz zu haben . Die Technologie stößt an die physikalischen Grenzen . Die Geschwindigkeitsbegrenzung (GHz) wurde bereits vor einigen Jahren erreicht. Die Miniaturisierungsgrenze liegt ebenfalls sehr nahe. Derzeit ist die fortschrittlichste Technologie in der Produktion 20 nm, in Labors 4 nm mit Transistoren aus 7 Atomen.
Um es kurz zu machen, wie lange es dauert, bis eine neue Technologie entwickelt ist: Aktuelle Computer basieren auf Transistoren, die 1925 erfunden wurden, und die aktuelle Siliziumtechnologie stammt aus dem Jahr 1954.
Was alternative Technologien betrifft:
quelle
for(unsigned __int128 i=0; i<2^128; i++){}
. Bei der gegenwärtigen Technologie werden 128-Bit-Ganzzahlen nicht häufig verwendet. Abgesehen davon, dass Sie möglicherweise wieder in den ungeschützten Adressraum zurückkehren, ist es ziemlich unmöglich, versehentlich auf den Speicher anderer Anwendungen im 128-Bit-Adressraum zuzugreifen, selbst wenn Sie zufällig in zufällige Adressen schreiben.Der angeschlossene Supercomputer Thorbjoern verfügt über ca. 2 ^ 47 B physischen Speicher.
Unter der Annahme, dass Moores Gesetz für den Speicher von Supercomputern gilt, wird er in nur 34 Jahren zu 2 ^ 64 B physischem Speicher. Das ist wie "OMG, das werden wir noch erleben !!!!". Vielleicht. Und in der Tat ist es faszinierend. Aber genauso irrelevant.
Die Frage ist, brauche ich einen 128-Bit-Adressraum, um 2 ^ 65 B physischen Speicher zu nutzen?
Die Antwort lautet NEIN . Ich benötige einen 128-Bit-Adressraum, um 2 ^ 65 B virtuellen Speicher von einem einzelnen Prozess aus zu adressieren .
Dies ist ein zentraler Punkt Ihrer Frage: " Brauchen reale Anwendungen jemals einen flachen 128-Bit - Adressraum?". " Need ", nicht unbedingt, man kommt mit weniger aus, macht den Adressraum gemappt (nicht flach); Dann hätten Sie aber keinen "flachen 128-Bit-Adressraum".
Angenommen, Sie möchten den Atomen auf der Erde eine physikalische Speicheradresse zuweisen (aus welchem Grund auch immer, hauptsächlich, um dieses einfache Beispiel zu liefern ), beginnen Sie bei Null und zählen Sie weiter (setzen Sie sich mit mir in Verbindung, wenn Sie fertig sind). Jetzt möchte jemand anderes dasselbe mit Kepler-10c (der 568 Jahre entfernt ist) machen.
Sie möchten keinen Adresskonflikt , also weist die andere Person dem verfügbaren flachen Speicherplatz eine hohe Speicheradresse zu , sodass Sie, sie und die nächsten Personen direkt angesprochen werden können, ohne den Speicher zuzuordnen . Wenn Sie das nicht tun oder ohne eine Eins-zu-Eins-Beziehung zwischen Ihrem Speicher und seiner Adresse auskommen (Sie sind bereit, ein spärliches Array zu implementieren), können Sie mit einem 64-Bit-Speicher oder weniger auskommen.
Wann immer jemand vorschlägt " X Menge von Y wird ausreichen ", bleibt eine solche Vorhersage oft kurzlebig.
Die Frage ist also: Wie schnell werden wir einzelne Prozesse haben, die 2 ^ 65 B Speicher benötigen. Ich hoffe nie
Das große Problem unserer Zeit ist, dass die Rechenleistung einer einzelnen CPU begrenzt ist. Es gibt eine Größenbeschränkung, die durch die Größe der Atome definiert ist, und für eine gegebene Größe gibt es eine Begrenzung der Taktrate, die durch die Lichtgeschwindigkeit gegeben ist, die Geschwindigkeit, mit der sich Informationen über Änderungen in Magnetfeldern in unserem Universum ausbreiten.
Tatsächlich war das Limit vor ein paar Jahren erreicht und wir haben uns mit Taktraten niedergelassen, die unter denen vorher lagen . Die CPU-Leistung wird nicht mehr linear skaliert. Die Leistung wird jetzt durch Ausführung außerhalb der Reihenfolge, Verzweigungsvorhersage, größere Caches, mehr Operationscodes, Vektoroperationen und was nicht verbessert. Es wurde eine architektonische Optimierung vorgenommen .
Eine wichtige Idee ist die Parallelisierung. Das Problem bei der Parallelisierung ist, dass sie nicht vergrößert wird. Wenn Sie vor 20 Jahren langsamen Code geschrieben haben, hat er vor 10 Jahren viel schneller funktioniert. Wenn Sie jetzt langsamen Code schreiben, wird er in 10 Jahren nicht viel schneller.
Prozesse, die 2 ^ 65 B Speicher belegen, sind ein Zeichen äußerster Dummheit. Dies zeigt, dass es keine architektonische Optimierung gegeben hat . Um diese Daten sinnvoll zu verarbeiten, benötigen Sie etwa 10 Millionen Kerne, von denen die meisten Zeit damit verbringen würden, auf die Verfügbarkeit einer Ressource zu warten, da diese Kerne, die die Ressource tatsächlich erworben haben, physischen Speicher über Ethernet auf einem völlig anderen Computer verwenden. Der Schlüssel zum Umgang mit großen, komplexen Problemen besteht darin, sie in kleine, einfache Probleme zu zerlegen und keine immer größeren und komplexeren Systeme zu erstellen. Sie benötigen eine horizontale Partitionierung, wenn Sie mit Sh * Tloads von Daten arbeiten.
Aber selbst wenn man annimmt, soll dieser Wahnsinn weitergehen, sicher sein , 128 - Bit ist genug :
Um den Adressraum von 128 Bit zu nutzen, benötigen wir 2 ^ 133 Bit, also 2 ^ 152 Atome, die wir benötigen . Nehmen wir die gleiche Verteilung der Atome auf der Erde an und sehen wir uns an, wie viel Kruste wir aufnehmen müssen, um sie zu erhalten:
Sie haben also 130 Meter auf der gesamten Oberfläche (einschließlich der 80% mit Wasser, Sand oder Eis bedeckt). Das wird nicht passieren. Sogar vorausgesetzt, Sie können es ausgraben (lol) und all diese Materie ist geeignet, um in Chips verarbeitet zu werden. Woher bekommen Sie die Energie?
quelle
Nun, wir könnten definitiv einen großen Adressraum verwenden.
Stell dir das vor:
Der Adressraum ist nicht auf einen einzelnen Computer beschränkt. Stattdessen identifiziert eine Adresse eine Speicherzelle in einem universellen Adressraum eindeutig. Sie können also auf jedem Computer der Welt einen Zeiger auf eine Speicherzelle haben. Es muss ein Protokoll vorhanden sein, um das Lesen aus dem Remote-Speicher zu ermöglichen, dies ist jedoch ein Implementierungsdetail. :-)
Der Speicher ist Write Once, Read Many, dh Sie können Daten nur einmal in eine Speicheradresse schreiben. Für einen veränderlichen Wert müssen Sie bei jeder Änderung einen neuen Speicher zuweisen. Wir Programmierer haben begonnen, die Vorteile der Unveränderlichkeit und des Transaktionsspeichers zu erkennen. Daher ist ein Hardware-Design, das nicht einmal das Überschreiben von Speicher zulässt, möglicherweise keine so unmögliche Idee.
Wenn Sie diese beiden Ideen kombinieren, benötigen Sie einen großen Adressraum.
quelle
Je leistungsfähiger Computer werden, desto komplexer werden die Probleme, mit denen sie arbeiten müssen.
Der größte auf top500.org aufgeführte Supercomputer ist http://www.top500.org/system/10587 mit etwa 220 TB RAM und 180000 Kernen. Mit anderen Worten, damit können "reale Anwendungen" auf dieser Plattform arbeiten.
Heutige Computer sind so leistungsfähig wie Supercomputer vor 10-15 Jahren (obwohl die Rechenleistung möglicherweise in Ihrer Grafikkarte verborgen ist).
Ein Faktor 100 im Speicher in 10-15 Jahren bedeutet also, dass der 64-Bit-Adressraum in etwa 100 Jahren ein begrenzender Faktor sein wird (da log (100 Millionen) / log (100) bei etwa 6 liegt), wenn der aktuelle Trend anhält.
quelle
Dieser ganze Thread ist ziemlich lustig zu lesen, sehr starke Meinung für und gegen ...
Hier etwas ..
Ich verstehe aus der Frage, dass es technologieunabhängig und nicht zeitgebunden war. Daher sind die aktuellen Entwicklungen in Silizium, Quantencomputern oder dem Infinite Monkey Peddling Abacus praktisch irrelevant.
Berechnungen und Extrapolationen sind auch ziemlich lustig, obwohl die Antwort von back2dos ziemlich gut funktioniert, um die schiere Größe dessen zu veranschaulichen, was diese Zahl darstellt. Also lasst uns damit arbeiten.
Setzen Sie Ihren Geist in die Zukunft, in der der Mensch nicht mehr an die Grenzen seines kleinen Planeten gebunden ist. Ein realistisches Transportmittel wurde entwickelt, um Transporte über sehr große Entfernungen zu ermöglichen, und die sozialen Strukturen (wirtschaftlich, politisch usw.) haben sich über Generationen hinweg entwickelt. Übergreifende pharaonische Projekte sind zu alltäglichen Orten geworden. Konzentrieren wir uns noch auf zwei Aspekte dieser weit hergeholten Zukunftsvision. Wenn man sich die Zeit nehmen möchte, um alle Details zu erklären, kann man das mit einer Reihe plausibler Entwicklungen aktueller Technologien erklären. Mit anderen Worten, eine plausible, wenn auch unwahrscheinliche Zukunft ... jedenfalls ...
Das erste Projekt namens Colossus in Erinnerung an diesen ersten elektronischen Computer, da es der erste planetarische Computer ist. Die Colossus Brotherhood hat in der Tat ein Mittel gefunden, um einen kleinen Planetoiden einzufangen und in einen funktionierenden Computer umzuwandeln. Kürzlich im Kuyper-Gürtel entdeckt, der besonders reich an schmelzbaren Isotopen ist, wodurch er energetisch autonom ist, haben sie den Konstruktionsprozess mit Sonden, Robotern usw. vollständig autonom gemacht, wodurch das Computersystem selbstreparierend und selbstkonstruierend wird. Unter diesen Umständen wäre es denkbar, dass der 2 ^ 64-Adressraum für dieses Projekt etwas begrenzt ist, da ein kontinuierlicher Adressraum zur einfachen Portierung von Anwendungen, die bereits für ein anderes Projekt vorhanden sind, angestrebt wird.
Das andere Projekt ist eher ein Experiment zur Vernetzung als ein physisches System. Es hat jedoch schnell gezeigt, dass ein größerer Adressraum erforderlich ist. Vor 540 Jahren spielte ein junger Hacker mit der Idee, ein gigantisches Botnetz zu schaffen. Das Internet war bereits um die aufkommenden Kolonien rund um das Sonnensystem erweitert worden, die auf den großen Fortschritten bei der Fusionsenergie aufbauten. Seine Idee war es, kleine Bots über das Netzwerk zu verteilen, aber die Nutzlast sollte eine einheitliche virtuelle Maschine bereitstellen, auf der Code geschrieben werden würde, vorausgesetzt, er hätte die gesamte Leistung aller Bots zusammen. Beim Compiler und der Bereitstellung wurden große Anstrengungen unternommen, um Verzögerungen und ausgefeilte Algorithmen zu optimieren, die der inhärenten Unzuverlässigkeit des zugrunde liegenden Mediums Rechnung tragen sollen. Eine Sprache wurde speziell für dieses neue Ziel geschrieben. " Unser Hacker gründete stattdessen ein Dachunternehmen und verkaufte die Rechenleistung an den Meistbietenden. Als er starb, spendete er dieses Botnetz und alle Technologien an eine Stiftung. Zu diesem Zeitpunkt lief das Botnetz bereits seit 64 Jahren und war bereits vor einiger Zeit über den 2 ^ 64-Adressraum hinausgewachsen, was die 1000 Jahre alte Annahme erschütterte, dass wir niemals einen größeren Adressraum benötigen würden. Heutzutage ist 2 ^ 128 die Norm und was für Colossus verwendet wird, aber es ist bereits geplant, dies auf 2 ^ 256 zu erweitern. Unser Hacker gründete stattdessen ein Dachunternehmen und verkaufte die Rechenleistung an den Meistbietenden. Als er starb, spendete er dieses Botnetz und alle Technologien an eine Stiftung. Zu diesem Zeitpunkt lief das Botnetz bereits seit 64 Jahren und war bereits vor einiger Zeit über den 2 ^ 64-Adressraum hinausgewachsen, was die 1000 Jahre alte Annahme erschütterte, dass wir niemals einen größeren Adressraum benötigen würden. Heutzutage ist 2 ^ 128 die Norm und was für Colossus verwendet wird, aber es ist bereits geplant, dies auf 2 ^ 256 zu erweitern.
Wahrscheinlich könnte ich mir quasi plausibelere Szenarien einfallen lassen, die zeigen, dass ja ... es durchaus möglich ist, ja fast sicher, dass wir eines Tages einen Adressraum benötigen, der größer ist als dieser.
Allerdings glaube ich nicht, dass ich darüber den Schlaf verlieren würde. Wenn Ihre Anwendung einen bestimmten Adressraum benötigt, um korrekt zu funktionieren, wird sie höchstwahrscheinlich in einer VM laufen, die alles bietet, was sie benötigt ...
Also ... kurze Antwort ...
JA, höchstwahrscheinlich
aber
Warum nicht damit umgehen, wenn das Problem auftritt? Ich persönlich gehe nie davon aus, dass meine Programme keine Überraschungen enthalten.
quelle
Adresspositionen haben logarithmische Kosten in Bezug auf die Adressbreite, sodass wir obere Grenzen basierend auf den fraglichen Parametern berücksichtigen können:
Wir könnten die möglichen Konfigurationen als Obergrenze für die größtmögliche physikalisch konstruierbare Speicheradresse annehmen.
quelle
Nun, ich denke, dass Sie in den kommenden Jahren wahrscheinlich aufatmen können. Betrachtet man die Innovationsgeschwindigkeit bei Hardware, so lässt sich feststellen, dass in den letzten Jahren keine nennenswerten Durchbrüche erzielt wurden. CPUs mit Frequenzen von 2 x GHz gibt es schon seit einiger Zeit und jeder Anstieg der Rechenleistung ist heutzutage darauf zurückzuführen, dass mehr Kerne auf den Chip gepackt werden. Die Laufwerkskapazität steigt immer noch, aber nicht in dem Maße wie vor 10 Jahren.
Ich denke, dass unsere derzeitige Technologie an die Grenzen der Physik stößt.
Was heißt das für die Zukunft? Ich denke, um neue Quantensprünge in der Informationsverarbeitung zu erzielen, müssen ganz neue Technologien eingesetzt werden. Diese Technologien werden wahrscheinlich "Software" verwenden, wenn auch möglicherweise in einem Kontext, der dem, was er heute ist, ziemlich fremd ist. Und wer weiß, welche Adressraumanforderungen sie haben oder bereitstellen können? Oder ob Adressraum in dieser Technologie überhaupt ein sinnvolles Konzept ist?
Also zieh dich jetzt noch nicht zurück.
quelle
Ja, das wird es geben. (Spiele? Künstliche Intelligenz?)
Eine passendere Frage könnte jedoch sein, ob sie für den typischen Programmierer gilt. Stellen Sie sich vor, wie Ruby Zahlen bei Bedarf automatisch von FixNum nach BigNum und zurück konvertiert. Es würde mich wundern, wenn andere Sprachen (zumindest die dynamischen) letztendlich nicht dasselbe tun würden.
quelle
Diese Menge an Informationen zu speichern ist eine Sache und etwas Nützliches damit zu tun ist eine andere. Aus meiner Sicht sehe ich keinen Bedarf für diesen Speicher, es sei denn, wir haben die Rechenleistung, um ihn zu nutzen. Vielleicht ist das Zwischenspeichern großer Datenbanken eine Sache, aber für die numerische Verarbeitung brauchen wir meiner Meinung nach zuerst Prozessoren.
quelle
Brauchen Anwendungen jemals so viel Speicher? Gut möglich. Anwendungen wie Wettervorhersagen, physikalische Simulationen im Allgemeinen oder Kryptografie werden wahrscheinlich immer von mehr Speicher und mehr Rechenleistung profitieren. Und wer weiß, wie die Killer-App in 50-100 Jahren aussehen wird? Holografische Displays? Regenbogentabellen für jedes mögliche 100-stellige Passwort?
Ist es physisch möglich, so viel Gedächtnis darzustellen? Auf jeden Fall möglich. Beispielsweise kann ein 100-Qubit-Quantencomputer die gleiche Anzahl von Zuständen wie ein klassischer 2 ^ 100-Bit-Computer darstellen. Viel mehr als die 2 ^ 67 Bits Adressraum, die wir jetzt haben. (Ich weiß, ein 100-Qubit-Quantencomputer klingt wie Science-Fiction. Ich bin nicht davon überzeugt, dass es jemals möglich sein wird, einen zu bauen. Andererseits könnte man das wahrscheinlich auch über jede andere Technologie sagen, die 50 verwendet wird oder in 100 Jahren.)
Aber ich bezweifle ernsthaft, dass "flache Adressräume" bis dahin die Hauptsorge sein werden. Vielleicht entwickeln wir bis dahin Quantenalgorithmen, bei denen das Konzept eines "Adressraums" wenig Sinn macht. Selbst wenn Computer "klassisch" bleiben, werden wir wahrscheinlich mit einer beängstigenden Anzahl von Prozessoreinheiten mit ungleichmäßigem Speicher zu tun haben.
quelle
Was würde passieren, wenn jeder Speicherort eine global eindeutige Adresse hätte?
FILE
,fopen()
usw.quelle
Ich habe hier nur "laut gedacht", aber mir ist gerade eingefallen, dass man mit den verbleibenden 64 Bit auf einem 128-Bit-Computer interessante semantische Dinge machen kann. Vgl. die Art und Weise IP funktioniert.
Ich bin sicher, die Leute könnten sich lustige Verwendungszwecke für so etwas einfallen lassen. :) Weiß jemand, wofür die PS3 ihre 128-Bit-Adressen verwendet? Sicherlich würden Sie nicht den ganzen zusätzlichen Speicher verschwenden (und ich spreche nur über den Speicher für die tatsächlichen Adressen, und nicht darüber, auf was diese Adressen verweisen). Adressen als Daten. Sie könnten sogar eine Verzweigung in der Adresse selbst kodieren ... zB 0x [ifAddress] [elseAddress] Multi-Core-Systeme könnten ebenfalls von dieser Art der Segmentierung profitieren. Und und...
quelle
Gibt es einen Grund, die 64-Bit-Architektur zu übertreffen? (18.446.744.073.709.551.615 Byte adressierbarer Speicher)
Unter Verwendung des IEEE 1541-2002-Standards zur Verwendung von Präfixen für binäre Vielfache von Maßeinheiten in Bezug auf digitale Elektronik und Computer sehen wir Folgendes:
1 Byte = 8 Bits, 1 Kilobyte = 1024 Bytes, 1 Megabyte = 1024 KB, 1 Gigabyte = 1024 MB, 1 Terabyte = 1024 GB, 1 Petabyte = 1024 TB, 1 Exabyte = 1024 PB
Und so weiter für Zettabyte, Yottabyte, Xenottabyte, Shilentnobyte, Domegemegrottebyte, Icosebyte und Monoicosebyte.
Der Gesamtspeicher für Erdlaufwerke wird für 2016 auf etwa 2.500 Exabyte geschätzt.
Ein 64-Bit-Register kann direkt auf 15 Exabyte Speicher zugreifen. Ein 128-Bit-Register kann direkt auf 3,40282367 × 10 ^ 35 Zettabyte zugreifen. Oder 295.147.905.247.928.000 Monoicosebytes.
Wir können also sehen, dass ein 128-Bit-Register in einer guten Position wäre, um für eine geraume Zeit auf den gesamten Speicher der Erde zuzugreifen, auf alles, was jemals im Internet gesendet wurde, auf jedes Wort, das jemals gesprochen oder geschrieben wurde, auf jeden Film und vieles mehr .
Die Antwort lautet also Ja , bis ein Framework vorliegt , das auf jedes digitale Objekt hinweisen kann, das jemals war oder sein wird .
quelle
Die beste Schätzung, die ich für die Anzahl der Neuronen in einem durchschnittlichen menschlichen Gehirn finden kann, liegt bei 86 Milliarden. Wir können RAM im Allgemeinen nicht direkt mit Neuronen vergleichen, aber in einem neuronalen Netzwerk ist das möglich. Es nimmt eine Reihe von Adressen in Anspruch, um den Zustand eines Neurons oder einer Synapse darzustellen. Also werde ich eine wilde Vermutung aufgeben und sagen, wir schauen uns so etwas wie eine Billion Adressen an, um ein neuronales Netzwerk zu schaffen, das mit einem menschlichen Gehirn vergleichbar wäre. Wenn das möglich ist, verstehe ich nicht, warum es nicht viel weiter gehen würde. Die Art der Probleme, mit denen sich ein solches Netzwerk befassen könnte, würde sich unserer Fähigkeit, sie zu verstehen, entziehen und auch, warum sie dazu so groß sein müssten.
quelle
Es ist Adressraum. Nehmen wir an, wir ändern den C-Standard, sodass Realloc den verwendeten Zeiger nicht ändern darf. Ich kann heute 2 ^ 33 Speicherblöcke zuweisen (würde 192 GB RAM auf meinem Mac, 8 Milliarden mal 8 Byte Zeiger und 16 Byte zugewiesenen Speicherplatz erfordern, also kann ich das jetzt nicht tun, aber ich könnte mir einen Mac kaufen, der das kann ohne eine neue Hypothek aufzunehmen).
Und ich kann jeden dieser Zeiger neu zuordnen, um 2 ^ 33 Bytes zu halten. Nicht viele gleichzeitig :-) Wenn Realloc das Verschieben von Zeigern nicht zulässt und 2 ^ 33 Bytes zulässig sind, müssen die ursprünglichen Zeiger 2 ^ 33 Bytes voneinander entfernt sein, was bedeutet, dass 2 ^ 66 Bytes Speicher benötigt werden.
quelle
Klar, ich sehe keinen Grund, warum in Zukunft nicht so viel Platz benötigt wird. Wenn Sie über die Entwicklung von Spielen nachdenken, gibt es keine Grenzen dafür, wie realistisch oder komplex ein Spiel sein kann, oder? (Detail der verwendeten Grafiken / Anzahl der Polygone und Algorithmen, die die Interaktion und das Verhalten von Objekten definieren)?
Wer weiß, in 10 Jahren könnten wir 10-TB-Spiele mit Mindestanforderungen von 12 GB RAM und einem 8-Core-Prozessor spielen. : P
quelle
Vor 20 Jahren gab es 2 Milliarden weniger Menschen auf der Erde und die meisten Computersysteme verfügten über adressierbaren Speicher, der in Kilobyte gemessen werden konnte. Heutzutage nimmt die Weltbevölkerung mit der gleichen Geschwindigkeit zu und die Anzahl der Computernutzer steigt jedes Jahr exponentiell an.
Es ist richtig, dass nur sehr wenige Systeme einen vollen 64-Byte-Adressraum benötigen. Einige Systeme speichern jedoch täglich Terabyte an Informationen. Dies war aufgrund der Zunahme der Computerbenutzer und der Internetgeschwindigkeiten möglich. Bereits 23 Jahre nach der Erfindung von HTTP können wir Internetgeschwindigkeiten von 10 GB / s unterstützen. Bei dieser Geschwindigkeit halte ich es für töricht, in 50 Jahren nicht mit einer Internetgeschwindigkeit von 1 TB / s oder mehr zu rechnen. Wenn wir alle Daten so schnell verschieben können, müssen mehr Daten gespeichert werden, während mehr Personen zum Speichern dieser Daten vorhanden sind, und es ist fast unvermeidlich, dass es einen weiteren umfassenden Übergang in ein 128-Bit-System geben muss, und schließlich 256 und 512 bit.
quelle
Ja, Apps füllen nicht jedes Byte des virtuellen Speicherplatzes aus. Die Randomisierung des Adressraum-Layouts würde den größten Vorteil bringen.
quelle