You are on page 1of 38

Contents

32. ПАРАЛЕЛНИ САБИРАЧИ СА СЕРИЈСКИМ ПРЕНОСОМ (RCA).........................................................................................2


33. ПАРАЛЕЛНИ САБИРАЧИ СА ПАРАЛЕЛНИМ ПРЕНОСОМ (CLA).....................................................................................3
34. ПАРАЛЕЛНИ САБИРАЧИ СА ИЗБОРОМ ПРЕНОСА (CSLA)..............................................................................................4
34. МНОЖЕЊЕ ПРОСТО ОЗНАЧЕНИХ ЦИЈЕЛИХ БРОЈЕВА..................................................................................................6
36. МНОЖЕЊЕ ПРЕКОДИРАЊЕМ МНОЖИОЦА И БУТОВ АЛГОРИТАМ ЗА МНОЖЕЊЕ...................................................8
37. МНОЖЕЊЕ ПРЕКОДИРАЊЕМ ПАРОВА БИТОВА МНОЖИОЦА..................................................................................10
38. ДИЈЕЉЕЊЕ ЦИЈЕЛИХ БРОЈЕВА....................................................................................................................................11
39. ПРЕДСТАВЉАЊЕ РЕАЛНИХ БРОЈЕВА СА ПОКРЕТНОМ ЗАПЕТОМ.............................................................................12
40. СТАНДАРД IEEE 754-85 ЗА БИНАРНУ АРИТМЕТИКУ СА ПОКРЕТНОМ ЗАПЕТОМ.....................................................13
41. САБИРАЊЕ БРОЈЕВА СА ПОКРЕТНОМ ЗАПЕТОМ........................................................................................................14
42. МНОЖЕЊЕ И ДИЈЕЉЕЊЕ БРОЈЕВА СА ПОКРЕТНОМ ЗАПЕТОМ................................................................................15
43. ДОДАТНЕ ЦИФРЕ ЗА ОЧУВАЊЕ ТАЧНОСТИ РЕЗУЛТАТА И ЗАОКРУЖИВАЊЕ............................................................16
44. СВОЂЕЊЕ РАЗЛОМКА РЕЗУЛТАТА НА ПОТРЕБАН БРОЈ ЦИФАРА И ГРЕШКЕ КОЈЕ СЕ ПРИ ТОМЕ ПРАВЕ.................17
45. ПАРАМЕТРИ МЕМОРИЈЕ..............................................................................................................................................18
46. СИНХРОНЕ ДИНАМИЧКЕ RAM (DRAM) МЕМОРИЈЕ (SDR, DDR, DDR2 I DD3 SDRAM)................................................20
47. УПРАВЉАЊЕ DRAM МЕМОРИЈАМА И ОСВЈЕЖАВАЊЕ DRAM МЕМОРИЈА...............................................................22
49. СТАТИЧКЕ RAM (SRAM) МЕМОРИЈЕ............................................................................................................................24
50. АСОЦИЈАТИВНА МЕМОРИЈА.......................................................................................................................................25
51. ХИЈЕРАРХИЈСКИ МЕМОРИЈСКИ СИСТЕМ РАЧУНАРА..................................................................................................27
52. КЕШ МЕМОРИЈЕ СА ДИРЕКТНИМ, СКУПНО-АСОЦИЈАТИВНИМ И ПОТПУНО АСОЦИЈАТИВНИМ ПРЕСЛИКАВАЊЕМ
............................................................................................................................................................................................ 29
58. ГЛАВНА (ОПЕРАТИВНА) МЕМОРИЈА РАЧУНАРА.........................................................................................................30
59. МАГНЕТНИ ДИСКОВИ И СМЈЕШТАЊЕ ПОДАТАКА НА ЊИМА...................................................................................32
60. ВИРТУЕЛНА МЕМОРИЈА (ОПШТЕ)...............................................................................................................................34
61. СТРАНИЧНО ОРГАНИЗОВАНА ВИРТУЕЛНА МЕМОРИЈА.............................................................................................36
62. КЕШ ЗА ПРЕВОЂЕЊЕ ВИРТУЕЛНИХ АДРЕСА (ТLB)......................................................................................................38
63. ВИШЕНИВООСКА СТРАНИЧНА ТАБЛИЦА....................................................................................................................39
Архитектура и организација рачунара Драган Радовић 2013

32. ПАРАЛЕЛНИ САБИРАЧИ СА СЕРИЈСКИМ ПРЕНОСОМ (RCA)


Увод:
Нека су a= a3 a2 a1 a0и b= b3 b2 b1 b0четверобитни бинарни бројеви. Напишимо логичке изразе за
суму и пренос код потпуног бинарног сабирача у сљедећем облику (· , +, ⊕ означавају логичке
операције И, ИЛИ, искључиво ИЛИ, респективно):
si = ai ⊕ bi ⊕pi-1,
pi= ai · bi + (ai ⊕ bi)· pi-1, i=0,1,2,3,
при чему је p-1пренос у позицију најмање тежине, а p3 пренос из позиције највеће тежине.
Уведимо функције gi = ai · bi и ti = ai ⊕ bi.
gi– генератор преноса, јер за gi=1 уi-тој позицији генерише пренос у (i+1)-ву позицију,
ti– прослијеђивач преноса, јер се за t i=1пренос из (i-1)-ве позиције прослијеђује у (i+1)-ву
позицију. Сада се изрази за siи piмогу написати у облику:
si = ti ⊕pi-1,
pi= gi + ti· pi-1, i=0,1,2,3.
На основу израза за piможе се пренос из позиције највеће тежине р 3 изразити као функција
само улаза а3а2а1а0 и b3b2b1b0и преноса р-1:
р3= g3⊕ t3· p2 = g3⊕ t3· (g2⊕ t2· p1)
p3 = g3⊕ t3· (g2⊕ t2· (g1⊕ t1· p0))
На основу претходног израза могуће је реализовати блок шему паралелног бинарног сабирача
као на слици.

Максимално вријеме сабирања на оваквом сабирачу ширине n битова одређено је временом


простирања преноса кроз свих n позиција сабирача.
TS RCA = nTl = 2nTe,
TS RCA – вријеме сабирања,
Тl – вријеме простирања преноса кроз једнобитни потпуни сабирач,
Те – вријеме простирања сигнала кроз један логички елемент.
Највећа дужина ланца преноса има средњу вриједност која није већа од log2 n.

2
Архитектура и организација рачунара Драган Радовић 2013

33. ПАРАЛЕЛНИ САБИРАЧИ СА ПАРАЛЕЛНИМ ПРЕНОСОМ (CLA)


Основни недостатак сабирача са серијским преносом је дуго вријеме сабирања.
Развијањем израза:
p3 = g3⊕ t3· (g2⊕ t2· (g1⊕ t1· p0)) добија се:
p3 = g3⊕ t3· g2⊕ t3· t2· g1⊕ t3· t2· t1· g0⊕ t3· t2· t1· t0· p-1

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

Предности:
- TS CLA = 4Te (кратко вријеме сабирања, које не зависи од ширине сабирача n).
Недостаци:
- велики обим логике,
- потреба за коришћењем у k-тој позицији (k = 0,1,..., n-1) ИЛИ логичког елемента са (k+2)улаза
и (k+1) И логичких елемената са (2k+2)улаза,
- велика излазна оперативност (fanout) коришћених логичких елемената.

3
Архитектура и организација рачунара Драган Радовић 2013

34. ПАРАЛЕЛНИ САБИРАЧИ СА ИЗБОРОМ ПРЕНОСА (CSLA)


