Меморијска хијерархија
Термин меморијска хијерархија се користи у архитектури рачунара када се говори о проблему перформанси у архитектонском дизајну рачунара, алгоритмима претпостављања, и програмирању на ниском нивоу које укључује конструкте као што су локалност референце. "Меморијска хијерархија" у случају компјутерских меморија разликује сваки ниво у хијерархији по времену одзива. С обзиром да су време одзива, сложеност, и капацитет међусобно повезани, нивои се могу разликовати и по контролишућој технологији.

Пуно компромиса при дизајнирању система великих перформанси ће укључивати структуру меморијске хијерархије, величину и технологију сваке компоненте. Тако различите компоненте могу бити посматране као део хијерархије (m1,m2,...,mn) у којој је сваки члан mi подређен следећем највишем члану mi-1 хијерархије. Да би се ограничило чекање од стране виших нивоа, нижи ниво ће одговорити пуњењем бафера, а затим сигнализирати да се покрене трансфер.

Постоје четири главна нивоа.
 Интерни - Процесорски регистри и кеш.
 Главни - системски RAM и контролери.
 Унутрашња меморија - Секундарна меморија.
 Спољашња меморија - Терцијарна меморија и спољашња меморија.

Ово је типична структура меморијске хијерархије. Пуно других структура су такође корисне. На пример, алгоритам страничења се може сматрати као ниво виртуелне меморије при дизајнирању рачунарске архитектуре.

Пример употребе термина 
Ево неких цитата.
 Повећање сложености успорава меморијску хијерархију.
 CMOx меморијска технологија растеже простор флеша у меморијској хијерархији
 Један од главних начина повећања системских перформанси је минимизација пута до дна хијерархије који се мора прећи да би се дошло до података.
 Кашњење и проток су две мере повезане са кешом и меморијом. Ниједна од њих није униформна, али је специфићна одрећеној компоненти меморијске хијерархије.
 Тешко је претпоставити где се у меморијској хијерархији налази податак.
 ...локација у меморијској хијерархији диктира време које је потребно за дохват података.

Примена концепта 

Број нивоа у меморијској хијерархији и перфорансе сваког нивоа су се повећавале временом. На пример, меморијска хијерархија Intel Haswell Mobile  процесора из 2013-е је:
 Процесорски регистри - најбржи могући приступ (обично 1 процесорски такт). Реда величине неколико хиљада бајтова
 кеш
 Ниво 0 (L0) Кеш микрооперација - Реда величине 6 KiB 
 Ниво 1 (L1) Кеш за инструкције - Реда величине 128 KiB
 Ниво 1 (L1) Кеш за податке - Реда величине 128 KiB. Најбоља брзина приступа је око 700 GiB по секунди 
 Ниво 2 (L2) Дељени кеш за инструкције и податке - Реда величине 1 MiB. Најбоља брзина приступа је око 200 GiB по секунди
 Ниво 3 (L3) Дељени кеш - Реда величине 6 MiB. Најбоља брзина приступа је око 100 GB по секунди
 Ниво 4 (L4) Дељени кеш - Реда величине 128 MiB. Најбоља брзина приступа је око 40 GB по секунди
 Главна меморија - Реда величине неколико гигабајта. Најбоља брзина приступа је око 10 GB по секунди. У слуачају машине неуниформног приступа меморији, време приступа не мора бити униформно
 Диск за складиштење - Реда величине неколико терабајта. Од 2013-е, најбоља брзина приступа је у случају SSD диска, око 600 MB по секунди 
 Терцијарно складиште - Реда величине неколико ексабајта. Од 2013-е, најбоља брзина приступа је око 160 MB по секунди

Већина модерних процесора су толико брзи да за већину програмских задатака, уско грло представља локалност референце меморијског приступа и ефикасност процесорског кеша и меморијског трансфера измећу различитих нивоа хијерархије. Као резултат, процесор проводи већину времена нерадећи ништа, чекајући да се операције уписивања/читања заврше. Ово се понекад назива цена простора, пошто ће већи меморијски објекат лакше да прелије мали/брзи ниво и захтева коришћење већег/споријег нивоа.

Модерни програмски језици углавном подразумевају два нивоа меморије, главну меморију и складиште диска, иако се у асемблерском језику и унутрашњем асемблеру језика као што је C, директно може приступити процесорским регистрима. Искоришћење оптималне предности меморијске хијерархије захтева сарадњу програмера, хардвера, и компајлера (као и основне подршке оперативно система):
 Програмери су одговорни за премештање података између диска и меморије кроз упис/читање фајлова.
 Хардвер је одговоран за померање података између главне меморије и кеша.
 Оптимизирајући компајлери су одговорни за генерисање кода који при извршењу узрокује ефикасно коришћење кеша и регистара од стране хардвера.

Пуно програмера претпоставља један ниво меморије. Ово лепо функционише док апликација не постане ограничена перформансом. Онда се меморијска хијерархија узима у обзир при исправци кода.

