Metode de organizare a memoriei. Memoria de acces asociativă Memoria asociativă

Un dispozitiv de memorie cu acces aleatoriu, de regulă, conține multe elemente de stocare identice care formează o matrice de stocare (SA). Matricea este împărțită în celule individuale; fiecare dintre ele este conceput pentru a stoca cod binar, numărul de biți în care este determinat de lățimea eșantionului de memorie (în special, poate fi unul, jumătate sau mai multe cuvinte mașină). Metoda de organizare a memoriei depinde de metodele de plasare și căutare a informațiilor în matricea de stocare. Pe baza acestei caracteristici, ei disting între amintirile de adresă, asociative și stiva (de revistă).

Memorie de adrese.În memoria cu organizare de adrese, plasarea și căutarea informațiilor în memorie se bazează pe utilizarea adresei de stocare a unui cuvânt (număr, comandă etc.). Adresa este numărul celulei ZM în care se află acest cuvânt.

Când scrieți (sau citiți) un cuvânt într-o memorie, comanda care inițiază această operațiune trebuie să indice adresa (numărul celulei) la care se efectuează înregistrarea (citirea).

O structură tipică de memorie de adrese conține o matrice de stocare de celule de N-biți și cadrul său hardware, care include un registru de adrese RgA având k (k» jurnal N) cifre, registru de informații RGI, bloc eșantion de adresă BAV, bloc amplificator de sens AUTOBUZ, bloc de amplificatoare de biți-formatoare de semnale de înregistrare BUZși unitatea de gestionare a memoriei BUP.

Prin codul de adresă în RgA BAV generează semnale în celula de memorie corespunzătoare care permit citirea sau scrierea unui cuvânt în celulă.

Ciclul de acces la memorie este inițiat printr-o intrare în BUP din afara semnalului Recurs. Partea generală a ciclului de circulație include admiterea la RgA din magistrala de adrese SHA adresa si receptia BUPși decodificarea semnalului de control Operațiune, indicând tipul operației solicitate (citire sau scriere).

Mai departe când citești BAV decriptează adresa, trimite semnale de citire către celula 3M specificată de adresă, în timp ce codul cuvântului scris în celulă este citit de amplificatoarele de citire BUS și transmis către RGI. Operația de citire este finalizată prin emiterea unui cuvânt de la RGI la magistrala de informații de ieșire SHIVYH.

La înregistrare, pe lângă efectuarea părții generale de mai sus a ciclului de acces, cuvântul care este scris este primit de la magistrala de informații de intrare SHIVhȘi RGI. Apoi la selectat BAV celula este scris un cuvânt din RGI.

Bloc de control BUP generează secvențele necesare de semnale de control care inițiază funcționarea nodurilor de memorie individuale.

Memoria asociativă.În acest tip de memorie, căutarea informațiilor necesare se realizează nu după adresă, ci după conținutul acesteia (după criterii asociative). În acest caz, căutarea după o caracteristică asociativă (sau secvenţial după biţi individuali ai acestei caracteristici) are loc în paralel în timp pentru toate celulele matricei de stocare. În multe cazuri, căutarea asociativă poate simplifica și accelera semnificativ procesarea datelor. Acest lucru se realizează datorită faptului că în memoria de acest tip, operația de citire a informațiilor este combinată cu executarea unui număr de operații logice.


O structură tipică a memoriei asociative este prezentată în Fig. 4.3. Matricea de stocare conține N (n+1)-biți celule. Pentru a indica ocuparea celulei, se folosește a n-a cifră de serviciu (0 - celula este liberă, 1 - un cuvânt este scris în celulă).

În dispozitivele de stocare asociativă, informațiile sunt căutate în funcție de o caracteristică asociativă înregistrată în fiecare celulă de memorie.

În acest tip de memorie, căutarea informațiilor necesare este efectuată nu prin adresă, ci prin conținutul informațiilor în sine (adică după caracteristicile asociative). În acest caz, căutarea unei caracteristici asociative are loc în paralel în timp pentru toate celulele de memorie. Căutarea asociativă poate simplifica și accelera semnificativ procesarea datelor. Acest lucru se realizează datorită faptului că într-o astfel de memorie operația de citire a informațiilor este combinată cu executarea unui număr de operații logice. De exemplu, puteți efectua operațiuni precum:

1) căutați numărul maxim sau minim din memorie;

2) căutarea cuvintelor în anumite limite;

3) căutarea cuvintelor cele mai apropiate de caracteristica asociativă, atât pe partea mai mare, cât și pe cea mai mică etc.

Cea mai simplă memorie asociativă efectuează de obicei o singură operație pentru a selecta cuvintele a căror caracteristică se potrivește cu caracteristica asociativă.

Matricea de stocare (SM) conține N celule, fiecare celulă având n+1 biți. Pentru a indica ocuparea celulei, este folosită a n-a cifră de serviciu. Dacă există 0 în al n-lea bit, atunci celula este liberă, dacă 1, atunci este ocupată.

Pe baza SD de intrare, un atribut de n biți este trimis registrului de caracteristici asociative RGP, iar codul de mască de căutare este trimis registrului de mască RGM. În acest caz, al n-lea bit al registrului RGM este setat la 0. Căutarea asociativă este efectuată numai de acei biți ai atributului care corespund cu „1” din registrul de mască, adică de așa-numiții biți RGM nemascați. . Astfel, prin specificarea codului de mască M, puteți selecta în mod arbitrar acei biți ai atributului prin care se efectuează căutarea.

