Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • OS
  • Organizacija memorije računarskog sistema. Organizacija memorije u računarima

Organizacija memorije računarskog sistema. Organizacija memorije u računarima

Prije razmatranja tehnologije fizičke organizacije memorije u računaru, treba napomenuti sljedeće:

1. Memorija u računaru ima organizaciju na više nivoa.

2. Memorija se klasifikuje prema načinu pristupa podacima.

Sve vrste memorije koje imaju adresnu strukturu rade na principu korespondencije jedan-na-jedan između svakog elementa skupa adresnog prostora i svakog elementa skupa podataka pohranjenih u memoriji.

Memorija sekvencijalnog pristupa eliminiše mogućnost slučajnog pristupa memorijskom elementu, pristup kojem je određen algoritmom reda u strukturi memorije sa svojom homogenom organizacijom ili algoritmom sekvencijalnog pristupa od vrhunski nivo na najniže u organizaciji na više nivoa (sistem datoteka).

Asocijativna memorija koristi asocijativni znak (oznaku, koja se može koristiti kao kod, ključ, adresa ili njegov dio) kao traženje elementa podataka u memoriji adresnu memoriju, koji pohranjuje njegovu kopiju). Zbog toga se element podataka može nalaziti bilo gdje u memoriji, kršeći princip korespondencije jedan-na-jedan, koji je karakterističan za strukture adresne memorije.

3. Prema načinu skladištenja.

Statički

Dynamic

Trajno

Fleš memorija

4. Memorija u računaru ima modularnu strukturu. Koji se temelji na modularnoj konstrukciji, koja omogućava formiranje promjenjivog volumena skladišnog bloka povećanjem ili smanjenjem broja modula u konfiguraciji.

Fizička memorija računarskog sistema se deli na eksternu i operativnu. Eksterna memorija je za dugotrajno skladištenje informacije i pohranjuju se u pasivnom stanju kompjuterskog sistema čak iu isključenom stanju.

Eksterna memorija u modernom računarski sistemi ah se implementira uglavnom na diskove i magnetne trake, kao i razne vrste nepostojane memorije.

Eksterna memorija je fizički implementirana kao I/O sistemski uređaji koji komuniciraju sa procesorom i memorijom preko I/O interfejsa, čiji se rad zasniva na dva različita arhitektonska rešenja: sistemskoj magistrali i I/O kanalima.

Kao za ram memorija, čija je fizička i logička organizacija predmet ove teme, strukturno je podijeljena na dva dijela: uređaj za skladištenje i kontrolnu jedinicu ili memorijski kontroler.

Memorijski kontroler je koordinator RAM-a, povezan je na interfejse sa procesorom i I/O sistemom, primajući od njih zahteve za podacima kako za upis u memoriju tako i za čitanje iz nje.

Po prijemu zahtjeva, kontroler ga stavlja u red za pristup memorijskom uređaju (memoriji) prema prioritetu, dajući prednost I/O sistemu, organizira komunikaciju sa memorijom u skladu sa protokolom interfejsa koji ih povezuje.



Funkcionalnost memorijskog kontrolera je u direktnoj proporciji sa složenošću funkcionalnosti sistema. Tako, na primjer, u simetričnim višeprocesorskim sistemima, memorijski kontroler je koordinator zahtjeva za podacima od svih procesora sistema, prihvata ih na izvršenje ili ih privremeno blokira ako se podaci već obrađuju od strane drugog procesora, čime se osigurava koherentnost podataka u sistem.

Prema načinu skladištenja, moderna RAM memorija u računarskim sistemima u većini slučajeva se odnosi na dinamičku memoriju, koja periodično zahtijeva način vraćanja informacija u memoriju tokom rada, odnosno cikluse regeneracije, tokom kojih je blokiran pristup memoriji od vanjskih agenata. Organizacija takvih ciklusa i njihova učestalost je uključena u funkcije kontrolera.

Kako bi smanjili učinak ciklusa osvježavanja na performanse memorije, počeli su se koristiti razne metode. To je, prije svega, korištenje tehnologije modularne konstrukcije memorije sa organizacijom banaka i preplitanjem adresa, odnosno smještanjem podataka s parnim i neparnim adresama u različite memorijske module (mikrokrugove) kojima se istovremeno može pristupiti u memoriji. ciklus, čime se kombinuje uzorkovanje podataka u jednom modulu sa ciklusom regeneracije u drugom, u nedostatku režima burst uzorkovanja, odnosno istovremenog uzorkovanja podataka na parnoj i neparnoj adresi.

Počeli su koristiti i način automatske regeneracije memorijskih ćelija kojima se pristupa podacima u načinu čitanja i način interne regeneracije svih memorijskih ćelija u mikro krugovima. Ali u tu svrhu, interni kontroler je morao biti ugrađen u svaki memorijski čip i dodijeliti mu gore navedene i druge funkcije, oslobađajući vanjski kontroler za druge važnije zadatke.

Što se tiče same arhitekture memorije koja je namenjena za skladištenje,

pisanje i čitanje podataka može se primijetiti na sljedeći način.

Korištenje kao memorijski elementi u početnoj fazi razvoja računarska nauka elektronske cijevi, a kasnije i feritnih jezgara i na kraju prelazak na poluvodičku tehnologiju, u kojoj su počeli koristiti kapacitivna svojstva izolovanog drena tranzistora s efektom polja. Krajnji cilj ovih promjena bio je i biće rješavanje sljedećih zadataka:

Povećanje kapaciteta memorije

Povećanje performansi

Poboljšajte pouzdanost skladištenja i smanjite potrošnju energije memorije.

Ako sistemska memorija savremenih 32-bitnih računara sa 32-bitnom adresnom sabirnicom za pristup memoriji omogućava povećanje njenog kapaciteta do 4 GBT, onda je za računare 2. i 3. generacije sa feritnom memorijom kapacitet čak i superračunara od to vrijeme je procijenjeno na samo desetine i stotine kilovata, pa je kapacitet BESM6 memorije domaćeg superkompjutera u jednom trenutku bio oko 768 kbt, ne dostižući čak ni granicu megabajta.

Do skoka u količini RAM-a došlo je uvođenjem poluvodičke tehnologije u proizvodnju memorijskih uređaja za pohranu, zahvaljujući čemu je kapacitet RAM-a prešao megabajtnu granicu. Jedan od prvih računara koji je imao takvu memoriju bio je IBM7030 1961. Veličina njegove memorije bila je 2MGBT. Razvoj dizajna ove mašine kasnije je korišćen u dobro poznatim serijama mašina IBM360 i IBM370. Ove mašine, koje su imale 24-bitne adresne magistrale za pristup memoriji, imale su mogućnost povećanja kapaciteta memorije do 16 MGBT. Sa uvođenjem 32-bitne magistrale u računare kao što su ESA370, IBM4381, iako memorija nije prešla granicu gigabajta, imala je mogućnost porasta sa 16 na 64 megabajta.

Moderni mejnfrejmovi Z-arhitekture, kao što je Z9BC, imaju mogućnost povećanja do 64GBT, imaju 64-bitnu magistralu, a Z10 računari čak i do 1,5TRBT.

Što se tiče naših domaćih računara, količina RAM-a u EU Series 3 mašinama (EC1046,EC1066) dostigla je 8 MB, mašinama kojima je u ovoj fazi bilo suđeno da završe svoj istorijski put razvoja.

Postojali su i kompjuteri iz klase superkompjutera namenjeni za potrebe odbrane sistema protivraketne odbrane, koji su imali memorijski kapacitet veća veličina, na primjer, projekat M13 (količina RAM-a ovog superračunara mogla bi se proširiti do 34 MB).

