Меморијска хијерархија![]() Термин меморијска хијерархија се користи у архитектури рачунара када се говори о проблему перформанси у архитектонском дизајну рачунара, алгоритмима претпостављања, и програмирању на ниском нивоу које укључује конструкте као што су локалност референце. "Меморијска хијерархија" у случају компјутерских меморија разликује сваки ниво у хијерархији по времену одзива. С обзиром да су време одзива, сложеност, и капацитет међусобно повезани,[1] нивои се могу разликовати и по контролишућој технологији. Пуно компромиса при дизајнирању система великих перформанси ће укључивати структуру меморијске хијерархије, величину и технологију сваке компоненте. Тако различите компоненте могу бити посматране као део хијерархије (m1,m2,...,mn) у којој је сваки члан mi подређен следећем највишем члану mi-1 хијерархије. Да би се ограничило чекање од стране виших нивоа, нижи ниво ће одговорити пуњењем бафера, а затим сигнализирати да се покрене трансфер. Постоје четири главна нивоа.[1]
Ово је типична структура меморијске хијерархије. Пуно других структура су такође корисне. На пример, алгоритам страничења се може сматрати као ниво виртуелне меморије при дизајнирању рачунарске архитектуре. Пример употребе терминаЕво неких цитата.
Примена концепта![]() Број нивоа у меморијској хијерархији и перфорансе сваког нивоа су се повећавале временом. На пример, меморијска хијерархија Intel Haswell Mobile[5] процесора из 2013-е је:
Већина модерних процесора су толико брзи да за већину програмских задатака, уско грло представља локалност референце меморијског приступа и ефикасност процесорског кеша и меморијског трансфера измећу различитих нивоа хијерархије. Као резултат, процесор проводи већину времена нерадећи ништа, чекајући да се операције уписивања/читања заврше. Ово се понекад назива цена простора, пошто ће већи меморијски објекат лакше да прелије мали/брзи ниво и захтева коришћење већег/споријег нивоа. Модерни програмски језици углавном подразумевају два нивоа меморије, главну меморију и складиште диска, иако се у асемблерском језику и унутрашњем асемблеру језика као што је C, директно може приступити процесорским регистрима. Искоришћење оптималне предности меморијске хијерархије захтева сарадњу програмера, хардвера, и компајлера (као и основне подршке оперативно система):
Пуно програмера претпоставља један ниво меморије. Ово лепо функционише док апликација не постане ограничена перформансом. Онда се меморијска хијерархија узима у обзир при исправци кода. Референце
Литература
|
Portal di Ensiklopedia Dunia