MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN








Memóriák

Memóriák


Csoportosítása:


RAM (Random Access memory):

F

ez jobban kifejezi milyen is a memória:

a 6-os cím után akár a 666-ost is „olvashatjuk”


ordítás: véletlen elérésű memória

MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN tetszőleges elérésű memória


Írható/olvasható memória. Kikapcsolás után tartalma visszavonhatatlanul elvész (fals értéket adna).

Fajtái:

Az adatokat egy félvezető memóriában (flip-flop) tárolja, minden bitjáhez 4-6 tranzisztor kell. Ennek az állapota mindaddig megmarad, amíg újra nem írják, vagy a tápfeszültség meg nem szűnik. A SRAM-okat nem kell bizonyos időközönként frissíteni. Nagyon gyorsak (Elérési idejük néhány ns), de nagyon drágák, ugyanakkor kevesebb energiát fogyasztanak.


Elemi cellája egy kondenzátor és egy tranzisztor (CMOS technológia,
1 tranzisztor -> 1 bit). Ezek az elemek viszonylag nagy sűrűségben helyezhetők el az integrált áramkörben, így relatíve olcsó és emiatt a főmemóriák majdnem mindig dinamikus RAM-ok. A memória tartalmát viszont meghatározott időnként frissíteni kell. Mivel az elektronok szivárognak

ROM (READ ONLY MEMORY):

PROM (programmable ROM):

Lényege hogy mindegyik bitje ugyanolyan (1-es (vagy 0)) és fizikailag utólag „el lehet rontani” tetszőleges számú bitet. A felhasználó egyetlen alkalommal beírhatja a számára állandóan megőrzendő adatot vagy programot.

EPROM (Erasable PROM):

EEPROM (Elecricaly EPROM):

Flash EEPROM (fénymemória):



RAM vs. EEPROM:

Memória kialakítások:

A DRAM-ok elemi cellája egy igen kicsi méretű kondenzátor és egy CMOS tranzisztort tartalmaz. A CMOS tranzisztor tulajdonságaiból adódóan kevés elektront tárol és azok is szivárognak.

Viszont ha lekérdezzük a tartalmát, akkor elektronokat veszünk ki, és ezután vissza is rakunk megfelelő mennyiségűt -> vagyis frissül a tartalom és továbbra is azt tárolja, amire szükségünk van. Régebbi architektúrákban ezt „szimulált” kiolvasással oldották meg, a korszerű memóriák már integráltan tartalmaznak egy frissítő áramkört.


Trükkök a memória elérés gyorsítására elméleti alapon:

  1. Besöprés: kérünk egy oszlopot, és mindegyik sor dobja a saját oszlopbeli elemét -> próbáljuk minél gyorsabban elkapni.

  2. Az a megfigyelés, hogy egy rövid intervallum alatt a memóriahivatkozások a teljes memória csak egy kis részét érintik, a lokalitási elv. Vagyis ha 6-os címről kérünk valamit, akkor nagy valószínűséggel a 7-esről kérünk következőleg. Emellett ismerve a ciklusok működését, valószínűleg szükség lesz a hatosra, ha használtuk már: Időbeli, címbeli lokalitás

  3. Memória tömbök használata: A folyamatok párhuzamosításán alapul a memóriatömbök használatának átlapolása, a ’memory interleaving’ módszere - > a memóriát címzés szempontjából blokkokra bontjuk, mindegyikhez külön hozzáférési lehetőséggel.

A felbontás 2, 4, 8 tömbre történhet:

MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN

Processzor által látott cím:

A15 A14 A13 … A0

A memória ezt kapja:

A15 A14 A13 … A1


És a kettő közötti szerkezet használja a A0-t.

Ami a bankok közül fog „választani”.






MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN

Itt látszik a közbülső szerkezet ami megkapja a A0-t. És a szerint fogja küldeni a megadott címen lévő bitsort, hogy milyen volt (itt a példában) az A0.


A D0, D1, stb. lesz a kért címen lévő adat bitjei.