Sljedeća od glavnih karakteristika fizičke organizacije memorije je vrijeme uzorkovanja podataka, koje je za računare 2. generacije sa memorijom na magnetnim jezgrama iznosilo 10-12 mikrosekundi. I tek s uvođenjem poluvodičke memorije, vrijeme uzorkovanja podataka smanjilo se za red veličine i postalo od 1,5 do 0,5 ms.

Dinamička memorija u svojoj prirodi i načinu pohranjivanja podataka, unatoč više jednostavna struktura od statičkog, on je najinercijalniji, odnosno najsporiji deo računarskog sistema, a čak i uz značajno smanjenje ciklusa pristupa njemu, to ostaje i sada.

To je razlog za izgradnju višerazinske memorije u računarstvu sistema, kao deo koji uključuje registarske datoteke i drugačiji broj nivoi brze bafer memorije, napravljene na statičkim (flip-flops) elementima za skladištenje.

Moderna arhitektura Računalni sistemi rade sa konceptima kao što je virtuelna memorija, čije je preslikavanje u fizičku memoriju predstavljeno kombinacijom RAM-a i eksterne memorije. Ovo je postalo moguće kao rezultat ideje koju su iznijeli engleski naučnici sa Univerziteta u Mančesteru, čija je suština bila da se odvoje koncepti veličine adresnog prostora od specifične veličine adresnog RAM-a u sistemu. Tako je adresni prostor sistema postao nezavisan od veličine RAM-a i počeo se predstavljati programeru kao virtuelna memorija, dajući mu široke mogućnosti prilikom pisanja programa, ne ograničavajući se na veličinu RAM-a.

Za implementaciju ove ideje bilo je potrebno uvesti koncepte kao što su logičke adrese i virtuelne stranice, koje predstavljaju memorijska područja određenog jednake veličine, na koji se počeo dijeliti cijeli adresni prostor virtuelna memorija.

Prava memorija se počela dijeliti na fizičke stranice, čije su veličine odgovarale veličini virtuelne stranice.

Zapravo, sadržaj virtuelne memorije može se nalaziti u RAM-u, a tada virtuelna stranica dobija status fizičke stranice, i to u bilo kojoj oblasti RAM-a koja je dozvoljena po nahođenju operativni sistem ili u suprotnom slučaju eksternu memoriju.

Stoga, računarski sistem koji implementira mehanizam virtuelizacije memorije mora imati mehanizam za premeštanje sadržaja virtuelnih stranica iz eksterne memorije u RAM i nazad tokom izvršavanja programa. Takav mehanizam se zove sistem podataka, mehanizam dinamičkog preusmjeravanja, kao što je na IBM sistemima, ili mehanizam straničenja u INTEL procesori pretvoriti virtuelne adrese u fizičke.

Uveden je koncept logičkih adresa. Adrese komandi i podaci koji se generišu tokom izvršavanja komandi u procesoru dobijaju status logičkih, budući da više ne odgovaraju adresama fizičke memorije, već su označavale samo lokaciju u adresnom prostoru. programski kod.

Štaviše, postalo je moguće da sistem ima nekoliko virtuelnih adresnih prostora koji imaju sopstvene šeme za pretvaranje logičkih adresa u fizičke.

Virtuelna memorija je sistemski objekat koji se razmatra na nivou operativnog sistema i stoga je svrsishodnije okarakterisati njegovu strukturu sa stanovišta logička organizacija memorija.

Prije karakterizacije logičke organizacije memorije, treba napomenuti da se adresiranje fizičke memorije vrši bajt po bajt, odnosno minimalna adresabilna jedinica je bajt, te stoga sve veličine strukturnih elemenata logičke organizacije memorije mora biti višekratnik cijelog broja bajtova u njima.

Program radi sa konceptima kao što su operator, operandi, konstante, varijable izražene u numeričkom ili simboličkom obliku. Kao rezultat prevođenja programskog koda, oni predstavljaju binarne kodove koji se sastoje od cijelog broja bajtova koji se stavljaju u RAM kada se program izvršava. Bajtovi se kombinuju u reči, reči u redove, redovi u stranice, stranice u segmente.

Za logičku organizaciju memorije važan je redosled po kojem se bajtovi postavljaju u memoriju. Uobičajeno je poredati bajtove u memoriji s lijeva na desno, povećavajući njihove vrijednosti adrese za jedan.

Podjela virtualne i fizičke memorije na stranice i segmente omogućava ne samo mapiranje virtualnih stranica u fizičku memoriju, već i opisivanje područja linearni prostor i fizičku memoriju, uzimajući u obzir njihovu namjenu i prava pristupa programima u takozvanim deskriptorima koji odgovaraju svakom segmentu i svakoj stranici. Tako se implementira zaštitni mehanizam prilikom pristupa RAM-u.

Tako sloj operativnog sistema ima na raspolaganju mehanizam za particionisanje virtuelne i fizičke memorije na stranice i segmente, koji koristi kao alat za formiranje strukture logičke memorije sistema. Ali postoje oblasti u RAM-u za koje se koristi samo fizičko adresiranje. U ove oblasti operativni sistem obično postavlja tabele koje se koriste prilikom pretvaranja adresa logičke memorije u fizičke. A. takođe razne vrste vlasničkih informacija, kojima je pristup dozvoljen samo sa njene strane. Ove oblasti se nazivaju trajno dodeljene oblasti memorije, čija veličina je određena arhitekturom sistema i operativnim sistemima.

Postoji ravan i višedimenzionalni model logičke memorije. Koncept modela ravne memorije povezan je s organizacijom memorije s slučajnim pristupom koju je predložio von Neumann, odnosno sa postavljanjem naredbi i podataka u zajedničko područje fizičke memorije, dajući pravo kontrole redoslijeda njihovog plasman kod samog programera. Takav model je stvarao određene poteškoće i zahtijevao dodatne napore od programera prilikom pisanja programa. Prvi pokušaj da se poboljša model ravne memorije bilo je uvođenje mehanizma segmentacije kako bi se odvojile oblasti za komande i podatke. Ovaj model je postao poznat kao ravno zaštićeni, u kojem su područja komandi i podataka i dalje mogla biti locirana unutar veličine fizičke memorije, ali na različitim mjestima, pristup kojima je bio naznačen preko početnih adresa segmenata u deskriptorima, a veličina je ograničena graničnom vrijednošću navedenom u njima. Tako je implementiran najjednostavniji mehanizam zaštite u memoriji. Ova tehnologija je bila slična tehnologiji memorijskog modela u arhitekturi Harvarda, ali se primjenjivala na zajedničku fizičku memoriju za upute i podatke. Kasnije je uveden model ravne višesegmentne memorije, u kojem su ostala područja namijenjena ne samo pohranjivanju naredbi i podataka počela kontrolirati zaštitni mehanizam.

Model memorije postao je višedimenzionalan uvođenjem virtualne memorije, u kojoj su se logičke adrese počele dijeliti na nekoliko dijelova, od kojih je svaki podvrgnut transformaciji tablice. Broj mehanizama uključenih u transformaciju određuje višedimenzionalnost logičke memorije. Pri straničnim adresama, memorija postaje jednodimenzionalna, u kojoj se grupa koja se sastoji od najviših bitova logičke adrese podvrgava transformaciji u najjednostavnijoj verziji. Broj ovih bitova u grupi, odnosno snaga 2 određena ovim brojem bitova, određuje broj virtualnih stranica u virtualnoj memoriji. Najmanji bitni bitovi logičke adrese se ne konvertuju i određuju pomak, odnosno lokaciju podataka na fizičkoj stranici. Pošto je broj stranica virtuelne memorije dovoljno velik, najviša grupa bitova logičke adrese se deli u nekoliko grupa. Kao rezultat toga, umjesto jedne tabele stranice, mehanizam za konverziju koristi nekoliko skupova tabela manji. Broj tabela uključenih u skup će također biti određen stepenom koji je određen brojem adresnih bitova u grupi koja slijedi nakon grupe niskih adresa logičke adrese, a broj skupova će biti jednak broju redova u direktorij stranice, čija će veličina ovisiti o broju bitova u grupi koja određuje veličinu direktorija. Gore opisana struktura bit će tipična u slučaju dijeljenja najviše grupe bitova logičke adrese na tri dijela.

