Vezbe-Arhitektura i organizacija racunara 1-Softversko inzenjerstvo Vezbe_AOR1_2009_V1.0_Part2, Vežbe' predlog Arhitektura računara i organizacija. Univerzitet u Beogradu
grucho
grucho

Vezbe-Arhitektura i organizacija racunara 1-Softversko inzenjerstvo Vezbe_AOR1_2009_V1.0_Part2, Vežbe' predlog Arhitektura računara i organizacija. Univerzitet u Beogradu

48 str.
5broj preuzimanja
1000+broj poseta
1broj komentara
Opis
Vezbe-Arhitektura i organizacija racunara 1-Softversko inzenjerstvo Vezbe_AOR1_2009_V1.0_Part2; Preklapanje pristupa memorijskim modulima (Memory Inteleaving); Protočna obrada (Pipeline); zadaci sa resenjima;
20 poeni
poeni preuzimanja potrebni da se preuzme
ovaj dokument
preuzmi dokument
pregled3 str. / 48
ovo je samo pregled
3 prikazano na 48 str.
preuzmi dokument
ovo je samo pregled
3 prikazano na 48 str.
preuzmi dokument
ovo je samo pregled
3 prikazano na 48 str.
preuzmi dokument
ovo je samo pregled
3 prikazano na 48 str.
preuzmi dokument
Vezbe_AOR1_2009_V1.0

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 51 од 98

д) Прекид типа Page Fault је генерисан 3 пута.

ђ) (Page Fault), F000h, F001h, F002h, (Page Fault), F002h, F115h, F003h, F004h, (Page Fault), F003h, F004h, F201h

Задатак 5. Процесор подржава виртуелну организацију меморије са страничним пресликавањем. Странице су

дужине 216 речи. Капацитет физичке меморије је највише 215 блокова. Меморијске (физичке) адресе су ширине 31 бит, ширина магистрале података је 16 бита, а адресирање је на нивоу 16-битних речи. Корисничке логичке (виртуелне) адресе су 24-битне, а процесор подржава рад 256 корисничких програма.

Процесор поседује и хардвер за убрзавање пресликавања, у даљем тексту TLB. TLB је организован са сет-асоцијативним пресликавањем, поседује два улаза по сету и 64 сета. Алгоритам замене је FIFO. Кориснички програм са бројем D0h генерише следећу секвенцу виртуелних адреса (све вредности су хексадецималне):

278800 (Ex), A700FF(Rd), 278801(Ex), E78800(Rd), B600FA(Wr), 278802(Ex), B600FF(Rd), E78802(Rd)

Слободни део оперативне меморије обухвата блокове почев од 00F0h закључно са 00FFh. Ови блокови попуњавају се редом. Изглед табеле страница датог корисника пре почетка дате секвенце:

Табеластраницакорисника D0h Улаз V D БлокДиск

... - 27 1 0 0037h - ... - Е7 1 1 004Eh - ... -

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

а) Приказати логичку структуру виртуелне адресе и означити значење и дужину сваког поља.

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

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

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

д) Колико пута је генерисан прекид типа Page Fault?

ђ) Приказати физичке адресе којима је приступао дати програмски сегмент.

Решење: а)

Логичка структура виртуелне адресе је: 23 16 15 0

Page Offset

Логичка структура физичке адресе је: 30 16 15 0

Block Offset

б) Улазни податак за TLB има структуру: 15 8 7 0

User Page

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 52 од 98

Кључ за претрагу је поље User(7:0):Page(7:6), а налази се у сету са редним бројем једнаким пољу Page(5:0).

в) Садржај је следећи (све вредности су хексадецималне):

Сет 27h

Кључеви (Tagмеморија) ИнформационисадржајУлаз V D Tag Блок

0 1 0 343h 004E 1 1 0 340h 0037

Сет 36h

Кључеви (Tagмеморија) ИнформационисадржајУлаз V D Tag Блок

0 1 0 342h 00F1 1 0

г)

Табеластраницакорисника D0h Улаз V D БлокДиск

... - 27 1 0 0037h - ... - A7 1 0 00F0h - ... - B6 1 1 00F1h - ... - E7 1 1 004Eh - ... -

д) Прекид типа Page Fault је генерисан 2 пута.

ђ) 00378800h, (Page Fault), 00378800h, 00F000FFh, 00378801h, 004E8800h, (Page Fault), 00378801h, 004E8800h, 00F100FAh, 00378802h, 00F100FFh, 004E8802h

Задатак 6. Процесор подржава постојање више програма у меморији истовремено, до 8 корисника. Рачунар

поседује виртуелну меморију, код које 32-битне адресе одговарају виртуелном адресном простору, а физички адресни простор је величине 256 MW (256 мега речи). Адресирање је на нивоу 32-битних речи. Виртуелна меморија организована је на страничном принципу, при чему је величина странице 1 KW (1 кило речи). Процесор поседује посебан хардвер за убрзавање пресликавања виртуелних у реалне (физичке) адресе (у даљем тексту TLB). TLB је организован са сет-асоцијативним пресликавањем, поседује два улаза по сету и 64 сета. Алгоритам замене TLB-a је FIFO. Процесор извршава следећи део програма корисника са идентификатором 7:

Адреса (hex): Наредба: Коментар:

10000 LOAD R0, #40004h ; R0 := 40004h

10002 PUSH R0 ; Mem[SP--]:=R0

10003 STORE 20005h, R0 ; Mem[20005h] := R0

10005

Кориснику су додељена два блока оперативне меморији почев од F0h закључно са F1h. Ови блокови попуњавају се редом. Алгоритам замене страница у оперативној меморији је FIFO. Ниједна од страница датог корисника није у оперативној меморији, а стек расте од виших ка нижим адресама и SP указује не

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 53 од 98

прву слободну локацију, и има вредност 30009h пре извршавања датог дела програма. Регистар R0 је 32- битни. Претпоставити да се приликом промене контекста садржај TLB јединице неће променити.

а) Приказати логичку структуру виртуелне и физичке адресе и дати значење и дужину сваког поља.

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

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

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

д) Колико пута је генерисан прекид типа Page Fault? ђ) Приказати физичке адресе којима је приступао дати програмски сегмент.

Решење: а)Логичка структура виртуелне адресе је:

31 10 9 0

Page(22) Offset(10)

Логичка структура физичке адресе је:

27 10 9 0

Block(18) Offset(10)

б)

Tag(19) Set(6) Offset(0)

в) Стање TLB-а је на крају:

Сет 0h

