Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 8
  • Fizička i logička organizacija memorije računarskih sistema. Principi upravljanja memorijom računarskog sistema

Fizička i logička organizacija memorije računarskih sistema. Principi upravljanja memorijom računarskog sistema

Organizacija sjećanja Ministarstva željeznica. Segmentacija memorije. Obračun adrese. Interna keš memorija.

Memorija mikroprocesorskog sistema obavlja funkciju privremenog ili trajnog skladištenja podataka i komandi. Količina memorije određuje dozvoljenu složenost algoritama koje izvodi sistem, kao i, donekle, brzinu sistema u cjelini. Memorijski moduli se izvode na memorijskim čipovima (RAM ili trajnim). Flash memorija se sve više koristi kao dio mikroprocesorskih sistema. fleš memorija), što je nepromjenjiva memorija s mogućnošću višekratnog prepisivanja sadržaja.

Za povezivanje memorijskog modula na sistemsku magistralu koriste se blokovi interfejsa koji uključuju dekoder adrese (selektor), kolo za obradu kontrolnih signala magistrale i bafere podataka (slika 7.4.1).

Slika 7.4.1. Dijagram povezivanja memorijskog modula.

U memorijskom prostoru mikroprocesorskog sistema obično se dodjeljuje nekoliko posebnih područja koja obavljaju posebne funkcije. To uključuje:

- memorija startup programa, koja se izvršava na ROM-u ili fleš memoriji;

- memorija za stek ili stog (Stack) je dio ram memorija namijenjeno za privremeno skladištenje podataka;

- tabelu vektora prekida koja sadrži adrese početka programa za obradu prekida;

- memorija uređaja povezanih na sistemsku magistralu.

Svi ostali dijelovi memorijskog prostora imaju tendenciju da imaju univerzalna namjena... Mogu da sadrže i podatke i programe (naravno, u slučaju arhitekture sa jednom magistralom).

Često se memorijski prostor dijeli na segmente sa programabilnom adresom početka segmenta i sa fiksna veličina segment. Na primjer, u Intel 8086 procesoru, segmentacija memorije je organizirana na sljedeći način.

Celokupna memorija sistema nije predstavljena u obliku neprekidnog prostora, već u obliku nekoliko delova - segmenata date veličine(po 64 KB), čija se pozicija u memorijskom prostoru može programski promijeniti.

Za pohranjivanje memorijskih adresnih kodova ne koriste se odvojeni registri, već parovi registara:

Segmentni registar definiše adresu početka segmenta (tj. poziciju segmenta u memoriji);

Registar pokazivača (offset registar) definira poziciju radne adrese unutar segmenta.

U ovom slučaju, fizička 20-bitna memorijska adresa postavljena na eksternu adresnu magistralu formira se kao što je prikazano na slici 7.4.2, odnosno dodavanjem pomaka i adrese segmenta sa pomakom od 4 bita.

Slika 7.4.2. Formiranje adrese fizičke memorije iz adrese segmenta i ofseta.

Položaj ove adrese u memoriji prikazan je na slici 7.4.3.

Slika 7.4.3. Položaj fizičke adrese u memoriji

Segment može početi samo na 16-bajtnoj granici memorije (pošto adresa početka segmenta, u stvari, ima četiri najmanje značajna nula bita, kao što možete vidjeti na slici 7.4.2), odnosno na adresi to je višestruko od 16. Ove dozvoljene granice segmenta se nazivaju granice pasusa ...

Imajte na umu da je uvođenje segmentacije prvenstveno zbog činjenice da su interni registri procesora 16-bitni, a fizička adresa memorije 20-bitna (16-bitna adresa omogućava korištenje samo 64 KB memorije, što očito nije dovoljno).

Keš memorija se nalazi između glavne memorije (RAM) i centralna procesorska jedinica kako bi se smanjilo vrijeme utrošeno na pristup CPU-u OP-u.

Ideja keš memorije zasniva se na predviđanju najvjerovatnijih CPU pristupa OP-u. Najvjerovatniji podaci i instrukcije se kopiraju u brzu keš memoriju sa CPU-om prije nego što ih CPU stvarno koristi, tako da se podacima i instrukcijama koje se trenutno koriste mogu brzo pristupiti bez pristupa RAM-u. Ovaj pristup se zasniva na principu lokalnosti programa ili, kako se kaže, ugniježđene prirode poziva, što znači da adrese uzastopnih poziva OP-u čine, po pravilu, kompaktnu grupu. Prilikom pristupa RAM-u, u keš memoriju se ne kopiraju pojedinačni podaci, već blokovi informacija, uključujući one podatke koje će najvjerovatnije koristiti CPU u narednim koracima rada. S tim u vezi, naredne komande CPU preuzima ne iz RAM-a, već iz brze keš memorije. Kada CPU treba da pročita ili upiše neke podatke u RAM, on prvo provjerava njihovo prisustvo u keš memoriji. Efikasnost keš sistema zavisi od veličine bloka i algoritma programa.

Glavna memorija

Glavna memorija je uređaj za skladištenje koji je direktno povezan sa procesorom i dizajniran za skladištenje izvršnih programa i podataka direktno uključenih u operacije. Ima dovoljne performanse, ali ograničenu zapreminu. Glavna memorija je podijeljena na različite tipove, od kojih su glavne memorija sa slučajnim pristupom (RAM) i memorija samo za čitanje (ROM) (slika 1).

RAM je dizajniran za skladištenje informacija (programa i podataka) u koje su direktno uključene računarski proces u trenutnoj fazi funkcionisanja.

RAM se koristi za primanje, pohranjivanje i izdavanje informacija. Upravo u njemu procesor "uzima" programe i početne podatke za obradu, u koje upisuje rezultate. Ova memorija je dobila naziv "operativna" jer radi vrlo brzo, tako da procesor praktički ne mora čekati dok čita podatke iz memorije i upisuje u memoriju. Međutim, podaci koje sadrži zadržavaju se samo dok je računar uključen. Kada isključite računar, sadržaj RAM memorije se briše. Dakle, RAM je nestabilna memorija.

Rice. 1. Glavni tipovi glavne memorije

Često je oznaka RAM (Memorija sa slučajnim pristupom, tj. memorija sa slučajni pristup). Nasumični pristup se podrazumijeva kao mogućnost direktnog pristupa bilo kojoj (proizvoljnoj) specificiranoj memorijskoj ćeliji, a vrijeme pristupa za bilo koju ćeliju je isto.

RAM je baziran na velikim integrisana kola koji sadrže matrice poluvodičkih skladišnih elemenata (okidača). Elementi za skladištenje se nalaze na preseku vertikalnih i horizontalnih sabirnica matrice; snimanje i čitanje informacija vrši se primjenom električnih impulsa kroz one kanale matrice, koji su povezani sa elementima koji pripadaju odabranoj memorijskoj ćeliji.

Količina RAM-a instalirane u računar ne utiče samo na sposobnost rada sa programima koji zahtevaju velike resurse, već i na njegove performanse, jer kada postoji nedostatak memorije, ona se koristi kao njegov logički nastavak. HDD, vrijeme pristupa kojem je neuporedivo veće. Pored količine RAM-a, na performanse računara utiču i njegova brzina i način razmene podataka između mikroprocesora i memorije.

OP je implementiran na DRAM čipovima (dinamički OP), koji se, u poređenju sa drugim tipovima memorije, odlikuju niskom cijenom i visokim specifičnim kapacitetom, ali velikom potrošnjom energije i nižim performansama. Svaki bajt podataka (0 i 1) u DRAM memoriji se kao napunjenost kondenzatora. Zbog prisustva struja curenja, punjenje kondenzatora se mora obnavljati u redovnim intervalima. Zbog stalne potrebe za ažuriranjem, takva memorija se naziva dinamička memorija. Regeneracija sadržaja memorije zahtijeva dodatno vrijeme, a upisivanje informacija u memoriju tokom regeneracije nije dozvoljeno.

Cijena RAM-a U poslednje vreme naglo pao (od ljeta 1995. do ljeta 1996. - više od 4 puta), stoga su veliki zahtjevi mnogih programa i operativnih sistema za RAM sa finansijski poen vid je postao manje opterećujući.

Da bi se ubrzao pristup RAM-u na računarima velike brzine, koristi se stabilna keš memorija ultra velike brzine, koja se nalazi, takoreći, "između" mikroprocesora i RAM-a i pohranjuje kopije najčešće korištenih dijelova RAM. Kada mikroprocesor pristupi memoriji, prvo traži tražene podatke iz keš memorije. Budući da je vrijeme pristupa keš memoriji nekoliko puta kraće nego do konvencionalna memorija, a u većini slučajeva podaci potrebni za mikroprocesor su već pohranjeni u keš memoriji, prosječno vrijeme pristupa memoriji se smanjuje. Keš memorija je implementirana na SRAM čipu (statička RAM memorija).

Za računare zasnovane na Intel-386DX ili 80386SX, dovoljna je veličina keš memorije od 64 KB, a dovoljna je 128 KB. Intel-80486DX, DX2, DX4 i Pentium računari obično imaju 256 KB keš memorije.

Mikroprocesori serije 486 i Pentium sadrže malu internu keš memoriju, pa se za nedvosmislenu terminologiju, ponekad u tehničkoj literaturi, keš memorija koja se nalazi na matičnoj ploči naziva L2 keš memorija.

U Pentium Pro mikroprocesoru, L2 keš memorija je sadržana u jednom paketu sa samim procesorom (može se reći da je ugrađena u mikroprocesor).