Itt észrevehető, hogy a címben jobbról az utolsó bit fogja megmondani melyik blokkot címeztük is meg. Így egyetlen cím kiküldésével 2 byte-t kapunk és az utolsó bit segítségével el tudjuk dönteni melyik is kell. A másikkal nem muszáj törődnünk, de ha szükségünk van rá már csak el kell azt is kapnunk. Több bankra való felosztással további eredményt érhetünk el.


  1. Átlapolt címzés (interleaved addressing): Elérési idő az az időtartam, amely a címzés megindítása és az adat megjelenése között telik el, míg a ciklusidő a tárnak az a legrövidebb időtartama, amelynek tárhoz fordulás között el kell telnie. A DRAM tárolóknál a ciklusidő közel kétszerese az elérési időnek, ami a DRAM-ok feléledési idejéből adódik.

Az átlapolt címzési technika ezt az időtartamot használja ki. A bankokra osztott memóriánál felváltva olvas vagy ír az egyik, vagy a másik bankba.


FONTOS: A memóriák byte szervezésűek, vagyis ez a legkisebb címezhető egység.



Sínszervezésű memóriáról:

Egy kis magyarázat kell a lent lévőhöz. Kérdés merülhet fel, hogy hogy lehetséges az, hogyha egyetlen sínre több eszköz van kapcsolva, honnan tudjuk, hogy melyik mondja meg a tutit. Meg persze, hogy nem okoz az gondot hogy az egyik eszköz úgymond „0”-t rak a vezetékre a másik meg mondjuk „1”-est.

Ezt a problémát oldották meg a háromállapotú kapcsolóval:

MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN Azt kell elképzelni, hogy azon a vezetéken, ami a képen középen van több ilyen kapcsoló is van.



A sínszervezésű memóriáknak az az előnye, hogy nem szükséges a CPU-nak külön-külön vezetékrendszer kialakítani ez egyes memóriaelemek között. Az illesztést szabványos felületeken lehet megvalósítani, így más-más gyártóktól származó alapelemek esetén is jól alkalmazható. A sínvezérlő jelei alapján egyszerűen elkülöníthetőek a CPU írási és olvasási szándékai. Lehetőséget ad arra is, hogy különböző építőkockákból is felépíthető legyen az igények szerinti méret, és szélesség.

A szokásos jelek MRD, és MWR, a memória olvasásra és írásra. Ilyen esetben a sínrendszeren üzemelő I/O eszközök IORD és IOWR jelekkel kezelhetőek. Ha csak általános RD és WR vezetékekkel kezelnek egy memóriát, akkor e kettő mellett használják az M/(I/O negált) jelvezetéket is, ami magas szint esetén a memóriára vonatkozik. Ilyenkor az I/O eszközök nem végeznek műveletet. Ha ez a vezeték alacsony szinten van, akkor a memória hagyja figyelmen kívül az RD és WR állapotát, mert az az I/O eszközre vonatkozik.



MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN A képen látható memória chip a fenti példánál maradva 16 címbemenettel rendelkezik.

CE: itt tudjuk megmondani a chipnek, hogy működjön vagy csináljon úgy mint ha itt sem lenne.

A CE, RD, WR technikailag negáltak, mint az a képen látszik.





Elvben elég lenne egy M/(I/O negált) és egy RD/(WR negált) vezetékpáros, de ilyenkor nem volna soha inaktív állapot, vagy a memória, vagy az I/O minden pillanatban valamilyen módon érintett lenne. Az első (4 vezetékes) megoldásnál, ha valamennyi vezeték inaktív, nincs semmilyen művelet. A második (3 vezetékes) megoldásnál ez az RD és WR inaktív állapotnál fordul elő.



TMEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN öbb memória tokból álló rendszerek használata nagyobb méret kialakítására:

A fenti példa egy 64 K- s (216) memóriát hoz példának.

(A képen azért van a CE mindig igazra kötve mert csak ő az egyedüli lapka, agy mindig aktív…, pl. Commodore 64 )


De maradva az órai példánál mi van, ha bemegyünk a boltba és a boltos csak 2 32 K-st tud adni nekünk.

A 64-es címtartománya: 0000 – FFFF (16 címbittel ennyit tudunk megcímezni)

Egy 32-es címtartomány: 0000 – 7FFF

Még egy 32-esnek: 8000 - FFFF

Ha megnézzük a két 32-es címtartományát láthatjuk, hogy tulajdonképpen balról az első 15 bitben megegyezik a címtartományuk, viszont a 16. az elsőnél 0, a másodiknál egyes.

