19
МАШИНСКИ ФАКУЛТЕТ УНИВЕРЗИТЕТ У БАЊА ЛУЦИ КЕШ МЕМОРИЈА Семинарски рад Предмет: Информатика

Kes memorija

Embed Size (px)

Citation preview

Page 1: Kes memorija

М А Ш И Н С К И Ф А К У Л Т Е Т

У Н И В Е Р З И Т Е Т У Б А Њ А Л У Ц И

К Е Ш М Е М О Р И Ј А

С е м и н а р с к и р а д

Предмет: Информатика

Студент: Kостић Андреја

Матични број студента: 8200

Професор: Доц. Др. Тихомир Латиновић

Бања Лука,

Page 2: Kes memorija

Садржај:

1.

Увод ...............................................................................................................................

3

2. Кеш меморија ................................................................................................................4

2.1 Величина кеша...............................................................................................7

2.3 Алгоритми замјене.........................................................................................8

2.4 Величина реда................................................................................................8

2.5 Број кеш меморија.........................................................................................9

2.6 Проблеми коришћења кеш меморија........................................................10

2.7 Кеш меморија диска...................................................................................11

3. Закључак...........................................................................................................................13

Лирература............................................................................................................................14

2

Page 3: Kes memorija

1. Увод

Све чешће је потребнода рачунари користе све комликованије апликације које

обухватају велике количине прорачуна вектора и матрица. Пројектовање кеша је

различито за различите платформе и примјене. Хијерархија кеша може да буде корисна

у побољшавању перформане ако се апликациони софтвер подеси да експлоатише кеш.

Постоји велики број иплементација кеш меморије, мало је основних елемената који

служе да се класификују и међусобно разликују архитекута кеша.

Назив кеш меморија потиче од ријечи cache memory, што у преводу значи скривена

меморија. Скривена у смислу да је реализована хардверски, да је скривена од

програмера, тј. програмер не може да утиче на кеш меморију.

3

Page 4: Kes memorija

2. Кеш меморија (cache)

Кеш меморија је веома брзи простор за смјештање података који је мањи од главног

простора за смјештање података. У кеш меморију се привремено смјештају

инструкције и подаци из главног складишта које ће CPU вјероватно следеће користити.

Смјештање одређених података у cache убрзава операције рачунара. Постоје двије

врсте cacheа: унутрашњи (или меморија cache) и спољни (или cache на диску).

Унутрашњи cache је уграђен у CPU, а спољни cache се налази на матичној плочи. Када

се позива одређени елемент, рачунар најприје провјерава унутрашњи cache, затим

спољни cache а тек на крају спорије главне записе.

Вјероватно сви искуснији корисници рачунара знају шта је кеш меморија и чему она

служи. За оне који нису упућени у ову тематику даћемо краће објашњење. Кеш

меморија је дио меморије у који се привремено уписују подаци прије његовог

пребацивања у главну меморију. Зависно од тога колико имате слобоног кеша, ваш

рачунар ће радити брже или спорије.

Баш зато је пожељно да количина кеш меморије буде што већа, али и да се тај простор

што боље искористи. Кеш меморија је слична оперативној меморији, али знатно бржа.

Задатак кеш меморије је да амортизује брзину измeђу оперативне меморије и

процесора. За меморисање података користе се исти елементи који се употребљавају у

процесору. Такве меморије називају се статичке RAM меморије.

Брзина RAM меморије је све више заостајала за брзином микропроцесора. Да би се та

несразмјера смањила, уведена је такозвана кеш меморија. За разлику од радне RAM

меморије која је динамичког типа, кеш меморија је статичког типа и има за ред

величине (око 10 пута) краће вријеме приступа. Кеш меморија је постављена између

микропроцесора и радне меморије, а њеним радом је управљао посебни кеш

контроlер. Овај контролер је на основу подарака које је микропроцесор тражио из

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

4

Page 5: Kes memorija

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

меморије и смјештао га у кеш меморију.

Слика 1. Принцип рада кеш меморије

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

Блок(понекад се назива и линија) представља скуп од n сукцесивних мемориских

локација који се увјек као цјелина преноси између оперативне и кеш меморије. То

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

налазе у кеш меморији.

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

Јединица преноса између кеш меморије и оперативне меморије је блок. Величина

блока обично износи између 4 и 128 бајтова. Капацитет кеш меморије је у опсегу од 1

до 256 кВ.