Nije potrebno imati svu memoriju u kojoj se informacije moraju mijenjati. Dio većine važna informacija bolje je da ga trajno čuvate u memoriji računara. Ova memorija se naziva perzistentna. Podaci su uneseni u trajnu memoriju prilikom izrade. Ti podaci se po pravilu ne mogu mijenjati, programi koji rade na računaru mogu samo da ih čitaju. Ova vrsta memorije se obično naziva ROM (memorija samo za čitanje) ili ROM (memorija samo za čitanje).

U IBM PC-u - kompatibilnom računaru, programi se pohranjuju u trajnu memoriju za provjeru hardvera, računara, pokretanje učitavanja operativnog sistema (OS) i izvršavanje osnovne funkcije za servisiranje kompjuterskih uređaja. Budući da je većina ovih programa vezana za I/O uslugu, sadržaj memorije samo za čitanje se često naziva BIOS (Basic Input - Output System).

Mnogi računari instaliraju BIOS zasnovan na FLASH memoriji. Takva memorija se može mijenjati programima, što vam omogućava da ažurirate BIOS pomoću posebnih programa, bez zamjene matična ploča ili BIOS čip.

Svi računari, osim veoma starih, takođe sadrže program za konfiguraciju računara (SETUP) u BIOS-u. Omogućava podešavanje nekih karakteristika računarskih uređaja (vrste video kontrolera, hard diskova i floppy disk drajvova, neki i načini rada sa RAM memorijom, traženje lozinke prilikom pokretanja sistema itd.). Tipično, program za podešavanje konfiguracije se poziva ako korisnik pritisne određeni taster ili kombinaciju tastera (najčešće taster Del) tokom pokretanja sistema.

Kapacitet FLASH memorije od 32 kbajta do 2 MB, vrijeme pristupa čitanju 0,06 μs, vrijeme pisanja jednog bajta približno 10 μs; FLASH memorija - nepromjenjiva memorija.

Pored regularne memorije sa slučajnim pristupom i memorije samo za čitanje, računar ima mali deo memorije za skladištenje parametara konfiguracije računara. Često se naziva CMOS memorija, jer se ova memorija obično implementira pomoću CMOS (komplementarni metal-oksidni poluprovodnik) tehnologije, koja ima niska potrošnja energije... Sadržaj CMOS memorije se ne mijenja kada se računar isključi, jer se za napajanje koristi posebna baterija.

Dakle, kapacitet glavne memorije sastoji se od miliona pojedinačnih memorijskih ćelija sa kapacitetom od 1 bajta svaka. Ukupni kapacitet glavne memorije modernih računara obično se kreće od 1 do 4 GB. Kapacitet RAM-a je jedan dva reda veličine veći od kapaciteta ROM-a: ROM zauzima do 2 MB na novim matičnim pločama), ostalo je RAM.

Tema 3.1 Organizacija proračuna u računarski sistemi Oh

Namjena i karakteristike aviona. Organizacija proračuna u računarskim sistemima. kompjuter paralelna akcija, koncepti toka naredbi i toka podataka. Asocijativni sistemi. Matrični sistemi. Proračun cjevovoda. Cjevovod naredbi, cjevovod podataka. Superskalarizacija.

Učenik mora

znati:

Koncept toka komandi;

Koncept protoka podataka;

Vrste računarskih sistema;

Arhitektonske karakteristike računarskih sistema

Računalni sistemi

Računarski sistem(ned)- skup međusobno povezanih i međusobno povezanih procesora ili računara, periferna oprema i softvera, dizajniran za prikupljanje, skladištenje, obradu i distribuciju informacija.

Stvaranje Oružanih snaga ima sljedeće glavne ciljeve:

· Povećanje performansi sistema ubrzavanjem obrade podataka;

· Povećanje pouzdanosti i tačnosti proračuna;

Pružanje korisniku dodatnih usluga itd.

Tema 3.2

Klasifikacija aviona u zavisnosti od broja komandi i tokova podataka: SISD, SIMD, MISD, MIMD.

Klasifikacija višeprocesorskih aviona sa različitim načinima implementacije zajedničke memorije: UMA, NUMA, SOMA. Uporedne karakteristike, hardverske i softverske karakteristike.

Klasifikacija aviona sa više vozila: MPP, NDW i COW. Namjena, karakteristike, karakteristike.

Primjeri aviona različite vrste... Prednosti i nedostaci različitih tipova računarskih sistema.

Klasifikacija računarskih sistema

Posebnost VS u odnosu na klasične računare je prisustvo u njemu nekoliko računara koji implementiraju paralelna obrada .

Paralelnost izvođenja operacija značajno povećava brzinu sistema; može značajno povećati kako pouzdanost (ako jedna komponenta sistema otkaže, njenu funkciju može preuzeti druga), kao i pouzdanost funkcionisanja sistema ako se operacije dupliraju i upoređuju rezultati.

Računalni sistemi se mogu podijeliti u dvije grupe:

· više mašina ;

· multiprocesor .

Višemašinski računarski sistem sastoji se od nekoliko pojedinačnih računara... Svaki računar u višemašinskom sistemu ima klasičnu arhitekturu i takav sistem ima široku primenu. Međutim, efekat korišćenja ovakvog računarskog sistema može se postići samo pri rešavanju problema koji ima posebnu strukturu: mora se podeliti na onoliko slabo povezanih podzadataka koliko ima računara u sistemu.

Višeprocesorska arhitektura pretpostavlja prisustvo nekoliko procesora u računaru, stoga se mnogi tokovi podataka i mnogi tokovi instrukcija mogu organizovati paralelno. Dakle, nekoliko fragmenata istog zadatka može se izvršiti istovremeno. Prednost u brzini višeprocesorskih računarskih sistema u odnosu na jednoprocesorske je očigledna.

Nedostatak je mogućnost pojave konfliktne situacije kada više procesora pristupa istom memorijskom području.

Karakteristika višeprocesorskih računarskih sistema je prisustvo zajedničke RAM memorije zajednički resurs(Slika 11).

Slika 11 - Arhitektura višeprocesorskog računarskog sistema

Flynnova klasifikacija

Među svim razmatranim sistemima klasifikacije aviona, najraširenija je bila klasifikacija koju je 1966. godine predložio M. Flynn. Zasnovan je na koncept protoka , što se podrazumijeva kao niz naredbi ili elemenata podataka koje obrađuje procesor. Flynn razlikuje 4 klase arhitektura ovisno o broju tokova naredbi i tokova podataka:

· OKOD - single command stream - single data stream. To uključuje klasične von Neumann VM-ove. Obrada cjevovoda nije bitna, stoga i VM 6600 sa skalarnim funkcionalnim uređajima i 7600 sa transporterima spadaju u OKOD klasu.

· ICOD - višestruki tok naredbi - jedan tok podataka. U ovoj arhitekturi, više procesora rukuje istim protokom podataka. Primjer bi bio VS, čijim se procesorima isporučuje izobličeni signal, a svaki od procesora obrađuje ovaj signal koristeći svoj vlastiti algoritam filtriranja. Ipak, ni Flynn ni drugi stručnjaci iz oblasti kompjuterske arhitekture još nisu bili u stanju da zamisle stvarni avion izgrađen na ovaj princip... Brojni istraživači pripisuju transportne sisteme ovoj klasi, ali to nije naišlo na konačno priznanje. Prisustvo prazne klase ne treba smatrati nedostatkom u Flynovoj klasifikaciji. Takvi časovi mogu biti korisni u razvoju novih koncepata u teoriji i praksi konstruisanja aviona.

· OKMD - jedan tok komandi - mnogo tokova podataka - komande izdaje jedan kontrolni procesor, a izvršavaju se istovremeno na svim procesorima za obradu preko lokalnih podataka ovih procesora. SIMD (jedna instrukcija - više podataka)

· ICMD - mnogo tokova naredbi - mnogo tokova podataka - skup računara koji rade u svojim programima sa svojim početnim podacima. MIMD (više instrukcija - više podataka)

Flynnova klasifikaciona šema je najčešća u početnoj procjeni aviona, jer vam odmah omogućava procjenu osnovnog principa sistema. Međutim, Flynnova klasifikacija ima i očigledne nedostatke: na primjer, nemogućnost da se neke arhitekture nedvosmisleno dodijele jednoj ili drugoj klasi. Drugi nedostatak je pretjerano zasićenje MIMD klase.

Postojeći računarski sistemi MIMD klase čine tri podklase: simetričnih multiprocesora (SMP), klasteri i masivno paralelnih sistema (MPP). Ova klasifikacija se zasniva na strukturno-funkcionalnom pristupu.

Simetrični multiprocesori sastoji se od skupa procesora koji imaju istu dostupnost memoriji i vanjskim uređajima i rade pod istim operativnim sistemom (OS). Poseban slučaj SMP su jednoprocesorski računari. Svi SMP procesori imaju zajedničku memoriju sa jednim adresnim prostorom.

Korištenje SMP omogućava sledeće mogućnosti:

· Skaliranje aplikacija uz niske početne troškove, primjenom bez pretvaranja aplikacija na novi, produktivniji hardver;

· Kreiranje aplikacija u poznatom softverska okruženja;

· Isto vrijeme pristupa cijeloj memoriji;

· Mogućnost prosljeđivanja poruka sa velikom propusnošću;

· Podrška za koherentnost skupa keš memorija i blokova glavne memorije, nedeljive operacije sinhronizacije i zaključavanja.

Klaster sistem formiran od modula ujedinjenih komunikacijskim sistemom ili zajedničkim uređajima eksterna memorija, na primjer, nizovi diskova.

Veličina klastera varira od nekoliko modula do nekoliko desetina modula.

Unutar dijeljene i distribuirane memorije implementirano je nekoliko modela arhitektura memorijskog sistema. Na slici 12 prikazana je klasifikacija ovakvih modela koji se koriste u računarskim sistemima klase MIMD (to važi i za SIMD klasu).

Slika 12 – Klasifikacija modela memorijskih arhitektura računarskih sistema

