Structura ierarhică a memoriei are o capacitate nelimitată. ierarhia memoriei. Structura ierarhică a memoriei

Cerințele pentru creșterea capacității informaționale și a vitezei memoriei și reducerea costului acesteia sunt contradictorii. Într-adevăr, dispozitivele de memorie capacitate mare sunt relativ lente, iar stocarea rapidă în masă este foarte costisitoare. Prin urmare, memoria MS este organizată sub forma unei structuri ierarhice a dispozitivelor de stocare (vezi Fig. 6.2.), care au viteză, capacitate și costuri diferite. Dispunerea dispozitivelor de memorie pe niveluri de ierarhie de la sus (procesor) la jos (disc și bandă VRAM) corespunde scăderii vitezei de memorie și creșterii capacității acesteia. Fiecare nivel al ierarhiei poate conține mai multe module (instanțe) ale dispozitivelor de memorie corespunzătoare pentru a obține capacitatea necesară a acestui nivel de memorie.

Între dispozitivele de memorie ale nivelurilor învecinate ale ierarhiei, cu ajutorul blocului de operație, se organizează un schimb de informații, numit schimb(schimb).

Structura ierarhică a memoriei se bazează pe paginarea acesteia, în care este paginat întregul spațiu de memorie. marime fixa. De exemplu, în procesoare Intel Dimensiunile paginilor de la 4 KB la 2 MB sunt permise. Datorită capacității lor relativ mici, doar o mică parte din pagini sunt stocate în memoria cache și RAM la un moment dat. Paginile rămase sunt stocate în memoria discului, de unde sistemul de operare poate „pompa”


le-a în RAM și apoi în cache, după ce au descărcat anterior pe disc unele dintre cele neutilizate în acest moment pagini modificate. Procesul de schimbare are loc atunci când pagina cerută de procesor nu se află în memoria cache sau RAM. Dacă schimbarea ar fi efectuată frecvent, eficiența utilizării unei structuri de memorie ierarhică ar fi scăzută. Dar datorită proprietății de localitate spațială și temporală a programelor și datelor, schimbul are loc relativ rar.

Într-adevăr, de regulă, adresa următoarei instrucțiuni executabile fie urmează adresa instrucțiunii executabile curente, fie este situată în apropierea acesteia. Această proprietate a locației adresei este numită localitatea spaţială a programelor. Datele procesate sunt de obicei organizate ca matrice, astfel încât operanzii sunt, de asemenea, accesați secvenţial la celulele de memorie adiacente. Această proprietate se numește localitatea spațială a datelor. În plus, datorită prezenței ciclurilor și apelurilor la subrutine în programe, preluarea unei instrucțiuni la aceeași adresă, precum și accesarea datelor la o anumită adresă, pot fi repetate într-un anumit interval de timp. Această proprietate se numește localitate temporală.

Datorită proprietăților avute în vedere, procesorul, la accesarea memoriei, găsește informațiile necesare în cache mult mai des decât determină absența acesteia și nevoia de a schimba pagina necesară.

Este important de reținut că schimbarea se face în pagini (blocuri), în care dispozitivele de memorie utilizează un mod special de transfer - schimb de ciclu de explozie (ciclu de explozie). În modul lot, este nevoie de mult mai puțin timp pentru a transfera o pagină decât timpul total pentru a transfera octeți (cuvinte) individuali ai paginii.

memorie PC - o colecție de dispozitive individuale care rețin, stochează și emit informații. Sunt apelate dispozitive de memorie individuale dispozitive de stocare (ZU). Performanța PC-ului depinde în mare măsură de compoziția și caracteristicile dispozitivelor de stocare, care, la rândul lor, diferă prin principiul de funcționare și scop. Procedurile sunt principalele operațiuni de memorie. înregistrăriși lecturi(mostre) . Denumirea generală a acestor proceduri este numită acces la memorie. Principalele caracteristici ale memoriei sunt capacitateși performanţă(timp de acces la memorie).

Capacitatea memoriei este măsurată în octeți (1Byte = 8 biți), Kilobytes (1Kb = 2 10Bytes), Megabytes (1MB = 2 10Kb), Gigabytes (1GB = 2 10Mb), Terabytes (1TB = 2 10Gb).

Viteza se măsoară în secunde și variază în prezent între 10 - 2 și 10 - 9 secunde, în funcție de metoda de accesare a informațiilor.

Pe cale de acces la informaţiile stocate în ele, memoria se împarte în: memorie cu acces aleatoriu; Memorie cu acces direct; Memorie de acces serial.

LA memorie cu acces aleator timpul de răspuns nu depinde de locația datelor. Un astfel de acces este implementat în registre scop general, memoria cache și memoria internă a PC-ului.

mediu de stocare în memorie cu acces direct se rotește continuu, rezultând că datele sunt disponibile după o perioadă fixă ​​de timp. Memoria cu acces direct include HDD, LMHD, GCD.

Memorie de acces serial, înainte de a găsi datele necesare, „vizualizează” toate secțiunile anterioare ale memoriei. Accesul serial este implementat în dispozitivele de memorie folosind bandă magnetică, de exemplu, în streamere.

Trebuie remarcat faptul că cerințele privind capacitatea și viteza memoriei sunt reciproc contradictorii din punct de vedere al implementării tehnice. Prin urmare, pentru funcționarea eficientă într-un PC, memoria este construită după un principiu ierarhic, în care dispozitivele de memorie cu caracteristici diferite sunt situate la diferite niveluri ale ierarhiei. Structura ierarhică a memoriei PC este prezentată în Figura 1.

La trecerea de la nivelul 1 la nivelul 3 al ierarhiei, viteza memoriei scade, iar capacitatea crește.

Organizarea ierarhică a memoriei îmbunătățește performanța PC-ului și oferă utilizatorului o capacitate de memorie practic nelimitată.

Scopul și principalele caracteristici ale memoriei de nivel 1 au fost descrise în prelegerea 3. Să luăm în considerare nivelurile 2 și 3 ale ierarhiei memoriei PC.

Memorie externa se referă la dispozitive PC externe și este utilizat pentru stocarea pe termen lung a oricăror informații care ar putea fi vreodată necesare pentru a rezolva probleme. Memoria externă conține diverse tipuri de memorie, dar cele mai comune, disponibile pe aproape orice computer, sunt HDD, dischetă și GCD. Aceste unități sunt concepute pentru a stoca cantități mari de informații, înregistrând și emitând informații stocate la cerere într-o memorie cu acces aleatoriu.

