Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija

Vezbe-Arhitektura i organizacija racunara 1-Softversko inzenjerstvo Vezbe AOR1 2009 V1.0 Part1, Vežbe od Arhitektura i organizacija računara

Vezbe-Arhitektura i organizacija racunara 1-Softversko inzenjerstvo Vezbe_AOR1_2009_V1.0_Part1; Keš memorija (Cache Memory); Virtuelna memorija (Virtual Memory); zadaci sa resenjima;

Tipologija: Vežbe

2011/2012
U ponudi
30 Poeni
Discount

Vremenski ograničena ponuda


Učitan datuma 20.08.2012.

grucho
grucho 🇸🇷

4.5

(27)

66 dokumenti

1 / 50

Srodni dokumenti


Delimični pregled teksta

Preuzmite Vezbe-Arhitektura i organizacija racunara 1-Softversko inzenjerstvo Vezbe AOR1 2009 V1.0 Part1 i više Vežbe u PDF od Arhitektura i organizacija računara samo na Docsity! APXMTEKTYPA M OPFAHM3ALIMJA PAUYHAPA 1 Bep3suja 2009 1.0 g Docsity.com Docsity.com Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 5 од 98 КЕШ МЕМОРИЈА (CACHE MEMORY) Задатак 1. Оперативна меморија рачунара је капацитета 1 MB, а ширина речи износи 1 бајт. а) Нацртати структуру кеш меморије, означити ширину у битовима свих релевантних делова и укратко описати њихову намену за кеш меморију са 1024 блока, блоком величине четири бајта и асоцијативним пресликавањем претпостављајући да је ширина речи дела кеш меморије у коме се чува садржај један бајт. б) Садржај релевантних локација оперативне меморије је дат на слици. Четири операције читања из оперативне меморије са локација 5122, 1025, 8192 и 4099 се изводе у датом редоследу. Навести вредности свих релевантних делова кеш меморије после ове четири операције, претпостављајући да је кеш меморија на почетку била празна. Адреса 1024 1025 1026 1027 L 4096 4097 4098 4099 L 5120 5121 5122 5123 L 8192 8193 8194 8195 Садржај 0 1 0 0 L 0 0 0 2 L 0 0 3 0 L 4 0 0 0 Садржај релевантних локација оперативне меморије. в) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. Решење: Структура адреса код кеш меморије: Број блока Таг (m бита) Офсет (l бита) а) Структура кеш меморије приказана је на слици. Структура кеш меморије са асоцијативним пресликавањем Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 6 од 98 б) Генерисане адресе су: 1402h, 401h, 2000h и 1003h. Вредности свих релевантних делова кеш меморије после четири операције читања приказани су на слици. Адреса Тип Таг Реч Време Адресе 1402h Rd 000000010100000000 10 Tk + Tb 1400h-1403h 401h Rd 000000000100000000 01 Tk + Tb 400h-403h 2000h Rd 000000100000000000 00 Tk + Tb 2000h-2003h 1003h Rd 000000010000000000 11 Tk + Tb 1000h-1003h број улаза D V TAG МЕМОРИЈА адреса DATA МЕМОРИЈА 0 0 1 000000010100000000 0 0 0 3 0 1 0 1 000000000100000000 4 0 1 0 0 2 0 1 000000100000000000 8 4 0 0 0 3 0 1 000000010000000000 12 0 0 0 2 4 0 0 M M M M 1023 0 0 4092 Садржај релевантних делова кеш меморије в) Време дохватања блока је: Tb = 4Tm. Укупно време је: T = 4Tb + 4Tk = 16Tm + 4Tk. Задатак 2. Оперативна меморија рачунара је капацитета 1 MB, а ширина речи износи 1 бајт. а) Нацртати структуру кеш меморије, означити ширину у битовима за све релевантне делове и укратко описати њихову намену за кеш меморију са 1024 блока, блоком величине четири бајта и директним пресликавањем претпостављајући да је ширина речи дела кеш меморије у коме се налази садржај један бајт. б) Садржај релевантних локација оперативне меморије је дат на слици. Четири операције читања из оперативне меморије са локација 5122, 1025, 8192 и 4099 се изводе у датом редоследу. Навести вредности свих релевантних делова кеш меморије после ове четири операције, претпостављајући да је кеш меморија на почетку била празна. Адреса 1024 1025 1026 1027 L 4096 4097 4098 4099 L 5120 5121 5122 5123 L 8192 8193 8194 8195 Садржај 0 1 0 0 L 0 0 0 2 L 0 0 3 0 L 4 0 0 0 Садржај релевантних локација оперативне меморије. в) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. Решење: Структура адреса код кеш меморије: Број блока Таг (m бита) Блок (k бита) Офсет (l бита) а) Структура кеш меморије је приказана на слици. Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 7 од 98 Структура кеш меморије са директним пресликавањем б) Генерисане адресе су: 1402h, 401h, 2000h и 1003h. Вредности свих релевантних делова кеш меморије после четири операције читања приказани су на слици. Адреса Тип Таг Блок Реч Време Адресе 1402h Rd 00000001 0100000000 10 Tk + Tb 1400h-1403h 401h Rd 00000000 0100000000 01 Tk + Tb 400h-403h 2000h Rd 00000010 0000000000 00 Tk + Tb 2000h-2003h 1003h Rd 00000001 0000000000 11 Tk + Tb 1000h-1003h број улаза D V TAG МЕМОРИЈА адреса DATA МЕМОРИЈА 0 0 1 00 00 00 00 00 00 10 01 0 4 0 0 0 0 0 0 2 1 0 0 4 M M M M 256 0 1 00 00 00 00 00 00 00 10 256 0 0 0 1 3 0 0 0 M M M M 1023 0 0 4092 Садржај релевантних делова кеш меморије в) Време дохватања блока је: Tb = 4Tm. Укупно време је: T = 4Tb + 4Tk = 16Tm + 4Tk. Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 10 од 98 Структура кеш меморије са сет-асоцијативним пресликавањем са четири блока по сету б1) Сет-асоцијативно пресликавање са 2 блока по сету. Вредности свих релевантних делова кеш меморије после четири операције читања приказани су на слици. Адреса Тип Таг Сет Реч Време Адресе 1402h Rd 000000010 100000000 10 Tk + Tb 1400h-1403h 401h Rd 000000000 100000000 01 Tk + Tb 400h-403h 2000h Rd 000000100 000000000 00 Tk + Tb 2000h-2003h 1003h Rd 000000010 000000000 11 Tk + Tb 1000h-1003h број сета број улаза D V TAG МЕМОРИЈА адреса DATA МЕМОРИЈА 0 0 1 000000100 0 4 0 0 0 SET0 1 0 1 000000010 4 0 0 0 2 M M 0 0 1 000000010 2048 0 0 3 0 SET256 1 0 1 000000000 2052 0 1 0 0 M M 0 0 0 4088 SET511 1 0 0 4092 Садржај релевантних делова кеш меморије. б2) Сет-асоцијативно пресликавање са 4 блока по сету Вредности свих релевантних делова кеш меморије после четири операције читања приказани су на слици. Адреса Тип Таг Сет Реч Време Адресе 1402h Rd 0000000101 00000000 10 Tk + Tb 1400h-1403h 401h Rd 0000000001 00000000 01 Tk + Tb 400h-403h Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 11 од 98 2000h Rd 0000001000 00000000 00 Tk + Tb 2000h-2003h 1003h Rd 0000000100 00000000 11 Tk + Tb 1000h-1003h број сета број улаза D V TAG МЕМОРИЈА адреса DATA МЕМОРИЈА 0 0 1 0000000101 0 0 0 3 0 1 0 1 0000000001 4 0 1 0 0 2 0 1 0000001000 8 4 0 0 0 SET0 3 0 1 0000000100 12 0 0 0 2 M M 0 0 0 4080 1 0 0 4084 2 0 0 4088 SET256 3 0 0 4092 Садржај релевантних делова кеш меморије в1) Време дохватања блока је: Tb = 4Tm. Укупно време је: T = 4Tb + 4Tk = 16Tm + 4Tk. в2) Исто као и в1). Задатак 4. Оперативна меморија рачунара је капацитета 512 MB, а ширина речи износи 16 бита. а) Нацртати структуру кеш меморије, означити ширину у битима свих релевантних делова и кратко објаснити функције свих делова кеш меморије за следеће случајеве: кеш меморије са 64 K блокова, величином блока 256 речи и асоцијативним пресликавањем, кеш меморије са 64 K блокова, величином блока 256 речи и директним пресликавањем, кеш меморије са 64 K блокова, величином блока 256 речи и сет-асоцијативним пресликавањем, са 16 блокова по сету, претпостављајући да је ширина речи дела кеш меморије у коме се чувају садржаји 16 бита. б) Садржај релевантних локација оперативне меморије је дат на слици, при чему су све вредности приказане хексадецимално. Узети да се, најпре, реализују две операције читања са адреса 0A0FF00h и 0A0FFFFh, затим две операције уписа вредности 0003h и 0004h у локације на адресама 0DE1000h и 0DE10FFh, респективно и на крају две операције читања са адреса 0807500h и 08075FFh. Операције читања и уписа се искључиво реализују над садржајима кеш меморије. Уколико се у случају горњих операција читања и уписа утврди да нема сагласности довлачи се одговарајући блок садржаја из оперативне у кеш меморију. Блокови кеш меморије чији је садржај модификован враћају се у оперативну меморију. M адреса L 0807500 0807501 L 08075FE 08075FF L садржај L 0 0 L 0 0 L M адреса L 0A0FF00 0A0FF01 L 0A0FFFE 0A0FFFF L садржај L 1 1 L 1 1 L M адреса L 0DE1000 0DE1001 L 0DE10FE 0DE10FF L садржај L 2 2 L 2 2 L M Садржај релевантних локација оперативне меморије Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 12 од 98 За све случајеве кеш меморије, дати садржаје релевантних делова кеш меморије после извршења наведених операција, претпостављајући да је кеш меморија на почетку била празна. в) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. Решење: а1) Структура адреса код кеш меморије: Број блока Таг (20 бита) Офсет (8 бита) а2) Структура адреса код кеш меморије: Број блока Таг (4 бита) Блок (16 бита) Офсет (8 бита) а3) Структура адреса код кеш меморије: Број блока Таг (8 бита) Сет (12 бита) Офсет (8 бита) б1) Изглед релевантних делова кеш меморије је дат на слици. Адреса Тип Таг Реч Време Адресе 0A0FF00h Rd 00001010000011111111 00000000 Tk + Tb A0FF00h-A0FFFFh 0A0FFFFh Rd 00001010000011111111 11111111 Tk - 0DE1000h Wr 00001101111000010000 00000000 Tk + Tb DE1000h-DE10FFh 0DE10FFh Wr 00001101111000010000 11111111 Tk - 0807500h Rd 00001000000001110101 00000000 Tk + Tb 807500h-8075FFh 08075FFh Rd 00001000000001110101 11111111 Tk - број улаза D V TAG МЕМОРИЈА адреса DATA МЕМОРИЈА 0 0 1 0A0FF 000000h 1 1 L 1 1 1 1 1 0DE10 000100h 3 2 L 2 4 2 0 1 08075 000200h 0 0 L 0 0 M M M M FFFFh 0 0 FFFF00h L Садржај релевантних делова кеш меморије б2) Изглед релевантних делова кеш меморије је дат на слици: Адреса Тип Таг Блок Реч Време Адресе 0A0FF00 Rd 0000 1010000011111111 00000000 Tk + Tb A0FF00h-A0FFFFh 0A0FFFF Rd 0000 1010000011111111 11111111 Tk - 0DF1000 Wr 0000 1101111000010000 00000000 Tk + Tb DE1000h-DE10FFh 0DE10FF Wr 0000 1101111000010000 11111111 Tk - 0807500 Rd 0000 1000000001110101 00000000 Tk + Tb 807500h-8075FFh 08075FF Rd 0000 1000000001110101 11111111 Tk - број улаза D V TAG МЕМОРИЈА адреса DATA МЕМОРИЈА 0000h 0 0 000000h L M M M M 8075h 0 1 0 807500h 0 0 L 0 0 M M M M Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 15 од 98 Таг (10 бита) Сет (4 бита) б)Адресе којима се приступа: 0000Ah, …, 009FBh, 000C8h, …, 00A5Fh; б1) Начин смештања и садржаји сваког улаза Таг меморије приказани су на слици. улаз директно 0 0 1 1 0 1 2 0 1 3 0 1 0 1 4 0 1 0 1 5 0 1 0 1 6 0 1 0 1 7 0 1 0 1 8 0 1 9 0 1 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 Садржаји свих улаза Таг меморије у случају директног пресликавања Време дохватања блока је: Tb = 64Tm. Укупно време дохватања свих блокова је: Tball = 32Tb + 8Tb + 5Tb + 7Tb = 52Tb. Укупно време свих приступа кеш меморији је: Tkall = ((199 − 10 + 1) + (2555 − 200 + 1)2 + (2655 − 2556 + 1))Tk = 5002Tk. Укупно време је: T = Tball + Tkall = 5264Tm + 5002Tk. б2) Начин смештања и садржаји сваког улаза Таг меморије приказани су на слици. улаз асоцијативно 0 0 32 27 1 1 33 28 2 2 34 29 3 3 35 30 4 4 36 31 Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 16 од 98 5 5 37 32 6 6 38 33 7 7 39 34 8 8 3 35 9 9 4 36 10 10 5 37 11 11 6 38 12 12 7 39 13 13 8 40 14 14 9 41 15 15 10 16 16 11 17 17 12 18 18 13 19 19 14 20 20 15 21 21 16 22 22 17 23 23 18 24 24 19 25 25 20 26 26 21 27 27 22 28 28 23 29 29 24 30 30 25 31 31 26 Садржаји свих улаза Таг меморије у случају асоцијативног пресликавања Време дохватања блока је: Tb = 64Tm. Укупно време дохватања свих блокова је: Tball = 32Tb + 8Tb + 24Tb + 15Tb = 79Tb. Укупно време свих приступа кеш меморији је: Tkall = ((199 − 10 + 1) + (2555 − 200 + 1)2 + (2655 − 2556 + 1))Tk = 5002Tk. Укупно време је: T = Tball + Tkall = 7964Tm + 5002Tk. б3) Начин смештања и садржаји сваког улаза Таг меморије приказани су на слици. сет Таг 0 0 2 1 0 2 2 0 2 3 0 2 1 4 0 2 1 5 0 2 1 6 0 2 1 улаз 0 7 0 2 1 8 0 2 9 0 2 10 0 11 0 12 0 13 0 14 0 15 0 0 1 Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 17 од 98 1 1 2 1 3 1 0 2 4 1 0 2 5 1 0 2 6 1 0 2 улаз 1 7 1 0 2 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 Садржаји свих улаза Таг меморије у случају сет-асоцијативног пресликавања Време дохватања блока је: Tb = 64Tm. Укупно време дохватања свих блокова је: Tball = 16Tb + 16Tb + 8Tb + 5Tb + 5Tb + 5Tb + 2Tb = 57Tb. Укупно време свих приступа кеш меморији је: Tkall = ((199 − 10 + 1) + (2555 − 200 + 1)2 + (2655 − 2556 + 1))Tk = 5002Tk. Укупно време је: T = Tball + Tkall = 5764Tm + 5002Tk. Задатак 6. Посматра се рачунар са следећим карактеристикама. Оперативна меморија је капацитета 216 речи а ширина речи је 16 бита. Процесор генерише адресе које се односе на 16-битне адресе. Процесор има кеш меморију са асоцијативним пресликавањем на нивоу блока са четири улаза. Величина блока је 16 речи. Користи се LRU алгоритам замене блокова и write-back алгоритам за ажурирање садржаја оперативне меморије. LRU алгоритам је реализован са четири бројача по модулу 4, сваки уз свој улаз кеш меморије. Улаз одабран за замену је онај чији бројач има вредност 0. На почетку је кеш меморија била празна а сви бројачи су имали вредност 0. Вредност бројача се ажурира на исти начин када је кеш меморија пуна и када је празна. Процесор генерише следећу секвенцу адреса са типом операције назначеним у загради после сваке адресе (Rd = read, Wr = write): 734Fh (Rd), DE38h (Rd), FF03h (Wr), 7350h (Rd), 7351h (Rd), DE48h (Wr), 7352h (Rd), 7348h (Rd). а) Дати садржај свих улаза који су реферисани у датој секвенци, садржаје асоцијативног (TAG) дела (A0, A1, A2 и A3), вредности V (Valid) и D (Dirty) бита, као и LRU бројача, после сваког приступа кеш меморији. б) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. в) Одговорити на питања а) и б) у случају да се уместо write-back алгоритма за ажурирање садржаја оперативне меморије користи write-trough. Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 20 од 98 1224 PUSH 1225 LOAD #888h 1227 RTS а) Дати садржај оба улаза свих сетова који су реферисани у датој секвенци, као и вредности V (Valiг) бита, после завршетка дате секвенце, ако је алгоритам замене FIFO. Означити сетове. б) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. в) Исто као под а) и б) само је алгоритам замене LRU. Решење: а) Структура адреса код кеш меморије: Број блока Таг (8 бита) Сет (4 бита) Офсет (19 бита) Секвенца адреса које генерише представљени програмски сегмент: FF00h (Rd), FF01h (Rd), FF02h (Rd), FF03h (Rd), 200h (Wr), 1224h (Rd), 1FFh (Wr), 1225h (Rd), 1226h (Rd), 1227h (Rd), 1FFh (Rd), 800h (Rd). Све адресе се односе на сет 0 кеш меморије. Адреса Тип Таг Сет Реч Време Адресе FF00 Rd 000000000 0000 0001111111100000000 Tk + Tb 0h-7FFFFh FF01 Rd 000000000 0000 0001111111100000001 Tk - FF02 Rd 000000000 0000 0001111111100000010 Tk - FF03 Rd 000000000 0000 0001111111100000011 Tk - 200 Wr 000000000 0000 0000000001000000000 Tk - 1224 Rd 000000000 0000 0000001001000100100 Tk - 1FF Wr 000000000 0000 0000000000111111111 Tk - 1225 Rd 000000000 0000 0000001001000100101 Tk - 1226 Rd 000000000 0000 0000001001000100110 Tk - 1227 Rd 000000000 0000 0000001001000100111 Tk - 1FF Rd 000000000 0000 0000000000111111111 Tk - 800 Rd 000000000 0000 0000000100000000000 Tk - број сета број улаза D0 V0 TAG0 МЕМОРИЈА адреса DATA МЕМОРИЈА 0 1 1 000000000 00000h L SET0h 1 0 0 ??? L ... број улаза DF VF TAGF МЕМОРИЈА 0 0 0 ??? L SETFh 1 0 0 ??? L Садржај релевантних делова кеш меморије б) Време дохватања блока је: Tb = 524288Tm. Укупно време је: T = 12Tk + Tb T = 524288Tm + 12Tk Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 21 од 98 в) Исто како а) и б). Задатак 8. Адресна реч процесора широка је 32 бита, а адресибилна јединица је 8-битна реч. Између магистрале процесора и меморије рачунара везане су две кеш меморије, једна за инструкције и друга за податке, организоване сет-асоцијативно на нивоу блока свака капацитета 16 KB, величина блока је 16 бајтова, са два улаза по сету. На почетку су обе кеш меморије биле празне, а почетна вредност SP=200h, а ACC=0h, стек расте од виших ка нижим адресама. Акумулатор је 32-битни. Алгоритам за ажурирање садржаја оперативне меморије write-back. Кеш меморија је са no write allocated политиком довлачења. Посматра се следећа секвенца инструкција које процесор генерише (све вредности су хексадецималне): адреса: инструкција: FF00 PUSH FF01 JSR 1234h ; poziv potprograma FF06 LOAD 8000h FF0B … 1234 POP 1235 STORE 8000h 123A PUSH 132B RTS а) Дати садржај оба улаза свих сетова који су реферисани у датој секвенци, као и вредности V (Valiг) и D (Dirty) бита, после завршетка дате секвенце, ако је алгоритам замене FIFO. Означити сетове. б) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. в) Исто као под а) и б) само је алгоритам замене LRU. Решење: а) Структура адреса код кеш меморије: Број блока Таг (19 бита) Сет (9 бита) Офсет (4 бита) Секвенца адреса у којима се приступа: FF00, 200, 1FF, 1FE, 1FD, FF01, FF02, FF03, FF04, FF05, 1FC, 1FB, 1FA, 1F9, 1234, 1F9, 1FA, 1FB, 1FC, 1235, 1236, 1237, 1238, 1239, 8000, 8001, 8002, 8003, 123A, 1FC, 1FB, 1FA, 1F9, 132B, 1F9, 1FA, 1FB, 1FC, FF06, FF07, FF08, FF09, FF0A, 8000, 8001, 8002, 8003, FF0B. Адреса Тип Таг Сет Реч Време Адресе FF00 I 0000000000000000111 111110000 0000 Tk + Tb FF00h-FF0Fh FF01 I 0000000000000000111 111110000 0001 Tk - FF02 I 0000000000000000111 111110000 0010 Tk - FF03 I 0000000000000000111 111110000 0011 Tk - FF04 I 0000000000000000111 111110000 0100 Tk - FF05 I 0000000000000000111 111110000 0101 Tk - 1234 I 0000000000000000000 100100011 0100 Tk + Tb 1230h-123Fh 1235 I 0000000000000000000 100100011 0101 Tk - 1236 I 0000000000000000000 100100011 0110 Tk - 1237 I 0000000000000000000 100100011 0111 Tk - Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 22 од 98 1238 I 0000000000000000000 100100011 1000 Tk - 1239 I 0000000000000000000 100100011 1001 Tk - 123A I 0000000000000000000 100100011 1010 Tk - 132B I 0000000000000000000 100110010 1011 Tk - FF06 I 0000000000000000111 111110000 0110 Tk - FF07 I 0000000000000000111 111110000 0111 Tk - FF08 I 0000000000000000111 111110000 1000 Tk - FF09 I 0000000000000000111 111110000 1001 Tk - FF0A I 0000000000000000111 111110000 1010 Tk - FF0B I 0000000000000000111 111110000 1011 Tk - број сета број улаза D123 V123 TAG123 МЕМОРИЈА адреса DATA МЕМОРИЈА 0 0 1 0000000000000000000 1230h L SET123h 1 0 0 ??? L ... број улаза D1F0 V1F0 TAG1F0 МЕМОРИЈА 0 0 1 0000000000000000111 1F00h L SET1F0h 1 0 0 ??? L Садржај релевантних делова кеш меморије за инструкције Адреса Тип Таг Сет Реч Време Адресе 200 Wr 0000000000000000000 000100000 0000 Tk + Tm 200h 1FF Wr 0000000000000000000 000011111 1111 Tk + Tm 1FFh 1FE Wr 0000000000000000000 000011111 1110 Tk + Tm 1FEh 1FD Wr 0000000000000000000 000011111 1101 Tk + Tm 1FDh 1FC Wr 0000000000000000000 000011111 1100 Tk + Tm 1FCh 1FB Wr 0000000000000000000 000011111 1011 Tk + Tm 1FBh 1FA Wr 0000000000000000000 000011111 1010 Tk + Tm 1FAh 1F9 Wr 0000000000000000000 000011111 1001 Tk + Tm 1F9h 1F9 Rd 0000000000000000000 000011111 1001 Tk + Tb 1F0h-1FFh 1FA Rd 0000000000000000000 000011111 1010 Tk - 1FB Rd 0000000000000000000 000011111 1011 Tk - 1FC Rd 0000000000000000000 000011111 1100 Tk - 8000 Wr 0000000000000000100 000000000 0000 Tk + Tm 8000h 8001 Wr 0000000000000000100 000000000 0001 Tk + Tm 8001h 8002 Wr 0000000000000000100 000000000 0010 Tk + Tm 8002h 8003 Wr 0000000000000000100 000000000 0011 Tk + Tm 8003h 1FC Wr 0000000000000000000 000011111 1100 Tk - 1FB Wr 0000000000000000000 000011111 1011 Tk - 1FA Wr 0000000000000000000 000011111 1010 Tk - 1F9 Wr 0000000000000000000 000011111 1001 Tk - 1F9 Rd 0000000000000000000 000011111 1001 Tk - 1FA Rd 0000000000000000000 000011111 1010 Tk - 1FB Rd 0000000000000000000 000011111 1011 Tk - 1FC Rd 0000000000000000000 000011111 1100 Tk - 8000 Rd 0000000000000000100 000000000 0000 Tk + Tb 8000h-800Fh 8001 Rd 0000000000000000100 000000000 0001 Tk - 8002 Rd 0000000000000000100 000000000 0010 Tk - Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 25 од 98 4004 Wr 0000000000000000010 0000000 000100 Tk + Tm Tk + Tm A00F Rd 0000000000000000101 0000000 001111 Tk Tk 6009 Rd 0000000000000000011 0000000 001001 Tk + Tb Tk + Tb 600A Rd 0000000000000000011 0000000 001010 Tk Tk E00B Rd 0000000000000000111 0000000 001011 Tk + Tb Tk E00C Rd 0000000000000000111 0000000 001100 Tk Tk E00D Rd 0000000000000000111 0000000 001101 Tk Tk 201A Wr 0000000000000000001 0000000 011010 Tk + Tm Tk + Tm 202B Wr 0000000000000000001 0000000 011011 Tk + Tm Tk + Tm Адресе се односе на сет 00h кеш меморије број сета број улаза V00 TAG00 МЕМОРИЈА LRU CNT 0 1 3 0 SET00h 1 1 7 1 Садржај релевантних делова кеш меморије Време дохватања блока је: Tb = 64Tm. Укупно време је: T = 6Tk + 6Tb + 21Tk + 6Tm + 6Tk T = 33Tk + 390Tm. б) Структура адреса код кеш меморије: Број блока Таг (20 бита) Сет (6 бита) Офсет (6 бита) Адресе се односе на сет 00h кеш меморије број сета број улаза V00 TAG00 МЕМОРИЈА LRU CNT 0 1 E 1 SET00h 1 1 A 0 Садржај релевантних делова кеш меморије за инструкције Укупно време приступа кеш меморији за инструкције је: T = 19Tk + 128Tm број сета број улаза V00 TAG00 МЕМОРИЈА LRU CNT 0 1 6 1 SET00h 1 1 4 0 Садржај релевантних делова кеш меморије за податке Укупно време приступа кеш меморији за податке је: T = 14Tk + 198Tm Укупно време је: T = 33Tk + 326Tm Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 26 од 98 Задатак 10. Адресна реч процесора широка је 32 бита, а адресибилна јединица је 16-битна реч. Процесор има раздвојене кеш меморије за инструкције и податке. Кеш меморија за инструкције и кеш меморија за податке имају следеће карактеристике: организоване су сет-асоцијативно на нивоу блока, свака капацитета 8 KB, величина блока је 64 бајтова, са четири улаза по сету. Алгоритам за ажурирање садржаја оперативне меморије је write-trough. Кеш меморија је са write allocated политиком довлачења и користи LRU алгоритам замене. Посматра се следећи програмски сегмент на језику Ц: for (j = 0; j < 0x80; j++) for (i = 0; i < 0x100; i++) x[i][j] = 2 * x[i][j]; Променљива i и j су смештене у регистрима, а низ x (x[0][0]) почев од локације 300h. У програмском језику Ц низови се у меморију смештају тако да је адреса елемента x[i][j] дата са: x[0][0] + i*n + j. На почетку је кеш меморија била празна. а) Нацртати структуру кеш меморије за податке, означити ширину у битовима свих релевантних делова и укратко описати њихову намену за дату кеш меморију. б) Дати садржај свих улаза свих сетова који су реферисани у датој секвенци, садржаје асоцијативног (TAG) дела, вредности V (Valid) и D (Dirty) бита, као и LRU бројача, после завршетка дате секвенце. Означити сетове. Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. в) Модификовати дати програмски сегмент тако да време приступа кеш меморији за податке буде краће него у тачки б). Израчунати укупно време потребно за приступ кеш меморији за податке у тако модификованом програмском сегменту. Решење: а) Структура адреса код кеш меморије: Број блока Таг (22 бита) Сет (5 бита) Офсет (5 бита) б) улаз 0 улаз 1 улаз 2 улаз 3 LRU COUNT број сета V TAG МЕМОРИЈА V TAG МЕМОРИЈА V TAG МЕМОРИЈА V TAG МЕМОРИЈА CNT0 CNT1 CNT2 CNT3 0 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 1 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 2 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 3 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 4 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 5 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 6 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 7 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 27 од 98 8 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 9 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 10 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 11 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 12 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 13 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 14 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 15 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 16 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 17 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 18 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 19 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 20 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 21 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 22 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 23 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 24 1 00001C 1 00001D 1 00001E 1 00001F 0 1 2 3 25 1 00001C 1 00001D 1 00001E 1 00001F 0 1 2 3 26 1 00001C 1 00001D 1 00001E 1 00001F 0 1 2 3 27 1 00001C 1 00001D 1 00001E 1 00001F 0 1 2 3 28 1 00001C 1 00001D 1 00001E 1 00001F 0 1 2 3 29 1 00001C 1 00001D 1 00001E 1 00001F 0 1 2 3 30 1 00001C 1 00001D 1 00001E 1 00001F 0 1 2 3 31 1 00001C 1 00001D 1 00001E 1 00001F 0 1 2 3 Садржај релевантних делова кеш меморије T = 65536*Tk + 1081344*Tm в) for (i = 0; i < 0x100; i++) for (j = 0; j < 0x80; j++) x[i][j] = 2 * x[i][j]; улаз 0 улаз 1 улаз 2 улаз 3 LRU COUNT број сета V TAG МЕМОРИЈА V TAG МЕМОРИЈА V TAG МЕМОРИЈА V TAG МЕМОРИЈА CNT0 CNT1 CNT2 CNT3 0 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 1 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 2 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 3 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 4 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 5 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 6 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 7 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 8 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 9 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 10 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 11 1 00001D 1 00001E 1 00001F 1 000020 0 1 2 3 Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 30 од 98 1 002 1001 2 003 0010 3 004 0100 Set 2FF Када се генерише последња адреса из секвенце, догађа се промашај у сету 2FFh. За замену се бира улаз 0, јер он има најмању вредност LRU бројача. У овом специјалном случају, он је и најдавније коришћени улаз, па је описани алгоритам заправо дао исти резултат као и потпуно тачан LRU. Стање после дате секвенце је, дакле: Улаз Tag LRU Reg (bin) 0 005 1000 1 002 0100 2 003 0001 3 004 0010 Set 2FF Улаз Tag LRU Reg (bin) 0 000 0100 1 001 1000 2 0000 3 0000 Set 30C г) Време дохватања блока је: Tb = 256Tm. Укупно време је: T = 8Tk + 7Tb = 8Tk + 1792 Tb д) Описани алгоритам користи заправо померачке регистре за памћење историје обраћања улазима. Сваки бит у свим регистрима представља једно обраћање из прошлости. Како је величина регистара ограничена, и “памћење” прошлости је ограничено, па се може догодити да се “заборави” разлика између коришћења нека два улаза која су довољно давно реферисана. На пример, посматрајмо следећу секвенцу обраћања са следећим бројем улаза у неком сету: 1, 0, 2, 2, 2, 2. После ове секвенце, стања LRU регистара ће бити: Улаз LRU Reg (bin) 0 0000 1 0000 2 1111 3 0000 Дакле, изгубљена је информација о разлици коришћења улаза 0 и 1, па се за замену бира било који од њих, рецимо 0, иако је он скорије коришћен. Јасна су два закључка: 1) описани ефекат “заборављања” има све мање значаја што су LRU померачки регистри дужи, односно што је памћење прошлости далекосежније; 2) када су LRU регистри довољно дугачки, заправо и није битно што се описани ефекат испољио, јер су нека два улаза чији се регистри не разликују (једнаки су 0) оба довољно давно коришћена, па је заправо све једно који ће од њих бити замењен. Задатак 12. LRU i486 Код микропроцесора Intel 80486 користи се следећа апроксимација LRU алгоритма. Сваки сет поседује 4 улаза. Та четири улаза се деле да две групе (група 0 и група 1) од по два улаза (улаз 0 и улаз 1 у групи). За спровођење алгоритма користе се три бита придружена сваком сету. Један бит (бит B2) говори којој се групи улаза најскорије приступало, а друга два бита (бити B1 и B0) говоре ком се улазу из сваке групе скорије приступало. Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 31 од 98 а) Дефинисати алгоритам и хардвер којим се ажурирају описана три бита при једном приступу неком улазу. б) Дефинисати алгоритам и хардвер којим се врши избор улаза за замену. в) За кеш меморију дати вредности описаних бита сета 2FFh после завршетка следеће секвенце адреса (све вредности су хексадецималне): 12FF0A (Rd), 22FF0B (Rd), 30C0C (Rd), 32FF00 (Wr), 42FF01 (Rd), 130C01 (Rd), 22FF00 (Wr), 52FFFF (Rd). г) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. Решење: а) Нека је број улаза (0 до 3) коме се врши обраћање кодиран са 2 битa E1 и E0. При сваком обраћању треба ажурирати описане бите на следећи начин: у бит B2 треба уписати број групе улаза којој се приступа; то је заправо вредност бита E1. Ако је то група 0, онда у бит B0 треба уписати ком се улазу из групе приступало, а то је заправо вредност E0; ако је то група 1, онда у бит B1 треба уписати ову вредност E0. Према томе, потребни хардвер изгледа овако: 0 1 2 3 CD E 1 0 10 DP B2 LD B1LD B0LD ažururanje E1 E0 Ulaz0 Ulaz1 Ulaz2 Ulaz3 1 4 2 4 3 referisani ulaz б) Избор улаза у који треба сместити нови блок се обавља тако што се прво провери да ли постоји неки слободан улаз. Уколико постоји један или више слободних улаза они се попуњавају по FIFO принципу. Уколико не постоји слободан улаз онда је потребно извршити избор улаза за замену. Избор улаза за замену врши се по следећем алгоритму: бира се за замену улаз који је давније коришћен из оне групе која је давније коришћена. На пример, ако је вредност бита B2 једнака 0, бира се група 1; при том, ако је вредност бита B1 једнака 0, бира се улаз 1 из те групе. Хардвер изгледа овако: 1 1 4 4 2 4 4 3 broj ulaza za zamenu B0 B1 B2 0 1 MP 0 Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 32 од 98 в) Структура адреса код кеш меморије: Број блока Таг (12 бита) Сет (12 бита) Офсет (8 бита) Адреса Тип Таг Сет Реч Време Адресе 0012FF0A Rd 001 2FF 0A Tk + Tb 12FF00h-12FFFFh 0022FF0B Rd 002 2FF 0B Tk + Tb 22FF00h-22FFFFh 00030C0C Rd 000 30C 0C Tk + Tb 30C00h-30CFFh 0032FF00 Wr 003 2FF 00 Tk + Tb 32FF00h-32FFFF 0042FF01 Rd 004 2FF 01 Tk + Tb 42FF00h-42FFFFh 00130C01 Rd 001 30C 01 Tk + Tb 130C00h-130CFFh 0022FF00 Wr 002 2FF 00 Tk - 0052FFFF Rd 005 2FF FF Tk + Tb + Tb 32FF00h-32FFFF, 52FF00-52FFFFh Дата секвенца представља тражење следећих вредности TAG у сету 2FFh: 1, 2, 3, 4, 2, 5. Стања улаза i бита B овог сета током извршавања ове секвенце су следећа: TAG Улаз0 Улаз1 Улаз2 Улаз3 битови B2…0 1 1 000 2 1 2 001 3 1 2 3 101 4 1 2 3 4 111 2 1 2 3 4 011 5 1 2 5 4 101 Упоређивањем коначног стања сета са оним из претходног задатка, може се приметити да за дати пример алгоритам из овог задатка даје лошију одлуку при замени улаза 2, који је скорије коришћен него улаз 0. г) Време дохватања блока је: Tb = 256Tm. Укупно време је: T = 8Tk + 8Tb = 8Tk + 2048 Tb Задатак 13. Посматра се процесор са следећим карактеристикама: адреса је ширине 32 бита, а адресибилна јединица је 16-битна реч. Процесор има раздвојене кеш меморије за инструкције и податке. Кеш меморија за инструкције и кеш меморија за податке имају следеће карактеристике: организоване су сет- асоцијативно на нивоу блока, свака капацитета 16 KB, величина блока је 64 бајтова, са четири улаза по сету. Алгоритам за ажурирање садржаја оперативне меморије је write-back. Кеш меморија је са no write allocated политиком довлачења и користи псеудо LRU (i486) алгоритам замене. Процесор генерише следећу секвенцу адреса са типом операције назначеним у загради после сваке адресе (Rd = read, Wr = write): AA59h (Rd), B251h (Rd), CA50h (Wr), D251h (Rd), EA57h (Rd), F250h (Wr), 1256h (Rd), CA54h (Rd). На почетку је кеш меморија била празна. а) Нацртати структуру кеш меморије за податке, означити ширину у битовима свих релевантних делова и укратко описати њихову намену за дату кеш меморију. б) Дати садржај свих улаза свих сетова који су реферисани у датој секвенци, садржаје асоцијативног (TAG) дела, вредности V (Valid) и D (Dirty) бита, као и LRU бројача, после сваког приступа кеш меморији у датој секвенци. Означити сетове. в) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 35 од 98 в) Време дохватања блока је: Tb = 32Tm. Укупно време је: T = 10Tk + 10Tb = 10Tk + 320Tm . г) број сета број улаза V2 TAG2 МЕМОРИЈА FIFO CNT 0 1 00000000000000001 1 SET2h 1 1 00000000000000000 Садржај релевантних делова кеш меморије Време дохватања блока је: Tb = 32Tm. Укупно време је: T = 10Tk + 5Tb + 3Tm = 10Tk + 163Tm. д) број сета број улаза V2 TAG2 МЕМОРИЈА FIFO CNT 0 1 00000000000000001 1 SET2h 1 1 00000000000000010 Садржај релевантних делова кеш меморије Време дохватања блока је: Tb = 32Tm. Укупно време је: T = 10Tk + 7Tb + 3Tm = 10Tk + 227Tm. ђ) број сета број улаза D2 V2 TAG2 МЕМОРИЈА FIFO CNT 0 1 1 00000000000000001 1 SET2h 1 0 1 00000000000000000 Садржај релевантних делова кеш меморије Време дохватања блока је: Tb = 32Tm. Укупно време је: T = 10Tk + 5Tb + 2Tm = 10Tk + 162Tm . е) Ова техника се користи да смањи conflict misses (директно и сет-асоцијативно). Кешу се додаје један мали потпуно асоцијативан кеш (victim cache). Он садржи блокове који су били жртве (victims) при miss-у. При miss-у се најпре врши провера у victim кешу. Ако јесте, онда кеш блок и victim блок мењају место. Ако није у victim кешу тек онда се иде у оперативну меморију. Код victim кеш меморија није потребно користити LRU алгоритам замене већ само FIFO јер се прилико откривања сагласност у victim кеш меморију увек резултује уклањању дате линије и њеним пребацивањем у L1 кеш меморију. а4) Структура адреса код L1 кеш меморије: Број блока Таг (17 бита) Сет (10 бита) Офсет (5 бита) Структура адреса код victim кеш меморије: Број блока Офсет (5 бита) Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 36 од 98 Таг (27 бита) б4) Адреса Тип Таг Сет Реч Време 8043h Rd 00000000000000001 0000000010 00011 Tk+Tv+Tb 10055h Wr 00000000000000010 0000000010 10101 Tk+Tv+Tb 8044h Rd 00000000000000001 0000000010 00100 Tk 1804Fh Rd 00000000000000011 0000000010 01111 Tk+Tv+Tt+Tb 10056h Rd 00000000000000010 0000000010 10110 Tk+Tv+Tt+Tt 005Bh Rd 00000000000000000 0000000010 11011 Tk+Tv+Tt+Tb 2805Eh Wr 00000000000000101 0000000010 11110 Tk+Tv+Tt+Tb 10056h Rd 00000000000000010 0000000010 10110 Tk+Tv+Tt+Tt 8045h Rd 00000000000000001 0000000010 00101 Tk+Tv+Tt+Tt број сета број улаза D2 V2 TAG2 МЕМОРИЈА LRU CNT 0 0 1 00000000000000001 1 SET2h 1 1 1 00000000000000010 0 Садржај релевантних делова L1 кеш меморије број улаза D V TAG МЕМОРИЈА 0 1 1 000000000000001010000000010 1 0 1 000000000000000110000000010 2 0 1 000000000000000000000000010 3 0 0 4 0 0 M M M 8 0 0 Садржај релевантних делова victim кеш меморије в4) Време дохватања блока је: Tb = 32Tm. Укупно време је: T = 9Tk + 5Tb + 8Tv + 9Tt = 9Tk + 160Tm + 8Tv + 9Tt . Задатак 15. Разматра се процесор код кога је адреса ширине 32 бита а адресибилна јединица је 8 битна реч који има кеш меморију са следећим карактеристикама: Блок, односно кеш линија је величине 128 бита; Кешу се приступа на нивоу 8 битне речи; Кеш меморија је сет асоцијативна са 32 сета, са четири блока по сету; Кеш подржава само write-back политику уписа; Провера валидности и модификованости се посматра на нивоу 32 бита; а) Нацртати структуру кеш меморије, означити ширину у битовима за све релевантне делове и укратко описати њихову намену. б) Процесор генерише следећу секвенцу адреса са типом операције назначеним у загради после сваке адресе (R = read, W = write): 20Ah (R), A0Fh (W), 200h (W), FE00h (R), FE0Ch (R), C00Ah (W), A05h (R), B80Dh (R). Дати садржај свих улаза свих сетова који су реферисани у датој секвенци, као и вредности V (Valiг) бита и D (Dirty), после завршетка дате секвенце, ако је алгоритам замене FIFO. Означити сетове. в) Израчунати укупно време потребно за приступ кеш меморији за податке у датој секвенци. Треба претпоставити да се прво пренесе цео блок из оперативне меморије у кеш меморије и обрнуто, па се тек Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 37 од 98 онда приступа локацији и треба узети у обзир само времена приступа меморији односно кеш меморији (Tm и Tk) и занемарити времена потребна за остале активности. г) Како би гласили одговори на питања а) – в) у случају да се валидност посматра на нивоу блока а модификованост на нивоу 32 бита. Решење: а) б) Адреса Тип Таг Сет Под сет Реч Време 20A Rd 00000000000000000000001 00000 10 10 Tk + Tp A0F Wr 00000000000000000000101 00000 11 11 Tk + Tp 200 Wr 00000000000000000000001 00000 00 00 Tk + Tp FE00 Rd 00000000000000001111111 00000 00 00 Tk + Tp FE0C Rd 00000000000000001111111 00000 11 00 Tk + Tp C00A Wr 00000000000000001100000 00000 10 10 Tk + Tp A05 Rd 00000000000000000000101 00000 01 01 Tk + Tp B80D Rd 00000000000000001011100 00000 11 01 Tk+Tp+Tp број сета број улаза D0 V0 D1 V1 D2 V2 D3 V3 TAG МЕМОРИЈА 0 0 0 0 0 0 0 0 1 00000000000000001011100 1 0 0 0 1 0 0 1 1 00000000000000000000101 2 0 1 0 0 0 0 0 1 00000000000000001111111 SET0h 3 0 0 0 0 1 1 0 0 00000000000000001100000 Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 40 од 98 г) Приликом коришћења технике look-aside податак се тражи и у кеш меморији и у главној меморији у паралели. Уколико се податак открије у кеш меморији циклус према главној меморији се отказује. Главни недостатак овог приступа је повећан саобраћај на магистрали. Задатак 17. Посматра се кеш меморија капацитета 10MB чије је време приступа речи 0.2 ns. Она се користи за убрзавање приступа главној RAM меморији капацитета 4 GB, са временом приступа 10 ns. Величина једне кеш линије је 16 речи, а вероватноћа да се податак нађе у кеш меморији (hit rate) је 0.95. Уколико се реч не налази у меморији прво се довлачи тражени податак па тек онда преостале речи из кеш линије. У свим случајевима претпоставити write-trough политику уписа. Колико је просечно време приступа кешу за случај: а) операције читања код look-through приступом приликом читања? б) операције читања код look-aside приступом приликом читања? в) операције уписа код write-trough приступом приликом уписа? Решење: CacheSize = 10 MB CacheCycleTime = 0.2 ns MemorySize = 4 GB MemoryCycleTime = 10 ns CacheLineSize = 16 W HitRate = 0.95 а) look-trough AverageMemoryAccessTime = HitTime + MissPenalty * MissRate MissRate = 1 – HitRate MissPenalty = MemoryCycleTime HitTime = CacheCycleTime AverageMemoryAccessTime = CacheCycleTime + MemoryCycleTime * (1 - HitRate) AverageMemoryAccessTime = 0.2 + 10 * (1 - 0.95) = 0.7 ns б) look-aside AverageMemoryAccessTime = CacheCycleTime * HitRate + MemoryCycleTime * (1 - HitRate) AverageMemoryAccessTime = 0.2 * 0.95 + 10 * (1 - 0.95) = 0.69 ns в) write-trough write са write allocated политиком довлачења AverageMemoryAccessTime = MemoryCycleTime * HitRate + + (MemoryCycleTime + MemoryCycleTime) * (1 - HitRate) AverageMemoryAccessTime = MemoryCycleTime + MemoryCycleTime * (1 - HitRate) Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 41 од 98 AverageMemoryAccessTime = 10.5 ns c2) write-trough write са non-write allocated политиком довлачења AverageMemoryAccessTime = MemoryCycleTime * HitRate + + MemoryCycleTime * (1 - HitRate) = MemoryCycleTime Задатак 18. Посматра се кеш меморија капацитета 2MB чије је време приступа речи 0.2 ns. Она се користи за убрзавање приступа главној RAM меморији капацитета 1 GB, са временом приступа једној речи је 2 ns. Из меморије се чита и у меморију уписује реч по реч. Величина једне кеш линије је 8 речи и цела линија се довлачи/одвлачи у случају било ког промашаја, а вероватноћа да се податак нађе у кеш меморији (hit rate) је 0.95. Вероватноћа операције уписа је 30%. Вероватноћа да је кеш линија модификована износи 40%. Приликом операције уписа се користи write allocate политика. Колико је просечан број приступа меморији за случај: а) кеш меморије са look-through приступом? б) кеш меморије са look-aside приступом? Размотрити решења за случај write through и write back начина уписа са write allocated политиком. Решење: CacheSize = 2 MB CacheCycleTime = 0.2 ns MemorySize = 1 GB MemoryCycleTime = 2 ns CacheLineSize = 8 W HitRate = 0.95 Write = 30% Modified = 40% а) look-trough са write throug Read + Write = 1 Hit? Операција Фреквенција Број приступа меморији + Read Read * HitRate = 0.665 0 - Read Read * (1 – HitRate) = 0.035 CacheLineSize/W = 8 + Write Write * HitRate = 0.285 1 - Wtite Write * (1 – HitRate) = 0.015 CacheLineSize/W + 1 = 9 AverageAccessesNumber = 0.665 * 0 + 0.035 * 8 + 0.285 * 1 + 0.015 * 9 = 0.7 look-trough са write back Hit? Операција Фреквенција Број приступа меморији + Read Read * HitRate = 0.665 0 - Read Read * (1 – HitRate) = 0.035 CacheLineSize/W * (1 + Modifieг) = 11.2 + Write Write * HitRate = 0.285 0 - Wtite Write * (1 – HitRate) = 0.015 CacheLineSize/W * (1 + Modifieг) = 11.2 AverageAccessesNumber = 0.665 * 0 + 0.035 * 11.2 + 0.285 * 0 + 0.015 * 11.2 = 0.56 Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 42 од 98 б) look-aside са write throug Hit? Операција Фреквенција Број приступа меморији + Read Read * HitRate = 0.665 1 - Read Read * (1 – HitRate) = 0.035 CacheLineSize/W = 8 + Write Write * HitRate = 0.285 1 - Wtite Write * (1 – HitRate) = 0.015 CacheLineSize/W + 1 = 9 AverageAccessesNumber = 0.665 * 1 + 0.035 * 8 + 0.285 * 1 + 0.015 * 9 = 1.365 look-aside са write back Hit? Операција Фреквенција Број приступа меморији + Read Read * HitRate = 0.665 1 - Read Read * (1 – HitRate) = 0.035 CacheLineSize/W * (1 + Modifieг) = 11.2 + Write Write * HitRate = 0.285 0 - Wtite Write * (1 – HitRate) = 0.015 CacheLineSize/W * (1 + Modifieг) = 11.2 AverageAccessesNumber = 0.665 * 1 + 0.035 * 11.2 + 0.285 * 0 + 0.015 * 11.2 = 1.225 Задатак 19. Посматра се кеш меморија капацитета 128KB чије је време приступа речи 1 такт. Фреквенција система је 2 GHz. Она се користи за убрзавање приступа главној RAM меморији капацитета 1 GB. Време одзива меморије 50 тактова, брзина трансфера 4 бајта по такту. Величина једне кеш линије је 16 B и цела линија се довлачи/одвлачи у случају било ког промашаја, а вероватноћа да се податак нађе у кеш меморији (hit rate) је 0.90. Вероватноћа операције уписа је 35%. Вероватноћа да је кеш линија модификована износи 30%. Приликом операције уписа се користи non-write allocate политика и користи се write back техником уписа. Колико је просечан број приступа меморији за случај: а) кеш меморије са look-through приступом? б) кеш меморије са look-aside приступом? Решење: f = 2 GHz Write = 0.3 CacheSize = 128 KB HitRate = 0.9 MemoryDelayCycles = 50 MemoryTransferRatePerCycle = 4 B Modified = 0.3 CachLIneSize = 16 B а) AverageMemoryAccessTimeR = HitTime + MissPenalty * MissRate MissRate = 1 – HitRate = 0.1 MissPenaltyCycles = (MemoryDelayCycles + CacheLineSize/W) * (1 + Modifieг) MissPenalty = MissPenaltyCycles / f MissPenalty = (50 + 16/4) * (1 + 0.3) * 0.5 = 35.1 ns HitTime = CacheCycleTime = 0.5 ns AverageMemoryAccessTimeR = 0.5 + 35.1 * 0.1 = 4.01 ns Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 45 од 98 Задатак 2. У рачунару са виртуелном меморијом страничне организације дефинисаном у претходном задатку постоји јединица за убрзавање пресликавања виртуелних у реалне адресе. а) Узети да рачунар поседује јединицу за убрзавање пресликавања виртуелних у реалне адресе, реализовану у техници асоцијативног пресликавања у којој се истовремено чувају релевантни делови дескриптора 512 најчешће коришћених страница до 16 корисника. Урадити следеће: а1) Нацртати, означити дужину у битовима и објаснити функцију свих релевантних делова јединице за убрзавање пресликавања. а2) Означити дужине у битовима релевантних делова виртуелне и реалне адресе и објаснити како се: проверава да ли се релевантни дескриптор налази у јединици за убрзавање пресликавања; долази до дескриптора уколико се утврди да се налази у јединици за убрзавање пресликавања; формира реална адреса; у јединици за убрзавање пресликавања обезбеђује да се странице различитих корисника које имају исти број не пресликавају у исти, већ свака у свој блок. а3) У случају да се за генерисану виртуелну адресу утврди да се релевантни дескриптор не налази у јединици за убрзавање пресликавања, објаснити шта се ради у случају: када је релевантна страница у меморији; када релевантна страница није у меморији и навести шта се од тога ради хардверски, а шта софтверски. б) Узети да рачунар поседује јединицу за убрзавање пресликавања виртуелних у реалне адресе, реализовану у техници директног пресликавања у којој се истовремено чувају релевантни делови дескриптора 2048 најчешће коришћених страница до 16 корисника. Урадити исто као под а) овог задатка. в) Узети да рачунар поседује јединицу за убрзавање пресликавања виртуелних у реалне адресе, реализовану у техници сет-асоцијативног пресликавања са два улаза по сету у којој се истовремено чувају релевантни делови дескриптора 2048 најчешће коришћених страница до 16 корисника. Урадити исто као под а) овог задатка. Решење: а) Docsity.com Е л е ктр о те х н и ч ки ф а ку л те т У н и в е р зи те та у Б е о гр а д у А р х и те кту р а и о р га н и за ц и ја р а ч у н а р а 1 В е ж б е н а та б л и С тр а н а 46 о д 98 CD V0 M V1 V511 511 1 M 0 TAG MEMORIJA V1 M1 V511 M511 V0 M0 511 1 0 1 M M 8 0 D0 M D1 D511 511 1 0 1 4 2 4 3 broj ulaza 8 M 0 1 2 3 HIT D V DATA MEMORIJA page word 091023 1442443 14243 virtuelna adresa block word 091019 1442443 14243 realna adresa user 03 123 korisnik 10 10 017 1442443 1442443 4 14 18 123 123 1442443 V D tag 1811 09 14243 10 10 W word tag block б) Docsity.com Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1 Вежбе на табли Страна 47 од 98 TAG MEMORIJA 2047 1 0 10 M 0 page word 091023 14243 14243 virtuelna adresa block word 091019 1442443 14243 realna adresa user 03 123 korisnik 10 10 1016 4 11 { 14243 D 71 09 1442443 10 10 1718 { V 1 123 3 21 20 14243 1 2 3 CMP block tag 7 tag ulaz = HIT в)
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved