Hva er direkte kartlegging?
Direkte kartlegging er en metode for lagring av informasjon for enkel tilgang på en datamaskin. Nylig brukt informasjon lagres i en cache, slik at datamaskinen raskt kan finne informasjonen neste gang den er nødvendig. I datamaskinprogrammering er en cache en liten del av RAM (random access memory) som er avsatt for å enkelt hente data. Ved direkte kartlegging tildeles hvert stykke data i minnet en plass i cachen, som den deler med andre data. Cache-data overskrives kontinuerlig ettersom nye data er nødvendige.
En cache er organisert i linjer. Hver linje er bare stor nok til å lagre en blokk med data og en kode for å identifisere hvor dataene kom fra. Når en bruker ber om et stykke data, skanner datamaskinen først hurtigbufferen for å se om informasjonen er der. Hvis det er, returneres informasjonen til brukeren. Dette er kjent som en cache-hit, som er raskere enn å hente dataene fra det opprinnelige stedet.
Prosentandelen av forespørsler som resulterer i hurtigbuffertreff kalles trefffrekvensen. Hvis dataene brukeren ba om ikke er i hurtigbufferen, vil datamaskinen finne dem i minnet. En kopi av dataene vil bli lagt inn i hurtigbufferen slik at de blir funnet raskt neste gang brukeren ber om det, i teorien øker trefffrekvensen. Alt dette skjer bak kulissene. Brukeren vet ikke om mottatt data kom fra cachen eller minnet.
Direkte kartlegging er en metode for å bestemme hvor minneblokker skal lagres i cachen. Hver minneblokk tildeles en bestemt linje i hurtigbufferen. Siden cachen er mindre enn minnet, vil flere blokker dele en enkelt linje i cachen. Hvis en linje allerede er full når en ny blokk må skrives til den, blir en gammel blokk overskrevet.
Selv om direkte kartlegging er en veldig enkel og enkel måte å designe en cache på, gir den noen problemer. Hvis et program kontinuerlig får tilgang til flere datablokker som deler samme linje i en direkte kartleggingsbuffer, blir linjen skrevet om ofte. Dette resulterer i mye glipp fordi dataene datamaskinen trenger er mindre sannsynlig å være dataene som faktisk ligger i den cache-linjen for øyeblikket. Så direkte kartlegging har lavere trefffrekvens enn andre modeller for hurtigkartlegging.