Bedenk dat de statische geheugencel basis van transistor fasen, waarvan maximaal 10 transistoren kan bevatten. Sinds de schakeltransistor van de ene toestand naar de andere te verwaarlozen is, dan is de snelheid van de hoge statische geheugen.
Een cache is een klein bedrag en wordt direct op de processor chip geplaatst. De snelheid is veel hoger dan in het dynamisch geheugen (RAM modules), maar lager dan zijn algemene doeleinden registers (Ron) CPU.
Voor het eerst de cache was 386 computers en gevestigd op het moederbord. Moederbord 386 DX had de cache capaciteit 64-256 KB. 486 processors cache ligt op de processor chip al, maar de cache op het moederbord is opgeslagen. Het systeem cache is uitgegroeid tot een twee-niveau, on-chip geheugen bekend werdeerste niveau cache (L1) en het moederbord -tweede niveau cache (L2). Na verloop van tijd, het tweede niveau cache "verplaatst" on-chip processor. De eerste deed processor AMD K6-III (L1 = 64 Kb, L2 = 256 Kb).
De aanwezigheid van twee cache niveaus vereisen invoering van een mechanisme van hun interactie met elkaar. Er zijn twee opties voor de uitwisseling van informatie tussen de cache eerste en tweede niveau, of zoals ze zeggen, twee cache architectuur: inclusief en exclusief.
Inclusief cache
Inclusief architectuur gaat duplicatie van informatie die is opgeslagen in L1 en L2.
De regeling werkt als volgt. Bij het kopiëren van gegevens in het RAM-cache wordt twee exemplaren, wordt één exemplaar bewaard in L2, een ander exemplaar - in L1. Wanneer L1 volledig is gevuld, wordt de informatie vervangen door het principe van het verwijderen van de meeste "oude data" -LRU (Minst recent gebruikte). Zo ook gebeurt met het tweede niveau cache, maar omdat het bedrag meer, en wordt er langer bewaard.
Bij het lezen van gegevens van de processor cache, wordt genomen uit L1. Wanneer de gevraagde informatie in de cache van het eerste niveau is er, het is gezocht in L2. Als u informatie in het tweede niveau cache nodig wordt gevonden, wordt dit gekopieerd naar L1 (het principe LRU), en vervolgens doorgegeven aan de processor. Als u informatie niet in de cache en het tweede niveau nodig wordt gelezen uit RAM bovenstaande regel.
Inclusief architectuur wordt gebruikt in systemen waar het verschil in volume cache eerste en tweede niveau hoog. Bijvoorbeeld, de Pentium 3 (Coppermine): L1 = 16 KB, L2 = 256 Kb; Pentium 4: L1 = 16 KB, L2 = 1024 Kb. In dergelijke systemen, gedupliceerd klein deel van het tweede niveau cache, het is heel redelijke prijs voor het gemak van inclusieve mechanisme.
Exclusieve cache
Exclusief cache omvat unieke informatie opgeslagen in L1 en L2.
Bij het lezen van gegevens uit het geheugen naar de cache - informatie onmiddellijk in L1 ingevoerd. Wanneer L1 vol is, dan is het principe LRU informatie wordt overgedragen van L1 naar L2.
Als u de gegevens processor met L1 gewenste informatie te lezen is gevonden, wordt deze gezocht in L2. Als u informatie in L2, dan is het principe LRU cache moet eerst en tweede niveau deelt lijnen (de meeste "oude" lijn van L1 geplaatst in L2, en in plaats daarvan wordt geschreven op de rij L2). Als u informatie nodig hebt niet gevonden en L2, het is een beroep op de RAM-regeling hierboven beschreven.
Exclusief architectuur wordt gebruikt in systemen waar het verschil tussen de eerste en tweede cache niveau is relatief klein. Bijvoorbeeld, Athlon XP: L1 = 64 Kb, L2 = 256 Kb. In een exclusief cache architectuur beter benut, maar de regeling van een exclusief mechanisme veel moeilijker.
Interactie cache RAM
Aangezien de cache is zeer snel, wordt het in de cache gegevens die vaak processor wordt - welke snelheden werken. Informatie in RAM geplaatst in de cache, en dan blijkt processor. Er zijn verschillende schema's van de interactie tussen de cache en het hoofdgeheugen.
Cache-geheugen met directe mapping. De eenvoudigste versie van de interactie van cache RAM. RAM is verdeeld in segmenten (pagina's), het volume van het gehele volume cache (bijv, volume 64 KB cache en het geheugen is verdeeld in pagina's van 64 KB). De interactie van de cache RAM, wordt één pagina geplaatst in het RAM-cache, te beginnen vanaf nul-adres (dat wil zeggen, vanaf het begin cache). Bij heroperatie interactie, wordt de volgende pagina weergegeven over een bestaande - dat wil zeggen, in feite, de oude gegevens vervangen door de huidige.
Voordelen: Gemakkelijk Organisatie paneel, minimale zoeken.
Nadelen: inefficiënt gebruik van het gehele volume van de cache - het is niet noodzakelijk dat de gegevens het gehele volume van de cache zullen innemen, kunnen zij en 10%, maar het volgende stuk van gegevens elimineert de vorige, dus eigenlijk cache veel kleiner volume.
Kiezen-associatieve cache. Alle cache volume is onderverdeeld in verschillende gelijke segmenten, verschillende dviytsi in de gehele omvang (2, 4, 8). Bijvoorbeeld kan 64 kB cache worden onderverdeeld in:
Segment 2 van 32 KB per stuk;
Segment 4 tot 16 kB elk;
8 segmenten en 8 KB per.
Pentium 3 en 4 8-kanaals structuur cache (cache omvat 8 segmenten); Athlon Thunderbird - 16-kanaals.
In een dergelijke opstelling wordt de RAM verdeeld in pagina niveau qua één segment cache (een cache bank). Pagina RAM geschreven naar de eerste cache bank; volgende pagina - in de tweede cache bank enzovoorts, totdat alle cache banken zijn gevuld. Nadere informatie staat in de cache op de bank, die niet het langst heeft gebruikt (inclusief de meeste "oude" informatie).
Voordelen: verhoogt de efficiëntie van de gehele omvang cache - hoe groter de cache banken (hierboven associatie), hoe hoger de efficiëntie.
Nadelen: meer complexe beheer van de cache; extra tijd om de informatie te analyseren.
Associatieve cache. Dit grensgeval de vorige optie, wanneer het volume van cache bank is gelijk aan een lijn van de cache (het aandeel is nergens). Dus elke lijn RAM kan worden opgeslagen in elke locatie cache.
Opslag cache array bestaat uit rijen van gelijke lengte. De capaciteit van deze lijn is gelijk aan de grootte van het pakket schytыvaemoho RAM 1 cyclus (bijvoorbeeld Pentium 3-32 bytes Pentium 4-64 bytes). De lijn wordt in de cache geladen en alleen volledig uitgepakt.
Voordelen: maximale ruimte efficiëntie van de cache.
Nadelen: grootste verspilling van tijd aan het zoeken naar informatie.