Број блокова оперативне меморије је знатно већи од броја блокова кеш меморије, тако

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

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

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

Уколико се податак са траженом адресом налази у кеш меморији, он се преноси у

процесор ради обраде или се замјењујуе новом вриједношћу из процесора која

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

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

5

Page 6: Kes memorija

оперативну меморију, а на његово мјесто се из оперативне меморије позива тражени

блок.

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

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

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

слободан да обавља неке друге послове. Кеш меморија се првобитно смјештала на

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

микропроцесор.

Сacheman је програм који контролише кеш меморију на рачунару на више начина.

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

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

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

Командни интерфејс је једноставан, а функције су груписане у четири групе: Info,

Settings, Options и Support.

Она омогућава повећање брзине обраде, јер се у њој налазе текући подаци и текуће

инструкције програма којима процесор приступа знатно брже, циљ ефикасног

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

блиско времену приступа кеш меморији.

Помоћу Сachemanа је могуће одредити број иконица које ће увјек стајати у кешу и

неће нестати његовим попуњавањем. У оквиру дјела за контролу RAM-а могуће је

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

аутоматско „чишћење“ RAM-а, уколико слободни простор „падне“ испод унапријед

одређене величине. Кликом миша на дугме Recover memory now програм ослобађа

одређену количину меморије, а резултат ослобађања се исписује на статусној линији.

Сходно великом броју подешавања , програмери су убацили и те како корисници

описују снимања профила подешавања (Profiles) а како би корисницима олакшали

посао , аутори су убацили неколико профила који би требало да задовоље сваког

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

6

Page 7: Kes memorija

Слика 2. Интерни и екстерни кеш

2.1 Величина кеша

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

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

укупно средње вријеме приступа близу онога самог кеша. Постоји још неколико

мотивација за минимизирање величине кеша. Резултат је да су велике кеш меморије

склоне да буду нешто спорије од оних малих чак и кад се праве са истом технологијом

интегрисаних кола и ставе на исто мјесто на чипу и штампаној плочи. Расположиве

површине чипа и плоче такође ограничавају величину кеша. Са обзиром на то да је

перформанса кеша врло осетљива на природу оптерећења, немогуће је доћи до једне

„оптималне“ вличине кеша.

7

Page 8: Kes memorija

2.2 Алгоритми замјене

Једном када је кеш меморија напуњена а у њу се доноси нови блок, један од постојећих

блокова мора да се замијени. Вјероватно најефикасније је да се замјени најмање скоро

коришће блок. Мијења се онај блок у склопу који је најдуже био у кешу а да није

референциран. За асоцијативно пресликавање двоструких скупова то се лако

имлементира. Сваки ред укључује бити USE (бити у употреби).

Када се ред референцира његов бит USE се постави на 1 а бит USE другог реда на 0. Са

обтиром на то да предпостављамо да ће се скорије референциране мемориске локације

вјероватније опет референцирати, алгоритам LRU би требало да обезбједи најбољу

вјероватноћу података. Друга могућност је алгоритам према редосљеду доласка (FIFO)

замјењује се онај блок који је у скупу најдуже вријеме. FIFO се лако имплементира ка

техника са кружним додјељивањем, односно циркуларним бафером. Још једн

амогућност је да се замјени најмање коришћени блок (LFU) мијења се онај блок у

скупу који је најмање пута био референциран. LFU може да се имплементира

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

Техника која се не заснива на искоришћењу је да се ред изабере на случај између

редова који су кандидати.

2.3 Величина реда

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

у кеш, позвана је не само жељена ријеч него и неколико сусједних ријечи. Када се

величина блока повећа од веома малих ка већим вјероватноћа поготка ће најприје

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

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

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

ће почети да се смањује када блок постане још већи и вјероватноћа употребе

8

Page 9: Kes memorija

ноодонесених информација постане мања од вјероватноће поновне употребе

информација које треба замјенити.

2.4 Број кеш меморија

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

Како се густина повећава постало је могуће имати кеш меморију на истом чипу као и

процесор. У поређењу са кешо доступним преко спољашне магистрале кеш на чипу

смањује спољашње активности процесора и натај начин убрзава вријеме извршења и

повећава укупну перформансу система.

Најједноставнија организација је организација у 2 нивоа са интерним кешом означен

као ниво 1 или L1 и спољашњим кешом означеним као 2 или L2. Разлог укључења