HDD (HDD- hard disk) denumit în mod obișnuit „winchester”. Spre deosebire de RAM, HDD garantează stocarea pe termen lung a informațiilor, care nu necesită hrana constanta calculator de la sursă externă electricitate. Pentru a scrie date hard disk-uri folosind un strat magnetic. Acoperă discuri care se rotesc în interiorul hard disk-ului la viteze mari. Capetele de citire/scriere se deplasează de-a lungul discurilor. Principalele caracteristici ale HDD-urilor moderne sunt: ​​capacitatea (până la 1 TB); numărul de plăci (până la 5); numărul de capete (10 capete); timpul mediu de căutare a informațiilor (mai puțin de 10 ms); viteza de rotație a discului (până la 10 mii rpm); greutate (mai puțin de 100 g). Principalii producători de HDD sunt IBM, Seegate, Toshiba, Fujitsu, Samsung.

NGMD (FDD- unitate de dischetă) este un dispozitiv de citire/scriere pentru dischete amovibile ( dischete, dischete). Anterior, discurile magnetice erau folosite în 2 dimensiuni: 5,25 "" (133 mm) și 3,5 "(89 mm). Primele au dispărut de mult, iar 3,5"" sunt folosite doar pentru a transfera cantități relativ mici (1,44 MB) de informații între computere. Date pe dischete stocate ca datele pe un hard disk, cu singura excepție că discul din unitatea de dischetă se rotește cu o viteză mult mai mică și există doar unul. Din cauza etanșării insuficiente, dischetele eșuează cel mai adesea. Astfel, ca mediu de stocare, discheta este extrem de nesigură și acum este folosită din ce în ce mai puțin.

GCD sunt în prezent cele mai fiabile și utilizate pe scară largă memorie externa. Citirea informațiilor de pe discul optic are loc datorită înregistrării modificărilor în intensitatea radiației unui laser de putere redusă reflectată de stratul de aluminiu.

NOD-urile sunt împărțite în: CD-ROM (compact Disc citit Numai memorie)- disc compact numai pentru citire; CD-R (compact Disc inregistrabil)- disc compact înregistrat o dată; CD-RW (compact Disc reinscriptibil)- CD reinscriptibil; DVD(Digital Versatil disc)- disc digital universal .

Un disc optic standard are o capacitate de aproximativ 650-800 MB, un disc DVD are o capacitate de 17 GB.

disc DVD având aceleași dimensiuni ca un CD optic convențional, deține o cantitate extrem de mare de informații - de la 4,7 la 17 GB. În prezent, discul DVD este folosit doar în două domenii: pentru stocarea filmelor video (DVD-Video sau pur și simplu DVD) și baze de date extra-mari (DVD-ROM, DVD-R). Spre deosebire de CD-ROM-uri, DVD-urile sunt înregistrate pe ambele fețe. Mai mult, unul sau două straturi de informații pot fi aplicate pe fiecare parte. Astfel, discurile cu o singură față cu un singur strat au o capacitate de 4,7 GB (deseori sunt numite DVD-5, adică discuri cu o capacitate de aproximativ 5 GB), discuri cu două fețe cu un singur strat - 9,4 GB (DVD-10) , discuri cu o singură față cu două straturi - 8,5 GB (DVD-9) și cu două fețe cu două straturi - 17 GB (DVD-18). În funcție de cantitatea de date care trebuie stocată, este selectat tipul de disc DVD. Când vine vorba de filme, discurile cu două fețe stochează adesea două versiuni ale aceluiași film - una cu ecran lat, cealaltă în formatul clasic de televiziune.

Memoria de arhivă PC-ul este proiectat pentru stocarea pe termen lung și fiabilă a programelor și datelor. După cum se poate observa din Figura 2.3, informațiile pot fi stocate pe dischete, discuri optice, hard disk-uri amovibile, bandă magnetică și memorie flash. Deoarece primele trei medii de stocare sunt descrise mai sus, iar un hard disk amovibil nu diferă fundamental de un hard disk convențional, remarcăm principalele proprietăți ale memoriei flash.

Memorie flash este un tip special de memorie cu semiconductor reinscriptibil nevolatil. Aceasta înseamnă că nu necesită energie suplimentară pentru stocarea datelor (energia este necesară doar pentru scriere), permite schimbarea (suprascrierea) a datelor stocate în el și nu conține părți mobile mecanice (cum ar fi HDD sau GCD convențional) și este construit pe baza circuitelor integrate.

Informațiile scrise pe memoria flash pot fi stocate pentru o perioadă foarte lungă de timp (câțiva ani) și sunt capabile să reziste la sarcini mecanice semnificative (de 5-10 ori mai mari decât maximul permis pentru hard disk-urile convenționale).

Principalul avantaj al memoriei flash față de unitățile convenționale este că memoria flash consumă semnificativ (de aproximativ 10-20 sau de mai multe ori) mai puțină energie în timpul funcționării. În HDD, NGMD, GCD, casete și alte medii mecanice, b despre cea mai mare parte a energiei este cheltuită pentru a pune în mișcare mecanica acestor dispozitive. În plus, memoria flash este mai mică decât majoritatea celorlalte medii de stocare mecanice.

Dimensiunea suportului de memorie flash este de la 20 la 40 mm în lungime, lățime și grosime de până la 3 mm, capacitatea ajunge la 1 GB, în funcție de tipul de memorie flash, informațiile pot fi suprascrise de la 10 mii la 1 milion de ori.

Datorită consumului redus de energie, compactității, durabilității și vitezei relativ mari, memoria flash este ideală pentru utilizarea ca dispozitiv de stocare nu numai în computere, ci și în astfel de dispozitive portabile precum camerele foto și video digitale, telefoane mobile, laptopuri, playere MP3, înregistratoare digitale de voce etc. În următorii ani, memoria flash va fi cel mai folosit dispozitiv de stocare compact, înlocuind treptat dischetele familiare.

    După cum am scris deja, memoria este folosită nu numai în computere, ci și în alte dispozitive digitale. Acele dispozitive „asemănătoare unui computer”, pe care pentru comoditatea prezentării materialului, le vom considera computere, fără a fi distras de discuții constante despre diferențele dintre ele. În special, tabletele sunt mulți analiști pentru computere. Este despre inclusiv despre:

Înainte de a înțelege cum funcționează fiecare tip de memorie, să ne interesăm de modul în care funcționează în general.