Вријеме сабирања на сабирачу са серијским преносом може се скратити ако се скрати пут
простирања преноса кроз овакав сабирач. То се може постићи диобом n битова сабирака на
краће групе битова, нпр. дужине k, тако да је n = m· k. Поред наведеног, треба обезбједити да
свих k-битних сабирача раде паралелно на формирању n-битне суме.
У свим k-битним групама сабирака, осим групе најмање тежине, улазни податак је и пренос из
претходне групе мање позиције. Вриједност овог преноса позната је тек по окончању сабирања
у претходној групи. За паралелан рад свих m k-битних сабирача ове резултате потребно је
знати на самом почетку сабирања. Та временска неусаглашеност може се ријешити на сљедећи
начин:
Формирати у свакој позицији по два k-битна сабирача са серијским преносом: један са
претпоставком да ће пренос бити 0, а други са претпоставком да ће пренос бити 1 из претходне
групе. Само у групи најмање тежине овакво удвајање није потребно, јер је пренос из
претходне позиције унапријед познат. Ова два преноса се воде на улазне линије
мултиплексера 2 кроз 1, док се пренос из претходне групе доводи на бирачку линију, којa ће
„изабрати“ један од два већ припремљена резултата.

Избори сума у оквиру група врше се сигналима одређеним сљедећим логичким изразима:
Y2= p3 ,
Y3 = p07 + p17p3 ,
Y4= p011 + p111Y3 = p011 + p111p07 + p111p17p3.
ИзразY3 = p07 + p17p3говори да се пренос из друге групе може добити генерисањем преноса у тој
групи (p07= 1) или прослијеђивањем преноса p3из прве гупе кроз другу групу (p17p3=1). Иста
логика важи за Y4.

TSCSLA=TgRCA+(m-2)2Te+TMUX= k⋅2Te+2(m-2)Te+3Te
TSCSLA= (2k+2m 1)Te
TSCSLA – укупно вријеме сабирања,
Те – вријеме простирања кеоз један логички елемент,
(ТMUX)max = 3Te.
Цијена за ово повећање врзине је скоро двоструко већи обим хардвера сабирача са избором
преноса (CSLA) у односу на сабирач са серијским преносом (RCA).

4
Архитектура и организација рачунара Драган Радовић 2013

5
Архитектура и организација рачунара Драган Радовић 2013

34. МНОЖЕЊЕ ПРОСТО ОЗНАЧЕНИХ ЦИЈЕЛИХ БРОЈЕВА


Нека су дати просто означени множеник a= am am-1 ... a1 a0и множилац b= bm bm-1 ... b1 b0, гдје
треба израчунати производ c = a · b. У запису операнада a и b цифре у позицији m су цифре
знака, а остатак представља апсолутну вриједност броја. Производ с је дужине (2m+1) бита, са
цифром знака одређеном изразом c2m = (am⊕bm),и апсолутном вриједношћу одређеном
изразом |a|· |b|.
Могуће су двије варијанте множења:
Множење почев од цифре најмање тежине:
C1 = b0· |a|
C2 = C1 + 21 b1 · |a|
...
Cm = Cm-1 + 2m-1 bm-1· |a| , или итеративним поступком:
Ci = Ci-1 + 2i-1 bi-1· |a| ; i=2,...,m.
Множење почев од цифре највеће тежине:
C1 = bm-1· |a|
C2 = 2C1 + bm-2· |a|
...
Cm = 2C,-1 + b0· |a| , или итеративним поступком:
Ci = 2Ci-1 + bm-1· |a| ; i=2,...,m.
При множењу на оба начина парцијални производи морају бити међусобно позиционирани у
складу са својим тежинама. То се постиже тиме што се парцијални производи већих тежина
помјерају улијево у односу на парцијалне производе мањих тежина, у складу са тежинама
цифара множиоца.
Примјер множењапочев од цифре најмање тежине:
1010
х1011
1010
1010
0000
1010
1101110

Множач садржи регистре А, В и Р и паралелни бинарни сабирач. У припреми множења,


множеник и множилац уносе се у регистре А и В, респективно, док се помоћни регистар Р
брише. У току множења, садржај регистра Р и Б се помјерају удесно, и то тако да цифра
позиције 0 регистра Р прелази у позицију (m-1) регистра В. Цифра знака множиоца изузета је
из овог помјерања. Цифра знака производа формира се по окончању израчунавања апсолутне
вриједности производа.

6
Архитектура и организација рачунара Драган Радовић 2013

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


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

7
Архитектура и организација рачунара Драган Радовић 2013

36. МНОЖЕЊЕ ПРЕКОДИРАЊЕМ МНОЖИОЦА И БУТОВ АЛГОРИТАМ ЗА


МНОЖЕЊЕ
На основу алгоритма за множење, може се закључити да ће вријеме извршења бити краће
уколико је у множиоцу мање јединица, тј. мање испуњених услова В 0=1. Нека је дат број
b=1011110 који се може представити и као1100000-1000010. Ова разлика се може приказати и као
b = 11000Ī0, гдје Ī означава да 1 има негативан знак. Ī помножен са бројем а представља број а у
другом комплементу. Правила прекодирања цифара дата су у табели.

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

Регистар В продужен је за један бит (за помоћну цифру за прекодирање множиоца).

8
Архитектура и организација рачунара Драган Радовић 2013

37. МНОЖЕЊЕ ПРЕКОДИРАЊЕМ ПАРОВА БИТОВА МНОЖИОЦА


Парцијални производи формирани прекодираним паровима цифара дати су у табели. Са
bpi+1,iозначена је вриједност прекодираних цифара bi+1и biсведена на позицијуi. Множење са 2
представља помјерање бинарног броја за једну позицију улијево,нпр. 7 10 х 210 = 1112 х102 =
111<<1 = 1110. Овим се број парцијалних производа преполовљује у односу на множење
оригиналним множиоцем или множењем према Бутовом алгоритму.

Могуће је вршити множење и прекодирањем три цифре множиоца. Такви парцијални


производи дати су у табели 2. Парцијални производ 3ха = а+2а се памти и касније се по
потреби позива.

9
Архитектура и организација рачунара Драган Радовић 2013

38. ДИЈЕЉЕЊЕ ЦИЈЕЛИХ БРОЈЕВА

10
Архитектура и организација рачунара Драган Радовић 2013

39. ПРЕДСТАВЉАЊЕ РЕАЛНИХ БРОЈЕВА СА ПОКРЕТНОМ ЗАПЕТОМ


Увод:
Реални бројеви се могу представити:
- са фиксном запетом, када се извјестан број позиција резервише за представљање
разломљеног дијела броја,
- са покретном запетом, када се број исказује навођењем двије величине: мантисе М,
односно значајника Z и експонента Е. Такође мора бити задата и основа експонента В.
У употреби су два нормализована облика броја:
- старији облик а=М· В Е у коме је М нормализована мантиса, 1/В ≤ М < 1, В основа
експонента, B={2,8,10,16} и Е експонент,
- новији облик, дефинисан стандардом IEEE 754-85, a = Z· B Eу коме је Z значајник, 1≤Z<2, а
основа експонента В=2. Значајник Z је облика Z=z,f , у коме је z цијелио дио значајника, a
f је разломак 0≤f<1.

Ради једноставнијег поређења експонената два броја, експонент Е се представља у


поларизованом облику е=Е+Р, гдје је
-Р поларизација или помак, величине Р=2k-1(старији облик) или Р=2k-1 -1,
-k број бинарних цифара експонента.
Овом трансформацијом се вриједност експонента Е из опсега [-(2 k-1 -1), 2k-1] при пларизацији
P=2k-1 -1 пресликавају у опсег вриједности [0, 2k -1] поларизованог експонента е.

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


његових елемената:
- знака ѕ , дужине једног бита,
- поларизованог експонента е, дужине k битова, и
- мантисе М, односно разломка f, дужине m битова.

