This shows you the differences between two versions of the page.
apm:laboratoare:01:continut [2024/02/29 15:06] 127.0.0.1 external edit |
apm:laboratoare:01:continut [2025/10/07 21:54] (current) mihnea.dinica Format |
||
---|---|---|---|
Line 1: | Line 1: | ||
==== Introducere ==== | ==== Introducere ==== | ||
- | Există situații în care vrem să folosim logica secvențială pentru a stoca mai multă informație decât simpla stare curentă a unui automat finit, ci mai degrabă informații/date de dimensiuni mari și uz general. Astfel au apărut aceste blocuri de circuite secvențiale de dimensiuni mari, numite memorii, și caracterizate de următoarele trăsături: | + | În proiectarea sistemelor digitale, **logica secvențială** este utilizată nu doar pentru a gestiona starea curentă a automatelor finite, ci și pentru a stoca volume mari de **informații/date** de uz general. Aceste blocuri de circuite secvențiale de mari dimensiuni sunt denumite **memorii**. |
- | * **Dimensiune**: măsurată în biți (b), octeți (B), și multiplii acestora. | + | |
- | * **Timp de acces**: măsurat în submultiplii ai secundei, în general nanosecunde (ns). | + | Caracteristicile primare care definesc un bloc de memorie sunt: |
+ | * **Capacitatea/Dimensiune**: măsurată în biți (b), octeți (B), și multiplii acestora (KB, MB, GB, etc). | ||
+ | * **Timp de acces**: viteza necesară pentru citirea/scrierea unei date, măsurată tipic în nanosecunde (ns). | ||
* **Structura internă**: un bloc mare de memorie este construit din mai multe module mai mici de memorie. | * **Structura internă**: un bloc mare de memorie este construit din mai multe module mai mici de memorie. | ||
- | * **Volatilitatea datelor**: determină dacă datele persistă în memorie după un ciclu de alimentare (on-off-on). | + | * **Volatilitatea**: proprietatea datelor de a persista (**non-volatil**) sau de a se pierde (**volatil**) după un ciclu de alimentare (on-off-on). |
- | * **Alterarea datelor**: posibilitatea de modificare a datelor post-fabricație. | + | * **Alterarea datelor**: posibilitatea de a rescrie conținutul memoriei după fabricație. |
- | * **Modul de acces al datelor**: ordinea de accesare a datelor în raport cu timpul. | + | * **Modul de acces al datelor**: ordinea de accesare a datelor în raport cu timpul (aleatoriu, secvențial). |
* **Număr de porturi**: câte unități hardware pot avea acces simultan la memorie, în același ciclu de ceas. | * **Număr de porturi**: câte unități hardware pot avea acces simultan la memorie, în același ciclu de ceas. | ||
- | * **Preț** ($$$) | + | * **Preț**: costul de producție |
* **Tehnologia de fabricație**: influențează caracteristicile menționate anterior. | * **Tehnologia de fabricație**: influențează caracteristicile menționate anterior. | ||
Line 19: | Line 21: | ||
**Memoria cache** este o memorie SRAM, utilizată pentru eficientizarea timpului de acces la date a procesorului. Aceasta este încapsulată împreună cu unitatea centrală de procesare (CPU) pentru a facilita viteza ridicată de transfer, eficiența energetică pentru transportul datelor și compensarea timpului de acces la memoria principală. | **Memoria cache** este o memorie SRAM, utilizată pentru eficientizarea timpului de acces la date a procesorului. Aceasta este încapsulată împreună cu unitatea centrală de procesare (CPU) pentru a facilita viteza ridicată de transfer, eficiența energetică pentru transportul datelor și compensarea timpului de acces la memoria principală. | ||
+ | |||
+ | **Memoria principală** este o memoria DRAM ce oferă o capacitate mare de lucru (în general de ordinul GB) la un cost rezonabil. | ||
{{ :apm:laboratoare:01:image1.png?nolink&750 |}} | {{ :apm:laboratoare:01:image1.png?nolink&750 |}} | ||
Line 90: | Line 94: | ||
Toate operațiile necesare pentru interfațarea unui chip SRAM sincron sunt controlate de unul sau mai multe semnale externe de ceas. Pentru a funcționa corect toate semnalele de control trebuie să fie valide atunci când are loc tranziția respectivă a ceasului, adică să fie respectați timpii de setup și hold. | Toate operațiile necesare pentru interfațarea unui chip SRAM sincron sunt controlate de unul sau mai multe semnale externe de ceas. Pentru a funcționa corect toate semnalele de control trebuie să fie valide atunci când are loc tranziția respectivă a ceasului, adică să fie respectați timpii de setup și hold. | ||
- | Functionarea unui SSRAM poate fi descrisa prin urmatoarele semnale: | + | Funcționarea unui SSRAM poate fi descrisă prin următoarele semnale: |
* **Clock**: semnalul de sincronizare care marchează momentele în care datele sunt citite sau scrise. | * **Clock**: semnalul de sincronizare care marchează momentele în care datele sunt citite sau scrise. | ||
* **Address (ADDR or SAx)**: adresa la care se efectuează operația de citire sau scriere. | * **Address (ADDR or SAx)**: adresa la care se efectuează operația de citire sau scriere. | ||
* **Data Inputs and Outputs (DQs or I/Os)**: Aceste semnale reprezintă datele care sunt scrise în memoria SSRAM în cazul operației de scriere, respectiv datele care sunt citite din memoria SSRAM în cazul operației de citire. | * **Data Inputs and Outputs (DQs or I/Os)**: Aceste semnale reprezintă datele care sunt scrise în memoria SSRAM în cazul operației de scriere, respectiv datele care sunt citite din memoria SSRAM în cazul operației de citire. | ||
* **Chip Select (CS or SS)**: activează modulul de memorie, stabilind contextul pentru operațiile ulterioare de citire sau scriere. | * **Chip Select (CS or SS)**: activează modulul de memorie, stabilind contextul pentru operațiile ulterioare de citire sau scriere. | ||
- | * **Output Enable (OE or G)**: permite scrierea pe magistrală de date a informațiilor de la adresa specificată. | + | * **Output Enable (OE or G)**: permite punerea pe magistrala de date a informațiilor citite de la adresa specificată în prealabil. |
- | * **Write Enable (WE or RW)**: permite scrierea datelor în modulul de memorie, fiind prioritar fată de **Output Enable**. | + | * **Write Enable (WE or RW)**: permite scrierea datelor în modulul de memorie la adresa specificată în prealabil, fiind prioritar față de **Output Enable**. |
<spoiler Descriere elaborată a semnalelor> | <spoiler Descriere elaborată a semnalelor> | ||
* **Address (ADDR or SAx)**: acest semnal de intrare este folosit pentru a selecta o locație de memorie de pe chip. În realitate, pentru memorii mari construite din mai multe chip-uri, atunci când selectăm o adresă, de fapt selectăm mai multe celule de memorie, câte una pentru fiecare chip. | * **Address (ADDR or SAx)**: acest semnal de intrare este folosit pentru a selecta o locație de memorie de pe chip. În realitate, pentru memorii mari construite din mai multe chip-uri, atunci când selectăm o adresă, de fapt selectăm mai multe celule de memorie, câte una pentru fiecare chip. | ||
* Obs. 1. Într-o memorie formată din 8 chip-uri, selectarea unei adrese conduce la 8 locații de memorie simultan. Mai departe, distincția dintre acestea se face decodificând biții suplimentari ai adresei. | * Obs. 1. Într-o memorie formată din 8 chip-uri, selectarea unei adrese conduce la 8 locații de memorie simultan. Mai departe, distincția dintre acestea se face decodificând biții suplimentari ai adresei. | ||
- | * Obs. 2. Dimensiunea adresei depinde de mărimea memoriei. O memorie SRAM de 32K x 8 va avea 15 biți de adresă (2<sup>15</sup> = 32K). | + | * Obs. 2. Dimensiunea adresei depinde de mărimea memoriei. O memorie SRAM de 32K x 8 va avea 15 biți de adresă (2<sup>15</sup> = 32K). |
- | * **Data Inputs and Outputs (DQs or I/Os)**: Pinii de DQ sunt folosiți pentru intrarea și ieșirea datelor. Pe unele memorii pinii de intrare/ieșire sunt separați, iar pe altele sunt multiplexați pe aceiași pini. Spre exemplu, o memorie SRAM de 32K x 8 va avea 8 biți de date. | + | * **Data Inputs and Outputs (DQs or I/Os)**: Pinii de DQ sunt folosiți pentru intrarea și ieșirea datelor. Pe unele memorii pinii de intrare/ieșire sunt separați, iar pe altele sunt multiplexați pe aceiași pini. Spre exemplu, o memorie SRAM de 32K x 8 va avea 8 biți (echivalent cu 8 pini) de date. |
* În timpul unei operații de scriere, un semnal de date se aplică pe pinii de Data Input. Aceste date sunt eșantionate și stocate în celula de memorie selectată prin biții de adresă. | * În timpul unei operații de scriere, un semnal de date se aplică pe pinii de Data Input. Aceste date sunt eșantionate și stocate în celula de memorie selectată prin biții de adresă. | ||
* În timpul unei operații de citire, datele de la adresa de memorie selectată vor apărea pe pinii de Data Output odată ce accesul s-a încheiat și Output Enable (OE) a fost activat. | * În timpul unei operații de citire, datele de la adresa de memorie selectată vor apărea pe pinii de Data Output odată ce accesul s-a încheiat și Output Enable (OE) a fost activat. | ||
Line 111: | Line 115: | ||
* În timpul operației de scriere propriu-zise semnalul OE este ignorat. | * În timpul operației de scriere propriu-zise semnalul OE este ignorat. | ||
* **Clock**: La SRAM-urile cu un singur semnal de ceas, acesta controlează momentul când semnalele de intrare sunt eșantionate de către memorie, la începutul unui ciclu de citire sau scriere, și când semnalele de ieșire devin vizibile pe pini. | * **Clock**: La SRAM-urile cu un singur semnal de ceas, acesta controlează momentul când semnalele de intrare sunt eșantionate de către memorie, la începutul unui ciclu de citire sau scriere, și când semnalele de ieșire devin vizibile pe pini. | ||
- | * **Chip Select (CS or SS)**: (**activ high**) este folosit pentru a permite/bloca semnalele de intre/ieșire către/de la chip. De exemplu, atunci când CS este 0 semnalele de input aplicate pe pini sunt ignorate. | + | * **Chip Select (CS or SS)**: (**activ high**) este folosit pentru a permite/bloca semnalele de intre/ieșire către/de la un chip din componența modulului de memorie. De exemplu, atunci când CS este 0 semnalele de input aplicate pe pini sunt ignorate. |
* **Write Enable (WE or RW)**: (activ high - 1 = write) semnalul este folosit pentru a alege dintre o operație de citire sau de scriere. Atunci când WE este 1 datele aplicate pe pinii de intrare sunt copiate în memorie. Când WE este 0 se începe un ciclu de citire, iar datele de pe linia de date sunt ignorate. | * **Write Enable (WE or RW)**: (activ high - 1 = write) semnalul este folosit pentru a alege dintre o operație de citire sau de scriere. Atunci când WE este 1 datele aplicate pe pinii de intrare sunt copiate în memorie. Când WE este 0 se începe un ciclu de citire, iar datele de pe linia de date sunt ignorate. | ||
</spoiler> | </spoiler> |