Din punct de vedere tehnic, memoria computerului este orice stocare electronică. Dispozitivele de stocare rapide sunt folosite pentru a stoca temporar informații care ar trebui să fie „la îndemână” cu procesorul. Dacă procesorul computerului dvs. ar fi apelat la hard disk, computerul ar rula extrem de lent. Prin urmare, unele dintre informații sunt stocate temporar în memorie, care poate fi accesată de procesor într-un ritm mai rapid.

Există o anumită ierarhie a memoriei computerului. Locul unui anumit tip de memorie în ea înseamnă „distanța” acestuia față de procesor. Cu cât cutare sau cutare memorie este mai aproape de procesor, cu atât este mai rapidă, de regulă. În fața noastră se află o piramidă ierarhică a memoriei computerului, care merită o analiză detaliată.

Partea de sus a piramidei este registrul procesorului.
Este urmată de memoria cache a primei (L1)
și al doilea nivel (L2)
RAM este împărțit în:
fizice și virtuale
Atât cache cât și Berbec sunt depozite temporare de informații
Următoarele sunt stocări permanente de informații:
ROM/BIOS; unități detașabile; unități de la distanță (în retea locala); HDD
Piciorul piramidei este format din dispozitive de intrare, care includ:
tastatură; șoarece; dispozitive media conectate; scaner/camera/microfon/video; surse de la distanță; alte surse

Procesorul accesează memoria în funcție de locul său în ierarhie. Informația provine de la hard disk sau dispozitiv de introducere (cum ar fi o tastatură) în RAM. Procesorul stochează segmentele de date de care are nevoie acces rapid, în cache. Registrul procesorului conține instrucțiuni speciale. Vom reveni la considerarea memoriei cache și a registrului procesorului.

Rolul RAM în „orchestra” generală a componentelor computerului


Funcționarea unui computer ar trebui privită ca o „orchestră”. „Muzicienii” din ea sunt toate componentele sale software și hardware, inclusiv procesorul central, hard diskul și sistemul de operare, care, în calitate de cititori noștri, îndeplinește cele mai importante cinci sarcini invizibile. Memoria cu acces aleatoriu, denumită adesea „memorie”, este printre cele mai importante componente ale unui computer. Din momentul în care porniți computerul și până în momentul în care îl opriți, procesorul va accesa continuu memoria. Să ne uităm la un scenariu tipic pentru orice computer.

Ai pornit computerul. El, la rândul său, a încărcat date din memoria doar pentru citire (ROM) și a început autotestarea la pornire (autotest la pornire, POST). Computerul se verifică singur și determină dacă funcționează și este gata pentru o nouă sesiune de lucru. Scopul acestei etape de lucru este de a verifica dacă toate componentele principale ale sistemului funcționează corect. În timpul autotestării, controlerul de memorie verifică toate celulele de memorie pentru prezența sau absența erorilor printr-o operație rapidă de citire/scriere. Procesul de verificare arată astfel: un pic de informație este scris în memorie la o anumită adresă și apoi citit de acolo.

Computerul încarcă din ROM sistemul de bază de intrare/ieșire, mai bine cunoscut prin abrevierea engleză BIOS. Acest „bios” conține informații de bază despre unități, ordine de pornire, securitate, recunoaștere automată a dispozitivului (Plug and Play) și alte câteva informații.

Apoi vine rândul încărcării sistemului de operare. Este încărcat în memoria RAM a computerului de pe hard disk (cel mai adesea acesta este cazul la un computer modern, dar sunt posibile și alte scenarii). Componentele importante ale sistemului de operare se află de obicei în memoria RAM a computerului pe tot parcursul timpului în care lucrați cu acesta. Acest lucru oferă procesorului acces imediat la sistemul de operare, ceea ce crește performanța și funcționalitatea întregului computer în ansamblu.

Când deschideți o aplicație, aceasta este scrisă pe aceeași memorie RAM. Cantitatea de memorie de acest tip astăzi, deși mare, este totuși semnificativ inferioară capacității unui hard disk. Pentru a economisi RAM, unele aplicații își scriu doar cele mai importante componente, în timp ce restul sunt „încărcate” de pe hard disk după cum este necesar. Fiecare fișier care este încărcat de o aplicație care rulează este, de asemenea, scris în RAM.

Ce se întâmplă când salvați un fișier și închideți aplicația? Fișierul este scris pe hard disk, iar aplicația este „împinsă” din RAM. Adică, atât aplicația în sine, cât și fișierele asociate cu aceasta sunt șterse din RAM. Acest lucru eliberează spațiu pentru informații noi: alte aplicații și fișiere. Dacă fișierul modificat nu a fost salvat înainte de a fi eliminat din stocarea temporară, toate modificările se vor pierde.

Din cele de mai sus, rezultă că de fiecare dată când ceva este descărcat sau deschis, acesta este plasat în RAM, adică în stocarea temporară a datelor. Este mai ușor pentru CPU să acceseze informațiile din acest magazin. Procesorul solicită memoriei RAM datele de care are nevoie în procesul de calcul.

Toate acestea sună puțin uscate și nu oferă o imagine completă a amplorii evenimentelor. Dar ceea ce este cu adevărat impresionant este că în computerele moderne, schimbul de informații între unități centrale de procesare iar RAM se face de milioane de ori pe secundă.

Dar dispozitivele de stocare nu se limitează doar la RAM. Acum că știm ce loc ocupă fiecare tip de memorie în imaginea de ansamblu a unui dispozitiv digital modern, rămâne să luăm în considerare și alte tipuri de stocări de informații. Prin urmare…

Va urma

Sursă de la computer.howstuffworks.com

Este imposibil să implementați un subsistem RAM în computerele de uz general folosind o singură tehnologie. Fiecare dintre tehnologiile luate în considerare nu asigură îndeplinirea tuturor cerințelor care se aplică subsistemului RAM. În special, utilizarea tehnologiei semiconductoare nu poate oferi independență energetică și cantitatea necesară de RAM la un cost suficient.

Această dilemă poate fi rezolvată prin utilizarea în subsistemul de memorie tehnologie diferită stocarea informaţiilor prin implementarea unora ierarhia subsistemului de memorie. O ierarhie tipică a subsistemului de memorie este prezentată schematic în fig. 5.1.


Orez. 5.1. Ierarhia subsistemului memoriei computerului

Principiul ierarhiei presupune îndeplinirea următoarelor condiții:

numărul de niveluri ierarhice poate fi arbitrar;

fiecare nivel al ierarhiei îndeplinește un set de funcții strict definit;

