Paměti počítače 9.přednáška
Paměť 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
[email protected]
2
Paměť 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
[email protected]
3
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
[email protected]
4
Parametry pamětí Statičnost / dynamičnost statické paměti uchovávají informaci po celou dobu, kdy je paměť připojena ke zdroji elektrického napětí dynamické paměti zapsanou informaci mají tendenci ztrácet i v době, kdy jsou připojeny k napájení informace v takových pamětech je tedy nutné neustále periodicky oživovat, aby nedošlo k jejich ztrátě
[email protected]
5
Parametry pamětí Destruktivnost při čtení destruktivní při čtení přečtení informace z paměti vede ke ztrátě této informace přečtená informace musí být následně po přečtení opět do paměti zapsána nedestruktivní při čtení přečtení informace žádným negativním způsobem tuto informaci neovlivní
[email protected]
6
Parametry pamětí Energetická závislost / nezávislost energeticky závislé paměti, které uložené informace po odpojení od zdroje napájení ztrácejí energeticky nezávislé paměti, které uchovávají informace i po dobu, kdy nejsou připojeny ke zdroji elektrického napájení
[email protected]
7
Parametry pamětí Přístup sekvenční před zpřístupněním informace z paměti je nutné přečíst všechny předcházející informace přímý je možné zpřístupnit přímo požadovanou informaci Spolehlivost střední doba mezi dvěmi poruchami paměti Cena za bit cena, kterou je nutno zaplatit za jeden bit paměti
[email protected]
8
Vnitřní paměti
Organizace 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 .
[email protected]
10
Organizace paměti
Dekodér
Adresa
Adresový vodič
Datový vodič
Operační zesilovač Paměťová buňka
[email protected]
b1
b2
b3
b4 11
RAM paměť 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.
[email protected]
12
Paměti ROM
ROM paměti 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)
[email protected]
14
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
[email protected]
15
Paměti ROM Paměťová buňka ROM (pomocí diody):
Datový vodič
Hodnota „0“
[email protected]
Datový vodič
Adresový vodič
Adresový vodič
Hodnota „1“
16
Paměti ROM Paměťová buňka ROM (pomocí bipolárního tranzistoru): U+
U+ R
Hodnota „0“
[email protected]
T
Datový vodič
T
Adresový vodič
Datový vodič
Adresový vodič
R
Hodnota „1“ 17
Paměti ROM
U+
Adresový vodič
Adresový vodič
T
Datový vodič
U+
Hodnota „0“
[email protected]
T
Datový vodič
Paměťová buňka ROM (pomocí tranzistoru MOS):
Hodnota „1“ 18
Realizace paměti ROM – 4x3 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 110
x
DEC 2×4
001 101 111
y
[email protected]
o2
o1
o0
19
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
[email protected]
20
Paměti PROM Paměťová buňka PROM (pomocí diody a pojistky)
Hodnota „1“
[email protected]
Datový vodič
Adresový vodič
Datový vodič
Adresový vodič
Hodnota „0“ 21
Paměť PROM 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
[email protected]
o2
o1
o0
22
Programování PROM 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
[email protected]
o1
o0
23
Příklad naprogramované PROM – 4x3 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
110
x
DEC 2×4
001
y
101 111
[email protected]
o2
o1
o0
24
Realizace booleovské funkce pomocí PROM 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
[email protected]
x
DEC 2×4
y
o2
o1
o2
o1
o0
1
1
0
0
0
1
1
0
0
0
1
1
o0
25
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
[email protected]
26
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.
[email protected]
27
Paměti EEPROM (3) Paměťová buňka EEPROM (matice 2 × 2): U+ R
R Adresový vodič
Datový vodič
[email protected]
28
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í
[email protected]
29
Paměti RAM
Paměti RAM RAM - Random Access 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
[email protected]
31
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
[email protected]
32
Binární buňka statické RAM ds (decoder select)
ds o (output)
i (input)
w/r (write/read)
ds w/r i o
D
Q
CP
Q´
i
BC
o
w/r
(decoder select) je výběrový vstup, jehož prostřednictvím se binární buňka vybírá (aktivizuje) (write/read) určuje, zda se bude do binární buňky zapisovat nebo zda se bude z ní číst (input) je vstup do paměti (output) je výstup z paměti
[email protected]
33
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.
[email protected]
I2 DEC 2×4
A1
I1
I0
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
A0
CS O2
RD/WR
O1 O0
OE
34
Činnost paměti při čtení
I2 DEC 2×4
Na začátku je CS =0. Na adresové vstupy je vložena adresa buňky, z které se bude číst.
A1
OE nastaví na 1.
[email protected]
I0
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
A0
Na vstupu RD/WR se nastaví 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 .
I1
CS O2
RD/WR
O1 O0
OE
35
Činnost paměti při zápisu
I2 DEC 2×4
I1
I0
BC
BC
BC
BC
BC
BC
Na vstupy I2 , I1 , I0 jsou uložena zapisovaná data.
BC
BC
BC
Na vstupu RD/WR se nastaví 0.
BC
BC
BC
Na začátku je CS =0. Na adresové vstupy je vložena adresa buňky, z které se bude číst.
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.
A1 A0
CS O2
RD/WR
O1 O0
OE
[email protected]
36
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
[email protected]
37
Paměti DRAM Buňka paměti DRAM Adresový vodič
C
[email protected]
Datový vodič
T
38
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)
[email protected]
39
Paměti DRAM jako operační paměť 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
[email protected]
40
Paměti DRAM jako operační paměť 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
[email protected]
Row Data
t1
t2
t3
t4
41
Děkuji za pozornost ! Příští přednáška: Cache paměť a přehled procesorů