Razmotrite koji je hardver potreban za pretvaranje logičkih adresa u fizičke.

Kao što je gore spomenuto, grupa bitova logičke adrese s najmanjim značajem ne podliježe konverziji i predstavlja pomak, odnosno lokaciju prvog bajta adresnih podataka unutar fizičke stranice.

Mehanizam korak po korak za pretvaranje logičke adrese u fizičku (kada je gornji dio logičke adrese podijeljen na dva dijela) odvija se sljedećim redoslijedom:

1. Navodi se referenca na red u tabeli, određen grupom cifara visokog reda logičke adrese, interpretiranih kao direktorijum stranica. Tabela se nalazi u RAM-u. Adresa reda se formira dodavanjem osnovne adrese, koja označava početak lokacije tabele u memoriji, i prethodno učitane u sistemski registar u procesoru. Drugi pojam je šifra u grupi viših cifara.

2. Ovo čita liniju direktorija iz memorije koja sadrži atribute i osnovnu adresu tablice stranica koja odgovara toj liniji direktorija.

3. Ciklus pristupa memoriji je organiziran za red u tabeli stranica. Adresa linije se formira dodavanjem osnovne adrese pročitane iz linije imenika i koda koji odgovara vrijednosti cifara u grupi koja slijedi nakon grupe cifara u imeniku.

4. Red za čitanje iz tabele stranica sadrži osnovnu adresu fizičke stranice u memoriji, koja se dovodi u sabirač, pri čemu dodavanjem vrijednosti grupi najmanjih bitova logičke adrese, predstavlja pomak u području fizičke stranice, formira se fizička adresa pristupa memoriji.

I tako, u skladu sa gore opisanim algoritmom, hardverska podrška za pretvaranje logičkih adresa u fizičke je:

1. Područje RAM-a dodijeljeno za pohranjivanje tablica. Ovo područje je prostor u kojem mehanizam transformacije ne djeluje.

2. Prisustvo kontrolnih registara u procesoru za pohranjivanje bazne adrese koja ukazuje na lokaciju početne tablice u memoriji.

3. Sabirač za izvođenje operacija sabiranja adresne aritmetike.

4. Prisustvo bafer registara ili keš memorija koje su potpuno asocijativne za pohranjivanje rezultata faza pretvaranja logičkih adresa u fizičke.

Najnoviji hardver je neophodan da bi se povećale performanse sistema, jer nema potrebe za izvođenjem punog ciklusa transformacija svaki put kada se pristupi memoriji unutar iste fizičke stranice, čije su koordinate izračunate prilikom prvog pristupa.

Uvođenje dodatnog mehanizma segmentacije prilikom pretvaranja logičkih adresa čini memorijski model dvodimenzionalnim. Mehanizam segmentacije formira linearni adresni prostor virtuelne memorije, koji se kao rezultat transformacije sastoji od segmenata u kojima se nalaze programski kodovi i podaci, definišući na taj način jednu dimenziju logičke memorije, druga dimenzija određuje mehanizam straničenja, koja predstavlja memoriju. kao skup virtuelnih stranica.

Treba napomenuti da se tumači ideologija segmentacije virtuelne memorije u računarskim sistemima drugačije. Na primjer, faza segmentacije u procesu pretvaranja logičkih adresa u fizičke u IBM sistemima (IBM360, IBM370, Z-architecture server) je neodvojiva od faze stranica, budući da je prethodna faza prije faze konverzije stranice, baš kao u INTEL-u. sistema, kontroliše ga samo gornji dio adresa logičke adrese, srednji dio adrese i donja grupa adresa učestvuju samo u stranicama. Dakle, provođenje neodvojive logičke veze između faza, prvo razbijanje virtuelne memorije na segmente - područja velika veličina a zatim segmenti na stranice.

U serverima Z-arhitekture, veličina virtuelne adrese je povećana na 64 bita, što je omogućilo adresiranje virtuelne memorije do 16 eksabajta. Što se tiče multidimenzionalnosti logičke memorije u ovim serverima, njihov hardver omogućava postojanje do 4 tipa virtuelnih nezavisnih adresnih prostora sa brojem prostora u dva od njih po 64K, au preostala dva po 16 sa svojim transformacijama tabele. za svaki tip, koji se koriste za izgradnju virtuelnih logičkih formacija - logičkih particija, od kojih svaka ima svoj operativni sistem. Svaki tip virtuelne adrese, povezan sa tipom njene virtuelne memorije, podleže istom mehanizmu konverzije sa svojim skupovima tabela. Stoga, slijedeći koncepte i terminologiju o kojima se raspravljalo gore, memorija u ovim serverima se može smatrati skupom od 4 tipa jednodimenzionalnih virtuelnih memorija sa petostepenom transformacijom, sa pet tipova regiona: stranica, segment, region1, region2, region3.

Šema prevođenja virtuelne adrese u serverima Z-arhitekture

Memorija je važan dio računarskih sistema. Organizacija interakcije između procesora i memorije određuje glavne karakteristike računarskog sistema, preostali elementi obezbeđuju vezu ove veze sa spoljnim uređajima sa spoljnim svetom. Memorija je povezana sa kontrolerom za upravljanje memorijom (memory manager) preko adresne magistrale, sabirnice podataka i kontrolne magistrale. Širina sabirnice podataka određuje koliko bitova se može čitati iz memorije u isto vrijeme (paralelno). Svaka binarna znamenka (1 bit) pohranjena je u memorijski element. Elementi za memoriju različitih tipova izgrađeni su na osnovu različitih fizičkih principa za snimanje i pohranjivanje informacija. Memorijski elementi se kombinuju u memorijske ćelije. U ovom slučaju, svi elementi ćelije se adresiraju istovremeno, na isti način, i organizovani su tako da mogu istovremeno da izlaze podatke na sabirnicu podataka. Takve spojene ćelije formiraju riječ. Broj bitova podataka koji se čitaju iz memorije u isto vrijeme naziva se dužina uzorka. Za pohranjivanje 1 bajta koristi se 8 memorijskih elemenata, osmobitne memorijske ćelije su organizirane korištenjem sabirnice podataka širine 8 linija.

Memorijski moduli (čipovi) se koriste za kreiranje memorijskih modula koji se ugrađuju u posebne slotove (konektore) računarskog sistema. Sada najčešći DIMMs- memorijski moduli sa dva reda kontakata.

Širina adresne magistrale određuje adresni prostor, odnosno broj memorijskih ćelija kojima se može direktno adresirati. Ako je širina adresne magistrale n, tada je broj svih mogućih binarnih kombinacija (broj adresa) definiran kao N = 2n.

Rice. 1. Organizacija komunikacije između memorijskog sistema i procesora

Memorija računarskog uređaja može izvršiti tri operacije:

a) skladištenje informacija;

b) snimanje informacija;

c) čitanje informacija.

Specifikacije memorije:

Kapacitet memorije određuje maksimalnu količinu informacija pohranjenih u memoriji i mjeri se u bitovima, bajtovima, kilobajtima, megabajtima, gigabajtima, terabajtima itd.

Specifični kapacitet se definira kao omjer memorijskog kapaciteta i volumena koji on fizički zauzima.

Gustina snimanja informacija definira se kao količina informacija po jedinici površine nosača informacija ili po jedinici dužine nosioca informacija.