Pentru cuvintele din ZM în care toate cifrele au coincis cu biții nemascați ai RGP, circuitul combinat KS 1 setează „1” la biții corespunzători ai registrului de potrivire RGC. Astfel, dacă cifra j-lea cuvânt coincide cu biții nemascați ai atributului, atunci „1” va fi scris în j-lea bit al registrului RGC, altfel „0”. Introducerea „1” din a j-a cifră a RGC înseamnă că j-lea cuvânt corespunde atributului, adică. este cuvântul care este de fapt căutat în ZM.

Un cuvânt este scris în registrul de mască care permite o interogare pentru toți sau doar unii biți ai atributului asociativ folosind o mască vă permite să scurtați sau să extindeți zona de căutare.

Căutarea informațiilor se efectuează în paralel în toate celulele prin compararea cererii cu caracteristica asociativă a fiecărei celule.

Rezultatul căutării este generat de un circuit combinațional special care generează semnale care anunță despre absența cuvintelor care satisfac condițiile de căutare, despre prezența unui singur cuvânt, despre prezența mai multor cuvinte care au o astfel de caracteristică asociativă.

După generarea și procesarea semnalelor de avertizare, circuitul de control citește informațiile necesare.

Când se înregistrează informații, se găsește mai întâi o celulă liberă. Pentru a face acest lucru, se efectuează o operație de căutare asociativă folosind o caracteristică care are „0” în toți biții, iar în registrul masca „0” este scris în toți biții, cu excepția celui mai mic bit al n-lea.

Astfel, se determină acele celule 3M care au „0” scris în a n-a cifră, ceea ce înseamnă că celula este neocupată. Un cuvânt din registrul de informații RGI este scris în celula liberă cu cel mai mic număr.

Când utilizați circuite combinaționale suplimentare în memoria asociativă, puteți efectua diverse operații logice, determinând numărul maxim sau minim, numărul de cuvinte care au aceeași caracteristică asociativă etc. Figura 1 prezintă structura memoriei asociative. Celulele de memorie ale unui dispozitiv de stocare asociativă trebuie să fie elemente de memorie statică în memoria asociativă, toate celulele sunt accesate simultan și nu trebuie să fie întrerupte de cicluri de regenerare. Memoria asociativă este cea mai rapidă, dar foarte costisitoare, deoarece necesită introducerea unui circuit suplimentar de comparație care să permită căutarea fiecărei celule de memorie. Prin urmare, o astfel de memorie nu este de obicei utilizată în forma sa pură, iar dispozitivele de memorie cache de mare viteză sunt de obicei implementate ca parțial asociative.

În microprocesoare, memoria asociativă (memorie cu selecție de conținut) este utilizată ca parte a memoriei cache pentru a stoca porțiunea de adresă a instrucțiunilor și operanzilor programului executabil. În acest caz, nu este nevoie să contactați RAM pentru următoarea comandă sau operandul necesar este suficient să plasați adresa necesară în registrul de atribute asociative și, dacă informațiile necesare se află în memoria cache, aceasta va fi imediat emisă; . Accesul la RAM va fi necesar doar dacă informațiile necesare nu se află în cache. Datorită acestei utilizări a cache-ului, numărul de accesări la RAM este redus, iar acest lucru economisește timp, deoarece accesarea cache-ului necesită aproximativ de 10 ori mai puțin timp decât accesarea RAM.

Organizarea memoriei stivuite

Dacă scrierea și citirea se fac prin același registru, atunci un astfel de dispozitiv se numește memorie stivă, funcționând pe principiul „primul intrat, ultimul ieșit” (FILO-First Input, Last Output).

Memoria stivă, ca și memoria asociativă, este fără adresă, este o colecție de celule care formează o matrice unidimensională, în care celulele învecinate sunt conectate între ele prin lanțuri de biți de transmisie a cuvintelor. Cuvintele sunt întotdeauna scrise în celula zero de sus. În acest caz, toate cuvintele înregistrate anterior sunt deplasate în jos cu o celulă. Citirea se face în ordinea inversă scrisului.

Memoria stivă a devenit larg răspândită. Pentru a-l implementa în RAM prin programele sistemului de operare, o parte din memorie este alocată stivei. În practică, memoria stivă este adesea organizată folosind memoria de adrese obișnuită.

Să considerăm organizarea memoriei stivei ca o memorie formată din celule de memorie interconectate în care informația este deplasată în jos atunci când un cuvânt nou este scris în stivă (Fig. 2). Schimbul de informații se face numai prin celula de memorie superioară. Când citiți cuvinte din stivă, cuvântul poate fi eliminat din memoria stivei sau mutat în jurul inelului, în funcție de organizarea stivei. Modul de citire - ultimul intrat, primul iesit - se numeste LIFO (Last In First Out).


Fig. 2. Organizarea memoriei stivei.

Implementarea hardware a unei astfel de memorie nu este întotdeauna recomandabilă, iar memoria stivei este adesea organizată în memoria principală a computerului în software, ceea ce vă permite să schimbați dimensiunea stivei în funcție de nevoie. Când organizați o stivă în memoria principală, este alocat un registru special de adrese - „indicatorul de stivă”. Indicatorul stivei conține adresa ultimului cuvânt scris în stivă. Când un cuvânt este scris în stivă, adresa din partea superioară a stivei este micșorată automat, iar când este citită, este automat crescută. Memoria stivă este de obicei folosită pentru a salva starea programului curent atunci când procesează o întrerupere. După ce programul de întrerupere este executat, starea tuturor registrelor care existau în momentul în care programul a fost întrerupt este restabilită în ordinea inversă a secvenței de scriere. De asemenea, puteți salva datele programului pe stivă, deoarece atunci când accesați stiva, nu este necesar să specificați adresele celulelor de memorie din program, de asemenea, informațiile sunt preluate din stivă;

