Wie viele Speicheradressen können wir mit einem 32-Bit-Prozessor und einem 1-GB-RAM erhalten?

12

Wie viele Speicheradressen können wir mit einem 32-Bit-Prozessor und einem 1-GB-RAM erhalten und wie viele mit einem 64-Bit-Prozessor?

Ich denke, dass es so etwas ist:

1 GB RAM geteilt durch 32 Bit oder geteilt durch 4? um die Anzahl der Speicheradressen zu erhalten?

Aber ich bin mir nicht sicher. Deshalb frage ich.

Ich habe auf Wikipedia festgestellt, dass 1 Speicheradresse 32 Bit breit oder 4 Oktette (1 Oktett = 8 Bit) ist, verglichen mit 64 Bit bei einem Prozessor, bei dem 1 Speicheradresse oder 1 Ganzzahl 64 Bit breit oder 8 Oktett ist. Aber ich weiß auch nicht, ob ich es richtig verstanden habe.

johan smohan
quelle
Praktisch alle modernen Systeme sind byteadressiert, was bedeutet, dass 32 Bit ungefähr 4 Gigabyte adressieren können (wenn so viel RAM installiert ist). In der Vergangenheit gab es wortadressierte Schemata, wobei ein "Wort" 12, 15, 16, 17, 24, 32, 36 oder 48 Bit und wahrscheinlich einige andere sowie Dezimalmaschinen waren, die ein 4 oder 6-Bit adressierten Einheit. Beachten Sie jedoch auch, dass die meisten modernen Systeme virtuellen Speicher verwenden, sodass der Prozessor noch mehr Speicher adressieren kann als installiert ist.
Daniel R Hicks
@DanielRHicks Der virtuelle Speicher hat keinen Einfluss darauf, wie viel RAM adressiert werden kann.
Jamie Hanrahan
@JamieHanrahan - Damit der virtuelle Speicher funktioniert, muss ein Adressierungsmechanismus vorhanden sein, der den virtuellen Adressbereich (eines einzelnen Prozesses) umfasst. Dies kann mit einer Software-Simulation durchgeführt werden, ist jedoch recht ineffizient. In den meisten Systemen ist der Adressierungsbereich des Prozessors groß genug, um den maximalen Adressraum eines Prozesses zu berücksichtigen.
Daniel R Hicks
@DanielRHicks Sicher, aber das hat keinen Einfluss darauf, wie viel RAM adressiert werden kann. RAM ist physischer Speicher, nicht virtuell. Virtuelle Adressen sind keine RAM-Adressen und der virtuelle Speicher ist kein RAM.
Jamie Hanrahan
@ JamieHanrahan - Du machst keinen Sinn. Wenn Sie keine RAM-Seiten im virtuellen Adressraum adressieren können, ist der RAM unbrauchbar. (Ich weiß sehr gut, wie virtueller Speicher funktioniert, nachdem ich seit 1972 an virtuellen Speicherdesigns gearbeitet habe.)
Daniel R Hicks

Antworten:

38

Kurze Antwort: Die Anzahl der verfügbaren Adressen entspricht der kleineren:

  • Speichergröße in Bytes
  • Größte vorzeichenlose Ganzzahl, die im Maschinenwort der CPU gespeichert werden kann

Lange Antwort und Erklärung des oben Gesagten:

Der Speicher besteht aus Bytes (B). Jedes Byte besteht aus 8 Bits (b).

1 B = 8 b

1 GB RAM ist tatsächlich 1 GiB (Gibibyte, nicht Gigabyte). Der Unterschied ist:

1 GB  = 10^9 B = 1 000 000 000 B
1 GiB = 2^30 B = 1 073 741 824 B

Jedes Speicherbyte hat eine eigene Adresse, egal wie groß das CPU-Maschinenwort ist. Z.B. Die Intel 8086-CPU war 16-Bit und adressierte den Speicher in Bytes, ebenso wie moderne 32-Bit- und 64-Bit-CPUs. Das ist die Ursache für das erste Limit - Sie können nicht mehr Adressen als Speicherbytes haben.

Die Speicheradresse ist nur eine Anzahl von Bytes, die die CPU vom Anfang des Speichers überspringen muss, um zu der gesuchten zu gelangen.

  • Um auf das erste Byte zuzugreifen, müssen 0 Bytes übersprungen werden, sodass die Adresse des ersten Bytes 0 ist.
  • Um auf das zweite Byte zuzugreifen, muss 1 Byte übersprungen werden, daher lautet seine Adresse 1.
  • (und so weiter...)
  • Um auf das letzte Byte zuzugreifen, überspringt die CPU 1073741823 Bytes, daher lautet ihre Adresse 1073741823.