Кључеви (Tagмеморија) ИнформационисадржајУлаз V D Tag Блок

0 1 0 70001h F1 1 1 1 70002h F0

г)

ТабеластраницаУлаз V D БлокДиск

... - 40h 1 0 F1h - ... -

80h 1 1 F0h - ... -

C0h 0 1 F1h - ... -

д)

Прекид типа Page Fault је генерисан 4 пута.

ђ) .

Задатак 7. Виртуелне меморијске адресе су ширине 16 бита, а адресирање је на нивоу 16-битних речи. Процесор

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

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 54 од 98

адресни простор је величине 4 GW (4 гига речи). Виртуелна меморија организована је на сегментом принципу, при чему је максимална величина сегмента 4 KW (4 кило речи). Процесор поседује посебан хардвер за убрзавање пресликавања виртуелних у реалне (физичке) адресе (у даљем тексту TLB). TLB је реализован са директним пресликавањем, при чему се сви сегменти са истим бројем, различитих корисника, пресликавају у исти улаз у TLB. Информациони садржај једног улаза у TLB је следећи: дужина сегмента, права приступа и почетна адреса сегмента у физичкој меморији. Права приступа се дефинишу помоћу три бита R, W и E, при чему јединица значи дозвољено читање податка (R), упис податка (W) и извршавање инструкције (E). Процесор извршава следећи део програма корисника са идентификатором 3:

Адреса (hex): Наредба: Коментар:

3F00 MOV R0, #1234h ; R0:=1234h

3F02 PUSH R0 ; Mem[SP--]:=R0

3F03 MOV 2001h, R0 ; Mem[2001h]:=R0

3F05 ...

Пре почетка извршавања датог програмског сегмента у оперативном меморији су били присутни сегменти програма, стека и података датог корисника. Сегмент програма је дужине 4 KW и смештен је почев од локације 200000h физичке меморије, сегмент стека је дужине 1 KW и смештен је почев од локације 300000h физичке меморије, а сегмент података је дозвољен за упис и читање, дужине је 2 KW и смештен је од адресе 400000h физичке меморије. Стек расте од виших ка нижим адресама и указује на прву слободну локацију, а SP има почетну вредност 1215h пре извршавања датог дела програма. Претпоставити да се приликом промене контекста садржај TLB јединице неће променити.

а) Приказати логичку структуру виртуелне адресе и означити значење и дужину сваког поља.

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

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

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

д) Колико пута је генерисан прекид типа Page Fault?

ђ) Приказати физичке адресе којима је приступао дати програмски сегмент.

Решење: а) Логичка структура виртуелне адресе је тако:

15 11

Segment(4) Offset(12)

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

б) Улазни податак за TLB је :

7 3 User(4) Segment(4)

Кључ за претрагу у TLB поље User, а налази се у улазу са редним бројем једнаким пољу Segment.

в)

Кључеви (Tagмеморија) ИнформационисадржајУлаз V D Tag RWE (bin) ДужинаПочетнаадреса(hex)

0 0 0 1 1 1 3 110 1K 300000 2 1 1 3 110 2K 400000 3 1 0 3 ?01 4K 200000

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 55 од 98

г)

ТабеласегменатаУлаз V D RWE (bin) ДужинаПочетнаадреса(hex) Диск

0 0 0 - 1 1 1 110 1K 300000 - 2 1 1 110 2K 400000 - 3 1 0 ?01 4K 200000 -

д) Прекид типа Page Fault у датом програмском сегменту није био генерисан јер су сви сегменти датог корисника већ били смештени у оперативну меморију.

ђ) 00200F00h, 00200F01h, 00200F02h, 00300215h, 00200F03h, 00200F04h, 00400001h.

Задатак 8. Процесор подржава виртуелну меморију, и поседује хардвер за убрзавање пресликавања виртуелних

у реалне адресе (у даљем тексту TLB). При том је виртуелна адреса ширине 16 бита, а реална адреса 32 бита, уз подршку до 4 корисника. Виртуелна меморија организована је по сегментно-страничном принципу, са максимално 4 сегмената по кориснику и 16 странице по сегменту. TLB је организован асоцијативно, са 4 улаза и LRU алгоритмом замене.

а) Приказати логичку структуру виртуелне и физичке адресе и дати значење и дужину сваког поља.

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

в) Приказати вредности кључева и информационог садржаја релевантних улаза у TLB (означити те улазе), после секвенце захтева за приступ следећим адресама корисника са идентификатором 3:

4632h (Ex), 5C5Fh (Ex), BE8Eh (Rd), 2237h (Wr), 5C60h (Ex), 463Fh (Ex), FCFAh (Wr).

Пре почетка извршавања овог програмског сегмента TLB јединица је била празна, а у оперативној меморији се није налазила ни једна страница датог корисника. Кориснику се додељују странице у оперативне меморији почев од блока C1h физичке меморије. Ове странице се додељују редом. Алгоритам замене страница у оперативној меморији је FIFO. Одредити минималну величину сегмената тако да не дође до прекида услед прекорачења опсега. Претпоставити да се приликом промене контекста садржај TLB јединице неће променити.

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

д) Колико пута је генерисан прекид типа Page Fault?

ђ) Приказати физичке адресе којима је приступао дати програмски сегмент.

Решење: а) Логичка структура виртуелне адресе је:

15 13 9

Segment(2) Page(4) Offset(10)

Логичка структура физичке адресе је: 31 9

Block(22) Offset(10)

в)

Улазни податак за TLB има структуру: 7 5 3

User(2) Segment(2) Page(4)

Кључ за претрагу је поље User(1:0):Segment(1:0):Page(3:0).

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 56 од 98

в) Садржај асоцијативног дела је на крају:

Кључеви (Tagмеморија) ИнформационисадржајУлаз V D Tag RWE (bin) Блок LRU–CNT

0 1 0 11010001 001 C1 2 1 1 0 11010111 001 C2 1 2 1 1 11111111 110 C5 3 3 1 1 11001000 110 C4 0

г)

ТабеласегменатаУлаз RWE (bin) Дужина PTP

0 110 9K 0 1 001 8K 1 2 110 16K 2 3 110 16K 3

Табеластраница 0 Улаз V D БлокДиск

... - 8 1 0 C4 - ... -

Табеластраница 1 Улаз V D БлокДиск

... - 1 1 0 C1 - 7 1 0 C2 -

Табеластраница 2 Улаз V D БлокДиск

... - … - F 1 0 C3 -

Табеластраница 3 Улаз V D БлокДиск

... - … - F 1 0 C5 -