Modalități de organizare a memoriei

Nume parametru Sens
Subiect articol: Modalități de organizare a memoriei
Rubrica (categoria tematica) Calculatoare

Din punct de vedere funcțional, amintirile de orice tip constau întotdeauna dintr-o matrice de stocare care stochează informații și blocuri auxiliare, foarte complexe, care servesc pentru căutare în matrice, scriere și citire (și, dacă este necesar, pentru regenerare).

O matrice de stocare (SM) constă din multe elemente de stocare identice (SE). Toate dispozitivele electronice sunt organizate în celule, fiecare dintre acestea fiind concepută pentru a stoca o unitate de informații sub forma unui cod binar, al cărui număr de biți este determinat de lățimea eșantionului. Metoda de organizare a memoriei depinde de metodele de plasare și căutare a informațiilor în memorie. Pe baza acestei caracteristici, ei disting între memorie de adresă, asociativă și stiva.

MEMORIA ADRESĂ

În memoria cu o organizare a adresei, plasarea și căutarea informațiilor în memorie se bazează pe utilizarea adresei de stocare a unei unități de informație, pe care în viitor pentru concizie o vom numi intr-un cuvant. Adresa este numărul celulei ZM în care se află acest cuvânt. La scrierea (citirea) unui cuvânt într-o memorie, comanda care inițiază această operațiune trebuie să indice adresa (numărul) celulei către care urmează să se facă scrierea (citirea).

În fig. Figura 5.2 prezintă structura generală a memoriei de adrese.

Ciclul de acces la memorie este inițializat de semnalul „Acces” care ajunge la TCU. Partea generală a ciclului de acces include primirea adresei de acces din magistrala de adrese (ABA) și primirea semnalului de control „Operare” în BUP, indicând tipul operației solicitate (citire sau scriere).

Citind. BAS decriptează adresa și trimite un semnal care selectează celula 3M specificată de adresă. În cazul general, BAS-ul poate trimite și semnale către o celulă de memorie selectată care configurează celulele electronice să scrie sau să citească. După aceasta, cuvântul scris în celulă este citit de amplificatoarele BUS și transmis către RgI. Apoi, în memorie cu citire distructivă, informația este regenerată prin scrierea unui cuvânt din RgI prin BUZ în aceeași celulă a ZM. Operația de citire este finalizată prin emiterea unui cuvânt de la RgI către magistrala de informații de ieșire SHI out.

Record.În plus față de partea generală de mai sus a ciclului de acces, cuvântul scris este primit de la magistrala de intrare SHI în RgI. Înregistrarea în sine constă, în general, din două operații – ștergerea celulei și înregistrarea în sine. Pentru a face acest lucru, BAV selectează și șterge mai întâi celula specificată de adresa din RgA. Curățarea celulei CM (readucerea ei la starea inițială) se poate face în diferite moduri. În special, în memoria cu citire distructivă, ștergerea se poate face cu un semnal pentru citirea unui cuvânt într-o celulă atunci când BUS-ul este blocat (pentru ca informațiile să nu intre în RgI). Apoi, un cuvânt nou este scris în celula selectată.

Necesitatea operațiunii de curățare a unei celule înainte de scriere, precum și operațiunea de regenerare a informațiilor la citire, este determinată de tipul de dispozitive electronice utilizate, metodele de control și caracteristicile structurii electronice a memoriei LSI; operațiunile pot fi absente în memoriile semiconductoare.

PCB generează secvențele necesare de semnale de control care inițiază funcționarea nodurilor de memorie individuale. Trebuie avut în vedere faptul că PCB-ul trebuie să fie un dispozitiv foarte complex (un fel de controler de control cu ​​propria sa memorie cache), oferind memoriei LSI în ansamblu proprietăți speciale pentru consumator, cum ar fi portabilitatea multiplă, ieșirea informațiilor pipeline etc. .

MEMORIA ASOCIATIVA

În acest tip de memorie, informațiile sunt căutate nu după adresă, ci după conținutul acesteia. În acest caz, conținutul informațiilor este de obicei înțeles nu ca încărcare semantică a unui cuvânt stocat într-o celulă de memorie, ci ca conținutul EE al celulei de memorie, ᴛ.ᴇ. alcătuirea pe biți a cuvântului binar scris. În acest caz, cererea asociativă (semnul) este, de asemenea, un cod binar cu o anumită compoziție de biți. Căutarea după caracteristică asociativă are loc în paralel în timp pentru toate celulele 3M și este o operație de comparare a conținutului biților din registrul de atribute cu conținutul biților corespunzători ai celulelor de memorie. Pentru a organiza o astfel de căutare, toate dispozitivele electronice sunt echipate cu procesoare pe un singur bit, prin urmare, în unele cazuri, memoria de acest tip este considerată un sistem multiprocesor;

