2010-04-24 21 views
9

Ich bereite meine Prüfung für Computersystem vor. Ich verstehe nicht ganz, wie man die Anzahl der für den Speicher benötigten Adressbits berechnet.how to berechnen Anzahl der Adressbits für den Speicher benötigt?

Zum Beispiel
Angenommen, ein 1G x 32-Bit-Hauptspeicher aufgebaut wird unter Verwendung von 256m x 4-Bit-RAM-Chips und dieser Speicher ist Wort adressierbar.

Wie viele Adressenbits benötigt ein Speichermodul?

Wie viele Adressenbits sind für den gesamten Speicher erforderlich?

Und was ist, wenn der Speicher ist byte adressierbar, was wären die Lösungen?

Vielen Dank

+2

Sagen Sie uns, was Sie zuerst denken. –

+0

Das Hausaufgaben-Tag sollte nicht mehr benutzt werden! – markus

Antwort

4

Heute wird das Wort byte immer 8 Bits bedeuten, die verwendet (es nicht immer verwenden, so sein, weshalb das Wort octet, speziell definiert genau 8 Bits bedeuten, wird immer noch in Dokumenten verwendet, wenn Genauigkeit erforderlich ist, z. B. beim Festlegen von Kommunikationsprotokollen).

So berechnen Sie, wie viele Bits Sie adressieren müssen, durch 8 dividieren, und das ist, wie viele Bytes müssen Sie Adresse. Die Anzahl der Bits, die Sie in jeder Adresse benötigen, ist offensichtlich die Obergrenze des Logarithmus in der Basis 2 der Anzahl der verschiedenen Bytes, die Sie adressieren müssen - ich hoffe, dass , dass Teil keine Überraschung ist ;-).

Der Begriff word ist immer noch ziemlich zweideutig: je nach Kontext kann es 16 Bit oder 32 Bit oder sogar mehr bedeuten. Wie auch immer, sobald Sie wissen, wie viele Bits das bedeutet, ist der Prozess genau der gleiche wie für Bytes, ersetzen Sie einfach 32 (oder was auch immer) anstelle von 8 im vorherigen Absatz.

Natürlich gilt dies genauso für ein einzelnes Modul wie für den gesamten Speicher - berechnen Sie jeweils die Anzahl der Bits, teilen Sie, um die Anzahl der Bytes oder Wörter zu erhalten, log2, und nehmen Sie die Obergrenze dafür (Natürlich wird der letzte Schritt nicht benötigt, wenn log2 eine Ganzzahl ist ;-).

8

Wie viele Adressenbits benötigt für ein Speichermodul?

Kenntnis dieser helfen:

2^8 = 256 
2^10 = 1024 = 1 KB 
2^20 = 1 MB 
2^30 = 1 GB 
2^32 = 4,294,967,296 = 4 GB 

Sie werden mindestens 28 Bits müssen in einem 256 MB Speichermodul zur Adresse (die Exponenten hinzufügen, wenn Sie sie multiplizieren).

Wie viele Adressenbits benötigen Sie für den vollen Speicher? ?

Seit 1 GB = 2^30 benötigen Sie 30 Bits, um diesen 1 GB Speicher zu adressieren.

Der größte Speicher, den Sie mit 32 Bit adressieren können, ist 4 GB.

Und was ist, wenn der Speicher adressierbare Byte ist, was die Lösungen wäre?

Nicht sicher, was Sie hier fragen.

+0

Sie benötigen mindestens 28 Bits, um innerhalb eines 256MB Speichermoduls zu adressieren. Es sollte "Sie benötigen mindestens 8 Bits, um innerhalb eines 256MB Speichermoduls zu adressieren" Bin ich richtig? –

+0

Ich denke, die Tabelle, die ich oben angegeben habe, ist richtig: 2^8 = 256, 2^20 = 1MB. Also (2^8) * (2^20) = 2^28 = 256MB, weil "die Exponenten addieren, wenn du multiplizierst". – duffymo

0

Sie müssen nur mit berechnen: hier

S = (k*l)/(m*n) 

,
k*l = Der Chip, die wir schaffen wollen, und
m*n = Der Chip, der es schaffen verwendet wird.

In Ihrer Frage benötigen Sie {(2*1024)*32}/(256*4) Chip, der Ihnen das Ergebnis als 64 Chip geben wird.

+2

Würden die Downvoters ihre Stimmen erklären? – markus