Professional Documents
Culture Documents
Ram, Rom I Kes Memorija
Ram, Rom I Kes Memorija
СТРУКОВНИХ СТУДИЈА
Студенти: Предметни
професор:
Бранислав Вујановић РТ - 43/16 Др. Синишa Минић
Вања Васковић РТ - 119/16
Милош Планинчић РТ - 74/16
Садржај:
1
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
1. ОПШТИ ПОЈМОВИ
УВОД У МЕМОРИЈУ
велику брзину,
велики капацитет,
прихватљиву цену.
регистарска меморија,
кеш-меморија.
1
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
Спољна меморија има много већи капацитет од главне меморије, али је и много
спорија од ње. Спољна меморија служи за дуготрајно чување (складиштење) системских
и апликационих програма, чување резервних копија података и др., односно за чување
програма и података који не захтевају стално присуство у главној меморији. Састоји се
од периферних меморијских уређаја којима процесор приступа преко улазно-излазног
подсистема рачунара. Подаци из спољне меморије доступни су процесору тек после
преноса у главну меморију.
ПАРАМЕТРИ МЕМОРИЈА
Брзина преноса – је број битова, бајтова или меморијских речи које уређај може
пренети у једној секунди после постављања уписно-читајуће главе на почетак
блока или сегмента података. Назива се пропусност меморије;.
ХИЈЕРАРХИЈА МЕМОРИЈА
Главна меморија рачунара је увек била недовољна и исувише скупа да се само са њом
рачунару обезбеди меморија потребног капацитета. Меморијски медијуми који је могу
допунити, као што су магнетни дискови, имају много нижу специфичну цену, али су и
много спорији од ње. Проблем је решен тако што је главној меморији, као примарној
меморији, придодата јединица диска као секундарна меморија, чиме је побољшана
ефикасност рада рачунара. При томе се у мањој и бржој главној меморији држе само
подаци и програми које процесор користи у датом тренутку. Сви остали подаци чувају
се на секундарној (спољној) меморији и преносе се у главну меморију када су потребни.
Други проблем са меморијама је њихова брзина. Наиме, код рачунара је одувек била
присутна разлика у брзини централног процесора и главне меморије. Напредак у развоју
технологија и архитектуре процесора чак је ову разлику све више повећавао. Било је
много покушаја да се брзина меморије приближи брзини процесора. Увођење регистра
опште намене у процесор само је делимично ублажило овај проблем. Али, тек су тзв.
кеш-меморије успешно премостиле јаз у брзинама процесора и главне меморије. Данас
се укупно расположива меморија рачунара реализује као меморијски систем –
хијерархијски систем компонената који се састоји од свих меморијских уређаја које
коирсти рачунарски систем, слика 2.1.
3
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
Овде се на доњем нивоу хијерархије налазе споре магнетне и стример траке које су
данас избачене из употребе, а које су се пре свега користиле за архивирање података.
Следећи ниво чине компакт дискови и магнетно – оптичке меморије као спољне
4
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
5
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
Капацитет оперативне меморије је реда 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.
7
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
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
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 који чини врло ефикасно коришћење
чип области које се могу брисати и репрограмирати хиљадама пута без оштећења.
Слика 2.1
11
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
ТИПОВИ
Класични ма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
Слика 3.1
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. КЕШ МЕМОРИЈА
УВОД У КЕШ
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
Главна меморија се састоји од 2^n адресибилних речи, где свака реч има једниствену n-
битну адресу. У сврху пресликавања, та меморија је замишљена да се састоји од извесног
броја блокова фиксне дужине,сваки по К речи. То занчи да постоји М=2^n /К блокова.
Кеш меморија се састоји од m блокова који се зову редови. Сваки ред садржи К речи, таг
од неколико битова и управљачке битове. Дужина реда, не укључује таг и управљачке
битове, зове се величина реда. Број редова у кеш меморији значајно је мањи од броја
редова у главној меморији (m << M ) .
Ако се чита реч у блоку меморије , тај блок се преноси у један од редова кеша. С обзиром
на то да има више блокова него редова, појединачни ред не може трајно да се додели
одређеном блоку. Према томе, сваки ред укључује таг који идентификује који је блок
тренутно ускладиштен. Таг је део адресе блока у главној меморији. На слици 3.1
приказана је структура кеш и главне меморије.
18
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
Слика 3.1
Случај када се податак није у кеш меморији се назива промашај у кешу (cache miss). А
време потребно да се пронађе блок, у коме се налази тражена реч, достави се прво кеш
меморији па онда процесору , зове се кашњење у промашају (miss latency). На слици 3.2
приказан је алгоритам за упис података у процесор.
19
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
Слика 3.2
20
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
Слика 3.3
21
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
ФУНКЦИЈЕ ПРЕСЛИКАВАЊА
С обзиром на то да има мање редова кеша него блокова у главној меморији, потребан је
алгоритам за пресликавање блокова главне меморије у редове кеша. Поред тога,
потребан је начин за одређивање који блок главне меморије тренутно заузима ред кеша.
Избор функције пресликавања диктира како је кеш организован. Могу да се користе три
технике:
1. Директно пресликавање
2. Асоцијативно пресликавање
3. Асоцијативно пресликавање скупа
Директно пресликавање
Најједноставнија техника, позната као директно пресликавање, пресликава сваки блок
главне меморије у само један могући ред кеша. Пресликавање се изражава као:
i=j modulo m
где је:
Слика 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, а када покушава да донесе
податак из главне меморије он најпре испитује кеш Л1 за податке. На слици 3.8 приказан
је хијерархија меморија на интеловом процесору са 4 језгра.
25
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
Слика 3.8
26
Бранислав Вујановић РТ 43/16
Милош Планиничић РТ 74/16
Вања Васковић РТ 119/16
27