U sistemima With zajednička memorija svi procesori imaju jednake mogućnosti pristupa jednom adresnom prostoru. Jedna memorija može biti izgrađena kao jedan blok ili modularna, ali ovo drugo je obično slučaj.

Računalni sistemi sa zajedničkom memorijom, u kojima se pristup memoriji bilo kog procesora obavlja ujednačeno i traje isto vrijeme, nazivaju se sistemi sa ujednačenim pristupom memoriji i skraćeno su kao UMA (Uniform Memory Access). Ovo je najčešća memorijska arhitektura za paralelni VS sa zajedničkom memorijom.

Tehnički, UMA sistemi pretpostavljaju prisustvo čvora koji povezuje svaki od njih P procesora sa svakim od T memorijski moduli. Najjednostavniji način da se konstruiše takav BC je da se kombinuje nekoliko procesora (P i.) sa jednom memorijom (M P) pomoću zajednički autobus- prikazano na slici 12a . U ovom slučaju, međutim, samo jedan od procesora može istovremeno da razmjenjuje na magistrali, odnosno procesori se moraju nadmetati za pristup magistrali. Kada je procesor R i, preuzima komandu iz memorije, drugih procesora P j(i ≠ j) morate sačekati dok se guma ne oslobodi. Ako sistem uključuje samo dva procesora, oni su u stanju da rade sa skoro maksimalnim performansama, budući da se njihov pristup magistrali može preplitati: dok jedan procesor dekodira i izvršava instrukciju, drugi može koristiti sabirnicu da dohvati sledeću instrukciju iz memorije. . Međutim, kada se doda treći procesor, performanse počinju da opadaju. Ako postoji deset procesora na magistrali, kriva brzine sabirnice (slika 12b) postaje horizontalna, tako da dodavanje 11 procesora ne povećava performanse. Donja kriva na ovoj slici ilustruje činjenicu da memorija i magistrala imaju fiksni propusni opseg određen kombinacijom vremena memorijskog ciklusa i protokola magistrale, a u višeprocesorskom sistemu sa zajedničkom magistralom, ovaj propusni opseg je raspoređen na više procesora. Ako je vrijeme ciklusa procesora duže od memorijskog ciklusa, mnogi procesori se mogu povezati na magistralu. Međutim, u stvari, procesor je obično mnogo brži od memorije, tako da se ova šema ne koristi široko.

Alternativni način konstrukcija višeprocesorskog VS sa zajedničkom memorijom zasnovanom na UMA prikazana je na slici 13c. . Ovdje je sabirnica zamijenjena prekidačem koji usmjerava zahtjeve procesora na jedan od nekoliko memorijskih modula. Uprkos činjenici da postoji nekoliko memorijskih modula, svi oni pripadaju jednom virtuelnom adresnom prostoru. Prednost ovog pristupa je u tome što komutator može paralelno opsluživati ​​više zahtjeva. Svaki procesor može biti spojen na vlastiti memorijski modul i imati pristup njemu pri maksimalno dozvoljenoj brzini. Rivalstvo između procesora može nastati kada pokušavate pristupiti istom memorijskom modulu u isto vrijeme. U ovom slučaju, samo jedan procesor dobija pristup, a ostali su blokirani.

Nažalost, UMA arhitektura nije dobro skalirana. Najčešći sistemi sadrže 4-8 procesora, mnogo rjeđe 32-64 procesora. Osim toga, takvi sistemi se ne mogu pripisati bez greške, budući da kvar jednog procesora ili memorijskog modula povlači kvar čitavog aviona.

Slika 13 - Zajednička memorija:

a) kombinovanje procesora koji koriste sabirnicu i sistem sa lokalnim keš memorijama;

b) performanse sistema kao funkcija broja procesora na magistrali;

c) višeprocesorski VS sa zajedničkom memorijom, koji se sastoji od pojedinačni moduli

Drugi pristup izgradnji zajedničke memorije VS je neujednačen pristup memoriji , označen kao NUMA (Neuniformni pristup memoriji). Ovdje, kao i prije, postoji jedan adresni prostor, ali svaki procesor ima lokalnu memoriju. Procesor direktno pristupa svojoj lokalnoj memoriji, što je mnogo brže od pristupa udaljenoj memoriji preko prekidača ili mreže. Takav sistem se može dopuniti globalnom memorijom, a zatim lokalni uređaji za skladištenje djeluju kao brza keš memorija za globalnu memoriju. Takva šema može poboljšati performanse aviona, ali nije u stanju da unedogled odloži izjednačavanje direktnih performansi. S obzirom da svaki procesor ima lokalnu keš memoriju (slika 13a), postoji velika vjerovatnoća (p> 0.9) da se tražena komanda ili podaci već nalaze u lokalnoj memoriji. Razumna vjerovatnoća pogađanja lokalne memorije značajno smanjuje broj procesorskih pristupa globalnoj memoriji i time poboljšava efikasnost. Mjesto preloma krive performansi (gornja kriva na slici 13b ), tačka u kojoj je dodavanje procesora i dalje efektivno sada se pomera u procesorsko područje 20, a tačka u kojoj kriva postaje horizontalna se pomera u oblast procesora 30.

U okviru koncepta NUMA implementirano je nekoliko različitih pristupa, označenih skraćenicama SOMA, CC-NUMA i NCC-NUMA.

V arhitektura samo za keš memoriju (SOMA, Cache Only Memory Architecture) lokalna memorija svakog procesora je izgrađena kao velika keš memorija za brz pristup iz „vlastitog“ procesora. Keš memorije svih procesora zajedno se smatraju globalnom memorijom sistema. Ne postoji stvarna globalna memorija. Osnovna karakteristika SOMA koncepta je izražena u dinamici. Ovdje podaci nisu statički vezani za određeni memorijski modul i nemaju jedinstvenu adresu koja ostaje nepromijenjena za cijeli životni vijek varijable. U SOMA arhitekturi, podaci se prenose u keš memoriju procesora koji ih je posljednji zatražio, dok varijabla nije fiksirana jedinstvenom adresom i može se nalaziti u bilo kojoj fizičkoj ćeliji u bilo kojem trenutku. Premještanje podataka iz jedne lokalne keš memorije u drugu ne zahtijeva da operativni sistem učestvuje u ovom procesu, ali uključuje složen i skup hardver za upravljanje memorijom. Za organizaciju takvog režima tzv cache direktorije . Imajte na umu i da se posljednja kopija stavke nikada ne uklanja iz keša.

Budući da se u SOMA arhitekturi podaci premeštaju u lokalnu keš memoriju procesora vlasnika, takvi avioni imaju značajnu prednost u performansama u odnosu na druge NUMA arhitekture. S druge strane, ako dva procesora zahtijevaju jednu varijablu ili dvije različite varijable pohranjene na istoj liniji u istoj keš memoriji, ta linija keša mora se pomicati naprijed-nazad između procesora svaki put kada se pristupi podacima. Takvi efekti mogu ovisiti o detaljima alokacije memorije i dovesti do nepredvidivih situacija.

Model cache-koherentan neuniformni pristup memoriji (CC-NUMA, Cache Coherent Non-Uniform Memory Architecture) se fundamentalno razlikuje od SOMA modela. CC-NUMA sistem ne koristi keš memoriju, već uobičajenu fizički dodijeljenu memoriju. Ne dolazi do kopiranja stranica ili podataka između memorijskih lokacija. Nema softverskih poruka. Postoji samo jedan memorijski stick, sa dijelovima koji su fizički povezani bakarni kabl i pametni hardver. Koherentnost keš memorije zasnovana na hardveru znači da nije potreban softver za skladištenje više kopija ažuriranih podataka ili njihovo prenošenje. Hardverski nivo rješava sve ovo. Pristup lokalnim memorijskim modulima u različitim čvorovima sistema može se obavljati istovremeno i brži je nego udaljenim memorijskim modulima.

Razlika između modela sa keš nekoherentan neujednačen pristup memoriji (NCC-NUMA, Non-Cache koherentna neuniformna memorijska arhitektura) iz CC-NUMA očigledno je iz imena. Arhitektura memorije pretpostavlja jedan adresni prostor, ali ne obezbjeđuje hardversku konzistentnost globalnih podataka. Upravljanje korištenjem takvih podataka u potpunosti zavisi od softvera (aplikacija ili kompajlera). Uprkos ovoj okolnosti, koja se čini kao nedostatak arhitekture, ispostavlja se da je veoma korisna u povećanju performansi računarskih sistema sa memorijskom arhitekturom tipa DSM, koja se razmatra u odeljku „Modeli distribuiranih memorijskih arhitektura“.

Općenito, nazivaju se AC-ovi sa zajedničkom memorijom izgrađenom prema NUMA šemi arhitekture virtualne dijeljene memorije (virtuelne arhitekture dijeljene memorije). Ovaj tip arhitekture, posebno CC-NUMA, nedavno se smatra nezavisnim i prilično obećavajućim tipom računarskih sistema M1MD klase.

Modeli arhitekture distribuirane memorije. U distribuiranom memorijskom sistemu, svaki procesor ima svoju memoriju i može samo da joj se obrati. Neki autori ovu vrstu sistema nazivaju avionima sa više vozila ili multicomputers , ističući činjenicu da su "blokovi od kojih je sistem izgrađen sami po sebi mali računarski sistemi sa procesorom i memorijom. Modeli arhitektura sa distribuiranom memorijom obično se označavaju kao arhitektura bez direktnog daljinski pristup memoriji (NORMA, Nema pristupa daljinskoj memoriji). Ovo ime proizilazi iz činjenice da svaki procesor ima pristup samo svojoj lokalnoj memoriji. Pristup udaljenoj memoriji (lokalna memorija drugog procesora) moguć je samo razmjenom poruka sa procesorom koji posjeduje adresabilnu memoriju.

