2017-11-08 4 views
1

Ich versuche die maximale Speichergröße zu berechnen, wobei ich die Bitlänge einer Adresse und die Größe der Speicherzelle kenne.Berechnen der Speichergröße basierend auf der Adreßbitlänge und dem Speicherzelleninhalt

Es ist mein Verständnis, dass, wenn die Adresse n Bits ist, dann gibt es 2^n Speicherplätze. Um dann aber die tatsächliche Speichergröße der Maschine zu berechnen, müssten Sie die Anzahl der Adressen mit der Größe der Speicherzelle multiplizieren. Ist das korrekt?

es auf eine andere Art und Weise ausgedrückt,

Schritt 1: die Länge der Adresse in Bits berechnen (n Bits) Schritt 2: Berechnung der Anzahl der Speicherplätze 2^n (Bits) Schritt 3: die Anzahl der Speicherplätze und multiplizieren Sie sie mit der Bytegröße der Speicherzellen.

Wenn jede Zelle zum Beispiel 2 Bytes wäre, würde ich 2^n Bits (für die Adresslänge) mit 2 Bytes pro Speicherzelle multiplizieren.

Also Gesamtspeicher wäre 2^n Bits (Adressgröße) * x Bytes (Zellengröße)?

Antwort

2

„tatsächliche Speichergröße der Maschine“

Ich nehme hier, dass Sie den physikalischen Adressraum der Maschine in Frage bedeuten, ignorierte virtuelle Adressierung etc. Die meisten modernen Maschinen sind byte- adressierbar (8 Bit), was bedeutet, dass jede Adresse sich auf 1 Byte bezieht. In diesem Fall ist unter der Annahme, dass Sie einen n-Bit-Prozessor mit einem passenden n-Bit-Adressbus haben (es gibt Fälle, in denen diese nicht gleich sind, beispielsweise Pentium-Prozessoren), die Anzahl der möglichen Speicherstellen 2^n Bytes.

Wenn Sie mehr spezialisierte Hardware (eingebettete Mikrocontroller usw.) haben, die wortadressierbar sind (16-Bit, 32-Bit), dann sind Sie richtig, dass Sie 2^n * (Wortgröße in Bits) multiplizieren würden/(8) = Anzahl der Bytes.

Wenn Sie die virtuelle Adressierung und die physikalischen Busgrößen berücksichtigen, die nicht mit den Adresszeilen des Prozessors übereinstimmen müssen, müssen Sie sich diese spezielle Maschine für das "theoretische Limit" ansehen.

+0

Vielen Dank. Ich habe versucht, Formeln zu erstellen, um die Architektur und diese Konzepte besser zu verstehen, und wollte sichergehen, dass ich auf dem richtigen Weg bin. Deine Antwort war perfekt. – JenTen10

Verwandte Themen