д) Прекид типа Page Fault у датом програмском сегменту је био генерисан 5 пута.

ђ) (Page Fault), 00030632h, (Page Fault), 0003085Fh, (Page Fault), 0003085Fh, 00030E8Eh, (Page Fault), 0003085Fh, 00030E8Eh, 00031237h, 00030860h, 0003063Fh, (Page Fault), 0003063Fh, 000314FAh.

Задатак 9. Процесор подржава постојање више програма у меморији истовремено, до 8 корисника. Рачунар

поседује виртуелну меморију, код које 32-битне адресе одговарају виртуелном адресном простору, а физички адресни простор је величине 256 MW (256 мега речи). Адресирање је на нивоу 32-битних речи. Виртуелна меморија организована је на сегментно страничном принципу, при чему је величина странице 1 KW (1 кило речи). Постоје 4 сегмента, то су сегмент програма, сегмент података, сегмент стека и хип сегмент. Процесор поседује посебан хардвер за убрзавање пресликавања виртуелних у реалне (физичке) адресе (у даљем тексту TLB). TLB је организован са сет-асоцијативним

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 57 од 98

пресликавањем, поседује четири улаза по сету и 32 сета. Алгоритам замене TLB-a је LRU. Процесор извршава следећи део програма корисника са идентификатором 7:

Адреса (hex): Наредба: Коментар:

00000D76 MOV R0, #1234h ; R0:=1234h

00000D78 PUSH R0 ; Mem[SP--]:=R0

00000D79 MOV 40000F56h, R0 ; Mem[40000F56h]:=R0

00000D7B MOV (40000FABh), R0 ; Mem[Mem[40000FABh]]:=R0

00000D7D …

За дати програм сегмент програма је величине 16 KW, сегмент података 6 KW, сегмент стека 8 KW, док је хип сегмент 10 KW. Стек расте од виших ка нижим адресама и SP указује не прву слободну локацију има вредност 80000C13h пре извршавања датог дела програма. Садржај меморијске локације 40000FABh је C0000E24h.

Пре почетка извршавања овог програмског сегмента TLB јединица је била празна, а у оперативној меморији се није налазила ни једна страница датог корисника. Кориснику се додељују странице у оперативне меморији почев од блока ABh физичке меморије. Ове странице се додељују редом. Алгоритам замене страница у оперативној меморији је FIFO. Регистар R0 је 32-битни. Приликом промене контекста брише се комплетан садржај TLB јединице.

а) Приказати логичку структуру виртуелне и физичке адресе и дати значење и дужину сваког поља.

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

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

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

д) Колико пута је генерисан прекид типа Page Fault?

ђ) Приказати физичке адресе којима је приступао дати програмски сегмент.

Решење: а) Логичка структура виртуелне адресе је:

31 29 9

Segment(2) Page(20) Offset(10)

Логичка структура физичке адресе је: 27 9

Block(18) Offset(10)

б) Улазни податак за TLB има структуру: 24 21 19

User(3) Segment(2) Page(20)

Кључ за претрагу је поље User(7:0):Segment(1:0):Page(19:5), а налази се у сету са редним бројем једнаким пољу Page(4:0).

в) Сет 3h

Кључеви (Tagмеморија) ИнформационисадржајУлаз V D Tag RWE (bin) Блок LRU–CNT

0 1 0 E0000 001 AB 1 1 1 1 E8000 110 AD 2 2 1 1 F8000 110 AE 3

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 58 од 98

3 0 0

г)

ТабеласегменатаУлаз RWE (bin) Дужина PTP

0 001 16K Табела страница програма 1 110 6K Табела страница података 2 110 8K Табела страница стека 3 110 10K Табела странца хипа

ТабеластраницапрограмаУлаз V D БлокДиск

0 - ... - 3 1 0 AB - ... -

ТабеластраницаподатакаУлаз V D БлокДиск

0 - ... - 3 1 1 AD - ... -

ТабеластраницастекаУлаз V D БлокДиск

0 - ... - 3 1 1 AC - ... -

ТабеластранцахипаУлаз V D БлокДиск

0 - ... - 3 1 1 AE - ... -

д) Прекид типа Page Fault у датом програмском сегменту је био генерисан 4 пута.

ђ) .

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 59 од 98

ПРЕКЛАПАЊЕ ПРИСТУПА МЕМОРИЈСКИМ МОДУЛИМА

(MEMORY INTELEAVING) Задатак 1.

Оперативна меморија се састоји од осам меморијских модула, а капацитет модула је 128 KB, што чини тотални капацитет меморије од 1 MB. Ширина речи оперативне меморије је 1 бајт. Адреса оперативне меморије је ширине 20 бита, а њени најстарији и најмлађи битови су означени са A19 и A0, респективно.

а) Нацртати и описати који опсег адреса меморијског адресног простора је додељен ком од осам модула за четири случаја преклапања приступа модулима ако је број модула спецификован следећим битовима адресе:

а1) A19 A18 A17

а2) A19 A18 A0

а3) A19 A1 A0

а4) A2 A1 A0

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

б) Објаснити да ли преплитање меморијских модула убрзава рад рачунара који се састоји од процесора, оперативне меморије, неколико периферија и магистрале, али не садржи DMA контролере или друге процесоре. У случају да

убрзава, објаснити на који начин се то постиже,

не убрзава, објаснити зашто.

в) У случају рачунара који се састоји од четири процесора, четири DMA контролера, оперативне меморије са преклапањем приступа меморијским модулима као што је описано у задатку и асинхроне магистрале, постоји потреба за арбитрацијом магистрале где master прво учествује у арбитрацији, па тек онда када прими дозволу од арбитратора магистрале сме да изврши циклус на магистрали. За описани рачунар објаснити:

в1) Које врсте циклуса на магистрали постоје.

в2) Колико дуго је магистрала заузета за време сваког од наведених врста циклуса.

в3) Колико група линија постоје на магистрали и чему свака од њих служи за сваки тип циклуса на магистрали.

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

Решење: а)

а1) Адресе су распоређене по меморијским модулима на следећи начин:

0217 + 0 опсег адреса 0217 + 1

0217 до

0217 + (217 – 1)

M0

0217 + (217 – 1) 1217 + 0

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 60 од 98

опсег адреса 1217 + 1 1217 до

1217 + (217 – 1)

M1

1217 + (217 – 1) M 6217 + 0

опсег адреса 6217 + 1 6217 до

6217 + (217 – 1)

M6

6217 + (217 – 1) 7217 + 0