Ova organizacija ima niz prednosti. Prvo, nema konkurencije za sabirnicu ili prekidače prilikom pristupa podacima: svaki procesor može u potpunosti koristiti propusni opseg komunikacijske staze sa vlastitom lokalnom memorijom. Drugo, odsustvo dijeljene magistrale znači da ne postoje povezana ograničenja za broj procesora: veličina sistema je ograničena samo mrežom procesora. Treće, otklanja se problem koherentnosti keša. Svaki procesor ima pravo samostalno mijenjati svoje podatke bez brige o usklađivanju kopija podataka u svojoj lokalnoj keš memoriji sa keš memorijama drugih procesora.

Učenik mora

znati:

klasifikacija zrakoplova;

Primjeri aviona raznih tipova.

biti u stanju:

- izabrati tip računarskog sistema u skladu sa problemom koji se rešava.


© 2015-2019 stranica
Sva prava pripadaju njihovim autorima. Ova stranica ne tvrdi autorstvo, ali pruža besplatno korišćenje.
Datum kreiranja stranice: 2016-07-22

Poglavlje 11

Organizacija računarstvo memorije sistemi

U računarskim sistemima koji ujedinjuju mnoge paralelne procesore ili mašine, problem pravilne organizacije memorije je jedan od najvažnijih. Razlika između brzine procesora i memorije oduvijek je bila kamen spoticanja u jednoprocesorskim VM-ovima. VS multiprocesiranje dovodi do drugog problema - problema istovremenog pristupa memoriji sa više procesora.

U zavisnosti od toga kako je organizovana memorija višeprocesorskih (višeračunarskih) sistema, razlikuje se računarski sistem sa zajedničkom memorijom i AC sa distribuiranom memorijom. V zajednički memorijski sistemi(često se naziva i zajednička ili dijeljena memorija) Memorija Sunca se smatra resursom zajednice, a svaki od procesora ima potpun pristup cijelom adresnom prostoru. Sistemi dijeljene memorije se nazivaju čvrsto vezan(blisko povezani sistemi). Slična konstrukcija računarskih sistema odvija se iu klasi SIMD iu klasi MIMD. Ponekad, da bi se naglasila ova okolnost, uvode se posebne podklase, koje se označavaju pomoću skraćenica SM-SIMD (Shared Memory SIMD) i SM-MIMD (Shared Memory MIMD).

U opciji sa distribuiranom memorijom svakom od procesora je dodeljena sopstvena memorija. Procesori se spajaju v mreže i mogu po potrebi razmjenjivati ​​podatke pohranjene u njihovoj memoriji, prenoseći jedni drugima tzv poruke. Ova vrsta aviona se zove labavo spojeno(labavo spregnuti sistemi). Slabo srodni sistemi se takođe nalaze i u SIMD klasi iu MIMD klasi, a ponekad i da se naglasi ovu funkciju, uvesti podklase DM-SIMD (Distributed Memory SIMD) i DM-MIMD (Distributed Memory MIMD).

U nekim slučajevima se pozivaju računarski sistemi sa zajedničkom memorijom multiprocesori, i sistemi sa distribuiranom memorijom - mtsltcomputers.

Razlika između dijeljene i distribuirane memorije je razlika u strukturi virtualne memorije, odnosno kako memorija izgleda sa strane procesora. Fizički, gotovo svaki memorijski sistem je podijeljen na samostalne komponente kojima se može pristupiti nezavisno. Način na koji memorijski podsistem tumači adresu ćelije primljenu od procesora je odvojen od dijeljene memorije. Na primjer, pretpostavimo da procesor izvršava naredbu load RO, i, što znači "Učitaj registar R0 sa sadržajem ćelije i". U slučaju dijeljene memorije, i je globalna adresa i ukazuje na istu lokaciju za bilo koji procesor. V distribuirani sistem memorija ja je lokalna adresa Ako dva procesora izvrše naredbu load RO, i, tada svaki od njih pristupa i-ta ćelija u svojoj lokalnoj memoriji, tj različite ćelije, a nejednake vrijednosti se mogu učitati u registre R0.

Programer mora imati na umu razliku između dva memorijska sistema, jer ona određuje način na koji dijelovi paralelnog programa međusobno djeluju. U varijanti sa zajedničkom memorijom, dovoljno je kreirati strukturu podataka u memoriji i prenijeti reference na tu strukturu u paralelne potprograme. U sistemu distribuirane memorije, morate imati kopiju zajedničkih podataka u svakoj lokalnoj memoriji. Ove kopije se kreiraju ugnježđivanjem zajedničkih podataka u poruke poslane drugim procesorima.

Memorija With naizmjenično adrese

Fizički, memorija računarskog sistema se sastoji od nekoliko modula (banka), a bitno je pitanje kako je u ovom slučaju raspoređen adresni prostor (skup svih adresa koje procesor može formirati). Jedan od načina za distribuciju virtuelnih adresa po memorijskim modulima je podjela adresnog prostora u sekvencijalne blokove. Ako se memorija sastoji od P banke, zatim ćelija sa adresom i u slučaju cijepanja bloka, bit će u banci sa brojem ja /n. U sistemu interleaved memorija(interleaved memory) uzastopne adrese se nalaze u različitim bankama: ćelija sa adresom i je u banci sa brojem i mod P. Neka se, na primjer, memorija sastoji od četiri banke, po 256 bajtova u svakoj. U šemi blok adresiranja, prva banka će biti dodijeljena virtuelne adrese 0-255, druga - 256-511, itd. U šemi sa naizmjeničnim adresama, uzastopne ćelije u prvoj banci će imati virtualne adrese 0, 4, 8, .... u drugoj banci - 1, 5, 9 itd. (Slika 11.1, a).

Distribucija adresnog prostora među modulima omogućava simultanu obradu zahtjeva za pristup memoriji, ako odgovarajuće adrese pripadaju različitim bankama, procesor može zatražiti pristup ćeliji u jednom od ciklusa i a u sledećem ciklusu - do ćelije j. Ako ja ij su u različitim bankama, informacije će se prenositi u uzastopnim ciklusima. Ovdje se ciklus odnosi na ciklus procesora, dok potpuni memorijski ciklus traje nekoliko ciklusa procesora. Dakle, u ovom slučaju, procesor ne mora čekati dok se ne završi puni ciklus pristupa ćeliji. i. Razmatrana tehnika vam omogućava povećanje propusnost: ako se memorijski sistem sastoji od

https://pandia.ru/text/78/264/images/image002_61.jpg "width =" 62 "height =" 15 "> Razmak između elemenata se naziva korak po indeks ili Stride(korak). Jedan od zanimljive aplikacije ovo svojstvo može poslužiti kao pristup matricama. Ako je korak indeksa jedan veći od broja redova u matrici, jedan zahtjev za pristup memoriji će vratiti sve dijagonalne elemente matrice (slika 11.1, b). Odgovornost za osiguravanje da se svi preuzeti elementi matrice nalaze u različitim bankama leži na programeru.

Modeli memorijske arhitekture računarskih sistema

Unutar dijeljene i distribuirane memorije implementirano je nekoliko modela arhitektura memorijskog sistema.

DIV_ADBLOCK84 ">

Rice. 11.3. Zajednička memorija: a - kombinovanje procesora pomoću magistrale; b - sistem sa lokalnim keš memorijama; v- performanse sistema kao funkcija broja procesora na magistrali; d - višeprocesorski VS sa zajedničkom memorijom, koji se sastoji od odvojenih modula

Na sl. 11.3, G. Ovdje je šiljak zamijenjen prekidačem koji usmjerava zahtjeve procesora na jedan od nekoliko memorijskih modula. Uprkos činjenici da postoji nekoliko memorijskih modula, svi oni pripadaju jednom virtuelnom adresnom prostoru. Prednost ovog pristupa je u tome što komutator može paralelno opsluživati ​​više zahtjeva. Svaki procesor može biti spojen na vlastiti memorijski modul i imati pristup njemu pri maksimalno dozvoljenoj brzini. Rivalstvo između procesora može nastati kada pokušavate pristupiti istom memorijskom modulu u isto vrijeme. U ovom slučaju, samo jedan procesor dobija pristup, a ostali su blokirani.

Nažalost, UMA arhitektura nije dobro skalirana. Najčešći sistemi sadrže 4-8 procesora, mnogo rjeđe 32-64 procesora. Osim toga, takvi sistemi se ne mogu klasificirati kao otporni na greške, jer kvar jednog procesora ili memorijskog modula povlači kvar cijelog aviona.

Drugi pristup izgradnji zajedničke memorije VS je neujednačen pristup memoriji, označen kao NUM A (Neuniformni pristup memoriji), još uvijek postoji jedan adresni prostor, ali svaki procesor ima lokalnu memoriju. Procesor direktno pristupa svojoj lokalnoj memoriji, što je mnogo brže od pristupa udaljenoj memoriji preko prekidača ili mreže. Takav sistem se može dopuniti globalnom memorijom, tada lokalni uređaji za skladištenje deluju kao brza keš memorija za globalnu memoriju. Takva šema može poboljšati performanse aviona, ali nije u stanju da unedogled odloži izjednačavanje direktnih performansi. Ako svaki procesor ima lokalnu keš memoriju (slika 11.3.6), postoji velika vjerovatnoća (p> 0.9) da se tražena komanda ili podaci već nalaze u lokalnoj memoriji. Razumna vjerovatnoća pogađanja lokalne memorije značajno smanjuje broj poziva procesora To globalno pamćenje i na taj način dovodi do povećanja efikasnosti. Mesto preloma krive performansi (gornja kriva na sl.11.3, v), tačka u kojoj je dodavanje procesora i dalje efektivno sada se pomera u region procesora 20, a tanja, gde kriva postaje horizontalna, u region procesora 30.

