Structura memoriei ierarhică este soluția tradițională depozitarea unor cantități mari de date (Fig. 2.15). Registrele CPU sunt în vârful ierarhiei. Accesul la registrele se face mai rapid. În continuare vine memoria cache, care este acum 32K la mai multe megaocteți. Apoi urmează memoria principală care poate găzdui în prezent 16 MB la zeci de gigabytes. Urmat de discuri magnetice, și în cele din urmă, unitățile de bandă și unități optice sunt folosite pentru a stoca arhive.
Fig. 2.15. Organizarea memoriei Cele cinci niveluri
Pe măsură ce trece de sus în jos schimbare trei parametri. În primul rând, timpul de acces a crescut. Accesul la registrele durează câteva nanosecunde, accesul la cache-ul - un acces mai mic la memoria principală - câteva zeci de nanosecunde. Apoi, există un decalaj mare: acces la disc durează cel puțin 10 microsecunde, iar accesul la benzi magnetice și discuri optice, în general, pot fi măsurate în secunde (deoarece aceste medii de stocare trebuie încă să fie plasate în dispozitivul adecvat).
În al doilea rând, cantitatea de memorie crește. Registrele pot conține cel mult 128 bytes de memorie cache - mai multe megabytes de memorie principale - zeci de mii de megaocteți, discuri magnetice - de la cateva la cateva zeci de gigabytes. Benzi magnetice și discuri optice sunt stocate independent de calculator, astfel încât volumul total al posibilităților financiare doar limitate ale proprietarului.
În al treilea rând, creșterea numărului de biți pe care le obține pentru 1 $. costul de memorie principal este câțiva dolari pentru megabayt1,
Rețineți că costul specific al memoriei este în continuă scădere, în timp ce volumul său - este în creștere. Legea lui Moore se aplică aici. Astăzi, un megabyte de memorie costă aproximativ 10 de cenți. - Notă. Scien. Ed.
Discuri magnetice - câțiva cenți pe megabyte, si banda magnetica - cativa dolari pe gigabyte sau chiar mai ieftin.
Registrele, memoria cache și memoria principală, am discutat deja. În secțiunile următoare vom descrie discul magnetic, și apoi trece la studiul discului optic. nu vom lua în considerare unitățile de bandă, deoarece acestea sunt rar utilizate; în afară de ei nu există aproape nimic de spus.
disc magnetic este format din una sau mai multe suprafețe de aluminiu acoperite cu un strat magnetic. Inițial, diametrul a fost de 50 cm, iar acum - de la 3 la 12 cm, în calculatoare portabile - mai mică de 3 cm, iar această valoare continuă să scadă. cap de disc care cuprinde o bobină de inducție este deplasat pe suprafața discului, bazându-se pe o pernă de aer. Rețineți că capul floppy atinge suprafața. Când capul trece prin curentul pozitiv sau negativ, acesta magnetizează suprafața de sub cap. Particulele magnetice sunt magnetizate la dreapta sau la stânga, în funcție de polaritatea curentă. Când capul trece peste zona magnetizat în acesta (în cap), există un curent pozitiv sau negativ, ceea ce face posibilă citirea biților stocate anterior. Pe măsură ce discul se rotește sub cap, fluxul de biți pot fi înregistrate și apoi citit. urmări pe configurația discului prezentată în Fig. 2.16.
Principalele caracteristici ale RAM
Viteza (timpul de acces de memorie), latenta (întârziere de transmitere a datelor) - timpul necesar pentru a citi din memorie sau scrise în memorie minimă de informații (nanosecunde porțiilor - 10-9s).
Volumul (capacitatea) a modulului de memorie - cantitatea maximă de informații pe unitatea de purtător. Capacitatea de memorie de calculator moderne a crescut la 4 GB.
Counts - numărul liniilor I / O care au cip RAM și o memorie nevolatilă sau stocare extern.
Conform principiilor plasarea și recuperarea dispozitivelor de memorie sunt împărțite în:
Bytes - numărul de biți necesari pentru a codifica simbolurile utilizate în codurile standard. În prezent, bytes - un 8-biți.
În plus față de funcțiile de înregistrare și stocare în sisteme de memorie asociative, funcțiile implementate hardware de recuperare asociative. În cel mai simplu caz - o intrare de informații de căutare prin coincidență „standard“, cu o parte din informațiile referitoare la secvența stocate. Rezultate căutare asociativă este utilizat în operațiuni de citire sau de scriere pentru a găsi liniile de date dorite.
căutare asociativă este pusă în aplicare prin compararea informațiilor de intrare cu toate obiectele stocate (bytes, cuvinte și altele asemenea. D.).
Căutarea de memorie asociativă este implementată în hardware printr-o comparație în paralel a cuvântului-standard, cu toate cuvintele înregistrate. Pentru a face acest lucru, fiecare set de elemente de stocare este completată de obiecte software ale circuitelor de comparare.
Părți ale informațiilor stocate care căutarea asociativă poate fi izolat într-un bloc separat (bloc tag) sau scheme de mascare specificate în unitatea de stocare a informațiilor.
Stiva poate fi utilizat în procedurile de hardware, cum ar fi pentru a salva contextul programului (a se vedea 1.7. - Contextul programului) în cadrul procedurilor de transfer de control către subrutina (inclusiv programul de întrerupere de servicii) și să se întoarcă de la subrutina.
Utilizarea unor echipe speciale pentru organizarea stivei
Multe procesoare au seturi de instrucțiuni de lucru cu stiva. Cele mai frecvente dintre acestea sunt echipele:
PUCH A - pe stiva, unde A - operand imediat, o celulă de registru sau de memorie;
POP A - restaura (selectați) datele din stivă, unde A - o celulă de registru sau de memorie.
§ Direct - indică un anumit număr, o constantă (de exemplu: mov A, # 50H - înregistrarea 50H numărul din acumulator).
A § registru - indică un anumit registru GPR (registrele de uz general).
§ stivă - folosind un registru special - indicatorul stiva (SP - stiva Pointer). Este folosit pentru intrarea operanzilor pe stivă în aceeași ordine și în ordine inversă.
§ implicită - înregistrare sursă sau un registru receptor este implicat în Opcode.
Utilizarea mecanismului de memorie virtuală vă permite să:
§ rațional gestiona memoria calculatorului (stocarea de acesta numai utilizate în mod activ în memorie);
§ izolate de la fiecare alte procese (proces presupune că deține exclusiv întreaga memorie).
În prezent, această tehnologie are suport hardware pentru toate procesoarele interne moderne.
Paginare de memorie virtuală
organizarea Segment de memorie virtuală
... Un cache sau cache (cache Engl de la Pr cacher - «ascunde»; pronunță [kæ# 643;] - „cache“) - un tampon de acces rapid intermediar, care conțin informații care pot fi solicitate cu cea mai mare probabilitate. Accesarea datelor în cache-ul este mai rapid decât datele de eșantionare originale din memoria RAM (RAM) și memorie va exterior (HDD sau SSD), din cauza care a redus timpul mediu de acces și crește performanța generală a sistemului informatic. Accesul direct la datele stocate în memoria cache datele de software-ul imposibil.
funcționare
memorie cache CPU Diagrama
Cache - o memorie cu o viteză mai mare de acces sunt proiectate pentru un acces mai rapid la datele conținute în memorie în mod continuu la o viteză de acces mai mic ( „memoria principală“). Caching este folosit CPU, hard disk-uri, browsere, servere Web, servicii DNS, și câștigă.
Memoria cache este format dintr-un set de înregistrări. Fiecare intrare este asociat cu un element de date sau bloc de date (o mică parte a datelor), care este o copie a articolului de date în memoria principală. Fiecare intrare are un identificator care definește corespondența între elementele de date din memoria cache și copiile acestora în memoria principală.
Atunci când cache-ul client (CPU, browser-ul web, sistemul de operare) accesează datele investigate în primul rând cache. Dacă intrarea cache este găsit cu un identificator care se potrivește cu identificatorul elementului de date solicitate, elementele de date folosite în cache. Un astfel de caz este numit un hit cache. În cazul în care cache-ul nu este găsit o înregistrare care conține elementul de date solicitate, acesta este citit din memoria principală în memoria cache, și este disponibil pentru referințe viitoare. Un astfel de caz cache nazyvaetsyapromahom. Procentajul de solicitări în memoria cache, atunci când acesta se găsește în rezultat, numit nivelul sau lovit raportul de hit-uri cache.
De exemplu, browser-ul web verifică cache-ul local de pe disc pentru o copie locală a unei pagini web corespunzătoare URL-ul cerut. În acest exemplu, URL-ul - este un identificator, iar conținutul unei pagini web - aceasta este elementele de date.
În cazul în care memoria cache este limitată în măsura în care un dor poate decide să renunțe la o anumită înregistrare atunci când spațiu. Diferite algoritmi de deplasare sunt folosite pentru a selecta înregistrarea exprimate.
La modificarea elementelor de date în memoria cache este reîmprospătată în memoria principală. Decalajul de timp între modificarea datelor din memoria cache și memoria principală este controlată prin actualizarea așa-numita politică de scriere.
Memoria cache pentru înregistrare imediată fiecare schimbare sunt date actualizate sincronizate în memoria principală.
Memoria cache cu lazywriter (sau writeback) actualizarea deplasarea are loc în cazul elementului de date, periodic sau la cerere. Pentru a monitoriza elementele de date de intrare cache modificate stocate modificare atribut (modificat sau „murdar“). Un dor în memoria cache pentru a scrie înapoi poate necesita două accese în memoria principală: unul pentru înregistrarea datelor de înlocuire din memoria cache, iar a doua pentru a citi elementul de date necesare.
Dacă datele din memoria principală pot fi modificate independent de cache, intrarea cache poate fi irelevante. Protocoale de interacțiune între cache-uri care mențin consistența datelor, protocoale de cache suna coerență.
niveluri de cache
cache-ul procesorului este împărțit în mai multe niveluri. Procesorul scop este în prezent numărul de nivele poate fi de până la 3. nivelul cache N + 1 sunt în general mai mari în dimensiune și de acces și date mai lent rate de transfer decât nivelul cache N.
Cea mai rapidă memorie este un cache de primul nivel - L1-cache. De fapt, aceasta este o parte integrantă a procesorului, deoarece este situat pe un singur cip, și cu ea o parte a blocurilor funcționale. În procesoarele moderne cache L1 este de obicei împărțit în două cache, memoria cache de instrucțiuni (instrucțiuni) și cache-ul de date (arhitectura Harvard). Cele mai multe procesoare fără cache L1 nu poate funcționa. L1 cache rulează la frecvența procesorului, și, în general, trimiterea la care se poate face la fiecare ciclu de ceas. De multe ori este posibil să se efectueze mai multe operații de citire / scriere simultan. Accesul latență este de obicei 2-4 bate nucleu. Volumul este de obicei mic - mai puțin de 128 KB.
Cea de a doua viteza este L2-cache - cache-al doilea nivel, acesta este de obicei situat pe un cip ca L1. Procesorul vechi - un chipset de pe placa de bază. Volumul de memorie cache L2 de 128 KB până la 1-12 MB. În procesoarele multi-core de astăzi, cache-ul celui de al doilea nivel, în timp ce pe același cip, o utilizare de memorie separată - cu un volum total de cache în MB nM per nucleu reprezentând nM / nC MB, în cazul în care numărul de procesor miezuri de nC. De obicei, latenta cache L2 situate pe cipul de bază, este de 8 până la 20 de cicluri ale nucleului.
cache nivelul trei este cel mai mare viteză, dar poate fi o dimensiune foarte impresionant - mai mult de 24 MB. L3 cache este mai lent decât cache-ul anterior, dar încă mult mai rapid decât de memorie. Într-un sistem multiprocesor este în uz general și are ca scop sincronizarea diferitelor L2 de date.
Uneori există un nivel de 4 cache, de obicei, este situat pe un cip separat. Nivelul Application Cache 4 este justificată numai pentru servere de înaltă performanță imeynfreymov.
Problema sincronizării între diferitele cache-uri (ambele procesoare unice și multiple) este rezolvată cache coerentei. Există trei opțiuni pentru schimbul de informații între memoria cache la diferite niveluri, sau cum se spune, arhitectura cache: inclusiv, exclusive și neexclusive.
Arhitectura incluzivă presupune duplicarea datelor cache de nivel superior in partea inferioara (Intel prefera firma).
Exclusiv cache implică informații unice stocate în diferite niveluri de cache (compania AMD prefera).
Într-un cache de bază non-exclusive se pot comporta cum doriți.
cache asociativitatea
În cazul în care aceeași cantitate de schemă cache cu asociativitate mai mare este mai rapid, dar cel mai eficient (deoarece eficiența 4 căi prin creșterea fluxului 1 este mic).
O memorie cu acces aleator. RAM - dispozitiv tehnic implementează funcția de memorie.
RAM poate fi făcută ca unitate separată sau introduceți structura, de exemplu, un calculator cu un singur cip sau microcontroler.
Tipuri fizice de memorie RAM
majoritatea RAM de calculatoare moderne este un module de memorie dinamică de memorie care conțin poluprovodnikovyeBIS, organizată pe principiul dispozitivelor cu acces aleator. memorie de tip dinamic este mai ieftin decât static, iar densitatea sa este mai mare, permițând în același spațiu substrat de siliciu aloca mai multe celule de memorie, dar viteza de mai jos. Static, dimpotrivă, memorie mai repede, dar este mult mai scump. În acest sens, memoria de masă construit pe un modul de memorie dinamică și memoria de tip static este utilizat pentru construcția memoriei cache în microprocesor.
memorie de tip dinamic (Engl. DRAM (DynamicRandomAccessMemory))
Memoria de tip static (Engl. SRAM (StaticRandomAccessMemory))
Static acces aleator de memorie cu acces aleatoriu (SRAM, staticrandomaccessmemory) - semiconductor de memorie, în care fiecare cifră binară sau ternară este stocată în circuit cu feedback pozitiv pentru a menține starea semnalului fără rescrierea constanta necesară în memoria dinamică (DRAM). Cu toate acestea, pentru a salva datele fără a suprascrie SRAM poate doar în timp ce există putere, care este, SRAM este volatilă de memorie de tip. cu acces aleator (RAM - memorie cu acces aleator) - pentru a alege pentru a citi / scrie toate biți (tritil) (mai mulți octeți (Treiten) depinde de caracteristicile de proiectare), în contrast cu memoria cu acces serial (SAM - memorie cu acces sequental).
cerere
SRAM este folosit în microcontroler și FPGA, în care volumul de RAM este mic (unitate kilobyte), dar au nevoie de un consum redus de energie (din cauza absenței controlerului complex de memorie dinamic), a prezis la într-un timp de ciclu de rutine de depanare și în mod direct pe dispozitiv.
La dispozitivele cu un volum mare de RAM de memorie de lucru se face ca DRAM. SRAM'om face, de asemenea, registre și memorie cache.
O memorie numai pentru citire (ROM) - o memorie nevolatilă utilizată pentru stocarea de date array neschimbătoare.
clasificare
În funcție de tipul de performanță
matrice de date § este combinat cu un dispozitiv de prelevare (dispozitiv de citire), în acest caz, matricea de date într-o conversație adesea numit „firmware“:
§ Unul dintre microcalculatorului un singur cip de resurse interne (MCU) de obicei FlashROM.
§ Setul de date există în mod independent:
§ instalarea de „1“ și instalarea de „0“.
Prin varietate de chips-uri ROM
§ În conformitate cu tehnologia de fabricare a cristalului:
§ ROM - (Engl read-onlymemory memorie permanentă ..), masca ROM. Metoda de fabrica. În viitor, nu puteți schimba datele înregistrate.
§ PROM - (Engleză programabile-programmableread onlymemory numai pentru citire memorie (PROM) ..) - ROM. o dată „cusute“ de către utilizator.
§ EPROM - (Engleză programabilă care poate fi ștearsă de memorie EEPROM read-only (PPPZU) ..). De exemplu, conținutul K537RF1 cip șters utilizând o lampă cu ultraviolete. Pentru trecerea razelor ultraviolete la cip de cristal în fereastra de carcasă, cu un pahar de cuarț a fost furnizat.
§ EEPROM - (limba engleză care poate fi ștearsă electric programabilă de memorie numai pentru citire electric EEPROM pot fi șterse ..). Memoria de acest tip pot fi șterse, și completați datele de mai multe zeci de mii de ori. Utilizat în depozit în stare solidă. Unul dintre soiurile de EEPROM este o memorie flash (memorie Eng. Flash).
§ ROM, domenii magnetice. K1602RTS5 exemplu, a existat un dispozitiv complicat de eșantionare și stoca o cantitate destul de mare de date sub formă de regiuni magnetizate ale cristalului, în timp ce părți mobile (a se vedea. Memoria calculatorului). Oferă un număr nelimitat de cicluri de scriere.
cerere
BOOTROM - firmware-ul, astfel încât în cazul în care este scris în cip ROM-ul corespunzător instalat în harta de rețea, devine posibil sistem zagruzkaoperatsionnoy pe un computer dintr-o rețea de site-ul de la distanță. Pentru built-in NIC calculatoare BOOTROM poate fi activat prin intermediul BIOS-ului.