Wat is Direct Mapping?
Directe mapping is een methode om informatie op te slaan voor gemakkelijke toegang op een computer. Recent gebruikte informatie wordt opgeslagen in een cache zodat de computer de informatie snel kan vinden de volgende keer dat deze nodig is. Bij computerprogrammering is een cache een klein gedeelte van RAM (RAM) dat apart wordt gezet om gemakkelijk gegevens op te halen. Met directe toewijzing krijgt elk stuk gegevens in het geheugen een spatie in de cache, die het deelt met andere gegevens. Cachegegevens worden voortdurend overschreven omdat nieuwe gegevens nodig zijn.
Een cache is georganiseerd in lijnen. Elke regel is slechts groot genoeg om één gegevensblok en een tag op te slaan om te identificeren waar de gegevens vandaan kwamen. Wanneer een gebruiker om een stuk gegevens vraagt, scant de computer eerst de cache om te zien of de informatie aanwezig is. Als dit het geval is, wordt de informatie teruggestuurd naar de gebruiker. Dit staat bekend als een cache-hit, die sneller is dan het ophalen van de gegevens van de oorspronkelijke locatie.
Het percentage aanvragen dat resulteert in cache-hits wordt de hit-snelheid genoemd. Als de door de gebruiker gevraagde gegevens zich niet in de cache bevinden, zal de computer deze in het geheugen vinden. Een kopie van de gegevens wordt in de cache geplaatst, zodat deze snel kan worden gevonden de volgende keer dat de gebruiker erom vraagt, in theorie de hitrate verhogen. Dit gebeurt allemaal achter de schermen. De gebruiker weet niet of de ontvangen gegevens uit de cache of het geheugen kwamen.
Directe toewijzing is een methode om te bepalen waar geheugenblokken in de cache worden opgeslagen. Aan elk geheugenblok wordt een specifieke regel in de cache toegewezen. Omdat de cache kleiner is dan het geheugen, delen meerdere blokken een enkele lijn in de cache. Als een regel al vol is wanneer er een nieuw blok naar moet worden geschreven, wordt een oud blok overschreven.
Hoewel directe toewijzing een zeer eenvoudige en gemakkelijke manier is om een cache te ontwerpen, levert het wel enkele problemen op. Als een programma voortdurend toegang heeft tot meerdere gegevensblokken die dezelfde regel delen in een direct mapping cache, wordt de regel vaak herschreven. Dit resulteert in veel missers, omdat de gegevens die de computer nodig heeft minder snel de gegevens zijn die zich momenteel in die cache-regel bevinden. Directe kaarten hebben dus een lagere hitrate dan andere cachemodelmodellen.