Memoria complet asociativă de mare capacitate este un dispozitiv foarte scump, prin urmare, pentru a-și reduce costul, numărul de procesoare pe un bit este redus la unul pe celulă de memorie. În acest caz, compararea cererii asociative cu conținutul celulelor de memorie are loc secvenţial pentru cifre individuale, paralel în timp pentru toate celulele de memorie.

Cu cantități foarte mari de memorie pe anumite clase de probleme, căutarea asociativă accelerează semnificativ procesarea datelor și reduce probabilitatea defecțiunii computerului. În același timp, memoriile asociative cu blocuri de circuite combinaționale corespunzătoare fac posibilă efectuarea unor operații logice destul de complexe în memorie: căutarea numărului maxim sau minim într-o matrice, căutarea cuvintelor incluse în anumite limite, sortarea unui tablou etc.

Trebuie remarcat faptul că căutarea asociativă poate fi implementată și într-un computer cu memorie obișnuită de adrese, apelând secvențial cuvintele înregistrate în celulele de memorie în procesor și comparându-le cu o caracteristică asociativă (șablon). Cu toate acestea, cu cantități mari de memorie, acest lucru va dura mult timp. Când se utilizează memoria asociativă, este posibil, fără a citi cuvinte din OP în procesor, să se determine într-un apel numărul de cuvinte care răspund unei anumite cereri asociative. Acest lucru face posibilă implementarea foarte rapidă a unei interogări precum: câți rezidenți ai regiunii nu au depus o declarație de venit etc., în bazele de date mari.

În unele computere specializate, OP-ul sau o parte a acestuia este construită în așa fel încât să facă posibilă implementarea atât a căutării asociative, cât și a informațiilor de adresă.

În Fig. 5.3.

Să luăm în considerare mai întâi operația numită controlul asocierii. Această operație este comună operației de citire și scriere și are, de asemenea, un sens propriu.

O solicitare asociativă de n biți, ᴛ.ᴇ, este primită prin magistrala de informații de intrare către RGAP. biții de la 0 la n-1 sunt umpluți. În același timp, codul de mască de căutare este primit în PrM, iar al n-lea bit al PrM este setat la 0. Căutarea asociativă se efectuează numai pentru setul de biți PrgAP, care corespund la 1 în PrgM (biți PrgAP nemascați). Este important de reținut că pentru cuvintele în care cifrele din cifre coincid cu cifrele nemascate ale RgAP, CS setează 1 în cifrele corespunzătoare ale RgSV și 0 în cifrele rămase.

Schema combinațională pentru generarea rezultatului inversării asociative FS formează cel puțin trei semnale din cuvântul format în RgSV:

A 0 – absența cuvintelor în ZM care satisfac criteriul asociativ;

A 1 – prezența unui astfel de cuvânt;

A 2 – prezența a mai mult de un cuvânt.

Sunt posibile și alte operațiuni asupra conținutului RgSV, de exemplu, numărarea numărului de unități, ᴛ.ᴇ. numărarea cuvintelor în memorie care satisfac o interogare asociativă etc.

Formarea conținutului de RgSV și a 0 , a 1 , a 2 în funcție de conținutul RgAP, RgM, ZM este de obicei numită operația de control a asocierii.

Citind.În primul rând, controlul asocierii este efectuat pe baza caracteristicii din RgAP.

A 0 = 1 – citirea este anulată din lipsa informațiilor solicitate;

A 1 = 1 – cuvântul găsit se citește în RgI, după care este scos pe ieșirea SHI;

A 2 = 1 – este citit un cuvânt care are, de exemplu, cel mai mic număr dintre celulele marcate cu 1 în RgSV, apoi este scos la ieșirea SHI.

Record.În primul rând, este găsită o celulă liberă (presupunem că bitul de ocupare al celulei libere conține 0). Pentru a face acest lucru, controlul asocierii este efectuat la PrgAP = 111...10 și PrgM = 000...01, ᴛ.ᴇ. A n-a cifră a RgAP este setată la 0, iar a n-a cifră a RgM este setată la 1. În acest caz, celula liberă este marcată cu 1 în RgSV. Pentru înregistrare, selectați o celulă liberă, de exemplu, cu cel mai mic număr. Cuvântul primit de la intrarea SHI către RgI este înregistrat în el.

Trebuie remarcat faptul că această diagramă nu prezintă blocurile BUP, BUS, BUS, care se găsesc în dispozitivele reale. În același timp, pentru construirea memoriei asociative sunt necesare elemente de stocare care pot fi citite fără distrugere.

STACK MEMORY (MAGAZIN)

Memoria stivă, ca și memoria asociativă, este fără adresă. Memoria stivă trebuie organizată atât în ​​hardware, cât și pe o matrice obișnuită de memorie adresabilă.

În cazul implementării hardware, celulele de memorie stiva formează o matrice unidimensională în care celulele învecinate sunt conectate între ele prin circuite de biți de transmisie a cuvintelor (Fig. 5.4). În acest caz, sunt posibile două tipuri de dispozitive (a, b), ale căror principii de funcționare sunt diferite. Să luăm în considerare mai întâi structura din fig. 5.4, ​​a.

Un cuvânt nou primit de la intrarea SHI este scris în celula superioară (zero), în timp ce toate cuvintele scrise anterior (inclusiv cuvântul din celula 0) sunt mutate în jos în celulele adiacente, ale căror numere sunt cu unul mai mare. Citirea este posibilă numai din celula de memorie de sus (zero). Modul principal este citirea cu ștergere. În același timp, toate celelalte cuvinte din memorie sunt mutate în sus, în celule adiacente cu numere mai mici. Într-o astfel de memorie este implementată regula: ultimul intrat, primul iesit. Stivele de acest tip sunt de obicei numite stive LIFO (Last In – First Out).

