Архитектура рачунара/К Јун 2021
1. задатак
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
Поставка
[7п] Посматра се процесор код кога се у корацима за обраду прекида хардверски уместо на стеку perистар РС чува у регистру NPC, а регистар PSW чува у регистру NPSW док се остали регистри не чувају. У регистру IRR jе забележено о ком прекиду се ради. Регистрима NPC, NPSW, IRR je могуhe приступати програмским путем за упис и читање. Обjаснити шта је све потребно урадити хардверски и софтверски како би се омогућило гнежђење прекида код оваквог процесора
2. задатак
Поставка
[8п] Нацртати и објаснити шему дела модула који се користи у арбитрацији са праћењем. Шема треба да укључи делове који подржавају и паралелну и серијску арбитрацију, синхронизацију на сигпал такта магистрале и ситнал заузећа магистрале.
Решење
3. задатак
Поставка
[25п] Адресна магистрала процесора jе ширине 16 бита, магистрала података је 8 битова. Садржај дела оперативне меморије је приказан на слици:
Адреса | 0000h | 0001h | 0002h | 0003h | 0004h | 0005h | 0006h | 0007h | 0008h | 0009h | 000Ah |
Садржај | 02h | 34h | 0Ch | 72h | 12h | 72h | 00h | 03h | 05h | 07h | 00h |
Адреса | 7200h | 7201h | 7202h | 7203h | 7204h | 7205h | 7206h | 7207h | 7208h | 7209h | 720Ah |
Садржај | 1Fh | 0Eh | 0Fh | 25h | 09h | 00h | F1h | 21h | 05h | 00h | FFh |
Адреса | 720Bh | 720Ch | 720Dh | 720Eh | 720Fh | 7210h | 7211h | 7212h | 7213h | 7214h | 7215h |
Садржај | F3h | FDh | 24h | 34h | 12h | F4h | F5h | FDh | F5h | 34h | 12h |
Процесор поседује 16-битне регистре РС (програмски бројач), SP (показивач на прву слободну локацију стека који расте према вишим адресама), РSW (програмска статусна реч), IVTP (показивач на IV табелу) и регистар АСС (акумулатор). Претпоставити да је пре почетка извршавања главног програма РC=7203h, АСС=2211h, SP=Е000h, IVTР=0000h, а PSW=C001h. Индикатори NZCV се налазе на месту највиша четири бита регистра PSW (PSW15..12), док се бити L1..0 и бит I налазе на месту најнижих битова овог регистра (PSW2..0).
Процесор из меморије дохвата податке бајт по бајт. У току извршавања инструкције DEC по линији IRQM2 долази захтев за спољашњи маскирајући захтев који има највиши приоритет. Овој линији одговара улаз број 2 у IV табели. Све инструкције, осим инструкције RTI, реагују на прекиде и не постоји регистар маске IMR.
Навести секвенцу садржаја на адресној магистрали, магистрали података и контролној магистрали за сваки циклус на магистрали при извршавању главног програма и прекидних рутина којe ћe се извршити. Приликом скока у прекидну рутину на стеку се чувају РС и PSW, тим редоследом.
7203h STOREW 0009h ; memorijsko direktno adresiranje
7206h INT #1h ; softverski prekid
7207h DEC ; bezadresno adresiranje
7208h HALT ; zaustavljanje procesora
7209h ...
720Ch РОPW ; skidanje sa steka dva bajta
720Dh LDW #1234h ; nesposredno adresiranje
7210h PUSHW ; stavljanje na stek dva bajta
7211h RTI ; povratak iz prekidne routine
7212h INC ; bezadresno adresiranje
7213h RTI ; povratak iz prekidne routine
7214h ...
Решење представити у табели чије заглавље изгледа као на слици:
Рб | A15..0 | D7..0 | RD | WR | PC |
IR23..16 | IR15..8 | IR7..0 | TEMP15..0 | ACC | SP | PSW | Коментар |
---|
Рб представља редни број циклуса на магистрали, А15..0 и D7..0 садржаје адресних линија и линија података у датом циклусу. RD и WR су вредности управљачких сигнала на магистрали. РС представља садржај програмског бројача, IR садржај инструкцијскоr perистра, ТЕМP садржај прихватног регистра операнда или адресе операнда, АСС садржај акумулатора, SP садржај показивача на врх стека и РSW садржај програмске статусне речи. У коментару навести у којој од фаза дохватања инструкције (IF), декодовања инструкције (ID), извршавања (EX) или опслуживања прекида (IS) се реализује дати циклус. Све инструкције након којих се скаче у прекидну рутину у фази IS врше припрему за скок у одговарајућу прекидну рутину.
Решење
Р.бр. | ABUS15..0 | DBUS7..0 | RD | WR | PC | IR23..16 | IR15..8 | IR7..0 | TEMP15..0 | ACC | SP | PSW | Коментар |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | 7203 | - | - | - | - | 2211 | E000 | C001 | |
1 | 7203 | 25 | 1 | 0 | 7204 | 25 | - | - | - | 2211 | E000 | C001 | IF (STOREW 0009h )
|
2 | 7204 | 09 | 1 | 0 | 7205 | 25 | 09 | - | - | 2211 | E000 | C001 | IF (STOREW 0009h )
|
3 | 7205 | 00 | 1 | 0 | 7206 | 25 | 09 | 00 | - | 2211 | E000 | C001 | IF (STOREW 0009h )
|
4 | 0009 | 11 | 0 | 1 | 7206 | 25 | 09 | 00 | - | 2211 | E000 | C001 | EX (STOREW 0009h )
|
5 | 000A | 22 | 0 | 1 | 7206 | 25 | 09 | 00 | - | 2211 | E000 | C001 | EX (STOREW 0009h )
|
6 | 7206 | F1 | 1 | 0 | 7207 | F1 | - | - | - | 2211 | E000 | C001 | IF (INT #1h )
|
7 | E000 | 07 | 0 | 1 | 7207 | F1 | - | - | - | 2211 | E000 | C001 | IS (INT #1h )
|
E001 | IS (INT #1h )
| ||||||||||||
8 | E001 | 72 | 0 | 1 | 7207 | F1 | - | - | - | 2211 | E001 | C001 | IS (INT #1h )
|
E002 | IS (INT #1h )
| ||||||||||||
9 | E002 | 01 | 0 | 1 | 7207 | F1 | - | - | - | 2211 | E002 | C001 | IS (INT #1h )
|
E003 | IS (INT #1h )
| ||||||||||||
10 | E003 | C0 | 0 | 1 | 7207 | F1 | - | - | - | 2211 | E003 | C001 | IS (INT #1h )
|
E004 | IS (INT #1h )
| ||||||||||||
11 | 0002 | 0C | 1 | 0 | 7207 | F1 | - | - | XX0C | 2111 | E004 | C000 | IS (INT #1h )
|
12 | 0003 | 72 | 1 | 0 | 7207 | F1 | - | - | 720C | 2111 | E004 | C000 | IS (INT #1h )
|
720C | E004 | IS (INT #1h )
| |||||||||||
13 | 720C | FD | 1 | 0 | 720D | FD | - | - | - | 2211 | E004 | C000 | IF (POPW )
|
E003 | EX (POPW )
| ||||||||||||
14 | E003 | C0 | 1 | 0 | 720D | FD | - | - | C0XX | 2211 | E003 | C000 | EX (POPW )
|
E002 | EX (POPW )
| ||||||||||||
15 | E002 | 01 | 1 | 0 | 720D | FD | - | - | C001 | 2211 | E002 | C000 | EX (POPW )
|
- | C001 | EX (POPW )
| |||||||||||
16 | 720D | 24 | 1 | 0 | 720E | 24 | - | - | - | C001 | E002 | C000 | IF (LDW #1234h )
|
17 | 720E | 34 | 1 | 0 | 720F | 24 | 34 | - | - | C001 | E002 | C000 | IF (LDW #1234h )
|
18 | 720F | 12 | 1 | 0 | 7210 | 24 | 34 | 12 | - | C001 | E002 | C000 | IF (LDW #1234h )
|
1234 | EX (LDW #1234h )
| ||||||||||||
19 | 7210 | F4 | 1 | 0 | 7211 | F4 | - | - | - | 1234 | E002 | C000 | IF (PUSHW )
|
20 | E002 | 34 | 0 | 1 | 7211 | F4 | - | - | - | 1234 | E002 | C000 | EX (PUSHW )
|
E003 | EX (PUSHW )
| ||||||||||||
21 | E003 | 12 | 0 | 1 | 7211 | F4 | - | - | - | 1234 | E003 | C000 | EX (PUSHW )
|
E004 | EX (PUSHW )
| ||||||||||||
22 | 7211 | F5 | 1 | 0 | 7212 | F5 | - | - | - | 1234 | E004 | C000 | IF (RTI )
|
E003 | EX (RTI )
| ||||||||||||
23 | E003 | 12 | 1 | 0 | 7212 | F5 | - | - | 12XX | 1234 | E003 | C000 | EX (RTI )
|
E002 | EX (RTI )
| ||||||||||||
24 | E002 | 34 | 1 | 0 | 7212 | F5 | - | - | 1234 | 1234 | E002 | C000 | EX (RTI )
|
E001 | 1234 | EX (RTI )
| |||||||||||
25 | E001 | 72 | 1 | 0 | 7212 | F5 | - | - | 72XX | 1234 | E001 | 1234 | EX (RTI )
|
E000 | EX (RTI )
| ||||||||||||
26 | E000 | 07 | 1 | 0 | 7212 | F5 | - | - | 7207 | 1234 | E000 | 1234 | EX (RTI )
|
7207 | EX (RTI )
| ||||||||||||
27 | 7207 | 21 | 1 | 0 | 7208 | 21 | - | - | - | 1234 | E000 | 1234 | IF (DEC )
|
1233 | 0234 | EX (DEC ), прекид се не прихвата јер I = 0
| |||||||||||
28 | 7208 | 05 | 1 | 0 | 7209 | 05 | - | - | - | 1233 | E000 | 0234 | IF (HALT )
|
- | - | - | - | - | - | - | - | - | - | - | - | - | EX (HALT )
|