Jetzt müssen Sie wissen, was 32-Bit eigentlich bedeutet. Wie ich bereits erwähnt habe, hat es die Größe eines Maschinenworts.

Maschinenwort ist die Menge an Speicher, die die CPU zum Speichern von Zahlen verwendet (im RAM, im Cache oder in internen Registern). Die 32-Bit-CPU verwendet 32 ​​Bit (4 Byte), um Zahlen zu speichern. Speicheradressen sind ebenfalls Zahlen. Bei einer 32-Bit-CPU besteht die Speicheradresse aus 32 Bit.

Denken Sie jetzt darüber nach: Wenn Sie ein Bit haben, können Sie zwei Werte darauf speichern: 0 oder 1. Fügen Sie ein weiteres Bit hinzu und Sie haben vier Werte: 0, 1, 2, 3. Auf drei Bits können Sie acht Werte speichern : 0, 1, 2 ... 6, 7. Dies ist eigentlich ein Binärsystem und es funktioniert so:

Decimal Binary
0       0000
1       0001
2       0010
3       0011
4       0100
5       0101
6       0110
7       0111
8       1000
9       1001
10      1010
11      1011
12      1100
13      1101
14      1110
15      1111

Es funktioniert genau wie die übliche Addition, aber die maximale Ziffer ist 1, nicht 9. Dezimal 0 ist 0000, dann addieren Sie 1 und erhalten 0001, fügen Sie noch einmal eine hinzu und Sie haben 0010. Was hier passiert ist, ist, wenn Sie eine Dezimalstelle haben 09und eine hinzufügen: Sie ändern 9 in 0 und erhöhen die nächste Ziffer.

Aus dem obigen Beispiel können Sie ersehen, dass es immer einen Maximalwert gibt, den Sie in einer Zahl mit konstanter Anzahl von Bits behalten können. Wenn alle Bits 1 sind und Sie versuchen, den Wert um 1 zu erhöhen, werden alle Bits zu 0, wodurch der Wert gebrochen wird Nummer. Es wird als Ganzzahlüberlauf bezeichnet und verursacht sowohl für Benutzer als auch für Entwickler viele unangenehme Probleme.

   11111111    = 255
+         1
-----------
  100000000    = 0   (9 bits here, so 1 is trimmed)
  • Für 1 Bit ist der größte Wert 1,
  • 2 Bits - 3,
  • 3 Bits - 7,
  • 4 Bits - 15

Die größtmögliche Anzahl ist immer 2 ^ N-1, wobei N die Anzahl der Bits ist. Wie ich bereits sagte, ist eine Speicheradresse eine Zahl und hat auch einen Maximalwert. Aus diesem Grund ist die Größe des Maschinenworts auch eine Begrenzung für die Anzahl der verfügbaren Speicheradressen. Manchmal kann Ihre CPU einfach keine Zahlen verarbeiten, die groß genug sind, um mehr Speicher zu adressieren.

Auf 32 Bit können Sie also Zahlen von 0 bis 2 ^ 32-1 halten, und das sind 4 294 967 295. Dies ist mehr als die größte Adresse in 1 GB RAM. In Ihrem speziellen Fall ist also die RAM-Größe der begrenzende Faktor.

Die RAM-Grenze für 32-Bit-CPU beträgt theoretisch 4 GB (2 ^ 32) und für 64-Bit-CPU 16 EB (Exabyte, 1 EB = 2 ^ 30 GB). Mit anderen Worten, eine 64-Bit-CPU könnte das gesamte Internet ... 200-mal adressieren;) (geschätzt von WolframAlpha ).

In realen Betriebssystemen können 32-Bit-CPUs jedoch etwa 3 GiB RAM adressieren. Dies liegt an der internen Architektur des Betriebssystems. Einige Adressen sind für andere Zwecke reserviert. Weitere Informationen zu dieser sogenannten 3-GB-Barriere finden Sie auf Wikipedia . Sie können dieses Limit mit der physischen Adresserweiterung aufheben .


In Bezug auf die Speicheradressierung gibt es einige Dinge, die ich erwähnen sollte: virtueller Speicher , Segmentierung und Paging .

Virtueller Speicher