Критеријуми за оцјену представљања бројева са покретном запетом:


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

11
Архитектура и организација рачунара Драган Радовић 2013

40. СТАНДАРД IEEE 754-85 ЗА БИНАРНУ АРИТМЕТИКУ СА ПОКРЕТНОМ


ЗАПЕТОМ
Стандард предвиђа представљање бројева у облику а=Z· B e са поларизацијом вриједности Р=2k-
1
-1.
Z – значајник, В – основа експонента, е – поларизовани облик експонента. Пошто цијели ди
нормализованог значајника мора бити једнак јединици, при чувању податка а ван ФП
функционалних јединица, могуће је изоставити ову јединицу, а од значајника чувати само
разломак. Зато се z=1 у нормализованом значајнику Z=z,fназива имплицитна или скривена
јединица.
Стандард, такође, предвиђа четири формата за представљање бројева са покретном запетом: са
једноструком прецизношћу, са двоструком прецизношћу, са једноструком проширеном
прецизношћу и двоструком проширеном прецизношћу.

Формат једноструке прецизности:


Податак се смјешта у 32 бинарне позиције, са дужинама поља приказаним на слици 1.
Позиција 0 је MSB,а позиција 31 је позиција LSB. Поларизација Р=127.
Вриједност податка а, v(a):
- ако је е=255 и f≠0, v=NeB (Није број, Not a Number NaN),
- ако је е=255 и f=0, v=(-1)s· ∞,
- ако је 0<е<255, v=(-1)s· 2е-127· (1,f),
- ако је е=0 и f≠0, v=(-1)s· 2-126· (0,f),
- ако је е=0 и f=0, v=(-1)s· 0, (нула).
Формат двоструке прецизности:
Податак се смјешта у 64 бинарне позиције, са дужинама поља приказаним на слици 2.
Позиција 0 је MSB, a позиција 63 је LSB. Поларизација P=1023.
Вриједност податка а, v(a):
- ако је е=2047и f≠0, v=NeB,
- ако је е=2047и f=0, v=(-1)s· ∞,
- ако је 0<е<2047, v=(-1)s· 2е-1023· (1,f),
- ако је е=0 и f≠0, v=(-1)s· 2-1022· (0,f),
- ако је е=0 и f=0, v=(-1)s· 0, (нула).

Денормализоване вриједности бројева су још једна специфичност стандарда IEEE-754. Умјесто


да се вриједности између 0 и 1,0 x 2Emin представљају као 0 (што даје поткорачење формата), ове
вриједности представљају се као 0,f x 2Emin.
Ово даје постепено поткорачење, чиме се добија још 2m -1 представљивих вриједности
различитих од нуле у области малих вриједности.

12
Архитектура и организација рачунара Драган Радовић 2013

41. САБИРАЊЕ БРОЈЕВА СА ПОКРЕТНОМ ЗАПЕТОМ


Увод:
При обављању аритметичких операција значајник Z=z,f узима се у пуном облику, а сама
активност се назива распакивање ФП операнда. Она такође укључује одређивање типа
операнада (нормализован, денормализован, НеБ, ∞). При слању резултата ван аритметичке
јединице, из нормализованог значајника може се одстранити његов цијели дио, цифра z=1 или
0. Ова активност се назива паковање ФП операнда.
Сабирање, односно одузимање, обавља се свођењем оба сабирка на исти експонент. При томе
већи сабирак мора остати нормализован, па се експонент мањег сабирка изједначава са
експонентом већег сабирка. То мора бити праћено помјерањем значајника мањег сабирка
удесно за број бинарних позвија одређен разликом експонента већег и мањег сабирка. Овим
помјерањем мањи сабирак постаје денормализован.
c = Zc· 2ec = Za· 2ea ± Zb· 2eb = (Za· 2ea-d ± Zb· 2eb-d) · 2d
d = max(ea, eb); Zc = Za· 2ea-d ± Zb· 2eb-d; ec = d.

Операција сабирања-одузимања у формату једноструке прецизности:


СО1. Изабрати сабирак са мањим експонентом и његов значајник помјерити удесно за број
бинарних позиција одређен разликом еспонента већег и мањег сабирка.
СО2. За експонент резултата узети већи експонент сабирка.
СО3. Сабрати-одузети значајнике и одредити знак резултата.
СО4. Ако је потребно, нормализовати вриједност резултата, свести вриједност разломка на 23
цифре иза бинарне запете, и ако је потребно поново нормализовати вриједност резултата.
СО5. Провјерити резултат на прекорачење-поткорачење:
- прекорачење: ако је ec>254, узети ес=255, fc = 0;
- поткорачење: ако је ec=0 и Z=0,fc, при чему је fc<2-23, узети Zc=0,0.

13
Архитектура и организација рачунара Драган Радовић 2013

42. МНОЖЕЊЕ И ДИЈЕЉЕЊЕ БРОЈЕВА СА ПОКРЕТНОМ ЗАПЕТОМ


Множење у формату једноструке прецизности:
М1. Сабрати експоненте и одузети поларизацију: ec=ea+eb-P.
М2. Помножити значајнике и одредити знак резултата Sc = Sa⊕ Sb.
М3. Ако је потребно, нормализовати вриједност резултата, свести вриједност разломка на 23
цифре иза бинарне запете, и ако је потребно поново нормализовати вриједност резултата.
М4. Провјерити резултат на прекорачење-поткорачење:
- прекорачење: ако је ec>254, узети ес=255, fc = 0;
- поткорачење: ако је ec=0 и Z=0,fc, при чему је fc<2-23, узети Zc=0,0.
Одузимање поларизације Р у кораку М1 је посљедица коришћења експонента у облику „вишка
Р“.

Дијељење у формату једноструке прецизности:


Д1. Одузети експоненте и додати поларизацију: ec=ea-eb+P.
Д2. Подијелити значајнике и одредити знак резултата Sc = Sa⊕ Sb.
Д3.Ако је потребно, нормализовати вриједност резултата, свести вриједност разломка на 23
цифре иза бинарне запете, и ако је потребно поново нормализовати вриједност резултата.
Д4.Провјерити резултат на прекорачење-поткорачење (исто је за све аритметичке операције).
Додавање поларизације Р у кораку Д1 неопходно је да би се експонент резултата задржао у
поларизованом облику.

14
Архитектура и организација рачунара Драган Радовић 2013

43. ДОДАТНЕ ЦИФРЕ ЗА ОЧУВАЊЕ ТАЧНОСТИ РЕЗУЛТАТА И ЗАОКРУЖИВАЊЕ


При свођењу значајника (или мантисе) резултата на одређену дужину (24 односно 53 бита)
довољно је израчунати разломак (мантису) резултата са двије односно три додатне цифре у
односу на предвиђену дужину разломака (мантиса). Те цифре су цифра заштите, цифра
заокруживања и лијепљиви бит.
Цифре заштите и заокружења су цифре у бројном систему одређеном основом експонента (В),
и према стандарду IEEE 754 то су такође битови. Ове цифре су прве двије сљедеће цифре
резултата иза посљедње цифре разломка (мантисе), одређене коришћеним форматом.
Лијепљиви бит има вриједност 1, ако је остатак резултата послије издвајања разломка и цифара
заштите изаокружења различит од нуле, иначе има вриједност 0. Лијепљиви бит формира се
као резултат ИЛИ логичке операције свих преосталих битова цифара резултата иза цифара
заштите и заокружења.
Потреба за цифром заштите:
- при сабирању-одузимању 10,000...00 ≤ |Zg| + |Zb|≤ 11,11...10, 0 ≤ |Za|-|Zb|< 1;
- при множењу 1≤ Za· Zb≤ 11,111...11;
- при дијељењу 0,1000.00 <Za / Zb≤ 1,111...1 .

