Wie berechne ich hier die Größe des Tags?
Cache ist 512 Byte groß. Die einzelnen Blöcke sind 256 Byte groß. Im Hauptspeicher kann jedes einzelne Byte durch eine 16 Bit große Adresse angesprochen werden.
Daraus ergibt sich, dass der Offset 8 ist, weil log_2(256). Für den Tag hätte ich zuerst 512/256 gerechnet und das Ergebnis (=2) plus den Offset dann von der 16 Bit Adresse abgezogen was auf 6 kommen würde, aber das Ergebnis müsste 8 sein.
1 Antwort
https://en.wikipedia.org/wiki/CPU_cache
tag_length = address_length - index_length - block_offset_length
Da du einen direct mapped cache hast, gibt es nur einen Index. Somit gilt:
tag_length = 16 - log2(1) - log2(256) = 16 - 0 - 8 = 8.
Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Informatik-Studium