Wie @Daniel R Hicks in einer anderen Antwort hervorhob, verwenden Betriebssysteme virtuellen Speicher. Dies bedeutet, dass Anwendungen nicht mit realen Speicheradressen arbeiten, sondern mit solchen, die vom Betriebssystem bereitgestellt werden.

Mit dieser Technik kann das Betriebssystem einige Daten aus dem RAM in eine sogenannte Auslagerungsdatei (Windows) oder einen Swap (* NIX) verschieben. Die Festplatte ist nur wenige Größenordnungen langsamer als der Arbeitsspeicher, stellt jedoch kein ernstes Problem für Daten dar, auf die nur selten zugegriffen wird, und ermöglicht es dem Betriebssystem, Anwendungen mehr Arbeitsspeicher bereitzustellen, als Sie tatsächlich installiert haben.

Paging

Worüber wir bisher gesprochen haben, nennt man flaches Adressierungsschema.

Paging ist ein alternatives Adressierungsschema, mit dem Sie mehr Speicher adressieren können, als Sie normalerweise mit einem Maschinenwort im flachen Modell verwenden könnten.

Stellen Sie sich ein Buch mit Wörtern aus vier Buchstaben vor. Angenommen, auf jeder Seite befinden sich 1024 Zahlen. Um eine Nummer zu adressieren, müssen Sie zwei Dinge wissen:

  • Die Anzahl der Seiten, auf denen dieses Wort gedruckt wird.
  • Welches Wort auf dieser Seite ist das, nach dem Sie suchen?

Genau so gehen moderne x86-CPUs mit Speicher um. Es ist in 4 KiB-Seiten (jeweils 1024 Maschinenwörter) unterteilt und diese Seiten haben Nummern. (Tatsächlich können Seiten auch 4 MiB groß oder 2 MiB mit PAE sein ). Wenn Sie die Speicherzelle adressieren möchten, benötigen Sie die Seitenzahl und die Adresse auf dieser Seite. Beachten Sie, dass auf jede Speicherzelle genau ein Zahlenpaar verweist, was bei der Segmentierung nicht der Fall ist.

Segmentierung

Nun, dieser ist dem Paging ziemlich ähnlich. Es wurde in Intel 8086 verwendet, um nur ein Beispiel zu nennen. Adressgruppen werden jetzt als Speichersegmente und nicht als Seiten bezeichnet. Der Unterschied besteht darin, dass sich Segmente überlappen können und sie sich häufig überlappen. Beispielsweise waren auf 8086 die meisten Speicherzellen aus 4096 verschiedenen Segmenten verfügbar.


Ein Beispiel:

Nehmen wir an, wir haben 8 Bytes Speicher, die alle Nullen enthalten, mit Ausnahme des 4. Bytes, das 255 entspricht.

Abbildung für Flat-Memory-Modell:

 _____
|  0  |
|  0  |
|  0  |
| 255 |
|  0  |
|  0  |
|  0  |
|  0  |
 -----

Abbildung für ausgelagerten Speicher mit 4-Byte-Seiten:

 PAGE0
 _____
|  0  |
|  0  |
|  0  |  PAGE1
| 255 |  _____
 -----  |  0  |
        |  0  |
        |  0  |
        |  0  |
         -----

Abbildung für segmentierten Speicher mit um 1 verschobenen 4-Byte-Segmenten:

 SEG 0
 _____   SEG 1
|  0  |  _____   SEG 2
|  0  | |  0  |  _____   SEG 3
|  0  | |  0  | |  0  |  _____   SEG 4
| 255 | | 255 | | 255 | | 255 |  _____   SEG 5
 -----  |  0  | |  0  | |  0  | |  0  |  _____   SEG 6
         -----  |  0  | |  0  | |  0  | |  0  |  _____   SEG 7
                 -----  |  0  | |  0  | |  0  | |  0  |  _____
                         -----  |  0  | |  0  | |  0  | |  0  |
                                 -----   -----   -----   -----

Wie Sie sehen können, kann das 4. Byte auf vier Arten adressiert werden: (Adressierung von 0)

  • Segment 0, Offset 3
  • Segment 1, Offset 2
  • Segment 2, Offset 1
  • Segment 3, Offset 0

Es ist immer die gleiche Speicherzelle.

In realen Implementierungen werden Segmente um mehr als 1 Byte verschoben (für 8086 waren es 16 Byte).

