Direct Mapped Cache

Het forum voor overige vragen betreffende wiskunde uit het hoger onderwijs.
Plaats reactie
Energyfellow
Vast lid
Vast lid
Berichten: 26
Lid geworden op: 05 okt 2012, 17:11

Direct Mapped Cache

Bericht door Energyfellow » 01 dec 2012, 20:23

Hey,

Zou iemand mij kunnen helpen bij het oplossen voor deze direct mapped cache oefening?

Ik ben gewoon van ze zulke oefeningen op te lossen wanneer ze 8B breed zijn.
Dat wordt bijvoorbeeld:
4A: (01001010), waarbij (010) de Byte is, (01), de regel en (10) het blok.

Dit geeft dan bijvoorbeeld:
V _Tag__Data
1__10__37 36 35 34 33 32 31 30

Hoe doe ik dit wanneer mijn rij 4B breed is (en de cache 16B groot)?

Link afbeelding: http://s11.postimage.org/5dxn14qeb/Cache.png.

Dank bij voorbaat,
Roger

sanderdw
Nieuw lid
Nieuw lid
Berichten: 2
Lid geworden op: 24 mei 2013, 20:36

Re: Direct Mapped Cache

Bericht door sanderdw » 24 mei 2013, 20:58

De cache is 16 bytes groot, met een breedte van 4 bytes komt dit dus neer op 4 blokken, want de cache is direct mapped.

Zoals je reeds aanhaalt valt het adres op te delen in 3 delen: de TAG, de INDEX (line), en de OFFSET (byte) (in deze volgorde).

We beginnen met de index: deze geeft weer in welk blok van de cache de gegevens terechtkomen. Aangezien je cache 4 blokken telt, is deze index 0,1,2 of 3. Om alle indices weer te kunnen geven dien je dus 2 bits te voorzien (i.e., log_2(4)).

De offset geeft vervolgens weer waar in het blok de data moet worden gehaald. Via dezelfde redenering vinden we dat het aantal bits dat hiervoor nodig is gelijk is aan log_2(4) = 2.

De rest van het adres is de tag en bestaat hier dus uit 32 - 2 - 2 = 28 bits (op een 32-bitmachine), en dient louter ter identificatie van de data (de tag is uniek).

Naar de oefening nu: we halen de data op adres 19h op. 19h = 25 = 11001b. De offset (byte) is hier dus 01b = 1, de index (line) is 10b = 2, de tag is dan 1b = 1. De data wordt dus in de cache geladen in het derde van de 4 aanwezige blokken en bevindt zich binnen dit blok vanaf de 2de bit.

De andere ophalingen gebeuren volkomen analoog.

Plaats reactie