VI.) Memóriák, memória szervezés Digitális technika VI.) Memóriák, memória szervezés
Általános memória modell Tömb Cella 1 db cella 1 bit tárolására képes 1 rekesz (sor) K db cellából épül fel. 1 sor mérete K bit. Ettől függően léteznek: Byte szervezésű (K = 8) Szó szervezésű (K = 16) Duplaszó szervezésű (K = 32) Ez adja meg párhuzamos hozzáférésű memóriáknál az adatbusz lábainak számát. A memória tömb N = 2L db rekeszből épül. Ez adja meg párhuzamos címzésű memóriáknál a címbusz lábainak számát. Memória tárolókapacitása = tárolt bitek száma = 1 rekesz mérete * rekeszek darabszáma = K * N bit Vezérléstől függően 3 féle állapot: Írás: R = 1, W = 0 Olvasás : R = 0, W = 1 Üresjárat / tárolás: R = 1, W = 1 Rekesz Cím (Address) Adat (Data) N db memória rekesz Vezérlés R W CLK
Memória szervezése II) Rekesz felépítése cellákból I) Cella megvalósí-tása SR kapuval (RAM esetén) II) Rekesz felépítése cellákból O O0 O1 O2 OK-1 Q R S 1 2 K-1 & & W I0 I1 I2 IK-1 W I
III) Rekeszek tömbbé szervezése, vezérlő áramkör MUX MUX MUX Kombinációs hálózat & A0 A1 A2 & AL & W R D0 D1 DK
Memória paraméterek Memória szervezés. Pl.: 8k * 8 (←2L *K = N * K) Kapacitás = cellák száma = 2L * K = 64kb = 8 kB Hozzáférés: Párhuzamos → gyors Soros → lábszám csökkentése (lehet a cím és / vagy az adatbuszt is) Oka: 32 bites 2GB-os párhuzamos memória esetén K = 32, L = 29 lenne. Minimum 66 db lába lenne!!! Időzítés Írhatóság szempontjából Írható (R(ead) O(nly) M(emory)) Írható és olvasható (R(andom) A(ccess) M(emory))
Memória műveletek (szinkron) időzítése (párhuzamos hozzáférésű, független cím és adat vonalakkal) Olvasás CLK CLK IO/M IO/M AD0-K A0 -AL D0-DK AD0-K A0 -AL D0-DK W W R R Ready Ready
Memória hozzáférések M = 66 Q = 1 + 1 M = 38 Q = 1 + 1 M = 7 Q = 29+32 Address Data WR RE CLK Address/ Data ALE WR RE CLK Address Data WR RE CLK Address/ Data WR RE CLK M = 66 Q = 1 + 1 M = 38 Q = 1 + 1 M = 7 Q = 29+32 M = 6 Q = 29 + 32 512M x 32 (K =29, L=32) tömb esetén M: chip lábainak száma Q: 1 művelethez szükséges órajel periódusok száma
Soros hozzáférésű memóriák A0 S → P A1 A2 AL-1 D1 D0 D2 DK S ↔ P A CLK D W R
Memóriák kaszkádosítása 1) Szóhossz bővítés w 2 x 8k * 8 = 8k * 16 Adrr cs R w R w Adrr cs Adrr cs Data Data D0 D1 D2 DK-1 DK DK+1 DK+2 D2K-1 DK-2 DK-1 DK DK+1 DK+2 D2K-2 D2K-1 D0 D1 D2
2) Kapacitás bővítés 4 x 8k * 8 = 32k * 8 1 1 1 1 D0 D1 D2 DK-2 DK-1 CS Data Adrr R w 1 CS Data Adrr R w 1 CS Data Adrr R w 1 CS Data Adrr R w D0 D1 D2 DK-2 DK-1 AL+1 AL AL-1 A1 A0 D0 D1 DK-1
Memóriák csoportosítása Írás a gyárban Törlés nem lehetséges 1x felhasználó által is írható (beégethető) Törlés nem lehetséges Felhasználó által is írható Törlés 10”-es UV-s levilágítással Felhasználó által is írható Elektromosan törölhető Tápfesz nélkül elveszti a tartalmát Gyors Nem kell frissíteni Írás (beégetés) a gyárban Törlés nem lehetséges Tápfeszültség alatt is néha frissíteni kell Lassú Írás (beégetés) a gyárban Törlés nem lehetséges Nem illékony Illékony
PROM memóriák programozása +Ut Általában minden PROM beégethető memória írás előtt 1-eseket tartalmaz. Írásnál a tápfeszültségnél magasabb feszültségimpulzusokkal (12-21V) azokban a cellákban a biztosítékot átégetik, melyekre 0-át kell beírni. Programozás történhet Off-line (elsősorban párhuzamos) vagy In Circuit (elsősorban soros) módon. Programozók által használt interface-ek: - parallel port - RS232 - USB - … Napjaink intelligens programozóinál a folyamat: 1) Programozás (MVI A, 32D) 2) Fordítás (→ 0, 1) 3) Programozó csatlakoztatása 4) Memória kiválasztása (időzítés, feszültségszintek, stb automatikusan) BL
SRAM megvalósítása WL BL BL A tárolás 2 db szembekötött inverterrel történik. Az inverterek CMOS tranzisztorokból épülnek fel (M1, M2 és M3, M4). A tároló elemek 2 db hozzávezető tranzisztorral (M5, M6) WL = 1 esetén érhetők el írás és olvasási műveleteknél is. BL: Bit Line (bit beíró / kiolvasó vezeték ) WL: Word Line (kijelölő vonal)
DRAM Információ tárolása „C” kondenzátoron „1”-es beírás: „0” beírás: WL = 1 (T engedélyezése) BL = +Út (1) beadása (kondenzátor feltöltése) „0” beírás: BL = GND (0) beadása (kondenzátor kisütése) Adat kiolvasása: BL-en megjelenik a C-n lévő feszültség Memória minimális frissítési gyakorisága 64ms. 8196 rekeszt tartalmazó memóriánál 64ms/8196 = 7.8µs-onként kell 1-1 rekeszt frissíteni. WL T BL C GND
PC memóriák Szabványosításukat a JEDEC végzi. SDRAM: Synchronous Dynamic Random Access Memory fCLK = 66 / 100 /133 (/ 150) MHz DDR RAM: Double Data Rate Synchronous Dynamic Random Access Memory, sebesség növelése a műveletek az órajel le és felfutó élén való végzésével. fCLK = 100 / 133 /166 / 200 MHz fCLK = 100 MHz esetén 1600 MB/s DDR2 RAM: adatbusz sebesség 2X-ezve van a memória órajelből fCLK = 100 / 133 /166 / 200 / 266 MHz fCLK = 100 MHz esetén 3200 MB/s DDR3 RAM: tápfeszültség csökkentéssel 4X-es adatbusz sebesség fCLK = 100 MHz esetén 6200 MB/s
Memóriakártyák kialakítása EDO RAM SIMM 72-es modul:
SDRAM SIMM 168-as modul:
DDR RAM SIMM 184-es modul:
DDR2/3 RAM SIMM 240-es modul:
Flash típusú memóriák Nem illékony Elektromosan írható, törölhető Memória kártyákban, USB-s flash drive-okban (128GB!!!) 3D-s technológiával kialakított chipek 1: USB csatlakozó, 2: USB mikrokontroller, 3: tesztpontok, 4: Flash memória, 5: oszcillátor, 6: LED, 7: Írásvédő kapcsoló, 8: Hely másodlagos memória számára
Memóriák illesztése adott címről Ok: 1 Master-hez több memória IC kapcsolása Cél: 1 időben csak az egyiket lehessen megszólítani. Módszer: címtartományokat definiálunk. Olyan cím kiadása esetén, mely az adott memóriához tartozó címtartományba esik, engedélyezzük. Egyéb esetben a memória nagyimpedanciás állapotba kerül. Pl.: 0000H → 7FFFH: EEPROM 8000H → BFFFH: RAM C000H → FFFFH: Periféria IC Megoldás: Data Address EEPROM CS 1 A14 A15 Data Address RAM CS 1 A15A14….. A1 A0 0000.0000.0000.0000B 0111.1111.1111.1111B 1000.0000.0000.0000B 1011.1111.1111.1111B 1100.0000.0000.0000B 1111.1111.1111.1111B Data Address Periféria CS EEPROM RAM Periféria 1
Programozható logikai áramkörök I PAL: Programmable Array Logic, logikai műveletek megvalósítása digitális eszközben. Felépítés: PROM + kiegészítő logika. A A x B 1 B 1 Q A x B A Θ B 1 1 1 A x B 1
Programozható logikai áramkörök II FPGA: Field-Programmable Gate Array, programozható logikai blokkokat (~PAL → logikai kapuk, kombinációs funkciókat, FF-ok, memóriák) és programozható összeköttetéseket tartalmaz.