În unele cazuri, dispozitivele de memorie stivă oferă, de asemenea, operațiunea de a citi pur și simplu un cuvânt din celula 0 fără a-l șterge și de a muta cuvintele rămase. Când utilizați o stivă pentru a stoca parametrii de inițializare ai controlerelor oricăror dispozitive computerizate, este de obicei posibil să citiți conținutul oricărei celule stive fără a o șterge, ᴛ.ᴇ. citirea conținutului nu numai al celulei 0.

Se spune că primul cuvânt împins pe stivă se află pe partea de jos a stivei. Se spune că ultimul cuvânt trimis (la timp) pe stivă este în partea de sus a stivei. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, celula N-1 este partea de jos a stivei, iar celula 0 este partea de sus.

De obicei, stiva hardware este echipată cu un contor de stivă SchSt, care arată numărul total de cuvinte stocate în memorie (SchSt = 0 - stiva este goală). Când stiva este plină, dezactivează scrierile ulterioare.

Principiul stivei de organizare a memoriei poate fi implementat nu numai în dispozitivele special concepute pentru aceasta. Organizarea datelor bazată pe stivă este posibilă și pe memorie adresabilă obișnuită cu acces aleatoriu (stivă de software). Pentru a organiza o stivă LIFO în acest caz, este nevoie de o altă celulă de memorie (registru), care stochează întotdeauna adresa vârfului stivei și care se numește de obicei indicator de stivă. De obicei, unul dintre registrele interne ale procesorului este folosit ca indicator de stivă. În plus, este necesar un software adecvat. Principiile organizării datelor stivei pe memoria convențională de adrese sunt ilustrate de diagrama din Fig. 5.5.

Spre deosebire de stiva hardware, datele plasate pe stiva de software nu se mișcă atunci când este scris sau citit un număr nou. Fiecare cuvânt nou este scris în celula de memorie de lângă cel a cărui adresă este conținută în pointerul stivei. După scrierea unui cuvânt nou, conținutul indicatorului stivei este incrementat cu unu (vezi Figura 6.5). Cu toate acestea, nu datele sunt cele care se deplasează pe stiva de software, ci partea de sus a stivei. Când un cuvânt este citit din stivă, are loc procesul invers. Cuvântul este citit din celula a cărei adresă se află în pointerul stivei, după care conținutul indicatorului stivei este decrementat cu unu.

Dacă cuvintele nou încărcate pe stivă sunt plasate în celule de memorie cu adrese crescânde secvenţial, stiva se numeşte direct. Dacă adresele sunt în scădere secvenţial, atunci - cu susul în jos.În cele mai multe cazuri, se utilizează o stivă inversată, ceea ce se datorează particularităților implementării hardware a contoarelor în interiorul procesorului.

De ce este convenabilă această formă de organizare a memoriei? Privind în perspectivă, putem observa că orice comandă executată în procesor, în cazul general, trebuie să conțină un cod de operație (OPC), adresele primului și celui de-al doilea operanzi și adresa de stocare a rezultatului. Pentru a economisi memorie și a reduce timpul necesar procesorului pentru a executa o instrucțiune de mașină, este de dorit să se reducă lungimea instrucțiunii. Limita acestei reduceri este lungimea comenzii fără adresă, ᴛ.ᴇ. doar COP. Tocmai astfel de instrucțiuni sunt posibile cu o organizare a memoriei stivei, deoarece, dacă operanzii sunt amplasați corect pe stivă, este suficient să le regăsiți secvențial și să efectuați operațiunile corespunzătoare asupra lor.

În plus față de memoria stivă de tip LIFO discutată mai sus, computerele folosesc memorii stive de alt tip care implementează regula: primul intrat, primul iesit. Stivele de acest tip sunt de obicei numite stive FIFO (First In – First Out). Această memorie stivă este utilizată pe scară largă pentru a organiza diferite tipuri de cozi (comenzi, date, solicitări etc.). Structura generalizată a unei stive hardware de tip FIFO este prezentată în Fig. 5.4, ​​​​b.

Ca și în cazul precedent, celulele de memorie stiva formează o matrice unidimensională în care celulele învecinate sunt conectate între ele prin circuite de transfer de cuvinte de biți. Un cuvânt nou primit de la intrarea SHI este scris în celula de sus (zero), după care se deplasează imediat în jos și este scris în ultima celulă necompletată. Dacă stiva era goală înainte de a scrie, cuvântul intră imediat în celula numărul N-1, ᴛ.ᴇ. spre partea de jos a stivei. Citirea este posibilă numai din celula de jos numerotată N-1 (partea de jos a stivei). Modul principal este citirea cu ștergere. În acest caz, toate cuvintele ulterioare (înregistrate) sunt mutate în jos la celulele adiacente ale căror numere sunt cu unul mai mare. Când stiva este plină, contorul (SchSt) interzice scrierile ulterioare în stivă.

Totuși, spre deosebire de stiva LIFO, în stiva FIFO nu partea de jos se mișcă, ci partea de sus. Cuvintele scrise în stiva FIFO se deplasează treptat de sus în jos, de unde sunt citite, deoarece sunt extrem de importante, iar rata de scriere și citire este determinată de semnale de control extern și nu sunt legate între ele.

