Cache-minne påskyndar CPU genom att fungera som en höghastighetsbuffert mellan CPU och huvudminnet (RAM). Så här fungerar det:
* snabbare åtkomst: Cache är betydligt snabbare än RAM. CPU kan komma åt data i cachen mycket snabbare än den kan komma åt data i RAM. Denna hastighetsskillnad är betydande, ofta mätt i nanosekunder kontra mikrosekunder eller till och med millisekunder.
* Datalokalitet: Cache utnyttjar principen om referensplats. Denna princip säger att ett program sannolikt kommer att få åtkomst till samma data eller instruktioner upprepade gånger under en kort period. När CPU kommer åt en data, hämtar den inte bara den data utan också kopierar data i närheten av cachen. Detta innebär att när CPU behöver den närliggande data senare kan den komma åt dem från den mycket snabbare cachen snarare än den långsammare RAM. Det finns två huvudtyper av lokalitet:
* Temporal lokalitet: Samma data nås flera gånger inom en kort period.
* rumslig lokalitet: Data som ligger nära nyligen åtkomst till data kommer sannolikt att nås snart.
* hierarkisk struktur: Moderna CPU:er använder ofta flera nivåer av cache (L1, L2, L3, etc.), var och en med ökande storlek och minskande hastighet. L1 -cache är den minsta och snabbaste, närmaste till CPU -kärnan. L2 -cache är större och långsammare än L1, och L3 (om den är närvarande) är fortfarande större och långsammare. CPU kontrollerar först L1, sedan L2, sedan L3 och slutligen RAM om data inte finns i någon av cachenivåerna. Denna hierarkiska struktur optimerar både hastighet och kapacitet.
* hitförhållande: Cachens effektivitet mäts med *HIT -förhållandet *, som är procentandelen gånger CPU hittar de data den behöver i cachen. Ett högt hitförhållande indikerar en välutnyttjad cache och avsevärt förbättrad prestanda. Ett lågt hit -förhållande innebär att CPU spenderar mer tid på att vänta på data från RAM, vilket förnekar fördelen med cachen.
Kort sagt, cacheminnet fungerar som ett mycket snabbt, litet, tillfälligt lagringsområde som har ofta åtkomst till data. Genom att hålla ofta använda data nära CPU, minskar de drastiskt tiden det tar att hämta information, vilket leder till en betydande ökning av den totala systemprestanda.