Das Schlechte an der Segmentierung ist, dass sie kompliziert ist (aber ich denke, das wissen Sie bereits;). Gut ist, dass Sie einige clevere Techniken verwenden können, um modulare Programme zu erstellen.

Sie können beispielsweise ein Modul in ein Segment laden, dann so tun, als wäre das Segment kleiner als es tatsächlich ist (gerade klein genug, um das Modul zu halten), dann das erste Segment auswählen, das sich nicht mit diesem pseudo-kleineren überschneidet, und das nächste Modul laden , und so weiter. Grundsätzlich erhalten Sie auf diese Weise Seiten mit variabler Größe.

gronostaj
quelle
1
Ein Betriebssystem kann dem Benutzerprozess den gesamten virtuellen 4GiB-Adressraum (möglicherweise minus eine Seite - 4KiB für x86) zuweisen, verteuert jedoch Systemaufrufe, da der Adressraum geändert werden muss. Mit PAE und ähnlichen Mechanismen kann die Menge des vom System adressierbaren physischen Speichers erhöht werden, obwohl die Adressen immer noch auf 32 Bit begrenzt sind.
Paul A. Clayton
Es ist nicht das, wonach ich gesucht habe, aber es sind trotzdem gute Informationen! Vielen Dank für die gute Erklärung der max. Ziffernsache (1 = max. wie in Binär 9 ist max.) für den Binär- und Dezimaltabellenvergleich. Wirklich eine gute Art, darüber nachzudenken. Ich habe etwas Neues gelernt. :) Vielen Dank!
Johan Smohan
Dieser Gibi und Giga ist so verwirrend ... Weil ich auf einigen Websites gelesen habe, dass der Speicher in Gibi gemessen wird und auf anderen, dass er in Giga ist ... Haben Sie eine gute / zuverlässige Quelle?
Johan Smohan
Wikipedia hat einen Artikel über binäre Präfixe, einschließlich einiger historischer Hintergründe. Die meisten hardwarebezogenen Zahlen verwenden Dezimalpräfixe, die bemerkenswertesten Ausnahmen sind wahrscheinlich RAM und möglicherweise Farbskala - z. LCDs mit 16 Millionen Farben haben drei 8-Bit-Farbkanäle (2 ^ 24). Direkte Beantwortung Ihrer Frage: In diesem Fall entspricht die Anzahl der verfügbaren Adressen der Anzahl der Speicherbytes, da der RAM pro Byte adressiert wird. 32-Bit-CPU kann bis zu 2 ^ 32 B, 64-Bit-1 - 2 ^ 64 verarbeiten.
Gronostaj
Vielen Dank! Ich brauche das für Schulprüfungen. :) Ich denke, dass ich jetzt die meisten Dinge verstehe. Das einzige, was mich noch stört, ist, warum 2 ^ 32 B, wenn es ein 32-Bit-Prozessor und kein 32-Byte ist?
Johan Smohan
3

Beachten Sie außerdem, dass die virtuelle Adressierung zusammen mit mehreren Adressräumen verwendet wird . Obwohl Sie nur 1 GB RAM haben, kann ein Programm konzeptionell bis zu 4 GB virtuellen Speicher verwenden (obwohl die meisten Betriebssysteme dies auf weniger als diesen beschränken). Und Sie können konzeptionell eine (fast) unendliche Anzahl solcher 4-GB-Adressräume haben.

Die RAM-Größe schränkt die maximale Größe eines Programms oder die Anzahl der Programme, die Sie ausführen können, nicht (so sehr) ein, sondern schränkt die Leistung ein. Wenn der reale Speicher "überlastet" wird und das System zu "verdrängen" beginnt, während es "Seiten" des Speichers zwischen RAM und Festplatte "hin- und herwechselt", sinkt die Leistung.

Daniel R Hicks
quelle
2

Das 1 GByte RAM würde 1024 * 1024 * 1024 Bytes oder 1.073.741.824 Bytes belegen.

Ein 32-Bit-Prozessor verfügt immer über 4 * 1024 * 1024 * 1024 Byte oder 4.294.967.296 Byte Adressraum. In diesem Bereich wird 1 GB RAM angezeigt. Auf Intel-Prozessoren muss ein Teil des Arbeitsspeichers für die Interrupt-Vektoren an der Adresse 0 angezeigt werden, sodass der physische Arbeitsspeicher an der Adresse 0 beginnt und steigt.