опсег адреса 7217 + 1 7217 до

7217 + (217 – 1)

M7

7217 + (217 – 1)

Битови A16 до A0 спецификују адресу унутар модула.

а2) Адресе су распоређене по меморијским модулима на следећи начин:

0218 + 0 0218 + 1 опсег адреса 0218 + 2 0218 + 3

0218 до

0218 + (218 – 1)

M0 M1

0218 + (218 – 2) 0218 + (218 – 1) 1218 + 0 1218 + 1

опсег адреса 1218 + 2 1218 + 3 1218 до

1218 + (218 – 1)

M2 M3

1218 + (218 – 2) 1218 + (218 – 1) 2218 + 0 2218 + 1

опсег адреса 2218 + 2 2218 + 3 2218 до

2218 + (218 – 1)

M4 M5

2218 + (218 – 2) 2218 + (218 – 1) 3218 + 0 3218 + 1

опсег адреса 3218 + 2 3218 + 3 3218 до

3218 + (218 – 1)

M6 M7

3218 + (218 – 2) 3218 + (218 – 1)

Битови A17 до A1 спецификују адресу унутар модула.

а3) Адресе су распоређене по меморијским модулима на следећи начин:

0219 + 0 0219 + 1 0219 + 2 0219 + 3 опсег адреса 0219 + 4 0219 + 5 0219 + 6 0219 + 7

0219

до 0219 + (219 – 1)

M0 M1 M2 M3

0219 + (219 – 4) 0219 + (219 – 3) 0219 + (219 – 2) 0219 + (219 – 1) 1219 + 0 1219 + 1 1219 + 2 1219 + 3

опсег адреса 1219 + 4 1219 + 5 1219 + 6 1219 + 7

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 61 од 98

1219

до 1219 + (219 – 1)

M4 M5 M6 M7

1219 + (219 – 4) 1219 + (219 – 3) 1219 + (219 – 2) 1219 + (219 – 1)

Битови A18 до A2 спецификују адресу унутар модула.

а4) Адресе су распоређене по меморијским модулима на следећи начин:

0220 + 0 0220 + 1 0220 + 6 0220 + 7 опсег адреса 0220 + 8 0220 + 9 0220 + 14 0220 + 15

0220

до 0220 + (220 – 1)

M0 M1 … M6 M7

0220 + (220 – 8) 0220 + (220 – 7) 0220 + (220 – 2) 0220 + (220 – 1)

Битови A19 до A3 спецификују адресу унутар модула.

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

в)

в1) Pостоје три типа циклуса на магистрали:

циклус иницилајизације операције читања податка,

циклу уписа податка и

циклус враћања податка.

в2) За сва три типа циклуса магистрала је заузета само док траје пренос релевантних информација за тај циклус из регистара master-а у регистре slave-а.

в3)

циклусиницијализацијеоперацијечитањаподатка

address

data

RD

FC

WR

DA

циклусуписаподатка

address

data

RD

FC

WR

DA

циклусвраћањаподатка

address

data

RD

FC

WR

DA

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 62 од 98

Задатак 2. Меморијске адресе су ширине 16 бита, ширина магистрале података је 8 бита, адресирање је

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

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

б) Да ли је, за организацију из претходне тачке, неопходно да процесор, при иницирању читања из меморије, по линијама података шаље неку идентификацију?

Ако јесте, коју идентификацију треба да шаље, а ако није, како процесор може да зна на који му захтев меморија одговара, у случају да модули нису потпуно једнаки по времену одзива?

в) Одговорити на иста питања из тачке а), ако се између процесора и меморије постави кеш меморија организована сет-асоцијативно на нивоу блока, са 128 сетова, 4 блока у сету и капацитетом 8 KB података.

Решење: а) Организација модула је следећа: два модула M0 и M1, модули се адресирају битом најмање тежине

у адреси (A0), адресирање унутар модула је помоћу бита A15 до A1, а распоред адреса је такав да су у M0 све парне, а у M1 све непарне адресе.

б) Није потребно.

в) Адресе су расподељене на следећи начин (све вредности су хексадецималне):

M0: 0000, 0010, 0020, 0030, …. , FFF0

M1: 0001, 0011, 0021, 0031, …. , FFF1

….

Mi: 000i, 001i, 002i, 003i, …. , FFFi

….

M15: 000F, 001F, 002F, 003F, …. , FFFF

Задатак 3. Процесор је двоадресни. Адресе су ширине 16 бита, а адресирање је на нивоу 16-битних речи.

Процесор поседује регистре за податке D3…0 и адресне регистре A3…0. Једини начин адресирања је регистарско индиректно, преко адресних регистара.

Пројектује се меморијски систем са преклапањем приступа модулима. Време приступа модулу (трајање једног читања или уписа) је 100 ns. Када процесор и модул комуницирају, трајање циклуса на магистрали је 15 ns. Модули се организују тако да се приступ оптимизује за секвенцијално обраћање меморији.

а) Колико (највише) модула предлажете? Образложити.

б) Приказати начин адресирања модула и распоред адреса по модулима.

в) Колико циклуса на магистрали се обави при извршавању следеће секвенце инструкција? Образложити.

LOAD D0, A1 ; D0:=Mem[A1]

ADD D0, A2 ; D0:=D0+Mem[A2]

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 63 од 98

STORE D0, A2 ; Mem[A2]:=D0

Решење: а) Највећи број модула који (теоријски) има смисла је 7, што значи да треба инсталирати 8 модула,

као број који је први наредни степен 2.

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

в) Укупан број циклуса на магистрали је 11.

Задатак 4. Меморијске адресе су ширине 32 бита, ширина магистрале података је 16 бита, а адресирање је на

нивоу 16-битних речи. Између процесора и магистрале везана је кеш меморија организована блоковски, са величином блока од 216 речи. Ради убрзања приступа меморији, меморија је организована са преклапањем модула (memory inteleaving). Време одзива меморијског модула је толико да се може обавити иницијализација операције у још 14 меморијских модула после модула X од стране кеш меморије, док операција у модулу X не буде завршена.

а) Предложити број меморијских модула до којих би се преклапао приступ.

б) Предложити распоред адреса по овим модулимa.

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

Решење: а) Највећи број модула који (теоријски) има смисла је 15, што значи да треба инсталирати 16 модула,

као број који је први наредни степен 2.

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

в) Најнижа 4 бита адресе одређују број модула, а остали бити интерну адресу унутар модула.

Задатак 5. Меморија је организована у 16 модула до којих се преклапа приступ, тако да је оптимизација

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

