Instruksjon cache lagrer sett med instruksjoner som kreves av CPU for databehandling; mens data cache lagrer verdiene som kreves for dagens kjøring. L2 cache er ansvarlig for lasting av data fra hovedminnet. Igjen, kommer tilbake til biblioteket vårt eksempel vurdere en bibliotekarens skuff som L1 cache. På en travel dag, da etterspørselen etter bøker er høy og bibliotekar har allerede lagret mange bøker i hennes skuff, er sjansen stor for at det kan bli fullt ganske raskt. Det er der L2 cache kommer inn i bildet. Vurdere en bokhylle nær bibliotekar pult som L2 cache.
Når skuffen fylles opp, starter bibliotekar lagre bøkene i bokhylla. Nå, når det er behov for noen populære bok, bibliotekar første ser i hennes skuff; Hvis boken ikke er funnet der, hun søker den i bokhylla. Tilsvarende, når L1 bufferen er full, blir data som er lagret i L2-buffer. Prosessoren første ser for dataene i L1 cache, og hvis det ikke blir funnet, så bare L2 er søkte. Hvis dataene ikke er funnet i L2 i tillegg, er en tur til hovedlageret inevitable.
Is implementere mer cache en god idé? Ja og Nei Implementering mer cache vil la deg hente data raskt, bare i de tilfeller når dataene er tilgjengelig i enten L1 eller L2. Kommer tilbake til biblioteket vårt eksempel. Hvis en person ber om en populær bok, som ikke er lagret i bibliotekarens skuff eller bokhylla; hun først ser etter den i skuffen og deretter i bokhylla. På denne måten er mye bortkastet tid før hun endelig henter det fra bokhyllen.
På samme måte kontrollerer prosessoren først i L1, og deretter, i L2, og når elementet ikke er funnet i noen av bufferen, da bare sender en forespørsel til hovedlagerenheten. Som du må ha innsett, er mye av prosessoren bortkastet tid, på jakt etter elementet i de to cache minner. Når prosessoren finner den nødvendige dataelement i noen av cache minner, er "cache hit 'sies å ha oppstått; ved andre anledninger, tar en "cache miss 'sted. Dataelementer blir jevnlig oppdatert og erstattet ved hjelp av ulike algoritmer for å m