In diesem Adressraum werden andere Dinge angezeigt, z. B. BIOS- und Options-ROMs (in den oberen 384 KB innerhalb der ersten 1 MB), E / A-Geräte (wie der APIC) und der Video-RAM. Einige seltsame Dinge passieren auch mit dem Systemverwaltungsmodus "SMRAM", den ich noch nicht vollständig verstehe.

Beachten Sie, dass dies aus Sicht des Kernels ein physischer Adressraum ist. Die MMU kann all dies auf beliebige Weise in einen Userspace-Prozess umordnen.

LawrenceC
quelle
Ich habe auf Wikipedia festgestellt, dass 1 Speicheradresse 32 Bit breit oder 4 Oktette (1 Oktett = 8 Bit) ist, verglichen mit 64 Bit bei einem Prozessor, bei dem 1 Speicheradresse oder 1 Ganzzahl 64 Bit breit oder 8 Oktett ist. Sie haben Recht mit dem Adressraum von 4 * 1024 * 1024 * 1024 Bytes, aber ich habe nach dem Speicheradressraum gesucht, der meiner Meinung nach 1 GB / 32 Bit beträgt, aber ich weiß immer noch nicht, ob ich richtig bin oder nicht. :) Vielen Dank für Ihre Antwort!
Johan Smohan
Np. Intel-CPUs haben zwei Adressräume: "Speicher" und "E / A". Andere Dinge als RAM werden im Bereich "Speicher" angezeigt. Andere Dinge wie E / A-Geräte oder ROM befinden sich möglicherweise an Stellen, die nicht vom RAM belegt sind. Im Allgemeinen werden nur E / A-Geräte im E / A-Adressraum angezeigt.
LawrenceC
@johansmohan Weder deine Zahlen noch Lawrences Antwort sind korrekt. Es gibt keine feste Beziehung zwischen der "Bitbreite" eines Prozessors und der Breite der RAM-Adressen, die er verwenden kann. Nur-32-Bit-x86-Prozessoren können 64 GB RAM adressieren. x64-Prozessoren wurden im physischen 40-Bit-Adressraum gestartet und haben jetzt 52 Bit. Der virtuelle Adressraum kann auch anders sein. Auf x64 werden, obwohl das Speichern der virtuellen Adressen 64 Bit benötigt, nur 48 Bit implementiert, für ein VAS von 256 TiB anstelle der 16 EiB, die Sie von 64 Bit erwarten würden.
Jamie Hanrahan
0

Ein 32-Bit-Prozessor kann höchstens 2 ^ 32 einzelne Speicherbytes (ca. 4 GB) adressieren, aber 1 GB Speicher würde 1 * 1024 * 1024 * 1024 adressierbare Bytes Speicher ergeben (obwohl Sie wahrscheinlich immer noch einen virtuellen Adressraum von 2 ^ 32 haben würden ). Eine 64-Bit-CPU könnte 2 ^ 64 einzelne Bytes adressieren, aber ich denke, die meisten Systeme verwenden nur 48 Bit für Speicheradressen, die die Obergrenze bilden. adressierbare Bytes 2 ^ 48.

Acid
quelle
Du meintest 1024 * 1024 * 1024 und nicht 1 * 1024 * 1024, oder?
Johan Smohan
Ein 32-Bit-Prozessor kann höchstens 2 ^ 32 Oktette oder Bits adressieren? Ich überprüfe nur, weil ich es sicher wissen muss.
Johan Smohan
@johan smohan Richtig, es sollte 1 * 1024 * 1024 * 1024 gewesen sein
AcId
@johan smohan Ein 32-Bit-Prozessor kann höchstens 2 ^ 32 Bytes adressieren, wobei ein Byte 8 Bit (ein Oktett t Bit) ist
AcId
0

Die akzeptierte Antwort gibt eine gute Erklärung. Aber ich denke nicht, dass es die Antwort ist. Es enthält nichts über den Adressbus . Und seine Größe ist tatsächlich der Hauptgrund für Speicherbeschränkungen. Zum Beispiel ist 8080 ein 8-Bit-Prozessor (die Größe seines Datenbusses beträgt 8 Bit), aber er hat einen 16-Bit-Adressbus. Es kann 2 ^ 16 = (2 ^ 6) * (2 ^ 10) = 64 * 1024 Bytes = 64 KB adressieren.

Weitere Informationen finden Sie hier (32-Bit) im Abschnitt "Technische Geschichte".