а) Који бити адресе одређују модул, а који локацију унутар модула? Како су адресе распоређене по модулима?

б) Ако осим описаног процесора не постоје други иницијатори операција са меморијом, да ли је потребна арбитрација приступа магистрали? Кратко образложити зашто.

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

Такт Addres Bus Data Bus rd wr ack 1 A00E FE 1 0 1 2 B144 F4 1 0 1 3 D000 F2 0 1 1 4 C222 F2 1 0 1 5 FFFE D0 1 1 1 6 FFF4 D1 1 1 1 7 FFF2 20 1 1 1

Табеласадржајанамагистрали

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 64 од 98

Решење: а) Бити 3..0 одређују модул, а бити 15..4 локацију унутар модула. У модулу и су све адресе које дају

остатак и при дељењу са 16 (i=0, ..., 15).

б) Потребна је. Без обзира што постоји само један иницијатороперација (процесор), постоји више master-а који воде циклусенамагистрали(процесор и меморијски модули). Ови master-и конкуришу за приступ магистрали, па је потребна арбитрација.

в)

Адреса Податак Операција

A00E 00D0 Read

B144 00D1 Read

D000 FFF2 (odnosno F2) Write

C222 0020 Read

Задатак 6. За описани процесор који је једини иницијатор операција са меморијом у систему, пројектује се

меморијски систем са преклопљеним приступом меморијским модулима, тако да се оптимизује секвенцијални приступ до векторских података у меморији. Сваки циклус на магистрали траје тачно 4 такта (укључујући и арбитрацију). Време одзива меморије, од завршетка циклуса иницирања операције читања, до почетка циклуса враћања очитаног податка је 16 тактова. Број модула је 4. Виши приоритет имају циклуси враћања податка из меморије.

а) Како су распоређене адресе по модулима, који бити адресне речи одређују модул, а који адресу унутар модула?

б) Који типови циклуса постоје на магистрали? Дати временске облике сигнала на магистрали за све типове и навести ко је master, а ко slave.

в) Колико периода такта траје операција читања вектора дужине 64 из меморије, под претпоставком да процесор може да прихвати све очитане податке и иницира узастопно операције читања, без празног хода? Колико периода такта би трајало исто читање, али ако је меморија организована без преклапања, а циклус читања једне речи траје 16 тактова (приближно исте перформансе меморије)?

Решење: а) Суседне адресе у различитим модулима. A1..0 одређују модул, а остали адресу унутар модула.

б) Видети предавања или вежбе.

в) Читање 4 суседне речи из 4 модула траје 4+16+4+4+4+4=36 тактова. После тога може да почне поновно иницирање читања 4 наредне речи. Дакле, укупно читање 64 речи траје (64/4)*36=576 тактова.

Без преклапања: 64*16=1024 такта.

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

модулима, са 256 модула који покривају цео адресни простор. Циклус повратка прочитаног податка из меморије идентификује се тако што су обе контролне линије rd и wr активне. Сви захтеви за приступ магистрали постављају се синхроно, на исти сигнал такта. Арбитрација се обавља комбинационо, тако да се у истом такту арбитрирају сви захтеви постављени на тај сигнал такта (или раније), даје дозвола једном master-у и тај master обавља циклус на магистрали. Међу процесорима, виши приоритет има процесор са мањим идентификационим бројем (ID). Међу модулима, виши приоритет има модул са мањим бројем. Циклус враћања очитаног податка из меморије има највиши приоритет. Уколико процесор постави захтев модулу који је заузет обрадом раније задате операције, модул му одговара

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 65 од 98

негативно у истом такту (ack=0), процесор одустаје од захтева, паузира 2 такта, а онда понавља исти захтев. Након иницијализације операције уписа у меморију меморијски модул је заузет наредне две периоде сигнала такта. Након иницијализације операције читања из меморије модул је заузет две периоде сигнала такта и одговор даје тек у трећој. Четири процесора постављају захтеве за операције са меморијом на следећи начин (формат је: такт:IDprocesora-адреса(операција)):

1:0-00000000h(Rd), 1:1-0000FFFFh(Rd), 4:3-FF000000h(Wr), 5:2-FF0000FFh(Rd)

Приказати како теку циклуси на магистрали за ову секвенцу. Приказ дати табеларно, тако да се по редовима табеле наводе циклуси на магистрали, прва колона даје редни број такта, друга садржај на адресној магистрали, трећа садржај на магистрали података, а четврта, пета и шеста вредности сигнала rd, wr и ack, редом. За вредност на магистрали података током циклуса уписа податка или враћања прочитаног податка из меморије ставити X.

а)За случај да најнижи бити адресе одређују модул.

б)За случај да највиши бити адресе одређују модул.

Решење: а) Приспео

УређајАдресаПодатакОперацијаОбрађено Ack

Новизахтеви

1 P0 00000000 0 Rd 1 1 M0 одговара у Т=4 1 P1 0000FFFF 1 Rd 2 1 M255 одговара у Т=5 4 P3 FF000000 X Wr 7 1 M0 заузето до T9 5 P2 FF0000FF 2 Rd 6 1 M255 одговара у Т=9 4 M0 0 X Da 4 1 - 5 M255 1 X Da 5 1 - 9 M255 2 X Da 9 1 -

Табелазахтеваарбитратору

Такт Addres Bus Data Bus rd wr ack 1 00000000 0 1 0 1 2 0000FFFF 1 1 0 1 3 - 4 0 X 1 1 1 5 1 X 1 1 1 6 FF0000FF 2 1 0 1 7 FF000000 X 0 1 1 8 - 9 2 X 1 1 1

Табеласадржајанамагистрали

б)

ПриспеоУређајАдресаПодатакОперацијаОбрађено Ack Новизахтеви1 P0 00000000 0 Rd 1 1 M0 одговара у Т=4 1 P1 0000FFFF 1 Rd 2 0 Поново у Т5 4 P3 FF000000 X Wr 7 0 Поново у Т8 5 P2 FF0000FF 2 Rd 6 1 M255 одговара у Т=9 4 M0 0 X Da 4 1 - 5 P1 0000FFFF 1 Rd 5 1 M0 одговара у Т=8 8 M0 1 X Da 8 1 - 9 M255 2 X Da 9 1 - 8 P3 FF000000 X Wr 10 1 M255 заузето до T12

Табелазахтеваарбитратору

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 66 од 98