Референце

Литература 
 

Рачунарска меморија
Термин меморијска хијерархија се користи у архитектури рачунара када се говори о проблему перформанси у архитектонском дизајну рачунара , алгоритмима претпостављања , и програмирању на ниском нивоу које укључује конструкте као што су локалност референце . " Меморијска хијерархија " у случају компјутерских меморија разликује сваки ниво у хијерархији по времену одзива . С обзиром да су време одзива , сложеност , и капацитет међусобно повезани , нивои се могу разликовати и по контролишућој технологији . Пуно компромиса при дизајнирању система великих перформанси ће укључивати структуру меморијске хијерархије , величину и технологију сваке компоненте . Тако различите компоненте могу бити посматране као део хијерархије ( m1,m2 , ... ,mn ) у којој је сваки члан mi подређен следећем највишем члану mi-1 хијерархије . Да би се ограничило чекање од стране виших нивоа , нижи ниво ће одговорити пуњењем бафера , а затим сигнализирати да се покрене трансфер . Постоје четири главна нивоа . Интерни - Процесорски регистри и кеш . Главни - системски RAM и контролери . Унутрашња меморија - Секундарна меморија . Спољашња меморија - Терцијарна меморија и спољашња меморија . Ово је типична структура меморијске хијерархије . Пуно других структура су такође корисне . На пример , алгоритам страничења се може сматрати као ниво виртуелне меморије при дизајнирању рачунарске архитектуре . Пример употребе термина Ево неких цитата . Повећање сложености успорава меморијску хијерархију . CMOx меморијска технологија растеже простор флеша у меморијској хијерархији Један од главних начина повећања системских перформанси је минимизација пута до дна хијерархије који се мора прећи да би се дошло до података . Кашњење и проток су две мере повезане са кешом и меморијом . Ниједна од њих није униформна , али је специфићна одрећеној компоненти меморијске хијерархије . Тешко је претпоставити где се у меморијској хијерархији налази податак . \ ...локација у меморијској хијерархији диктира време које је потребно за дохват података . Примена концепта Број нивоа у меморијској хијерархији и перфорансе сваког нивоа су се повећавале временом . На пример , меморијска хијерархија Intel Haswell Mobile процесора изе је : Процесорски регистри - најбржи могући приступ ( обичнопроцесорски такт ) . Реда величине неколико хиљада бајтова кеш Ниво( L0 ) Кеш микрооперација - Реда величинеKiB Ниво( L1 ) Кеш за инструкције - Реда величинеKiB Ниво( L1 ) Кеш за податке - Реда величинеKiB . Најбоља брзина приступа је окоGiB по секунди Ниво( L2 ) Дељени кеш за инструкције и податке - Реда величинеMiB . Најбоља брзина приступа је окоGiB по секунди Ниво( L3 ) Дељени кеш - Реда величинеMiB . Најбоља брзина приступа је окоGB по секунди Ниво( L4 ) Дељени кеш - Реда величинеMiB . Најбоља брзина приступа је окоGB по секунди Главна меморија - Реда величине неколико гигабајта . Најбоља брзина приступа је окоGB по секунди . У слуачају машине неуниформног приступа меморији , време приступа не мора бити униформно Диск за складиштење - Реда величине неколико терабајта . Оде , најбоља брзина приступа је у случају SSD диска , окоMB по секунди Терцијарно складиште - Реда величине неколико ексабајта . Оде , најбоља брзина приступа је окоMB по секунди Већина модерних процесора су толико брзи да за већину програмских задатака , уско грло представља локалност референце меморијског приступа и ефикасност процесорског кеша и меморијског трансфера измећу различитих нивоа хијерархије . Као резултат , процесор проводи већину времена нерадећи ништа , чекајући да се операције уписивања / читања заврше . Ово се понекад назива цена простора , пошто ће већи меморијски објекат лакше да прелије мали / брзи ниво и захтева коришћење већег / споријег нивоа . Модерни програмски језици углавном подразумевају два нивоа меморије , главну меморију и складиште диска , иако се у асемблерском језику и унутрашњем асемблеру језика као што је C , директно може приступити процесорским регистрима . Искоришћење оптималне предности меморијске хијерархије захтева сарадњу програмера , хардвера , и компајлера ( као и основне подршке оперативно система ) : Програмери су одговорни за премештање података између диска и меморије кроз упис / читање фајлова . Хардвер је одговоран за померање података између главне меморије и кеша . Оптимизирајући компајлери су одговорни за генерисање кода који при извршењу узрокује ефикасно коришћење кеша и регистара од стране хардвера . Пуно програмера претпоставља један ниво меморије . Ово лепо функционише док апликација не постане ограничена перформансом . Онда се меморијска хијерархија узима у обзир при исправци кода . Референце Литература Рачунарска меморија