U okviru koncepta NUMA implementirano je nekoliko različitih pristupa, označenih skraćenicama SOMA,CC-NUMA i NCC-NUMA.

V arhitektura samo za keš memoriju(SOMA, Cache Only Memory Architecture) lokalna memorija svakog procesora je izgrađena kao velika keš memorija za brz pristup iz „vlastitog“ procesora. Keš memorije svih procesora zajedno se smatraju globalnom memorijom sistema. Ne postoji stvarna globalna memorija. Osnovna karakteristika SOMA koncepta je izražena u dinamici. Ovdje podaci nisu statički vezani za određeni memorijski modul i nemaju jedinstvenu adresu koja ostaje nepromijenjena za cijeli životni vijek varijable. U SOMA arhitekturi, podaci se prenose u keš memoriju procesora koji ih je posljednji zatražio, dok varijabla nije fiksirana jedinstvenom adresom i može se nalaziti u bilo kojoj fizičkoj ćeliji u bilo kojem trenutku. Premještanje podataka iz jedne lokalne keš memorije u drugu ne zahtijeva da operativni sistem učestvuje u ovom procesu, ali uključuje složen i skup hardver za upravljanje memorijom. Za organizaciju takvog režima tzv cache direktorije. Imajte na umu i da se posljednja kopija stavke nikada ne uklanja iz keša.

Budući da se u arhitekturi SOMA podaci premeštaju u lokalnu keš memoriju procesora vlasnika, takvi avioni imaju značajnu prednost u performansama u odnosu na druge arhitekture NUM A. S druge strane, ako jedna varijabla ili dvije različite varijable pohranjuju istu keš memoriju u jednu linija je potrebna za dva procesora, ova keš linija se mora pomicati naprijed-nazad između procesora svaki put kada se pristupi podacima. Takvi efekti mogu ovisiti o detaljima alokacije memorije i dovesti do nepredvidivih situacija.

Model cache-koherentan neuniformni pristup memoriji(CC-NUMA, Sache Coherent Non-Uniform Memory Architecture) se fundamentalno razlikuje od SOMA modela. CC-NUMA sistem ne koristi keš memoriju, već uobičajenu fizički dodijeljenu memoriju. Ne dolazi do kopiranja stranica ili podataka između memorijskih lokacija. Nema softverskih poruka. Postoji samo jedan memorijski stick, sa dijelovima fizički povezanim bakrenim kablom i pametnim hardverom. Koherentnost keš memorije zasnovana na hardveru znači da nije potreban softver za skladištenje više kopija ažuriranih podataka ili njihovo prenošenje. Hardverski nivo rješava sve ovo. Pristup lokalnim memorijskim modulima u različitim čvorovima sistema može se obavljati istovremeno i brži je nego udaljenim memorijskim modulima.

Razlika između modela sa keš nekoherentan neujednačen pristup memoriji(NCC-NUMA, Non-Cache koherentna neuniformna memorijska arhitektura) iz CC-NUMA očigledno je iz imena. Arhitektura memorije pretpostavlja jedan adresni prostor, ali ne obezbjeđuje hardversku konzistentnost globalnih podataka. Upravljanje korištenjem takvih podataka u potpunosti zavisi od softvera (aplikacija ili kompajlera). Uprkos ovoj okolnosti, koja se čini kao nedostatak arhitekture, ispostavlja se da je veoma korisna u povećanju performansi računarskih sistema sa memorijskom arhitekturom tipa DSM, koja se razmatra u odeljku „Modeli distribuiranih memorijskih arhitektura“.

Općenito, nazivaju se AC-ovi sa zajedničkom memorijom izgrađenom prema NUMA šemi arhitekture virtualne dijeljene memorije(virtuelne arhitekture dijeljene memorije). Ova vrsta arhitekture, posebno CC-NUMA, nedavno se smatra nezavisnim i prilično obećavajućim tipom računarskih sistema MIMD klase, stoga će se o takvim avionima detaljnije govoriti u nastavku.

Modeli arhitekture distribuirane memorije

U distribuiranom memorijskom sistemu, svaki procesor ima svoju memoriju i može samo da joj se obrati. Neki autori ovu vrstu sistema nazivaju višekompjuterski avion ili multiračunar, ističući činjenicu da su građevni blokovi sistema sami po sebi mali računarski sistemi sa procesorom i memorijom. Modeli distribuiranih memorijskih arhitektura obično se označavaju kao arhitekture bez direktnog pristupa udaljenoj memoriji(NORMA, Nema pristupa daljinskoj memoriji). Ovo ime proizilazi iz činjenice da svaki procesor ima pristup samo svojoj lokalnoj memoriji. Pristup udaljenoj memoriji (lokalna memorija drugog procesora) moguć je samo razmjenom poruka sa procesorom koji posjeduje adresabilnu memoriju.

Ova organizacija ima niz prednosti. Prvo, kada se pristupa podacima, nema konkurencije za sabirnicu ili prekidače - svaki procesor može u potpunosti koristiti propusni opseg komunikacijske staze sa vlastitom lokalnom memorijom. Drugo, odsustvo dijeljene magistrale znači da ne postoje povezana ograničenja za broj procesora: veličina sistema je ograničena samo mrežom procesora. Treće, otklanja se problem koherentnosti keša. Svaki procesor ima pravo samostalno mijenjati svoje Podatke bez brige o usklađivanju kopija podataka u svojoj lokalnoj keš memoriji sa kešovima drugih procesora.

Glavni nedostatak računara s distribuiranom memorijom je složenost razmjene informacija između procesora. Ako nekom od procesora trebaju podaci iz memorije drugog procesora, on mora razmjenjivati ​​poruke sa ovim procesorom. To dovodi do dvije vrste troškova:

· Potrebno je vrijeme da se formira i proslijedi poruka od jednog! procesor drugom;

· Da bi pružio odgovor na poruke od drugih procesora, procesor primatelj mora primiti zahtjev za prekidom i izvršiti proceduru za rukovanje ovim prekidom.