Такт Addres Bus Data Bus rd wr ack 1 00000000 00 1 0 1 2 0000FFFF 01 1 0 0 3 - 4 00 X 1 1 1 5 0000FFFF 01 1 0 1 6 FF0000FF 02 1 0 1 7 FF000000 X 0 1 0 8 01 X 1 1 1 9 02 X 1 1 1 10 FF000000 X 0 1 1

Табеласадржајанамагистрали

Задатак 8. Посматра се рачунарски систем са меморијским системом са преклопљеним приступом меморијским модулима, тако да је оптимизација извршена за секвенцијални приступ процесора меморији на нивоу бајта. Величина једног меморијског модула је 1MB и постоји 16 модула. Адресибилна јединица и ширина акумулатора су по 1 бајт. Циклус повратка прочитаног податка из меморије идентификује се тако што су обе контролне линије rd и wr активне. Претпоставити да након иницијализације операције уписа у меморију меморијски модул је заузет наредне три периода сигнала такта и да је након иницијализације операције читања из меморије модул заузет две периоде сигнала такта и одговор даје тек у трећој. Сви захтеви за приступ магистрали постављају се синхроно, на исти сигнал такта. Арбитрација се обавља комбинационо, тако да се у истом такту арбитрирају сви захтеви постављени на тај сигнал такта (или раније), даје дозвола једном master-у и тај master обавља циклус на магистрали. Међу процесорима, виши приоритет има процесор са вишим идентификационим бројем (ID). Међу модулима, виши приоритет има модул са мањим бројем. Циклус враћања очитаног податка из меморије има највиши приоритет. Уколико процесор постави захтев модулу који је заузет обрадом раније задате операције, модул му одговара негативно у истом такту (ack=0), процесор одустаје од захтева, паузира 2 такта, а онда понавља исти захтев. Три процесора извршавају следеће програмске сегменте (формат заглавља је: такт:IDprocesora, све вредности су хексадецималне): такт 0:1 (IDprocesora) 0:2 0:3 1000 LOAD A001h F000 PUSH 4800 STORE 18h 1004 .... F001 ... 4802 ... Претпоставити да је вредност SP=300h и ACC=8h, да SP показује на прву слободну локацију. Све инструкције које током извршавања врше упис у меморију, сам упис започињу у трећем такту након фазе читања инструкције (прочитају инструкцију, чекају два такт, па крећу са уписом у меморију).

Приказати како теку циклуси на магистрали за ову секвенцу. Приказ дати табеларно, тако да се по редовима табеле наводе циклуси на магистрали, прва колона даје редни број такта, друга садржај на адресној магистрали, трећа садржај на магистрали података, а четврта, пета и шеста вредности сигнала rd, wr и ack, редом. За вредност на магистрали података током циклуса уписа податка или враћања прочитаног податка из меморије ставити X.

Решење: а)

ПриспеоУређајАдресаПодатакОперацијаОбрађено Ack Новизахтеви0 P1 001000 1 Rd 2 0 Поново у T=5 0 P2 00F000 2 Rd 1 0 Поново у T=4 0 P3 004800 3 Rd 0 1 M0 одговара у Т=3 3 M0 3 X Da 3 1 Нови захтев у Т=4 4 P2 00F000 2 Rd 5 1 M0 одговара у Т=8 4 P3 004801 3 Rd 4 1 M1 одговара у Т=7

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 67 од 98

7 M1 3 X Da 7 1 Нови захтев у Т=10 5 P1 001000 1 Rd 6 0 Поново у T=9 8 M0 2 X Da 8 1 Нови захтев у Т=11 10 P3 000018 88 Wr 10 1 M2 заузет до T=20 9 P1 001000 1 Rd 9 1 M0 одговара у Т=12 11 P2 000300 8 Wr 11 0 Поново у T=14 12 M0 1 X Da 12 1 Нови захтев у Т=13 14 P2 000300 8 Wr 14 1 M0 заузет до T=16 13 P1 001001 1 Rd 13 1 M1 одговара у Т=16 16 M0 1 X Da 16 1 Нови захтев у Т=17 17 P1 001002 1 Rd 17 1 M2 одговара у Т=20 20 M2 1 X Da 20 1 Нови захтев у Т=21 21 P1 001003 1 Rd 21 1 M3 одговара у Т=24 24 M3 1 X Da 24 1 Нови захтев у Т=27 27 P1 000A00 1 Rd 28 1 M0 одговара у Т=30 30 M0 1 X Da 30 1 -

Табелазахтеваарбитратору

Такт Addres Bus Data Bus rd wr ack 0 004800 3 1 0 1 1 00F000 2 1 0 0 2 001000 1 1 0 0 3 3 X 1 1 1 4 004801 3 1 0 1 5 00F000 2 1 0 1 6 001000 1 1 0 0 7 3 X 1 1 1 8 2 X 1 1 1 9 001000 1 1 0 1 10 000018 88 0 1 1 11 000300 8 0 1 0 12 1 X 1 1 1 13 001001 1 1 0 1 14 000300 8 0 1 1 15 - 16 1 X 1 1 1 17 001002 1 1 0 1 18 - 19 - 20 1 X 1 1 1 21 001003 1 1 0 1 22 - 23 - 24 1 X 1 1 1 25 - 26 - 27 00A001 1 1 0 1 28 - 29 - 30 1 X 1 1 1

Табеласадржајанамагистрали

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 68 од 98

Задатак 9. Рачунарски систем се састоји из три процесора, DMA контролера и оперативне меморије. Меморијске адресе су ширине 32 бита, ширина магистрале података је 32 бита, адресирање је нивоу 32 битне речи. Улазно/излазни адресни простор је меморијски пресликан. Претпоставити да након иницијализације операције уписа у меморију меморијски модул је заузет наредне три периоде сигнала такта и да је након иницијализације операције читања из меморије модул заузет две периоде сигнала такта и одговор даје тек у трећој. Када процесор или DMA контролер и модул комуницирају, трајање циклуса на магистрали је једна периода сигнала такта. Адреса оперативне меморије је ширине 32 бита, а њени најстарији и најмлађи битови су означени са A31 и A0, респективно.

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

б) За описани рачунарски систем и предложену организацију оперативне меморије. Циклус повратка прочитаног податка из меморије идентификује се тако што су обе контролне линије rd и wr активне. Сви захтеви за приступ магистрали постављају се синхроно, на исти сигнал такта. Арбитрација се обавља комбинационо, тако да се у истом такту арбитрирају сви захтеви постављени на тај сигнал такта (или раније), даје дозвола једном master-у и тај master обавља циклус на магистрали. Међу процесорима, виши приоритет има процесор са мањим идентификационим бројем (ID). DMA контролер има највиши приоритет, редни број му је 3. Међу модулима, виши приоритет има модул са већим бројем. Циклус враћања очитаног податка из меморије има највиши приоритет. Уколико се постави захтев модулу који је заузет обрадом раније задате операције, модул му одговара негативно у истом такту (ack=0), одустаје од захтева, паузира 3 такта, а онда понавља исти захтев. Уређају постављају захтеве за операције са меморијом на следећи начин (формат је: такт:IDUredjaja-адреса(операција)):

