Електротехнички факултет у Београду Катедра за рачунарску технику и информатику 22.05.2005. Архитектура Рачунара I (20) Питање 1. (5) У оквиру опслуживања прекида на стеку се чувају неки регистри процесора. a. Навести који се регистри чувају и зашто. b. Навести који се регистри обавезно чувају хардверски а који могу и хардверски софтверски. За оне који могу да се чувају и хардверски и софтверски навести од чега зависи како ће се чувати. 2. (5) У оквиру извршавања прекидне рутине неке периферије стиже захтев за прекид од неке друге периферије. a. Навести услове који треба да буду испуњени да би се захтев за прекид прихватио и скочило на прекидну рутину те периферије. b. За сваки од услова навести на који начин и када се мења и да ли се то чини хардверски или софтверки. 3. (5) Посматра се асинхрона магистрала на којој се циклуси читања и уписа тако реализују да је магистрала заузета све време трајања циклуса. a. Нацртати временске облике сигнала које током реализације циклуса читања и уписа размењују газда и слуга. b. Навести које сигнале и по ком редоследу генеришу газда и слуга приликом реализицаје циклуса читања и уписа. 4. (5) Посматра се магистрала са подељеним циклусима која се састоји од адресних линија, линија података и управљачких линија и на којој се реализују циклус слање захтева за читање, циклус слање захтева за и упис и циклус враћање податка. a. Навести које информације по адресним линијама и линијама података и које сигнале по управљачким линијама размењују газда у слуга приликом реализације сваког од наведена три циклуса на магистрали. b. Навести шта све треба да постоји од хардвера на страни меморијског модула да би три наведен циклуса могла да се реализују.
II (20) Задатак Адресни простор процесора је величине 8GB, од којих је највиших 1GB резервисани за ROM меморију, адресибилна јединица је 16-битна реч, а вишеречни бројеви се смештају тако да је на нижој адреси нижа реч. Процесор је једноадресни са раздвојеним меморијским и улазно/излазним адресним просторима, а механизам прекида је векторисан. IV (Interrupt Vector) табела почиње од адресе на коју указује регистар IVTP (Interrupt Vector Table Pointer), а регистар IVTP има вредност 4. Процесор има три улазне линије IRQ0, IRQ1 и IRQ2 за спољне маскирајуће прекиде, при чему је IRQ0 највишег приоритета, а IRQ2 најнижег приоритета, на које су везане периферије PER0, PER1 и PER2, респективно, којима треба доделити улазе 4, 5 и 7 у вектор табели, и којима одговарају прекидне рутине на адресама 1007h, 1010h и 1005h, респективно. Адресе 8-битних регистара у којима се чувају бројеви улаза су 0h, 4h и 8h, респективно. Не прихвата се прекид истог нивоа приоритета. Улаз 0 у IV табелу се користи у свим осталим случајевима. У PSW-у постоји бит I (Interrupt Enable) који се брише у микропрограму за обраду прекида, као и одређен број L бита. При прекиду се на стеку чувају ACC, PSW и PC тим редом. Стек расте према нижим локацијама. Акумулатор је 16-битни. Дат је део главног програма на слици 1, прекидне рутине на слици 2, изглед дела меморије почев од адресе 0 дат је на слици 3. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 5. инструкције стиже захтев за прекид по линији IRQ2, у току 6. по линији IRQ1, а у току 7. по линији IRQ0. На почетку су сви бити PSW-а постављени на 0. У регистру маске IMR бит i одговара линији IRQi; вредност овог регистра је иницијално 5h. Инструкција RTI реагује на прекид. Слика 1 Адреса Наредба Слика 2 Адреса Наредба Адреса Наредба Слика 3 Адреса Садржај 0100h INTE 0101h LOAD 1h 0104h DECA 0105h STORE 1h 0108h INCA 0109h INCA 010Ah INTD 1000h POPA 1001h ADD #3h 1003h PUSHA 1004h RTI 1005h INCA 1006h RTI 1007h PUSHA 1008h LOAD #2h 100Ah STORE (1h) 100Dh POPA 100Eh RTI 100Fh RTI 1010h RTI 1011h RTI 0000h 0001h 0001h 0000h 0002h FFFFh 0003h 0000h 0004h 1000h 0005h 0000h a) (4) Написати део програма којим се додељују бројеви улаза наведеним периферијама. b) (4) Нацртати изглед првих 8 улаза у вектор табели, означити адресе релевантних локација и уписати садржаје у њих. c) (4) Написати секвенцу адреса наредби које се редом извршавају, почев од адресе 0100h. d) (4) Приказати садржај свих познатих локација на врху стека након извршавања 9. инструкције. За сачувану вредност PSW дати само вредност бита I и L. Назначити у коме смеру расте стек. e) (4) Која ће се вредност налазити на локацији 0001h након извршења секвенце под c)? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 2 сата.
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику 21.05.2006. Архитектура Рачунара Колоквијум I (20) Питање 1. (5) У оквиру опслуживања прекида на стеку се чувају неки регистри процесора. a) Навести који се регистри чувају и зашто. b) Навести који се регистри обавезно чувају хардверски а који могу и хардверски софтверски. За оне који могу да се чувају и хардверски и софтверски навести од чега зависи како ће се чувати. 2. (5) У оквиру извршавања прекидне рутине неке периферије стиже захтев за прекид од неке друге периферије. a) Навести услове који треба да буду испуњени да би се захтев за прекид прихватио и скочило на прекидну рутину те периферије. b) За сваки од услова навести на који начин и када се мења и да ли се то чини хардверски или софтверски. 3. (5) Посматра се асинхрона магистрала на којој се циклуси читања и уписа тако реализују да је магистрала заузета све време трајања циклуса. а) Нацртати временске облике сигнала које током реализације циклуса читања и уписа размењују газда и слуга. b) Навести које сигнале и по ком редоследу генеришу газда и слуга приликом реализицаје циклуса читања и уписа. 4. (5) Посматра се магистрала са подељеним циклусима која се састоји од адресних линија, линија података и управљачких линија и на којој се реализују циклус слање захтева за читање, циклус слање захтева за и упис и циклус враћање податка. a) Навести које информације по адресним линијама и линијама података и које сигнале по управљачким линијама размењују газда у слуга приликом реализације сваког од наведена три циклуса на магистрали. b) Навести шта све треба да постоји од хардвера на страни меморијског модула да би три наведен циклуса могла да се реализују.
II (20) Задатак Адресни простор процесора је величине 16GB, адресибилна јединица је 32-битна реч, а 64- битни бројеви се смештају тако да је на нижој адреси нижа реч. Процесор је једноадресни, а механизам прекида је векторисан. Интерапт вектор (IV) табела има 4 фиксна улаза и почиње од адресе 2h. Процесор има две улазне линије IRQ0 и IRQ1 за спољне маскирајуће прекиде, при чему је IRQ0 вишег приоритета. Њима су придружени улази 0 и 1 у IV табелу, респективно. Улаз 2 у IV табели се употребљава у случају прекида после сваке инструкције (TRAP), а улаз 3 у свим осталим случајевима. У PSW-у постоји бит I (Interrupt Enable) који се брише у микропрограму за обраду прекида. При прекиду се на стеку чувају ACC, PSW и PC тим редом. Стек расте према нижим локацијама. Акумулатор и сви регистри опште намене су 32-битни. Инструкције INTE, INTD, RTI и TRPE не реагују на прекиде. Дат је део главног програма на слици 1, прекидне рутине на слици 2, изглед дела меморије почев од адресе 0 дат је на слици 3. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 2. инструкције стиже захтев за прекид по линији IRQ1, а у току 5. по линији IRQ0. Није дозвољено читати податке и уписивати их у део за извршни програм. На почетку су сви бити PSW-а постављени на 0. Слика 1 Адреса Наредба Слика 2 Адреса Наредба Адреса Наредба Слика 3 Адреса Садржај 0100h INTE 0101h LOAD 1h 0103h INCA 0104h STORE 1h 0106h DECA 0107h INTD 1000h LOAD 0h 1001h INCA 1002h STORE 0h 1004h RTI 1006h POPA 1007h ADD #1h 1008h PUSHA 1009h RTI 100Ah POP R1 100Bh STORE (R1) 100Ch PUSH R1 100Dh RTI 0000h 1001h 0001h 1000h 0002h 100Ah 0003h 1000h 0004h 100Dh 0005h 1006h a) (5) На којим адресама започињу прекидне рутине за линије IRQ0 и IRQ1, респективно? b) (5) Написати секвенцу адреса наредби које се редом извршавају, почев од адресе 0100h. c) (5) Приказати садржај свих познатих локација на врху стека након извршавања 10. инструкције. За сачувану вредност PSW дати само вредност бита I. Назначити у коме смеру расте стек. d) (5) Која ће се вредност налазити на локацији 1h након извршења секвенце под b)? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 2 сата. Напомена: Писати читко и јасно означити одговоре на начин дат у питањима.
Архитектура рачунара, Колоквијум 2006. Решења задатака 2) а) IRQ0 -> 100Ah IRQ1 -> 1000h b) 100h, 101h, 1000h, 1001h, 1002h, 1004h, 103h, 100Ah, 100Bh, 1006h, 1007h, 1008h, 1009h, 100Ch, 100Dh, 104h, 106h, 107h c) 1001h I=1 1001h I=0 d) MEM[1] = 1001h
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику Архитектура Рачунара 29.04.2007. I (20) Питање 1. (5) У оквиру опслуживања прекида на стеку се чувају неки регистри процесора. a) Навести који се регистри чувају и зашто. b) Навести који се регистри обавезно чувају хардверски а који могу и хардверски софтверски. За оне који могу да се чувају и хардверски и софтверски навести од чега зависи како ће се чувати. 2. (5) У процесору са векторисаним механизмом прекида оквиру хардверског дела опслуживања овог захтева за прекид се у зависности од врсте прекида на различите начине долази до броја улаза у табелу са адресама прекидних рутина. Навести како се долази до броја улаза у табелу са адресама прекидних рутина за следеће три врсте прекида: a) унутрашњи прекид због инструкције прекида, b) унутрашњи прекид због грешке у коду операције и c) спољашњи прекид од улазно/излазног уређаја за случај када улази нису фиксни. 3. (5) Нацртати и објаснити шему дела модула који се користи у арбитрацији. Шема треба да укључи делове који подржавају и паралелну и серијски арбитрацију, синхронизацију на сигнал такта магистрале и сигнал заузећа магистрале. 4. (5) Посматра се магистрала са подељеним циклусима која се састоји од адресних линија, линија података и управљачких линија и на којој се реализују циклус слање захтева за читање, циклус слање захтева за и упис и циклус враћање податка. a) Навести које информације по адресним линијама и линијама података и које сигнале по управљачким линијама размењују газда у слуга приликом реализације сваког од наведена три циклуса на магистрали. b) Навести шта све треба да постоји од хардвера на страни меморијског модула да би три наведен циклуса могла да се реализују.
II (20) Адресни простор процесора је величине 8GB, адресибилна јединица је 16-битна реч, а вишеречни бројеви се смештају тако да је на вишој адреси нижа реч. Процесор је једноадресни са раздвојеним меморијским и I/O адресним просторима, а механизам прекида је векторисан. IV (Interrupt Vector) табела почиње од адресе на коју указује регистар IVTP (Interrupt Vector Table Pointer), а регистар IVTP има вредност 16. Процесор поседује само једну линију IRQ за спољашњи прекид коме може да се додели произвољан улаз у IV табели. Постоји још и линија INTA којом процесор одобрава прекид и захтева постављање броја улаза на магистралу података. Посебан уређај, контролер прекида, служи за паралелну арбитрацију до 4 захтева за прекид, који стижу по линијама IRQ0 до IRQ3 за спољне маскирајуће прекиде, при чему је IRQ0 најнижег приоритета, а IRQ3 највишег приоритета, на које су везане периферије PER0 до PER3, респективно, којима треба доделити улазе 3, 2, 5 и 0 у вектор табели, и којима одговарају прекидне рутине на адресама 1002h, 1008h, 1000h, и 1005h респективно. Адресе 8-битних регистара у којима се чувају бројеви улаза су 10h, 20h, 30h и 40h респективно. Улаз 1, коме одговара прекидна рутина на адреси 1005h, се користи у случају прекида после сваке инструкције. Контролер не подржава угнежђавање прекида са приоритетом, већ само приоритирање тренутно постојећих захтева. У случају када се генерише више прекида истовремено прво се прихвата инструкција INT, па Trap, па маскирајући прекиди. Контролер поседује и 16-то битни регистар маске, који је се налази на адреси 00CCh I/O адресног простора, и чија 4 најнижа бита маскирају захтеве за прекид на улазима контролера. Почетна вредност овог регистра је Fh. У PSW-у постоји бити I (Interrupt Enable) и T (Trap) који се бришу у кораку за обраду прекида. При прекиду се на стеку чувају ACC, PSW и PC тим редом. Стек расте према нижим локацијама. Акумулатор и PSW су 16-битни. Дат је део главног програма на слици 1, прекидне рутине на слици 2. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 2. инструкције стиже захтев за прекид по линији IRQ1, у току 5. по линији IRQ0, а у току 7. по линији IRQ3. На почетку су сви бити PSW-а постављени на 0. Инструкције RTI, TRPE, TRPD, INTE и INTD не реагују на прекид. Почетни садржај локације 1h је 0. Адреса Наредба Адреса Наредба Адреса Наредба 0100h INTE 0101h LOAD 1h 0102h TRPE 0103h INTD 0104h STORE 1h 0106h TRPD Слика 1 1000h INCA 1001h RTI 1002h INTE 1003h INT #1h 1004h RTI 1005h INCA Слика 2 1006h INTD 1007h RTI 1008h INTE 1009h INCA 100Ah STORE 1h 100Ch RTI a) (4) Написати део програма којим се додељују бројеви улаза наведеним периферијама. b) (4) Нацртати изглед првих 8 улаза у вектор табели, означити адресе релевантних локација и уписати садржаје у њих. c) (4) Написати секвенцу адреса наредби које се редом извршавају, почев од адресе 0100h. d) (4) Приказати садржај свих познатих локација на врху стека након извршавања 8. инструкције. За сачувану вредност PSW дати само вредност бита I. Назначити у коме смеру расте стек. e) (4) Нацртати принципијелну структурну шему контролера. Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 2 сата.
Архитектура рачунара, К 2007. Решења задатка II) а) LOAD #3h OUTB 10h LOAD #2h OUTB 20h LOAD #5h OUTB 30h LOAD #0h OUTB 40h b) број улаза у IV табелу меморијска адреса садржај 21 7 30 29 6 28 27 1000h 5 PER2 26 0000h 25 4 24 23 1002h 3 PER0 22 0000h 21 1008h 2 PER1 20 0000h 19 1005h 1 TRAP 18 0000h 17 1005h 0 PER3 16 0000h c) 100h, 101h, 1008h, 1009h, 100Ah, 1002h, 1003h, 1005h, 1006h, 1007h, 1004h, 100Ch, 102h, 103h, 104h, 1005h, 1006h, 1007h, 106h d) е) 0000h I=1 T=0 0102h 0000h 0001h I=1 T=0 100Ch 0000h 0001h I=0 T=0 1004h 0000h
3 2 1 0 IMR IRR IRQ3 IRQ2 IRQ1 IRQ0 IRQ INTA clirr3 clirr2 clirr1 clirr0 INTA3 INTA2 INTA1 INTA0
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику Архитектура рачунара 05.05.2008. I (20) (К) 1. (5) У оквиру извршавања прекидне рутине неке периферије стиже захтев за прекид од неке друге периферије. а) Навести услове који треба да буду испуњени да би се захтев за прекид прихватио и скочило на прекидну рутину те периферије. б) За сваки од услова навести на који начин и када се мења и да ли се то чини хардверски или софтверски. 2. (5) У процесору са векторисаним механизмом прекида се у оквиру хардверског дела опслуживања захтева за прекид поред осталог генеришу и бројеви улаза у табелу са адресама прекидних рутина за спољашње маскирајуће прекиде који долазе од улазно/излазних уређаја по линијама (1) INTR3, (2) INTR2, (3) INTR1 и (4) INTR0. За селективно маскирање спољашњих маскирајућих прекида који долазе од улазно/излазних уређаја по линијама (1) INTR3, (2) INTR2, (3) INTR1 и (4) INTR0, користе се разреди (1) IMR3, (2) IMR2, (3) IMR1 и (4) IMR0 регистра маске IMR, респективно. Генерисани бројеви улаза су осмо битне целобројне величине без знака. Нацртати и објаснити шему за генерисање бројева улаза за ова четири прекида уколико се адресе прекидних рутина за прекиде (1), (2), (3) и (4) налазе у улазима 4, 5, 6, и 7 табеле са адресама прекидних рутина и уколико прекид (1) има највиши, прекид (2) нижи, прекид (3) још нижи и прекид (4) најнижи приоритет. 3. (5) Посматра се асинхрона магистрала на којој се циклуси читања и уписа тако реализују да је магистрала заузета све време трајања циклуса. а) Нацртати временске облике сигнала које током реализације циклуса читања и уписа размењују газда и слуга. б) Навести које сигнале и по ком редоследу генеришу газда и слуга приликом реализицаје циклуса читања и уписа. 4. (5) Нацртати и објаснити шему дела модула који се користи у арбитрацији са праћењем захтева. Шема треба да укључи делове који подржавају и паралелну и серијски арбитрацију, синхронизацију на сигнал такта магистрале и сигнал заузећа магистрале.
II(20) (К) Адресни простор процесора је величине 8GB, адресибилна јединица је 16-битна реч, а вишеречни бројеви се смештају тако да је на вишој адреси виша реч. Магистрала је синхрона, процесор је једноадресни са раздвојеним У/И адресним простором, а механизам прекида је векторисан. Физичка RAM меморија заузима најнижих 128КB адресног простора. IV (Interrupt Vector) табела почиње од адресе на коју указује регистар IVTP (Interrupt Vector Table Pointer), а регистар IVTP има вредност 8h. Процесор има три улазне линије IRQ0, IRQ1 и IRQ2 за спољне маскирајуће прекиде, при чему је IRQ2 највишег, а IRQ0 најнижег приоритета и једну улазну линију IRQN за спољне немаскирајуће прекиде на које су везане периферије PER0, PER1, PER2 и PERN респективно. Њима треба доделити улазе 2, 3, 4 и 5 у вектор табели, и којима одговарају прекидне рутине на адресама 1005h, 1008h, 1011h и 101Ah, респективно. Улазу 0 који се користи у свим осталим случајевима одговара прекидна рутина на адреси 1000h. Адресе 8-битних регистара у којима се чувају бројеви улаза су AA12h, BB34h, CC56h и DD78h респективно. У PSW-у постоји бит I (Interrupt Enable) који се брише у кораку за обраду прекида, као и одређен број L бита. Не прихвата се прекид истог нивоа приоритета. При прекиду се на стеку чувају PSW и PC тим редом. Стек расте према нижим локацијама. Акумулатор је 16-битни. Инструкције INTE, INTD, RTI и INT не реагују на прекиде. Само маскирајући прекиди мења ниво приоритета текућег програма. Дат је део главног програма на слици 1, прекидне рутине на слици 2. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 1. инструкције стиже захтев за прекид од периферије PER2, у току 5. од периферије PERN, а у току 8. од периферије PER1. На почетку су сви бити PSW-а постављени на 0. Почетни садржај локације 1h је 0. Слика 1 Адреса Наредба 0100h INTE 0101h LOAD 1h 0104h INCA 0105h DECA 0106h STORE 1h 0109h INTD Слика 2 Адреса Наредба 1000h POPA 1001h ADD #3h 1003h PUSHA 1004h RTI 1005h INT #3h 1006h INTE 1007h RTI 1008h INTE 1009h STORE 1h 100Ch INCA 100Dh LOAD 1h 1010h RTI 1011h INTE 1012h LOAD 10000h 1015h INCA 1016h STORE 10000h 1019h RTI 101Аh RTI а) (4) Написати део програма којим се додељују бројеви улаза наведеним периферијама. б) (4) Написати који опсег адреса заузима IV табела и објаснити како је добијен максималан број улаза у IV табелу. в) (4) Написати секвенцу адреса наредби које се редом извршавају, почев од адресе 0100h. г) (4) Приказати садржај свих познатих локација на врху стека након извршавања 6. инструкције. За сачувану вредност PSW дати само вредност бита I и L. Назначити у коме смеру расте стек. д) (4) Која ће се вредност налазити у акумулатору након извршења секвенце под c)? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 2 сата.
Архитектура рачунара, колоквијум 2008. Решење задатка II) а) LOAD #02h OUTB AA12h LOAD #03h OUTB BB34h LOAD #04h OUTB CC56h LOAD #05h OUTB DD78h b) IVTP - IVTP + 2*2 #PER - 1 0000 0008h - 0000 0207h c) 0100h, 0101h, 1011h, 1012h, 1000h, 101Ah, 1001h, 1003h, 1004h, 1015h, 1016h, 1000h, 1001h, 1003h, 1004h, 1019h, 0104h, 1008h, 1009h, 100Ch, 100Dh, 1010h, 0105h, 0106h, 0109h d) I=1 L=00 0000h 0104h I=1 L=11 0000h e) ACC = 1019h
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику Архитектура рачунара Први колоквијум 04.04.2009 1. (5) У процесору са векторисаним механизмом прекида повратак из прекидне рутине се реализује инструкцијом RTI. Објаснити шта се све и по ком редоследу ради у оквиру извршавања ове инструкције водећи рачуна о варијантама реализација инструкције RTI у зависноти од броја програмски доступних регистара у процесору. 2. (5) У процесору са векторисаним механизмом прекида се у оквиру хардверског дела опслуживања захтева за прекид поред осталог генеришу и бројеви улаза у табелу са адресама прекидних рутина за (1) унутрашњи прекид због грешке у коду операције (PRCOD), (2) унутрашњи прекид због грешке у начину адресирања (PRADR), (3) спољашњи немаскирајући прекид (INM) и (4) унутрашњи прекид због задатог режима рада са прекидом после сваке инструкције (PRTRAP). Генерисани бројеви улаза су осмо битне целобројне величине без знака. Нацртати и објаснити шему за генерисање бројева улаза за ова четири прекида уколико се адресе прекидних рутина за прекиде (1), (2), (3) и (4) налазе у улазима 15, 14, 13 и 12 табеле са адресама прекидних рутина и уколико прекида (1) има највиши, прекид (2) нижи, прекид (3) још нижи и прекид (4) најнижи приоритет. 3 (15) Адресни простор процесора је величине 8GB, адресибилна јединица је 16-битна реч, а вишеречни бројеви се смештају тако да је на вишој адреси нижа реч. Процесор је једноадресни са раздвојеним меморијским и У/И адресним простором, механизам прекида је векторисан, IV (Interrupt Vector) табела почиње од адресе на коју указује регистар IVTP (Interrupt Vector Table Pointer), а регистар IVTP има вредност 16h. Процесор има три улазне линије IRQ0, IRQ1 и IRQ2 за спољне маскирајуће прекиде, при чему је IRQ0 највишег, а IRQ2 најнижег приоритета и једну улазну линију IRQN за спољне не маскирајуће прекиде на које су везане периферије PER0, PER1, PER2 и PERN респективно. Њима треба фиксно доделити улазе 1, 2, 3 и 6 у вектор табели, и којима одговарају прекидне рутине на адресама 1009h, 100Fh, 1012h и 1000h, респективно. Улаз 4 који одговара прекидној рутини на адреси 101Bh се користи у свим осталим случајевима. У PSW-у постоји бит I (Interrupt Enable) који се брише у кораку за обраду прекида, као и одређен број L бита. Не прихвата се прекид истог нивоа приоритета. При прекиду се на стеку чувају PSW и PC тим редом. Стек расте према вишим локацијама. Акумулатор је 16-битни. Инструкције INTE, INTD, RTI и INT не реагују на прекиде. Инструкција INT не мења ниво приоритета текућег програма. Дат је део главног програма на слици 1, прекидне рутине на слици 2. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 2. инструкције стиже захтев за прекид од периферије PER0, у току 4. од периферије PERN, а у току 7. од периферије PER2. На почетку су сви бити PSW-а постављени на 0. Почетни садржај локације 1h је 10h. Слика 1 Адреса Наредба 0100h LOAD #1h 0103h DECA 0104h INTE 0105h INCA 0106h STORE 1h 0109h INTD Слика 2 Адреса Наредба 1000h LOAD 1h 1003h INCA 1004h INTE 1005h STORE 1h 1008h RTI 1009h POPA 100Ah STORE 1h 100Dh PUSHA 100Eh RTI 100Fh INTD 1010h INT #2 1011h RTI 1012h LOAD 1h 1015h AND #1h 1018h STORE 1h 101Ah RTI 101Bh POPA 101Ch ADD #2 101Fh PUSHA 1020h RTI а) (3) Нацртати изглед првих 8 улаза у вектор табели, означити адресе релевантних локација и уписати садржаје у њих. б) (3) Написати део кода којим се периферији PERN додељује иста прекидна рутина као и периферији PER0. в) (3) Написати секвенцу адреса наредби које се редом извршавају, почев од адресе 0100h. г) (3) Приказати садржај свих познатих локација на врху стека након извршавања 10. инструкције. За сачувану вредност PSW дати само вредност бита I и L. Назначити у коме смеру расте стек. д) (3) Која ће се вредност налазити на локацији 1h након извршења секвенце под в)? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 1,5 сат.
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику Архитектура рачунара Први колоквијум - Надокнада 16.05.2009. I (10) 1. (5) У оквиру опслуживања прекида на стеку се чувају неки регистри процесора. а) Навести који се регистри чувају и зашто. б) Навести који се регистри обавезно чувају хардверски а који могу и хардверски софтверски. За оне који могу да се чувају и хардверски и софтверски навести од чега зависи како ће се чувати. 2. (5) У процесору са векторисаним механизмом прекида се у оквиру хардверског дела опслуживања захтева за прекид поред осталог генеришу и бројеви улаза у табелу са адресама прекидних рутина за (1) унутрашњи прекид због грешке у коду операције (PRCOD), (2) унутрашњи прекид због грешке у начину адресирања (PRADR), (3) спољашњи немаскирајући прекид (INM) и (4) унутрашњи прекид због задатог режима рада са прекидом после сваке инструкције (PRTRAP). Генерисани бројеви улаза су осмо битне целобројне величине без знака. Нацртати и објаснити шему за генерисање бројева улаза за ова четири прекида уколико се адресе прекидних рутина за прекиде (1), (2), (3) и (4) налазе у улазима 19, 18, 17 и 16 табеле са адресама прекидних рутина и уколико прекида (1) има највиши, прекид (2) нижи, прекид (3) још нижи и прекид (4) најнижи приоритет. II (15) Адресни простор процесора је величине 16 MB, адресибилна јединица је 16-битна реч, а вишеречни бројеви се смештају тако да је на нижој адреси нижа реч. Процесор је једноадресни, а механизам прекида је векторисан. Интерапт вектор (IV) табела има 8 фиксних улаза и почиње од адрессе 32h. Процесор има две улазне линије IRQM0 и IRQM1 за спољне маскирајуће прекиде, при чему је IRQM1 вишег приоритета, и једну улазну линију IRQN за спољне немаскирајуће прекиде. Њима су придружени улази 1, 2 и 5 у IV табелу, респективно. Улаз 4 се користи у случају прекида после сваке инструкције (TRAP), а улаз 0 у случају унутрашњих прекида. Прекидне рутине започињу на следећим адресама: 1006h, 1009h, 1013h, 1000h, 101Ch респективно. У PSW-у постоје бити I (Interrupt Enable) и T (Trap) који се бришу у микропрограму за обраду прекида, као и одређен број L бита. При прекиду се на стеку чувају PSW и PC тим редом. Стек расте према нижим локацијама. Акумулатор је 32-битни. Инструкције RTI, INTE, INTD, TRPE и TRPD не реагују на прекиде. Не прихвата се прекид истог нивоа приоритета. Не постоји регистар маске IMR. Дат је део главног програма на слици 1 и прекидне рутине на слици 2. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 4. инструкције стиже захтев за прекид по линији IRQM0, у току 6. по линији IRQN, а у току 8. по линији IRQМ1. На почетку су сви бити PSW-а постављени на 0. Почетни садржај локације 1h је 10h.
Слика 1 Адреса Наредба 0100h TRPE 0101h INTE 0102h LOAD #1h 0105h INCA 0106h STORE 1h 0109h INTD Слика 2 Адреса Наредба 1000h POPA 1001h STORE 1h 1004h PUSHA 1005h RTI 1006h INTD 1007h INT #2 1008h RTI 1009h LOAD 1h 100Ch XOR #1h 100Fh STORE 1h 1012h RTI 1013h LOAD 1h 1016h INCA 1017h INTE 1018h STORE 1h 101Bh RTI 101Ch POPA 101Dh ADD #3 1020h PUSHA 1021h RTI а) Нацртати изглед првих 8 улаза у вектор табели, означити адресе релевантних локација и уписати садржаје у њих. б) Написати секвенцу адреса наредби које се редом извршавају, почев од адресе 0100h. в) Приказати садржај свих познатих локација на врху стека након извршавања 11. инструкције. За сачувану вредност PSW дати само вредност бита I, T и L. Назначити у коме смеру расте стек. г) Која ће се вредност налазити на локацији 1h након извршења секвенце под б)? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 1,5 сат.
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику Архитектура рачунара Први колоквијум 28.03.2010 1. (5) У оквиру извршавања прекидне рутине неке периферије стиже захтев за прекид од неке друге периферије. а) Навести услове који треба да буду испуњени да би се захтев за прекид прихватио и скочило на прекидну рутину те периферије. б) За сваки од услова навести на који начин и када се мења и да ли се то чини хардверски или софтверки. 2. (5) У процесору са векторисаним механизмом прекида се у оквиру хардверског дела опслуживања захтева за прекид поред осталог генеришу и бројеви улаза у табелу са адресама прекидних рутина за спољашње маскирајуће прекиде који долазе од улазно/излазних уређаја по линијама (1) INTR3, (2) INTR2, (3) INTR1 и (4) INTR0. За селективно маскирање спољашњих маскирајућих прекида који долазе од улазно/излазних уређаја по линијама (1) INTR3, (2) INTR2, (3) INTR1 и (4) INTR0, користе се разреди (1) IMR3, (2) IMR2, (3) IMR1 и (4) IMR0 регистра маске IMR, респективно. Генерисани бројеви улаза су осмо битне целобројне величине без знака. Нацртати и објаснити шему за генерисање бројева улаза за ова четири прекида уколико се адресе прекидних рутина за прекиде (1), (2), (3) и (4) налазе у улазима 11, 10, 9 и 8 табеле са адресама прекидних рутина и уколико прекид (1) има највиши, прекид (2) нижи, прекид (3) још нижи и прекид (4) најнижи приоритет. 3. (15) Адресни простор процесора је величине 8GB, адресибилна јединица је 16-битна реч, а вишеречни бројеви се смештају тако да је на вишој адреси виша реч. Процесор је једноадресни са раздвојеним меморијским и У/И адресним простором, механизам прекида је векторисан, IV (Interrupt Vector) табела почиње од адресе на коју указује регистар IVTP (Interrupt Vector Table Pointer), а регистар IVTP има вредност 2h. Процесор има три улазне линије IRQ0, IRQ1 и IRQ2 за спољне маскирајуће прекиде, при чему је IRQ0 највишег, а IRQ2 најнижег приоритета и једну улазну линију IRQN за спољне не маскирајуће прекиде на које су везане периферије PER0, PER1, PER2 и PERN респективно. Њима треба доделити улазе 2, 4, 1 и 5 у вектор табели, и којима одговарају прекидне рутине на адресама 1000h, 1011h, 1016h и 1006h, респективно. Адресе 8-битних регистара у којима се чувају бројеви улаза су 27h, 32h, F1h и C0h, респективно. У PSW-у постоје бити I (Interrupt Enable) и T (Trap) који се бришу у кораку за обраду прекида, као и одређен број L бита. У кораку за обраду прекида на стек се стављају PSW и PC тим редом. Стек расте према нижим локацијама. Акумулатор је 16 битни. Инструкције INT, INTE, INTD, TRPE и TRPD не реагују на прекиде. Инструкција RTI реагује на прекиде. Не прихвата се прекид истог нивоа приоритета. Не постоји регистар маске IMR. Дат је део главног програма на слици 1 и прекидне рутине на слици 2. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 1. инструкције стиже захтев за прекид по линији IRQ1, у току 5. по линији IRQN, а у току 7. по линији IRQ0. На почетку су сви бити PSW-а постављени на 0. Почетни садржај акумулатора је 0h, а меморијске локације 1h је 12h. Слика 1 Адреса Наредба 0100h INCA 0101h LOAD 1h 0104h INT #1h 0105h INTE 0106h INCA 0107h OR #1h 0109h STORE 1h 010Ch INTD Слика 2 Адреса Наредба 1000h POPA 1001h STORE 1h 1004h PUSHA 1005h RTI 1006h PUSHA 1007h LOAD 1h 100Ah ADD #3h 100Ch STORE 1h 100Fh POPA 1010h RTI 1011h INCA 1012h STORE 1h 1015h RTI 1016h LOAD 1h 1019h INCA 101Ah INTE 101Bh RTI а) (3) Нацртати изглед првих 8 улаза у вектор табели, означити адресе релевантних локација и уписати садржаје у њих. б) (3) Написати део кода којим се периферијама додељују бројеви улаза. в) (5) Написати секвенцу адреса наредби које се редом извршавају, почев од адресе 0100h. Резултат дати табеларно тако да табела садржи редни број интрукције, адресу на којој започиње инструкција, саму инструкцију, садржај акумулатора након извршења инструкције, вредности свих познатих бита унутар програмске статусне речи, и вредности на линијама IRQ. г) (2) Приказати садржај свих познатих локација на врху стека након извршавања 8. инструкције. д) (2) Која ће се вредност налазити на локацији 1h након извршења секвенце под в)? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 1,5 сат.
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику Архитектура рачунара Први колоквијум - надокнада 15.05.2010 1. (5) У процесору са векторисаним механизмом прекида повратак из прекидне рутине се реализује инструкцијом RTI. Објаснити шта се све и по ком редоследу ради у оквиру извршавања ове инструкције водећи рачуна о варијантама реализација инструкције RTI у зависноти од броја програмски доступних регистара у процесору. 2. (5) У процесору са векторисаним механизмом прекида оквиру хардверског дела опслуживања овог захтева за прекид се у зависности од врсте прекида на различите начине долази до броја улаза у табелу са адресама прекидних рутина. Објаснити како се долази до броја улаза у табелу са адресама прекидних рутина за следеће три врсте прекида: а) унутрашњи прекид због инструкције прекида, б) унутрашњи прекид због грешке у коду операције и в) спољашњи прекид од улазно/излазног уређаја за случај када улази нису фиксни. II (15) Адресни простор процесора је величине 256MB, адресибилна јединица је 16-битна реч, а вишеречни бројеви се смештају тако да је на вишој адреси нижа реч. Процесор је једноадресни са раздвојеним меморијским и У/И адресним простором, механизам прекида је векторисан, IV (Interrupt Vector) табела почиње од адресе на коју указује регистар IVTP (Interrupt Vector Table Pointer), а регистар IVTP има вредност 20h. Процесор има две улазне линије IRQ0 и IRQ1 за спољне маскирајуће прекиде, при чему је IRQ0 вишег, а IRQ1 нижег приоритета. На линију IRQ0 су повезане периферије PER0 и PER1, при чему је PER0 вишег приоритета, а на линију IRQ1 су повезане периферије PER2 и PER3, при чему је PER2 вишег приоритета. Овим периферијама треба доделити улазе 1, 3, 4 и 6 у вектор табели, и којима одговарају прекидне рутине на адресама 1000h, 101Bh, 100Ah и 1014h, респективно. Адресе 8-битних регистара у којима се чувају бројеви улаза су 12h, ACh, 98h и FF10h респективно. Приоритирање прекида периферија које су везане на исту линију се обавља користећи Daisy chainig технику. У PSW-у постоји бит I (Interrupt Enable) који се брише у кораку за обраду прекида, као и један L бит. Прихвата се прекид истог нивоа приоритета. При прекиду се на стеку хардверски чувају PC, PSW и ACC, тим редом. Стек расте према нижим локацијама. Акумулатор је 16-битни. Инструкције INTE, INTD, RTI и INT не реагују на прекиде. Инструкција INT не мења ниво приоритета текућег програма. Дат је део главног програма на слици 1, прекидне рутине на слици 2. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 3. инструкције стиже захтев за прекид од периферије PER2, у току 4. од периферије PER1, а у току 7. од периферије PER0. На почетку су сви бити PSW-а постављени на 0. Почетни садржај локације 1h је 10h. Слика 1 Адреса Наредба 0100h INTE 0101h LOAD 1h 0103h DECA 0104h INCA 0106h STORE 1h 0107h INTD Слика 2 Адреса Наредба 1000h LOAD 1h 1003h OR #10h 1006h STORE 1h 1009h RTI 100Ah LOAD 1h 100Dh INCA 100Eh INTE 100Fh STORE 1h 1013h RTI 1014h POPA 1015h ADD #2h 1018h STORE 1h 1019h PUSHA 101Ah RTI 101Bh INT #6h 101Ch RTI а) (2) Написати део програма којим се додељују бројеви улаза наведеним периферијама. б) (3) Нацртати изглед првих 8 улаза у вектор табели, означити адресе релевантних локација и уписати садржаје у њих. в) (5) Написати секвенцу адреса инструкција које се редом извршавају, почев од адресе 0100h. Резултат дати табеларно тако да табела садржи редни број интрукције, адресу на којој започиње инструкција, саму инструкцију, садржај акумулатора након извршења инструкције, вредности свих познатих бита унутар програмске статусне речи, и вредности на линијама IRQ. г) (2) Приказати садржај свих познатих локација на врху стека након извршавања 11. инструкције. За сачувану вредност PSW дати само вредност бита I и L. Назначити у коме смеру расте стек. д) (3) Написати део кода који је потребно ставити на почетак прекидне рутине периферије PER1 како би се обезбедило да ову прекидну рутину може да прекине прекид периферије PER0, али не и поновни прекид периферије PER1? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 1,5 сат.
Архитектура рачунара, Први колоквијум - Надокнада 2010. Решење задатка а) LOAD #01h OUTB 12h LOAD #03h OUTB ACh LOAD #04h OUTB 98h LOAD #06h OUTB FF10h ;napuni akumulator konstantom 1 broj ulaza za PER0 ;prebaci bajt akumulatora u registar periferije PER0 ;napuni akumulator konstantom 3 broj ulaza za PER1 ;prebaci bajt akumulatora u registar periferije PER1 ;napuni akumulator konstantom 4 broj ulaza za PER2 ;prebaci bajt akumulatora u registar periferije PER2 ;napuni akumulator konstantom 6 broj ulaza za PER3 ;prebaci bajt akumulatora u registar periferije PER3 б) број улаза у IV табелу 7 6 5 4 3 2 1 0 садржај меморијска адреса 2F h 2E h 1014 2D h 0000 2C h 2B h 2A h 100A 29 h 0000 28 h 101B 27 h 0000 26 h 25 h 24 h 1000 23 h 0000 22 h 21 h 20 h в) Рб Адреса Инструкција ACC Стек I Т L IRQ0 PER0 PER1 IRQ1 PER2 PER3 Коментар 0 - -? - 0 0 0 - - - - - - 1 0100 INTE? - 1 0 0 - - - - - - 2 0101 LOAD 1h 10-1 0 0 - - - - - - 3 0103 DECA F - 1 0 0 - - - 1 1 - F 1 0 0 0 - - - - - - 4 100A LOAD 1h 10 1 0 0 0 1-1 - - - 5 100D INCA 11 1 0 0 0 1-1 - - - 6 100E INTE 11 1 1 0 0 1 1 1 - - - 7 100F STORE 1h 11 1 1 0 0 1-1 - - - 2 0 0 1 1-1 - - - 8 1000 LOAD 1h 11 2 0 0 1 1-1 - - - 9 1003 OR #10h 10 2 0 0 1 1-1 - - - 10 1006 STORE 1h 10 2 0 0 1 1-1 - - - 11 1009 RTI F 1 1 0 0 1-1 - - - 12 1013 RTI F - 1 0 0 1-1 - - - 13 0104 INCA 10-1 0 0 1-1 - - - 3 0 0 1 - - - - - -
14 101B INT #6 10 4 0 0 1 - - - - - - 15 1014 POPA 10 5 0 0 1 - - - - - - 16 1015 ADD #2 12 5 0 0 1 - - - - - - 17 1018 STORE 1h 12 5 0 0 1 - - - - - - 18 1019 PUSHA 12 6 0 0 1 - - - - - - 19 101A RTI 12 3 0 0 1 - - - - - - 20 101C RTI 10-1 0 0 - - - - - - 21 0106 STORE 1h 10-1 0 0 - - - - - - 22 0107 INTD 10-0 0 0 - - - - - - 1 3 5 0000 0104 0106 0106 I=0, T=0, L=1 0000 0000 0000 0012 I=1, T=0, L=0 I=1, T=0, L=0 I=1, T=0, L=0 000F 0010 0010 2 4 1016 0104 0106 0000 0000 0000 I=0, T=0, L=1 I=1, T=0, L=0 I=1, T=0, L=0 6 000F 0010 0106 1013 1016 0000 0000 0000 I=1, T=0, L=0 I=1, T=0, L=0 I=0, T=0, L=1 0010 0011 0010 1016 г) XX више адресе 0106h 0000h PSW(I=1 T=0, L=0) 0010h 1016h 0000h PSW(I=0, T=0, L=1) SP ниже адресе Изглед стека после завршетка комплетне инструкције 15. д) Прекидна рутина за периферију 2 је дата на следећој слици: 101Bh INT #6h 101Ch RTI Пошто се ова прекидна рутина састоји само од инструкција INT и RTI које не реагују на прекид, не постоји начин да се ове инструкције прекину.
Архитектура рачунара, Први колоквијум 2010. Решење задатка 3) а) број улаза у IV табелу 7 6 5 4 3 2 1 0 садржај меморијска адреса 11 h 10 h F h E h 0000 D h 1006 C h 0000 B h 1011 A h 9 h 8 h 0000 7 h 1000 6 h 0000 5 h 1016 4 h 3 h 2 h б) LOAD #02h OUTB 27h LOAD #04h OUTB 32h LOAD #01h OUTB F1h LOAD #05h OUTB C0h в) Рб Адреса Инструкција ACC Стек I Т L IRQN IRQ0 IRQ1 IRQ2 Коментар 0 - - 0-0 0 00 - - - - 1 100 INCA 1-0 0 00 - - 1-2 101 LOAD 1h 12-0 0 00 - - 1-3 104 INT #1h 12 1 0 0 00 - - 1-4 1016 LOAD 1h 12 1 0 0 00 - - 1-5 1019 INCA 13 1 0 0 00 1-1 - 13 2 0 0 00 - - 1-6 1006 PUSHA 13 3 0 0 00 - - 1-7 1007 LOAD 1h 12 3 0 0 00-1 1-8 100A ADD #3h 15 3 0 0 00-1 1-9 100C STORE 1h 15 3 0 0 00-1 1-10 100F POPA 13 2 0 0 00-1 1-11 1010 RTI 13 1 0 0 00-1 1-12 101A INTE 13 1 1 0 00-1 1-13 101B RTI 13-0 0 00-1 1-14 105 INTE 13-1 0 00-1 1 -
15 106 INCA 14-1 0 00-1 1-14 4 0 0 11 - - 1-16 1000 POPA 107 5 0 0 11 - - 1-17 1001 STORE 1h 107 5 0 0 11 - - 1-18 1004 PUSHA 107 4 0 0 11 - - 1-19 1005 RTI 107-1 0 00 - - 1-107 4 0 0 10 - - - - 20 1011 INCA 108 4 0 0 10 - - - - 21 1012 STORE 1h 108 4 0 0 10 - - - - 22 1015 RTI 108-1 0 00 - - - 23 107 OR #1h 109-1 0 00 - - - - 24 109 STORE 1h 109-1 0 00 - - - - 25 10C INTD 109-0 0 00 - - - - 1 3 4 I=0, T=0, L=00 I=0, T=0, L=00 I=1, T=0, L=00 0000 0000 0000 0105 0105 0107 2 I=0, T=0, L=00 5 I=0, T=0, L=00 0000 I=1, T=0, L=00 0000 101A 0000 0105 0013 I=0, T=0, L=00 0000 101A г) XX више адресе PSW(I=0, T=0, L=00) 0000h 0105h PSW(I=0, T=0, L=00) 0000h 101Ah 0013h SP ниже адресе Изглед стека после завршетка комплетне инструкције 8. д) Након завршене секвенце на адреси 1h ће се наћи вредност 109h.
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику Архитектура рачунара Први колоквијум 20.03.2011. 1. (5) У оквиру опслуживања прекида на стеку се чувају неки регистри процесора. а) Навести који се регистри чувају и зашто. б) Навести који се регистри обавезно чувају хардверски а који могу и хардверски софтверски. За оне који могу да се чувају и хардверски и софтверски навести од чега зависи како ће се чувати. 2. (5) У процесору са векторисаним механизмом прекида се у оквиру хардверског дела опслуживања захтева за прекид поред осталог генеришу и бројеви улаза у табелу са адресама прекидних рутина за спољашње маскирајуће прекиде који долазе од улазно/излазних уређаја по линијама (1) INTR3, (2) INTR2, (3) INTR1 и (4) INTR0. За селективно маскирање спољашњих маскирајућих прекида који долазе од улазно/излазних уређаја по линијама (1) INTR3, (2) INTR2, (3) INTR1 и (4) INTR0, користе се разреди (1) IMR3, (2) IMR2, (3) IMR1 и (4) IMR0 регистра маске IMR, респективно. Генерисани бројеви улаза су осмо битне целобројне величине без знака. Нацртати и објаснити шему за генерисање бројева улаза за ова четири прекида уколико се адресе прекидних рутина за прекиде (1), (2), (3) и (4) налазе у улазима 19, 18, 17 и 16 табеле са адресама прекидних рутина и уколико прекид (1) има највиши, прекид (2) нижи, прекид (3) још нижи и прекид (4) најнижи приоритет. 3. (15) Адресни простор процесора је величине 8GB, адресибилна јединица је 16-битна реч, а вишеречни бројеви и адресе се смештају у меморију тако да се на вишој адреси смешта виша реч. Процесор је једноадресни са раздвојеним меморијским и У/И адресним простором, механизам прекида је векторисан, IV (Interrupt Vector) табела почиње од адресе на коју указује регистар IVTP (Interrupt Vector Table Pointer), а регистар IVTP има вредност 8h. Процесор има три улазне линије IRQ0, IRQ1 и IRQ2 за спољне маскирајуће прекиде, при чему је IRQ2 највишег, а IRQ0 најнижег приоритета и једну улазну линију IRQN за спољне не маскирајуће прекиде, на које су везане периферије PER0, PER1, PER2 и PERN респективно. Њима треба доделити улазе 1, 2, 4 и 5 у вектор табели, и којима одговарају прекидне рутине на адресама 1007h, 1000h, 1009h и 100Eh, респективно. Адресе 8-битних регистара у којима се чувају бројеви улаза су 10h, 20h, 30h и 40h, респективно. У PSW-у постоје бити I (Interrupt Enable) и T (Trap) који се бришу у кораку за обраду прекида, као и два L 1..0 бита. У кораку за обраду прекида на стек се хардверски стављају ACC, PSW и PC, тим редом. Стек расте према нижим локацијама. Акумулатор је 16 битни. Инструкције INTE, INTD, TRPE, TRPD и RTI не реагују на прекиде. Не прихвата се прекид истог нивоа приоритета. Не постоји регистар маске IMR. Дат је део главног програма на слици 1 и прекидне рутине на слици 2. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 2. инструкције стиже захтев за прекид по линији IRQ1, у току 4. по линији IRQ0, у току 6. по линији IRQ2, а у току 7. по линији IRQN. На почетку су сви бити PSW-а постављени на 0. Почетни садржај акумулатора је 0h, а меморијске локације 1h је 100Fh. Слика 1 Адреса Наредба 0100h INTE 0101h LOAD 1h 0104h ADD #2h 0106h STORE 1h 0109h INTD Слика 2 Адреса Наредба 1000h INTE 1001h POPA 1002h STORE 1h 1005h PUSHA 1006h RTI Адреса Наредба 1007h INCA 1008h RTI 1009h INCA 100Ah STORE 1h 100Dh RTI Адреса Наредба 100Eh LOAD 1h 1011h DECA 1012h STORE 1h 1015h RTI а) (3) Написати део програма којим се додељују бројеви улаза наведеним периферијама. б) (2) Нацртати изглед првих 8 улаза у вектор табели, означити адресе релевантних локација и уписати садржаје у њих. в) (2) Написати део програма којим се иницијализује улаз 5 у вектор табели. г) (7) Написати секвенцу адреса наредби које се редом извршавају почев од адресе 0100h. Резултат дати табеларно тако да табела садржи редни број интрукције, адресу на којој започиње инструкција, саму инструкцију, садржај акумулатора након извршења инструкције, вредности свих познатих бита унутар програмске статусне речи, вредности на линијама IRQ, и изглед стека. Резултат дати након фазе извршења инструкције и уколико је у фази опслуживања прекида прихваћен прекид и након фазе опслуживања прекида. д) (1) Која ће се вредност налазити на локацији 1h након извршења секвенце под г)? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 1,5 сат.
Електротехнички факултет у Београду Катедра за рачунарску технику и информатику Архитектура рачунара Први колоквијум 08.05.2011. 1. (5) У процесору са векторисаним механизмом прекида повратак из прекидне рутине се реализује инструкцијом RTI. Објаснити шта се све и по ком редоследу ради у оквиру извршавања ове инструкције водећи рачуна о варијантама реализација инструкције RTI у зависноти од броја програмски доступних регистара у процесору. 2. (5) У процесору са векторисаним механизмом прекида оквиру хардверског дела опслуживања овог захтева за прекид се у зависности од врсте прекида на различите начине долази до броја улаза у табелу са адресама прекидних рутина. Објаснити како се долази до броја улаза у табелу са адресама прекидних рутина за следеће три врсте прекида: а) унутрашњи прекид због инструкције прекида, б) унутрашњи прекид због грешке у коду операције и в) спољашњи прекид од улазно/излазног уређаја за случај када улази нису фиксни. 3. (15) Адресни простор процесора је величине 8GB, адресибилна јединица је 16 битна реч, а вишеречни бројеви се смештају тако да је на вишој адреси нижа реч. Процесор је једноадресни са раздвојеним меморијским и У/И адресним простором, механизам прекида је векторисан, IV (Interrupt Vector) табела почиње од адресе на коју указује регистар IVTP (Interrupt Vector Table Pointer), а регистар IVTP има вредност 32. Процесор има две улазне линије, IRQ0 и IRQ1, за спољне маскирајуће прекиде, при чему је IRQ0 вишег, а IRQ1 нижег приоритета, као и две излазне линије INTA0 и INTA1 по којима шаље сигнале дозволе прекида улазно/излазним уређајима. На линију IRQ0 су повезане периферије PER0 и PER1, при чему је PER0 вишег а PER1 нижег приоритета, а на линију IRQ1 су повезане периферије PER2 и PER3, при чему је PER2 вишег а PER3 нижег приоритета. Овим периферијама треба доделити улазе 1, 3, 4 и 6 у вектор табели, и којима одговарају прекидне рутине на адресама 1007h, 1000h, 1009h и 100Eh, респективно. Адресе 8-битних регистара у којима се чувају бројеви улаза су 12h, ACh, 98h и FF10h респективно. Приоритирање периферија које су везане на исту линију се обавља користећи Daisy chain технику. У PSW-у постоје бити I (Interrupt Enable) и T (Trap) који се бришу у кораку за обраду прекида, као и два L 1..0 бита. У кораку за обраду прекида на стек се хардверски стављају ACC, PSW и PC, тим редом. Стек расте према нижим локацијама. Акумулатор је 16 битни. Инструкције INT, INTE, INTD, TRPE, TRPD и RTI не реагују на спољашње прекиде. Не прихвата се прекид истог нивоа приоритета. Не постоји регистар маске IMR. Инструкција INT не мења ниво приоритета текућег програма. Дат је део главног програма на слици 1, прекидне рутине на слици 2. Инструкција на адреси 0100h означена је као 1. (прва) по редоследу извршавања, а свака следећа инструкција која се извршава означена је следећим редним бројем. У току извршавања 2. инструкције стиже захтев за прекид од периферије PER2, у току 4. од периферије PER1, а у току 7. од периферије PER0. На почетку су сви бити PSW-а постављени на 0. Почетни садржај локације 1h је 10h, а акумулатора је 0. Слика 1 Адреса Наредба 0100h INTE 0101h LOAD 1h 0104h ADD #2h 0106h STORE 1h 0109h INTD Слика 2 Адреса Наредба 1000h INTE 1001h POPA 1002h STORE 1h 1005h PUSHA 1006h RTI Адреса Наредба 1007h INT #3 1008h RTI 1009h INCA 100Ah STORE 1h 100Dh RTI Адреса Наредба 100Eh LOAD 1h 1011h DECA 1012h STORE 1h 1015h RTI а) (3) Написати део програма којим се додељују бројеви улаза наведеним периферијама. б) (2) Нацртати изглед првих 8 улаза у вектор табели, означити адресе релевантних локација и уписати садржаје у њих. в) (2) Написати део програма којим се иницијализује улаз 6 у вектор табели. г) (7) Написати секвенцу адреса наредби које се редом извршавају почев од адресе 0100h. Резултат дати табеларно тако да табела садржи редни број интрукције, адресу на којој започиње инструкција, саму инструкцију, садржај акумулатора након извршења инструкције, вредности свих познатих бита унутар програмске статусне речи, вредности на линијама IRQ, и изглед стека. Резултат дати након фазе извршења инструкције, a уколико је у фази опслуживања прекида прихваћен прекид и након фазе опслуживања прекида. д) (1) Која ће се вредност налазити на локацији 1h након извршења секвенце под г)? Напомене: На колоквијуму нису дозвољена никаква помоћна средства, ни калкулатори ни литература. Колоквијум траје 1,5 сат.
Архитектура рачунара, Надокнада првог колоквијума 2011. Решење задатка 3) а) LOAD #01h OUTB 12h LOAD #03h OUTB ACh LOAD #4h OUTB 98h LOAD #06h OUTB FF10h б) број улаза у IV табелу 7 6 5 4 3 2 1 0 садржај меморијска адреса 47 46 100E 45 0000 44 43 42 1009 41 0000 40 1000 39 0000 38 37 36 1007 35 0000 34 33 32 в) LOAD #100Eh STORE 45 LOAD #0h STORE 44 г) Рб Адреса Инструкција ACC Стек I Т L IRQ0 IRQ1 PER0 PER1 PER2 PER3 0 - - 0-0 0 00 - - - - - - 1 0100 INTE 0-1 0 00 - - - - - - 2 0101 LOAD 1h 10-1 0 00-1 - - 1-10 1 0 0 10 - - - - - - 3 1009 INCA 11 1 0 0 10 - - - - - - 4 100A STORE 1h 11 1 0 0 10 1 - - 1 - - 5 100D RTI 10-1 0 00 1 - - 1 - - 6 0104 ADD #2h 12-1 0 00 1 - - 1 - - 12 2 0 0 11 - - - - - - 7 1000 INTE 12 2 1 0 11 1-1 - - - 8 1001 POPA 0 3 1 0 11 1-1 - - -