Implementarea software a stivei FIFO nu este discutată în această secțiune, deoarece este folosită destul de rar în practică.

Metode de organizare a memoriei - concept și tipuri. Clasificarea și caracteristicile categoriei „Metode de organizare a memoriei” 2017, 2018.

Memoria noastră este în mod inerent asociativă. Acest lucru se exprimă prin faptul că o singură amintire poate aminti pe alta, alta - o a treia etc., forțând sau permițând gândurilor să se miște de la unul la altul de-a lungul unui lanț de asociații mentale. Memoria asociativă este o legătură între circumstanțele și ideile unui individ. Asociațiile sunt un fel de cârlige invizibile care extrag din adâncul experienței, circumstanțelor și ideilor acumulate în memorie, momentele trăite (ce s-a întâmplat) și le conectează cu ceea ce trebuie amintit.

Teoria asociativă a memoriei

Există mai multe domenii ale psihologiei legate de memorie. Principalele dintre ele sunt asociative, comportamentale, cognitive și de activitate. Cu toții sunt de acord că memoria este procesul de memorare, stocare și reproducere a informațiilor și uitare a ei, iar memoria este baza în procesul de formare a personalității.

În același timp, pe baza principiilor sale, fiecare dintre teoriile memoriei explică în felul său esența și tiparele acestui proces.

O astfel de teorie este teoria asociativă a memoriei. Ea vine din ideea că asocierea nu este altceva decât o legătură care are loc între fenomenele mentale. La memorare, astfel de conexiuni se stabilesc între părți ale materialului memorat sau reprodus. Faptul este că în procesul de amintire o persoană caută mereu niște legături stabilite între materialul disponibil și cel care trebuie reprodus.

Au fost identificate câteva modele pe baza cărora se formează asociații:

— Prin contiguitate. Apare dacă imaginea percepută este asociată cu ideile experimentate din trecut sau cu cele care au fost simultan experimentate și asociate cu această imagine, adică pe baza asocierii cu materialul anterior. De exemplu, amintindu-ne de școală, cel mai probabil ne vom aminti de profesorul de clasă sau de un prieten de școală și de emoțiile asociate cu acestea și, amintindu-ne de un coleg de muncă, ne putem aminti că sâmbăta viitoare este o sâmbătă lucrătoare și trebuie să ne amintim să setăm o alarmă pentru dimineața de weekend.

- Prin asemănare. Ați observat că, de exemplu, unii oameni seamănă cu cineva? Poate ți s-a întâmplat, privind la un străin, să găsești în el un anumit „tip” sau să descoperi că trăsăturile lui (fața, comportamentul, postura etc.) vor fi reținute de tine pentru că arată ca...? De exemplu, neîndemânatic, zdruncinat, cu un mers vâzător - ca un urs; mic, casnic, timid și lipsit de apărare în aparență - ca o vrabie; luminos, important, cu umerii îndreptați și mișcări lente, importante – ca un păun.

- În contrast. Ne este foarte ușor să asociem „alb - negru”, „bine - rău”, „gras - slab”. Ele sunt produse și de memoria noastră asociativă și folosite pentru consolidarea imaginii. În acest caz, imaginile percepute extrag idei opuse din conștiință. Deci, când te confrunți cu un vecin iritat, îți amintești cât de calmă pare sora ei.

Dezavantajul teoriei asociative a memoriei este că nu explică o caracteristică atât de importantă precum selectivitatea memoriei (la urma urmei, materialul asociativ nu este întotdeauna bine reținut). În plus, nu ia în considerare faptul că procesele de memorie depind de organizarea materialului memorat.

Dezvoltarea memoriei asociative, precum și a gândirii asociative, este foarte importantă: asociațiile ne ajută să ne amintim și să ne amintim și să generăm idei. Memoria asociativă ne permite să ne amintim cuvinte și texte complexe care nu sunt legate între ele datorită acesteia, recuperăm mai ușor informațiile necesare din memorie și cu cât rețeaua de conexiuni asociative este mai extinsă, cu atât este mai bine reținută și cu atât este mai ușor; este de a reaminti atunci când este necesar. Judecățile noastre despre o anumită problemă, punctele noastre de vedere, gusturile și sistemele de valori se bazează pe memoria asociativă. Gândirea noastră, percepția asupra lumii și luarea deciziilor sunt, de asemenea, legate de aceasta.

Memoria asociativă este antrenată prin legarea informațiilor cunoscute, deja învățate, cu material nou. Pentru a dezvolta memoria asociativă, puteți folosi, de exemplu, următorul exercițiu:

1. Pregătiți 2 coli de hârtie și un pix. Pe 1 coală de hârtie, scrieți toate numerele naturale de la 1 la 100 într-o coloană verticală.

2. Selectează oricare 10-15 dintre ele cu care ai asocieri puternice și notează-le în ordine aleatorie pe foaia 2. De exemplu, 8 este un om de zăpadă, 17 este numărul microbuzului tău preferat, 18 este vârsta majoratului în țara în care locuiești (dacă da), etc. După ce ai terminat munca, așteaptă 5-7 minute, ia 1 hârtie cu numere și notează toate evenimentele pe care le amintești vizavi de numărul corespunzător.

3. Data viitoare, procedați la fel cu alte numere neutilizate înainte. Nu forțați lucrurile, nu vă împingeți prea tare la început, încercați să alegeți cu cât mai mult succes o asociație care să-și ocupe cu încredere locul pe listă.