Нека су g, r и s цифре заштите и заокружења и лијепљиви бит. Од резултата операције који


укључује ове цифре треба прећи на на сведени резултат који је нормализован и који се уклапа
у одговарајући формат. Нека су r’ и ѕ' цифра заокружења и лијепљиви бит који остају послије
такве нормализације, и који ће бити коришћени при заокруживању овог резултата.

15
Архитектура и организација рачунара Драган Радовић 2013

44. СВОЂЕЊЕ РАЗЛОМКА РЕЗУЛТАТА НА ПОТРЕБАН БРОЈ ЦИФАРА И ГРЕШКЕ


КОЈЕ СЕ ПРИ ТОМЕ ПРАВЕ
Свођење разломка на потребан број цифара може се извршити одсјецањем и заокруживањем.

Одсјецање (truncating) је поступак којим се одбацују додатне цифре разломка, тако да се добија
Z=1,f-1f-2 ...f-23. Како ова вриједност апроксимира вриједности значајника из опсега Z=1,f-1f-2 ...f-
2300 – Z=1,f-1f-2 ...f-2311, то се грешка апроксимације одсјецањем мијења у границама од 0,00...0|

00...0 – 0,00...0|11...1, гдје вертикална црта омеђује прве 23 цифре разломка. Максимална
вриједност грешке апроксимације је приближно једнака вриједности јединице у позицији
цифре f-23 (2-23). За ову апроксимацију кажемо да је поларизована, зато што је грешка увијек
истог (позитивног) знака.

Заокруживање (rounding) је поступак којим се значајник облика 1,f-1f-2 ...f-23rs замјењује


вриједношћу добијеном додавањем цифре r у позицији цифре f-23. При r=0 заокруживање се
своди на одсјецање. У овом случају, када су могуће тачне вриједности у опсегу 1,f-1f-2 ...f-2300...0 –
1,f-1f-2 ...f-2311...1, заокруживањем се прави грешка апроксимације у опсегу 0,00...0|00...0 – 0,00...0|
01...1. При r=1, када су могуће тачне вриједности у опсегу 1,f-1f-2 ...f-2310...0 – 1,f-1f-2 ...f-2311...1,
заокруживањем се прави грешка у опсегу -0,00...0|01...1 – 0,00...0|00...0. Грешка која се при
заокруживању прави је промјењивог знака, па није поларизована. Максимална вриједност
грешке апроксимације је 2-24 (1 у позицији -24), што је половина вриједности максималне
грешке при одсјецању.

Стандард IEEE 754-85 предвиђа четири могућа начина заокруживања:


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

16
Архитектура и организација рачунара Драган Радовић 2013

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


Увод:
Меморија је физички или логички издјељена на блокове, чије су величине одређене дужинама
основних типова података у архитектури рачунара, или њиховим цјелобројним умношцима.
Такве блокове меморије, којима се приступа одједном, називамо меморијским локацијама.
Обично је дужина меморијских локација једнака дужини регистара у процесору.
Према информацијама на основу којих приступамо меморији да би из ње прочитали, или у њу
уписали податак, меморије могу бити са приступом на основу:
- адресе (адресни приступ, подразумјева да је позната адреса податка у меморији), и
- вриједности дијела податка (асоцијативни приступ, користи се познавање садржаја поља
за приступ ширем податку у меморији).
Код начина и редослиједа приступа меморији можемо класификовати:
- меморије са случајним приступом (нема ограничења у погледу начина и редослиједа
приступа подацима у меморији, а времена приступа локацијама независна су од
положаја локација у меморији), и
- меморије са серијским приступом (приступ је могућ само по унапријед одређеном
редослиједу).
По очувању података, могуће је класификовати:
- несталне меморије (volatile memories), чувају податке до престанка напајања ел.
енергијом (у ову групу спадају полупроводничке меморије), и
- сталне меморије (nonvolatile memories), чувају податке и након престанка напајања ел.
енергијом (у ову групу спадају меморије са магнетним записом).
Капацитет меморије мјери се количином података коју меморија може да прихвати и чува.
Изражава се у килобајтима (КВ), мегабајтима (МВ), гигабајтима (GB) или терабајтима (ТВ).
Вријеме приступа меморији (access time – tA ) дефинише се као временски интервал од приспјећа
захтијева за читање меморије до тренутка када тај податак постане расположив на излазима
података меморије. Често се користи и термин латенција меморије.
Вријеме циклуса меморије (cycle time – tC ) дефинише се као најкраћа периода са којом меморија
може успјешно прихватити узастопна обраћања. Наводи се само за меморије са произвољним
приступом.
Пропусност меморије (memory bandwidth) представља брзину преноса података у или из
меморије. Најчешће се изражава у МВ/ѕ, а означава се са D.
TB = tA +L/D,
TB–вријеме прибављања блока података из меморије,
tA– вријеме приступа,
D – пропусност меморије,
L – блок података дужине L, који меморија подржава.
Снага дисипације представља снагу коју захтијева меморија за свој рад. Снага дисипације наводи
се за оперативни режим и за режим мировања. У меморији се претвара у топлоту, која може
оштетити меморијске компоненте. Снага дисипације посебно је критична у преносивим
17
Архитектура и организација рачунара Драган Радовић 2013

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


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

18
Архитектура и организација рачунара Драган Радовић 2013

46. СИНХРОНЕ ДИНАМИЧКЕ RAM (DRAM) МЕМОРИЈЕ (SDR, DDR, DDR2 I DD3
SDRAM)
DRAM (Dynamic Random Access Memory)је полупроводничка меморија која као једнобитну
меморијску ћелију користи пар МОЅ транзистор-кондензатор. Информација се памти у виду
наелектрисања кондензатора, којим је он напуњен при упису податка. Меморија је динамичка
зато што се наелектрисање кондензатора периодично мора обнављати, иначе долази до
губитка уписаног податка.
SDRAM (Synchronous DynamicRandom Access Memory)је тип DRAM-a чији је рад
синхронизован улазним тактним сигналом. SDRAM је развијен са идејом да ће синхронизација
системског такта и радног такта меморије олакшати управљање и магистралом и меморијом.
Асинхрономјезгру меморије додати су и управљачки регистри, који омогућују да се радом
SDRAM-a управља командама. Команда је комбинација логичких нивоа управљачких сигнала.
Типичне команде су команда активирања врсте, команда читања или уписа итд. Чип SDRAM
меморије садржи неколико независних меморијских банака (поља меморијских ћелија) са
припадајућим адресним колима и сенс појачавачима (баферима врста), чији се рад може
преклапати. Преко управљачких регистара SDRAM-a могуће је изабрати једну од понуђених
дужина (4 или 8 ријечи) групе података који се могу прочитати или уписати једним приступом
у такозваном режиму групе. При несеквенцијалним приступима меморији тешко је одржати
већу пропусност меморије из више разлога:
- банци се не може приступи за вријеме латенције између претпуњења банке и
активирања врсте (претпуњење је једна од фаза приступа DRAM меморији, у којој се
обавља деактивирање свих линија ријечи и довођење бита линије на средњи напонски
ниво),
- између приступа колонама ради читања и уписа потребан је један празан тактни циклус
у коме линије података пролазе кроз стање високе импедансе,
- постојећи скуп адресних линија користи се у свим операцијама (претпуњење,
активирање врсте, приступ колони).
SDRAM меморије расположиве су у четири варијанте:
- SDR DRAM (Singla Data Rate),
- DDR DRAM (Double Date Rate),
- DDR2 SDRAM, и
- DDR3 SDRAM.
Оне се разликују по обиму прибављених података по једном налогу, начину преноса података
између SDRAM чипа и контролера DRAM-a и брзини меморијског језгра. SDR DRAM преноси
по једну ријеч у сваком тактном циклусу, док остала три типа SDRAM-a преносе по двије
ријечи у сваком тактном циклусу, по једну при растућој и опадајућој ивици тактног сигнала.
Уз то, DDR2 и DDR3 размјењују податке са контролером DRAM-a при двоструко, односно
четвероструко већој учестаност од унутрашње радне учестаности SDRAM чипа. Данас се DDR2
и DDR3 SDRAM меморијски чипови изграђују са капацитетом 512 Mb, 1 Gb, 2Gb и 4Gb, са 4 и 8
банака, са 4-16 улазно-излазних линија података, са могућношћу рада на 200-800 MHz. DDR,
19
Архитектура и организација рачунара Драган Радовић 2013