Vrijeme pristupa memoriji. Brzina memorije je određena trajanjem izvršavanja operacija prilikom pristupa memoriji. Vrijeme pristupa pisanju i vrijeme pristupa čitanju su zbir vremena pretraživanja za memorijsku ćeliju na datoj adresi i stvarnog vremena pisanja ili čitanja, respektivno.

Klasifikacija memorije:

Memorija sa slučajni pristup

Za memoriju sa slučajnim pristupom (elektronska memorija), vrijeme pristupa ne ovisi o lokaciji željene memorijske oblasti. Odabir ćelije se odvija po adresi pomoću elektronskih kola.

Direktan pristup petlji

Kada se odnosi na disk memorija koristi se direktni round robin. Medijum za skladištenje se neprekidno rotira, tako da je mogućnost pristupa istom memorijskom području ciklična.

Serijski pristup

Sekvencionalni pristup podacima moguć je kada se kao medij koristi magnetna traka, gdje je potrebno sekvencijalno pregledavanje dijelova medija da bi se pronašli željeni podaci.

Neadresirano pamćenje

Uređaji za skladištenje koji se ne mogu adresirati uključuju stek i asocijativne uređaje za pohranu. Kada se pristupa neadresiranoj memoriji, adresa ćelije nije navedena u instrukciji za pristup memoriji. U memorijskim uređajima steka, adresa memorijske ćelije vodi evidenciju o posebnom adresnom registru. Prilikom pristupa steku postavlja se adresa iz ovog registra. Kada se odnosi na asocijativno pamćenje informacije se traže po osobini (oznaku) upoređivanjem oznaka svih memorijskih ćelija sa asocijativnim svojstvom. Asocijativni atribut je napisan da izvrši operaciju poređenja u posebnom registru atributa.

Klasifikacija memorije prema funkcionalna namjena:

ROM - memorijski uređaji samo za čitanje ili ROM (Read Only-Memory), koriste se za pohranjivanje trajnih podataka i uslužnih programa.

SOZU je super-brzi memorijski uređaj, to je skup registara opće namjene- RON, dizajniran za skladištenje operanada i rezultata operacije u procesoru.

RAM - memorija sa slučajnim pristupom ili RAM (Random Access Memory - random access memory), koristi se za skladištenje izvršnog programa i operativnih podataka. Ako se bilo kom registru može pristupiti za pisanje/čitanje na njegovoj adresi, onda takva struktura registra formira SRAM sa slučajnim pristupom.

Klasifikacija prema načinu pohranjivanja informacija:

Statička memorija

U statičkim uređajima za skladištenje, LSI su napravljeni na bistabilnim okidačkim memorijskim elementima (koji imaju dva stabilna stanja - otuda i naziv memorije).

dinamička memorija

Dinamičke memorije koriste jeftinije LSI, u kojima je element za skladištenje kondenzator. Kondenzator se vremenom prazni (to je dinamika), pa je potrebno održavati potencijalnu vrijednost punjenjem kondenzatora. Ovaj proces se naziva regeneracija.

Trajna memorija

U memorijskim uređajima samo za čitanje, element za pohranu je topljiva veza ili poluvodička dioda, koji igra ulogu razorivog mosta. Flash ROM-ovi koriste plivajuće i izolovane MOS tranzistorske ćelije za snimanje i pohranjivanje informacija, informacije se bilježe električnim putem kada struja teče kroz izvor/odvodni kanal, naboji se talože na kapiji i pohranjuju koliko god se želi. Informacije se brišu primjenom napona različitog predznaka na dio izvora/odvoda u reprogramabilnom ROM-u sa električnim brisanjem ili izlaganjem ultraljubičastom zračenju u ROM-u sa ultraljubičastim brisanjem.

Holografska memorija

U holografskim uređajima za skladištenje, informacije se pohranjuju u volumenu holografskog kristala u obliku snimka interferencije dvaju valova, referentnog i informacijskog. Ovaj obećavajući tip uređaja za skladištenje ima visoku gustinu snimanja informacija i trenutno je u razvoju.

biološka memorija

U biološkim uređajima za skladištenje informacija se bilježi pomoću promjene stanja organskih molekula koji imaju svojstvo pohranjivanja naboja i razmjene elektrona.

Memorija uključena magnetni mediji

U vanjskim uređajima za pohranu na magnetnim medijima, informacije se pohranjuju u obliku dijelova feromagnetne površine diska ili magnetne trake magnetizirane u određenom smjeru.

optička memorija

U optičkim eksternim uređajima za skladištenje, informacije se snimaju u obliku sekcija koje imaju različite šanse rasipanje svjetlosti usmjerenog laserskog zraka.

Memorija je jedna od glavnih komponenti svakog računara. Njegov kapacitet i brzina u velikoj mjeri određuju performanse cijelog kompjuterski sistem. U ovom broju najviše važne tehnologije kreiranje i detalje organizacije memorije.

Tabela 9.1. Hijerarhija memorijskog podsistema računara
Vrsta memorije 1985 2000
Vrijeme uzorka Tipična jačina zvuka Cijena / bajt Vrijeme uzorka Tipična jačina zvuka Cijena / bajt
1 Super-brza memorija (registri) 0,2 5 ns 16/32 bit $ 3 - 100 0,01 1 ns 32/64/128 bit $ 0,1 10
2 Brza bafer memorija (keš memorija) 20 100 ns 8Kb - 64Kb ~ $ 10 0,5 - 2 ns 32Kb 1Mb $ 0,1 - 0,5
3 Operativna (glavna) memorija ~ 0,5 ms 1Mb - 256Mb $ 0,02 1 2 ns 20 ns 128MB - 4GB $ 0,01 0,1
4 Eksterna pohrana (masovna pohrana) 10 - 100 ms 1Mb - 1Gb $ 0,002 - 0,04 5 - 20 ms 1GB - 0,5TB $ 0,001 - 0,01

Registri procesora čine njegov kontekst i pohranjuju podatke koje koriste trenutno izvršavanje naredbi procesora. Procesorski registri se po pravilu nazivaju svojim mnemoničkim oznakama u naredbama procesora.

Skladiste koristi se da odgovara brzini CPU-a i glavne memorije. U računarskim sistemima koristi se keš memorija na više nivoa: keš memorija nivoa I (L1), keš nivoa II (L2) itd. Desktop sistemi obično koriste keš memoriju na dva nivoa, dok serveri koriste keš memoriju na tri nivoa. Keš memorija pohranjuje instrukcije ili podatke koje će procesor vjerovatno obraditi u bliskoj budućnosti. Operacija keš memorije je transparentna za softver, Zbog toga keš memorija obično nije programski dostupan.

RAM pohranjuje, u pravilu, funkcionalno završene programske module (jezgro operativnog sistema, izvršne programe i njihove biblioteke, drajvere korišćenih uređaja itd.) i njihove podatke koji su direktno uključeni u rad programa, a koristi se i za čuvanje rezultata proračuna ili druge podatke obrade prije slanja na eksternu memoriju, izlazni uređaj ili komunikacijska sučelja.

Svaka ćelija ram memorija dodijeljena jedinstvena adresa. Organizacione metode alokacije memorije omogućavaju programerima mogućnost da efikasno koriste čitav računarski sistem. Ove metode uključuju model čvrste ("ravne") memorije i model segmentirane memorije. Koristeći solidan model(ravni model) memorije, program radi sa jednim kontinuiranim adresnim prostorom, linearnim adresnim prostorom u kojem se memorijske ćelije numeriraju uzastopno i kontinuirano od 0 do 2n-1, gdje je n dubina bita CPU-a na adresi. Kada se koristi segmentirani model (segmentirani model) za program, memorija je predstavljena grupom nezavisnih adresnih blokova, koji se nazivaju segmenti. Za adresiranje memorijskog bajta, program mora koristiti logičku adresu koja se sastoji od selektora segmenta i ofseta. Selektor segmenata odabire određeni segment, a pomak pokazuje na određenu ćeliju u adresnom prostoru odabranog segmenta.