trimiterile externe merg întotdeauna la nivelul superior al ierarhiei;

dacă nivelul i-lea ierarhia poate executa cererea primită, apoi o execută și transmite rezultatul sursei cererii - nivelul (i-1)-al-lea al ierarhiei;

dacă nivelul i-lea al ierarhiei nu poate îndeplini cererea primită, atunci formează o cerere către nivelul (i+1)-al-lea al ierarhiei;

pe măsură ce te muți de la niveluri superioare Ierarhia subsistemului de memorie la niveluri inferioare:

creșterea capacității;

timpul de acces crește;

Astfel, tehnologiile de memorie mai lente, dar mai rapide, sunt completate de tehnologii mai lente, dar cu capacitate mai mare.

Problemele cheie, a căror soluție asigură succesul proiectării ierarhice a subsistemului de memorie, sunt:

organizarea fluxurilor de informații într-un calculator, asigurând, pe măsură ce se trece de la dispozitivele de memorie ale nivelurilor superioare ale ierarhiei la dispozitivele de memorie ale nivelurilor inferioare, o scădere a intensității apelurilor;

imbricarea informațiilor conținute în memoria nivelurilor superioare în memoria nivelurilor inferioare (adică informația din memoria unui nivel superior al ierarhiei este un subset al memoriei unui nivel superior nivel scăzut).

Să presupunem că procesorul din sistem poate accesa două niveluri de memorie. Memoria de nivel 1 conține N cuvinte și are un timp de acces de 1 ns, în timp ce memoria de nivel 2 conține 1000 de N cuvinte și un timp de acces de 10 ns. Să presupunem că dacă cuvântul dorit se află în memoria de nivel 1, atunci procesorul îl preia direct, iar dacă este în memoria de nivel 2, atunci cuvântul solicitat este scris mai întâi în memoria de nivel 1, iar de acolo este preluat de către procesorul. Pentru ușurința analizei, nu vom ține cont de timpul necesar procesorului pentru a afla exact unde se află cuvântul căutat - în memoria nivelului 1 sau 2.


Lasă parametrul H caracterizează ponderea cererilor către memoria de prim nivel în întregul flux de cereri, parametrul T 1 - timpul de acces la memoria de prim nivel și T 2- timpul de acces la memoria al doilea nivel. Nu este de mirare că cu cât valoarea este mai mare H, acestea. cu cât proporția tuturor acceselor procesorului pentru date se încadrează la cel mai rapid nivel, cu atât timpul mediu de acces la subsistemul de memorie ierarhică este mai scurt și cu atât este mai aproape de valoare. T 1.

Timpul mediu de acces la un astfel de subsistem de memorie poate fi exprimat prin formula:

Să presupunem că 95% din toate accesările sunt în memoria de prim nivel (adică, H=0,95). Atunci timpul mediu de extragere a unui cuvânt din subsistemul de memorie ierarhică va fi egal cu:

Deci, din tot ce s-a spus, rezultă că conceptul de organizare ierarhică a subsistemului de memorie este, în principiu, destul de solid, dar va aduce succes practic numai dacă toate principiile menționate anterior sunt implementate în proiectarea sistemului. .

Dintre tehnologiile de memorie care există astăzi, nu este atât de dificil să alegeți o serie care are următoarele proprietăți:

performanță necesară memoriei de nivel înalt;

reducerea costului relativ al stocării informațiilor;

creșterea capacității;

creșterea timpului de acces;

independența energetică este asigurată la un anumit nivel al ierarhiei;

implementarea cerinței de cuibărit.

Cu toate acestea, asigurarea proprietății de reducere a frecvenței acceselor pe măsură ce vă deplasați prin nivelurile ierarhiei subsistemului de memorie depinde în mare măsură nu de proiectantul computerului, ci de proprietățile programelor executate.

constatări

1. Dacă viteza procesorului și viteza memoriei semiconductoare nevolatile sunt apropiate, atunci subsistemul RAM poate fi implementat cu un singur nivel de ierarhie.

2. Dacă viteza procesorului și viteza memoriei semiconductoare nevolatile sunt semnificativ diferite, atunci subsistemul RAM trebuie să fie ierarhic cu mai multe niveluri de ierarhie.

3. Numărul și parametrii nivelurilor de memorie ale ierarhiei depind de aria de aplicare a computerului.

4. În calculatoarele moderne de înaltă performanță, există până la 6 niveluri de ierarhie ale subsistemului de memorie.

5. Numărul de niveluri ierarhice poate fi arbitrar.

6. Fiecare nivel al ierarhiei îndeplinește un set de funcții strict definit.

7. Accesul la subsistemul de memorie ierarhică din exterior are loc întotdeauna la nivelul superior al ierarhiei.

8. Dacă nivelul i-lea al ierarhiei poate executa cererea primită, atunci o execută și transmite rezultatul sursei solicitării - nivelul (i-1)-al-lea al ierarhiei.

9. Dacă nivelul i-lea al ierarhiei nu poate îndeplini cererea primită, atunci formează o cerere către nivelul (i + 1)-al-lea al ierarhiei.

10. Pe măsură ce treceți de la nivelurile superioare ale ierarhiei subsistemului de memorie la nivelurile inferioare:

costul relativ al stocării informațiilor este redus;

creșterea capacității;

timpul de acces crește;

scade frecventa apelurilor de la nivelul anterior al ierarhiei;

se asigură imbricarea informaţiei conţinute în memoria nivelurilor superioare în memoria nivelurilor inferioare (adică informaţia din memoria unui nivel superior al ierarhiei este un subset al memoriei unui nivel inferior);

independenţa energetică este asigurată la un anumit nivel al ierarhiei.

Link localitatea

Esența termenului localizarea link-urilor (referință localității) este că accesele la RAM în timpul execuției unui fragment de program tind să se „acumuleze” într-o zonă limitată (cluster) a spațiului de adrese RAM. Pe măsură ce se execută un program suficient de complex, clusterul curent se schimbă în spațiul de adrese, dar pentru o perioadă destul de scurtă de timp, putem presupune că apelurile merg către un cluster fix.

Intuitiv, presupunerea despre localizarea legăturilor pare destul de rezonabilă. Luați în considerare următoarele argumente în favoarea acestei presupuneri.