1:0-00000000h(Rd), 1:1-00002468h(Rd), 2:2-00076543h(Wr), 0:3-12345678h(Rd)

DAM контролер је иницијализован да пребацује 4 речи из меморије на периферију почев од адресе 12345678h. DMA контролер ради у режиму циклус по циклус. Након дохватања једне речи из меморије DAM контролер следећи захтев за приступ меморији генерише након три периоде сигнала такта.

Приказати како теку циклуси на магистрали за ову секвенцу. Приказ дати табеларно, тако да се по редовима табеле наводе циклуси на магистрали, прва колона даје редни број такта, друга садржај на адресној магистрали, трећа садржај на магистрали података, а четврта, пета и шеста вредности сигнала rd, wr и ack, редом. За вредност на магистрали података током циклуса уписа податка или враћања прочитаног податка из меморије ставити X.

Решење: а)

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 69 од 98

ПриспеоУређајАдресаПодатакОперацијаОбрађено Ack Новизахтеви1 P0 00000000 0 Rd 1 0 Поново у T=5 1 P1 00002468 1 Rd 2 0 Поново у T=6 2 P2 00076543 X Wr 4 1 - 0 DMA 12345678 3 Rd 0 1 M0 одговара у Т=3 3 M0 03 X Da 3 1 Нови захтев у Т=7 5 P0 00000000 0 Rd 5 1 M0 одговара у Т=8 6 P1 00002468 1 Rd 6 0 Поново у T=11 7 DMA 12345679 3 Rd 7 1 M1 одговара у Т=10 8 M0 00 X Da 8 1 - 11 P1 00002468 1 Rd 11 1 M0 одговара у Т=14 10 M1 03 X Da 10 1 Нови захтев у Т=14 14 DMA 1234567A 3 Rd 15 1 M2 одговара у Т=18 14 M0 01 X Da 14 1 - 18 M2 03 X Da 18 1 Нови захтев у Т=22 22 DMA 1234567B 3 Rd 22 1 M3 одговара у Т=25 25 M3 03 X Da 25 1 -

Табелазахтеваарбитратору

Такт Addres Bus Data Bus rd wr ack 0 12345678 3 1 0 1 1 00000000 0 1 0 0 2 00002468 1 1 0 0 3 3 X 1 1 1 4 00076543 2 0 1 1 5 00000000 0 1 0 1 6 00002468 1 1 0 0 7 12346579 3 1 0 1 8 0 X 1 1 1 9 - 10 3 X 1 1 1 11 00002468 1 1 0 1 12 - 13 - 14 1 X 1 1 1 15 1234567A 3 1 0 1 16 - 17 - 18 3 X 1 1 1 19 - 20 - 21 - 22 1324657B 3 1 0 1 23 - 24 - 25 3 X 1 1 1

Табеласадржајанамагистрали

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 70 од 98

ПРОТОЧНА ОБРАДА (PIPELINE)

Задатак 1. Разматра се рачунарски систем у коме се извршавање одређене инструкције одвија у 5 фаза помоћу

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

а) ADD R4, R6, R7

ADD R8, R2, R7

ADD R7, R6, R4

б) SW R4, (R6)4

LW R3, (R4)8

ADD R4, R6, R8

в) ADD R7, R9, R10

SW R10, (R7)4

LW R7, (R9)4

г) LW R8, (R4)8

ADD R4, R6, R10

ADD R2, R8, R10

д) ADD R4, R5, R10

ADD R10, R2, R4

SW R11, (R5)8

ђ) LW R4, (R5)8

ADD R7, R5, R4

ADD R5, R8, R5

е) LW R4, (R5)8

SW R4, (R3)4

ADD R5, R3, R2

Решење:

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 71 од 98

Процесор са стандардном проточном обрадом

а) Хазард података, прослеђивање

б) Без хазарда података

в) Хазард података, прослеђивање

г) Хазард података, прослеђивање

д) Хазард података, прослеђивање

ђ) Хазард података, stalla циклус између LOAD и ADD, прослеђивање

е) Хазард података, прослеђивање

Задатак 2. Разматра се рачунарски систем у коме се извршавање одређене инструкције одвија у 5 фаза

помоћу процесора са стандардном проточном обрадом.

а) Набројати микрооперације потребне за извршавање инструкције LOAD са регистарско индиректним адресирања са померајем.

б) Набројати микрооперације потребне за извршавање ALU инструкције.

в) Посматра се програмски сегмент који се састоји од 3 инструкције LOAD-ALU-ALU. Приказати табеларно шта се дешава у којој фази за сваку инструкцију. Размотрити организације без прослеђивања и са прослеђивањем.

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

Решење: а)

“register-relative” LOAD

IF

IF/ID.IR <- Mem[PC];

IF/ID.NPC,PC <- (if ((EX/MEM.opcode == branch) & EX/MEM.conг){EX/MEM.ALUOutput}

else {PC+4});

ID

ID/EX.A <- Regs[IF/ID.IR6..10];

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 72 од 98

ID/EX.B <- Regs[IF/ID.IR11..15];

ID/EX.NPC <- IF/ID.NPC;

ID/EX.IR <- IF/ID.IR;

ID/EX.Imm <- (IF/ID.IR16)16##IF/ID.IR16..31;

EX

EX/MEM.IR<- ID/EX.IR

EX/MEM.ALUOutput <- ID/EX.A + ID/EX.Imm;

EX/MEM.cond <- 0;

EX/MEM.B<-ID/EX.B;

MEM

MEM/WB.IR <- EX/MEM.IR;

MEM/WB.LMD <- Mem[EX/MEM.ALUOutput];

WB

Regs[MEM/WB.IR11..15] <- MEM/WB.LMD;

б) “ALU-type instruction.”

IF

IF/ID.IR <- Mem[PC];

IF/ID.NPC,PC <- (if ((EX/MEM.opcode == branch) & EX/MEM.conг){EX/MEM.ALUOutput}

else {PC+4});

ID

ID/EX.A <- Regs[IF/ID.IR6..10]; ID/EX.B <- Regs[IF/ID.IR11..15];