DDR2 и DDR3 SDRAM са n улазно-излазних линија података при сваком читању умјесто n-то
битног податка прибављају из поља меморијских ћелија податак дужине 2n битова, 4n битова и
8n битова, респекривно. Онда могу по један n-то битни податак да доставе два пута у току
једног тактног циклуса. Брзина DDR SDRAM чипова исказује се брзином преноса података по
једном прикључку података у Мb/s и латенцијом CL.Примјер: DDR400, CL=2,5 означава DDR
меморију која ради на 200 MHz, има максималну брзину преноса података по једном
прикључку 400 Мb/s и латенцију приступа колони од 2,5 периоде такта, односно 12,5 ns.

20
Архитектура и организација рачунара Драган Радовић 2013

47. УПРАВЉАЊЕ DRAM МЕМОРИЈАМА И ОСВЈЕЖАВАЊЕ DRAM МЕМОРИЈА


Због обимних активности при управљању радом DRAM меморија, уведен је и контролер
DRAM-а, који обавља сљедеће задатке:
- налоге процесора за приступе меморији ради читања или уписа трансформише у
команде претпуњења одређених банака, активирања врста и приступа колонама ради
читања или уписа,
- адресира меморијске модуле, групе чипова на њима, банке унутар чипова, врсте и
колоне у банкама,
- управља освјежавањем DRAM меморије,
- управља потрошњом енергије преводећи меморију у режим мировања и натраг у
оперативни режим по налогу процесора, и друге.
При разматрању приступа подацима у DRAM меморији разликују се два обрасца приступа:
- локализовани приступ, код кога су узастопни приступи меморији усмјерени у једну
врсту DRAM-a,
- нелокализовани приступ, код кога су узастопни приступи меморији распоређени по
различитим банкама и врстама DRAM-a.
Рад контролера DRAM-a може се организовати тако да све приступе очекује као локализоване
приступе, за које се користе краћа времена приступа меморији, или да све приступе третира
као нелокализоване приступе, са пуним временом приступа меморији. Ово даје двије
стратегије управљања DRAM меморијама:
- стратегија отворене врсте, при којој контролер по завршеном приступу податку у врсти
оставља ту врсту отвореном, очекујући да и сљедећи приступ тој банци буде усмјерен у
исту врсту,
- стратегију затворене врсте, при којој контролер по завршеном приступу податку у врсти
затвара ту врсту, очекујући да сљедећи приступ тој банци буде усмјерен у неку другу
врсту.
Контролер DRAM-a који имплементира стратегију отворене врсте мора имати по један
регистар у коме чува адресу отворене врсте у тој банци за сваку банку у групи чипова којима
приступа истовремено. По пријему налога за читање или упис из процесора, контролер
провјерава да ли је то приступ у неку већ отворену врсту. Ако јесте, одговарајућој групи чипова
шаље команду за читање или упис података, када шаље и саме податке. Ако је то приступ у
затворену врсту, шаље команде за претпуњење, активирање врсте и читање или упис
података, када шаље и саме податке. Просјечно вријеме приступа подацима у DRAM меморији
при стратегији отворене врсте може се израчунати као:
Tef = p· CL + r· (tRP + tRCD + CL),
гдје су р и r учешће погодака у већ отворену врсту и учешће приступа затвореној врсти у
укупном броју приступа меморији, респективно (p+r=1).
Контролер DRAM-a који имплементира стратегију затворене врсте, по пријему налога за
читање или упис из процеосра шаље команду за активирање врсте и читање (са
аутопретпуњењем) или упис података (са аутопретпуњењем), када шаље и саме податке.
21
Архитектура и организација рачунара Драган Радовић 2013

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


обави и претпуњење те банке меморије. Контролер DRAM-a мора имати регистар у коме чува
адресу претходног приступа и бројач периода такта којим провјерава да ли је послије
претходног приступа протекло довољно времена (ово само ако су узастопни приступи
усмјерени у исту банку). Освјежавање DRAM меморија се врши тако што се приступом врсти
прочита цио њен садржај, а затим се повратним уписом он обнови. Код DRAM чипова који
садрже више независних банака, истовремено се освјежавају врсте са истом адресом у свим
банкама. Периоде освјежавања код савремених SDRAM меморија су 32 или 64 ms.

22
Архитектура и организација рачунара Драган Радовић 2013

49. СТАТИЧКЕ RAM (SRAM) МЕМОРИЈЕ


Полупроводничке RAM меморије чије су меморијске ћелије имплементиране логичким
колима са повратном спрегом (лечеви и фф-и) имају особину да уписани бит податка памте
све док се напајају електричном енергијом. Не захтијевају освјежавање DRAM меморија, па се
зато називају статичке RAM меморије SRAM (Static Random Access Memory). Израђују се у
истој технологији у којој се израђују и регистри процесора, па су потенцијално брже од DRAM
меморија. Много сложенија структура меморијских ћелија SRAM меморија у односу на DRAM
меморије повлачи знатно мању густину паковања SRAM меморија у чипове, а тиме и њихову
знатно вишу цијену. На нивоу блокова, SRAM меморија има сличну, мада нешто једноставнију
организацију од DRAM меморија. Поље меморијских ћелија SRAM меморија организованo је
као 2m речи * w битова. SRAM меморија овакве организације има m адресних улаза, w улаза-
излаза података и управљачке улазе ¯CS, ¯ WE ¯OE. (svi su negirani)
CS (Chip Select) – активирањем CS-a бира се чип,
WE (Write Enable) – има активну вриједност при упису, а неактивну при читању,
ОЕ – активном вриједношћу одређује линије података као izlazne, а неактивном вриједношћу
као ulazne.
За разлику од DRAM меморије, SRAM меморија не мултиплексира адресне линије, односно
пуна адреса јој се доставља истовремено. Још једна важна одлика SRAM меморија је да читање
података није деструктивно, што омогућује да вријеме циклуса SRAM меморије не буде дуже
од времена приступа. SRAM меморије се израђују у асинхроној и синхроној варијанти.
Синхроне SRAM меморије подржавају и рад у режиму групе, који је врло ефикасан када се
овакве меморије користе за градњу секундарних кеш меморија. Овакав начин рада подржан је
унутрашњим бројачем адреса у групи.
Поређење DRAM и SRAM меморија:
SRAM меморије су далеко мањег капацитета по чипу, брже, са константним времена приступа
и циклуса, скупље и једноставније за управљање.
DRAM меморије су много већег капацитета по чипу, спорије, са промјенљивим временима
приступа и циклуса, јефтиније и сложеније за управљање.

23
Архитектура и организација рачунара Драган Радовић 2013

50. АСОЦИЈАТИВНА МЕМОРИЈА


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

У улазни регистар уноси се податак који се


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

