Архитектура рачунара — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (slike julskog AR kolokvijuma od `<@142395301863358466>`)
 
(Нису приказане 34 међуизмене 10 корисника)
Ред 1: Ред 1:
{{tocright}}
{{Предмет
Добар дан. Добродошли на страницу из обавезног предмета у четвртом семестру '''Архитектура рачунара'''. Моје име је {{SITENAME}}. Да ли имате, неких питања?
| шифра    = 13С112АР, 13Е112АР
| семестар  = 4
| статус    = обавезни
| страница  = [https://rti.etf.bg.ac.rs/rti/ef2ar/ rti.etf.rs/rti/ef2ar]
| одсек    = СИ, РТИ
| претходни = ОРТ2
| следећи  = АОР1
}}
ДОБАР ДАН! Добродошли на страницу из обавезног предмета у четвртом семестру '''Архитектура рачунара'''. Моје име је {{SITENAME}}. Да ли можда, имате, неких питања? Надам се да ме сада, чујете мало боље.


== Странице ==
== Корисне везе ==
* [https://rti.etf.bg.ac.rs/rti/ef2ar/ Страница предмета]
* [https://drive.google.com/open?id=15Jc3UWnpadZHIyndlrIqW9R98l64Cek9 ETF SI] (наставни материјали, решења рокова)
* [https://elearning.rcub.bg.ac.rs/moodle/course/view.php?id=1115 ''Moodle'' курс предмета]


== Корисне везе ==
== Настава ==
{{Материјали
Градиво је подељено на следеће области:
| vuk            = 15Jc3UWnpadZHIyndlrIqW9R98l64Cek9
* '''Први блок:''' Механизам прекида
| box            = 8381411293
* '''Други блок:''' Магистрала, меморија (само на вежбама), улаз/излаз (основе, повезивање са периферијом)
| beastweb      = arhitektura-racunara
* '''Трећи блок:''' Технике рада са улазним/излазним уређајима (испитивање бита спремности, механизам прекида, 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}²]],,
}}
}}


== Лаб вежбе ==
== Лабораторијске вежбе ==
Постоје две лабораторијске вежбе које се одржавају средином семестра. Раде се на симулатору, имају улазни ''Moodle'' тест и домаћи задатак (само на другој лабораторијској вежби) и свака носи по 10 бодова. Једну лабораторијску вежбу је могуће једном надокнадити, и бодови са лабораторијских вежби важе годину дана. Материјали са лабораторијских вежби од претходних година, попут домаћих задатака, упутства за асемблер и примера задатка за прву лабораторијску вежбу се могу наћи на [https://rti.etf.bg.ac.rs/rti/ef2ar/labvezbe/lab20202021/ страници предмета.]
Постоје две лабораторијске вежбе, свака по 10 бодова, које се одржавају средином семестра. Раде се у симулатору, имају улазни ''Moodle'' тест и (само на другој лабораторијској вежби) домаћи задатак. Једну лабораторијску вежбу је могуће једном надокнадити, и бодови са лабораторијских вежби важе годину дана. Материјали са лабораторијских вежби од претходних година, попут домаћих задатака, упутства за асемблер и примера задатка за прву лабораторијску вежбу се могу наћи на [https://rti.etf.bg.ac.rs/rti/ef2ar/labvezbe/lab20212022/ страници предмета.] Више о самом симулатору може да се нађе у [[#SPECS|одељку са алатима]].


Пре лабораторијских вежби доступни су пробни тестови за њих. 2020. године следећи пробни тестови су били на располагању са странице предмета:
Пре лабораторијских вежби доступни су пробни тестови за њих. 2020. године следећи пробни тестови су били на располагању са странице предмета:
Ред 22: Ред 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|овде]].


