Quants blocs hi ha en una CPU?
Els objectius d' aquest mòdul són discutir sobre els conceptes bàsics de la memòria cau. Parlarem de les diverses polítiques de mapatge i també debatre sobre les polítiques de lectura i escriptura. Bàsicament, les quatre preguntes principals respecten la col·locació, identificació de bloc, substitució i estratègia d'escriptura seran respostes.
La velocitat de la memòria principal és molt baixa en comparació amb la velocitat dels processadors moderns. Per a una bona actuació, el processador no pot passar molt de temps esperant a accedir a instruccions i dades a la memòria principal. Per tant, és important dissenyar un esquema que redueix el temps necessari per accedir a la informació necessària. Atès que la velocitat de la unitat de memòria principal està limitada per les restriccions electròniques i de paquets, la solució s'ha de buscar en un altre acord arquitectònic. Una solució eficient és utilitzar una velocitat ràpida Memòria cau , Bàsicament fa que la memòria principal sembli que el processador sigui més ràpid del que realment és. La memòria cau és una memòria més petita, més ràpida que desa còpies de les dades de les ubicacions principals de la memòria més usades. Mentre la majoria dels accéss de memòria són a les localitzacions de memòria cau, la mitjana d'accés de memòria estarà més a prop de la tardència de la memòria cau que al retard de la memòria principal.
L' eficàcia del mecanisme de memòria cau està basada en una propietat de programes informàtics anomenada localitat de referència . L'anàlisi de programes mostra que la major part del seu temps d' execució es passa en rutins en les quals s' executen moltes instruccions repetidament. Aquestes instruccions poden constituir un simple bucle, imbricat bucles, o uns quants procediments que es diuen repetidament l'un a l'altre. El patró detallat de la seqüència d' instruccions no és important, el punt és que moltes instruccions a les àrees localitzats del programa s' executen repetidament durant un període de temps, i la resta del programa s' accedeix relativament infreqüents. Això es refereix a com a localitat de referència . Es manifesta de dues maneres: temporal i espacial. El primer vol dir que una instracció recentment s'ha d'executar de nou molt aviat. L' aspecte especial vol dir que les instruccions de proximitat a una instrucció executada recentment (amb el respecte a les adreces de KDEDIRS) són probablement executats aviat.
Si els segments actius d' un programa es poden col·locar en una memòria cau ràpida, aleshores el temps total d' execució es pot reduir significativament. Conceptiument, l'operació d'una memòria cau és molt simple. El circuit de control de memòria està dissenyat per aprofitar la propietat de la localitat de referència. L' aspecte temporal de la localització de la referència suggereix que quan es tracta d' un element d' informació (intrducció o dades) és necessari primer, això L' element s' hauria d' introduir a la memòria cau on es quedarà esperant que sigui necessari una altra vegada. L' aspecte espacial suggereix que en comptes de recuperar només un element de la memòria principal a la memòria cau, també és útil recuperar diversos elements que resideixen a les adreces adjacents. Farem servir el terme bloc a referir- se a un conjunt de localitzacions contigua d' alguna mida. Un altre terme que sovint s' usa per a referir- se a un bloc cau és Línia de memòria cau.
La memòria cau que s' inclou en la jerarquia de memòria pot ser desglossa o Unificada/dual. Un cau dividit és un on tenim un cau de dades separat i un cau d' instruccions separades. Aquí, les dues caudes funcionen en paral·lel, una transferència de dades i les altres instruccions de transferència. Un cau dual o unificat és on es desen les dades i les instruccions al mateix cau. Un cau combinat amb una mida total igual a la suma de la memòria cau de dues split normalment tindrà una millor taxa d' impacte. Aquesta taxa més alta succeeix perquè el cau combinat no divideix rígidament el nombre d' entrades que poden usar- se per instruccions d' aquelles que poden ser usades per dades. No obstant això, molts processadors usen una instrucció de split i la memòria cau de dades per incrementar la memòria cau Amplada de banda .
Quan s' ha rebut una petició de lectura del processador, el contingut d' un bloc de paraules de memòria que contenen la localització especificada es transferiran a la memòria cau. Despres, quan el programa fa referència a qualsevol de les localitzacions d' aquest bloc, els continguts desitjats es llegeixen directament des de la memòria cau. Normalment, la memòria cau pot emmagatzemar un nombre raonable de blocs en qualsevol moment, però aquest número és petit comparat amb el nombre total de blocs de la memòria principal. La correspondència entre els blocs de memòria principal i els de la memòria cau s' especifica per un Funció de mapatge. Quan la memòria cau està plena i una paraula de memòria (destroducció o dades) que no està a la memòria cau és referenciat, el maquinari de control de la memòria cau ha de decidir quin bloc s' ha de suprimir per crear espai per al nou bloc que conté la paraula referenciada. La col·lecció de regles per prendre aquesta decisió constitueix la Algorisme de substitució.
Per tant, els tres temes principals per gestionar en una memòria cau són
· Col·locació de la memòria cau a on col·loqueu un bloc a la memòria cau?
· Identificació de la memòria cau kdeaccessibility Com s' identifica que la informació sol· licitada està disponible a la memòria cau o no?
· Llista de substitució de la memòria cau, que es reemplaçarà el bloc en la memòria cau, fent el camí a un bloc entrant?
Aquestes preguntes són respostes i s' expliquen amb un exemple de mida principal de la memòria d' 1MB (l' adreça principal de memòria és 20 bits), una memòria cau de mida 2KB i una mida de bloc de 64 bytes. Des que la mida del bloc és de 64 bytes, podeu identificar immediatament que la memòria principal té 24 blocs i la memòria cau té 25 blocs. És a dir, els 16 blocs de memòria principal han de ser mapejats als 32 blocs de la memòria cau. Hi ha tres diferents. Mapatge de polítiques de mapatge: Associtiu i n-way establerts com a mapatge per asocitiu que s'utilitzen. Es discuteixen a continuació.
Mapatge directe: Aquesta és la tècnica de mapatge més senzilla. En aquesta tècnica, el bloc I de la memòria principal està mapat block jMulago (número de blocs a la memòria cau) De la memòria cau. En el nostre exemple, és una mica més de 32 graus. Això és, els primers 32 blocs de la memòria principal en el mapa corresponent de 32 blocs de la memòria cau, 0 a 0, 1 a 1,... i 31 a 31. I recorda que només tenim 32 illes al cau. Així doncs, els següents 32 blocs de memòria principal també estan mapejats en els mateixos blocs corresponents de la memòria cau. Així doncs, 32 mapes de nou per bloquejar 0 a la memòria cau, 33 per bloquejar 1 a la memòria cau i així successivament. És a dir, els blocs de memòria principals s'agrupen com a grups de 32 blocs i cadascun d'aquests grups pujarà als blocs de la memòria cau corresponents. Per exemple, cada vegada que un dels blocs de memòria principals es bloqueja 0, 32, 64,... està carregat a la memòria cau, només es desa al bloc de la memòria cau 0. Per tant, en qualsevol moment, si un altre bloc està ocupat el bloc de memòria cau, això és eliminat i l'altre bloc està emmagatzemat. Per exemple, si volem portar al bloc 64, i el bloc 0 ja està disponible a la memòria cau, es elimina 0 i bloc 64. De manera similar, blocs 1, 33, 65,... es desen al bloc de la memòria cau 1, i així successivament. Podeu veure fàcilment que 29 blocs de memòria principal pujaran al mateix bloc de la memòria cau. Des de més d' un bloc de memòria està mapa en una posició del bloc de memòria superior, la contingutió pot sorgir per aquesta posició fins i tot quan la memòria cau no està plena. Això és, blocs, que tenen dret a ocupar el mateix bloc de la memòria cau, pot competir per al bloc. Per exemple, si el processador fa referència a les instruccions del bloc 0 i 32 alternatives, es produiran conflictes, encara que la memòria cau no estigui plena. La contingut s' ha resolt permetent que el nou bloc sobreescrigui el bloc resident actualment. Així, en aquest cas, l'algoritme de substitució és trivial. No hi ha cap altre lloc on pugui encaixar el bloc. Només cal substituir el bloc resident actualment.
La col· locació d' un bloc a la memòria cau es determina des de l' adreça de memòria. L' adreça de memòria es pot dividir en tres camps, com es mostra en la Figura 26.1. L' ordre baixa de 6 bits selecciona una de 64 paraules en un bloc. Quan un bloc nou introdueix la memòria cau, el camp de bloqueig de cinc bits determina la posició de memòria cau en la que aquest bloc s' ha de desar. Les 9 bits d' alt ordre de l' adreça de memòria del bloc es desen a 9 bits d' etiqueta associades amb la seva ubicació a la memòria cau. S'identifiquen quins dels 29 blocs que estan disponibles per formar un mapa en aquesta posició de la memòria cau està actualment resident a la memòria cau. Com a adreça principal de memòria es generarà, primer de tot comproveu el camp de bloqueig. Això apuntarà al bloc que has de comprovar. Ara comprova el camp de l'etiqueta. Si coincideixen, el bloc està disponible a la memòria cau i és un cop. Si no, és una pèrdua. Llavors, el bloc que conté la paraula requerida primer s' ha de llegir de la memòria principal i s' ha carregat a la memòria cau. Una vegada identificat el bloc, useu el camp de paraula per a recuperar una de les 64 paraules. Tingueu en compte que el camp de paraula no té part en el mapatge.
Figura 26. 1 Mapatge directe
Considera una adreça 78F28 que és 0111 1000 1111 0010 1000. Per comprovar si el bloc és a la memòria cau o no, dividit en tres camps com a 10111 10001100 101000. El camp de bloqueig indica que heu de comprovar el bloc 28. Ara comprova el camp de les nou bits. Si coincideixen, és un èxit.
La tècnica de mapatge directa és fàcil d'implementar. El nombre d' entrades d' etiqueta a comprovar és només un i la longitud del camp de l' etiqueta també és menor. L' algorisme de substitució és molt simple. No obstant això, no és molt flexible. Encara que la memòria cau no estigui plena, potser hauràs de fer un munt de voltes entre la memòria principal i la memòria cau a causa de la política de mapatge rígida.
Mapatge complet associtiu: Aquest és un mètode de mapatge molt més flexible, en el qual es pot situar un bloc de memòria principal a qualsevol posició del bloc de memòria cau. Això indica que no hi ha necessitat d'un camp de bloqueig. En aquest cas, es necessiten 14 bits d'etiqueta per identificar un bloc de memòria quan es resident a la memòria cau. Això és indicat a la figura 5.8. Els bits d' una adreça rebuda del processador són comparats amb els bits de cada bloc de la memòria cau per veure si el bloc desitjat és present. Això s'anomena el mapas d' associtiu tècnica. Ofereix una llibertat completa en triar la ubicació de la memòria cau en la qual col·locar el bloc de memòria. Així, l'espai de la memòria cau es pot fer servir de forma més eficient. Un bloc nou que s' ha d' portar a la memòria cau ha de substituir (abat) un bloc existent només si la memòria cau està plena. En aquest cas, necessitem un algorisme per a seleccionar el bloc a substituir. Els algoritmes usats habitualment són aleatoris, FIFO i LRU. El substitució aleatori fa una elecció aleatòria del bloc a suprimir. FIFO elimina el bloc més antic, sense tenir en compte els patrons d'accés de memòria. Així que no és gaire efectiva. D'altra banda, la tècnica utilitzada menys recentment considera els patrons d'accés i elimina el bloc que no ha estat referenciat durant el període més llarg. Això és molt efectiu.
Per tant, el mapatge tansocitiu és totalment flexible. Però el cost d'una memòria cau insocitiva és més alt que el cost d'una memòria cau directa a causa de la necessitat de buscar tots els patrons d'etiqueta per determinar si un bloc donat és a la memòria cau. Aquesta hauria de ser una cerca isocitiva com s' ha discutit en la secció anterior. A més, tingueu en compte que la longitud de l' etiqueta s' incrementa. És a dir, tant el nombre d' etiquetes com l' augment de la longitud de l' etiqueta. El reemplaçament també és complex. Per tant, no és pràcticament viable.
Figura 26.2 completament asociós
Estableix un mapa associtiu: Aquest és un compromís entre les dues tècniques anteriors. Blocs de la memòria cau s' agrupen en conjunts, consistents en n blocs, i el mapatge permet un bloc de la memòria principal que resideixi en qualsevol bloc d' un conjunt específic. També s'anomena un mapa n-way tansocitiu. Per tant, el problema de contingut del mètode directe es facilitat tenint algunes opcions per a la col·locació de blocs. Al mateix temps, el cost del maquinari es redueix reduint la mida de la recerca isocitiva. Per al nostre exemple, es mostra l' adreça principal de memòria per a la tècnica de mapatge set-asocitiu 26.3 per a una memòria cau amb dos blocs establerts per (2Dropway set asociós). Hi ha 16 conjunts a la memòria cau. En aquest cas, els blocs de memòria 0, 16, 32... mapes al cau 0, i poden ocupar qualsevol de les dues posicions del bloc en aquest conjunt. Tenir 16 conjunts vol dir que el camp set de 4 bits de l' adreça determina quin conjunt de la memòria cau pot contenir el bloc desitjat. El camp d' etiquetes 11 bit de l' adreça ha de ser isociativament comparat amb les etiquetes dels dos blocs del conjunt per comprovar si hi ha present el bloc desitjat. Aquesta cerca asocitiva de dues bandes és senzilla d'implementar i combinar els avantatges de les altres tècniques. Això es pot tractar de fet com a cas general; quan n és 1, es converteix en mapatge directe, quan n és el nombre de blocs a la memòria cau, és un mapatge tansocitiu.
Figura 26. 3 Estableix un mapa isocitiu
Un mica més de control, anomenat el bit vàlid , S' ha de proporcionar per a cada bloc. Aquesta part indica si el bloc conté dades vàlides. No s'hauria de confondre amb la modificació, o bruta, una mica abans mencionat. La part bruta, que indica si el bloc s' ha modificat durant la seva residència cau, només cal en sistemes que no usen el mètode d' escriptura. Els bits vàlids s' estableixen a 0 quan s' aplica el poder inicialment al sistema o quan la memòria principal es carrega amb nous programes i dades del disc. Les transferències del disc a la memòria principal es mantenen amb un mecanisme DMA. Normalment, eviten la memòria cau per raons de cost i rendiment. La primera vegada que aquest bloc està carregat des de la memòria principal, quan s' actualitza un bloc de memòria principal, quan un bloc de memòria principal s' actualitza per un codi font que omet la memòria cau, es fa una comprovació per determinar si el bloc s' està carregat actualment en el Cau. Si ho és, la seva part és buidada a 0. Això assegura que rlunit description in lists Les dades no existiran a la memòria cau.
S' sorgeix una dificultat similar quan es fa una transferència DMA des de la memòria principal al disc, i la memòria cau usa el protocol d' escriptura. En aquest cas, les dades de la memòria podrien no reflectir els canvis que poden haver estat fets a la còpia de la memòria cau. Una solució a aquest problema és color La memòria cau forçant les dades brutes que s' han d' escriure abans que la transferència DMA tingui lloc. El sistema operatiu pot fer això fàcilment, i no afecta molt el rendiment, perquè aquestes transferències de disc no succeeix sovint. Això necessita assegurar- se que dues entitats diferents (el processador i els subsistemes DMA en aquest cas) usen les mateixes còpies de dades a les que es refereixen com a un Memòria cau problema.
Polítiques de lectura / escriptura: Al final de tot, també hem de discutir les polítiques de lectura i escriptura que s'han seguit. El processador no necessita saber explícitament sobre l' existència de la memòria cau. Només problemes de lectura i escriptura usant adreces que es refereixen a les ubicacions de la memòria. El circuit de control del cau determina si la paraula sol· licitada existeix actualment a la memòria cau. Si ho fa, es durà a terme l' operació de lectura o escriptura a la ubicació apropiada del cau. En aquest cas, a lectura o S' ha assolit l' escriptura Es diu que ha d'haver passat. En una operació de lectura, no hi ha modificacions que tinguin lloc i per tant la memòria principal no es veurà afectada. Per a un cop d'escriptura, el sistema pot procedir de dues maneres. En la primera tècnica, anomenada la write-through El protocol, la localització de la memòria cau i la ubicació principal de la memòria s' actualitzaran simultàniament. La segona tècnica és actualitzar només la localització de la memòria cau i marcar- la com a actualitzada amb una etiqueta associada, sovint anomenada el brut o modificat Una mica. La ubicació principal de la memòria de la paraula s' actualitza més tard, quan el bloc que conté aquesta paraula marcada és eliminar- la de la memòria cau per a fer espai per a un nou bloc. Aquesta tècnica és coneguda com la " write-back," o copy- backCity name (optional, probably does not need a translation) Protocol. El protocol d' escriptura és més simple, però resulta en operacions d' escriptura innecessàries a la memòria principal quan s' actualitza una paraula cau determinada durant la seva residència de memòria cau. Tingueu present que el protocol d' escriptura també pot resultar en operacions d' escriptura innecessàries perquè quan un bloc de memòria cau es torna a escriure a la memòria totes les paraules del bloc, encara que només s' hagi canviat una sola paraula mentre el bloc estava a la memòria cau. Això es pot evitar si teniu més bits bruts per bloc. Durant una operació d' escriptura, si la paraula adreçada no és a la memòria cau, una s' està escrivint la senyoreta Passa. Llavors, si s' usa el protocol d' escriptura, la informació s' escriu directament a la memòria principal. En el cas del protocol d' escriptura, el bloc que conté la paraula adreçada es mostra primer a la memòria cau, i aleshores la paraula desitjada en la memòria cau se sobreescriu amb la nova informació.
Quan es produeix una suspensió d'escriptura, utilitzem la política d'escriptura participada o no la política d'escriptura participada. És a dir, si utilitzem la política d' escriptura per escriure, aleshores el bloc serà portat a la memòria cau (escriptura exclusiva) i la part bruta està establerta. D'altra banda, si s'escriu La política que s' usa, llavors el bloc no està assignat a la memòria cau i les modificacions passen immediatament a la memòria principal.
Independentment de les estratègies d'escriptura usades, processadors normalment fan servir un Memòria intermèdia d' escriptura per permetre que la memòria cau vagi tan aviat com les dades es col·loquen a la memòria intermèdia en comptes d' esperar que les dades s' escriguin a la memòria principal.
Per resumir, hem parlat de la necessitat d'una memòria cau. Hem examinat diversos problemes relacionats amb els records de memòria cau, viz., polítiques d'accés, polítiques de substitució i polítiques / escriptura. Mapatge directe és el més simple per implementar. En una memòria cau automatitzada directa, el bloc de la memòria cau està disponible abans de determinar si és un èxit o una senyoreta, ja que és possible assumir un cop i continuar i recuperar més tard si és una pèrdua. També requereix només un comparador comparat amb els N comparadors per a un mapatge no funcional. En el cas de establir un mapa tansocitiu, hi ha un retard extra MUX per a les dades i les dades només són després de determinar si s' ha impactat o una senyoreta. No obstant això, l' operació es pot accelerar comparant totes les etiquetes en el conjunt paral· lel i seleccionant les dades basades en el resultat de l' etiqueta. Estableix el mapa tansocitiu és més flexible que el mapa directe. Mapatge complet és el més flexible, però també s' utilitza el més complicat per implementar i rarament.
Artículos Relacionados:
- Quins blocs hi ha en una CPU?
- Quants cicles hi ha a la CPU?
- Quantes CPU hi ha en un ordinador?
- Quants anys fa una CPU?
- Processador -