Упис:
Ѕ=1 (бира се меморијска ћелија за упис– еквивалентно CS-у),
WE=1 (дозвољава се упис),
MK=0 (не маскира се ни један дио податка),
DDF (улазни податак се уписује у D флип-флоп).

Претрага:
МК=1 (једини активан сигнал, што на излазу даје SLA = ).

Читање:
Ѕ=1 (бира се меморијска ћелија из које се податак чита),
WE=0, (дозвољава се читање),
MK=x (неважно),
24
Архитектура и организација рачунара Драган Радовић 2013

QF  Q (на излаз Q се прослијеђује податак из D флип-флопа).

Истовремени приступ свим подацима у асоцијативној меморији чини да је тражење податка у


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

25
Архитектура и организација рачунара Драган Радовић 2013

51. ХИЈЕРАРХИЈСКИ МЕМОРИЈСКИ СИСТЕМ РАЧУНАРА


У циљу имплементације бржих, једноставнијих за коришћење, поузданијих рачунара и др,
користе се:
- све бржи процесори, чије се перформансе изражавају стотинама милиона инструкција у
секунди (MIPS-a), и стотинама милиона операција са покретном запетом у секунди
(МFLOPS-a),
- меморије све већих капацитета, све краћег времена приступа и све веће пропусности,
- све бржи периферни уређаји.
При томе се перформансе процесора, меморије и УИ система морају избалансирати. Према
препоруци Кејса и Амдала, добро балансиран рачунар мора имати по један МВ меморије и по
један Mb/s ширине опсега УИ система на сваки MIPS процесора.

Проблеми имплементације:
-Цијена главне меморије. Главна меморија, грађена у већини технологијама, је била исувише
скупа да се само са њом рачунару обезбједи меморија потребног капацитета. Меморијски
медијуми, који је могу допунити имају много мању специфичну цијену, али су и много
спорији од ње. Проблем је ријешен тако што је главној меморији придодата јединица диска као
секундарна меморија.
-Спорост меморије. Проблем је дјелимично ријешен увођењем кеш меморије.

Хијерархијска организација меморије има два ослонца:


Принцип локалности програма. Локалност програма огледа се у томе да обраћање програма
меморији у неком врменском интервалу није равномјерно распоређено по области меморије
додијељене том програму, већ је концентрисано у неколико ужих подобласти меморије. Ове
подобласти меморије са учестаним обраћањем се релативно споро помјерају са временом.
Експериментална истраживања довела су до опажања: програм проводи 90 % времена у
извршавању само 10 % (статичких) наредби програма. Локалност програма има двије
димензије:
а) временску локалност, ако се програм обрати некој локацији меморије, врло је
вјероватно да ће јој се ускоро поново обратити,
б) просторну локалност, ако се програм обрати некој локацији меморије, врло је
вјероватно да ће се ускоро обратити некој од сусједних локација меморије.
Хијерархијска организација меморије користи локалност програма тако што најактуелније
податке чува у брзом меморијском нивоу најближем процесору.
Физичке законе који се могу формулисати у облику аксиоме: мање је брже. Хардверске
компоненте мањих димензија су у принципу брже од истих компонената већих димензија. Ово
се посебно односи на меморије из два разлога:
а) у већим меморијама вријеме простирања сигнала је дуже због веће дужине водова који
повезују чипове у меморији, повећаног броја нивоа логике за декодирање адреса и бафера који
се морају уметнути између процесора и меморије.
26
Архитектура и организација рачунара Драган Радовић 2013

б) у већини технологија могу се добити меморије мањег капацитета које су брже од


меморија већег капацитета, на рачун снаге по меморијској ћелији.

27
Архитектура и организација рачунара Драган Радовић 2013

52. КЕШ МЕМОРИЈЕ СА ДИРЕКТНИМ, СКУПНО-АСОЦИЈАТИВНИМ И ПОТПУНО


АСОЦИЈАТИВНИМ ПРЕСЛИКАВАЊЕМ
Увод:
Кеш меморије су брзе меморије малог капацитета, уметнуте између процесора и главне
моемрије рачунара. Управљане су тако да би у сваком тренутку требало да садрже актуелне
податке при раду процесора. Кеш меморија је скривена меморије, јер се процесор њој обраћа
на основу адреса података у главној меморији. Ово захтијева механизам за пресликавање датих
адреса локација главне меморије у адресе локација кеш меморије. Због ефикаснијег
пресликавања и скраћења времена преноса, између главне моемрије и кеш меморије не
пресликавају се појединачне ријечи, већ блокови података. Главна меморија и кеш меморија
подијељене су на оквире блокова, дужина једнаких дужинама блокова података.
Код кеш меморије са потпуним асоцијативним пресликавањем, блок података iможе бити
пренијет у било који кеш блок k, k ∈ {0,1,...,CB-1}.
Код кеш меморије са директним пресликавањем блок података iможе бити пренијет само у
кеш блок kодређен изразом k = i (mod) CB.
Код кеш меморије са скупно-асоцијативним пресликавањем, по А кеш блокова ибразује скуп
кеш блокоца Ѕј, ј=0,1,...,ѕ-1. ѕ=2r = CB/А је број скупова кеш блокова у кеш меморији. Блок
података iможе бити пренијет у било који од А кеш блокова у скупу кеш блокова S k, k=i (mod)
s. Број кеш блокова А у скупу назива се асоцијативност скупа. За кеш меморију са скупно
асоцијативним пресликавањем, са А кеш блокова по дкупу, каже се да је А-блочна скупно-
асоцијативна кеш меморија.

28
Архитектура и организација рачунара Драган Радовић 2013

58. ГЛАВНА (ОПЕРАТИВНА) МЕМОРИЈА РАЧУНАРА


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

Пренос блока података у кеш:


TB = tA + B/D,
ТВ – потребно вријеме при прибављању у кеш промашеног блока података дужине В,
tA – латенција,
B – дужина блока података,
D – пропусност меморије.
Повећање пропусности меморије, добијено повећањем њене ширине утиче на смањење
времена ТВ.
Основно и проширено рјешење:
а) између процесора и примарног кеша најчешће се преносе подаци дужине ријечи, па је
логично да кеш меморије (примарна и секундарна), главна меморија и магистрала која их
повезује буду исте ширине,
б) рјешење са двоструком ширином главне меморије, секундарног кеша и њихове магистрале
која их спаја,
Меморија са преклапањем:
ц) све меморијске банке дијеле заједничку меморијску магистралу ширине једнаке ширини
примарног кеша.
По обављеном приступу, свака меморијска банка ексклузивно користи магистралу за враћање
прочитаног податка.

Расподјела података по банкама:


Овако организована меморија назива се меморија са преклапањем приступа. Локације у
оваквој меморији са к банака, к=2 С, адресирају се одбацивањем с адресних битова најмање
тежине. Меморијска банка 0 садржи све ријечи чије су адресе по модулу к једнаке 0,
меморијска банка 1 садржи све ријечи чије су адресе по модулу к једнаке 1 итд.
Прилагођеност размјени података са кеш меморијама:
29
Архитектура и организација рачунара Драган Радовић 2013

Адресе локација у једној меморијској банци мијењају се са кораком к. Оваква организација


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

30
Архитектура и организација рачунара Драган Радовић 2013

59. МАГНЕТНИ ДИСКОВИ И СМЈЕШТАЊЕ ПОДАТАКА НА ЊИМА