ORGANIZACIJA MEMORIJE U RAČUNARSKIM MAŠINAMA

Svrha, glavni parametri i

Klasifikacija tipova memorije

Memorijski uređaji (memorijski uređaji) VM-a dizajnirani su za snimanje, pohranjivanje i čitanje informacija predstavljenih u digitalni oblik/2,3/. Memorijski uređaji, poput procesora, rade s dvije vrste informacija – programi i podaci, tako da karakteristike memorije u velikoj mjeri određuju performanse i funkcionalnost VM.

Memorijski uređaji rade u dva načina rada − pristupi memoriji I skladištenje. U načinu pristupa memoriji, informacije se zapisuju ili čitaju iz memorije. Ako se memoriji ne pristupa, ona prelazi u način skladištenja.

Glavni parametri koji karakterišu memorijske uređaje su kapacitet informacija (volumen), brzina, potrošnja energije i cena /2,5,8/.

Informacijski kapacitet (volumen) memorijski uređaj je definiran maksimalnom količinom pohranjenih informacija i mjeri se u bajtovima, kbajtima, megabajtima, GB i terabajtima.

1 KB = 2 10 bajtova; 1MB = 2 20 bajtova; 1GB = 230 bajtova i 1TB = 240 bajtova.

Memorijske performanse karakteriziraju sljedeći glavni parametri:

vrijeme uzorkovanja (pristupa) t V, definisani vremenski interval između trenutaka signala uzorka (početak ciklusa čitanja) i prijema očitanih podataka na memorijskom izlazu;

trajanje ciklusa cirkulacije t C, koji je određen minimalnim dozvoljenim vremenskim intervalom između uzastopnih pristupa memoriji. S obzirom da se pristup memoriji odnosi na pisanje ili čitanje, ponekad se razdvoje trajanje ciklusa čitanja t C.ChT. I trajanje ciklusa snimanja t C.ZP. za tipove memorije u kojima su ova vremena ciklusa različita, tj. t C.F.T. ≠ t C.ZP .

IN opšti slučaj ciklus pristupa se sastoji od faze preuzimanja (pristupa) i faze regeneracije (vraćanja) memorije, tako da t C > t V.

Performanse memorije se također mogu okarakterizirati brzinom kojom se podaci mogu pisati ili čitati, i mjereni u MB/sec.

Potrošnja energije za mnoge tipove memorije u pristupnom režimu je znatno veća nego u režimu skladištenja. Nepostojana memorija u režimu skladištenja uopšte ne troši energiju. Ali brojne vrste memorije, na primjer, elektronska dinamička memorija, zahtijevaju cikluse osvježavanja u načinu skladištenja, tako da je potrošnja energije u ovom načinu uporediva s potrošnjom energije u načinu pristupa.

Za poređenje različitih tipova memorije, zgodno je koristiti potrošnju energije i troškove memorijskih uređaja svedene na jednu ćeliju (tj. specifičnu).

Važan memorijski parametar je također širina sabirnice memorijski podaci, specificirajući broj bajtova za koje se operacija čitanja ili pisanja može izvesti u isto vrijeme.

VM memorijski uređaji se mogu klasifikovati prema različitim kriterijumima: prema fizičkom principu rada, prema njihovoj funkcionalnoj nameni, prema načinu organizacije, potrebi za napajanjem u režimu skladištenja itd.

Prema fizičkom principu rada, memorija se dijeli na elektronsku, magnetsku, optičku, magneto-optičku.

Elektronska memorija se izvodi na poluvodičkim elementima i implementira u obliku LSI. Elektronska memorija se deli na statički I dinamičan.

U LSI statičke memorije, statički okidači na bipolarnom ili tranzistori sa efektom polja. Kao što znate, broj stabilnih stanja okidača je dva, što mu omogućava da se pohrani jedinica informacija - bit. Memorijske ćelije za pohranjivanje bajtova i riječi koriste 8 i 16 okidača, respektivno.

U dinamičkoj memoriji LSI, električni kondenzatori se koriste kao elementarne memorijske ćelije. Prisustvo naboja odgovara pohranjivanju logičke "1", odsustvo naboja odgovara skladištenju logičke "0". Kao kondenzatori za skladištenje koriste se ili interelektrodni kapaciteti MOS tranzistora ili posebno kreirani u LSI MOS kondenzatorima. Fragment blok dijagrama dinamičke memorije, koji sadrži dvije ćelije 1 i 2, prikazan je na Sl.6.1.

Svaka elementarna memorijska ćelija sadrži memorijski MOS kondenzator C (desetine pF) i tranzistorski prekidač T koji povezuje ovaj kondenzator sa sabirnicom podataka. Gejt tranzistorskog MOS - ključa je povezan na odgovarajući izlaz dekodera adrese. Kada je ćelija odabrana, ključ T se otvara i povezuje kondenzator C na sabirnicu podataka. Nadalje, ovisno o vrsti naredbe: write (WR) ili read (RD) - preko odgovarajućeg pojačala se upisuju ulazni podaci (DI) ili izlazni podaci (DO).

Dinamička memorija u odnosu na statičku je mnogo jednostavnija, jeftinija i pruža vrlo visok stepen integracije, tj. veći specifični kapacitet. Ali u poređenju sa statičkom dinamičkom memorijom ima sporije performanse i zahtijeva periodičnu regeneraciju (oporavak) informacija u elementarnim ćelijama. Drugim riječima, potrebno je periodično obnavljati punjenje na kondenzatorima za skladištenje C, koji se s vremenom samopražnjuju, tj. "izgubiti" informacije. Da biste to učinili, svakih nekoliko milisekundi (ms) pročitajte informacije iz memorijskih ćelija i zatim ponovno snimanje informacija, koja vam omogućava da vratite naboj na kondenzatorima za skladištenje C. Potreba za organizovanjem periodičnih ciklusa osvežavanja (Refresh Cycles) donekle komplikuje upravljanje dinamičkom memorijom.

Za tipične elektronske memorijske module, vrijeme uzorkovanja t V je jedinice - desetine nanosekundi ( nsec), a kapacitet informacija - desetine - stotine MB.

Statička i dinamička elektronska memorija je volatile, tj. kada je napajanje isključeno, informacije u ćelijama se ne pohranjuju. Tu je i neisparljiv elektronska memorija - memorijski uređaji samo za čitanje (ROM), informacije iz kojih se tokom rada VM mogu samo čitati. ROM memorijske ćelije će biti razmotrene u nastavku.

magnetna memorija zasniva se na prisutnosti niza magnetnih materijala (na primjer, željeznog oksida) dva stabilna stanja preostale magnetizacije suprotnog predznaka. Takve magnetnih materijala karakterizirana pravokutnom histerezisnom petljom B = f(H), a od njih se pravi radni magnetni sloj koji se nanosi na površinu raznih mobilnih medija - magnetnih diskova. Koristi se za pisanje i čitanje informacija magnetne glave, koji su minijaturni induktori namotani na magnetsko jezgro s razmakom. Prilikom snimanja, magnetna glava magnetizira dio magnetskog sloja koji prolazi ispod radnog zazora u smjeru određenom smjerom struje koja teče. Prilikom čitanja, magnetizirane površine površine prolaze blizu induktivne glave za čitanje i indukuju emf impulse u njoj. Memorijski uređaji koji koriste ovaj princip imaju vrlo nisku jediničnu cijenu pohranjivanja informacija, nepostojani su, ali su, budući da su elektromehanički, znatno inferiorniji od elektronske memorije u pogledu brzine, pouzdanosti i potrošnje energije. Za hard diskove, brzina prijenosa podataka doseže desetine MB / s, a kapacitet informacija je stotine GB.



