Toto je starší verze dokumentu!
04 - Hierarchie pamětí v počítači
Základní pojmy
stálost obsahu
volatnilní - potřebuje k uchování informací napájecí napětí
nevolatilní - nepotřebuje k uchování informací napájecí napětí
doba uchování informace
SRAM - statická - uchová si informace dlouho při dodržení jistých parametrů
DRAM - dynamická - rychle informace zapomene - třeba udělat refresh
rychlost
přístupová doba - doba od zahájení čtení po získání obashu paměťového místa
doba cyklu - doba od zahájění čtení/zápisu do skončení operace, kdy je možno spustit další operaci
přenosová rychlost - data/čas
kapacita - N x n bitů (16K x 1bit)
výkonnost - souhrn kapacity, přístupové doby a rychlosti
chybovost - např. počet chyb/1000 hodin
poruchovost
střední doba mezi poruchami
např flashku s velkou kapacitou nelze vyrobit tak, aby všechny položky byly bezchybové ⇒ je tam více bloků, než je kapacita a poté co se otestují, tak se zapojí ty, co fungují (levnější)
přístup k datům
s libovolným přístupem - přístupová doba nezávisí na umístění položky, (RAM - random access memory)
se sériovým přístupem - závisí na umístění (přisunutí čtecí hlavy), (SAM - serial access memory)
se smíšeným přístupem - několik (RAM) záznamových povrchů (SAM)
výběr z paměti
adresový
asociativní
není tak častá
vyhledáváme podle obsahu (klíčů) (ve všech řádcích musí být komparátor adres - klíčů)
např. vyhledáváme podle příjmení lidí (nemusí být podle abecedy)
paměť v daný čas porovná (neg(XOR)) paralelně se všemi klíči každý bit (zabírá hodně místa na chipu - N * n XOR členů)
pamět dobře umí za krátkou dobu najít data podle dané informace (např. z interentu proudí data ⇒ vyextrahujeme určité části a porovnáváme, jestli nesou charakteristiku viru) ⇒ softwarově by se to řešilo složitým algoritmem a bylo by to pomalé
Další téma, které se zabývá pamětmi naleznete zde. Konkrétně se jedná o správu pamětí.
Jednotlivé typy pamětí
ROM
RWM
konkrétní paměťová buňka
pomocí bipolárních paměťových členů - SRAM
struktura, který umí držet log 1 nebo log 0 (dva stabilní stavy ⇒ bistabilní)
stav se mění napěťovým pulzem
k vedení se používají elektrony i díry (CMOS)
-
pomocí unipolárních paměťových členů
statický
dynamický - DRAM - výrazně menší
SRAM
static RAM
jedna paměťová buňka stojí 6 tranzistorů
přibyly 2 tranzistory - kvůli adresovému vodiči
rychlé ⇒ díky klopným obvodům
využití: cache, paměti blízké procesoru,
rozhraní
adresová a datová sběrnice
chip enable - říká, zda je chip připojen
write enable
output enable
Čtení a zápis asynchronní SRAM
acces time - ta - říká nám, za jak dlouho můžeme vyzvednout data na datové sběrnici ⇒ nesmíme do paměti posílat data moc rychle
address setup time - čas, za jaký bude adresa na sběrnici stabilizovaná ⇒ až pak můžeme dát Write Enable (WE)
data setup time - čas, po který musí být dostupná platná data, aby se stihlo zapsat
data hold time - po zrušení čtení musí být data ještě nějakou dobu platná
address hold time - čas po ukončení zípisu, kdy musí být ještě dostupná adresa
Adresování dvou a více pamětí
musíme zajistit, aby se v daném okamžiku používala pouze jedna paměť
v počítači máme různé druhy pamětí (RWM/ROM)
všechny paměti musí být připojeny na datovou sběrnici
každá paměť musí mít připojeny příslušné řídící signály (v závislosti na typu)
všechny paměti musí být připojeny k adresovému dekodéru, který bude určovat, která paměť bude aktivní v daném čase (vytvoří nám adresový prostor)
pokud budeme mít např 16 bitové adresy, např:
nejvyšší tři bity použijeme pro adresový dekodér ⇒ určí nám paměť (bank ⇒ v tomto případě jich může být 8)
ostatní bity se použijí pro zvolenou paměť ⇒ pro adresování v ní
DRAM
levnější než SRAM ⇒ na jednotku plochy lze realizovat více paměťových buněk
technologie zavedena v 70. letech
realizace hlavní paměti počítače - RAM
princip
informace není uložena jako 0 nebo 1 v klopném obvodu, ale ve formě náboje na kondenzátoru ⇒ vyčtení informace z kondezátoru je zajištěno jedním tranzistorem ⇒ pokud je nabitý - log 1
data se dají vyčíst z určité doby, jelikož kondenzátor se vybíjí ⇒ zajímá nás hodnota kondenzátoru nad určitou úroveň napětí (1/2) ⇒ zajistíme rozdílovým zesilovačem (detekuje rozdíl mezi tím, co je na kondenzátoru a 1/2U)
poté, co se informace vyčte, je znova nahrána do kondenzátoru (nabijeme ho) ⇒ data se musí pravidelně obnovovat ⇒ vždy dřív, než klesne pod 1/2
čtecí zesilovač
v každém sloupci jeden
obsahuje zmiňovaný rozdílový zesilovače ⇒ s referenčním kondenzátorem, který se nabíjí na 1/2U porovnává hodnotu napětí na kondenzátoru čtené buňky
z paměťové buňky umí vyčíst informaci, rozhodnout, jestli bude log 0 nebo log 1 a následně provést zápis (obnovit položku ⇒ zajistit refresh)
ne vždy je potřeba číst ⇒ musíme mít řízení obnovy dat ⇒ zajišťuje to řadič obnovy dat
rozložená obnova - RNNNNNNRN…. - refreshuju postupně po částech
dávková obnova - RRRRRRRNN…. - refreshuju najednou 7 řádků
v obou případech musí být načasováno tak, aby se refresh provedl všude
spomaluje nám to výpočet ⇒ musíme naplánovat co nejefektivněj
ve video paměti se čte všechno ⇒ obnoví se samo
je vidět, že čtení už není tak jednoduché jak u SRAM
bloková struktura
adresa bloku - zhora prvních n bitů (např. 3)
opět máme adresový dekodér (1 z n) ⇒ 8 bloků ⇒ 16K (14 vodičů)x 8bit (8 bloků)
v daném bloku můžeme mít více pamětí ⇒ to, kterou paměť vybereme, určujeme adresou RAS
adresa sloupce - zhora druhých n bitů (např. 7) - CAS
adresa řádku - zhora posledních n bitů (např. 7) - RAS
x x x | x x x x x x x | x x x x x x x
rozdělování do bloků (16 x 1M x 1b) je mnohem rychlejší než základní struktura bez bloků (16M x 1b) ⇒ nastavím RAS a CAS a pouze pak přepínám bloky, což stojí menší režii, jak kdybych musel znova nastavovat RAS a CAS ⇒ prokládání paměťových operací
myšlenka je taková, že prioriou je vytáhnout co nejvíce dat na dané adrese a přitom neměnit RAS a CAS
BEDO - obsahuje interní čítač ⇒ adresu řekneme jednou a paměť si už pak inkremetuje ⇒ procesor pak dostane např 4x víc dat ⇒ natáhne si blok
synchronní DRAM - zavedl se dávkový režim BURST - paměti se posílají kódy a sama se už stará o určení přesné adresy ⇒ můžeme přečíst různý počet položek, který stanovíme a zašleme příkazem do paměti
DDR SDRAM - náběžná i sestupná hrana (2x zrychlení)
DDR2, DDR3 - zvyšuje se frekvence (2x)
Flash
nevolatilní paměť
od roku 1980
vylepšení paměti EEPROM ⇒ pouze jeden tranzistor na uchování jednoho bitu místo dvou (někdy i méně)
vysoká kapacita
když do paměti chceme něco zapsat, tak ji musíme nejdřív smazat (nahrají se všude jedničky) a tam, kde chceme zapisovat se pak nahrají nuly (lze mazat pouze po blocích)
dva typy:
NOR
NAND
používá se unipolární tranzistor s plovoucím hradlem
NAND a NOR Flash nesouvisí s
NAND a
NOR u polovodičů. Název je odvozen pouze od podobné struktury
Hierarchie
Potvrzení
04 |
Celé jméno | OK | !!! |
Jirka Hynek |  | |
vagy |  | |
Tom Ofeig |  | |
| 3 | |
Diskuze
Toto bylo poslední téma, co si nikdo nechtěl označit, tak jsem zatím udělal takový přehled na úvod. Dále by chtělo ještě rozepsat do podrobna principy těch jednotlivých pamětí. Kdo chce, může to udělat. Ze slajdů si to moc nerisknu, spíš bych pak kouknul na záznam, protože si dobře pamatuju, že tam říkal mnohem víc informací a podrobně to popisoval…
Tak jsem to dodělal. Bylo toho fakt hodně, ale myslím, že cílem tématu je hlavně hierarchie a ty struktury pamětí už tolik podstatné nejsou. Každopádně, jak jsem koukal na záznamy, tak hodně zdůraznil Virtuální paměti. Prý se na to všichni s radostí ptají u státnic. To už dost zasahovalo do téma IOSu Ofeiga (Fyzická, logická adresa, stránkování, segmentace, TLB, …). Co jsem koukal, tak je to tam popsaný a i si to pamatuji, jak jsme to probírali…
Least recently used*