кеша „L“ је ако нема кеша L2 и процесор прави захтјев за приступом мемориској

локацији која није L1 онда процесор мора да приступи DRAM или RОM меморији

преко магистрале. Захваљујући малој брзини магистрале и дугом временском приступу

то резултује слабом перформансом. Са друге стране ако се користи L2 онда често

помјешана информација може да се позове ако је RAM меморија довољно брза да

одговори брзини процесора.

Кеш меморија првог нивоа (L1 ниво) је смјештена у самоме језгру

микропроцесора.Ова веома брза меморија има релативно мали капацитет и подјељена

је на два блока, један служи за инструкције а други за податке.Она обично ради на

истом такту као и процесор.

Кеш меморија другог нивоа(L2 ниво) има знатно већи капацитет и код данашњих

микро процесора је такође смјештена унутар самог процесорског чипа. Зависно од типа

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

такту(обично половина учесталости такта процесора).

9

Page 10: Kes memorija

Слика 4. Двонивоске кеш меморије

Увођењем кеш меморије у сам микропроцесор добило се даље повећање брзине рада

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

тога колико добро он предвиђа следеће податке који ће бити потребни микро

процесору, да би могао унапријед да их примјени.

2.5 Проблеми кришћења кеш меморија

При коришћењу кеш меморије треба ријешити четири основна проблема:

смјештање блокова - гдје ће у кеш меморији бити смјештен нови блок прочитан из

оперативне меморије;

идентификација блока – како ће бити нађен блок који се налази у кеш меморији;

замјена блокова – који блок ће бити замјењен, ако се тражени блок не налази у кеш

меморији:

стратегија уписа – како ће се поступити код уписа новог податка у кеш меморију,

јер се тада модификује блок и постаје различит од одговарајућег блока у

оперативној меморији. Најбољи начин за смјештање блокова прочитаних из

оперативне меморије јесте тзв.

Асоцијативно пресликавање-сваки се блок може смјестити било гдје у кеш меморију.

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

10

Page 11: Kes memorija

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

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

2.6 Кеш меморија диска

Оперативна меморија савремених рачунара одговара на захтјев у десетинама

наносекунди, а диск одговара на захтјеве у десетинама микросекунди, што значи да је

разлика у брзини око милион пута. Како кеш меморије значајни побољшавају вријеме

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

значајно смањује саобраћај са диском и просјечно вријеме приступа диску.

Кеш меморија диска (кеш-бафер диска) има сличну улогу као кеш меморијна у систему

кеш меморија-главна меморија. То је мемориски бафер који памти посљедње

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

ефективно вријеме приступа диску, односно повећавају ефективну брзину диска.

Процесор увјек приступа подацима предходно смјештених у кеш меморију диска кад

год му затребају.

Слика 5. Принцип рада кеш меморије диска

11

Page 12: Kes memorija

Кеш меморија диска је величине од једног до више мегабајта. Јединица преноса између

диска и кеш меморије диска обично садржи једну или више стаза диска. Кеш меморија

диска може се придружити излазно-улазном уређају, контролеру тог уређаја или

оперативној меморији процесора.

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

укључена као дио оперативне меморије.

Кеш меморију хард диска је могуће контролисати ограничавањем максималног и

минималног кеша или једноставно коришћењем неке од опција које су понуђене у

програму (максимално коришћење меморије, балансирано, максимална пропустљивост

за дјељење фајлова и максимална пропустљивост за мрежне апликације).

12

Page 13: Kes memorija

3. Закључак

Вјероватно сви искуснији корисници рачунара знају шта је кеш меморија и чему она

служи. За све оне који нису упућени у ову тематику даћемо краће објашњење. Кеш

меморија је дио меморије у коју се привремено уписују подаци пре њиховог

пребацивања у главну меморију. Зависно од тога колико имате слободног кеша, ваш

рачунар ће радити брже или спорије. И зато бих препоручио свима који се одлучују на

куповину рачунара да при куповини одаберу довољно кеш меморије јер само се

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

обављао.

13

Page 14: Kes memorija

ЛИТЕРАТУРА

1. Велимир Сотировић, Ћамил Сукић: Рачунарски системи, 2007

2. Велимир Сотировић, Ћамил Сукић: Информатика и рачунска техника, 2007

3. http://bs.wikipedia.org/wiki/Ke%C5%A1

4. www.znanje.org/knjige/computer/hardware/02/ memorija .pdf

14