Seite 1 von 1

Übung 6 - Aufgabe 1.5

Verfasst: 24. Mär 2012 11:32
von John_Silver
Weil es ein vollassoziativer Cache ist, hat der Cache ein Set. Somit fallen die Set Index Bits auf 0.
4 Wörter pro Block, also 2 Blockoffset Bits.

Pro Block 16 Byte (4 Wörter * 4 Byte/Wort)).
Somit also 2 Blöcke. (32 Byte / 16 Byte)

Ich versteh einfach nicht wie man dann auf "0x010 - 0x01F" als Antwort kommt? Es gibt doch nur zwei Blöcke.
Also hat man die ersten 10 Bits als Tag Bits.
Die Tag Bits des ersten Zugriffes sind also 0000 0000 00 und die Blockoffsetbits 01.
Bei Zugriff 0x01E wären das 0000 0001 11 und Blockoffset 10.

Wäre dankbar für eine Antwort :)

Re: Übung 6 - Aufgabe 1.5

Verfasst: 24. Mär 2012 11:47
von onbes

Re: Übung 6 - Aufgabe 1.5

Verfasst: 24. Mär 2012 12:01
von John_Silver
Danke!
Damit bin ich schon um einiges weiter. Wie kommt man dann auf "0x010 - 0x01F"?
Markus1189 hat geschrieben:1) 0x001 -> 0000.0000 | 0001 -> miss, Einlagerung in Eintrag 1
2) 0x004 -> 0000.0000 | 0100 -> hit in Eintrag 1, Byte 4
3) 0x008 -> 0000.0000 | 1000 -> hit in Eintrag 1, Byte 8
4) 0x004 -> 0000.0000 | 0100 -> hit in Eintrag 1, Byte 4
5) 0x01E -> 0000.0001 | 1110 -> miss, Einlagerung in Eintrag 2
6) 0x004 -> 0000.0000 | 0100 -> hit, in Eintrag 1, Byte 4
7) 0x0FF -> 0000.1111 | 1111 -> miss, LRU ist Eintrag 2
Ich würde es verstehen, wenn man schreiben würde "0x01E - 0x0FF", aber "0x010 - 0x01F"???

Re: Übung 6 - Aufgabe 1.5

Verfasst: 24. Mär 2012 12:34
von der Interpeter
Block Offset ist 4 Bit, die restlichen 8 Bit der Adresse gehören zum Tag.
Wenn der Block in dem 0x01E gespeichert war, verdrängt wird, wird ja der gesamte Block verdrängt. Also 0x010-0x01F.

Der Block mit dem Tag 0x01 fängt ja bei 0x010 an und hört bei 0x01F auf.

Ich wüsste jetzt nicht wie ich es besser erklären könnte :?

Re: Übung 6 - Aufgabe 1.5

Verfasst: 24. Mär 2012 12:40
von John_Silver
Achso ja! Es werden also alle Wörter von "0000" bis "1111" mit dem Tag "0000 0001" überschrieben.
Danke!!!