0 Daumen
1,5k Aufrufe

ich soll für eine Cache-Art (Fully Associative Cache, Speicherkapazität 64 Byte, Zeilenlänge 16 Byte, Adresslänge 8 Bit und Wortlänge 4 Byte) die Zusammensetzung der Adresse angeben, also welche Bits zu TAG, LINE, WORD bzw. BYTE gehören.

Ich hab keine Ahnung wie das gehen soll, in meinem Skript werde ich nicht fündig, da wurde das nur anhand eines Beispiels gezeigt, allerdings ohne jegliche Erklärungen und so ist es für mich nicht nachvollziehbar. Im Internet bin ich auch bisher nicht wirklich fündig geworden. Vielleicht kann mir ja hier jemand helfen.

Avatar von

1 Antwort

0 Daumen

Folgendes ist gegeben:

Ein Fully Associative Cache mit:

Adresslänge 8 Bit.

Speicherkapazität 64 Byte

Zeilenlänge 16 Byte

Wortlänge 4 Byte


Da es sich um einen Fully Associative Cache handelt musst du nun die Bits für TAG, WORD und BYTE berechnen um die Speicheradresse zu erhalten (LINE entfällt bei einem FAC).


Die Berechnungen:

Bits für WORD: 16 Byte (Zeilenlänge) / 4 Byte (Wortlänge) = 4 = 2^2 → 2 Bits für WORD (da Exponent = 2)

Bits für BYTE: 4 Byte (Wortlänge) = 2^2 → 2 Bits für BYTE (da Exponent = 2)

Bits für TAG:

Ergibt sich aus den übriggeblieben Bits, also 8 (Adresslänge)  - 4 (2 für WORD + 2 für BYTE)

= 8 - 4 = 4 Bits für TAG


Die Adressverteilung sieht in Tabellenform damit so aus:

TAG
WORD
BYTE
 7  6  5  4 
3  2
1  0

Wobei die Einträge der Tabelle die entsprechenden Bits repräsentieren.

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community