Dmitriy Dokshin
quelle
Genau. Beachten Sie, dass die späteren Modelle des 16-Bit-PDP-11 über einen 22-Bit-Adressbus verfügten (und somit 4 MB RAM adressieren konnten). Der HP 1000MX, ebenfalls "16-Bit", erreichte schließlich 16 MB RAM (24) -bit Adressen); Der VAX war eine 32-Bit-CPU, hatte jedoch einen physischen 30-Bit-Adressraum, aber die Hälfte war für den E / A-Raum reserviert, für ein RAM-Limit von 512 MB. der "16-Bit" 8086, 1 MB; der "16-Bit" 80286, 16 MB; usw. Und als PAE mit dem Pentium Pro eingeführt wurde, konnte 32-Bit-x86 bis zu 64 GB RAM adressieren (physischer 24-Bit-Adressraum, obwohl die niederwertigen drei Bits es nie tatsächlich aus der CPU schaffen).
Jamie Hanrahan
-2

Ich glaube, dass die grundlegendsten Informationen in diesem Gespräch verloren gehen. Hier ist meine Antwort:

"Dies ist ein 32-Bit-Prozessor" bedeutet, dass die Befehlsgröße oder Befehlsgröße, die die CPU gleichzeitig verstehen und damit arbeiten kann, 32 Bit beträgt. Ebenso bei 64-Bit-Prozessoren: Sie können Anweisungen mit höchstens 64-Bit verarbeiten.

Stellen Sie sich das wie einen alten mechanischen Taschenrechner vor: Sie haben nur so viele Ziffern, können also einfach keine längere Zahl mehr eingeben.

Jetzt muss eine Adresse, die eine CPU verwenden kann, auch in denselben Speicherplatz passen. Für einen 32-Bit-Prozessor kann die verwendete Adresse also höchstens 32 Bit betragen. Von hier aus können wir einfach die maximale Anzahl von Adressen berechnen (dh die maximale Menge an RAM, die von der CPU verwendet werden kann):

2 ^ 32 = 4294967296 (= 4 GB)

oder

2 ^ 64 = 18446744073709551616 (= viel mehr;)

Als lustiges Beispiel hatte mein alter Commodore 64 eine 16-Bit-CPU, sodass er einen Speicher verwalten konnte von:

2 ^ 16 = 65536 Bytes (= 64 KB)

Dies ist die grundlegende Logik, aber wie bereits erwähnt, gibt es Möglichkeiten, diese Einschränkung zu umgehen, z. B. virtuelle Adressräume, Speicherzuordnung usw.

Tuncay Göncüoğlu
quelle
2
Der signifikante Unterschied zwischen 32- und 64-Bit-Prozessoren ist der Adressbereich (der den virtuellen Adressraum mehr als "real" beeinflusst). Prozessoren verwenden so viele Tricks, dass es in vielen Fällen schwierig ist, die tatsächliche Datenpfadbreite zu bestimmen. Und die Befehlslänge ist weitgehend unabhängig von der "Breite" des Prozessors.
Daniel R Hicks
Die Erklärung ist vollkommen richtig. Angenommen, Sie meinen nicht die tatsächliche Chipdimension in Zentimetern, wenn Sie "Prozessorbreite" sagen. In diesem Fall würden Sie zu Recht sagen, dass dies nicht der Fall ist, und verwechseln Speicherzuordnungstechniken / virtuelle Adressräume mit physischer Speicheradressierung. Darüber hinaus bezieht sich das, was Sie sagen, eher auf Kernel-Implementierungen. Vielleicht möchten Sie PAE-Linux-Kernel überprüfen.
Tuncay Göncüoğlu
2
Die Länge eines Befehls hat überhaupt keine Beziehung zur "Breite" des Prozessors in modernen Systemen. Die relevantesten Werte sind die Breite der Register (obwohl dies trügerisch sein kann), die Breite des Übertragungspfads zwischen Prozessor und Speicher und die Größe einer Speicheradresse in Bit. Diese 3 Werte können sich jedoch sehr leicht voneinander unterscheiden.
Daniel R Hicks
1
@ DanielRHicks Daniel Hicks ist richtig. Die "Bitbreite" der CPU hat nicht unbedingt etwas mit der "Befehlsgröße oder Befehlsgröße" zu tun. Es gab CPUs, die auf diese Weise gebaut wurden, aber die heutigen Standardprozessoren (x86 / x64) gehören nicht dazu.
Jamie Hanrahan