Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

ВИСОКА ШКОЛА ЕЛЕКТРОТЕХНИКЕ И РАЧУНАРСТВА

СТРУКОВНИХ СТУДИЈА

Семинарски рад из предмета


НАПРЕДНЕ АРХИТЕКТУРЕ РАЧУНАРА
РАМ, РОМ И КЕШ
МЕМОРИЈЕ

Студенти: Предметни
професор:
 Бранислав Вујановић РТ - 43/16 Др. Синишa Минић
 Вања Васковић РТ - 119/16
 Милош Планинчић РТ - 74/16

Београд, новембар 2018.


Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Садржај:

Општи појмови ...................................................................................................................... 1


Увод у меморију ................................................................................................................... 1
Параметри меморије ............................................................................................................ 2
Хијерархија меморије .......................................................................................................... 3
Главна меморија РАМ .......................................................................................................... 5
Статичке полупроводничке меморије ................................................................................. 7
Динамичке полупроводничке меморије ............................................................................. 8
РОМ меморија ........................................................................................................................ 9
Историја ром меморија ....................................................................................................... 10
Коришћење за складиштење програма ............................................................................ 11
Коришћење за складиштење података ............................................................................. 12
Типови ................................................................................................................................. 12
Брзина меморије ................................................................................................................. 14
Читање ................................................................................................................................. 14
Уписивање ........................................................................................................................... 14
Издржљивост и задржљивост података ........................................................................... 14
Садржај image-a .................................................................................................................. 14
Кеш меморија ....................................................................................................................... 15
Увод у кеш ........................................................................................................................... 15
Општи концепт кеширања ................................................................................................ 16
Принципи кеш меморије .................................................................................................... 17
Структура кеш и главне меморије .................................................................................... 18
Читање из кеш меморије .................................................................................................... 19
Пројектовање кеш меморије ............................................................................................. 20
Функције пресликавања ............................................................................................ 21
Директно пресликавање ................................................................................ 21
Асоцијативно пресликавање ......................................................................... 22
Број кеш меморија ..................................................................................................... 23
Кеш меморија у више нивоа ......................................................................... 23
Обједињене кеш меморије наспрам раздвојених ....................................... 24

1
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

1. ОПШТИ ПОЈМОВИ

УВОД У МЕМОРИЈУ

Меморију рачунара чине уређаји који обезбеђују записивање (регистровање)


бинарних података независно од њиховог садржаја. Меморија је намењена за упис
(уношење), памћење (складишћење, чување) и позивање (читање) података програма.

Две основне операције које обезбеђује меморија су:

 упис (уношење, памћење) података,

 читање (позивање) података.

Операције уписа и читања називају се још и приступ меморији.

Свака меморија обично има два основна функционална дела:

 меморијски медијум способан да ограничено или неограничено дуго чува (памти)


претходно унете (запамћене) податке,

 управљачку јединицу која служи за тражење, уписивање и читање података на


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

Свака меморија треба да поседује следеће карактеристике:

 велику брзину,

 велики капацитет,

 прихватљиву цену.

Како све ове захтеве истовремено не задовољава ниједна технологија меморијских


компонената нити постоји једноставно решење, меморија савремених рачунара прераста
у меморијски систем са сложеном структуром који се састоји од више различитих врста
меморија, као што су:

 регистарска меморија,

 главна (оперативна, примарна) меморија,

 спољна (масовна, секундарна) меморија и

 кеш-меморија.

1
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Регистарска меморија укључује регистре унутар процесора. То су углавном регистри


опште намене и посебни регистри за рад са подацима са покретном тачком, а код
савремених процесора то су тзв. регистарска поља (енгл. Register files). Брзина меморије
усаглашена је са брзином процесора тако да не уноси застоје у његов рад, а користи се за
привремено чување операнада и инструкција.

Главна меморија је релативно великог капацитета, спољна у односу на процесор, а


намењена је привременом памћењу података и програма који се у датом тренутку
користе. Поред података за обраду (улазни подаци) и података који дефинишу поступак
обраде (инструкције програма) у главној меморији се такође памте и међурезултати и
коначни резултати обраде. Главна меморија назива се понекад и интерна меморија, јер
јој процесор може директно приступити. Као интерна меморија може се сматрати и
меморија коју чине регистри или регистарска поља процесора.

Спољна меморија има много већи капацитет од главне меморије, али је и много
спорија од ње. Спољна меморија служи за дуготрајно чување (складиштење) системских
и апликационих програма, чување резервних копија података и др., односно за чување
програма и података који не захтевају стално присуство у главној меморији. Састоји се
од периферних меморијских уређаја којима процесор приступа преко улазно-излазног
подсистема рачунара. Подаци из спољне меморије доступни су процесору тек после
преноса у главну меморију.

Кеш-меморија је брза меморија која се налази између процесора и главне меморије. У


њој се привремено смештају актуелне инструкције и подаци за активне програме
(програме који се тренутно извршавају). Капацитет кеш-меморије је много мањи од
капацитета главне меморије, а њена брзина одговара брзини процесора.

ПАРАМЕТРИ МЕМОРИЈА

За опис карактеристика меморије користи се више различитих параметара од којих су


основни следећи:

 Капацитет меморије – карактерише се количином података израженом бројем


бајтова које меморија може да прихвати и чува.

 Време приступа – то је временски интервал који протекне од довођења сигнала за


