Hierarchie počítačové paměti je koncept budování propojení mezi třídami různých úrovní počítačové paměti na základě hierarchické struktury.
Podstatou potřeby budování hierarchické paměti je potřeba zajistit výpočetnímu systému (samostatnému počítači nebo clusteru) dostatečné množství paměti, operační i trvalé.
Vzhledem k heterogenitě četnosti přístupu ke konkrétním záznamům ( vnitřní registry procesoru , vyrovnávací paměť , stránky a soubory ) se používají různá technická řešení, která mají výborné technické i cenové vlastnosti a hmotnost a rozměry. Dlouhodobé ukládání v drahé ultrarychlé paměti a dokonce i paměti s náhodným přístupem zpravidla není ziskové, takže tento druh dat je uložen na jednotkách - disk , páska , flash atd.
Pro zajištění zálohování dat , například z důvodu bezpečnosti, mohou uživatelé vytvářet knihovny na vyměnitelných médiích (například virtuální pásková knihovna nebo diskové pole ) a plnit je vlastními soubory různých formátů. Přístup k těmto datům trvá nejdéle, ale zároveň je jejich kapacita obrovská.
Technické charakteristiky jsou v zásadě dočasné, tedy jaká časová kritéria vyhovují konkrétnímu řešení. Potřeba vysokorychlostních pamětí je obvykle limitována buď vysokými režijními náklady na zajištění chodu obvodů, nebo vysokou spotřebou energie, případně vysokou cenou řešení.
Různé typy pamětí tvoří hierarchii, na jejíchž různých úrovních jsou paměti s různou dobou přístupu, složitostí, cenou a objemem. Možnost vybudování paměťové hierarchie je způsobena skutečností, že většina algoritmů přistupuje v každém časovém intervalu k malému souboru dat, který lze umístit do rychlejší, ale drahé a tudíž malé paměti (viz en:místo reference ). Použití rychlejší paměti zvyšuje výkon výpočetního komplexu. Pamětí se v tomto případě rozumí zařízení pro ukládání dat ( paměťové zařízení ) ve výpočetní nebo počítačové paměti .
Při navrhování vysoce výkonných počítačů a systémů je třeba udělat mnoho kompromisů, jako je velikost a technologie pro každou úroveň hierarchie. Můžete uvažovat o množině různých pamětí (m 1 , m 2 ,…, m n ) umístěných v hierarchii, to znamená, že každá úroveň m i je jakoby podřízena úrovni m i-1 v hierarchii. Aby se zkrátila doba čekání na vyšších úrovních, mohou nižší úrovně připravovat data v blocích s ukládáním do vyrovnávací paměti, a když je vyrovnávací paměť plná, signalizovat vyšší úrovni, že data lze přijímat.
Často existují 4 hlavní (rozšířené) úrovně hierarchie: [1]
Většina moderních počítačů používá následující paměťovou hierarchii:
Většina programátorů obvykle předpokládá, že paměť je rozdělena na dvě úrovně, hlavní paměť a diskové úložiště, i když v assembleru a jazycích kompatibilních s assemblerem (jako je C ) je možné pracovat přímo s registry. Využití hierarchie paměti vyžaduje koordinovanou akci od programátora, hardwaru a kompilátorů (stejně jako základní podporu v operačním systému):
Mnoho programátorů nebere při programování v úvahu víceúrovňovou paměť. Tento přístup funguje tak dlouho, dokud aplikace nezaznamená snížení výkonu kvůli nedostatečnému výkonu paměťového subsystému. Při opravě kódu ( refaktoringu ) je pro dosažení nejvyššího výkonu nutné vzít v úvahu přítomnost a zvláštnosti práce vyšších úrovní paměťové hierarchie.
![]() |
---|