Documente Academic
Documente Profesional
Documente Cultură
Memorii
RAM permite stocarea unor cantiti mult mai mari de memorie. Trebuie rezolvate urmtoarele probleme:
interfaarea cu memoria implementarea ierarhizarea cipurilor
RAM capabiliti
n general, o memorie trebuie s fie minimum capabil:
s stocheze o valoare s permit citirea valorii stocate s permit rescrierea valorii stocate
RAM trebuie s ndeplineasc cerinele de mai sus, dar avnd n vedere c stocheaz mai multe valori, deci se asociaz o adres fiecrei locaii de memorie i atunci se redefinesc cerinele: RAM trebuie s fie capabil:
s stocheze mai multe cuvinte, cte unul la fiecare adres s permit citirea cuvintelor stocate la orice adres s permit rescrierea cuvintelor stocate, indiferent de adres
Copyright Paul GASNER 3
ADRS DATA CS WR
OUT
CS 0 1 1
WR x 0 1
CS (Chip Select) activeaz sau dezactiveaz RAM ADRS adresa (locaia) de memorie scris sau citit WR selecteaz citirea sau scrierea la adresa aleas
citire WR=0 i OUT este valoarea n-bit stocat la ADRS scriere WR=1 i valoarea n-bit de la DATA este stocat n memorie
Copyright Paul GASNER 4
ADRS DATA CS WR
OUT
De exemplu, o memorie 224 x16 RAM conine 224=16M cuvinte, fiecare de lungime 16 bits
RAM are nevoie de 24 linii de adres capacitatea total de stocare este 224 x16=228 bii
Copyright Paul GASNER 5
Mrimi utilizate
K M G Prefix Baza 2 Kilo 210 = 1,024 Mega 220 = 1,048,576 Giga 230 = 1,073,741,824 Baza 10 103 = 1,000 106 = 1,000,000 109 = 1,000,000,000
O memorie 224 x16=228 bii = 224bytes=32MB Un sistem care utilizeaz 32 bii pentru adrese poate accesa aproximativ 4 miliarde de locaii
dac o locaie poate stoca un byte, atunci sistemul poate accesa 4GB RAM a nu se confunda RAM cu memoria virtual de pe HDD swap
Copyright Paul GASNER
Adres 00000000 00000001 00000002 00000003 ... ... ... ... ... ... ... ... ... ... FFFFFFFC FFFFFFFD FFFFFFFE FFFFFFFF
Date
Operaia de citire
Pentru a citi din memorie, circuitul de control (controller de memorie) trebuie s:
activeze cipul prin CS=1 selecteze operaia de citire WR=0 trimit adresa dorit pe magistrala de adrese ADRS citeasc coninutul adresei specificate la ieirea OUT
ADRS DATA CS WR
OUT
Operaia de scriere
Pentru a citi din memorie, circuitul de control (controller de memorie) trebuie s:
activeze cipul prin CS=1 selecteze operaia de scriere WR=1 trimit adresa dorit pe magistrala de adrese ADRS trimit datele pentru stocare pe magistrala de date DATA
ADRS DATA CS WR
OUT
Memoria static
Exist mai multe ci de implementare hardware a RAM
memoria static utilizat n cache i video (cu excepia ultimelor generaii) memoria dinamic
Memoria static este construit cu ajutorul latch-urilor (la nivel de bit) i nu a flip-flop-urilor:
un latch necesit de cel puin 2 ori mai puine componente dect un flip-flop (are nevoie de 2 pori NAND sau NOR)
cu ct sunt mai puine componente, cu att circuitul este mai rapid, fr distorsiuni sau alte pierderi, mai fiabil i consum mai puin energie
Scrierea:
dac CS=1 i WR=0, atunci C=0 i latch-ul D i pstreaz starea coninutul latch-ului aprea la ieirea OUT
10
RAM 4 bit
Cip 4x1 RAM
ADRS are 2 bii Cuvintele conin doar 1 bit, deci DATA i OUT sunt pe 1 bit Selectarea celulei se face prin decodorul legat la porturile de activare CS pe baza adresei introduse Numai o singur celul poate fi scris sau citit la un moment dat
Copyright Paul GASNER 11
Conectarea ieirilor
Nu este recomandat conectarea ieirilor ntre ele, deoarece valori diferite ale acestora conduc la conflicte (logice i electrice) conflict
12
Buffer 3 stri
EN 0 1 1 IN x 0 1 OUT Deconectat 0 1
Ieirea unui buffer 3 stri (three-state buffer) poate lua 3 valori, spre deosebire de porile clasice Deconectat semnific absena oricrui semnal la ieire, astfel nct OUT poate fi conectat n siguran la un alt semnal Stare deconectat este o stare de impedan ridicat
13
Conectarea bufferelor
Se pot interconecta ieirile bufferelor doar dac la un moment dat numai unul dintre ele este activ
dac decodorul este dezactivat, atunci toate bufferele sunt dezactivate i toate ieirile vor fi deconectate cnd decodorul este activat, doar un singur buffer este activ i valoarea de la intrarea sa va fi transmis la OUT
14
4x4 RAM
15
18 linii la adrese
primii 2 bii cei mai semnificativi fiind la decodor i selecteaz celula de memorie ceilali 16 bii merg la cipurile de 64K
16
Domeniile de adrese
8
16
11 1111 1111 1111 1111 (0x3ffff) ... 11 0000 0000 0000 0000 (0x30000) 10 1111 1111 1111 1111 (0x2ffff) ... 10 0000 0000 0000 0000 (0x20000) 01 1111 1111 1111 1111 (0x1ffff) ... 01 0000 0000 0000 0000 (0x10000) 00 1111 1111 1111 1111 (0x0ffff) ... 00 0000 0000 0000 0000 (0x00000)
17
18
Memorii dinamice
Memoriile dinamice folosesc condensatori pentru stocarea informaiilor
prezena sarcinii electrice semnific 1 logic absena sarcinii electrice semnific 0 logic
Consensatorii necesit rencrcare permanent de unde numele de memorie dinamic DRAM Memoria dinamic are dimensiuni fizice mult mai mici dect memoria static:
stocarea unui bit necesit un condensator i un tranzistor la memoria dinamic, pe cnd la cea static sunt necesari 4+6 tranzistori
19
SDRAM
Synchronous DRAM SDRAM Cipurile de memorie sunt organizate n module i conectate la CPU printr-o magistral de 64 bii (8 bytes) Viteza: PC66, PC100, PC133 aka 66MHz, 100MHz, 133MHz Limea de band:
PC100: 100MHz x 8bytes = 800MB/ s PC133: 133MHz x 8bytes = 1GB/s
DDR-RAM
Double Data Rate RAM Transferul de date se face foarte asemntor ca la SDRAM, dar se folosesc ambele fronturi (pozitiv i negativ) de la semnalul de ceas La un bus de 100-133MHz, memoria apare ca 200-266MHz
PC1600 = DDR 200MHz: 200MHz x 8bytes = 1600MB/s PC2100 = DDR 266MHz: 266MHz x 8bytes = 2100MB/s PC3200 = DDR 400MHz: 400Mhz x 8bytes = 3200MB/s
RDRAM
Rambus Dynamic RAM Utilizate Playstation2 i primele PC cu Pentium4 Busul de date este de 16 bii i memoria funcioneaz la 400MHz (ambele fronturi de ceas)
Rata de transfer de 1.6GB/s Duble channel 3.2GB/s
22
Pentru a mbunti viteza, procesoarele utilizeaz memorie static intern cache cu rolul de memorie tampon
Procesor 8088, 8086 80286, 80386SX 80386DX, 80486, Pentium, Pentium MMX, K5, K6 etc. Pentium Pro, Pentium II, III Pentium 4
36
64 GB
23
ROM
Read Only Memory ROM este un tip special de memorie, al crei coninut nu se modific (uzual)
nu prezint port de activare a scrierii WR ca la RAM stocarea datelor n ROM se efectueaz cu unelte speciale
ADRS CS
OUT
24
ROM. Funcii
ROM este un circuit combinaional, nu secvenial Poate fi privit ca un circuit combinaional care are la intrare adresa locaiei de memorie, iar la ieire coninutul locaiei respective Tabela ROM prezint coninutul memoriei, adic datele stocate la fiecare adres Tabela ROM este ca o tabel de adevr i se poate construi un circuit combinaional pe baza acesteia
Copyright Paul GASNER
Adresa A2A1A0 000 001 010 011 100 101 110 111
Data V2V1V0 000 100 110 100 101 000 011 011
25
ROM cu decodoare
Tabela de adevr poate fi convertit n circuit clasic combinaional cu decodoare
X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 C S 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1
Poate fi privit ca o memorie care stocheaz suma i bitul de depire conform tabelei de adevr
Copyright Paul GASNER 26
Arhitectura ROM
ntr-adevr, ROM-urile se bazeaz pe implementarea cu decodoare a funciilor
un ROM nescris (blank) este o colecie de decodoare i pori OR conexiunile dintre intrrile porilor i ieirile decodoarelor sunt programabile
A scrie sau programa un ROM nseamn realizarea conexiunilor dorite ntre decodor i pori
27
Exemplu ROM
Un ROM 8x3 pentru implementarea funciilor V2V1V0
V2 = m(1,2,3,4)
V1 = m(2,6,7)
V0 = m(4,6,7)
28
Exemplu ROM
Un ROM 8x3 pentru implementarea funciilor V2V1V0
A2 A1 A0
V2 = m(1,2,3,4)
V1 = m(2,6,7)
V0 = m(4,6,7)
29
A2 A1 A0
V2
V1
V0
30
A2 A1 A0
V2
V1
V0
31
O matrice programabil programmable logic array PLA nglobeaz decodorul n partea programabil a ROM i se aleg doar produsele necesare implementrii funciei (nu neaprat mintermeni)
Copyright Paul GASNER 32
Inputs
OR array
AND array
Outputs
33
0 1
0 0 Z
Y 0 0 1 1
34
V1 = xyz + xy
0 0 0 0 Z Y 0 1 1 1
V0 = xyz + xy
0 1 0 0 Z Y 0 0 1 1
35
Exemplu PLA
A2 A1 A0
V2
V1
V0
36
PLA. Concluzii
PLA k x m x n are k linii pentru adres, 2k locaii fiecare stocnd un cuvnt pe n bii PLA k x m x n poate implementa n funcii cu k intrri; funciile trebuie s poat fi exprimate prin maximum m termeni produs PLA nu permite stocarea tuturor valorilor posibile Deoarece se pot alege produsele generate, PLA are un numr mult mai mic de pori logice i intrri n pori dect ROM ROM poate implementa toate funciile posibile cu k intrri, nu i PLA Implementarea unei funcii cu memorii reduce practic la zero timpul de calcul
Copyright Paul GASNER 37