дефинисање приступа до завршетка уписа или читања.

 Циклус приступа или меморијски циклус – је минимални временски интервал


између два узастопна приступа меморији. Меморијски циклус не може бити краћи
2
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

од времена приступа, а обично је нешто дужи од њега. Наводи се само за меморије


са непосредним приступом.

 Јединица преноса – за главну меморију јединица преноса је меморијска реч, тј.


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

 Брзина преноса – је број битова, бајтова или меморијских речи које уређај може
пренети у једној секунди после постављања уписно-читајуће главе на почетак
блока или сегмента података. Назива се пропусност меморије;.

 Цена меморије – је однос укупне цене меморије према капацитету меморије.

ХИЈЕРАРХИЈА МЕМОРИЈА

Да би рачунар могао да ради ефикасно, потребно је да карактеристике процесора,


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

Главна меморија рачунара је увек била недовољна и исувише скупа да се само са њом
рачунару обезбеди меморија потребног капацитета. Меморијски медијуми који је могу
допунити, као што су магнетни дискови, имају много нижу специфичну цену, али су и
много спорији од ње. Проблем је решен тако што је главној меморији, као примарној
меморији, придодата јединица диска као секундарна меморија, чиме је побољшана
ефикасност рада рачунара. При томе се у мањој и бржој главној меморији држе само
подаци и програми које процесор користи у датом тренутку. Сви остали подаци чувају
се на секундарној (спољној) меморији и преносе се у главну меморију када су потребни.

Други проблем са меморијама је њихова брзина. Наиме, код рачунара је одувек била
присутна разлика у брзини централног процесора и главне меморије. Напредак у развоју
технологија и архитектуре процесора чак је ову разлику све више повећавао. Било је
много покушаја да се брзина меморије приближи брзини процесора. Увођење регистра
опште намене у процесор само је делимично ублажило овај проблем. Али, тек су тзв.
кеш-меморије успешно премостиле јаз у брзинама процесора и главне меморије. Данас
се укупно расположива меморија рачунара реализује као меморијски систем –
хијерархијски систем компонената који се састоји од свих меморијских уређаја које
коирсти рачунарски систем, слика 2.1.

3
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 2.1 – Хијерархијска меморија

