Mälu interfeisid Arvutikomponendid Ergo Nõmmiste
Mälu liigid Read-only memory (ROM) Flash memory (EEPROM) Static random access memory (SRAM) Dynamic random access memoty (DRAM) 1 kbaidine mälu vajab 10 aadressbitti, 1Mbaidine 20 aadressbitti Chip select (CS), Chip Enable (CE), Select (S)
ROM EPROM-erasable programmable readonly memory; PROMprogrammable readonly memory; RMM- read mostly memory (flash memory); EEPROMelectrically erasable programmable ROM; 2716, 2k*8 EPROM EAROM- electrically alterable ROM
EEPROM EEPROM transistor on nagu NMOS transistor, aga kahe paisuga, teine nendest on nn. ujuv (floating) ning pole ühendatud mingi muu transistori osaga. Programmeerimisel antakse V e-le normaalsest kõrgem pinge (tavaliselt 12 V). Selle tagajärjel tekib Fowler- Nordheim tunneleerimine, kus osa elektrone liigub isoleeritud alasse. Normaaloperatsioonis ei lase need tunneleerunud elektronid enam teisi elektrone kanalisse ja transistor on välja lülitatud. Kustutamine toimub vastandpolaarse pingega.
ROM aegdiagramm
Staatiline RAM (SRAM) 4016 2k*8 SRAM Juurdepääsu aeg alla 250 ns
Staatiline RAM (SRAM) 62256 32k*8 SRAM. Juurdepääsu aeg 100 ns. Tänapäevaste SRAM-ide juurdepääsu ajad on alla 10ns.
Dünaamilised RAM-id (DRAM) 41256 256k*1 DRAM 70 ns juurdepääsuaeg CAS- column address strobe RAS- row address strobe Värskendamine (refresh) on vajalik iga mõne ms järgi
SIMM- Single in-line Memory Modules 30 pinnine SIMM on organiseeritud kui 4M*9 maatriks, 72 pinnine kui 4M*36 maatriks
DIMM- Dual in-line Memory Modules 168 bitine DIMM
Aadresside dekodeerimine Lihtne NAND dekooder, mid saab kasutada 2716 EPROM kivide dekodeerimiseks aadresside vahemikus FF800H-FFFFFH
74LS138 3-8 dekooder
74LS138 3-8 dekoodri kasutamine 2764 64k*8 mälusegmendi dekodeerimiseks Valitud aadresside vahemik on F0000H-FFFFFH
Topelt 2-4 dekooder (74LS139)
PROM-i kasutamine dekoodrina TPB28L42 512*8 PROM kui aadressdekooder
PROM-i kasutamine dekoodrina 82S147 PROM programmeerimine dekoodrina
PLA (programmable logic array) kasutamine dekoodrina Kolm terminit, mis tegelikult on sama funktsiooniga: PLA- programmable logic array; PAL- programmable array logic; GAL- gated array logic Sisuliselt on nad kombinatoorsete loogikaskeemide programmeeritavad maatriksid. Näiteks PAL16L8-10 fikseeritud sisendit, kask fikseeritud väljundit ja 6 pinni, mida saab programmeerida kas sisendi või väljundina.
PAL 16L8 kasutamine dekoodrina Dekodeeritakse kaheksa 2784 (8k*8) mäluelementi
8088 ja 80188 mälu interfeisid (baidi laiused) 8 2732 (4k * 8) EPROM kivi ühendatud 8088 protsessoriga. Kuna 2732 on aeglasem kui nõutud, on vajalik genereerida 1 (200ns) ooteolek.
SRAM 62255 (32k*8) ühendamine 8088-ge Kuna SRAM on kiire, siis ooteolekuid ei pea genereerima
8088 ühendamine flash mäluga 28F400 28F400 on kasutatav kas 512k*8 või 256k*16 konfiguratsioonis. VPP = 12V ja PWD (power down) kasutatakse programmeerimisel.
Paarsuskontroll 9 bitine paarsusgeneraator/detektor
Paarsuskontroll 64kbaiti mälusüsteem, mis sisaldab paarsuskontrolli
Veaparandus ja 74LS636 kivi Töötab, kui on vead ühes bitis, kahe biti vea korral korrektsioon ei õnnestu. ECC (error correction code). 8 andmete I/O pinni, viis kontroll I/O pinni, kaks kontrollpinni (S0 ja S1), kaks veaväljundit-single error flag SEF ja double error flag (DEF)
Vea detekteerimine ja parandus kasutades 74LS636 kivi
8086, 80186 ja 80286 mälu interfeisid (sõna laiused) Paaris- ja paaritud aadressid
Eraldi dekoodrid mälu blokkidele (banks) 64 kb mälukivid. 24 bitine aadresssiin. Kogu mälu suurus on 1 Mb, aadresside vahemik 000000H- 0FFFFFH
Eraldi kirjutamisstroobid mälublokkidele Alternatiiv iga mälubloki eraldi dekodeerimisele on kasutada kirjutamisstroobi.
Eraldi kirjutamisstroobid mälublokkidele Mälu paigutub aadressidele 060000H-06FFFFH Mälukivid on 62256 32Kb kivid
Mälusüsteem 8086 protsessorile 27128 on 16k*8 EPROM (paigutub aadressidele F0000H-FFFFFH), 62256 on 32*8 SRAM, (paigutub aadressidele 00000H-1FFFFH)
Mälusüsteem 80286 protsessorile 27512 on 64k*8 EPROM (paigutub aadressidele FC0000H-FFFFFFH), 62256 on 32*8 SRAM, (paigutub aadressidele 000000H-01FFFFH)
32 bitised mälu interfeisid (80386DX ja 80486) Mälublokke juhitakse bus enable (BE) signaalidega, mitte aadresssiini bittidega A0 ja A1
Kirjutusstroobid (writestrobes) 32 bitisele süsteemile
Näide SRAM mälust 80486 protsessorile 256kb SRAM mälu (8 kivi 32k*8) 32 bitisele siinile. Mälu paigutub aadressidele 02000000H-0203FFFFH
64 bitine mälu interfeis (alates Pentiumist)
Kirjutusstroobid 64 bitise interfeisi korral
Näide mälusüsteemist alates Pentiumist 27512 on 64k*8 EPROM. Dekooder paigutab nad aadressidele FFF80000H- FFFFFFFFH
DRAM i värskendamine (refreshing) 256*1 DRAM i sisemine struktuur. Värskendamine toimub kas lugemis- või kirjutamistsüklite ajal. Mäluelementide, mida hetkel ei loeta ega kirjutada värskendamine saab toimuda paralleelselt aktiviseerides RAS stroobi. Mälu 256k*1 korral peab RAS stroob ilmnema vähemalt 15.6 µs järel. See teeb 5MHz kellaga protsessorile 5% ajakaotuse.
DRAM i värskendamine (refreshing) Aegdiagramm
Mälukontroller 82C08 Omab 18 aadressbitti (AL0-8 ja AH0-8). Aadressväljundid DRAM-I jaoks on AO0-AO8. RAS ja CAS genereeritakse sisemiselt CLK, S1 ja S2 signaalide abil. AA/XA kasutatakse kui on vaja genereerida ooteolekuid.
Näide 82C08 kasutamisest 1Mb mälusüsteem kasutab 4*256k SIMM i. Mälu on dekodeeritud aadressidele 000000H-0FFFFFH