IN optička memorija za pohranjivanje informacija koristi se promjena optičkih svojstava (uglavnom stepena refleksije) površine nosioca. optički mediji izvodi se u obliku diska (Compact Disk - CD), čiji je reflektirajući sloj (metalno raspršivanje) prekriven slojem organske boje. Prilikom snimanja, laserski snop se modulira strujom snimljenih bitova i spaljuje rupe u sloju boje na određenim mjestima na stazi. Zbog razlike u koeficijentu refleksije udubljenja i nesagorenih površina, tokom očitavanja se modulira sjaj reflektovanog snopa, koji kodira informacije pročitane sa CD-a. Proizvode se različite vrste optičkih CD diskova: CD-ROM (memorija samo za čitanje) - omogućava samo čitanje informacija snimljenih na matrični način, CD-R (recordable) - omogućava najmanje jedno snimanje na disk i višestruko čitanje, CD -RW (ReWritable) - omogućava višestruko prepisivanje na disk (i, naravno, čitanje). Optički diskovi jeftini su i imaju značajan (do jednog GB) informacijski kapacitet, nepostojani su i lako zamjenjivi, ali u smislu brzine, pouzdanosti i potrošnje energije, npr. magnetni diskovi, znatno su inferiorni u odnosu na elektronsku memoriju.

Prema svojoj funkcionalnoj namjeni, memorijski uređaji se mogu klasificirati na memoriju sa pristupom (SRAM), memoriju sa slučajnim pristupom (RAM), memoriju samo za čitanje (ROM) i eksterne uređaje za pohranu podataka (OVD).

RAM dizajniran za pohranjivanje programa (sistema, aplikacije) i podataka koje direktno koristi CPU trenutno vrijeme. Trajanje ciklusa čitanja i pisanja za RAM je obično isto. Obično se kao RAM koristi dinamička memorija do jedinica GB, ovisno o namjeni i obimu MS-a.

SOZU ili keš memorija- mali je brza memorija, u kojem je trajanje ciklusa pristupa t C. manje od trajanja ciklusa procesorske mašine. Stoga, kada se pristupa keš memoriji, nije potrebno uvoditi cikluse čekanja procesora u cikluse pristupa memoriji stroja. Keš memorija je bafer memorija između RAM-a i CPU-a i radi na statičkoj memoriji. Keš memorija pohranjuje kopije blokova (stranica) programa i podatke onih RAM područja kojima se posljednji put pristupalo, kao i direktorij - listu njihove trenutne korespondencije sa RAM područjima. Svaki put kada se pristupi RAM memoriji, keš kontroler provjerava katalog da vidi da li postoji važeća kopija traženog bloka (stranice) u kešu. Ako postoji kopija, onda je to slučaj cache hits, a pristup podacima ili kodu odvija se samo u keš memoriji. Ako nema važeće kopije, onda je to slučaj cache miss, a traženi blok (stranica) iz RAM-a se upisuje u keš memoriju, a unos se vrši umjesto najmanje relevantnog bloka (stranice) koji je prethodno uklonjen iz keša u RAM-u, tj. blok informacija čiji je broj pristupa bio najmanji. Zbog inherentnih programa i podataka kao što su fundamentalna svojstva, Kako prostorni I temporalni lokalitet/2,7,13/ broj keš pogodaka je višestruko veći od broja promašaja keš memorije čak i sa malim (jedinice - desetine KB) veličinama keš memorije. Stoga korištenje keš memorije značajno poboljšava performanse VM-a. Tipično, keš memorija se implementira prema šemi na tri nivoa: primarni keš (L1 Cache), sa zapreminom od desetine KB, i sekundarni keš (L2 Cache), sa zapreminom od stotine KB, nalazi se u MP kristal, keš trećeg nivoa (L3 Cache), jedinice MB su uključene sistemska ploča ili u slučaju MP.

ROM- ovo je elektronska nepromjenjiva memorija koja se koristi za pohranjivanje informacija koje se ne mijenjaju ili se rijetko mijenjaju tokom rada VM-a: sistemski softver (BIOS), aplikativni softver za ugrađene i ugrađene VM-ove, setovi tabela, konfiguracijski parametri razni sistemi i tako dalje. Glavni način rada ROM-a je čitanje, što dovodi do drugog uobičajenog naziva za takav memorijski ROM (Read Only Memory). Zapisivanje informacija u ROM, koje se naziva programiranje, obično je mnogo teže, dugotrajnije i energije nego čitanje.

VZU dizajniran za nepomično skladištenje velikih količina informacija strukturiranih na određeni način: fajlova, baza podataka, arhiva. karakteristična karakteristika eksterna memorija je da njeni uređaji rade sa blokovima informacija, a ne bajtovima ili riječima, kao što RAM dozvoljava. Osim toga, procesor može pristupiti ROM-u samo preko RAM-a. Disk (HDD, CD) uređaji se obično koriste kao VZU, koji omogućavaju pohranjivanje stotina GB informacija.

Bufer elektronska memorija uključeni u kontrolere raznih eksternih uređaja, rješavanje problema prikaz i unos informacija, komunikacioni zadaci, konverzija signala, itd. Prisutnost bafer memorije omogućava vam da koordinirate značajno različite brzine prijenosa informacija sistemska sabirnica i eksternih uređaja, smanjuju vrijeme kada svaki od vanjskih uređaja koristi sistemsku sabirnicu i povećava performanse VM-a.

Način na koji je memorija organizirana određen je načinom postavljanja i traženja informacija u memoriji. Na osnovu toga se razlikuje adresna, asocijativna i stekovna organizacija memorije.

IN adresnu memoriju za pristup memorijskim ćelijama se koriste adrese, koji se shvataju kao kodovi brojeva memorijskih ćelija. Adresna organizacija memorije omogućava vam pristup memorijskim ćelijama prema njihovim adresama slučajni redosled, a trajanje ciklusa pristupa je isto za sve ćelije, bez obzira na adresu. Stoga se za imenovanje takve memorije koristi i termin "Memorija sa slučajnim pristupom (RAM)" ili RAM (Memorija sa slučajnim pristupom). Na primjer, RAM i ROM imaju adresnu organizaciju memorije.

IN asocijativno pamćenje(AZU) informacije se ne traže prema adresama memorijskih ćelija, već prema njihovom sadržaju ili njegovom dijelu. U opštem slučaju, zahtev za asocijativnom memorijom se sprovodi postavljanjem liste cifara po kojima treba pretraživati ​​memorijsku ćeliju i postavljanjem sadržaja dodeljenih cifara. Lista cifara za pretragu je navedena u registar-maska. Ovaj registar ima isti kapacitet kao AZU memorijska ćelija i sadrži jedinice samo u onim bitovima koji se traže. IN registar-kontekst sadržaj ovih cifara je postavljen, a njegov kapacitet je jednak kapacitetu registra maske.

Ako se pronađe ćelija sa datom kombinacijom nula i jedinica, CAM generiše pozitivan odgovor koji ukazuje na adresu pronađene ćelije. Zatim se adresa prosljeđuje dekoderu adrese i cijeli sadržaj takve ćelije se može pročitati ili u nju upisati novi sadržaj. U suprotnom, CAM generiše negativan odgovor na zahtjev.

Pretraživanje informacija po kontekstu u CAM-u vrši se istovremeno u svim memorijskim ćelijama, tako da je CAM višestruko brži od RAM-a, ali je i mnogo skuplji. U modernim računarskim sistemima, AZU se koriste, na primjer, kao dio keš memorije.

