Архитектура рачунара — разлика између измена
м (Замењивање Шаблон:Материјали.) |
м (→Настава) |
||
(Нису приказане 24 међуизмене 8 корисника) | |||
Ред 1: | Ред 1: | ||
{{ | {{Предмет | ||
| шифра = 13С112АР, 13Е112АР | |||
| семестар = 4 | |||
| статус = обавезни | |||
| страница = [https://rti.etf.bg.ac.rs/rti/ef2ar/ rti.etf.rs/rti/ef2ar] | |||
| одсек = СИ, РТИ | |||
| претходни = ОРТ2 | |||
| следећи = АОР1 | |||
}} | |||
ДОБАР ДАН! Добродошли на страницу из обавезног предмета у четвртом семестру '''Архитектура рачунара'''. Моје име је {{SITENAME}}. Да ли можда, имате, неких питања? Надам се да ме сада, чујете мало боље. | |||
== Корисне везе == | == Корисне везе == | ||
* [https://drive.google.com/open?id=15Jc3UWnpadZHIyndlrIqW9R98l64Cek9 ETF SI] (наставни материјали, решења рокова) | |||
* | == Настава == | ||
Градиво је подељено на следеће области: | |||
* '''Први блок:''' Механизам прекида | |||
* '''Други блок:''' Магистрала, меморија (само на вежбама), улаз/излаз (основе, повезивање са периферијом) | |||
* '''Трећи блок:''' Технике рада са улазним/излазним уређајима (испитивање бита спремности, механизам прекида, DMA контролер), периферије и механизам прекида, конструкти из виших програмских језика, нестандардне инструкције | |||
Предавања су неопходна, јер са теоријски задаци увек долазе на роковима (најчешће К1 10 поена, К2 15 поена, испит 15 поена). Вежбе прате градиво са предавања, и из њих обично долазе задаци сличих типова на колоквијуму: | |||
* Задатак са извршавањем инструкција и руковођењем различитих врста прекида (долази на првом колоквијуму) | |||
* Задатак са извршавањем инструкција и комуникацијом преко магистрале (може да дође на другом колоквијуму) | |||
* Задатак са распоредом меморије и хардвером за руковођење адресним просторима (може да дође на другом колоквијуму) | |||
* Комбинација претходне две ставке (може да дође на другом колоквијуму) | |||
* Асемблерски задатак комуникације са меморијом и периферијама (долази на испиту) | |||
Презентације са предавања могу се наћи на драјву из [[#Корисни материјали|одељка за корисне материјале]].<br> | |||
Овде можете наћи и издвојену теорију:<br> | |||
{{#dpl: | |||
| namespace = File | |||
| titleregexp = Arhitektura računara teorija | |||
| noresultsheader = Тренутно нема докумената. | |||
| format = ,\n* [[Медија:%TITLE%|²{#invoke:String¦sub¦%PAGE%¦11¦-5}²]],, | |||
}} | |||
== Лабораторијске вежбе == | == Лабораторијске вежбе == | ||
Постоје две лабораторијске вежбе које се одржавају средином семестра. Раде се | Постоје две лабораторијске вежбе, свака по 10 бодова, које се одржавају средином семестра. Раде се у симулатору, имају улазни ''Moodle'' тест и (само на другој лабораторијској вежби) домаћи задатак. Једну лабораторијску вежбу је могуће једном надокнадити, и бодови са лабораторијских вежби важе годину дана. Материјали са лабораторијских вежби од претходних година, попут домаћих задатака, упутства за асемблер и примера задатка за прву лабораторијску вежбу се могу наћи на [https://rti.etf.bg.ac.rs/rti/ef2ar/labvezbe/lab20212022/ страници предмета.] Више о самом симулатору може да се нађе у [[#SPECS|одељку са алатима]]. | ||
Пре лабораторијских вежби доступни су пробни тестови за њих. 2020. године следећи пробни тестови су били на располагању са странице предмета: | Пре лабораторијских вежби доступни су пробни тестови за њих. 2020. године следећи пробни тестови су били на располагању са странице предмета: | ||
Ред 18: | Ред 42: | ||
* [https://rti.etf.bg.ac.rs/rti/ef2ar/labvezbe/Pitanja_2011_2012_V5.pdf Лаб 5] | * [https://rti.etf.bg.ac.rs/rti/ef2ar/labvezbe/Pitanja_2011_2012_V5.pdf Лаб 5] | ||
Везе ка тим пробним тестовима се више не налазе на страници предмета од 2021. године. Уместо њих, на ''Moodle'' курсу предмета се могу наћи пробни тестови, од којих су за сада доступни они из [[Архитектура рачунара/Пробни тестови 2021|2021. године]]. | Везе ка тим пробним тестовима се више не налазе на страници предмета од 2021. године. Уместо њих, на ''Moodle'' курсу предмета се могу наћи пробни тестови, од којих су за сада доступни они из [[Архитектура рачунара/Пробни тестови 2021|2021. године]]. | ||
Примере ''Moodle'' тестова који су били 2023. године на другој лабораторијској можете наћи [[Архитектура рачунара/Улазни тестови Лаб 2 2023|овде]]. | |||
=== Прва лабораторијска вежба === | |||
''Moodle'' тест носи 4 бода. Потребно је остварити најмање 2 како би се приступило изради лабораторијске вежбе. Осталих 6 бодова добија се на изради 4 задатка (2 лакша и 2 тежа). Задаци су по формату и идејама слични задацима на припремној лабораторијској вежби. Током израде лабораторијске вежбе демонстратор или асистент може поставити теоријска питања у вези са градивом и на основу њих може скинути одређен број поена у случају лошег одговора (мада је ово јако ретко). Задаци морају комплетно да раде да би се бодовали. | |||
=== Друга лабораторијска вежба === | |||
''Moodle'' тест носи 4 бода. Потребно је остварити најмање 2 како би се приступило изради лабораторијске вежбе. Осталих 6 бодова добија се на изради 2 модификације домаћег задатка. Једна модификација је тривијална, док је друга мало тежа (али је већина успешно уради). Друга модификација на надокнади је, по правилу, прилично тежа. Током израде лабораторијске вежбе демонстратор или асистент може поставити теоријска питања у вези са градивом и на основу њих може скинути одређен број поена у случају лошег одговора (мада је ово јако ретко). Задаци морају комплетно да раде да би се бодовали. Свака од модификација носи 3 бода и оцењују се независно једна од друге. | |||
== Пројекат == | == Пројекат == | ||
Ред 30: | Ред 56: | ||
Неке корисне везе при изради пројекта: | Неке корисне везе при изради пројекта: | ||
* [[github:topofkeks/arilla|Један од претходно реализованих пројеката]] (са реализованим контролером миша) | |||
* [https://rti.etf.bg.ac.rs/rti/ir2ort2/laboratorija/ORT2%20-%20LAB1%20(PS2).zip Контролер тастатуре са прве ОРТ2 лабораторијске вежбе] | * [https://rti.etf.bg.ac.rs/rti/ir2ort2/laboratorija/ORT2%20-%20LAB1%20(PS2).zip Контролер тастатуре са прве ОРТ2 лабораторијске вежбе] | ||
* [https://rti.etf.bg.ac.rs/rti/ir2ort2/laboratorija/ORT2%20-%20LAB2%20(VGA).zip VGA контролер са друге ОРТ2 лабораторијске вежбе] | * [https://rti.etf.bg.ac.rs/rti/ir2ort2/laboratorija/ORT2%20-%20LAB2%20(VGA).zip VGA контролер са друге ОРТ2 лабораторијске вежбе] | ||
* [http://www.burtonsys.com/ps2_chapweske.htm Више о PS/2 протоколу] | * [http://www.burtonsys.com/ps2_chapweske.htm Више о PS/2 протоколу] | ||
* [https://isdaman.com/alsos/hardware/mouse/ps2interface.htm Више о комуникацији са мишем] | * [https://isdaman.com/alsos/hardware/mouse/ps2interface.htm Више о комуникацији са мишем] | ||
* [http://www-ug.eecg.toronto.edu/msl/nios_devices/datasheets/PS2%20Keyboard%20Protocol.htm Више о комуникацији са тастатуром] | * [http://www-ug.eecg.toronto.edu/msl/nios_devices/datasheets/PS2%20Keyboard%20Protocol.htm Више о комуникацији са тастатуром] | ||
* [ | * [https://www.issi.com/WW/pdf/42S16400.pdf Документација SDRAM чипа са ''Cyclone III'' плочице] (препоручује се коришћење ове плочице јер досад на предмету нису рађени пројекти користећи SDRAM чип са ''Cyclone V'' плочице) | ||
* [[wikipedia:Bresenham's line algorithm|Брезенхамов линијски алгоритам]] (доступан и на [[wikipedia:sr:Брезенхамов линијски алгоритам|српској Википедији]]) | * [[wikipedia:Bresenham's line algorithm|Брезенхамов линијски алгоритам]] (доступан и на [[wikipedia:sr:Брезенхамов линијски алгоритам|српској Википедији]]) | ||
Софтверски алат ''ModelSim'' који може да се преузме поред ''Quartus''-а је такође јако користан алат за дебаговање шема пре спуштања на плочицу, па је препоручљиво упознати се са тиме како ради. | Софтверски алат ''ModelSim'' који може да се преузме поред ''Quartus''-а је такође јако користан алат за дебаговање шема пре спуштања на плочицу, па је препоручљиво упознати се са тиме како ради. | ||
== Испитни рокови == | == Испитни рокови == | ||
Испитни рокови се могу наћи на страници предмета, али се испитни рокови од тренутне године објављују тек након што се година заврши. Често су решени, али само делимично. Испод се могу наћи рокови тренутно сакупљени на викију. | Испитни рокови се могу наћи на страници предмета, али се испитни рокови од тренутне године објављују тек након што се година заврши. Често су решени, али само делимично. Испод се могу наћи рокови тренутно сакупљени на викију. Још увек непреписани рокови могу се наћи у [[#Потребна помоћ|одељку за потребну помоћ]]. Уколико желите да додате рок, посетите '''[[Project:Направи#Стандард (ћирилица)|страницу за прављење рока]]'''. | ||
=== Колоквијуми === | === Колоквијуми === | ||
{{#dpl: | {{#dpl: | ||
| titleregexp = Архитектура_рачунара/К .* | | titleregexp = Архитектура_рачунара/К\d? .*\d+ | ||
| noresultsheader = Тренутно нема решених колоквијума. | | noresultsheader = Тренутно нема решених колоквијума. | ||
| format = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE% | | format = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦22¦-1}²]]</span>, | ||
| include = {nerešeno}.dpl, {delimično rešeno}.dpl, {нерешено}.dpl, {делимично решено}.dpl | |||
}} | }} | ||
Ред 56: | Ред 81: | ||
| titleregexp = Архитектура_рачунара/.* | | titleregexp = Архитектура_рачунара/.* | ||
| nottitleregexp = Архитектура_рачунара/Пробни тестови | | nottitleregexp = Архитектура_рачунара/Пробни тестови | ||
| nottitleregexp = Архитектура_рачунара/Улазни тестови | |||
| nottitleregexp = Архитектура_рачунара/Лаб | | nottitleregexp = Архитектура_рачунара/Лаб | ||
| nottitleregexp = Архитектура_рачунара/К | | nottitleregexp = Архитектура_рачунара/К | ||
| noresultsheader = Тренутно нема решених испита. | | noresultsheader = Тренутно нема решених испита. | ||
| format = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦22¦-1}²]],, | | format = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦22¦-1}²]]</span>, | ||
| include = {nerešeno}.dpl, {delimično rešeno}.dpl, {нерешено}.dpl, {делимично решено}.dpl | |||
}} | }} | ||
== Алати == | |||
=== SPECS === | |||
''SPECS'' је симулатор који се користи на лабораторијским вежбама. Може се преузети [https://rti.etf.bg.ac.rs/rti/ef2ar/labvezbe/lab20192020/simulator+asembler.zip са странице предмета] заједно са асемблером ''PSams''. Детаљно упутство за коришћење ова два алата је такође [https://rti.etf.bg.ac.rs/rti/ef2ar/labvezbe/lab20212022/uputstvo.pdf дато на страници предмета.] | |||
Уколико симулатор покрећете кроз ''Wine'' на оперативном систему ''Linux'' (сличне инструкције можда раде и на ''macOS'', али није тестирано), потребно је да: | |||
* Из директоријума <code>p3lab1</code> обришете <code>VEZBA.ECS</code> јер ће асемблер генерисати нови фајл под именом <code>vezba.ecs</code> који, уколико постоје оба фајла, симулатор неће читати. | |||
* [https://askubuntu.com/a/177349 Користите 32-битни ''Wine'' префикс.] | |||
* Кроз [https://wiki.winehq.org/Winetricks ''winetricks''] инсталирајте <code>oleaut32</code>, <code>vb6run</code> и <code>gdiplus</code>. | |||
== Начин оцењивања == | == Начин оцењивања == | ||
* <math>L_1, L_2</math> — Бодови са лабораторијских вежби (0-10 свака) | * <math>L_1, L_2</math> — Бодови са лабораторијских вежби (0-10 свака) | ||
* <math> | * <math>K_1, K_2</math> — Бодови са првог и другог колоквијума носе по 25 сваки. (0-50) | ||
* <math>I</math> — Бодови са испита (0- | * <math>I</math> — Бодови са испита (0-30) | ||
* Бодови: <math>P = L_1 + L_2 + | * Бодови: <math>P = L_1 + L_2 + K_1 + K_2 + I</math>. | ||
{| class="wikitable" | {| class="wikitable" | ||
! Бодови | ! Бодови | ||
Ред 77: | Ред 113: | ||
=== Рачунање === | === Рачунање === | ||
<div class="calculator"> | <div class="calculator"> | ||
* <math> | * <math>K1</math>: <span data-variable="K1" data-max="25"></span> | ||
* <math>I</math>: <span data-variable="I" data-max=" | * <math>K2</math>: <span data-variable="K2" data-max="25"></span> | ||
* <math>I</math>: <span data-variable="I" data-max="30"></span> | |||
* <math>L1</math>: <span data-variable="L1" data-max="10"></span> | * <math>L1</math>: <span data-variable="L1" data-max="10"></span> | ||
* <math>L2</math>: <span data-variable="L2" data-max="10"></span> | * <math>L2</math>: <span data-variable="L2" data-max="10"></span> | ||
* <math>PR</math>: <span data-variable="PR" data-max="20"></span> | * <math>PR</math>: <span data-variable="PR" data-max="20"></span> | ||
* <math>P</math>: <span data-variable="P" data-expression=" | * <math>P</math>: <span data-variable="P" data-expression="K1 K2 I L1 L2 PR + + + + +></span> | ||
* Оцена: <span data-expression="P 10 / ceil 5 max 10 min"></span> | * Оцена: <span data-expression="P 10 / ceil 5 max 10 min"></span> | ||
</div> | </div> | ||
Ред 93: | Ред 130: | ||
** Август 2020: [https://cdn.discordapp.com/attachments/693907737364398162/851646445852688424/ar-rokovi-avgust.jpg], [https://cdn.discordapp.com/attachments/693907737364398162/851646436667031562/ar-rokovi-avgust2.jpg] | ** Август 2020: [https://cdn.discordapp.com/attachments/693907737364398162/851646445852688424/ar-rokovi-avgust.jpg], [https://cdn.discordapp.com/attachments/693907737364398162/851646436667031562/ar-rokovi-avgust2.jpg] | ||
** Август 2021: [https://cdn.discordapp.com/attachments/696381655933386832/882557009520652378/20210901_112613.jpg], [https://cdn.discordapp.com/attachments/696381655933386832/882557010346934322/20210901_112620.jpg] | ** Август 2021: [https://cdn.discordapp.com/attachments/696381655933386832/882557009520652378/20210901_112613.jpg], [https://cdn.discordapp.com/attachments/696381655933386832/882557010346934322/20210901_112620.jpg] | ||
Тренутна верзија на датум 25. јун 2024. у 21:37
ДОБАР ДАН! Добродошли на страницу из обавезног предмета у четвртом семестру Архитектура рачунара. Моје име је SI Wiki. Да ли можда, имате, неких питања? Надам се да ме сада, чујете мало боље.
Корисне везе
- ETF SI (наставни материјали, решења рокова)
Настава
Градиво је подељено на следеће области:
- Први блок: Механизам прекида
- Други блок: Магистрала, меморија (само на вежбама), улаз/излаз (основе, повезивање са периферијом)
- Трећи блок: Технике рада са улазним/излазним уређајима (испитивање бита спремности, механизам прекида, DMA контролер), периферије и механизам прекида, конструкти из виших програмских језика, нестандардне инструкције
Предавања су неопходна, јер са теоријски задаци увек долазе на роковима (најчешће К1 10 поена, К2 15 поена, испит 15 поена). Вежбе прате градиво са предавања, и из њих обично долазе задаци сличих типова на колоквијуму:
- Задатак са извршавањем инструкција и руковођењем различитих врста прекида (долази на првом колоквијуму)
- Задатак са извршавањем инструкција и комуникацијом преко магистрале (може да дође на другом колоквијуму)
- Задатак са распоредом меморије и хардвером за руковођење адресним просторима (може да дође на другом колоквијуму)
- Комбинација претходне две ставке (може да дође на другом колоквијуму)
- Асемблерски задатак комуникације са меморијом и периферијама (долази на испиту)
Презентације са предавања могу се наћи на драјву из одељка за корисне материјале.
Овде можете наћи и издвојену теорију:
Лабораторијске вежбе
Постоје две лабораторијске вежбе, свака по 10 бодова, које се одржавају средином семестра. Раде се у симулатору, имају улазни Moodle тест и (само на другој лабораторијској вежби) домаћи задатак. Једну лабораторијску вежбу је могуће једном надокнадити, и бодови са лабораторијских вежби важе годину дана. Материјали са лабораторијских вежби од претходних година, попут домаћих задатака, упутства за асемблер и примера задатка за прву лабораторијску вежбу се могу наћи на страници предмета. Више о самом симулатору може да се нађе у одељку са алатима.
Пре лабораторијских вежби доступни су пробни тестови за њих. 2020. године следећи пробни тестови су били на располагању са странице предмета:
Везе ка тим пробним тестовима се више не налазе на страници предмета од 2021. године. Уместо њих, на Moodle курсу предмета се могу наћи пробни тестови, од којих су за сада доступни они из 2021. године. Примере Moodle тестова који су били 2023. године на другој лабораторијској можете наћи овде.
Прва лабораторијска вежба
Moodle тест носи 4 бода. Потребно је остварити најмање 2 како би се приступило изради лабораторијске вежбе. Осталих 6 бодова добија се на изради 4 задатка (2 лакша и 2 тежа). Задаци су по формату и идејама слични задацима на припремној лабораторијској вежби. Током израде лабораторијске вежбе демонстратор или асистент може поставити теоријска питања у вези са градивом и на основу њих може скинути одређен број поена у случају лошег одговора (мада је ово јако ретко). Задаци морају комплетно да раде да би се бодовали.
Друга лабораторијска вежба
Moodle тест носи 4 бода. Потребно је остварити најмање 2 како би се приступило изради лабораторијске вежбе. Осталих 6 бодова добија се на изради 2 модификације домаћег задатка. Једна модификација је тривијална, док је друга мало тежа (али је већина успешно уради). Друга модификација на надокнади је, по правилу, прилично тежа. Током израде лабораторијске вежбе демонстратор или асистент може поставити теоријска питања у вези са градивом и на основу њих може скинути одређен број поена у случају лошег одговора (мада је ово јако ретко). Задаци морају комплетно да раде да би се бодовали. Свака од модификација носи 3 бода и оцењују се независно једна од друге.
Пројекат
Пројекат је реализовати процесор предложене архитектуре, магистрале и са периферијама (барем контролер миша или тастатуре и графичка картица која исцртава на VGA монитор) на коме ће се покретати предложени програм, на FPGA плочици Cyclone III (или Cyclone V) као што се користи на ПОРТ. Ради се у групи до 5 чланова, носи 20 бодова и није обавезан. У графичкој картици потребно је реализовати цртање пиксела, линије и квадрата користећи SDRAM чип на плочици. Контролери тастатуре и VGA монитора постоје реализовани на претходним ОРТ2 лабораторијским вежбама, пре него што су измењене да не садрже рад са FPGA.
По мишљењу предметних сарадника, пројекат носи много мање бодова него што је тежак, и не вреди га радити за оцену, већ само уколико су студенти заиста заинтересовани за такву врсту рада.
Неке корисне везе при изради пројекта:
- Један од претходно реализованих пројеката (са реализованим контролером миша)
- Контролер тастатуре са прве ОРТ2 лабораторијске вежбе
- VGA контролер са друге ОРТ2 лабораторијске вежбе
- Више о PS/2 протоколу
- Више о комуникацији са мишем
- Више о комуникацији са тастатуром
- Документација SDRAM чипа са Cyclone III плочице (препоручује се коришћење ове плочице јер досад на предмету нису рађени пројекти користећи SDRAM чип са Cyclone V плочице)
- Брезенхамов линијски алгоритам (доступан и на српској Википедији)
Софтверски алат ModelSim који може да се преузме поред Quartus-а је такође јако користан алат за дебаговање шема пре спуштања на плочицу, па је препоручљиво упознати се са тиме како ради.
Испитни рокови
Испитни рокови се могу наћи на страници предмета, али се испитни рокови од тренутне године објављују тек након што се година заврши. Често су решени, али само делимично. Испод се могу наћи рокови тренутно сакупљени на викију. Још увек непреписани рокови могу се наћи у одељку за потребну помоћ. Уколико желите да додате рок, посетите страницу за прављење рока.
Колоквијуми
Испити
Алати
SPECS
SPECS је симулатор који се користи на лабораторијским вежбама. Може се преузети са странице предмета заједно са асемблером PSams. Детаљно упутство за коришћење ова два алата је такође дато на страници предмета.
Уколико симулатор покрећете кроз Wine на оперативном систему Linux (сличне инструкције можда раде и на macOS, али није тестирано), потребно је да:
- Из директоријума
p3lab1
обришетеVEZBA.ECS
јер ће асемблер генерисати нови фајл под именомvezba.ecs
који, уколико постоје оба фајла, симулатор неће читати. - Користите 32-битни Wine префикс.
- Кроз winetricks инсталирајте
oleaut32
,vb6run
иgdiplus
.
Начин оцењивања
- — Бодови са лабораторијских вежби (0-10 свака)
- — Бодови са првог и другог колоквијума носе по 25 сваки. (0-50)
- — Бодови са испита (0-30)
- Бодови: .
Бодови | ||||||
---|---|---|---|---|---|---|
Оцена | 5 | 6 | 7 | 8 | 9 | 10 |
Рачунање
- :
- :
- :
- :
- :
- :
- :
- Оцена:
Потребна помоћ
- На овом предмету фале решења рокова. Помозите викију решавањем рокова и постављањем њихових решења на вики.
- Рокови који су преписани а нису решени су:
- Рокови којима недостаје понеко решење су:
- На овом предмету постоје старији рокови лошег квалитета. Помозите викију преписивањем тих рокова на вики.