ID/EX.NPC <- IF/ID.NPC; ID/EX.IR <- IF/ID.IR;

ID/EX.Imm <- (IF/ID.IR16)16##IF/ID.IR16..31;

EX

EX/MEM.IR <- ID/EX.IR;

EX/MEM.ALUOutput <- ID/EX.A func ID/EX.B;

or

EX/MEM.ALUOutput <- ID/EX.A op ID/EX.Imm;

EX/MEM.cond <- 0;

MEM

MEM/WB.IR <- EX/MEM.IR;

MEM/WB.ALUOutput <- EX/MEM.ALUOutput;

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 73 од 98

WB

Regs[MEM/WB.IR16..20] <- MEM/WB.ALUOutput;

or

Regs[MEM/WB.IR11..15] <- MEM/WB.ALUOutput;

в)

У случају да нама хазарда

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R4, R5 IF ID EX MEM WB OR R6, R7, R8 IF ID EX MEM WB

RW хазард између LOAD и прве ALU инструкције (R1). Без прослеђивања. Упис у регистар и читање уписаног податка није могуће у устом такту.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R1, R5 IF ID stall stall stall EX MEM WB OR R6, R7, R8 IF stall stall stall ID EX MEM WB

RW хазард између LOAD и прве ALU инструкције (R1). Без прослеђивања. Упис у регистар и читање уписаног податка је могуће у устом такту.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R1, R5 IF ID stall stall EX MEM WB OR R6, R7, R8 IF stall stall ID EX MEM WB

RW хазард између LOAD и прве ALU инструкције (R1). Са прослеђивањем.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R1, R5 IF ID stall EX MEM WB OR R6, R7, R8 IF stall ID EX MEM WB

RW хазард између LOAD и друге ALU инструкције (R1). Без прослеђивања. Упис у регистар и читање уписаног податка није могуће у устом такту.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R4, R5 IF ID EX MEM WB OR R6, R1, R8 IF ID stall stall EX MEM WB

RW хазард између LOAD и друге ALU инструкције (R1). Са прослеђивањен.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R4, R5 IF ID EX MEM WB OR R6, R1, R8 IF ID EX MEM WB

RW хазард између прве и друге ALU инструкције (R3). Без прослеђивања. Упис у регистар и читање уписаног податка је могуће у устом такту.

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 74 од 98

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R4, R5 IF ID EX MEM WB OR R6, R3, R8 IF ID stall stall EX MEM WB

RW хазард између прве и друге ALU инструкције (R3). Са прослеђивањем.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R4, R5 IF ID EX MEM WB OR R6, R3, R8 IF ID EX MEM WB

RW хазард између LOAD и друге ALU инструкције (R1), и између прве и друге ALU инструкције (R3). Без прослеђивања. Упис у регистар и читање уписаног податка је могуће у устом такту.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R4, R5 IF ID EX MEM WB OR R6, R1, R3 IF ID stall stall EX MEM WB

RW хазард између LOAD и прве ALU инструкције (R1), и RW хазард између прве и друге ALU инструкције (R3). Без прослеђивања. Упис у регистар и читање уписаног податка није могуће у устом такту.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R1, R5 IF ID stall stall stall EX MEM WB OR R6, R3, R8 IF stall stall stall ID stall stall stall

Инструкција 11 12 13 LW R1, (R2)0 ADD R3, R1, R5 OR R6, R3, R8

EX MEM WB

RW хазард између LOAD и прве ALU инструкције (R1), и RW хазард између прве и друге ALU инструкције (R3). Са прослеђивањем.

Инструкција 1 2 3 4 5 6 7 8 9 10 LW R1, (R2)0 IF ID EX MEM WB ADD R3, R1, R5 IF ID stall EX MEM WB OR R6, R3, R8 IF stall ID EX MEM WB

г)

CPI = 1.

Уколико се не јаве хазарди потребно је 7 (4 + 3 = 7) тактова да се изврше 3 инструкције.

Задатак 3. Разматра се рачунарски систем у коме се извршавање одређене инструкције одвија у 5 фаза

помоћу процесора са стандардном проточном обрадом.

а) Навести шта чини интерну структуру сваког степена проточне обраде.

Docsity.com

Електротехнички факултет Универзитета у Београду Архитектура и организација рачунара 1

Вежбе на табли Страна 75 од 98

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

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

г) Посматра се програмски сегмент који се састоји од 3 инструкције LOAD-ALU-STORE. Приказати табеларно шта се дешава у којој фази за сваку инструкцију. Размотрити организације без прослеђивања и са прослеђивањем.

Решење: а)

IF: PC register, Address calculation unit, Instruction Cache memory

IF/ID: IF/ID.IR, IF/ID.NPC

ID: Register file, sign extension unit

ID/EX: ID/EX.A, ID/EX.B, ID/EX.NPC, ID/EX.IR, ID/EX.Imm

EX: Arithmetical and Logical Unit, Branch condition calculation unit

EX/MEM: EX/MEM.IR, EX/MEM.ALUOUT, EX/MEM.cond, EX/MEM.B, EX/MEM.NPC

MEM: Data Cache memory

MEM/WB: MEM/WB.IR, MEM/WB.ALUOUT, MEM/WB.LMD

WB: Multiplexer

б)

IF: PC register, Address calculation unit, Instruction Cache memory

IF/ID: IF/ID.IR, IF/ID.NPC

ID: Register file, sign extension unit

ID/EX: ID/EX.A, ID/EX.B, ID/EX.NPC, ID/EX.IR, ID/EX.Imm

EX: Arithmetical and Logical Unit

EX/MEM.IR, EX/MEM.ALUOUT, EX/MEM.cond, EX/MEM.B

MEM: Data Cache memory

MEM/WB: MEM/WB.IR, MEM/WB.LMD

WB: Multiplexer, Register file

в)

IF: PC register, Address calculation unit, Instruction Cache memory

IF/ID: IF/ID.IR, IF/ID.NPC

ID: Register file, sign extension unit

ID/EX: ID/EX.A, ID/EX.B, ID/EX.NPC, ID/EX.IR, ID/EX.Imm

EX: Arithmetical and Logical Unit

EX/MEM: EX/MEM.IR, EX/MEM.ALUOUT, EX/MEM.cond

MEM: -

MEM/WB: MEM/WB.IR, MEM/WB.ALUOUT

WB: Multiplexer

г)

hvala na pomoci
ovo je samo pregled
3 prikazano na 48 str.
preuzmi dokument