You are on page 1of 13

ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И

КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

Кеш меморија

АРХИТЕКТУРА И ОРГАНИЗАЦИЈА НА КОМЈУТЕРИ


Аудиториска вежба 10
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

1. Компјутерски систем ги има следните к-ки: главната Mm има 220


зборови, Cache-от има 32 блока, секој блок има по 16 збора. Cache
меморијата користи директно мапирање. Да се одреди:
а) Колку блокови има во главната меморија?
б) Форматот на мемориската адреса што ја гледа cache меморијата.
в) Во кој блок ќе се мапира адресата 0DB6316
РЕШЕНИЕ:
а) 220 зборови / 16 зборови по блок = 220/24=216 – блокови.
б) Формат:
16 збора по блок => 24=16 => 4 бита за збор (word).
220 зборови во Mm => 20 бита за Mm адреса.
32 блока во CACHE => 32=25 => 5 бита за блок.
tag = 20-5-4=11 бита за tag.
в) 0DB6316 = 0000 1101 1011 0110 0011=>
tag block word
10110=22 блок
00001101101 10110 0011
0011=3 збор во блокот 2
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

2. Компјутерски систем ги има следните к-ки: главната Mm има 216


зборови, Cache-от има 64 блока, секој блок има по 32 збора. Cache
меморијата користи целосно асоцијативно мапирање. Да се одреди:
а) Колку блокови има во главната меморија?
б) Форматот на мемориската адреса што ја гледа cache меморијата.
в) Во кој блок ќе се мапира адресата F8C916
РЕШЕНИЕ:
а) 216 зборови / 32 зборови по блок = 216/25=211 – блокови.
б) Формат:
32 збора по блок => 25=32 => 5 бита за збор (word).
216 зборови во Mm => 16 бита за Mm адреса.
tag = 16-5=11 бита за tag.
в) Дадената адреса може да се мапира во било кој блок од cache-от
според полисата за замена што се користи во системот (LRU, FIFO,
random) 16

tag word
3
11 5
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

3. Компјутерски систем ги има следните к-ки: главната Mm има 128М


зборови, Cache-от има 32К блока, секој блок има по 64 збора. Кој е
форматот на мемориската адреса, доколку се работи за мапирање
асоцијативно по група (set), каде секоја група има по 2 блока:
РЕШЕНИЕ:
128М = 128 x 220 = 27 x 220=227 – битови за адреса
32К блока во CACHE => 32К=25 x 210 = 215 блокови.
Секоја група има по 2 блока => 215/2 = 214 – групи (множества) => 14
бита за група.
64 збора по блок => 26=64 => 6 бита за збор (word).
tag = 27-6-14=7 бита за tag.
27

Tag Set word


7 14 6

Било која дадена адреса, ќе се мапира во точно одредена група, но


мапирањето во блок од дадената група е произволно според
полисите за замена: LRU, FIFO и RANDOM.
4
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

4. Cache со асоцијативно мапирање по група со 2 блока по


група се состои од 4 групи. Главната меморија има 2К
блокови, секој со по 8 зборови. Да се одреди
а) Форматот на мемориската адреса што ја гледа cache
меморијата.
б) Ратата на погодок, доколку дадена програма 3 пати
циклично пристапува до адресите од 8 до 51 во главната
меморија.
РЕШЕНИЕ:
а) 4 групи=> 22 => 2 бита за група.
2К блокови во гл. мем, секој со по 8 збора => 2К x 8=2x210
x 23=214 зборови=>14 бита за адреса.
8 зборови => 8=23=>3 бита за збор.
tag: 14-2-3=14-5=9.
14

Tag Set word


9 2 3 5
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

б) Се делат адресите во блокови од по 8 збора:


815; 1623; 2431; 3239; 4047; 4855.
8000000000 01 000 set1 Група/Блок 0 1
15000000000 01 111 set1 0 3239
16000000000 10 000 set2
1 815 4047
23000000000 10 111 set2
24000000000 11 000 set3 2 1623 4855
31000000000 11 111 set3 3 2431
32000000001 00 000 set0
39000000001 00 111 set0
40000000001 01 000 set1
47000000001 01 111 set1
48000000001 10 000 set2
55000000001 10 111 set2 6
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

Ако CACHE-от е празен, блокот од:


- 815, се мапира во set1, block 0.
- 1623, се мапира во set2, block 0.
- 2431, се мапира во set3, block 0.
- 3239, се мапира во set0, block 0.
- 4047, се мапира во set1, block 1.
- 4855, се мапира во set2, block 1.
Се бараат адресите од 851
1: 815: 1miss, 7hit; 1623: 1miss, 7hit; 2431: 1miss,
7hit; 3239: 1miss, 7hit; 4047: 1miss, 7hit; 4851:
1miss, 3hit;
2,3: по 8 hit за 5 блокови и 4 hit за 4851.
=>5(1miss+7hit)+(1miss+3hit)+2x5x8hit+2x1x4hit =
5miss+35hit+1miss+3hit+80hit+8hit=6miss +126hit =>
вкупно 132 обиди.
=> HIT_R=126/132=63/66=95,45%. 7
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