1. O parte semnificativă a fluxului de control al programului este secvenţial
caracter. Excepțiile sunt condiționalul și salturi neconditionate, apelarea procedurilor și revenirea de la proceduri, care, în termeni procentuali, alcătuiesc o fracțiune nesemnificativă a comenzilor din program. În consecință, în majoritatea covârșitoare a cazurilor, următoarea comandă executabilă este preluată din celula RAM după cea în care a fost localizată comanda curentă.

2. Foarte rar se întâmplă ca comenzile de apel de procedură să urmeze una
urmat de un alt flux continuu, urmat de același flux de comenzi
revenire din proceduri. De regulă, programul are un imbricat destul de mic de apeluri de procedură. În consecință, pentru o anumită perioadă de timp, deși limitată, programul execută comenzi concentrate într-un număr mic de proceduri.

3. Majoritatea procedurilor de calcul iterative constau într-un număr mic de instrucțiuni repetate de câteva ori. Prin urmare,
în timpul execuției procedurii iterative, nucleul procesorului accesează de fapt aceeași zonă a RAM în care se află aceste instrucțiuni.

4. În multe cazuri proces de calcul include prelucrarea datelor structurate – matrice sau secvențe de înregistrări ale unei anumite structuri. În acest caz, elementele sunt procesate secvenţial
astfel de structuri, care, de regulă, sunt plasate compact în adresă
Spațiu RAM.

Aceste considerații intuitive au fost confirmate de multe studii. O serie de lucrări au studiat natura aplicațiilor tipice pentru diverse scopuri dezvoltate folosind limbaje de programare de nivel înalt. Unele dintre rezultatele acestor studii sunt prezentate în Tabelul 5.1. Arată frecvența relativă de utilizare a operatorilor tip diferitîn programe în diverse scopuri.

După cum se poate observa din tabelul de mai sus, rezultatele studiilor programelor în diverse scopuri au dat rezultate destul de apropiate - din acestea rezultă că comenzile de tranziție și apel de procedură reprezintă o parte foarte mică din toate comenzile executate în timpul funcționării programului. Astfel, cercetări riguroase au confirmat prima dintre presupunerile intuitive.

Tabelul 5.1. Frecvența relativă de execuție a instrucțiunilor de diferite tipuri în programe în limbaje de nivel înalt

Pe fig. 5.1 este un grafic care arată natura lucrului cu proceduri în procesul de execuție a unui program tipic.

Orez. 5.1. Natura apelului la proceduri în timpul execuției programului

Axa de ordonate a graficului arată adâncimea de imbricare curentă a procedurii care se execută, iar axa de abscisă arată timpul în unități relative (cicluri de execuție a comenzilor „apel/întoarcere”). Fiecare apel de procedură este reprezentat pe grafic printr-o linie înclinată care merge în jos-la dreapta (cufundând programul „în profunzime”), iar comanda de returnare este reprezentată printr-o linie în sus (ridicarea programului „la suprafață”) . Parcele sunt marcate cu dreptunghiuri în grafic, în care adâncimea relativă a cuibării nu depășește 5. Un astfel de dreptunghi (fereastra de imbricare specificată) este deplasat numai atunci când adâncimea de imbricare din momentul fixat de marginea sa stângă depășește 5. După cum se poate observa din grafic, programul rămâne în intervalul de imbricare specificat pentru o perioadă destul de lungă, ceea ce înseamnă că în tot acest timp nucleul procesorului accesează numai comenzi din cinci proceduri imbricate curente. Un studiu al unui număr de programe scrise în limbi de nivel înalt a arătat că doar 1% din toate instrucțiunile de apel de procedură au o adâncime de imbricare mai mare de 8.

Proprietatea de localizare a legăturilor este confirmată și de studiile ulterioare ale aplicațiilor specifice prezentului. De exemplu, în fig. Figura 5.2 prezintă rezultatele unui studiu statistic al accesului la pagini pe un singur server Web.

Orez. 5.2. Localizarea link-urilor către pagini web

Există o diferență între spațială și temporală localizare. Sub localizare spațială se referă la tendința de a concentra legăturile într-un anumit cluster (volum) al spațiului de adrese RAM. În special, acest lucru are loc atunci când se execută comenzi situate în celule RAM vecine, de exemplu. în ordinea firească a executării programului. Localizarea spațială are loc și la procesarea elementelor seturilor de date structurate situate în celule succesive ale RAM.

Sub localizare temporară se referă la tendința de a accesa aceleași celule RAM (un grup de celule) pentru un timp suficient de lung. Acest lucru are loc, de exemplu, la executarea buclelor repetate, chiar dacă corpul buclei conține mai multe proceduri (cel mai adesea imbricate una în cealaltă) situate în diferite segmente de RAM. Principalul lucru este că localizarea temporară vă permite să copiați anumite celule RAM într-un buffer și apoi lucrați cu ei mult timp.

Prin urmare, este posibilă distribuirea informațiilor între dispozitivele de stocare ale diferitelor niveluri ale ierarhiei în așa fel încât ponderea acceselor la memoria nivelurilor inferioare ale ierarhiei să fie mai mică decât ponderea acceselor la memoria superioare. niveluri.

Să revenim din nou la exemplul cu memorie pe două niveluri. Să presupunem că toate comenzile și datele programului sunt stocate într-un dispozitiv de stocare de nivel 2. Să copiem temporar clusterele curente pe dispozitivul de stocare de nivelul 1. Din când în când, unul dintre clusterele copiate (și, eventual, modificate în timpul execuției programului) va trebui să fie returnat înapoi la dispozitivul de stocare de nivel 2, iar un alt cluster va fi copiat în „fereastra” rezultată. Dar, în medie, majoritatea apelurilor din timpul execuției programului vor cădea pe acele clustere care sunt deja prezente în dispozitivul de stocare de prim nivel.

Același principiu poate fi aplicat într-un sistem care nu are două, ci trei sau mai multe dispozitive de stocare de diferite niveluri ale ierarhiei.

Cea mai rapidă, dar și cea mai mică ca volum, precum și cea mai scumpă (în raport cu cantitatea de informații stocate) va fi memoria, formată din registre interne ale procesorului. De regulă, numărul de astfel de registre este limitat la câteva zeci, deși există arhitecturi care includ sute de registre.

Câteva niveluri mai jos este RAM-ul computerului. Fiecare celulă RAM are atribut unic - adresa, mai mult, în instrucțiunile mașinii, pentru a identifica marea majoritate a datelor prelucrate, este utilizată adresa elementului corespunzător din RAM.