Наведени распоред меморија одговара, гледано с` лева удесно, смањењу нивоа у


хијерархији, смањењу брзине и цене по једном биту а повећању капацитета. Сваки ниво
може сасдржати више модула (примерака) одговарајућих уређаја за добијање потребног
капацитета датог нивоа меморије. На доњем нивоу хијерархије налазе се спољне
меморије које се користе за трајно чување података и програма. Кеш-меморија диска је
меморија са непосредним приступом која се користи као бафер (међумеморија) за
привремено чување података који се читају или уписују на диск. Централно место има
главна меморија која може непосредно размењивати податке и са централним
процесором и са спољним уређајима. Када су процесору потребни подаци којих нема у
главној меморији, они се уносе из спољне меморије. Кеш-меморија служи за повећање
брзине обраде јер текуће инструкције и текући подаци, привремно смештени у њој, могу
да се преносе у централни процесор великом брзином. Тиме се компензује разлика у
брзини рада процесора и времена приступа главној меморији, јер је време приступа кеш
меморије приближно једнако брзини рада процесора. Брзу регистарску меморију чини
скуп регистара опште намене или регистарска поља, а служи за привремено памћење
операнада и међурезултата. На слици 2.2 дата је потпунија хијерархијска меморија
рачунара.

Слика 2.2 – Проширена хијерархијска меморија рачунара

Овде се на доњем нивоу хијерархије налазе споре магнетне и стример траке које су
данас избачене из употребе, а које су се пре свега користиле за архивирање података.
Следећи ниво чине компакт дискови и магнетно – оптичке меморије као спољне

4
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

меморије великог капацитета. Магнетни дискови се користе као спољни меморијски


уређаји за трајно чување података и програма. Ове две врсте меморије се данас јако мало
користе. Ова хијерархијска структура омогућава да се економски ефикасно ускладе
чување (складиштење) великог броја података са брзим приступом подацима у процесу
њихове обраде. Наиме, цена прорачуната на 1 бит директно је пропорционална нивоу
меморије у хијерархији. Зато би било врло скупо да се сви програми и подаци чувају у
главној меморији, нарочито ако нису потребни процесору.

Функционални блок рачунара који управља токовима податкаа између свих


меморијских уређаја назива се јединица за управљање меморијом (енгл. MMU – Memory
Management Unit). Он расподељује прогаме и податке међу различитим нивоима
меморије сагласно са очекиваном учесталошћу њиховог коришћења.

2. ГЛАВНА МЕМОРИЈА (РАМ)


Главна меморија (оперативна меморија, примарна меморија, енгл. RAM – Random
Access Memory – меморија са произвољним приступом) јесте меморија са непосредним
приступом која служи за чување података који се користе у процесу извршења операција
у аритметичко –логичкој и управљачкој јединици процесора. То су полазни подаци за
обраду, међурезултати и коначни резултати обраде и инструкције програма који се
извршава. Карактеристике главне меморије битно утичу на основне показатеље самог
рачунарског система а пре свега на његову брзину. У процесу обраде остварује се стално
комуникација између централног процесора и главне меморије. Из главне меморије у
процесор преносе се инструкције програма и операнди над којима се извршавају
операције предвиђене инструкцијама програма, а из процесора у главну меморију шаљу
се на чување међурезултати и коначни резултати обраде. Детаљна структура меморије
приказана је на слици (уз ознаке за брзину меморија са слике) 3.1.

5
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Полупроводничке RAM меморије по правилу губе садржај када се искључи напон


напајања и спадају у класу непостојаних (енгл. Volatile) меморија.

Полупроводничке меморије могу бити динамичке или статичке. Да би информација


била запамћена у динамичкој меморији, неопходно је периодично обављати
„освежавање“ меморије, иначе се информација губи. Уписом информације у статичку
меморију она остаје запамћена све док је меморија прикључена на напон.

Меморија са непосредним приступом састоји се од меморијских локација


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

У меморији се бинарни подаци чувају у облику група битова које се називају


меморијске речи. Свака реч чува се у посебној локацији а чита се или се уписује као
целина. Свака меморијска реч може представљати бројчани податак, алфанумерички
податак, код инструкције или било који други бинарни код. За реализацију оперативне
меморије данас се готово искључиво као меморијски елементи користе полупроводничка
бистабилна кола.

Капацитет оперативне меморије је реда 16, 32, 64, 128 милиона меморијских речи,
мада су већ у употреби и оперативне меморије са више од 1 гигабајта (Gigabyte). Дужина
меморијске речи зависи од врсте рачунара и варира, од 8, 16 или 32 бита до више од 100
бита, а најчешће представља умножак од 8 битова тј. 1 бајта. Једна меморијска реч
обично садржи 4 бајта, а дупла реч 8 бајтова тј. 64 бита, мада то зависи од типа и
произвођача.

Постоје две врсте RAM меморија. Статичке полупроводничке RAM меморије, које се
праве помоћу флип-флопова, које задржавају свој садржај и после читања, све до
поновног записа, или искључења напајања. За разлику од њих, динамичке RAM меморије
(DRAM, Dynamic RAM) се реализују као капацитивност MOS транзистора, и као и сви
кондензатори и ови временом губе набој, па се повремено морају освежавати, тј. поново
се уписују стари садржаји. Динамичке меморије су деструктивне, па се после читања
мора вршити поновни упис прочитаног податка. Данас се динамичке RAM меморије
имају огроман капацитет и брзину. Наиме, већ постоје DRAM меморије са 600 MB/s, а
очекују се nDRAM меморије са 1.6 GB/s. Захваљујући развоју нових технологија RAM
меморије више нису тако скупе, паданашњи рачунари имају преко 8GB RAM-a.

Оперативна меморија је организована према меморијским адресама, па се може


посматрати као низ адресибилних меморијских локација, као што је приказано на слици
3.2. Принцип адресибилности омогућава директан приступ појединачно свакој
меморијској локацији. То значи да се одређени податак може унети (уписати) на неку
одређену меморијску локацију, као и да се садржај сваке меморијске локације у било ком
тренутку може прочитати. На овај начин податке можемо пренети из једног дела
рачунара на други у било ком тренутку.
6
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Основни елемент оперативне меморије представља меморијска локација. То је гупа


меморијских елемената која се при приступу меморији третира као недељива целина.
Адреса меморије представља цео позитиван број из интервала [0,2n - 1], где је n дужина
адресе, и њоме се може адресирати 2n меморијских локација. Дужина меморијске
локације износи 8,16...бита (1,2...бајта).

СТАТИЧКЕ ПОЛУПРОВОДНИЧКЕ МЕМОРИЈЕ (SRAM)

Статичка RAM меморија представља скуп стационарних регистара са заједничким


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

7
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

ДИНАМИЧКЕ ПОЛУПРОВОДНИЧКЕ МЕМОРИЈЕ (DRAM)

Постоји стални захтев за повећањем брзине и капацитета рачунарских меморија, као


и за смањењем физичких димензија и снаге коју меморије троше. Ови захтеви и потребе
представљају водиље у развоју DRAM технологије. Већина DRAM меморија су се
развијале годинама и пратиле разне технолошке напредке, па смо имали SDRAM
(синхрони DRAM), DDR (двострука брзина података) SDRAM, DDR2 (двострука брзина
података 2) SDRAM, као и DDR3 (двострука брзина података 3) SDRAM. Овај развој је
такође био условљен начином коришћења рачунарских меморија у DIMM модулима
(дуални меморијски модули). Примене DIMM модула су се прошириле са
нерегистрованих DIMM ка регистрованим DIMM и FB – DIMM модулима (потпуно
баферованим DIMM).

Свака меморијска ћелија у SRAM меморији се састоји од најмање 4 до 6 транзистора.


Да би се реализовала меморија са већом густином паковања конструисана је меморија са
само једним транзистором и једним кондензатором по меморијској ћелији. Ова меморија
базира памћење информације на електричном пуњењу кондензатора. На слици 3.2.1. је
приказана једна ћелија.

8
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

3. ROM

ROM (енгл. read-only memory = "меморија само за читање") је врста меморије која се
користи у рачунарима и другим електронским уређајима. Подаци складиштени у ROM
меморији не могу бити измењени, или могу бити измењени споро и са потешкоћама, па
се углавном користи за firmware (софтвер који је везан за специфични хардвер и не
захтева честа ажурирања).

Иако се дискретна кола у принципу могу мењати, интегрисана кола не могу и бескорисна
су ако су подаци оштећени. Упркос једноставности, брзини и економичности mask ROM
меморије, угњеждени системи (embedded system) често праве репрограмабилне меморије
које су флексибилније и јефтиније. Од 2007, ROM (Слика 1.1) кола се углавном користе

9
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

за апликације као што су микрокодови и сличне структуре, на различитим типовима


процесора.

Друге врсте сталне меморије као што су EPROM и EEPROM називају се скраћено само
ROM меморије иако се ови типови меморије могу брисати и репрограмирати више пута,
с тим што уписивање у меморију може трајати дуже и може захтевати другачију
процедуру за уписивање него што је потребно учинити за читање. Када се говори на мање
прецизан начин, ROM се односи на сталну меморију за складиштење програмског кода
или неизменљивих података.

Слика 1.1

ИСТОРИЈА РОМ МЕМОРИЈЕ


Најједноставнији тип solid state ROM меморије је стар колико и полупроводничка
технологија. Комбинована логичка кола могу бити удружена да мапирају n-битни
адресни улаз на произвољним вредностима m-битног излаза(look-up табела). Са
проналаском интегрисаних кола долази mask ROM. Mask ROM је врста RОМ меморије
чији садржај је програмиран интегрисаним колом од стране произвођача. Термин маsк
потиче од начина производње интегрисаних кола где су делови чипа маскирани током
процеса фотолитографије.Mask ROM садржи решетку линија речи (адресни улаз) и
линију битова(излаз података), селективно удружене са транзисторским прекидачима и
могу представљати произвољну look-up табелу са регуларним физичким распоредом и
предвидљивог кашњења.
У mask ROM-у , подаци су физички кодирани у колу, па самим тим могу бити
програмирани само током производње. Ово изазива низ мана:
1)Економично је само купити велики број маsк ROM меморија пошто корисници морају
да склопе договор са произвођачима да би произвели посебан дизајн.
2)Време између завршетка дизајна и добијања готовог производа је велико из истог
разлога који је горе наведен.

10
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

3)Маsк ROM није практичан за истраживање и развој пошто дизајнери морају често да
мењају садржај меморије током дизајнирања.
4)Ако је производ испоручен са mask ROM меморијом која садржи грешку, једини начин
да се ово исправи јесте да се у свим производима физички замени меморија.
Каснији развој надокнадио је ове недостатке. PROM, пронађен 1956, дозволио је
корисницима да програмирају садржаје тачно једном физички мењањем структуре уз
примену високог напона импулса. Исти је решио претходна 2 проблема, јер фирма може
једноставно наручити велике серије PROM чипова и програмирати их са жељеним
садржајем онако како њихови дизајнери желе. 1971. проналаском EPROM, суштински је
решен проблем број 3, јер EPROM (за разлику од PROM) може више пута да се враћа на
непрограмирано стање излагањем јаким ултаљубичастим светлостима. EEPROM,
пронађен 1983, прелази дуг пут у решавању проблема број 4, јер EEPROM(слика 2.1) се
може програмирати у месту ако садржи уређај који пружа могућност да прими
програмске садржаје са спољног извора (на пример, персонални рачунар преко серијског
кабла). Flash меморија, коју је изумела Toshiba средином 1980.године и
комерцијализовала 1990.године, је облик EEPROM који чини врло ефикасно коришћење
чип области које се могу брисати и репрограмирати хиљадама пута без оштећења.

Све ове технологије побољшавају флексибилност ROM меморије, осим најзначајније,


цене по чипу, па ће у великим количинама маsк ROM остати економичан избор за много
година. (Смањење трошкова репрограмабилних уређаја је готово елиминисано тржиште
за маsк ROM од 2000.) Технологије за поновно уписивање су замишљене као замена за
маsк ROM. Најновији развој је NAND flash, коју је такође изумела Toshiba. Његови
дизајнери су експлицитно прекинули праксу из прошлости, наводећи јасно да је „циљ
NAND flash да замени хард дискове“, а не традиционалне употребе ROM као облика
сталног примарног складишта. Од 2007, NAND је делимично оставарио тај циљ и
поредио се са тврдим диском, нудећи већу толеранцију физичког шока, екстремне
минијатуризације (у облику USB flash дискова и ситних microSD меморијских картица,
нпр) и много мању потошњу енергије.

Слика 2.1

11
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

КОРИШЋЕЊЕ ЗА СКЛАДИШТЕЊЕ ПРОГРАМА


Сваки рачунар захтева неки вид сталне меморије (меморија која садржи свој садржај
након престанка напајања) за чување одређеног програма који се активира када се
рачунар укључи или када почне извршавање (процес познат као боотовање). Исто тако,
сваки рачунар захтева неки облик променљиве меморије за снимање стања током
извршавања.
RОМ меморију било је лакше користити пошто је само био потребан механизам за
читање снимљених вредности, а не мењати их у месту, а мењање је могло да се реализује
употребом грубих електромеханичких уређаја
Са појавом интегрисаних кола 1960. године RОМ и статички RАМ били су
имплементирани као низ транзистора у силиконском чипу.
RОМ и наследници ове технологије као што је flash меморија преовлађују у угњежденим
системима. У ово спада све од индустријских робота до кућних апарата и остале
електронике (mp3 плејери итд.) и сви који су дизајнирани за специфичне функције,
базирани су на процесорима опште намене.
RОМ је такође користан за бинарно складиштење криптографских података, пошто и
чини тежим за измену и самми тим побољшава безбедност информационог система.

КОРИШЋЕЊЕ ЗА СКЛАДИШТЕЊЕ ПОДАТАКА


Пошто RОМ не може бити модификован, самим тим је погодан за складиштење података
који не требају бити промењени током живота уређаја. ROM је коришћен да у многим
рачунарима складишти look-up табелу за рачунање математичких и логичких функција
Ово је нарочито било ефективно када је CPU био спор а RОМ меморија је била јефтина
у поређењу са RАМ меморијом.

ТИПОВИ
Класични маsк RОМ чипови су интегрисана кола која физички кодирају податке који
требају да буду сачувани, и због тога је немогуће изменити њихов садржај после
фабрикације. Други типови сталне солиђстате меморије допуштају неки степен
модификације:
1. Programmable read-only memory (PRОМ,слика 3.1), или one-time programmable
RОМ (ОТP) меморија може бити програмирана са специјалним уређајем званим
PRОМ програмер. Jедноставније, овај уређај користи висок напон да трајно
уништи или направи интерне везе унутар чипа,па због тога може да се програмира
само једном.

12
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 3.1

2. Erasable programmable read-only memory (ЕPRОМ,слика 3.1) меморија може бити


избрисана излагањем јакој ултраљубичастој светлости(обично 10 минута или
дуже),онда се поново уписује волтажом јачом него што је потребна за рад. Често
излагањеЕPRОМ меморије ултраљубичастој светлости ће истрошити меморију,
али обично може да се изврши 1000 циклуса брисања и репрограмирања. ЕPRОМ
чипови могу бити препознати по кварцном прозорчићу који допушта УВ
светлости да уђе. После програмирања прозорчић се обично прекрива да би се
избегло случајно брисање. Неки ЕPRОМ чипови су фабрички избрисани пре
паковања па немају прозор, а самим ти су ефективни као PRОМ.

Слика 3.1

3. Electrically erasable programmable read-only memory (ЕЕPRОМ,слика 3.3) је по


структури слична ЕPRОМ меморији, али дозвољава да читава меморија или њени
делови буду електрично избирасни, затим електрично уписани па не захтевају да
се ваде из уређаја. Брисање или флешовање је много спорије (милисекунде по
биту) него читање са RОМа или писање у RАМ (у оба случаја брзина је у нано
секундама).

4. Electrically alterable read-only memory (ЕАRОМ) је тип ЕЕPRОМ меморије која


може бити модификована по биту. Уписивање је веома споро и захтева већи напон
(углавном 12В) него за писање. Намењене су за апликације које захетвају
повремено и парцијално поновно уписивање. ЕАRОМ може да се користи за
стално складиште критичних системских информација. У многим уређајима
ЕАRОМ је замењен са CMOS RАМ меморијом која се напаја литијумском
батеријом.

13
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 3.3

5. Flaš memory (или једноставно флаш, слика 3.4) је модеран тип ЕЕPRОМ меморије
која је пронађена 1984. Флаш меморија може бити уписана и избрисана брже од
обичне ЕЕPRОМ меморије, а новији дизајни подражавају око 1.000.000 циклуса
писања и брисања. Модерна NAND flash меморија ефикасно користи силиконски
чип, па капацитети меморије иду и преко 32гб од 2007. Ова погодност заједно са
трајношћу омогућила је да NAND flash негде замени магнетне дискове.Са
аплицирањем заштите уписивања, неки типови репрограмабилних меморија могу
да постану меморије које служе само за читање.

Слика 3.4

БРЗИНА МЕМОРИЈЕ

ЧИТАЊЕ

Иако је релативна брзина RАМ против RОМ варирала током времена, од 2007. године
већина RАМ чипова може се брже прочитати од већине RОМ меморија. Из тог разлога (
и да омогући равномерну приступ ) , садржај RОМ-а се понекад копира у RАМ.

УПИСИВАЊЕ
За оне врсте RОМ меморије које се могу електронски модификовати, брзина писања је
увек много мања од брзине читања, и може да захтева неуобичајено виши напон,
померање jumpera да омогући уписивање и специјални командни код за
закључавање/откључавање. Модерни NAND flash тип меморије постиже највеће брзине
уписивања у RОМ технологији, са брзином од 15 МБ/с (или 70 нс/бит), омогућавајући да
велики блокови меморијских ћелија буду уписивани истовремено.

ИЗДРЖЉИВОСТ И ЗАДРЖЉИВОСТ ПОДАТАКА

RОМ меморије могу издржати ограничен број циклуса брисања и уписивања пре него
што изолација буде трајно оштећена. У ранијим ЕАRОМ меморијама, број циклуса био
14
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

је око 1000 док је у модерним NAND flash меморијама и преко 1.000.000, али ни то није
никако бесконачно. Ово ограничење, као и цена по биту, значи да Flash меморија не може
трајно да замени магнетне дискове у блиској будућности.
Временски распон у ком RОМ остаје читљив није ограничен циклусима уписивања.
Задржавање података у ЕPRОМ, ЕАRОМ, ЕEPRОМ, и Flash меморији може бити
ограничено цурењем пуњења из пливајућих капија у меморијским ћелијама транзистора.
Цурење је убрзано високим температурама или зрачењем.

САДРЖАЈ image-a

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

4. КЕШ МЕМОРИЈА
УВОД У КЕШ

Компјутерска меморија је организована у хијерархију. На највишем нивоу (најближи


процесору) су процесорски регистри. Следи један или више нивоа кеш меморија, када
се користе вишеструки нивои кеш меморије они се означавају са Л1, Л2, Л3... Следећа
на ред долази главна меморија, познатија као ДРАМ ( меморија са случајним приступом
). Све ово се сматра унутрашњим рачунарским системом. Даље на ову хијерархију се
наставља спољна меморија, следећи ниво чини чврсти диск и један или више нивоа испод
тога се састоји од преносивих медија као што су оптички дискови и траке.
Како се хијерархија спушта од ЦПУ-а ка спољној меморији, смањује се цена по једном
биту капацитета меморије, смањује се брзина приступа, а повећава капацитет меморије.
Било би лепо користити само најбрже меморије али оне су скупе, па због тога брзо време
приступа мењамо већом и јефтинијом али споријом меморијом. Главни задатак је што
боље организовати распоред програма у меморији, тако што ће се обезбедити да подаци
који су најпотребнији буду у брзој меморији.
Кеш обично није видљив за програмера или, за процесор. Кеш је уређај за привремено
прихватање података између главне меморије и процесора да би се побољшале
перформансе. Кеш меморија је намењена да пружи меморији брзину која се приближава
оној коју имају најбрже расположиве меморије, а у исто време да обезбеди велики
капацитет меморије по цени јефтинијих врста полупроводничких меморија.
Основни блок дијаграм било ког компјутера приказан је на слици 1.1 . На левој стани је
централна процесорска јединица (ЦПУ), а на десној главна меморија (ДРАМ). С времена
на време процесору су потребни подаци из главне меморије. Он шаље адресу у главну
меморију, а меморија као одговор шаље податке. Уколико процесор уписује податке у
меморију он са адресом шаље и податке у главну меморију.

15
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 1.1
Главна меморија је релативно спора у односу на процесор. На слици 1.2 приказан је јаз
између брзине процесора и брзине главне меморије настао током година.

Слика 1.2
Да процесор не би чекао главну меморију да му достави податке, као посредник између
процесора и главне меморије поставља се кеш меморија. (Слика 1.3) Кеш садржи копију
делова главне меморије. Када процесор покуша да чита реч из меморије, направи се
провера да би се утврдило да ли је реч у кешу. Ако јесте, реч се испоручује процесору.
Ако није реч се тражи од главне меморије што изискује додатно време. Додавањем кеша,
не морају се мењати процесор и главна меморија јер се из њиховог угла гледања ништа
не мења.

Слика 1.3

16
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

ОПШТИ КОНЦЕПТ КЕШИРАЊА

Кеш меморија се може користити у разним концептима. Често када говоримо о кешу,
мислимо на кеш који се налази између ЦПУ-а и главне меморије. (Слика 1.3) Кеширањем
главне меморије обично ћемо из ње читати “комаде” података који се називају блокови.
Тако да је кеш меморија пуна блокова који су неке одређене величине, на пример 64
бајта. Између кеш меморије и процесора се размењују речи, а између главне меморије и
кеша блокови, који се састоје од одређеног броја речи. Кеш меморија може да стоји
испред диска или флеш меморије. Поставља се између самог компјутера и неке
спољашње меморије.(Слика 2.1а) Кеширањем диска или флеш меморије радимо исто
као и код кеширања главне меморије само што се у овом случају блокови називају стране
( pages) и много су веће величине. Још једна примена генералне идеје о кеширању одвија
се у претраживачима.(Слика 2.1б) Једном када је страница учитана нећете морати стално
да чекате да се она поново “дохвати” са интернета већ ваш претраживач, у кешу, чува
копију те странице, па ће учитавање наредног пута бити брже. Други пример је такође
кеширање веб страна, али овај пут идеја је да се страница коју желите да учитате налази
на удаљеном серверу, на другом континенту. (слика 2.1в) Постоје веб сервери који су на
интернету, али су вам много ближи, можда у истом граду или региону. Ти веб сервери
ће чувати копије веб страна које се налазе на серверу који је веома удаљен од вас.
Следећи пут када будете хтели да “дохватите” неку страницу ваш захтев неће путовати
до удаљеног сервера, већ до најближег сервера.

Слика 2.1

ПРИНЦИПИ КЕШ МЕМОРИЈЕ

Током деценија коришћења и проучавања рачунара, рачунарски инжењери су мерили


програмско понашање и направили следећа запажања:

17
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

 Обрасци за приступ програма радној меморији нису насумични.


 Приступи меморији имају тенденцију да се понављају у одређеном времену и /
или да буде у близини претходних приступа
Ова два феномена се називају локалност референце. (principle of lokality of reference)
Понашање је тако названо јер је примећено да програмске референце имају тенденцију
да се понављају у времену и простору:
 Када се блок података донесе у кеш да би се задовољила једна референца
меморије, вероватно ће бити будућих референци на ту исту мемориску локацију
у скоријој будућности (временска локалност = temporal lokality)
 Када се блок података донесе у кеш да би се задовољила једна референца
меморије, вероватно ће бити будућих референци на податке који се налазе у том
истом блоку ( просторна локалност = spacial locality)
Временска локалност се углавном експлоатише држањем недавно коришћених
инструкција и вредности података у кеш меморији. На пример када се извршава
итеративна петља, порцесор са понављањем извршава исти сет инструкција.
Просторна локалност се користи употребом већих блокова кеша и доношењем ставки са
предвиђеном употребом.

СТРУКТУРА КЕШ И ГЛАВНЕ МЕМОРИЈЕ

Главна меморија се састоји од 2^n адресибилних речи, где свака реч има једниствену n-
битну адресу. У сврху пресликавања, та меморија је замишљена да се састоји од извесног
броја блокова фиксне дужине,сваки по К речи. То занчи да постоји М=2^n /К блокова.
Кеш меморија се састоји од m блокова који се зову редови. Сваки ред садржи К речи, таг
од неколико битова и управљачке битове. Дужина реда, не укључује таг и управљачке
битове, зове се величина реда. Број редова у кеш меморији значајно је мањи од броја
редова у главној меморији (m << M ) .
Ако се чита реч у блоку меморије , тај блок се преноси у један од редова кеша. С обзиром
на то да има више блокова него редова, појединачни ред не може трајно да се додели
одређеном блоку. Према томе, сваки ред укључује таг који идентификује који је блок
тренутно ускладиштен. Таг је део адресе блока у главној меморији. На слици 3.1
приказана је структура кеш и главне меморије.

18
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 3.1

ЧИТАЊЕ ИЗ КЕШ МЕМОРИЈЕ


Процесор генерише адресу (РА) речи која треба да се прочита. Ако се реч (тражени
податак, може бити инструкција или вариабла) налази у кешу она се испоручује
процесору. Овај случај се назива погодак у кешу (cache hit) . Време потребно да се утврди
да се податак налази у кеш меморији назива се кашњење у поготку (hit latency). Уколико
се тражена реч не налази у кеш меморији она се тражи у главној меморији.

Случај када се податак није у кеш меморији се назива промашај у кешу (cache miss). А
време потребно да се пронађе блок, у коме се налази тражена реч, достави се прво кеш
меморији па онда процесору , зове се кашњење у промашају (miss latency). На слици 3.2
приказан је алгоритам за упис података у процесор.

19
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 3.2

Кеш се повезује са процесором преко линија за податке, управљање и адресе. Линија за


податке и адресе се такође прикључују на бафер за податке и адресу, који су прикључени
на системску магистралу са које се стиже доглавне меморије. Када се догоди покодак у
кешу бафери за податак и адресу се блокирају, а комуникација се одвија само између
процесора и кеш меморије. Када дође до промашаја у кешу адреса се ставља на системсу
магистаралу и податак се враћа кроз бафер за податке, у кеш и процесор.На слици 3.3
приказана је типична организација кеша.

20
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 3.3

ПРОЈЕКТОВАЊЕ КЕШ МЕМОРИЈЕ

Истраживања су показала да хијерархија кеша може да буде корисна у побољшавању


перформанси, ако се апликациони софтвер подеси да експлоатише кеш. Иако постоји
велики број имплементација кеш меморија, мало је основних елемената за пројектовање
који служе да се класификује и међусобно разликује архитектура кеша:
 Адреса кеша
 Логичка
 Физичка
 Величина кеша
 Функције пресликавања
 Директно
 Асоцијативно
 Асоцијативно пресликавање скупа
 Алгоритми замене
 Најмање скоро коришћени(ЛРУ)
 Према редоследу доласка(ФИФО)
 Најређе коришћени(ЛФУ)
 Случајно
 Уписивање
 Правовремено ажурирање
 Одложено ажурирање
 Величина реда
 Број кеш меморија
 Са једним или два нивоа
 Обједињене или раздвојене

21
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

ФУНКЦИЈЕ ПРЕСЛИКАВАЊА

С обзиром на то да има мање редова кеша него блокова у главној меморији, потребан је
алгоритам за пресликавање блокова главне меморије у редове кеша. Поред тога,
потребан је начин за одређивање који блок главне меморије тренутно заузима ред кеша.
Избор функције пресликавања диктира како је кеш организован. Могу да се користе три
технике:
1. Директно пресликавање
2. Асоцијативно пресликавање
3. Асоцијативно пресликавање скупа

Директно пресликавање
Најједноставнија техника, позната као директно пресликавање, пресликава сваки блок
главне меморије у само један могући ред кеша. Пресликавање се изражава као:
i=j modulo m
где је:

 i =број реда кеша


 ј=број блока главне меморије
 m=број редова у кешу
На пример блок 514 може да иде у ред 2. У реду 2 могу да се налазе блокови 2 или 514
или 1026... Сваки ред треба да садржи информацију који блок се налази у реду. Када
желино да претражујемо кеш ради неког блока, он може да се налази само на једној
одређеној локацијиу кешу. Једино што треба да урадимо је да проверимо да ли ред у коме
треба да се налази блок који тражимо, садржи баш тај блок који нама треба. Адреса
мемориске локације са које тражимо податак из главне меморије подељена је на три дела.
(слика 3.4)

Слика 3.4
Функција пресликавања се лако имплементира користећи адресе главне меморије.
Прво се трашжи адреса у кеш меморији, помоћу индекс поља, на ком треба да се налази
податак. Када се пронађе ред у кеш меморији, онда се проверава да ли се у том реду

22
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

налази блок који се тражи. У случају поготка очитава се податак из кеша. У случају
промашаја (не проналаска блока у кешу), адреса се прослеђује главној меморији.

Да резимирамо:
 дужина адресе = (s+w) битова
 број адресибилних јединица = 2𝑠+𝑤 речи или бајтова
 величина блока = беличина реда = 2𝑤 речи или бајтова
2𝑠+𝑤
 број блокова у главној меморији = = 2𝑠
𝑤2
 број редова у кешу = m = 2𝑟
 величина кеша = 2𝑟+𝑤 речи или бајтова
 величина тага = (s-r) битова
Ефекат овог пресликавања је да се блокови главне меморије додељују редовима кеша
на следћи начин:

Слика 3.5
Техника директног пресликавања је једноставна и јефтина за имплементацију. Главни
недостатак је то што постоји фиксна ликација у кешу за сваки блок. Ако се догоди да
програм поновљиво референцира речи из два различита блока који се пресликавају у
исти ред , онда ће се блокови стално избацивати из кеша и вероватноћа поготка ће бити
мала. Овај феномен се назива узалудан рад (trashing).
Овај проблем се може превазићи додавањем жртвеног кеша у коме се чувају блокови
који су одбачени. Кеш за жртвовање је асоцијативан и састоји се од 4до 16 редова кеша.
Асоцијативно пресликавање
Асоцијативно пресликавање превазилази недостатак директног пресликавања
дозвољавајући сваком мемориском блоку да се учита у било који ред кеша.

23
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 3.6
У том случају, кеш интерпретира мемориску адресу једноставно као поље за таг и поље
речи. Поље за таг јединствено идентификује блок главне меморије. Да би одредио да ли
блок у кешу, кеш мора истовремено да испита таг сваког реда ради проналажења
подударности. Ова меморија ради на приципу асоцијативних меморија. Уколико се
улазни кључ, у овом случају таг поље, поклапа са неким од кључева редова у кеш
меморији, податак из тог реда ће бити прочитан.

Слика3.7
Код асоцијативног пресликавања, постоји флексибилност у погледу тога који блок да се
замени када се нови блок учитава у кеш. Алгоритми замене пројектовани су да
максимизују вероватноћу поготка. Основни недостатак асоцијативног пресликавања су
сложена електронска кола која се захтевају да би се паралелно испитивали тагови свих
редова кеша.
БРОЈ КЕШ МЕМОРИЈА

Када су кеш меморије првобитно уведене типичан систем је имао један кеш. У новије
време употреба вишеструких кеш меморија је постала норма. Два аспекта таквог дизајна
тичу се броја нивоа кеш меморија и употребе обједињених, наспрам одвојених кеш
меморија.

Кеш меморије у више нивоа

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

24
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

унутар процесор, у поређењу са дужинама магистрале, приступи на чипу ће се завршити


значајно пре чак и од циклуса магистрале са нултим стањима чекања. Шта више, за време
тог преиода, магистрала је слободна да подржи друге преносе. Укључењем кеша на чипу
оставља отвореним питање да ли је кеш ван чипа, или сњпољашњи кеш још увек
пожељан. Најједноставнија од таквих организација је позната као кеш у два нивоа, са
интерним кешом означеним као ниво 1 (Л1) и спољашњим кешом као ниво 2 (Л2). Разлог
за укључивање кеша Л2 је следећи. Ако неме кеша Л2 и процесор прави захтев за
приступом мемориској локацији која није у кешу Л1 онда процесор мора да приступи
ДРАМ или РОМ меморији преко магистрале. Захваљујући чињеници да је у општем
случају брзина магистрале мала, а време приступа дуго, резултат је слаба перформанса.
Са друге стране ако се користи кеш Л2 СРАМ (статичка рам меморија), онда често
промашена информација може брзо да се позове. Ако је СРАМ меморија довољно брза
да одговара брзини процесора онда податку може да се приступи путем трансакције са
нултим временом чекања што је најбржа врста преноса преко магистрале. Вреди
споменути два својства савременог дизајна кеш меморије у више нивоа. Прво, за кеш Л2
изван чипа, многе конструкције не користе системску магистралу као путању за пренос
између кеша Л2 и процесора него посебну путању за податке да би се смањило
оптерећење системске магистрале. Друго, са смањивањем процесорских компонената
велики је број процесора који сада имају кеш Л2 на процесорском чипу, што побољшава
перформансе. Са повећањем расположивости површина на чипу за кеш, у већини
савремених микропроцесора кеш Л2 се премешта на процесорски чип, а додаје се кеш
Л3, кеш Л3 је првобитно приступачан преко спољашње магистрале. У новије време у
већини микропроцесора кеш Л3 је уграђен у чип.

Обједињени кеш меморије наспрам раздвојених

Кад су се кеш меморије на чипу први пут појавиле, многе конструкције састојале су се
од једног кеша који се користио за складиштење референци и на податке и на
инструкције. У новије време постало је уобичајено да се да се кеш подели на два дела,
један који је намењен за инструкције и један за податке. Оба та кеша постоје на истом
новоу, као кеш меморија нивоа Л1. Кад процесор покуша да донесе инструкције из
главне меморије он најпре испитује инструкциони кеш Л1, а када покушава да донесе
податак из главне меморије он најпре испитује кеш Л1 за податке. На слици 3.8 приказан
је хијерархија меморија на интеловом процесору са 4 језгра.

25
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

Слика 3.8

26
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16

27

You might also like