Cache lager
(eller: cache, cache memory, hurtiglager).
Et hurtigt lager, der er indskudt mellem en CPU og dens arbejdslager og bidrager til en forøgelse af computerens ydeevne. Cache lageret er ofte delt i en datadel og en instruktionsrettet del. Baggrunden for brug af cache på dette sted er, at de hurtige CPU'er, der findes i dag, ofte vil være i stand til at hente instruktioner og data fra arbejdslageret hurtigere end det er muligt for arbejdslagerets at levere dem på grund af arbejdslagerets relativt langsomme accestid (tilgangstid), medmindre der benyttes overmåde hurtigt og dermed kostbart arbejdslager.
Selve behandlingen af en instruktion kan dog vare længere end accestiden. Derfor fungerer instruktionsdelen af et cache lager som en buffer, således at mens CPU'en udfører en instruktion, sørger en speciel cache-controller konstant for at indlæse den efterfølgende programkode fra det primære arbejdslager ind i cache lageret. Efter endt behandling af en instruktion ligger den næste instruktion eller det næste dataelement således klar i det hurtige lager, og CPU'en kan fortsætte behandlingen uden ventetid i form af wait states.
I forbindelse med hop-instruktioner, der springer til et andet sted i programkoden, eller læse-instruktioner, der henter dataelementer fra arbejdslageret, kan det forekomme, at der adresseres instruktioner eller data, som ikke allerede findes i cache lageret. I sådanne tilfælde må CPU'en vente, til data er overført fra det primære lager. Herefter sørger cache controlleren for videre indlæsning fra det nye lagerområde. Procentdelen af det samlede antal lagertilgange, hvor CPU'en faktisk læser direkte fra cache, kaldes hit rate. I normal anvendelse ses hit rate i størrelsesordenen 90-95%.
Hit rate kan forbedres med større cache lager eller specielle teknikker, hvor cache controlleren forsøger at forudsige forløbet af f.eks. hop-instruktioner og derved forudindlæser data fra flere alternative lagerområder. Sådanne teknikker kaldes ofte for anticipativ cache, 2-way eller 4-way cache.
CPU'en vil således normalt gennemføre alle læsninger fra cache lageret. Da cache lageret har en meget begrænset størrelse, set i forhold til det primære arbejdslager, bliver meromkostningerne til hurtige lagerkredse og controllere små, sammenlignet med prisen for at reducere accestiden for det samlede arbejdslager.
Cache lager anvendes i udstrakt grad på alle nyere computere. Typiske cache-størrelser går på PC'er fra 32 KB til flere MB. Mikroprocessorerne har på selve chippen gerne en mindre, intern cache lager (8-256 KB), der ofte suppleres med et større eksternt cache lager kaldet 2nd level cache (second level cache).