În calculatoarele moderne, deasupra RAM-ului din ierarhie, există o memorie cache, care are o capacitate mult mai mică decât RAM-ul (și mult mai mult decât setul de registre interne ale nucleelor ​​procesorului), dar are câteva ordine de mărime mai rapidă. performanţă. Memoria cache este de obicei ascunsă de programator, de exemplu. nu controlează plasarea datelor în memoria cache sau accesează în vreun fel din program. Acest dispozitiv de stocare intermediar „ține gata” datele și instrucțiunile programului, care, cel mai probabil, ar putea fi necesare în viitorul apropiat de nucleul procesorului și, astfel, „netezește” fluxul de informații între registrele nucleelor ​​procesorului și BERBEC.

Dispozitivele de memorie care îndeplinesc rolul de memorie a primelor niveluri ale ierarhiei într-un computer, de regulă, sunt dispozitive volatile semiconductoare statice prin proiectarea lor. Dar fiecare dintre ele este de obicei fabricat folosind o tehnologie care oferă echilibrul optim între capacitate, viteză și cost pentru un anumit nivel de memorie. Pentru stocarea pe termen lung a informațiilor, se folosesc dispozitive de memorie externă de mare capacitate (în legătură cu astfel de dispozitive, termenul este adesea folosit memorie de masă). Foarte des acestea sunt discuri magnetice dure sau dispozitive cu stare solidă, care sunt completate de dispozitive cu suporturi amovibile - discuri magnetice, optice și magneto-optice și bandă magnetică. Dispozitivele de stocare externe stochează fișiere ale programelor executabile și ale datelor procesate și, de regulă, programatorul se referă la aceste informații în termeni de fișiere sau înregistrări individuale, și nu în termeni de octeți sau cuvinte individuale.

Nivelurile ierarhice pot fi organizate nu numai prin includerea anumitor dispozitive în hardware-ul computerului, ci și prin software. O parte din RAM poate fi folosită de sistemul de operare ca un buffer atunci când se schimbă date între RAM semiconductor și memoria discului extern. Această tehnică, pentru care a fost inventat termenul special „cache pe disc”, contribuie la o oarecare îmbunătățire a performanței sistemului din două motive:

1. Înregistrările de pe discuri au o structură de cluster clar definită. Buffering-ul vă permite să transferați date în porțiuni mari, aproximativ egale cu un cluster, în loc să le trimiteți în porțiuni mici „trăgând” de fiecare dată mecanismul unității de disc.

2. Unele date destinate a fi scrise pe disc pot fi solicitate în mod repetat de către program (acest lucru se întâmplă adesea când se lucrează cu fragmente de bază de date). Prin urmare, este de dorit să le stocați în memoria rapidă a semiconductoarelor cât mai mult posibil și să nu le citiți de pe disc de fiecare dată.

întrebări de testare

1. Care sunt funcțiile subsistemului de memorie într-un computer?

2. Listați cerințele pentru subsistemul de memorie?

3. Cum se leagă între ele cerințele de bază pentru subsistemul de memorie?

4. Ce este nevolatilitatea memoriei?

5. Care sunt principalele caracteristici ale memoriei semiconductoare statice.

6. Care sunt principalele caracteristici ale memoriei dinamice semiconductoare.

7. Care sunt principalele caracteristici ale memoriei magnetice.

8. De ce nu poate fi implementat în mare viteză computer universal subsistem de memorie atunci când utilizați o singură tehnologie?

9. Care sunt principiile de organizare a subsistemului memoriei ierarhice?

10. Poate un subsistem RAM să aibă un singur nivel de ierarhie?

11. Ce este localizarea linkurilor?

12. Ce este localizarea temporală?

13. Ce este localizarea spațială?

INTRODUCERE

sarcina principală sistem informatic- rulează programe. Programele, împreună cu datele la care au acces, trebuie să fie (cel puțin parțial) în memoria principală în timpul execuției. Sistemul de operare trebuie să rezolve problema alocării memoriei între procesele utilizatorului și componentele sistemului de operare. Această activitate se numește managementul memoriei. Astfel, memoria (stocare, memorie) este o resursă critică care necesită o gestionare atentă.

În centrul implementării ierarhiei memoriei calculatoare moderne doua principii constau: principiul localitatii apelurilor si raportul cost/performanta. Principiul localității apelurilor spune că majoritatea programelor, din fericire, nu efectuează apeluri la toate comenzile și datele lor cu probabilitate egală, ci preferă o parte din spațiul lor de adrese.

În mod ideal, fiecare programator ar dori să aibă o memorie oferită numai lui, nelimitată în dimensiune și viteză de funcționare, care, în plus, nu își pierde conținutul atunci când este oprită alimentarea. Din moment ce visam atât de mult, de ce să nu facem memoria și destul de ieftină? Din păcate, tehnologiile existente nu ne pot oferi încă ceea ce ne dorim. Atunci cu ce ar trebui să ne mulțumim? De-a lungul timpului, a fost dezvoltat conceptul de ierarhie a memoriei, conform căruia computerele au câțiva megaocteți de memorie cache foarte rapidă, costisitoare și volatilă, câțiva gigabytes de memorie care este medie atât ca viteză, cât și ca preț, precum și câțiva terabytes de memorie pe destul de lent, relativ ieftin unități de disc ca să nu mai vorbim de mediile amovibile, cum ar fi DVD-urile și unitățile flash USB.

Deci, așa cum am stabilit deja, ierarhia de memorie a computerelor moderne este construită pe mai multe niveluri. În munca noastră, vom lua în considerare aceste niveluri, structura și funcțiile lor în detaliu.

1 STRUCTURA IERARHICĂ A MEMORIEI


Memoria computerului trebuie să aibă o capacitate mare capacitatea de informare, timp scurt de realizare (viteză mare), fiabilitate ridicată și cost redus. Dar pe măsură ce capacitatea crește, performanța scade și costul crește. Împărțirea memoriei în RAM și VZU nu înlătură complet această contradicție, deoarece diferența de viteză a procesorului, RAM și VZU este foarte mare. Prin urmare, informațiile sunt schimbate prin dispozitive tampon suplimentare, adică memoria computerului are o structură ierarhică pe mai multe niveluri. Cu cât memoria este mai rapidă, cu atât costul stocării unui octet este mai mare, cu atât capacitatea memoriei este mai mică. Ierarhia memoriei are următoarea formă (Fig. 1):

Figura 1 - Organizarea memoriei pe patru niveluri

Tipuri de memorie:

1) registrele memoriei microprocesorului, precum și memoria cache a primului și al doilea nivel;