Меморије са магнетним диском и траком функционишу на принципу записивања битова
података у малим ћелијама од феромагнетних материјала са два стабилна стања, која
представљају логичке вриједности 0 и 1 (феромагнетици су јаки магнети, односно имају
велику способност намагнетисавања, тј. пермеабилност μr>> 1). Ова стања одређена су
величином или смјером магнетног флукса ћелије. Електрична струја мијења и омогућује
препознавање магнетних стања ћелија нпр. уз помоћ индуктивне главе за упис и читање
података. Овакве главе постављене на врло малом растојању од магнетних ћелија, у узајамном
дејству са њима могу да мијењају магнетна стања ћелија при упису података, или да генеришу
електричне сигнале који показују стање ћелија при читању података. Данас се овакве меморије
користе као секундарне меморије рачунара.
Принцип рада диск драјва:
Диск драјв се састоји од већег броја крутих кружних плоча које су са обје стране прекривене
магнетним материјалом, тако да се подаци чувају на цијелим површинама тих кружних плоча.
Оне ротирају на заједничкој осовини константном брзином. На малом растојању од сваке
површине налази се по једна глава за читање-упис. Све главе су фиксиране руком диска за
посебну осовину која се назива покретач. Електромотор за позиционирање погони покретач
на аксијално помјерање дуж полупречника кружних плоча. Помјерањем покретача помјерају
се истовремено и истовјетно све главе диска, радијално по површини дискова, омогућавајући
приступ активном дијелу површина кружних плоча.
Параметри диска:
Сектори су блокови у који се уписују подаци на диску, или се читају из њих након коректног
позиционирања глава, испод којих ротира сама кружна плоча. Сектори су најмања јединица
података којој се може приступити на диску.
Писта је цијела кружница (прстен) на површини диска са смјештеним подацима и свака
кружна плоча садржи велики број писта. Писта, такође, садржи велики број сектора.
Цилиндар је група писта на свим површинама на истом растојању од осовине дискова.
Типичне вриједности за диск драјвове од 3,5 инча су 300-1000 сектора по писти, 10.000-60.000
цилиндара и 4-12 повшрина.
Вријеме приступа податку на диску може се разложити на три компоненте:
а) вријеме тражења ТЅ, потребно вријеме за позиционирање главе на тражену писту и
креће се од 0,5 ms до 20 ms, у зависности од растојања које глава треба да пређе,
б) ротационо кашњење Тg, потребно вријеме за ротирање кружних плоча до наиласка
траженог сектора испод главе диска и промјенљиво је у границама од 0 до периоде обртања
диска Т (типичне вриједности периода обртања диска су од 4 до 10 ms),
в) вријеме преноса податка дужине n сектора са једне писте Т Т, зависи од брзине којом
подаци могу бити пренијети на или са повшрине диска и функција је од брзине обртања диска
и броја сектора по пистама (за диск драјв са r º/min и средњим бројем сектора по писти k може
изразити као:
ТТ = 60· 1000 · n / (r · k)
31
Архитектура и организација рачунара Драган Радовић 2013

Капацитет диска је количина података коју диск може да прихвати, типично од 500 до 1000 GB.
Вишеструко зонско записивање:
Дужина писта је промијенљива, и расте идући од писте са најмањим полупречником
(унутрашња писта) ка писти са највећим полупречником (спољашња писта). Техника названа
вишеструко зонско записивање (multiple zone recording), користи ову чињеницу смјештајући,
при истој линеарној густини записа, растући број сектора идући од унутрашњих ка
спољашњим пистама. Већина данашњих дискова користи ову технику. Овај приступ генерише
200-1.000 сукцесивних писта у зоне. Свака зона садржи константан број секторапо писти, са
скоковитим промјенама броја сектора у пистама у сукцесивним зонама. Вријеме тражења и
ротационо кашњење заједно се понекад назива вријеме позиционирања главе.

Смјештање података на диску:


Сектор се састоји од три дијела:
а) заглавље, на почетку сваког сектора, садржи идентификационе податке сектора и
синхронизационе информације,
б) дио у коме се смјештају кориснички подаци,
в) дио са кодом за корекцију грешака, који се израчунава на основу заглавља и дијела са
подацима. Ако смјештање податка на диску захтијева већи број сектора, оптимално је њихово
смјештање у сукцесивне секторе. Упис се врши све до краја писте, након чега се прелази на
сљедећу писту у истом цилиндру, и тако наставља све до краја цилиндра, након чега се
прелази на наредни цилиндар и наставља до завршетка смјештања података. Вријеме преласка
на нову писту једнако је времену ротирања за један сектор на писти, а прелазак на нови
цилиндар једнако је времену ротирања за два сектора на писти. Овај размак се назива кошење
писте или кошење цилиндра. Типична вриједност за кошење писте је 0,5 ms, а за кошење
цилиндра 1,5 ms.
Електроника интерфејса у диск драјву садржи бафер меморију, величине између 4 МВ и 32
МВ, која има двоструку улогу:
а) привремено чува податке који се читају или уписују на диск, омогућује да се пренос
података између меморије система и бафера диска и између бафера диска и диска обавља са
њима својственим брзинама,
б) кеш меморије диска, јер апликације обично приступају подацима секвенцијално, па је
корисно да дискови на оптималан начин подрже такав начин приступа подацима. У те сврхе
диск контролеру је додата фунцкија управљања прибављањем унапријед секвенцијалних
података. Наиме, послије сваке наложене операције читања, диск контролер ће аутономно
наставити да чита секвенцијалне податке и да их смјешта у бафер.

32
Архитектура и организација рачунара Драган Радовић 2013

60. ВИРТУЕЛНА МЕМОРИЈА (ОПШТЕ)


Преласку на извршење програма претходи пуњење главне меморије програмом. Саставни дио
пуњења је додјела меморије програму, тј. одређивање слободног блока меморије у који се
програм из секундарне преноси у главну меморију. По завршетку извршења програму се
„одузима“ меморија. Све ово, представља управљање меморијом. Управљање меморијом
постаје сложено када:
а) у главној меморији нема довољно простора за држање цијелих програма и њима
придружених података у току извршења програма, или
б) у главној меморији смјењује се више процеса (програма у извршењу) при
мултипрограмском раду рачунара.
Виртуелна меморија је настала из потребе ефикаснијег управљања програма и са мање
грешака.
Мултипрограмски рад је мултиплексирање времена рада процесора између више процеса
присутних у главној меморији за боље искоришћавање расположивих ресурса рачунара.
Виртуелна меморија успјешно обједињује хардверске изузетке, хардвером потпомогнуто
превођење адреса, главну меморију, диск меморију и језгро оперативног система да сваком
процесу обезбједи велики, униформни и прихватни адресни простор. Виртуелна меморија
омогућује извршавање програма чији су само неки дијелови присутни у главној меморији
рачунара, односно чије потребе за меморијом превазилазе расположиву физичку меморију.
Величина адресног простора у систему са виртуелном меморијом ограничена је само бројем
адресних битова које процесор може генерисати, а не величином расположиве физичке
меморије. Нпр. процесор са 32-битним адресама и виртелном меморијом има виртуелни
адресни простор величине 232, односно 4 GB. Виртуелна меморија сваком процесу допушта
коришћење цијелог виртуелног адресног простора. Ово захтијева да се сваком кориснику
придружи одговарајући идентификатор, који се назива идентификатор процеса (PID) или
идентификатор адресног простора (ASID).
Одвајање логичких од физичких адреса:
Кључна концепција на којој се заснива виртуелна меморија је одвајање виртуелних, односно
логичких адреса, које се користе у програму, од адреса локација главне меморије и секундарне
меморије у којима се програми чувају. Виртуелне адресе систем генерише при превођењу
и/или повезивању програма. Ове адресе на јединствен начин одређују елементе који
припадају једном логичком адресном простору.
Превођење адреса при сваком обраћању меморији:
Систем одлаже конкретну додјелу меморије програму све до тренутка када почиње извршење
програма. Наиме, тек тада оперативни систем, према тренутном заузећу меморије, може на
најбољи начин додијелити меморију том пограму. При извршењу програма свако обраћање
меморији захтијева превођење виртуелне адресе, коју генерише процесор у физичку адресу,
одређену додјелом меморије у програму и релативном адресом инструкција или податка у
програму.