4. Când se completează întreaga listă de numere, testează-te indicând toate asocierile asociate cu numerele de la 1 la 100.

Pe lângă antrenamentul memoriei, ați creat asocieri suplimentare care vă vor ajuta să vă amintiți coduri, numere de telefon etc., dacă este necesar. Încercați doar să vă folosiți asocierile personale fără să vă fie frică să desenați pe imagini. De exemplu, 40 poate fi amintit imaginându-ne 4 ca un pătrat, un „TV” și 0 ca un cerc înscris în el, un „chic”. Rezultatul este o asociere amuzantă a „chicului la televizor”. Veniți cu propriile asociații care sunt potrivite pentru dvs.

Vorbind despre dezvoltarea memoriei, trebuie remarcat faptul că aceasta este indisolubil legată de atenție, deoarece fără a ne concentra asupra unui obiect, nu îl vom muta nici măcar în memoria de scurtă durată. O bună funcționare a memoriei necesită o activitate neuronală ridicată și o funcționare bine coordonată a funcțiilor cognitive ale creierului. Puteți citi mai multe despre dezvoltarea memoriei și a atenției.

Memoria și atenția, percepția și gândirea sunt funcții ale creierului care sunt supuse antrenamentului și dezvoltării. Datorită exercițiilor regulate, vă puteți îmbunătăți în mod semnificativ abilitățile și este mai bine să acordați preferință exercițiilor complexe regulate, cu o sarcină care crește treptat. De exemplu, în acest scop este convenabil să folosiți clasele pe.

Vă dorim succes în auto-dezvoltare!

Foto: Laurelville - Camp & Retreat Center

Un dispozitiv de stocare, de regulă, conține multe elemente de stocare identice care formează o matrice de stocare (SM). Matricea este împărțită în celule individuale; fiecare dintre ele este conceput pentru a stoca cod binar, numărul de biți în care este determinat de lățimea eșantionului de memorie (în special, poate fi unul, jumătate sau mai multe cuvinte mașină). Metoda de organizare a memoriei depinde de metodele de plasare și căutare a informațiilor în matricea de stocare. Pe baza acestei caracteristici, ei disting între amintirile de adresă, asociative și de stivă (stocare).

Memorie de adrese.În memoria cu organizare de adrese, plasarea și căutarea informațiilor în memorie se bazează pe utilizarea adresei de stocare a unui cuvânt (număr, comandă etc.), adresa este numărul celulei de memorie în care acest cuvânt este localizat.

Când scrieți (sau citiți) un cuvânt într-o memorie, comanda care inițiază această operațiune trebuie să indice adresa (numărul celulei) la care se efectuează înregistrarea (citirea).

O structură tipică a memoriei de adrese prezentată în Fig. 4.2, conține o matrice de stocare de N celule de n biți și cadrul său hardware, inclusiv registrul de adrese RgA, având k(k> jurnalul 2 N) cifre, registru de informații RgI, bloc eșantion de adresă BAV, bloc amplificator sens AUTOBUZ, bloc de amplificatoare de biți-formatoare de semnale de înregistrare BUZși unitatea de gestionare a memoriei BUP.

Fig. 4.2 Structura memoriei adreselor.

Prin codul de adresă în RgA BAV generează semnale în celula de memorie corespunzătoare care permit citirea sau scrierea unui cuvânt în celulă.

Ciclul de acces la memorie este inițiat printr-o intrare în BUP din afara semnalului Recurs. Partea generală a ciclului de circulație include admiterea la RgA s magistrala de adrese SHA adresa si receptia BUPși decodificarea semnalului de control Operațiune, indicând tipul operației solicitate (citire sau scriere).

Mai departe când citești BAV decriptează adresa, trimite semnale de citire către celula specificată de adresă ZM,în acest caz, codul cuvântului scris în celulă este citit prin amplificatoare de citire AUTOBUZși transmisă către RgI. Apoi în memorie cu o citire distructivă (când sunt citite, toate elementele de stocare ale celulei sunt setate la starea zero). informația este regenerată într-o celulă prin scrierea acesteia din RGI câteva cuvinte. Operația de citire este finalizată prin emiterea unui cuvânt de la RGI la magistrala de informații de ieșire SHIVIkh.

La înregistrare, pe lângă efectuarea părții generale de mai sus a ciclului de acces, cuvântul care este scris este primit de la magistrala de informații de intrare SHIVh V RgI.Înregistrarea în sine constă din două operații: ștergerea celulei (resetarea la 0) și înregistrarea în sine. Pentru aceasta BAV mai întâi selectează și șterge celula specificată de adresa în RgA. Curățarea este efectuată de semnalele de citire a cuvântului în celulă, dar acest lucru blochează amplificatoarele de simț și din AUTOBUZ V RGI nu se primește nicio informație. Apoi la selectat BAV celula este scris un cuvânt din RgI.

Bloc de control BUP generează secvențele necesare de semnale de control care inițiază funcționarea nodurilor de memorie individuale. Circuitele de transmisie a semnalului de control sunt prezentate cu linii subțiri în Fig. 4.2.

Memoria asociativă.În acest tip de memorie, căutarea informațiilor necesare se realizează nu după adresă, ci după conținutul acesteia (după criterii asociative). În acest caz, căutarea după o caracteristică asociativă (sau secvenţial după biţi individuali ai acestei caracteristici) are loc în paralel în timp pentru toate celulele matricei de stocare. În multe cazuri, căutarea asociativă poate simplifica și accelera semnificativ procesarea datelor. Acest lucru se realizează datorită faptului că în memoria de acest tip, operația de citire a informațiilor este combinată cu executarea unui număr de operații logice.