2) memorie interioară ROM, RAM;

3) memorie externă;

4) memorie de masă sau de arhivă.


Acest sistem de dispozitiv de stocare funcționează ca un singur dispozitiv de stocare cu capacitate mare(datorită memoriei externe) și de înaltă performanță (datorită memoriei interne).

Memoria cu microprocesor este o memorie de mare viteză, de capacitate mică inclusă în MP și utilizată de ALU pentru a stoca operanzi și rezultate intermediare tehnica de calcul. Memoria CACHE este memorie tampon, care nu este accesibilă utilizatorului, care este utilizată automat de un computer pentru a accelera operațiunile cu informațiile stocate în dispozitivele de stocare cu acțiune lentă. Pentru a accelera operațiunile cu memoria principală, o memorie cache înregistrată este organizată în interiorul microprocesorului (Memoria cache de primul nivel) sau în afara microprocesorului pe placa de baza(memorie cache de al doilea nivel); pentru a accelera operațiunile cu memoria de disc, o memorie cache este organizată pe celule de memorie electronică.

Memoria internă este formată din ROM (ROM - Read Only Memory) și RAM (RAM - Random Access Memory - Random Access Memory). ROM-ul constă din cipuri instalate pe placa de bază și este folosit pentru a stoca informații imuabile: programe de boot sistem de operare (OS), programe de testare a dispozitivelor de calculator și unele drivere sistem de bază input-output (BIOS - Base Input-Output System), etc. Informațiile pot fi citite numai din ROM, capacitatea ROM-ului este de sute de Kbytes. Aceasta este memorie non volatila, - când computerul este oprit, informațiile sunt salvate.

Memoria externă se referă la dispozitivele computerizate externe și este utilizată pentru stocarea pe termen lung a oricăror informații care ar putea fi necesare. VZU este stocat software CALCULATOR. Memorie externă: HDD și ZHMD, NGMD și GMD (disc magnetic), streamer (NML - unitate de bandă magnetică), unități optice pentru discuri CD-ROM și DVD.

Structura informațională a memoriei externe este fișier. Cea mai mică unitate numită este un fișier, o colecție numită de date omogene. Informațiile dintr-un fișier sunt formate din biți și octeți, dar nu au adrese, deoarece suportul (discul magnetic) nu este discret.


2 CACHE

Datorită faptului că datele prelucrate local pot apărea în dinamica calculelor și nu sunt neapărat concentrate într-o zonă atunci când sunt situate static în memoria principală, memoria tampon este organizată ca una asociativă, în care datele sunt conținute împreună cu adresa lor în memoria principală. Astfel de memorie tampon numită memorie cache. Memoria cache permite flexibilitatea de a potrivi structurile de date necesare în dinamica de calcul cu structurile de date statice ale memoriei principale.

Cache-ul are un set de linii (cache-lines), fiecare dintre ele constând dintr-un număr fix de unități de memorie adresabile (octeți, cuvinte) cu adrese consecutive. Dimensiunea tipică a șirului de caractere: 16, 64, 128, 256 de octeți.

Cele mai frecvente sunt utilizate trei metode de organizare a memoriei cache, care diferă prin cantitatea de hardware necesară pentru implementarea lor. Acestea sunt așa-numitele cache direct-mapped, cache parțial asociativ și cache complet asociativ.

Când se utilizează un cache mapat direct, o adresă este reprezentată ca un set de trei componente care alcătuiesc grupuri de biți înalți, medii și, respectiv, inferiori ai adresei, ai etichetei, numărului de linie și, respectiv, offset. De exemplu, cu o adresă de 16 biți, primii 5 biți ar putea reprezenta eticheta, următorii 7 biți numărul liniei, iar ultimii 4 biți decalajul liniei. În acest caz, o linie este formată din 16 unități de memorie adresabile, pentru un total de 128 de linii în memoria cache.Un cache mapat direct este un set de linii, fiecare dintre ele conține o componentă de etichetă și elemente de memorie de linie, a căror adresă este identificat printr-un offset de la începutul liniei. Aceasta stabilește o corespondență unu-la-unu între adresa elementului de memorie și locația posibilă a acestuia


element de memorie din cache, și anume: elementul de memorie se află întotdeauna în linia specificată de componenta „număr de linie” a adresei și este situat la poziția liniei specificată de componenta „offset” a adresei.

Prezența unui element de date la adresa solicitată în cache este determinată de valoarea etichetei. Dacă eticheta liniei cache este egală cu componenta etichetei de adresă, atunci elementul de date este conținut în cache.

În caz contrar, este necesară schimbarea în memoria cache a liniei cu eticheta specificată în adresă.

Deoarece este necesară o singură comparație de etichete pentru a determina dacă linia de date dorită se află în cache șir datși adrese, iar înlocuirea șirurilor în sine este efectuată într-o locație fixă, cantitatea de hardware necesară pentru implementarea acestui tip de cache este destul de mică.

Neajunsurile acestei organizații sunt evidente. Dacă programul utilizează alternativ elemente de memorie din aceeași linie, dar cu valori de etichetă diferite, atunci acest lucru determină o înlocuire a liniei cu acces la datele din memoria principală la fiecare apel.

Memoria cache asociativă folosește o reprezentare cu două componente a adresei: grupul de biți înalți este tratat ca o etichetă, iar grupul de biți inferiori este tratat ca un offset în linie.

Prezența unei linii în cache este determinată de potrivirea etichetei de linie cu valoarea etichetei de adresă. Numărul de linii din cache poate fi arbitrar (limita naturală este numărul de valori posibile de etichetă). Prin urmare, atunci când se determină dacă linia necesară este în cache, este necesar să se compare eticheta de adresă cu etichetele tuturor liniilor de cache. Dacă faceți acest lucru secvențial, rând cu rând, atunci timpul de finalizare a comparațiilor va fi prohibitiv de lung. Prin urmare, comparația se realizează în paralel în toate rândurile folosind principiile de construcție memorie asociativă, care a dat numele acestei metode de organizare a memoriei cache.

În absența liniei necesare în memoria cache, una dintre liniile acesteia trebuie înlocuită cu cea necesară. Se folosesc diverși algoritmi pentru determinarea șirului înlocuit, de exemplu, ciclic, înlocuind șirul cel mai rar folosit, înlocuind șirul care nu a fost accesat de cel mai mult timp și altele.