0000 - 7FFF: 0000 0000 0000 0000 – 0111 1111 1111 1111

8000 – FFFF: 1000 0000 0000 0000 – 1111 1111 1111 1111

Vagyis 15 címbittel egyenként mind a két tokot meg tudjuk címezni és a fennmaradó egy vezetéket pedig arra használjuk, hogy megmondja, melyik tokot akarjuk használni. Mégpedig úgy, hogy az A15-s (vagyis a 16. most éppen nem kellő címvezeték) lesz mindkettő engedélyező jele. Azonban ezt az egyik tok rendesen meg fogja kapni, a másiknak viszont negáljuk ezt a jelet.



ÍMEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN gy ezzel a módszerrel nem kell minden egyes tokot külön összekötni a CPU-val.


Látható, hogy a címbiteket dinamikusan osztjuk szét attól függően, hogy éppen mennyi memória tok van működtetve.


Ezek szerint a címvezetékeket feloszthatjuk:

  1. Chip-en belüli

  2. Chip kiválasztó vezetékekre


A határ az építőelemek méretétől függ:

  1. 64K: 16-0

  2. 32K: 15-1


Nem homogén elemeknél (pl. 32+1+1) nem lehet határt húzni.




Cím multiplexelés, CAS, RAS, dinamikus memória kezelése :


MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN

Az egész célja hogy kevesebb láb legyen:

22 * 22 = 24 = 16







Ismeretlen helyről szerzett más anyag:


MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN

A dinamikus memóriák multiplexelt címzési módszert igényelnek. A címet a memória időben nem veheti át egyszerre, mint a statikus memóriáknál, hanem két részletben. A bemutatott dinamikus memóriában levő 65536 cella megcímzésére egy 16 bites címszó szükséges ( 216 = 65536 ), amelyet az A7 \x85 A1 A0 címbemeneteken keresztül két egyenlő 8 bites részletben kell megadni. Az első rész a sorcím (Row Address), a második rész pedig az oszlopcím (Column Address). A teljes 16 bites címet két 8 bites puffer tárolja, az egyik a sor puffer a másik pedig az oszlop puffer. A puffer (buffer, latch) egy olyan egyszerű statikus memória, amely egy szót képes tárolni.

A tárolást a szó hossza által meghatározott számú D flip-flop végzi. Az adatbeírást a flip-flopok közös órajele vezérli. Ennek hatására mindegyik flip-flop a D adatbemenetén levő bit értékét átveszi és a következő órajelig megtartja. A pufferek órajeleit a dinamikus memóriavezérlő áramköre állítja elő RAS (Row Address Strobe) sorcím-beíró jelből, CAS (Column Address Strobe) oszlopcím-beíró jelből és WE (Write Enable) adatbeírás-engedélyező jelből. RAS jel hatására a vezérlő áramkör beírja a sorcímet (a cím kisebb helyiértékű 8 bitjét) a sorpufferbe és vezérli a sordekódolót a megfelelő sor kijelölése végett. CAS jel hatására az oszlopcímet (a cím nagyobb helyiértékű 8 bitjét) írja be az oszlop pufferbe és vezérli az oszlopdekódolót a megfelelő oszlop kijelölése végett. A kijelölt sor és oszlop találkozásánál levő cella hozzáférhetővé válik adatbeírás, adatkiolvasás és felfrissítés számára is. Az adatbeírást WE =0, míg a kiolvasást WE =1 határozza meg. A kimenet csak akkor válik aktívvá, ha OE (Output Enable) adatkimenet-engedélyező vezérlőjel logikai 0 szinten van, egyébként a harmadik, nagyimpedanciás állapotban található. A RAS és CAS órajelek megfelelően kombinációja egy megcímzett sor felfrissítését teszi lehetővé. Az egész memóriamátrix felfrissítése az összes 256 sor felfrissítéséből áll. A dinamikus RAM vezérlőjelei között fennálló bonyolult időbeni összefüggést, amelynek a betartása hardver tervezésnél elengedhetetlen, az adatlapok részletes tanulmányozásával ismerhetjük meg.MEMÓRIÁK CSOPORTOSÍTÁSA RAM (RANDOM ACCESS MEMORY) F EZ JOBBAN





Tags: (random access, jobban, access, memory), csoportosítása, memóriák, (random