memorija steka(Stack), baš kao i asocijativni, nije adresiran. Stog se može posmatrati kao kolekcija ćelija koje formiraju jednodimenzionalni niz u kojem su susjedne ćelije povezane jedna s drugom lancima bitova za prijenos riječi. U ovoj memoriji, pisanje i čitanje se izvode prema pravilu "posljednje napisano prvo čitanje" ili "Last Input First Output (LIFO)". Stoga se stek naziva memorijom "pohranjivanja". obrnutim redosledomčitanja. Obično je stog organiziran u RAM-u. Broj riječi na steku je određen registrom pokazivača steka SP, a upisivanje i čitanje iz steka se vrši pomoću PUSH i POP instrukcija, respektivno. Memorija steka se široko koristi, kao što je već rečeno gore, u rukovanju prekidima i pozivanju potprograma.

Uz stack memoriju, „bulk“ memorija sa direktnim redosledom čitanja, tj. "prvo napisano prvo čitanje" ili "Prvi ulaz prvi izlaz (FIFO)". Ova memorija se naziva bafer memorija i, kao i stek, organizirana je u RAM-u.

Organizacija memorijskog podsistema u PC-u

Uređaji za skladištenje (memorija) memorijskog podsistema računara mogu se rasporediti u sledećoj hijerarhiji (tabela 9.1):

Tabela 9.1. Hijerarhija memorijskog podsistema računara
Vrsta memorije 1985 2000
Vrijeme uzorka Tipična jačina zvuka Cijena / bajt Vrijeme uzorka Tipična jačina zvuka Cijena / bajt
Super-brza memorija (registri) 0,2 5 ns 16/32 bit $ 3 - 100 0,01 1 ns 32/64/128 bit $ 0,1 10
Brza bafer memorija (keš memorija) 20 100 ns 8Kb - 64Kb ~ $ 10 0,5 - 2 ns 32Kb 1Mb $ 0,1 - 0,5
Operativna (glavna) memorija ~ 0,5 ms 1Mb - 256Mb $ 0,02 1 2 ns 20 ns 128MB - 4GB $ 0,01 0,1
Eksterna pohrana (masovna pohrana) 10 - 100 ms 1Mb - 1Gb $ 0,002 - 0,04 5 - 20 ms 1GB - 0,5TB $ 0,001 - 0,01

Registri procesora čine njegov kontekst i pohranjuju podatke koje koriste trenutno izvršavanje naredbi procesora. Procesorski registri se po pravilu nazivaju svojim mnemoničkim oznakama u naredbama procesora.

Keš memorija se koristi za usklađivanje brzine CPU-a i glavne memorije. U računarskim sistemima koristi se keš memorija na više nivoa: keš memorija nivoa I (L1), keš nivoa II (L2) itd. Desktop sistemi obično koriste keš memoriju na dva nivoa, dok serveri koriste keš memoriju na tri nivoa. Keš memorija pohranjuje instrukcije ili podatke koje će procesor vjerovatno obraditi u bliskoj budućnosti. Rad keša je transparentan za softver, tako da keš obično nije dostupan softveru.

RAM skladišti, po pravilu, funkcionalno završene programske module (jezgro operativnog sistema, izvršne programe i njihove biblioteke, drajvere uređaja, itd.) i njihove podatke koji su direktno uključeni u rad programa, a koristi se i za pohranjivanje rezultata rada programa. kalkulacije ili druge obrade podataka prije slanja u vanjsku memoriju, na uređaj za izlaz podataka ili komunikacijska sučelja.

Svakoj RAM ćeliji je dodijeljena jedinstvena adresa. Organizacione metode alokacije memorije omogućavaju programerima mogućnost da efikasno koriste čitav računarski sistem. Ove metode uključuju model čvrste ("ravne") memorije i model segmentirane memorije. Kada se koristi ravni model memorije, program radi sa jednim kontinuiranim adresnim prostorom, linearnim adresnim prostorom u kojem se memorijske ćelije numeriraju uzastopno i kontinuirano od 0 do 2n-1, gdje je n dubina bita CPU-a na adresi. Koristeći segmentirani model za program, memorija je predstavljena grupom nezavisnih adresnih blokova koji se nazivaju segmenti. Za adresiranje memorijskog bajta, program mora koristiti logičku adresu koja se sastoji od selektora segmenta i ofseta. Selektor segmenata odabire određeni segment, a pomak pokazuje na određenu ćeliju u adresnom prostoru odabranog segmenta.



Organizacijske metode alokacije memorije omogućavaju organizovanje računarskog sistema u kojem radni adresni prostor programa premašuje veličinu stvarne RAM memorije u sistemu, dok nedostatak RAM-a popunjava spoljna sporija ili jeftinija memorija (tvrdi disk, fleš memorija, itd.). ) Ovaj koncept se naziva virtuelna memorija. U ovom slučaju, linearni adresni prostor se može preslikati na prostor fizičkih adresa ili direktno (linearna adresa je fizička adresa) ili korištenjem mehanizma straničenja. U drugom slučaju, linearni adresni prostor je podijeljen na stranice jednake veličine koje čine virtualnu memoriju. Paging omogućava mapiranje potrebnih stranica virtuelne memorije u fizički adresni prostor.

Pored implementacije sistema virtuelne memorije, eksterni uređaji za skladištenje se koriste za dugotrajno skladištenje programa i podataka u obliku datoteka.

Skladiste

Keš memorija je memorija velike brzine koja se nalazi na istom čipu sa CPU-om ili izvan CPU-a. Keš memorija služi kao bafer velike brzine između CPU-a i relativno spore glavne memorije. Ideja keš memorije zasniva se na predviđanju najvjerovatnijih CPU pristupa RAM-u. Ovaj pristup se zasniva na principu vremenske i prostorne lokalnosti programa.



Ako je CPU pristupio bilo kojem objektu glavne memorije, sa visokim stupnjem vjerovatnoće će CPU uskoro ponovo pristupiti ovom objektu. Primjer ove situacije bi bio kod ili podaci u petljama. Ovaj koncept je opisan principom vremenske lokalizacije, prema kojem često korišteni RAM objekti trebaju biti "bliži" CPU-u (u kešu).

Za koordinaciju sadržaja keš memorije i RAM-a koriste se tri metode pisanja:

  • Kroz pisanje (upisivanje) - istovremeno sa keš memorijom, RAM se ažurira.
  • Buffered write through - informacije se odlažu u baferu keš memorije prije nego što se upisuju u RAM i ponovno upisuju u RAM u onim ciklusima kada im CPU ne pristupa.
  • Write back (write back) - koristi se bit promjene u polju oznake, a linija se prepisuje u RAM samo ako je bit promjene 1.

Po pravilu, sve metode pisanja, osim prolaznog, dozvoljavaju odlaganje i grupisanje operacija pisanja u RAM radi povećanja performansi.

Postoje dvije vrste blokova podataka u strukturi keša:

  • memorija za prikaz podataka (sami podaci, duplirani iz RAM-a);
  • tag memorija (karakteristike koje ukazuju na lokaciju keširanih podataka u RAM-u).

Memorijski prostor za mapiranje podataka u kešu podijeljen je na linije - blokove fiksne dužine (na primjer, 32, 64 ili 128 bajtova). Svaka linija keša može sadržavati neprekidni poravnati blok bajtova iz glavne memorije. Koji blok RAM-a je mapiran u datu liniju keš memorije određeno je oznakom linije i algoritmom mapiranja. Prema algoritmima za mapiranje RAM-a u keš memoriju, razlikuju se tri tipa keš memorije:

  • potpuno asocijativni keš;
  • keš za direktno mapiranje;
  • višestruki asocijativni keš.

Potpuno asocijativnu keš memoriju karakteriše činjenica da keš kontroler može postaviti bilo koji blok glavne memorije u bilo koju liniju keša (slika 9.1). U ovom slučaju, fizička adresa je podijeljena na dva dijela: pomak u bloku (keš linija) i broj bloka. Kada se blok stavi u keš memoriju, broj bloka se pohranjuje u oznaku odgovarajuće linije. Kada CPU pristupi kešu za neophodan blok, promašaj keša će se otkriti tek nakon upoređivanja oznaka svih linija sa brojem bloka.