Уколико симулатор покрећете кроз ''Wine'' на оперативном систему ''Linux'' (сличне инструкције можда раде и на ''macOS'', али није тестирано), потребно је да:
=== Прва лабораторијска вежба ===
* Из директоријума <code>p3lab1</code> обришете <code>VEZBA.ECS</code> јер ће асемблер генерисати нови фајл под именом <code>vezba.ecs</code> који, уколико постоје оба фајла, симулатор неће читати.
''Moodle'' тест носи 4 бода. Потребно је остварити најмање 2 како би се приступило изради лабораторијске вежбе. Осталих 6 бодова добија се на изради 4 задатка (2 лакша и 2 тежа). Задаци су по формату и идејама слични задацима на припремној лабораторијској вежби. Током израде лабораторијске вежбе демонстратор или асистент може поставити теоријска питања у вези са градивом и на основу њих може скинути одређен број поена у случају лошег одговора (мада је ово јако ретко). Задаци морају комплетно да раде да би се бодовали.
* [https://askubuntu.com/a/177349 Користите 32-битни ''Wine'' префикс.]
 
* Кроз [https://wiki.winehq.org/Winetricks ''winetricks''] инсталирајте <code>oleaut32</code>, <code>vb6run</code> и <code>gdiplus</code>.
=== Друга лабораторијска вежба ===
''Moodle'' тест носи 4 бода. Потребно је остварити најмање 2 како би се приступило изради лабораторијске вежбе. Осталих 6 бодова добија се на изради 2 модификације домаћег задатка. Једна модификација је тривијална, док је друга мало тежа (али је већина успешно уради). Друга модификација на надокнади је, по правилу, прилично тежа. Током израде лабораторијске вежбе демонстратор или асистент може поставити теоријска питања у вези са градивом и на основу њих може скинути одређен број поена у случају лошег одговора (мада је ово јако ретко). Задаци морају комплетно да раде да би се бодовали. Свака од модификација носи 3 бода и оцењују се независно једна од друге.


== Пројекат ==
== Пројекат ==
Пројекат је реализовати процесор предложене архитектуре, магистрале и са периферијама (барем контролер и периферију графичке картице и миш или тастатура) на коме ће се покретати предложени програм на FPGA. Ради се у групи до 5 чланова, носи 20 бодова и '''није обавезан'''.
Пројекат је реализовати процесор предложене архитектуре, магистрале и са периферијама (барем контролер миша или тастатуре и графичка картица која исцртава на VGA монитор) на коме ће се покретати предложени програм, на FPGA плочици ''Cyclone III'' (или ''Cyclone V'') као што се користи на [[ПОРТ]]. Ради се у групи до 5 чланова, носи 20 бодова и '''није обавезан'''. У графичкој картици потребно је реализовати цртање пиксела, линије и квадрата користећи SDRAM чип на плочици. Контролери тастатуре и VGA монитора постоје реализовани на претходним [[ОРТ2]] лабораторијским вежбама, пре него што су измењене да не садрже рад са FPGA.
 
По мишљењу предметних сарадника, пројекат носи много мање бодова него што је тежак, и не вреди га радити за оцену, већ само уколико су студенти заиста заинтересовани за такву врсту рада.
 
Неке корисне везе при изради пројекта:
* [[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-%20LAB2%20(VGA).zip VGA контролер са друге ОРТ2 лабораторијске вежбе]
* [http://www.burtonsys.com/ps2_chapweske.htm Више о PS/2 протоколу]
* [https://isdaman.com/alsos/hardware/mouse/ps2interface.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:Брезенхамов линијски алгоритам|српској Википедији]])
Софтверски алат ''ModelSim'' који може да се преузме поред ''Quartus''-а је такође јако користан алат за дебаговање шема пре спуштања на плочицу, па је препоручљиво упознати се са тиме како ради.


== Испитни рокови ==
== Испитни рокови ==
Испитни рокови се могу наћи на страници предмета, али се испитни рокови од тренутне године објављују тек након што се година заврши. Често су решени, али само делимично. Испод се могу наћи рокови тренутно сакупљени на викију.
Испитни рокови се могу наћи на страници предмета, али се испитни рокови од тренутне године објављују тек након што се година заврши. Често су решени, али само делимично. Испод се могу наћи рокови тренутно сакупљени на викију. Још увек непреписани рокови могу се наћи у [[#Потребна помоћ|одељку за потребну помоћ]]. Уколико желите да додате рок, посетите '''[[Project:Направи#Стандард (ћирилица)|страницу за прављење рока]]'''.


=== Колоквијуми ===
=== Колоквијуми ===
{{#dpl:
{{#dpl:
| titleregexp    = Архитектура_рачунара/К .*
| titleregexp    = Архитектура_рачунара/К\d? .*\d+
| nottitleregexp  = Архитектура_рачунара/Пробни тестови
| nottitleregexp  = Архитектура_рачунара/Лаб
| noresultsheader = Тренутно нема решених колоквијума.
| noresultsheader = Тренутно нема решених колоквијума.
| format          = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦24¦-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
}}
}}


Ред 47: Ред 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>K</math> — Бодови са колоквијума (0-40)
* <math>K_1, K_2</math> — Бодови са првог и другог колоквијума носе по 25 сваки. (0-50)
* <math>I</math> — Бодови са испита (0-40)
* <math>I</math> — Бодови са испита (0-30)
* Бодови: <math>P = L_1 + L_2 + K + I</math>
* Бодови: <math>P = L_1 + L_2 + K_1 + K_2 + I</math>.
{| class="wikitable"
{| class="wikitable"
! Бодови
! Бодови
Ред 65: Ред 110:
| 5 || 6 || 7 || 8 || 9 || 10
| 5 || 6 || 7 || 8 || 9 || 10
|}
|}
=== Рачунање ===
<div class="calculator">
* <math>K1</math>: <span data-variable="K1" data-max="25"></span>
* <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>L2</math>: <span data-variable="L2" data-max="10"></span>
* <math>PR</math>: <span data-variable="PR" data-max="20"></span>
* <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>
</div>


== Потребна помоћ ==
== Потребна помоћ ==
Ред 72: Ред 129:
* {{zadaci|prepis}}
* {{zadaci|prepis}}
** Август 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://media.discordapp.net/attachments/696381655933386832/862609022850039848/image0.jpg], [https://media.discordapp.net/attachments/696381655933386832/862609023244435466/image1.jpg]
** Август 2021: [https://cdn.discordapp.com/attachments/696381655933386832/882557009520652378/20210901_112613.jpg], [https://cdn.discordapp.com/attachments/696381655933386832/882557010346934322/20210901_112620.jpg]
** К Јул 2021: [https://discord.com/channels/639225220552720391/696381655933386832/862626612411498526], [https://discord.com/channels/639225220552720391/696381655933386832/862626660825825282]
 
[[Категорија:Четврти семестар]]
[[Категорија:Обавезни предмети]]
[[Категорија:Архитектура рачунара]]

Тренутна верзија на датум 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.

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

Неке корисне везе при изради пројекта:

Софтверски алат 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

Рачунање

  • :
  • :
  • :
  • :
  • :
  • :
  • :
  • Оцена:

Потребна помоћ