Memorii RAM
Memoriile RAM (Random Access Memory) sunt circuite de memorare. Adică diferența din acestea și memoriile ROM, este că RAM-urile se pot și scrie, nu doar citi. Astfel, pe lângă parametrii importanți pe care îi cunoaștem de la ROM (numărul de locații de memorie și dimensiunea unei locații), o memorie RAM poate avea unul sau mai multe porturi. Aceste porturi sunt compuse din mai multe intrări și/sau ieșiri, și pot fi de 3 feluri:
- port de scriere - pe acest port se poate face doar scriere în memorie;
- port de citire - pe acest port se poate face doar citire din memorie;
- port de citire-scriere - pe acest port de poate face și scriere și citire, dar doar la aceeași adresă.
Porturile de citire pot fi la rândul lor de două tipuri:
- asincrone - dacă ieșirea de date se schimbă asincron, odată cu schimbarea adresei de citire, iar această ieșire este de tip wire;
- sincrone - daca ieșirea de date se schimbă sincron cu ceasul, indiferent de momentul schimbării adresei, iar această ieșire este de tip reg.
Cu cât o memorie are mai multe porturi, cu atât aceasta e mai mare (ca arie) și mai lentă. Prin urmare este recomandat ca un designer să aibă în vedere funcționalitatea necesară unei memorii și să adauge exact numărul și tipul de porturi de care este nevoie. De exemplu, nu se vor adăuga două porturi de citire decât dacă este esențial să se poată citi două locații de memorie în același timp.
Observație: Fiecare port distinct trebuie să aibă propria intrare de adresă.
Interfața unei memorii RAM
Interfața unei memorii RAM conține obligatoriu semnalul de ceas ca intrare. În plus, fiecare port are următoarele semnale:
- porturile de citire conțin (ca și în cazul unei memorii ROM, unde nu se face decât citire) :
- adresa locației ca intrare
- data citită din memorie ca ieșire
- porturile de scriere conțin:
- adresa destinație ca intrare
- data care se dorește scrisă, tot ca intrare
- porturile de citire-scriere conțin:
- adresa locației care se dorește accesată (citită sau scrisă), ca intrare
- data care se dorește scrisă, tot ca intrare
- data citită din memorie ca ieșire
- un semnal de intrare de un bit, care comandă scrierea datei de intrare la adresa specificată, numit tradițional Write Enable (sau we).
Ieșirile pot fi ori de tip wire, pentru porturi asincrone, ori de tip reg pentru porturi sincrone.