1.2 – Speicheradressierung

 
  1. Ein an eine CPU angeschlossener Speicherbaustein besitze 20 Adress- und 16 Datenleitungen. Wie groß ist die Speicherkapazität des Bausteins (in kB oder MB)?
  2. Der maximal direkt adressierbare Speicher für Windows XP ist 4GB in der 32Bit Variante. Wie groß ist die Wortbreite?
  3. Wie viel Speicher kann bei gleicher Wortbreite in der 64 Bit Version direkt angesprochen werden?

Lösung

a)

Eine Speicherzelle bezeichnet die Realisierung der kleinsten adressierbaren Einheit, einem sogenannten Datenwort. Möchte man die Größe des Speichers berechnen, muss man zwei Dinge bedenken:

Die Anzahl der Adressleitungen gibt an, wie viele Speicherzellen es gibt. Da jede Leitung ein positives oder ein negatives Bit übertragen kann, gibt es bei n Adressleitungen {2^n} Speicherzellen. Ist eine Speicherzelle nun genau ein Bit groß, hat man damit schon die Größe des Speichers. Üblicherweise sind die Speicherzellen aber in der Größe von Zweierpotenzen ausgeführt, also z.B. 8Bit oder 16Bit. In diesem Fall muss man, um die Größe des Speichers bei einer Wortbreite (Größe der Speicherzelle) von p zu bestimmen, p \cdot {2^n} rechnen.

Die Anzahl der Datenleitungen entspricht der Wortbreite. Es gilt also für den maximalen Speicher K:

K = Anz.Datenleitungen \cdot {2^{Anz.\:Adressleitungen}}

Hier ist:

n = 20,\quad Wortbreite = 16bit = 2Byte

K = 2 \cdot {2^{20}}Byte = 2MB

b)

Wie in der ersten Teilaufgabe besprochen, gilt für den maximalen Speicher:

K = Anz.Datenleitungen \cdot {2^{Anz.\:Adressleitungen}}

Bei einem Betriebssystem mit 32Bit haben wir 32 Adressleitungen. Gegeben ist:

K = 4 \cdot {2^{30}}Byte = 4 \cdot {2^{30}} \cdot 8Bit = {2^{35}}Bit

Wir müssen also nur die erste Formel umstellen und einsetzen:

Wortbreite = Anz.Datenleitungen = \frac{K}{{{2^{Anz.Adressleitungen}}}}

= \frac{{{2^{35}}Bit}}{{{2^{32}}}} = 8Bit = 1Byte

c)

Wieder können wir die gleiche Formel verwenden, nun setzen wir für die Anzahl der Adressleitungen 64 ein und übernehmen die Wortbreite von 8Bit = 1Byte aus Teilaufgabe b).

K = 1Byte \cdot {2^{64}} = 16 \cdot {2^{60}}Byte = 16EB

Ähnliche Artikel

Kommentar verfassen