5. Компјутерски систем ги има следните к-ки: главната Mm има големина


на збор од 8 бита. CACHE меморијата е голема 16 Бајти, со 4 бајти по
блок. Компјутерот пристапува до одреден број мемориски локации
при извршување на дадена програма. CACHE меморијата користи
директно мапирање, а форматот на адресата е:
8
tag block word
4 2 2
Системот пристапува до следните адреси (хексадецимални) по
дадениот редослед: 6E, B8, 17, E0, 4E, 4F, 50, 91, A8, A9, AB, AD,
93,94. Состојбата во CACHE-от по првите 4 пристапи е следната:
Block0 Block1 Block2 Block3
1110 Е0 0001 14 1011 B8 0110 6C
Е1 15 B9 6D
Е2 16 BA 6E
Е3 17 BB 6F
Каде податоците сместени во блокот, всушност ја даваат адресата на која тие
се наоѓаат во главната меморија.
а) Колкава е ратата на погодок за целата низа на пристап до меморија.
8
б) Кои блокови ќе бидат во меморијата по завршување на пристапот.
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

Решение: а) CACHE мем. е голема 16B = 16 зборови/4 бајти (зборови) по


блок = 4 блокови во cache.
4 блок = 22=> 2 бита за cache.
4 зборови по блок => 2 бита за збор=> од форматот се гледа дека се
вкупно 8 бита за Mm.
По првите 4 пристапи: 6E, B9, 17, E0, дадена е состојбата и се случиле 4
miss.
4E=0100 11 10 => во блок 3, 2 збор, tag =0100, различен од tag 0110 што е
во блок 3=>miss и смена на блок 3 => tag=0100 во блок 3.
4F = 0100 11 11 => блок 3, збор 3 => tag е ист => hit.
50 = 0101 00 00 => блок 0, збор 0 => tag е различен => miss, смена блок 0.
91 = 1001 00 01 => блок 0, збор 1 => tag е различен => miss, смена блок 0.
А8 = 1010 10 00 => блок 2, збор 0 => tag е различен => miss, смена блок 2.
А9 = 1010 10 01 => блок 2, збор 1 => tag е ист => hit.
АB = 1010 10 11 => блок 2, збор 3 => tag е ист => hit.
АD = 1010 11 01 => блок 3, збор 1 => tag е различен => miss, смена блок 3.
93 = 1001 00 11 => блок 0, збор 3 => tag е ист => hit.
94 = 1001 01 00 => блок 1, збор 0 => tag е различен => miss, смена блок 1.
HIT=4; MISS:10; TOTAL=14.
9
HIT_R=4/14=28,57%.
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

б)Крајна состојба:

Block0 Block1 Block2 Block3


1001 90 1001 94 1010 А8 1010 АC
91 95 А9 AD
92 96 АА AE
93 97 АB AF

10
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

6. Директно мапиран CACHE се состои од 8 блокови.


Главната меморија содржи 4К блокови, секој со по 8
збора. На почетокот cache-от е празен. Да се одреди:
а) Форматот на мемориската адреса.
б) Ратата на погодок, доколку дадена програма 4 пати
поминува низ локациите од 0 до 67 декадно.

11
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

а) 4К блокови x 8 збора = 212 x 23 = 215


зборови => 15 бита за адреса.
Cache: 8 блокови = 23 => 3 бита за 15
блок. tag block word
Зборови: 8 зборови по блок => 23 =>
3 бита за збор. 9 3 3
Tag: 15-3-3=15-6=9 за tag.

б), в) Да ги поделиме локациите по блокови: 067


0 7: 000000000 000 000  000000000 000 111: блок 0; 1 miss, 7 hit.
815: 000000000 001 000  000000000 001 111: блок 1; 1 miss, 7 hit.
1623: 000000000 010 000  000000000 010 111: блок 2; 1 miss, 7 hit.
2431: 000000000 011 000  000000000 011 111: блок 3; 1 miss, 7 hit.
3239: 000000000 100 000  000000000 100 111: блок 4; 1 miss, 7 hit.
4047: 000000000 101 000  000000000 101 111: блок 5; 1 miss, 7 hit.
4855: 000000000 110 000  000000000 110 111: блок 6; 1 miss, 7 hit.
5663: 000000000 111 000  000000000 111 111: блок 7; 1 miss, 7 hit.
6471: 000000001 000 000  000000001 000 111: блок 0; 1 miss, 312hit.
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ НАУКИ И
КОМПЈУТЕРСКО ИНЖЕНЕРСТВО

Блокот 07 и блокот 6471, 4 пати ќе се сменат (при секое


поминување) => секогаш ќе имаат 1 miss и 7 (односно 3)
hits. Останатите блокови следните 3 пати ќе прават по 8
hits.
 4(1miss + 7hits) + 4(1miss + 3hits) + 7(1miss + 7hits) + 3 x 7 x
8 hits = 4 miss + 28 hits + 4 miss + 12 hits + 7 miss + 49 hits +
168 hits = 15 miss + 257 hits => TOTAL = 272 обиди.
 б) рата на погодок:

HIT_R= 257/272 = 94,48%

13

You might also like