Struktura distribuiranog memorijskog sistema prikazana je na Sl. 11.4. Na lijevo! dijelovi (sl.11.4, a) prikazan je jedan procesni element (PE). Uključuje) sam procesor (P), lokalnu memoriju (M) i dva I/O kontrolera (Ko i KD sa desne strane (Sl.11.4, b) prikazan je četvoroprocesorski sistem koji ilustruje kako se poruke šalju sa jednog procesora na drugi. U odnosu na svaki PE, svi ostali procesni elementi se mogu posmatrati jednostavno kao ulazno/izlazni uređaji. Za slanje poruke drugom PE, procesor formira blok podataka u svojoj lokalnoj memoriji i obavještava ga lokalni kontroler o potrebi prenošenja informacija na eksterni uređaj... Preko interkonektivne mreže, ova poruka se prosljeđuje prijemnom I/O kontroleru prijemnog PE. Potonji pronalazi prostor za poruku u vlastitoj lokalnoj memoriji i obavještava izvorni procesor da je poruka primljena.

DIV_ADBLOCK89 ">

Zanimljiva varijanta distribuiranog memorijskog sistema je; model distribuiranu zajedničku memoriju(DSM, Distribute Shared Memory), poznat i pod drugim imenom arhitektura sa heterogenimpristup memoriji i usklađenost softvera(SC-NUMA, softversko koherentna neuniformna memorijska arhitektura). Ideja ovog modela je da BC, kao fizički sistem sa distribuiranom memorijom, zahvaljujući operativnom sistemu izgleda korisniku kao sistem sa zajedničkom memorijom. To znači da operativni sistem korisniku nudi jedan adresni prostor, uprkos činjenici da je stvarni pristup memoriji "stranog" avionskog računara i dalje omogućen razmjenom poruka.

Multiprocesorkoherentnost skladiste- memorija

Višeprocesorski sistem zajedničke memorije sastoji se od dva ili više nezavisnih procesora, od kojih svaki obavlja bilo koji dio veliki program, ili nezavisni program. Svi procesori pristupaju uputstvima i podacima pohranjenim u zajedničkoj glavnoj memoriji. Budući da je memorija zajednički resurs, postoji konkurencija između procesora kada joj pristupaju, što povećava prosječnu latenciju pristupa memoriji. Da bi se smanjilo ovo kašnjenje, svakom procesoru se dodjeljuje lokalna keš memorija, koja, opslužujući pristup lokalnoj memoriji, u mnogim slučajevima sprječava potrebu za pristupom zajedničkoj glavnoj memoriji. Zauzvrat, opremanje svakog procesora lokalnom keš memorijom dovodi do tzv problem koherentnosti ili pružanje u dogovorukeš memorija. Prema sistemu, sistem je koherentan ako svaka operacija čitanja na nekoj adresi, koju je izvršio bilo koji od procesora, vraća vrijednost unesenu tokom posljednje operacije pisanja na ovoj adresi, bez obzira na to koji je procesor posljednji upisao.

U svom najjednostavnijem obliku, problem koherentnosti keša može se objasniti na sljedeći način (slika 11.5). Neka dva procesora Rg i Pr su povezani na zajedničku memoriju preko magistrale. Prvo, oba procesora čitaju varijablu X. Kopije blokova koji sadrže ovu varijablu se prenose iz glavne memorije u lokalne keš memorije oba procesora (slika 11.5, a). Tada procesor Pt izvodi operaciju povećanja vrijednosti varijable X po jedinici. Pošto je kopija varijable već u keš memoriji ovog procesora, doći će do cache hita i vrijednost će biti promijenjena samo u kešu 1. Ako sada procesor P2 ponovo izvrši operaciju čitanja X, tada će se desiti i cache hit i P2 će primiti "staru" vrijednost pohranjenu u njegovoj keš memoriji X(sl.11.5, b).

Održavanje konzistentnosti zahtijeva da kada se stavka podataka promijeni od strane jednog od procesora, odgovarajuće promjene se izvrše u keš memoriji drugih procesora, gdje se nalazi kopija promijenjene stavke podataka, kao iu zajedničkoj memoriji. Sličan problem se javlja, inače, u jednoprocesorskim sistemima, gdje postoji nekoliko nivoa keš memorije. Ovdje je potrebno uskladiti sadržaje keša različitih nivoa.

Postoje dva pristupa rješavanju problema koherentnosti: softverski i hardverski. Neki sistemi koriste strategije koje kombinuju oba pristupa.

Softver načine rješenjaProblemi koherentnost

Softverske tehnike za rješavanje problema koherentnosti omogućavaju bez njih dodatna oprema ili ga svesti na minimum.

ProtokolBerkeley. Berkeley protokol je korišten u Berkeley multiprocesorskom sistemu baziranom na RISC procesorima.

Opterećenje promašaja keš memorije ublaženo je idejom protokola o vlasništvu nad linijom keša. Generalno, glavna memorija se smatra vlasnikom svih blokova podataka. Prije izmjene sadržaja linije u njenoj keš memoriji, procesor mora steći vlasništvo nad zadata linija... Ova prava se stiču posebnim operacijama čitanja i pisanja. Ako se prilikom pristupa bloku čiji vlasnik u ovog trenutka nije glavna memorija, dolazi do promašaja keš memorije, procesor koji posjeduje red sprječava čitanje iz glavne memorije i hrani procesor koji je tražio podatke iz svoje lokalne keš memorije.

Još jedno poboljšanje je uvođenje zajedničke države. Kada procesor upisuje u jednu od linija svoje lokalne keš memorije, obično generiše signal za odbacivanje kopija promjenjivog bloka u drugim keš memorijama. U Berkeley protokolu, signal odbacivanja se generira samo ako postoje takve kopije u drugim kešovima. Ovo može značajno smanjiti neproduktivan autobuski saobraćaj. Mogući su sljedeći scenariji.

Prije svega, svaki put kada procesor upiše u svoju keš memoriju, promjenjivi niz se prenosi u stanje "promijenjeno, privatno" (PD, Private Dirty). Dalje, ako je niz zajednički, signal za poništenje se šalje na sabirnicu, a u svim lokalnim kešovima gdje postoji kopija ovog bloka podataka, ove kopije se stavljaju u "nevažeće" stanje (I, Invalid). Ako dođe do promašaja pisanja, procesor dobiva kopiju bloka iz keš memorije trenutnog mastera traženog bloka. Tek nakon ovih radnji procesor upisuje u svoju keš memoriju.

U slučaju promašaja predmemorije čitanja, procesor šalje zahtjev vlasniku bloka kako bi dobio najnoviju verziju potonjeg i prevodi njegovu nova kopija u stanje samo za čitanje (RO, Read Only). Ako je red bio u vlasništvu drugog procesora, on označava njegovu kopiju bloka kao Shared Dirty (SD).

Dijagram stanja Berklijevog protokola prikazan je na Sl. 11.10.

Upoređujući protokole za jednokratno upisivanje i Berkeley, može se primijetiti sljedeće. Oba protokola koriste strategiju povratnog upisivanja u kojoj se promijenjeni blokovi drže u kešu što je duže moguće. Glavna memorija se ažurira samo kada se red izbriše iz keš memorije. Gornja granica ukupnog broja transakcija pisanja na sabirnici je određena onim dijelom protokola za jednokratno upisivanje koji implementira upisivanje, budući da potonja strategija generiše operaciju pisanja na sabirnici sa svakom promjenom koju inicira procesor. Budući da je prva operacija pisanja u protokolu za jednokratno upisivanje prolazna, ona se izvodi čak i ako se podaci ne dijele. Ovo podrazumeva dodatni promet sabirnice, koja se povećava sa povećanjem kapaciteta keš memorije. Dokazano je da protokol za jednokratno upisivanje rezultira većim prometom sabirnice u odnosu na Berkeley protokol .







Čitajući pogodak

Rice. 11.10. Berkeley protokol

Čitljiva i ažurirana linija u protokolu za jednokratno upisivanje zahtijeva da se linija pročita u keš memoriju, lokalno modificira u keš memoriji i zapiše natrag u memoriju. Cijela procedura zahtijeva dvije operacije na magistrali: čitanje iz glavne memorije (RAM) i upisivanje natrag u RAM. Berkeley protokol se, s druge strane, odnosi na stjecanje dozvola za redove. Zatim se blok modificira u kešu. Ako se redu nije pristupilo prije brisanja iz keša, ciklusi sabirnice će biti isti kao u protokolu za jednokratno upisivanje. Međutim, vjerovatnije je da će linija biti ponovo zatražena, tada sa stanovišta jedne keš memorije, ažuriranje keš linije zahtijeva samo jednu operaciju čitanja na magistrali. Dakle, Berkeley protokol prenosi linije direktno između keš memorija, dok protokol za jednokratno upisivanje prenosi blok iz originalne keš memorije u glavnu memoriju, a zatim iz OP-a u keš memoriju koja je tražila, što rezultira ukupnim kašnjenjem memorijskog sistema. .

ProtokolIllinois. Protokol iz Illinoisa, koji je predložio Marc Papamarcos, također ima za cilj smanjenje saobraćaja magistrale, a time i vremenskog ograničenja procesora za pristup magistrali. Ovdje je, kao iu Berkeley protokolu, ideja o vlasništvu nad blokovima dominantna, ali malo izmijenjena. U Illinois protokolu, vlasništvo ima svaka keš memorija koja sadrži ispravnu kopiju bloka podataka. U ovom slučaju, isti blok može imati više vlasnika. Kada se to dogodi, svakom procesoru se dodjeljuje određeni prioritet i vlasnik s višim prioritetom postaje izvor informacija.

Kao iu prethodnom slučaju, signal za poništavanje valjanosti se generiše samo kada su kopije ovog bloka dostupne u drugim keš memorijama. Mogući scenariji za Illinois protokol prikazani su na Sl. 11.11.

Rice. 11.11. Illinois Protocol

Svaki put kada procesor upiše u svoju keš memoriju, modificirani niz se stavlja u privatno prljavo (PD) stanje.Ako je blok podataka zajednički, signal za ukidanje se šalje na sabirnicu i u svim lokalnim kešovima postoji kopija ovog bloka , ove kopije se prenose u "nevažeće" stanje (I, Invalid). Ako dođe do promašaja pisanja, procesor preuzima kopiju iz keš memorije trenutnog vlasnika traženog bloka. Tek nakon navedenih radnji, procesor upisuje u svoju keš memoriju. Kao što vidite, u ovom dijelu postoji potpuna podudarnost sa Berkeley protokolom.

U slučaju propusta čitanja keš memorije, procesor šalje zahtjev vlasniku bloka kako bi dobio najnoviju verziju potonjeg, a njegovu novu kopiju stavlja u "isključivo" (E, Exclusive) stanje, pod uslovom da je jedini vlasnik reda. U suprotnom, status se mijenja u "dijeljeno" (S, Shared).

Od suštinskog je značaja da protokol bude proširiv i blisko vezan i za omjer promašaja keš memorije i za količinu podataka koja je zajedničko svojstvo višeprocesorskog sistema.

ProtokolFirefly. Protokol su predložili Tucker i drugi i implementiran u Firefly Multiprocessor Workstation, višeprocesorski sistem razvijen u istraživačkom centru Digital Equipment Corporation.

Firefly protokol koristi zapis ažuriranja. Moguća stanja keš linije su ista kao stanja protokola Illinois (Slika 11-12). Razlika je u tome što se strategija povratnog upisivanja primjenjuje samo na redove u PD ili E stanju, dok se prepisivanje primjenjuje na redove u S stanju. Predmemorije Watcher-a koriste prepisivanje za ažuriranje svojih kopija. Osim toga, posmatranje keš memorija koje pronađu kopiju linije u njima pozivaju posebnu "dijeljenu" liniju magistrale tako da kontroler pisanja može odlučiti u koje stanje će staviti liniju u koju je napisana. "Zajednička" linija na promašaju keš memorije za čitanje služi da informiše lokalni keš kontroler odakle je došla kopija linije: iz glavne memorije ili druge keš memorije. Dakle, S stanje se primjenjuje samo na podatke koji se stvarno dijele.

https://pandia.ru/text/78/264/images/image018_2.jpg "width =" 491 visina = 316 "height =" 316 ">

Rice. 11.13. Dragon Protocol

ProtokolMESI. Svakako među poznatim protokolima Najpopularniji protokol za nadzor je MESI (Modified / Exclusive / Shared / Invalid). MESI protokol se široko koristi u komercijalnim mikroprocesorskim sistemima, kao što su oni bazirani na Pentium i PowerPC mikroprocesorima. Dakle, može se naći u internoj keš memoriji i kontroleru eksterna keš memorija i82490 Pentium mikroprocesora, u procesoru i860 i keš kontroleru MC88200 iz Motorola.

Protokol je dizajniran za predmemoriju s povratnim upisivanjem. Jedan od glavnih ciljeva MESI protokola je odgoditi povratni upis inkapsuliranih podataka u glavnu memoriju BC što je duže moguće. Ovo poboljšava performanse sistema minimiziranjem potrebnih prijenosa informacija između keš memorije i glavne memorije. MESI protokol svakoj liniji keš memorije dodeljuje jedno od četiri stanja, koja su kontrolisana sa dva MESI bita stanja u oznaci te linije. Status keš linije može da promeni i procesor, za koji je ova keš memorija lokalna, i drugi procesori višeprocesorske "šeme". Upravljanje stanjem keš linija može se dodijeliti vanjskim logičkim uređajima. Jedna od verzija protokola predviđa korištenje prethodno razmatrane šeme za jednokratno upisivanje.

Shared(S, Shared) - linija keša odgovara sličnoj liniji u glavnoj memoriji (podaci su važeći) i može biti prisutna u jednom ili više drugih keša.

Nevažeći(I, Invalid) - Red keš memorije označen kao nevažeći ne sadrži važeće podatke i postaje logički nedostupan.

Rice. 11.15. Redoslijed promjena stanja u MESI protokolu: a - procesor 1 čita x;

b- procesor 2 čita x; c - procesor 1 pravi prvi zapis u x;

G- procesor 1 pravi još jedan zapis u x

Redoslijed kojim linija keš memorije prelazi iz jednog stanja u drugo ovisi o: trenutnom statusu linije, operaciji koja se izvodi (čitanje ili pisanje), rezultatu pristupa kešu (pogodan ili promašen) i, ​​konačno, da li linija je zajednička ili ne. Na sl. 11.14 prikazuje dijagram glavnih prelaza bez uzimanja u obzir režima jednokratnog upisivanja.

Pretpostavimo da jedan od procesora napravi zahtjev za čitanje iz linije koja se trenutno ne nalazi u njegovoj lokalnoj keš memoriji (promašaj čitanja). Zahtjev će biti emitiran preko autobusa. Ako nijedan od predmemorija ne sadrži kopiju tražene linije, tada neće biti odgovora od nadzornih kontrolora drugih procesora, linija će biti pročitana u keš procesora koji traži iz glavne memorije, a kopija će biti dodijeljena status E. Ako bilo koja od lokalnih keš memorija sadrži kopiju koju tražite, odgovor će biti primljen od odgovarajućeg kontrolera za praćenje koji ukazuje na pristup zajedničkom nizu. Sve kopije dotične linije u svim keš memorijama bit će prebačene u S stanje, bez obzira u kojem su stanju prije bile (I, E ili S).

Kada procesor uputi zahtjev za pisanje nizu koji nije u njegovoj lokalnoj keš memoriji (promašaj pisanja), niz mora biti pročitan iz glavne memorije (RAM) i ažuriran prije nego što se učita u keš memoriju. Prije nego što procesor može učitati red, mora osigurati da je važeća verzija podataka stvarno u glavnoj memoriji, odnosno da nijedna modificirana kopija reda nije u drugim keš memorijama. Redoslijed operacija formiran u ovom slučaju se zove čita sa namjerom da se modificiracije(RWITM, čitanje s namjerom izmjene). Ako je kopija tražene linije pronađena u jednoj od keš memorija, i to u stanju M, tada procesor sa ovom kopijom prekida RWITM sekvencu i ponovo upisuje liniju u OP, nakon čega mijenja stanje linije u svojoj keš memoriji do I. Zatim se RWITM sekvenca nastavlja i vrši ponovni pristup glavnoj memoriji da bi se pročitao ažurirani red. Konačno stanje linije će biti M, u kojem nema pouzdanije kopije ni u OP ni u drugim kešovima. Ako je kopija linije postojala u drugoj keš memoriji i nije imala stanje M, tada se takva kopija odbacuje i odmah se vrši pristup glavnoj memoriji.

Keš za čitanje ne mijenja status linije koja se čita. Ako procesor izvrši pristup pisanju postojećoj liniji u stanju S, on emituje na sabirnicu kako bi obavijestio druge keš memorije, ažurira liniju u svojoj keš memoriji i postavlja je u status M. Sve ostale kopije linije se premještaju u stanje I. Ako procesor vrši pristup upisivanju u liniju u stanju E, jedino što treba da uradi je da upiše u liniju i promeni njeno stanje u M, pošto u sistemu nema drugih kopija linije.

Na sl. 11.15 prikazuje tipičan slijed događaja u sistemu od dva procesora koji traže pristup ćeliji x. Pristup bilo kojoj ćeliji u liniji keša smatra se pristupom cijeloj liniji.

Ilustrujmo faze kada procesor 2 pokušava da pročita sadržaj ćelije x" (slika 11.16). Prvo, postoji promašaj keš memorije čitanja i procesor pokušava da pristupi glavnoj memoriji. Procesor 1 nadgleda magistralu, detektuje pristup ćelija, čija se kopija nalazi u njenoj keš memoriji i nalazi se u njoj




Rice. 11.16. Prijelaz iz stanja E u stanje S u MESI protokolu: a- procesor 2

čita x; b - procesor 1 proizvodi pisati natrag x "u glavnu memoriju;

i - procesor 2 čita x "iz glavne memorije

stanje M, tako da blokira operaciju čitanja iz procesora 2. Zatim procesor 1 prepisuje red koji sadrži x "u OP i oslobađa procesor 2 tako da može ponoviti pristup glavnoj memoriji. Sada procesor 2 prima red koji sadrži x" i učitava ga u vašu keš memoriju. Oba primjerka su označena kao S.

Do sada je razmatrana verzija MESI protokola za jednokratno upisivanje. Uzimajući u obzir jedno upisivanje, dijagram stanja prikazan na Sl. 11.14, neznatno izmijenjeno. Svi promašaji keša čitanja uzrokuju prijelaz u stanje S. Nakon prvog pogotka pisanja slijedi prijelaz u stanje E (tzv. prijelaz jednom upisivanja). Sljedeći pogodak tokom pisanja podrazumijeva promjenu statusa linije u M.

Protokoli bazirani na imeniku

Protokoli koherentnosti bazirani na imeniku tipično za složene višeprocesorske sisteme sa zajedničkom memorijom, gdje su procesori ujedinjeni višestepenom hijerarhijskom mrežom međusobnog povezivanja. Složenost topologije čini upotrebu nadzornih protokola sa njihovim mehanizmom emitovanja skupom i neefikasnom.

Protokoli bazirani na imeniku prikupljaju i prate informacije o sadržaju svih lokalnih predmemorija. Takvi protokoli se obično implementiraju sa centraliziranim kontrolerom koji je fizički dio glavnog memorijskog kontrolera. Sama referentna knjiga pohranjena je u glavnoj memoriji. Kada lokalni keš kontroler uputi zahtjev, kontrolor direktorija detektuje takav zahtjev i generira upute potrebne za prijenos podataka iz glavne memorije ili iz druge lokalne keš memorije koja sadrži najnoviju verziju tražene podatke. Centralni kontroler je odgovoran za ažuriranje informacija o stanju lokalnih predmemorija, tako da mora biti obaviješten o svakoj lokalnoj akciji koja bi mogla utjecati na stanje bloka podataka.

Direktorij sadrži mnogo unosa koji opisuju svaku keširanu memorijsku lokaciju koju mogu dijeliti sistemski procesori. Referenca se vrši svaki put kada jedan od procesora promijeni kopiju takve ćelije u svojoj lokalnoj memoriji. U ovom slučaju, informacije iz direktorija su potrebne kako bi se poništile ili ažurirale kopije promijenjene ćelije (ili cijelog reda koji sadrži ovu ćeliju) u drugim lokalnim predmemorijama gdje su takve kopije dostupne.

Za svaki zajednički niz, čija se kopija može staviti u keš memoriju, jedan unos se dodjeljuje u direktorij koji pohranjuje pokazivače na kopiju ovog niza. Osim toga, u svakom zapisu je istaknut jedan bit ažuriranja (D), koji pokazuje da li je kopija prljava (D = 1 - prljava) ili čista (D = 0 - čista), odnosno da li je sadržaj reda u predmemoriji su promijenili memoriju nakon što je tamo učitana. Ovaj bit pokazuje da li je procesor ovlašten da piše u ovaj niz.

Trenutno postoje tri poznata načina implementacije protokola koherentnosti keša baziranih na direktoriju: potpuna referenca, ograničena referenca i spojena referenca.

U protokolu kompletna referenca jedan centralizirani direktorij održava informacije o svim predmemorijama. Referenca je pohranjena u glavnoj memoriji.


Rice. 11.17. Full Reference Cache Coherency Protocol

U sistemu od N procesora, svaki unos direktorija će sadržavati N jednobitni pokazivači. Ako postoji kopija podataka u odgovarajućoj lokalnoj keš memoriji, bit pokazivača se postavlja na 1, u suprotnom - na 0. Dijagram sa kompletnom referencom je prikazan na Sl. 11.17. Ovo pretpostavlja da postoji kopija linije u svakoj keš memoriji. Svakoj liniji su dodijeljena dva indikatora statusa: važeći bit (V, Valid) i bit vlasništva (P, Private). Ako su informacije u nizu tačne, njegov V-bit je postavljen na 1. Jedna vrijednost P-bita ukazuje da ovaj procesor dodijeljeno pravo upisivanja u odgovarajuću liniju svoje lokalne keš memorije.

Pretpostavimo da procesor 2 upisuje na lokaciju x. U početku, procesor još nije dobio dozvolu za takvo snimanje. Formira zahtjev kontroloru direktorija i čeka dozvolu za nastavak operacije. Kao odgovor na zahtjev za sve keš memorije u kojima postoje kopije reda koji sadrži ćeliju x, izdaje se signal za odbacivanje postojećih kopija. Svaka keš memorija koja primi ovaj signal resetuje bit validnosti stringa (V-bit) koji se može nulirati na 0 i vraća signal potvrde kontroleru direktorija. Nakon što primi sve signale potvrde, kontroler imenika postavlja modifikacijski bit (D-bit) odgovarajućeg unosa direktorija na jedan i šalje signal procesoru 2 da omogući pisanje u ćeliju x. Od ovog trenutka, procesor 2 može nastaviti pisati u svoju kopiju ćelije x, kao iu glavnu memoriju, ako je shema pisanja implementirana u keš memoriju.

Glavni problemi kompletnog protokola imenika se odnose na velika količina evidencije. Za svaku ćeliju u sistemskoj referenci od N procesora, potrebno je N + 1 bit, odnosno sa povećanjem broja procesora, koeficijent složenosti raste linearno. Kompletan protokol direktorija omogućava svakoj lokalnoj predmemoriji da ima kopije svih zajedničkih ćelija. U praksi, takva mogućnost ne ostaje uvijek tražena - u svakom trenutku obično je relevantan samo jedan ili više primjeraka. V protokolsa ograničenom referencom kopije jednog reda mogu biti samo u ograničenom broju keš memorija - ne može biti više od P kopije niza, dok je broj pokazivača u unosima direktorija smanjen na n (n< N ). Za jedinstvenu identifikaciju keš memorije koja pohranjuje kopiju, pokazivač umjesto jednog bita trebao bi se sastojati od log2 N bita i ukupne dužine pokazivača u svakom unosu direktorija, umjesto od N bitova biće jednaki Plog2N bit. Sa konstantnom vrijednošću P stopa rasta faktora složenosti ograničenog direktorija kako se veličina sistema povećava je niža nego u slučaju linearne veze.

Kada više od P kopija, kontrolor odlučuje koju od kopija da zadrži, a koju da poništi, nakon čega se vrše odgovarajuće promjene u indeksima unosa u imenik.

Metoda povezani direktoriji takođe ima za cilj da sažima obim priručnika. Koristi povezanu listu za pohranjivanje zapisa, koja se može implementirati kao jedna povezana (jednosmjerna) i dvostruko povezana (dvosmjerna).

Rice. 11.18. Konkatenirani protokol koherencije predmemorije direktorija

U pojedinačno povezanoj listi (slika 11.18), svaki unos u direktorijum sadrži pokazivač na kopiju niza u jednoj od lokalnih predmemorija. Kopije istoimenih linija u različite keš memorije sistemi formiraju jednosmjerni lanac. Da bi to učinili, njihove oznake pružaju posebno polje u koje se unosi pokazivač na keš memoriju koja sadrži sljedeću kopiju lanca. Poseban graničnik se postavlja u oznaku posljednje kopije lanca. Konkatenirana referenca dozvoljava nizove dužine N, odnosno podržava N kopije ćelije. Prilikom kreiranja druge kopije, lanac se mora uništiti, a umjesto toga se mora formirati novi. Pretpostavimo, na primjer, da procesor 5 nema kopiju ćelije x i da se za nju okreće glavnoj memoriji. Pokazivač u direktoriju se mijenja tako da pokazuje na keš broj 5, a pokazivač u keš 5 - tako da pokazuje na keš 2. Za to glavni memorijski kontroler, zajedno sa traženim podacima, mora prenijeti i pokazivač u keš memoriju u keš memoriju 5 - memorija sa brojem 2. Tek nakon što se formira cjelokupna struktura lanca, procesor 5 će dobiti dozvolu za pristup ćeliji x. Ako procesor piše u ćeliju, signal za poništavanje se šalje stazom definiranom odgovarajućim lancem pokazivača. Lanac se mora ažurirati kada se kopija obriše iz bilo koje keš memorije.

Dvostruko povezana lista podržava pokazivače naprijed i nazad. To vam omogućava da efikasnije ubacite nove pokazivače u lanac ili iz njega izbrišete koji više nisu potrebni, ali zahtijeva pohranjivanje većeg broja pokazivača.

Šeme bazirane na direktorijumu pate od zagušenja u centraliziranom kontroleru, kao i komunikacijskih prekomjernih opterećenja na stazama između lokalnih keš kontrolera i centralnog kontrolera. Ipak, pokazali su se veoma efikasnim u višeprocesorskim sistemima sa složenom topologijom međusobnog povezivanja između procesora, gde se protokoli za praćenje ne mogu implementirati.

Ispod je kratak opis trenutno relevantnih protokola za osiguranje koherentnosti keš memorije na osnovu referentne knjige. Za detaljnije upoznavanje sa ovim protokolima date su veze do odgovarajućih književnih izvora.

ProtokolTang. Ovdje postoji centralizirana globalna referenca koja sadrži puna kopija sve informacije iz direktorija svakog od lokalnih predmemorija. To dovodi do problema uska grla i također zahtijeva traženje odgovarajućih unosa.

ProtokolCensier. Referentna shema Censier koristi vektor bita pokazivača da naznači koji procesori drže lokalnu kopiju datog bloka memorije. Za svaki memorijski blok postoji takav vektor. Nedostaci ove metode su što je neefikasna s velikim brojem procesora, a osim toga potreban je pristup glavnoj memoriji za ažuriranje linija keš memorije.

ProtokolArchibald. Archibaldova referentna shema je par zamršenih šema za hijerarhijski organizirane procesorske mreže. WITH Detaljan opis ovaj protokol se može naći u.

ProtokolStenstrom. Stenstrom priručnik pruža šest važećih stanja za svaki blok podataka. Ovaj protokol je relativno jednostavan i pogodan za bilo koju topologiju međupovezivanja procesora. Referenca je pohranjena u glavnoj memoriji. U slučaju promašaja čitanja keša, pristupa se glavnoj memoriji, koja šalje poruku kešu koji posjeduje blok, ako postoji. Po prijemu ove poruke, vlasnik keša šalje tražene podatke, a također prosljeđuje poruku svim ostalim procesorima koji dijele ove podatke kako bi ažurirali svoje vektore bita. Šema nije vrlo efikasna s velikim brojem procesora, ali je trenutno najzreliji i najčešće korišteni protokol baziran na direktoriju.

Kontrola pitanja

1. Analizirati uticaj karakteristika AC sa zajedničkom memorijom i AC sa distribuiranom memorijom na razvoj softvera. Zašto se ovi VS nazivaju, respektivno, jako spregnuti, odnosno slabo povezani?

2. Objasnite ideju naizmjeničnih memorijskih adresa. Koja su razmatranja pri odabiru mehanizma za dodjelu adresa? Kako je to povezano sa klasom arhitekture BC?

3. Dajte komparativne karakteristike homogeni i heterogeni pristupi
na pamćenje.

4. Koje su prednosti SOMA arhitekture?

5. Provesti komparativnu analizu modela sa keš-koherentnim i keš-nekoherentnim pristupom heterogenoj memoriji.

6. Formulirajte prednosti i nedostatke arhitekture bez direktnog pristupa udaljenoj memoriji.

7. Objasnite značenje distribuirane i dijeljene memorije.

8. Razvijte svoj primjer kako biste ilustrirali problem koherentnosti keša.

9. Opišite karakteristike programski načini rješenja problema koherentnosti, istaći njihove prednosti i slabosti.

10. Uporedite tehnike pisanja za pisanje i otpisivanja i pisanja na emitovanje, naglašavajući njihove prednosti i nedostatke.

11. Dajte uporedni opis metoda za održavanje koherentnosti u višeprocesorskim sistemima.

12. Izvršite komparativnu analizu protokola posmatranja koje poznajete.

13. Koji je od protokola posmatranja najpopularniji? Obrazložite razloge povećanog interesovanja za njega.

14. Dajte detaljan opis koherentnih protokola na osnovu priručnika i metode njihove implementacije. Koje su razlike između ovih protokola i protokola posmatranja?

Tabela 9.1. Hijerarhija memorijskog podsistema računara
Vrsta memorije 1985 godina 2000 godina
Vrijeme uzorkovanja Tipična zapremina Cijena / bajt Vrijeme uzorkovanja Tipična zapremina Cijena / bajt
1 Super-operativna memorija (registri) 0,2 5 ns 16/32 bit $ 3 - 100 0,01 1 ns 32/64/128 bit $ 0,1 10
2 Skladištenje bafera velike brzine (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 instrukcije procesora koje trenutno izvršavaju. Procesorskim registrima se obično pristupa njihovim mnemoničkim oznakama u instrukcijama procesora.

Skladiste koristi se za usklađivanje brzine CPU-a i glavne memorije. Računalni sistemi koriste keš memoriju na više nivoa: nivo I keš memorije (L1), nivo II keš memorije (L2), itd. Desktop sistemi obično koriste dvoslojnu keš memoriju, dok serverski sistemi koriste troslojnu keš memoriju. Keš memorija pohranjuje instrukcije ili podatke koji će vjerovatno biti poslani procesoru na obradu u bliskoj budućnosti. Stoga je rad keš memorije transparentan za softver keš memorija obično nije programski dostupan.

RAM trgovine, po pravilu, funkcionalno kompletne softverski moduli(jezgro operativnog sistema, izvršni programi i njihove biblioteke, drajveri uređaja, itd.) i njihovi podaci, koji su direktno uključeni u rad programa, a koriste se i za čuvanje rezultata proračuna ili druge obrade podataka prije slanja vanjskom memoriju, na izlaz podataka uređaja ili komunikacijska sučelja.

Svaka ćelija ram memorija dodijeljena jedinstvena adresa. Organizacione metode alokacije memorije daju programerima mogućnost da efikasno koriste sve kompjuterski sistem... Ove metode uključuju kontinuirani ("ravni") model memorije i model segmentirane memorije. Koristeći solidan model(flat model) memorije, program radi sa jednim neprekidnim adresnim prostorom, linearnim adresnim prostorom, u kojem se memorijske ćelije numeriraju uzastopno i kontinuirano od 0 do 2n-1, gdje je n kapacitet procesora na adresi. Kada se koristi segmentirani model za program, memorija je predstavljena grupom nezavisnih adresnih blokova koji se nazivaju segmenti. Da bi adresirao bajt memorije, 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.

Top srodni članci