Paměti počítače ROM, RAM Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje. Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na čipu procesoru jsou používány pro krátkodobé uchování právě zpracovávaných informací vnitřní (interní) paměti osazené většinou uvnitř základní jednotky realizovány pomocí polovodičových součástek jsou do nich zaváděny právě spouštěné programy (nebo alespoň jejich části) a data, se kterými tyto programy pracují vnější (externí): paměti realizované většinou za pomoci zařízení používajících výměnná média v podobě disků či magnetických pásek záznam se provádí většinou na magnetickém nebo optickém principu slouží pro dlouhodobé uchování informací a zálohování dat
Parametry pamětí Kapacita množství informací, které je možné do paměti uložit Přístupová doba doba, kterou je nutné čekat od zadání požadavku, než paměť zpřístupní požadovanou informaci Přenosová rychlost množství dat, které lze z paměti přečíst (do ní zapsat) za jednotku času Statičnost / dynamičnost statické paměti dynamické paměti Destruktivnost při čtení destruktivní při čtení nedestruktivní při čtení Energetická závislost / nezávislost energeticky závislé energeticky nezávislé
-1-
Přístup sekvenční přímý Spolehlivost střední doba mezi dvěmi poruchami paměti Cena za bit cena, kterou je nutno zaplatit za jeden bit paměti
Vnitřní paměti Paměť se skládá z jednobitových paměťových míst tzv. binárních buněk (binary cells). Určitý počet binárních buněk tvoří paměťovou buňku. Paměťové buňky jsou lineárně uspořádány. Jejich pořadové číslo se nazývá adresou. Na základě adresy jsou elektronické obvody schopny přečíst obsah odpovídající paměťové buňky nebo do ní zapsat nový obsah. Paměťová buňka je tedy nejmenší samostatně adresovatelná jednotka paměti. Je-li velikost paměťové buňky m bitů a má-li paměť n adres, pak jsou binární buňky uspořádány tak, že tvoří matici n×m .
Dekodér
Adresa
Adresový vodič
Datový vodič
Operační zesilovač Paměťová buňka
b1
b2
-2-
b3
b4
RAM (random access memory) je paměť s náhodným (přímým) přístupem. Jsou dva základní druhy RAM paměti: RWM (read write memory), tj. paměť, ze které se dá číst a do které se dá rovněž zapisovat ROM (read only memory), tj. paměť, ze které lze pouze číst. V počítačové literatuře se obvykle paměť RAM RWM označuje jako RAM a paměť RAM ROM jako ROM.
Paměti ROM ROM jsou paměti, ze kterých lze standardně jen číst. Jejich obsah lze měnit jen zvláštním a značně omezeným způsobem. Existují následující druhy pamětí ROM: ROM PROM EPROM EEPROM Flash
(Read Only Memory) (Programmable ROM) (Erasable PROM) (Electrically Erasable PROM)
Paměti ROM ROM - Read Only Memory Paměti určené pouze pro čtení uložených informací Informace jsou do těchto pamětí pevně zapsány při jejich výrobě Potom již není možné žádným způsobem jejich obsah změnit Jedná se o statické a energeticky nezávislé paměti Paměťová buňka ROM (pomocí diody): Adresový vodič
Datový vodič
Datový vodič
Adresový vodič
Hodnota „0“
Hodnota „1“
-3-
Paměťová buňka ROM (pomocí bipolárního tranzistoru): U+
U+ R
R
T
Datový vodič
Adresový vodič
Datový vodič
Adresový vodič
T
Hodnota „0“
Hodnota „1“
Paměťová buňka ROM (pomocí tranzistoru MOS): U+
U+
T
Datový vodič
Adresový vodič
Datový vodič
Adresový vodič
T
Hodnota „0“
Hodnota „1“
Realizace paměti ROM – 4x3 Paměť ROM má po naprogramování obsahovat následující hodnoty: adresa x y
obsah binárně
obsah dekadicky
0
0 0
1
1
0
6
1
0 1
0
0
1
1
2
1 0
1
0
1
5
3
1 1
1
1
1
7
-4-
Realizace paměti ROM:
110 x
DEC 2×4
001 101 111
y
o2
o0
o1
Paměti PROM PROM - Programable Read Only Memory Neobsahují po vyrobení žádnou pevnou informaci Příslušný zápis informace provádí uživatel Zápis je možné provést pouze jednou a poté již paměť slouží stejně jako paměť ROM Zápis informace se provádí vyšší hodnotou elektrického proudu (cca 10 mA), která způsobí přepálení tavné pojistky Paměti PROM představují statické a energeticky nezávislé paměti Paměťová buňka PROM (pomocí diody a pojistky): Adresový vodič
Datový vodič
Datový vodič
Adresový vodič
Hodnota „1“
Hodnota „0“
-5-
Pokud paměť není naprogramována, jsou všechny diodové přechody neporušené a obsah všech bitů v paměti je 1. Pokud je totiž vybrána určitá paměťová buňka, je na jí odpovídajícím výběrovém vodiči 1 a ta se přenese přes diodové přechody na výstupy.
x
DEC 2×4
y
o2
o1
o0
Naprogramování paměti spočívá ve zničení (proražení, přerušení) těch diodových přechodů, které odpovídají bitům, které mají obsahovat 0. Po svém zničení se diodový přechod stane nevodivým a v místě zničeného diodového přechodu není sběrný vodič propojen s výběrovým vodičem.
x
DEC 2×4
y
o2
-6-
o1
o0
Realizace paměti PROM – 4x3 Paměť ROM má po naprogramování obsahovat následující hodnoty: adresa x y
obsah binárně
obsah dekadicky
0
0 0
1
1
0
6
1
0 1
0
0
1
1
2
1 0
1
0
1
5
3
1 1
1
1
1
7
Realizace paměti PROM:
110 DEC 2×4
x
001
y
101 111
o2
o1
o0
Pokud se obsah paměti 2n×m nemění, lze její chování popsat m booleovskými funkcemi s n argumenty. Proto se booleovské funkce často realizují pamětí PROM. Např. následující booleovské funkce lze realizovat pomocí PROM 4 ×3. o2 = x´y´ + xy´ = y´ o1 = x´y´ + xy o0 = x´y + xy = y o2
o1
o0
x
1
1
0
y
0
0
1
1
0
0
0
1
1
DEC 2×4
o2
-7-
o1
o0
Paměti EPROM EPROM - Eraseable PROM Statické energeticky nezávislé paměti určené pro čtení i zápis informací Zapsané informace je možné vymazat působením ultrafialového záření Na speciálním zařízení lze přes okénko v pouzdře osvítit uvnitř umístěný čip ultrafialovým zářením. Asi po 15 minutách je obsah všech bitů nastaven na hodnotu 1 a paměť lze znovu naprogramovat. Realizovány pomocí speciálních unipolárních tranzistorů, které jsou schopny na svém přechodu udržet elektrický náboj po dobu až několika let
Paměti EEPROM EEPROM - Electrically EPROM Mají podobné chování jako paměti EPROM, tj. jedná se o statické, energeticky nezávislé paměti, které je možné naprogramovat a později z nich informace vymazat Vymazání se provádí elektricky a nikoliv pomocí UV záření Vyrábí se pomocí speciálních tranzistorů vyrobených technologií MNOS (Metal Nitrid Oxide Semiconductor) Jedná se o tranzistory, na jejichž řídící elektrodě (Gate) je nanesena vrstva nitridu křemíku (Si3N4) a pod ní je umístěna tenká vrstva oxidu křemičitého (SiO2). Buňka paměti EEPROM pracuje na principu tunelování (vkládání) elektrického náboje na přechod těchto dvou vrstev. Paměťová buňka EEPROM (matice 2 × 2):
U+ R
R Adresový vodič
Datový vodič
-8-
Paměti Flash Flash - obdoba pamětí EEPROM Paměti, které je možné naprogramovat a které jsou statické a energeticky nezávislé Vymazání se provádí elektrickou cestou, jejich přeprogramování je možné provést přímo v počítači Paměť typu Flash tedy není nutné před vymazáním (naprogramováním) z počítače vyjmout a umístit ji do speciálního programovacího zařízení
-9-
Paměti RAM RAM (RWM) - Random Access Memory – Read/Write Memory Paměti určené pro zápis i pro čtení dat Jedná se o paměti, které jsou energeticky závislé Podle toho, zda jsou dynamické nebo statické, jsou dále rozdělovány na: DRAM – Dynamické RAM SRAM – Statické RAM
Paměti SRAM SRAM - Static Random Access Memory Uchovávají informaci v sobě uloženou po celou dobu, kdy jsou připojeny ke zdroji elektrického napájení Binární buňka obsahuje S-R nebo D klopný obvod Mají nízkou přístupovou dobu (1 – 20 ns) Jejich nevýhodou je vyšší složitost a z toho plynoucí vyšší výrobní náklady Jsou používány především pro realizaci pamětí typu cache (L1, L2 i L3) – malé rychlé paměti Binární buňka statické RAM ds (decoder select) je výběrový vstup, jehož prostřednictvím se binární buňka vybírá (aktivizuje) w/r (write/read) určuje, zda se bude do binární buňky zapisovat nebo zda se bude z ní číst i (input) je vstup do paměti o (output) je výstup z paměti
ds (decoder select)
ds o (output)
i (input) D
Q
CP
Q´
i
BC
w/r
w/r (write/read)
- 10 -
o
Statická paměť RAM (SRAM) – 4x3 A0 , A1 jsou adresové vstupy RD/WR (read/write) – čtení nebo zápis CS (chip select) určuje zda paměť jako celek bude vůbec aktivní. OE (output enable) určuje zda výstupy z vybrané paměťové buňky budou přes třístavové buffery připojeny na výstupy obvodu O2 , O1 , O0 I2 , I1 , I0 jsou vstupy, na které se přivádí data, která se budou do paměti zapisovat. O2 , O1 , O0 jsou výstupy na které paměť v režimu čtení přenese obsah čtené paměťové buňky. I2 DEC 2×4
A1
I1
I0
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
A0
CS O2 O1
RD/WR
O0 OE
- 11 -
Činnost paměti při čtení Na začátku je CS =0 Na adresové vstupy je vložena adresa buňky, z které se bude číst. Na vstupu RD/WR se nastaví 1 OE nastaví na 1. V okamžiku, kdy je třeba uskutečnit čtení, změní se hodnota CS z 0 na 1 a tím se připojí výstupy z vybrané paměťové buňky na výstupy paměti O2 , O1 , O0 . Činnost paměti při zápisu Na začátku je CS =0. Na adresové vstupy je vložena adresa buňky, z které se bude číst. Na vstupy I2 , I1 , I0 jsou uložena zapisovaná data. Na vstupu RD/WR se nastaví 0. V okamžiku, kdy je třeba uskutečnit zápis, změní se hodnota na vstupu CS z 0 na 1. Paměť na to reaguje zápisem hodnot, které jsou na vstupech I2 , I1 , I0 , do vybrané paměťové buňky.
Paměti DRAM DRAM - Dynamic Random Access Memory Informace je uložena pomocí elektrického náboje na kondenzátoru Tento náboj má však tendenci se vybíjet i v době, kdy je paměť připojena ke zdroji elektrického napájení Proto je nutné periodicky provádět refresh, tj. oživování paměťové buňky Buňka paměti DRAM je velmi jednoduchá a dovoluje vysokou integraci a nízké výrobní náklady Používána k výrobě operačních pamětí Její nevýhodou je však vyšší přístupová doba (10 – 70 ns) způsobená nutností provádět refresh a časem potřebným k nabití a vybití kondenzátoru
- 12 -
Buňka paměti DRAM
Adresový vodič
Datový vodič
T C
Paměti DRAM jako operační paměť Operační paměti mají ve srovnání s jinými typy vnitřních pamětí podstatně vyšší kapacitu ⇒ nutnost jiné konstrukce Paměti DRAM jsou konstruovány jako matice, v nichž se jedna paměťová buňka zpřístupňuje pomocí dvou dekodérů Řadič operační paměti adresu rozdělí na dvě části, z nichž každá je přivedena na vstup samostatnému dekodéru (jeden dekodér vybere řádek a druhý sloupec) Obvody operačních pamětí pak bývají realizovány jako matice, např. 1024 × 1024 buněk (kapacita 1 Mb).
Adresový vodič
Adresa řádku
Řadič paměti
Fyzická adresa
Adresa sloup.
Datový vodič
Operační zesilovač 1b
- 13 -
Protože paměťové obvody nemohou mít příliš velký počet vývodů, je nutné, aby adresa řádku i sloupce byla předávána po stejné sběrnici Platnost adresy řádku a sloupce na sběrnici je dána (potvrzována) signály: RAS (Row Access Strobe): adresa řádku CAS (Coloumn Access Strobe): adresa sloupce
RAS CAS Adresa
Row
Col
Data
Row Data
t1
t2
- 14 -
t3
t4