33
Архитектура и организација рачунара Драган Радовић 2013

Јединица за управљање меморијом (memory management unit, MMU), врши превођење


виртуелних у физичке адресе која је обично имплементирана у чипу процесора. Најпогоднији
начин адресирања је базно адресирање, које је савременим процесорима често и једини начин
адресирања података у меморији.
Преношење у меморију и из меморије програма различитих дужина временом доводи до
појаве великог броја малих слободних блокова меморије, који се појединачно не могу
искористити за нове додјеле, а збирно могу чинити значајан дио меморије. Ова појава се
назива спољашња фрагментација меморије. Виртуелна меморија код које се виртуелни
адресни простор дијели у сегменте чије су дужине одређене дужином програма назива се
сегментна виртуелна меморија (segmented virtual memory). Додјела меморије програмима
може се поједноставити ако се сваки програм „упакује“ у извјестан број страница фиксних
дужина, што води ка страничним виртуелним меморијама (paged virtal memory). Код овакве
меморије се такође јављају неискоришћени дијелови меморије у виду неискоришћених
дијелова посљедњих страница додјељених програмима. Ова појава се назива унутрашња
фрегментација меморије.

34
Архитектура и организација рачунара Драган Радовић 2013

61. СТРАНИЧНО ОРГАНИЗОВАНА ВИРТУЕЛНА МЕМОРИЈА


Код страничне виртуелне меморије виртуелни адресни простор подјељен је на виртуелне
странице, а физички адресни простор на физичке странице (оквир странице). Величина
страница L одређена је цјелобројним степеном двојке, и најчешће износи L = 4 KB. Процес
најчешће попуњава много мање виртуелних страница но што их има у виртуелном адресном
простору, па се непопуњене (некреиране) странице називају и непостојеће странице. Процес
може креирати нове виртуелне странице динамички у оквиру хипа, упућујући оперативном
систему захтијеве за додјелу меморије, нпр. функцијом „malloc“ у С језику. Хип је подручје
виртуелног адресног простора на располагању процесу које се може динамички ширити.
Превођење виртуелних у физичке адресе врши се при сваком обраћању меморији. ЅТ
(странична таблица) се користи за превођење виртуелних у физичке адресе и за сваку
виртуелну страницу има по једну ставку. Ставка страничне таблице (ЅЅТ) адресира се бројем
виртуелне странице (BVS), добијене из виртуелне адресе a Vиздвајањем помјераја из ње. ЅЅТ
садржи број број физичке странице (BFS) у коју се пресликава виртуелна страница BVS. Поред
величине BFS ставка страничне таблице садржи и сљедеће индикаторе који се односе на ту
виртуелну страницу:
P – присутна у главној меморији,
К – коришћена у протеклом периоду,
М – модификована у главној меморији,
R – дозвољен приступ ради читања,
W – дозвољен приступ ради уписа.
Ако је виртуелна страница присутна у главној меморији, тј. P(SST)=1, имамо погодак странице.
P(SST)=0 сигнализира да страница није присутна у главној меморији и тада се јавља грешка
страница (page fault).
Превођењем виртуелне адресе у случају поготка управља MMU кроз сљедеће кораке:
Корак 1: Процесор формира виртуелну адресу VA и шаље је у MMU.
Корак 2: MMU формира адресу ставке страничне таблице А(ЅЅТ) и упућује захтијев за
прибављање ЅЅТ из кеша/главне меморије.
Корак 3: Кеш/главна меморија враћају у MMU захтијевану ЅЅТ.
Корак 4: MMU формира физичку адресу и доставља је кешу/главној меморији.
Корак 5: Кеш/главна меморија враћају процесору захтијевану ријеч податка.
Насупрот поготку странице, при којоj у управљању превођењем адреса учествује само хардвер,
грешка странице захтијева садејство хардвера и кернела оперативног система, дефинисано
сљедећим корацима:
Кораци 1-3: Истовјетни су са корацима 1-2 при поготку странице.
Корак 4: Бит Р(ЅЅТ)=0 па ММU активира изузетак, који предаје управљање процесором
руковаоцу изузецима грешке странице у кернелу оперативног система.
Корак 5: Руковалац изузецима грешке странице проналази жртвовану страницу у главној
меморији (ону која ће бити замјењена), и ако је она модификована, враћа је на диск.

35
Архитектура и организација рачунара Драган Радовић 2013

Корак 6: Руковалац изузецима грешке странице прибавља нову страницу у главну меморију и
ажурира у њој и одговарајућу ЅЅТ.
Корак 7: Руковалац изузецима грешке странице враћа управљање процесу који га је активирао,
доводећи до рестартовања инструкције на којој се јавио изузетак.
Оваква странична таблица, која се назива линеарна странична таблица или потпуна
странична таблица, има V ставки. За 32-битни адресни простор са адресирањем на нивоу
бајтова и странице величине 4 КВ, V=232/212=220=1 M.

36
Архитектура и организација рачунара Драган Радовић 2013

62. КЕШ ЗА ПРЕВОЂЕЊЕ ВИРТУЕЛНИХ АДРЕСА (ТLB)


TLB (Translation Lookaside Buffer) је кеш меморија са намјеном превођења виртуелних у
физичке адресе и у њој се држе најактуелније ставке страничне таблице. При сваком обраћању
меморији најприје се приступа TLB-у са циљем да се у њему нађе број физичке странице у којој
је присутна текућа виртуелна страница. У случају поготка, није потребно обраћање страничне
таблице у меморији, па се превођење адресе знатно убрзава. Настоји се да се обраћање TLB-у
сведе на само један тактни циклус, што упућује да се TLB имплементира као мала кеш
меморија са потпуним асоцијативним пресликавањем. Ставка TLB-а садржи као етикету број
виртуелне странице на коју се односи, број физичке странице у којој је присутна та виртуелна
страница, и индикаторе V, R, W и М. Индикатор V показује да ли је та ставка TLB-а важећа,а
остали индикатори имају значења као и код страничне таблице.
Ако је BVS једнак етикети неке ставке TLB-а, садржај поља BFS те ставке преноси се у адресни
регистар меморије и слиједи обраћање меморији. Ако се јави промашај у TLB-у слиједи
приступ страничној таблици из које добијамо информацију да ли је виртуелна страница
присутна у меморији и гдје, или да она тамо није присутна. У овом случају јавља се грешка
странице (умјесто „промашаја“ код кеша), која доводи до истоименог изузетка, за чије
опслуживање се позива оперативни систем. Пошто опслуживање грешке странице траје дуго
(неколико милисекунди), долази до промјене контекста (преласка са текућег на неки други
програм), до окончања овог опслуживања. Активности при превођењу виртуелне адресе уз
учешће TLB-а приказане су на слици.
Пошто TLB садржи ставке страничне таблице текућег процеса, промјена контекста процеса
захтијева измјену цјелокупног садржаја TLB-а. TLB је неизоставан у имплементацији
виртуелних меморија, а број ставки TLB-а креће се од 32 до 256. TLB-и мањег обима
имплементирају се као кеш меморије са потпуним асоцијативним пресликавањем, а они већег
обима са скупно-асоцијативним пресликавањем и асоцијативношћу 2-4. Многи процесори са
посебним кеш меморијама инструкција и података имају и одвојене TLB-е за превођење
виртуелних адреса инструкција и података.

37
Архитектура и организација рачунара Драган Радовић 2013

63. ВИШЕНИВООСКА СТРАНИЧНА ТАБЛИЦА


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

38

You might also like