Jedna od glavnih prednosti ove metode prikaza je dobra iskorišćenost RAM-a, jer. nema ograničenja koji blok može biti preslikan u koju liniju keša. Nedostaci uključuju složenu hardversku implementaciju ove metode, koja zahtijeva veliku količinu kola (uglavnom komparatora), što dovodi do povećanja vremena pristupa takvoj keš memoriji i povećanja njegove cijene.

Uvećaj sliku
Rice. 9.1. Potpuno asocijativna 8x8 keš memorija za 10-bitnu adresu

Alternativni način RAM-to-cache mapiranje je direktno mapirana keš memorija (ili jednosmjerna asocijativna keš memorija). U ovom slučaju, memorijska adresa (broj bloka) jedinstveno određuje keš liniju u koju će ovaj blok biti smješten. Fizička adresa je podijeljena na tri dijela: pomak u bloku (red keš memorije), broj keš linije i tag. Ovaj ili onaj blok će uvijek biti smješten u strogo definiranu keš liniju, ako je potrebno, zamjenjujući drugi blok koji je tamo pohranjen. Kada CPU pristupi kešu za traženi blok, dovoljno je provjeriti oznaku samo jedne linije da se utvrdi uspjeh ili promašaj keša.

Očigledne prednosti ovog algoritma su jednostavnost i niska cijena implementacije. Nedostaci uključuju nisku efikasnost takve keš memorije zbog vjerovatnoće česta ponovno pokretanje linije. Na primjer, kada se pristupa svakoj 64. memorijskoj ćeliji u sistemu na sl. 9.2, keš kontroler će biti primoran da stalno ponovo učitava istu liniju keša bez da uopšte koristi ostatak.

Uvećaj sliku
Rice. 9.2. 8x8 keš za direktno mapiranje za 10-bitnu adresu

Uprkos očiglednim nedostacima, ovu tehnologiju je pronašao uspešnu primenu, na primer, u Motorola MC68020 MP, za organizovanje keša instrukcija prvog nivoa (slika 9.3). Ovaj mikroprocesor implementira direktno mapiranu keš memoriju od 64 linije od 4 bajta. Oznaka linije, pored 24 bita koji specificiraju adresu keširanog bloka, sadrži bit značajnosti koji određuje valjanost linije (ako je bit značajnosti 0, ovaj red se smatra nevažećim i neće uzrokovati pogodak u keš memoriji ). Pristupi podacima se ne keširaju.

Uvećaj sliku
Rice. 9.3.Šema organizacije keša u MP Motorola MC68020

Kompromis između prva dva algoritma je višestruka asocijativna predmemorija ili djelomično asocijativna keš memorija (slika 9.4). Ovom metodom organizovanja keš memorije, linije se kombinuju u grupe, koje mogu uključivati ​​2, 4, : reda. U skladu sa brojem redova u takvim grupama razlikuju se 2-ulazni, 4-ulazni itd. asocijativni keš. Prilikom pristupa memoriji, fizička adresa se dijeli na tri dijela: pomak u bloku (keš linija), broj grupe (skupa) i tag. Blok memorije čija adresa odgovara određenoj grupi može se staviti u bilo koji red ove grupe, a odgovarajuća vrijednost se stavlja u oznaku linije. Očigledno je da se unutar odabrane grupe poštuje princip asocijativnosti. S druge strane, određeni blok može pasti samo u strogo definiranu grupu, što odražava princip organiziranja keša za direktno mapiranje. Da bi procesor mogao da identifikuje promašaj keš memorije, moraće da proveri oznake samo jedne grupe (2/4/8/: linije).

Uvećaj sliku
Rice. 9.4. Dvosmjerna 8x8 asocijativna keš memorija za 10-bitnu adresu

Ovaj algoritam ekran kombinuje prednosti i potpuno asocijativnog keša (dobro korišćenje memorije, velika brzina) i keš memorije direktan pristup(jednostavnost i jeftinost), samo malo inferiorniji u ovim karakteristikama u odnosu na originalne algoritme. Zbog toga je višestruka asocijativna keš memorija najčešće korištena (tabela 9.2).

Tabela 9.2. Karakteristike podsistema keš memorije IA-32 CPU-a
Intel486 Pentium Pentium MMX P6 Pentium 4
L1 keš instrukcija
Tip 4-in. vanr. 2-in. vanr. 4-in. vanr. 4-in. vanr. 8-in. vanr.
Veličina stringa, bajtovi -
Ukupna zapremina, KB 8/16 8/16 12Kmops
L1 keš podataka
Tip Dijeljeno s kešom instrukcija 2-in. vanr. 4-in. vanr. 2/4-in. vanr. 4-in. vanr.
Veličina stringa, bajtovi
Ukupna zapremina, KB 8/16
L2 keš memorija
Tip Eksterni vanjski 4-in. vanr. 4-in. vanr. 8-in. vanr.
Veličina stringa, bajtovi
Ukupna zapremina, KB 256/512 128-2048 256/512

Napomene: Intel-486 koristi jednu L1 instrukciju i keš memoriju podataka. U Pentium Pro L1, keš memorija podataka je asocijativna od 8 KB sa 2 ulaza, u ostalim modelima P6 je asocijativna od 16 KB sa 4 ulaza. Pentium 4 koristi L1 mikro-op keš (keš za praćenje) umjesto L1 keš instrukcija.

Da biste organizovali keš memoriju, možete koristiti Princeton arhitekturu (mešoviti keš za komande i podatke, na primer, u Intel-486). Ovo očigledno (i neizbježno za von Neumann sisteme sa keš memorijom van CPU-a) rješenje nije uvijek najefikasnije. Podjela keš memorije na keš instrukcija i keš podataka (keš memorije Harvardske arhitekture) omogućava povećanje efikasnosti keš memorije iz sljedećih razloga:

  • Mnogi savremeni procesori imaju cjevovodnu arhitekturu, u kojoj blokovi cjevovoda rade paralelno. Dakle, dohvaćanje instrukcija i pristup podacima instrukcija se izvode u različitim fazama cevovoda, a upotreba zasebne keš memorije omogućava da se ove operacije izvode paralelno.
  • Keš instrukcija se može implementirati kao samo za čitanje, stoga nije potrebno implementirati algoritme. pisati natrag, što ovaj keš čini jednostavnijim, jeftinijim i bržim.

Zbog toga svi najnoviji modeli IA-32, počevši od Pentiuma, koriste arhitekturu Harvarda za organizaciju L1 keša.

kriterijum efikasan rad keš memorija se može smatrati smanjenjem prosečnog vremena pristupa memoriji u poređenju sa sistemom bez keša. U ovom slučaju, prosječno vrijeme pristupa se može procijeniti na sljedeći način:

Tav = (T pogodak x R pogodak) + (T promašaj x (1 R pogodak))

gdje je T pogodak vrijeme za pristup predmemoriji u slučaju pogotka (uključuje vrijeme za identifikaciju promašaja ili pogodaka), T promašaj je vrijeme potrebno za učitavanje bloka iz glavne memorije u keš liniju u slučaju promašiti keš memoriju i zatim dostaviti tražene podatke procesoru, R hit-hit frekvencija.

Očigledno, što je vrijednost R pogodaka bliža 1, to je vrijednost T cf bliža T hitu. Stopa pogodaka je određena uglavnom arhitekturom keša i njegovom veličinom. Uticaj prisustva i odsustva keš memorije i njene veličine na povećanje performansi procesora prikazan je u tabeli. 9.3.

Top Related Articles