O structură tipică a memoriei asociative este prezentată în Fig. 4.3. Matricea de stocare conține N(P + 1) -celule de biți. Pentru a indica ocuparea celulei, se folosește a n-a cifră de serviciu (0 - celula este liberă, 1 - un cuvânt este scris în celulă).

Prin magistrala de informații de intrare SHIVh la registrul de atribute asociative RgAP trece la 0 și 1 cifre P- interogare asociativă de biți și în registrul de mască RgM - codul măștii de căutare, cu a n-a cifră RgM este setat la 0. Căutarea asociativă se efectuează numai pentru un set de biți RgAP, care „corespunde la 1 in RgM(bituri demascate RgAP). Pentru cuvintele în care cifrele din cifre coincid cu cifrele nemascate RgAP, circuit combinațional KS setează 1 la biții corespunzători ai registrului de potrivire RgSVși 0 în cifrele rămase. Deci valoarea j-ro clasa in RgSV este determinată de expresie

RgSV(j) =

Unde RgAP[i], RgM[eu si ZM - valorile celei de-a i-a cifre, respectiv RgAP, RgMși celula j-a ZM.

Schema de combinare pentru generarea rezultatului unui recurs asociativ FS forme dintr-un cuvânt format în RgSV, semnalele  0,  1,  2, corespunzătoare cazurilor de absență a cuvintelor în ZM, satisfacerea criteriului asociativ, prezența unuia sau a mai multor astfel de cuvinte. Pentru aceasta FS implementează următoarele funcții booleene:

 0 =

 1 = РгСв

 2 =  0  1

Generarea de conținut RgSVşi semnalează  0,  1,  2 prin conţinut RgAP, RgMȘi ZM se numește operație de control a asocierii. Această operație face parte din operațiunile de citire și scriere, deși are propriul ei sens.

La citire, asocierea este mai întâi verificată în funcție de caracteristica asociativă în RgAP. Apoi la  0 = 1 citirea este anulată din cauza lipsei informațiilor necesare, când  1 = 1 se citește în RGI cuvânt găsit, cu  2 = 1 in RGI se citește un cuvânt din celula care are cel mai mic număr dintre celulele marcate cu 1 in RgSv. Din RGI cuvântul citit este dat pe SHIVIkh.

Orez. 4.3. Structura memoriei asociative

La înregistrare, se găsește mai întâi o celulă liberă. Pentru a face acest lucru, se efectuează o operație de verificare a asocierii când PrgAP= 111. ..10 și RgM== 00... 01. În acest caz, celulele libere sunt marcate 1 in RgSv. Celula liberă cu cel mai mic număr este selectată pentru înregistrare. Înregistrează cuvântul primit de la SHIVh V RgI.

Orez. 4.4. Stack memorie

Folosind operația de control a asocierii, puteți, fără a citi cuvinte din memorie, să determinați după conținut RgSV, câte cuvinte sunt în memorie care îndeplinesc un criteriu asociativ, de exemplu, implementați interogări precum câți elevi dintr-un grup au o notă excelentă la o anumită disciplină. Când se folosesc circuite combinaționale adecvate, în memoria asociativă pot fi efectuate operații logice destul de complexe, precum căutarea unui număr mai mare (mai mic), căutarea cuvintelor conținute în anumite limite, căutarea unui număr maxim (minim) etc.

Rețineți că memoria asociativă necesită elemente de stocare care pot fi citite fără a distruge informațiile înregistrate în acestea. Acest lucru se datorează faptului că în timpul căutării asociative, citirea este efectuată pe întregul SM pentru toți biții nemascați și nu există un loc pentru a stoca informații care sunt distruse temporar prin citire.

stivă de memorie, la fel ca asociativ, este fără adresă. ÎN stiva de memorie(Fig. 4.4) celulele formează o matrice unidimensională în care celulele învecinate sunt conectate între ele prin circuite de biți de transmisie a cuvintelor. Un cuvânt nou este scris în celula de sus (celula 0), în timp ce toate cuvintele scrise anterior (inclusiv cuvântul care era în celula 0) sunt mutate în jos în celulele adiacente cu numere mai mari cu 1. Citirea este posibilă numai din celula de memorie de sus (zero), iar dacă se efectuează citirea cu ștergere, toate celelalte cuvinte din memorie sunt mutate în sus către celulele adiacente cu numere mai mari. În această memorie, ordinea citirii cuvintelor urmează regula: ultimul sosit - primul servit. Un număr de dispozitive de acest tip asigură și operațiunea de citire simplă a unui cuvânt din celula zero (fără a-l șterge și a muta cuvântul în memorie). Uneori, memoria stivă este prevăzută cu un contor stivă SchSt, arătând numărul de cuvinte stocate în memorie. Semnal SchSt = 0 corespunde gol, stivă, SchSt = N - 1 - stiva completă.

Memoria stivă este adesea organizată folosind memoria de adrese. Memoria stivă este utilizată pe scară largă la procesarea structurilor de date imbricate.

Următoarele paragrafe ale capitolului descriu diferite tipuri de dispozitive de stocare adresabile. Memoria asociativă este utilizată în echipamentele pentru distribuția dinamică a OP, precum și pentru construirea memoriei cache.