Un cache parțial asociativ combină ambele abordări de mai sus: un cache constă dintr-un set de blocuri cache asociative. Componenta de mijloc a adresei specifică, spre deosebire de memoria cache direct adresabilă, nu numărul liniei, ci numărul unuia dintre blocurile asociative. La căutarea datelor, compararea asociativă a etichetelor se efectuează numai pentru un set de blocuri (este posibil să se organizeze un cache atunci când există mai multe astfel de seturi), al căror număr se potrivește cu componenta de mijloc a adresei. În număr n liniile dintr-un set de cache sunt numite n- intrare.

Corespondența dintre datele din memoria principală și memoria cache este asigurată prin efectuarea de modificări în acele zone din memoria principală pentru care datele din memoria cache au fost modificate. Potrivirea datelor este furnizată în paralel cu calculele principale. Există mai multe moduri de implementare (și, în consecință, mai multe moduri de funcționare a memoriei cache).

O modalitate implică efectuarea de modificări în memoria RAM imediat după modificarea datelor din cache. În acest caz, procesorul este inactiv și așteaptă finalizarea scrierii în memoria principală. Copia corectă a datelor din cache este păstrată în memoria principală și nu este necesară nicio acțiune suplimentară la înlocuirea șirurilor. Memoria cache care funcționează în acest mod se numește memorie de tip write-through.

O altă metodă presupune afișarea modificărilor în memoria principală numai în momentul în care linia de date este evacuată din cache. Dacă datele de la adresa de memorie la care urmează să fie scrise sunt în cache, atunci este scrisă doar memoria cache. Dacă nu există date în cache, acestea sunt scrise în memoria principală. Acest mod de operare al cache-ului se numește write-back.

Există și opțiuni intermediare (buffered write totuși), în care cererile de modificare din memoria principală sunt tamponate și nu întârzie procesorul pe durata operațiunii de scriere în memorie. Această scriere este efectuată de îndată ce controlerul cache poate accesa memoria principală.

Memoria cache de scriere înapoi creează mai puțină sarcină pe magistrala procesorului și oferă performanțe mai bune, dar controlerul pentru memoria cache de scriere înapoi este mult mai complicat.

Controlerul de cache ține evidența adreselor de memorie emise de procesor, iar dacă adresa se potrivește cu datele conținute într-una dintre liniile de cache, atunci se notează o „lovitură de cache”, iar datele din cache sunt trimise procesorului. Dacă nu există date în cache, atunci se remediază o „miss” și sunt inițiate acțiuni pentru a livra linia necesară din memorie în cache. Într-un număr de procesoare care execută un set de instrucțiuni în același timp, sunt permise mai multe erori înainte ca mecanismul de înlocuire a șirurilor să fie declanșat.

Raționamentul cu privire la modul de organizare a memoriei cache este mai de preferat ar trebui să țină cont de particularitățile generării de programe de către compilator, precum și de utilizarea de către programator a informațiilor despre funcționarea compilatorului și a controlerului memoriei cache la pregătirea programului. . Adică o modalitate mai simplă de organizare a memoriei cache susținută de compilator, atunci când se execută programe scrise în conformitate cu anumite reguli, datorită particularităților de compilare și organizare a memoriei cache, poate da un rezultat mai bun decât un mod complex de organizare a memoriei cache.

Deoarece zonele de memorie ale programelor și ale datelor sunt diferite și sunt accesate simultan, pentru a crește paralelismul atunci când lucrați cu memorie, faceți cache separate comenzi și date.


CONCLUZIE

Această lucrare a fost dedicată studiului ierarhiei memoriei și problemelor de stocare în cache. Am luat în considerare nivelurile, structura și funcțiile ierarhiei memoriei. Am descoperit că construcția ierarhică a memoriei computerului poate reduce costul subsistemului memoriei computerului, deoarece datele care sunt necesare mai des sunt stocate în memorie de mare viteză (și mai scumpe), în timp ce o cantitate mare de date rar utilizate poate fi stocat în memorie externă relativ ieftină. Ierarhia memoriei este una dintre caracteristicile arhitecturii computerelor care este de mare importanță pentru îmbunătățirea performanței acestora (netezirea diferenței dintre viteza procesorului și timpul de acces la memorie). Niveluri de bază: registre, memorie cache, RAM, memorie pe disc. Timpul de acces pentru nivelurile de memorie de la memoria discului la registre scade, costul pe 1 cuvânt (octet) crește. În prezent, o astfel de ierarhie este acceptată chiar și pe computerele personale.

Și a luat în considerare, de asemenea, principiile de funcționare și tipurile de memorie cache. Un cache este o memorie cu o rată de acces mai mare, concepută pentru a accelera accesul la datele conținute permanent în memorie cu o rată de acces mai mică (denumită în continuare „memorie principală”). memoria cache este aplicată de procesor, hard disk-uri, browsere și servere web. Ideea de bază a unui cache este simplă: conține cuvintele care sunt cele mai utilizate. Dacă procesorul are nevoie de un cuvânt, mai întâi accesează memoria cache. Numai dacă cuvântul nu este acolo, acesta accesează memoria principală. Dacă o parte semnificativă a cuvintelor se află în cache, timpul mediu de acces este redus semnificativ.

Cache-ul constă dintr-un set de intrări. Fiecare intrare este asociată cu un element de date sau cu un bloc de date (o bucată mică de date), care este o copie a elementului de date din memoria principală. Fiecare intrare are un identificator care definește corespondența dintre elementele de date din cache și copiile acestora din memoria principală.

LISTA SURSELOR UTILIZATE

1 Mayer, R.V. Informatică: codificarea informațiilor. Principii de funcționare a calculatorului. [Text] / Manual. indemnizatie pentru universități.// R.V. Mayer - M.: TÂRG - PRESĂ, 2004. - 24 p.

2 Schnittman, W. Arhitectura procesorului UltraSPARC. [Text]/ V. Shnitman // sisteme deschise nr. 2, 1996.– c. 5

3 Tanenbaum, E. Modern Sisteme de operare. a 3-a ed. [Text] / - Sankt Petersburg: Peter, 2002.–1120 p.

4 Trofimova, I.P. Sisteme de prelucrare și stocare a informațiilor: Proc. pentru universitati. [Text] / I.P. Trofimova - M .: Mai sus. şcoală, 1989. - 191 p.

5 Biktashev, R.A. , Knyazkov, V.S. sisteme multiprocesor. Arhitectură, topologie, analiză de performanță: Tutorial. [Text]/– Penza: Penz. stat un-t, 2003. -105 p.