Vad är direkt kartläggning?
Direkt mappning är en metod för att lagra information för enkel åtkomst på en dator. Nyligen använt information lagras i en cache så att datorn snabbt kan hitta informationen nästa gång den behövs. Vid datorprogrammering är en cache en liten del av RAM-minnet (random access) (RAM) som avsätts för att enkelt hämta data. Med direkt kartläggning tilldelas varje datamängd i minnet ett utrymme i cachen, som den delar med andra data. Cache-data skrivs ständigt över eftersom nya data behövs.
En cache är organiserad i rader. Varje rad är bara tillräckligt stor för att lagra ett block med data och en tagg för att identifiera var datan kommer från. När en användare begär en datainformation, skannar datorn först cachen för att se om informationen finns där. Om så är fallet returneras informationen till användaren. Detta är känt som en cache-hit, vilket är snabbare än att hämta data från sin ursprungliga plats.
Procentandelen förfrågningar som resulterar i cache-träffar kallas träfffrekvensen. Om informationen som användaren begärde inte finns i cacheminnet kommer datorn att hitta dem i minnet. En kopia av data kommer att deponeras i cachen så att de kan hittas snabbt nästa gång användaren begär det, i teorin ökar träfffrekvensen. Allt detta händer bakom kulisserna. Användaren vet inte om de mottagna uppgifterna kom från cachen eller minnet.
Direkt mappning är en metod för att avgöra var minnesblock ska lagras i cachen. Varje minnesblock tilldelas en specifik rad i cachen. Eftersom cachen är mindre än minnet kommer flera block att dela en enda rad i cachen. Om en rad redan är full när ett nytt block måste skrivas till det kommer ett gammalt block att skrivas över.
Även om direkt kartläggning är ett väldigt enkelt och enkelt sätt att designa en cache, ger det vissa problem. Om ett program kontinuerligt får åtkomst till flera block med data som delar samma rad i en direkt mappningscache skrivs raden ofta. Detta resulterar i en hel del missförhållanden eftersom det är mindre troligt att data som datorn behöver är de data som faktiskt finns i den cachelinjen just nu. Så direkt kartläggning har en lägre träfffrekvens än andra modeller av cachekartläggning.