1 Paměťový subsystém „640 kB ought to be enough for anybody.“ Bill Gates, 1981
2 Charakteristiky paměti 1. Kapacita 2. Přenosová jednotka 3. Výkonnost
3 1. Kapacita objem informace, který je možno v paměti uchovat objem informace, který je možno v paměti uchovat vnitřní paměť: obvykle ve slovech nebo bytech vnitřní paměť: obvykle ve slovech nebo bytech vnější paměť: v bytech vnější paměť: v bytech slovo (word) = „přirozená jednotka“ paměti slovo (word) = „přirozená jednotka“ paměti často jde o počet bitů zvolených na reprezentaci celých čísel nebo o délku instrukcí v dané architektuře často jde o počet bitů zvolených na reprezentaci celých čísel nebo o délku instrukcí v dané architektuře nejčastěji 8, 16, nebo 32 bitů nejčastěji 8, 16, nebo 32 bitů
4 2. Přenosová jednotka počet datových elementů, přenositelných v 1 kroku počet datových elementů, přenositelných v 1 kroku vnitřní paměť: v bitech (počet datových linek paměť-procesor) vnitřní paměť: v bitech (počet datových linek paměť-procesor) většinou slovo nebo jeho malý násobek většinou slovo nebo jeho malý násobek vnější paměť: v blocích (velikost bloku závisí na typu paměti) vnější paměť: v blocích (velikost bloku závisí na typu paměti) blok je typicky řádově větší než slovo blok je typicky řádově větší než slovo
5 3. Výkonnost přenosová rychlost (transfer rate) přenosová rychlost (transfer rate) rychlost, kterou mohou být data přenášena do/z paměti (špičková vs. zaručená, typicky v bitech za sekundu) rychlost, kterou mohou být data přenášena do/z paměti (špičková vs. zaručená, typicky v bitech za sekundu) vybavovací doba (access time) vybavovací doba (access time) čas, za který je paměť schopna vyřídit požadavek na čtení / zápis (od poslání adresy do paměti do okamžiku vyskladnění / uložení dat) čas, za který je paměť schopna vyřídit požadavek na čtení / zápis (od poslání adresy do paměti do okamžiku vyskladnění / uložení dat) cyklus paměti (cycle time) cyklus paměti (cycle time) doba mezi dvěma bezprostředně za sebou jdoucími požadavky (může být delší než vybavovací doba, třeba u destruktivního čtení ještě doba na refresh) doba mezi dvěma bezprostředně za sebou jdoucími požadavky (může být delší než vybavovací doba, třeba u destruktivního čtení ještě doba na refresh)
6 Kritéria dělení pamětí 1. Umístění v systému 2. Metoda přístupu 3. Technologie (fyzikální princip) 4. Funkce (fyzikální vlastnosti)
7 1. Umístění v systému na procesoru na procesoru registry registry některé typy cache některé typy cache na desce (motherboardu) na desce (motherboardu) většina cache většina cache vnitřní (hlavní) paměť vnitřní (hlavní) paměť mimo desku mimo desku vnější (sekundární) paměť vnější (sekundární) paměť
8 2. Metoda přístupu sekvenční sekvenční Sequential Access Memory (SAM) Sequential Access Memory (SAM) přímá přímá Direct Access Memory (DAM) Direct Access Memory (DAM) náhodná náhodná Random Access Memory (RAM) Random Access Memory (RAM) asociativní asociativní Associative Access Memory (AAM) Associative Access Memory (AAM)
9 Sequential Access Memory (SAM) paměťová místa nemusejí mít svou adresu paměťová místa nemusejí mít svou adresu přístup je sekvenční (postupný) přístup je sekvenční (postupný) doba přístupu je závislá na vzdálenosti od počátku doba přístupu je závislá na vzdálenosti od počátku sdílený mechanismus pro čtení a zápis sdílený mechanismus pro čtení a zápis typický představitel: pásková vnější paměť typický představitel: pásková vnější paměť
10 Direct Access Memory (DAM) paměťová místa mají jednoznačné adresy paměťová místa mají jednoznačné adresy přístup ke konkrétnímu místu je proveden kombinací výběru paměťové oblasti a sekvenčního přístupu v rámci této oblasti přístup ke konkrétnímu místu je proveden kombinací výběru paměťové oblasti a sekvenčního přístupu v rámci této oblasti sdílený mechanismus pro čtení a zápis sdílený mechanismus pro čtení a zápis typický představitel: pevný disk typický představitel: pevný disk
11 Random Access Memory (RAM) všechna paměťová místa mají svou adresu všechna paměťová místa mají svou adresu každé paměťové místo má vlastní pevně „zadrátovaný“ adresovací mechanismus každé paměťové místo má vlastní pevně „zadrátovaný“ adresovací mechanismus k paměťovým místům lze přistupovat v libovolném pořadí k paměťovým místům lze přistupovat v libovolném pořadí doba přístupu nezáleží na předchozí adrese, je konstantní doba přístupu nezáleží na předchozí adrese, je konstantní typický představitel: hlavní vnitřní paměť typický představitel: hlavní vnitřní paměť
12 Associative Access Memory (AAM) stejné charakteristiky jako RAM (každé paměťové místo má svou adresu a adresovací mechanismus, doba přístupu konstantní nezávislá na pořadí přístupů) stejné charakteristiky jako RAM (každé paměťové místo má svou adresu a adresovací mechanismus, doba přístupu konstantní nezávislá na pořadí přístupů) navíc: přístup k datům ne podle adresy, ale podle (části) obsahu realizovaný paralelním prohledáváním navíc: přístup k datům ne podle adresy, ale podle (části) obsahu realizovaný paralelním prohledáváním typický předsatvitel: cache typický předsatvitel: cache
13 3. Technologie pamětí Pre-elektronické – relé, zpožďovací linky, ferritová pole (dnes již jen v muzeu) Pre-elektronické – relé, zpožďovací linky, ferritová pole (dnes již jen v muzeu) Elektronické (polovodičové) – RAM, FLASH,… Elektronické (polovodičové) – RAM, FLASH,… Magnetické – bubny, pásky, disky Magnetické – bubny, pásky, disky Optické – CD, DVD, MD Optické – CD, DVD, MD (chemické, biologické... ) (chemické, biologické... )
14 4. Funkce (fyzikální vlastnosti) stálé (non-volatile) versus nestálé (volatile) paměti stálé (non-volatile) versus nestálé (volatile) paměti dělení podle toho, zda je pro udržení dat potřeba připojení k elektrické energii dělení podle toho, zda je pro udržení dat potřeba připojení k elektrické energii mazatelné versus nemazatelné paměti mazatelné versus nemazatelné paměti dělení podle toho, zda je umožněno jak čtení tak zápis nebo jenom čtení dělení podle toho, zda je umožněno jak čtení tak zápis nebo jenom čtení statické versus dynamické paměti statické versus dynamické paměti dělení podle toho, zda je pro udržení dat potřeba pravidelná obnova dělení podle toho, zda je pro udržení dat potřeba pravidelná obnova
15 Stálé / Nestálé paměti stálé (non-volatile) paměti stálé (non-volatile) paměti pro udržení dat není třeba připojení k elektrické energii pro udržení dat není třeba připojení k elektrické energii všechny magnetické a optické paměti všechny magnetické a optické paměti některé polovodičové (ROM, PROM, EPROM, EEPROM, FLASH) některé polovodičové (ROM, PROM, EPROM, EEPROM, FLASH) nestálé (volatile) paměti nestálé (volatile) paměti při odpojení od elektrické energie jsou data ztracena při odpojení od elektrické energie jsou data ztracena většina polovodičových (SRAM, DRAM) většina polovodičových (SRAM, DRAM)
16 Mazatelné / nemazatelné paměti mazatelná paměť (RWM – read-write memory) mazatelná paměť (RWM – read-write memory) všechny magnetické a některé optické paměti všechny magnetické a některé optické paměti většina polovodičových (nestálých) většina polovodičových (nestálých) nemazatelná paměť (ROM – read only memory) nemazatelná paměť (ROM – read only memory) je vždy stálá (pochopitelně) je vždy stálá (pochopitelně) stálá polovodičová, optická CD ROM stálá polovodičová, optická CD ROM PROM = programmable ROM PROM = programmable ROM EPROM = erasable PROM EPROM = erasable PROM EEPROM = electrically EPROM EEPROM = electrically EPROM FLASH FLASH
17 Statické / Dynamické paměti vždy je to nestálá polovodičová paměť s RAM přístupem vždy je to nestálá polovodičová paměť s RAM přístupem statická paměť (SRAM) statická paměť (SRAM) pro udržení dat není třeba periodicky obnovovat, stačí udržovat pod napětím pro udržení dat není třeba periodicky obnovovat, stačí udržovat pod napětím založeno na logických bránách, nejméně 6 tranzistorů / bit založeno na logických bránách, nejméně 6 tranzistorů / bit rychlejší než DRAM → typické použití v cache rychlejší než DRAM → typické použití v cache dynamická paměť (DRAM) dynamická paměť (DRAM) pro udržení obsahu paměti je třeba obnovování pro udržení obsahu paměti je třeba obnovování založeno na kondenzátorech (které ale ztrácejí náboj) založeno na kondenzátorech (které ale ztrácejí náboj) jednodušší a menší než SRAM – (1 tranz. + 1 kond.) / bit (vyšší hustota a menší cena na bit) → typické použití v hlavní paměti jednodušší a menší než SRAM – (1 tranz. + 1 kond.) / bit (vyšší hustota a menší cena na bit) → typické použití v hlavní paměti
18 Hierarchie pamětí mikropočítače mikropočítače registryprocesor vyrovnávací paměť L1,L2 cache L1,L2 cache hlavní paměť „RAM“ „RAM“ odkládací (sekundární) paměť pevný disk pevný disk archivní paměť CD, DVD CD, DVD vnitřní vnější
19 Typické parametry v hierarchii technologie řádová velikost přístupová doba registry polovodiče, na procesoru B ~ 1 ns cache polovodiče na/vně proc. kB ~ 10 ns hlavní paměť polovodiče MB ~ ns sekundární paměť magnetický záznam GB ~ 1-10 ms archivní paměť optický TB ~ 100 a více ms
20 Logická hradla (brány) Booleova algebra (logické „+“ a „x“) Booleova algebra (logické „+“ a „x“) NOT NOT AND & AND & OR 1 OR 1 XOR =1 XOR =1
21 NOR / NAND Pomocí hradla NOR (nebo NAND) je možno realizovat všechny ostatní logické funkce Pomocí hradla NOR (nebo NAND) je možno realizovat všechny ostatní logické funkce V některých technologických postupech je výroba NOR / NAND jednoduchá a laciná. V některých technologických postupech je výroba NOR / NAND jednoduchá a laciná. A nyní krátká odbočka od pamětí k aritmetickým obvodům A nyní krátká odbočka od pamětí k aritmetickým obvodům
22 Full-adderxyc-insc-out
23 8bitová sčítačka Konec odbočky
24 Klopný obvod S-R (flip-flop) = jednoduchá statická paměť RS QnQnQnQn00 Q n ? Realizace hradly NOR Realizace hradly NAND
25 Synchronní / asynchronní přístup do paměti asynchronní – pro dokončení operace je třeba časové kvantum (např. prodleva hradla nebo několika hradel) asynchronní – pro dokončení operace je třeba časové kvantum (např. prodleva hradla nebo několika hradel) synchronní – operace zcela řízena jednotným tikáním hodin synchronní – operace zcela řízena jednotným tikáním hodin
26 Vyrovnávací paměti – cache obvyklé použití: obvyklé použití: procesor-hlavní paměť procesor-hlavní paměť počítač-pomalá periferie počítač-pomalá periferie lokalita přístupu: lokalita přístupu: pokud byla data použita, je naděje, že budou ta samá nebo „adresově blízká“ použita znovu pokud byla data použita, je naděje, že budou ta samá nebo „adresově blízká“ použita znovu jsou-li data k dispozici v rychlé vyrovnávací paměti, není třeba na ně čekat jsou-li data k dispozici v rychlé vyrovnávací paměti, není třeba na ně čekat
27 Organizace cache každý blok dat je v cache uložen spolu se svou adresou (společná část adresy všech buněk v bloku), tzv. tagem každý blok dat je v cache uložen spolu se svou adresou (společná část adresy všech buněk v bloku), tzv. tagem vyhledávání dat v cache: vyhledávání dat v cache: tagy bloků nejsou v cache nijak uspořádány tagy bloků nejsou v cache nijak uspořádány paralelně se najde blok v cache který má správný tag (pokud tam je), tj. paralelně se porovnávají všechny tagy s tagem hledaných dat - asociativní přístup do paměti paralelně se najde blok v cache který má správný tag (pokud tam je), tj. paralelně se porovnávají všechny tagy s tagem hledaných dat - asociativní přístup do paměti z nalezeného bloku se přečtou data z nalezeného bloku se přečtou data