АРХІТЕКТУРА КОМП'ЮТЕРА
Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
Галузь знань | 12 Інформаційні технології |
Спеціальність | 121 Інженерія програмного забезпечення |
Освітня програма | Інженерія програмного забезпечення комп’ютерних систем |
Статус дисципліни | Нормативна |
Форма навчання | очна(денна)/заочна/дистанційна |
Рік підготовки, семестр | 2 курс, осінній семестр |
Обсяг дисципліни(5,5кред.) | Денна 165 годин (36 годин – Лекції, 36 годин – Лабораторні, 93 годин – СРС) Заочна 165 годин (10 годин – Лекції, 6 годин – Лабораторні, 149 годин – СРС) |
Семестровий контроль/ контрольні заходи | Екзамен/екзаменаційна робота |
Розклад занять | http://rozklad.kpi.ua |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів |
Лектор: к.т.н., доцент Катін Павло Юрійович, моб. +38(067)404-93-46 Лабораторні: асистент Міщенко Володимир Олександрович, моб. +38(067)404-33-22 |
Розміщення документу | https://campus.kpi.ua |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Опис дисципліни. Основною метою дисципліни “Архітектура комп'ютера” є надання системних знань про загальні принципи будови архітектури сучасних комп'ютерів і історію їх розвитку; про систему команд сучасних процесорів; про системний дизайн сучасних комп'ютерів; про структуру і загальні принципи роботи суперкомп'ютерів. Крім того дисципліна надає знання і навички програмування на одному з обраних типів Асемблера, що не можливо без знань архітектури комп'ютера.
Дисципліна “Архітектура комп'ютера” передбачає виконання навчальних завдань та практик програмування, що потрібні студентам для досягнення результатів навчання. Такий навчальний досвід дозволяє вдосконалити навички програмування і навчити подальшому самостійному набуттю знань.
Присутній стандартний підхід із навчання програмуванню, коли на перших етапах (лабораторних роботах) виконується відносно складне завдання, що дає можливість зацікавити студентів до подальшого навчання. Фінальним завданням є програмний додаток, що частково моделює роботу BIOS сучасної комп'ютерної системи. Для виконання цього завдання студенти використовують теоретичні знання та застосовують практичні навички, отримані під час всього лекційного курсу і лабораторних робіт.
Предмет навчальної дисципліни: архітектура сучасних комп'ютерів і комп'ютерних систем в контексті програмування на Асемблері.
Міждисциплінарні зв’язки: Попередні дисципліни: Програмування, Основи програмування; Дискретна математика, Основи операційних систем.
Дисципліни, що забезпечуються: Програмування, Програмування вбудованих систем, Програмування мікроконтролерів і мікропроцесорів, Системне програмування, бакалаврський проект, магістерська робота (у питаннях вибору, розробки і обґрунтування архітектурних рішень).
Мета навчальної дисципліни. Підготовка висококваліфікованих розробників програмного забезпечення, які володіють знаннями про архітектуру комп'ютерних систем, можуть використовувати ці знання для системного програмування і розробки елементів операційних систем, самостійно вивчати інші архітектури мікропроцесорних систем, проектувати складні комп'ютерні системи, у тому числі з використанням мережевих технологій, розробляти програми на Асемблері.
Результатами навчання є
Знання:
системних відомостей про архітектуру сучасних комп'ютерів і історію їх розвитку;
системного дизайну комп'ютерних систем;
системі команд сучасних процесорів;
одного з типів Асемблера;
загальну структуру і принципи роботи сучасних персональних комп'ютерів;
структуру і загальні принципи роботи суперкомп'ютерів.
Уміння:
самостійно набувати знання з архітектури сучасних і перспективних комп'ютерів (комп'ютерних систем);
програмувати на одному з обраних Асемблерів, самостійно набувати знання і навички для програмування на іншому виді Асемблеру;
використовувати отриманні знання архітектури комп'ютерів для системного програмування і для розробки операційних систем;
використовувати знання архітектури при проектувати комп'ютерів, складних систем на основі комп'ютерів (суперкомп'ютерів, мережевих систем).
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Пререквізити: вміти програмувати на початковому рівні, знати одну з мов програмування, базові знання дискретної математики, знання англійської мови відповідно до програми.
Постреквізити: вміти програмувати на одному з Асемблерів для обраної архітектури, користуватися налагоджувачами (дебагерами), використовувати знання архітектури комп'ютерів у системному програмуванні (або аналогічній галузі програмування), вміти користуватися спеціальною літературою та типовими довідниками (мануалами) для самостійного набуття знань з архітектури комп'ютерів або інших мікропроцесорних систем.
Зміст навчальної дисципліни
Лекційні заняття
Тема 1. Основи архітектури і програмної моделі мікропроцесорів.
Тема 2. Архітектура системи команд мікропроцесорів і структурна схема IBM PC сумісного персонального комп’ютера.
Тема 3. Основи мікроархитектури мікропроцесорів і організація пам'яті комп'ютерних систем.
Тема 4. Стек і система переривань у архітектурі комп'ютерних систем.
Тема 5. Периферійні пристрої комп'ютерів та їх програмне управління.
Тема 6. Тенденції розвитку сучасних мікропроцесорів і мікроконтролерів.
Тема 7. Архітектурні складові мікропроцесорів для забезпечення багатопотоковості.
Тема 8. Архітектура суперкомп'ютерів на прикладі кластерних систем.
Лабораторні заняття
1. Технологія програмування комп'ютерів на Асемблері.
2. Дослідження програмної моделі процесорів з використанням Асемблеру.
3. Дослідження системи команд і адресації мікропроцесорів.
4. Дослідження стеку мікропроцесорів з використанням Асемблеру.
5. Розробка складних програм з процедурами Асемблера.
6. Дослідження системи переривань комп'ютерів на Асемблері.
7. Програмне управління периферійними пристроями комп'ютерів.
8. Розробка прототипа програми для BIOS комп'ютерів.
Навчальні матеріали та ресурси
Базова література
1. Advanced Micro Devices, Inc. AMD64 Architecture Programmer’s Manual Volume 1: Application Programming. Publication No. 24592. Revision Date 3.22. December 2017.
2. Intel Corporation. Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4. Submitted: May 01, 2018 Last updated: May 27, 2020. – Режим доступу: https://software.intel.com/content/www/us/en/develop/download/intel-64-and-ia-32-architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4.html.
3. Таненбаум Э., Остин Т. Архитектура компьютера. 6-е изд. — СПб.: Питер, 2013. — 816 с.: ил.
4. Рудаков П.И., Финогенов К.Г. Программируем на языке ассемблера IBM РС - Изд. 2-е. - ОбНШiск: Издательство "Питер", 1997.-584 с., ИJDI.
Допоміжна література
Програмування 3. Системне програмування [Електронний ресурс]: методичні рекомендації до виконання лабораторних робіт для студентів кафедри Автоматики та управління у технічних системах заочної форми навчання / НТУУ «КПІ» ; уклад. П. Ю. Катін. – 2-ге вид., випр. і доп. – Електронні текстові дані (1 файл: 432 Кбайт). – Київ : НТУУ «КПІ», 2015. – 73 с. – Назва з екрана.
Архітектура комп'ютерів [Електронний ресурс] : методичні рекомендації до виконання лабораторних робіт для студентів кафедри Автоматики та управління у технічних системах заочної форми навчання / НТУУ «КПІ» ; уклад. П. Ю. Катін.
Тарарака В.Д. Т19 Архітектура комп'ютерних систем: навчальний посібник. – Житомир : ЖДТУ, 2018. – 383 с.
Сучасні напрямки комп’ютерної та мікропроцесорної техніки Розділ 1. Основні тенденції розвитку комп'ютерної і мікропроцесорної техніки. Розділ 2 Характеристики ARM і Cortex процесорів: конспект лекцій. [Електронний ресурс]: для студ. спеціальності 171 Електроніка, спеціалізації «Електронні компоненти та системи» /Т. О. Терещенко, Ю.С. Ямненко; КПІ ім. Ігоря Сікорського; уклад,– Електронні текстові данні 1 файл: 5,248 Мбайт). – Київ: КПІ ім. Ігоря Сікорського, 2020. – 68 с.
INTEL 80386 PROGRAMMER'S REFERENCE MANUAL/ NTEL CORPORATION. 1986. – 421 с.
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Лекційні заняття (36 годин)
№ з/п | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
1 | Тема 1. Основи архітектури і програмної моделі мікропроцесорів. |
Лекція 1. Загальні поняття про комп'ютерну архітектуру і програмну модель. 1. Основні комп'ютерної архітектури. 1.1 Принципи побудови машини Фон Неймана. 1.2 Архітекту́ра систе́ми кома́нд (instruction set architecture (ISA) системна архітектура). Набір машинних команд, перелік та семантика операцій; доступні регістри їх функціональне призначення, розрядність, кількість тощо; розрядність та формати операндів; способи адресації пам'яті, особливості обробки виняткових ситуацій; обробка переривань. 1.3 Основи мікроархітектури (microarchitecture) як спосіб реалізації системи команд процесора. 1.4 Системний дизайн (System Design) і узагальнена структурна схема комп'ютера. 2. Програмна модель (Basic Programming Model [5д]) 2.1 Організація пам'яті (Memory organization and segmentation). 2.2 Типи даних, що підтримуються процесором (Data types). Базовий набір регістрів. 2.3 Формат команд і операндів. Система адресації і програмне переривання. Література [5д, 1, 2, 3, 4] Лекція 2. Технологія розробки програми на асемблері [4] 1. Види асемблерів. 2. Зв'язок Асемблеру і архітектури комп'ютера. 3. Технологія розробки і налагодження програми з використанням Асемблера. 4. Практичний приклад програми з використанням програмного переривання. Завдання на СРС. Технологічний цикл розробки і налагодження програми з використанням Асемблера. Основні положення практичного використання переривання у програмуванні. Література [1, 2, 4] |
|
2 | Тема 2. Архітектура системи команд мікропроцесорів і структурна схема IBM PC сумісного персонального комп’ютера. |
Лекція 3. Архітектура системи команд мікропроцесорів І8086[4]. 1. Архітекту́ра систе́ми кома́нд (ISA) на прикладі мікропроцесора І8086. 1.1 Набір машинних команд, перелік та семантика операцій. 1.2 Доступні регістри їх функціональне призначення і характеристики. 1.3 Основи адресації пам'яті. Основи обробки апаратних і програмних переривань. 1.4 Зв'язок архітектури сучасних мікропроцесорів з архітектурою І8086. 1.5 Архітектури з повним набором команд - CISC (Complex Instruction Set Computer) і архітектури зі скороченим набором команд - RISC (Reduced Instruction Set Computer). 2. Основи управління відеосистемою комп'ютера. 2.1 Загальний розподіл пам'яті для КС на основі мікропроцесора І8086. 2.2 Відеопам'ять і доступ до неї. 2.3 Основи команди Асемблера і програмні шаблони для доступу до відеопам'яті. 3. Основні елементи типового шаблону вихідного коду Асемблера. 3.1 Описання у вихідному коді сегменту даних і сегменту коду. 3.2 Програмні переривання DOS і BIOS. Література [1, 2, 4, 1д] Лекція 4. Системний дизайн (System Design) і структурна схема IBM PC сумісного персонального комп’ютера 1. Узагальнена структурна схема комп'ютерної системи. 2. Система взаємодії мікропроцесора, оперативної пам'яті і периферії комп'ютера. 3. Альтернативний приклад на основі мікроконтролера архітектури ARM. Завдання на СРС. Технологічний цикл розробки і налагодження програми для доступу до відеопам'яті. Основні положення практичного використання переривання у програмуванні. Класифікація команд Асемблера. Команди управління ходом програми та їх типові шаблони. Література [1, 2, 4] |
|
3 | Тема 3. Основи мікроархитектури мікропроцесорів і організація пам'яті комп'ютерних систем. |
Лекція 5. Організація пам'яті комп'ютерних систем. 1. Програмна модель 32 розрядних мікропроцесорів архітектури ІА-32. 1.1 Організація пам'яті у захищеному і реальному режимах роботи [5]. 1.2 Типи даних архітектури ІА-32. 1.3 Базовий набір регістрів архітектури ІА-32. Системні регістри архітектури ІА-32. 1.4 Формат команд і операндів. 1.5 Відмінність системи адресації, програмних і апаратних переривань у реальному і захищеному режимах роботи 2. Адресація пам'яті 2.1 Види адресації у реальному режимі. 2.1 Особливості адресації у захищеному режимі. Література [1-4] Лекція 6. Апаратна частина комп'ютерів на базі мікропроцесорів ІА-32. 1. Системна плата для мікропроцесорів архітектури ІА-32. 1.1 Загальний опис системної плати для архітектури ІА-32. 1.2 Процес завантаження операційної системи комп'ютера і перехід між режимами роботи. 1.3 Основи мікроархітектури. 2. Види пам'яті у комп'ютері. 2.1 Основна пам'ять системної плати. Актуальні типи пам'яті для системної платі. 2.2 Жорсткі диски та їх інтерфейси. 2.3 Базова система вводу-виводу (BIOS). Актуальні типи BIOS. 3. Периферійні пристрої комп'ютера. Література [1-4] Завдання на СРС. Види пам'яті у комп'ютері. Технічні характеристики. Арифметичні і логічні команди Асемблера. Практичне використання адресації операндів під час розробки програм на Асемблері. |
|
4 | Тема 4. Стек і система переривань у архітектурі комп'ютерних систем. |
Лекція 7. Стек у комп'ютерних системах. 1. Стек у реальному режимі роботи і архітектурі І8086. 1.1 Організація стеку у архітектурі комп'ютера. 1.2 Регістри мікропроцесорів для управління стеком. 2. Стек у захищеному режимі роботи мікропроцесорів. 2.1 Особливості роботи стеку у захищеному режимі роботи. 2.2 Стек процесу. Література [1, 2, 4, 1д] Лекція 8. Система апаратних і програмних переривань у комп'ютерних системах. 1. Апаратні переривання у архітектурі І8086. 1.1 Види переривань. Масковані і немасковані переривання. 1.2 Апаратна частина обробки переривань комп'ютерної системи. 1.3 Програмне управління обробкою переривань комп'ютерної системи. 2. Основи системи обробки переривань у захищеному режимі роботи. Література [1, 2, 4, 1д] Завдання на СРС. Вплив команд Асемблера на регістр прапорців. Теоретичні і практичні питання розробки асемблерної програми власного обробника переривань. |
|
5 | Тема 5. Периферійні пристрої комп'ютерів та їх програмне управління. |
Лекція 9. Апаратна реалізація периферійних пристроїв комп'ютерів 1. Перелік типових периферійних пристроїв комп'ютерів, описання та призначення. 2. Адресний простір для управління периферійними пристроями комп'ютерів. 3. Програмне управління периферійними пристроями. Література [1, 2, 3д, 5д] Лекція 10. Мережева складова сучасних комп'ютерів. 1. Основи мережевої складової комп'ютерів. 2. Тестування мережевої складової комп'ютера. 3. Основи організації мереж і базові протоколи для роботи комп'ютерної мережі. Завдання на СРС. Література [3] Теоретичні і практичні питання розробки програми управління периферійними пристроями. Технічні характеристики типових периферійних пристроїв комп'ютерів. |
|
6 | Тема 6. Тенденції розвитку сучасних мікропроцесорів і мікроконтролерів. |
Лекція 11. Архітектура AMD64 (Intel® 64) 1. Основи програмної моделі 64 розрядного мікропроцесора архітектури AMD64 (Intel® 64) [1,2]. 1.1 Організація пам'яті у захищеному режимі роботи .Типи даних архітектури. 1.2 Базовий набір регістрів архітектури. Системні регістри архітектури. 1.3 Формат команд і операндів. Відмінність системи адресації, програмних і апаратних переривань у реальному і захищеному режимах роботи. 2. Режими роботи мікропроцесорів архітектури AMD64 (Intel® 64). 2.1 Загальний опис режимів роботи архітектури AMD64 (Intel® 64). 2.2 Перехід між режимами роботи у мікропроцесорах. 3. Адресація у захищеному режимі Лекція 12. Основи системного дизайну сучасних комп'ютерів 1. Типова структурна схема материнської плати. 2. Види пам'яті сучасного комп'ютера. 3. Типова периферія сучасного комп'ютера 4. Сторінкова адресація у захищеному режимі. Література [1, 2] Лекція 13. Основи архітектури ARM [5]. 1. Основи програмної моделі 64 розрядної архітектури мікропроцесорів ARM (Cortex-А). 1.1 Організація пам'яті. Типи даних архітектури. 1.2 Базовий набір регістрів архітектури. Системні регістри архітектури. 1.3 Формат команд і операндів. Відмінність системи адресації, програмних і апаратних переривань у різних режимах роботи. 2. Основи архітекту́ри систе́ми кома́нд ARM. 3. Основи мікроархитектури ARM. Література [5] Лекція 14. Комп'ютерні системи на базі архітектури ARM. 1. Особливості системного дизайну архітектури ARM. 2. Периферійні пристрої комп'ютерної системи на основі ARM. 3. Структурна схема архітектури комп'ютерної системи на основі ARM. Література [5] Завдання на СРС. Відмінності програмної моделі архітектури AMD64 (Intel® 64) та ARM64. Технічні характеристики сучасних мікроконтролерів архітектури ARM64. Технічні характеристики сучасних комп'ютерів на базі архітектури ARM64. |
|
7 | Тема 7. Архітектурні складові мікропроцесорів для забезпечення багатопотоковості. |
Лекція 15. Програмне управління переходами між режимами роботи мікропроцесора. 1. Системні регістри архітектури ІА-32 та AMD64 (Intel® 64). 2. Організація багатопотоковості у сучасних операційних системах. 3. Програмний приклад для забезпечення багатопотоковості у операційних системах. Література [1,2] Лекція 16. Програмне управління режимами роботи процесорів архітектури ІА-32 та AMD64 (Intel® 64). 1. Базові кроки для переходу у захищений режим роботи мікропроцесорів ІА-32 та AMD64 (Intel® 64). 2. Адресація у захищеному режимі архітектури ІА-32 та AMD64 (Intel® 64). Література [1,2] Завдання на СРС. Теоретичні і практичні питання розробки асемблерної програми для переходу у захищений режим роботи процесора. |
|
8 | Тема 8. Архітектура суперкомп'ютерів на прикладі кластерних систем. |
Лекція 17. Архітектура суперкомп'ютерів на прикладі кластерних систем [4д]. 1. Тенденції розвитку суперкомп'ютерної техніки. 2. Загальні принципи апаратної і програмної частин кластерних систем. 3. Практичні приклади кластерних систем. Література [4д] Лекція 18. Тенденції розвитку сучасних комп'ютерних систем [4д]. 1. Загальна структура і принципи нейрокомп'ютерів. 2. Відмінності архітектури фон Неймана та нейронних систем. 3. Оптичні комп'ютери. Література [4д] Завдання на СРС. Структурна схема кластерного суперкомп'ютера. Особливості архітектури і системного дизайну складових частин суперкомп'ютера. Програмне забезпечення суперкомп'ютера. |
Лабораторні заняття (36)
№ | Назва лабораторної роботи | Кількість ауд. годин |
1 | Лабораторна робота 1. ТЕХНОЛОГІЯ РОЗРОБКИ ПРОГРАМ У АРХІТЕКТУРІ ІА32 (Х86) REAL ADRESS MODE | 4 |
2 | Лабораторна робота 2. ПРЯМИЙ ДОСТУП ДО ВІДЕОПАМ’ЯТІ АРХІТЕКТУРІ ІА-32 (Х86) У REAL ADRESS MODE | 4 |
3 | Лабораторна робота 3. ДОСЛІДЖЕННЯ МЕХАНІЗМІВ АДРЕСАЦІЇ АРХІТЕКТУРІ ІА-32 (Х86) У REAL ADRESS MODE |
4 |
4 | Лабораторна робота 4. ДОСЛІДЖЕННЯ РОБОТИ СТЕКУ АРХІТЕКТУРІ ІА-32 (Х86) У REAL ADRESS MODE |
4 |
5 | Лабораторна робота 5. УПРАВЛІННЯ ХОДОМ ВИКОНАННЯ ПРОГРАМИ НА АСЕМБЛЕРІ АРХІТЕКТУРІ ІА-32 (Х86) У REAL ADRESS MODE | 4 |
6 | Лабораторна робота 6. СИСТЕМА ОБРОБКИ ПЕРЕРИВАНЬ АРХІТЕКТУРІ ІА-32 (Х86) У REAL ADRESS MODE | 4 |
7 | Лабораторна робота 7. ПІДПРОГРАМИ АРХІТЕКТУРИ ІА-32 (Х86) У REAL ADRESS MODE | 4 |
8 | Лабораторна робота 8.ПРОТОТИП ПРОГРАМИ ДЛЯ BIOS ІА-32 | 8 |
Лабораторні заняття підвищеної складності
№ | Назва лабораторної роботи | Кількість ауд. годин |
1 | Лабораторна робота 7*. РОЗРОБКА ПРОГРАМИ У АРХІТЕКТУРИ ІА32 для переходу з REAL ADRESS MODE до protected mode. | 4 |
2 | Лабораторна робота 8*. РОЗРОБКА ПРОГРАМ У АРХІТЕКТУРИ ІА32 ДЛЯ РОБОТИ З ЧИСЛАМИ З ПЛАВАЮЧОЮ КОМОЮ | 4 |
3 | Лабораторна робота 9*. РОЗРОБКА ПРОТОТИПУ ЯДРА ОПЕРАЦІЙНОЇ СИСТЕМИ ДЛЯ АРХІТЕКТУРІ ІА-32 (Х86) | 8 |
6. Самостійна робота студента/аспіранта (93 години)
№ з/п | Назва теми, що виноситься на самостійне опрацювання | Кількість годин СРС |
1 | Тема 1. Основи архітектури і програмної моделі мікропроцесорів. Технологічний цикл розробки і налагодження програми з використанням Асемблера. Основні положення практичного використання переривання у програмуванні. |
12 |
2 | Тема 2. Архітектура системи команд мікропроцесорів і структурна схема IBM PC сумісного персонального комп’ютера. Технологічний цикл розробки і налагодження програми для доступу до відеопам'яті. Основні положення практичного використання переривання у програмуванні. Класифікація команд Асемблера. Команди управління ходом програми та їх типові шаблони. |
11 |
3 | Тема 3. Основи мікроархитектури мікропроцесорів і організація пам'яті комп'ютерних систем. Види пам'яті у комп'ютері. Технічні характеристики. Арифметичні і логічні команди Асемблера. Практичне використання адресації операндів під час розробки програм на Асемблері. |
10 |
4 | Тема 4. Стек і система переривань у архітектурі комп'ютерних систем. Завдання на СРС. Вплив команд Асемблера на регістр прапорців. Теоретичні і практичні питання розробки асемблерної програми власного обробника переривань. |
10 |
5 | Тема 5. Периферійні пристрої комп'ютерів та їх програмне управління. Теоретичні і практичні питання розробки програми управління периферійними пристроями. Технічні характеристики типових периферійних пристроїв комп'ютерів. |
10 |
6 | Тема 6. Тенденції розвитку сучасних мікропроцесорів і мікроконтролерів. Відмінності програмної моделі архітектури AMD64 (Intel® 64) та ARM64. Технічні характеристики сучасних мікроконтролерів архітектури ARM64. Технічні характеристики сучасних комп'ютерів на базі архітектури ARM64. |
10 |
7 | Тема 7. Архітектурні складові мікропроцесорів для забезпечення багатопотоковості. Теоретичні і практичні питання розробки асемблерної програми для переходу у захищений режим роботи процесора. |
15 |
8 | Тема 8. Архітектура суперкомп'ютерів на прикладі кластерних систем. Структурна схема кластерного суперкомп'ютера. Особливості архітектури і системного дизайну складових частин суперкомп'ютера. Програмне забезпечення суперкомп'ютера. |
10 |
Політика та контроль
7. Політика навчальної дисципліни (освітнього компонента)
Система вимог, які ставляться перед студентом:
відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;
на лекції викладач користується власним презентаційним матеріалом; відпрацьовує практичну частину на віртуальній машині;
на лекції дуже доцільно стимулювати студентів задавати питання викладачу, при цьому не допускати дезорганізації заняття, допомагає у організації староста або його заступник;
лабораторні роботи захищаються у два етапи – перший етап: студенти виконують завдання на допуск до захисту лабораторної роботи; другий етап – захист лабораторної роботи. Бали за лабораторну роботу враховуються лише за наявності електронного звіту;
модульні контрольні роботи пишуться на лекційних заняттях із застосуванням всіх доступних матеріалів;
заохочувальні бали виставляються за: активну участь на лекціях; участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць; презентацій по одній із тем СРС дисципліни тощо. Кількість заохочуваних балів на більше 10;
штрафні бали виставляються за: невчасну здачу лабораторної роботи. Кількість штрафних балів на більше 10.
8. Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Рейтинг студента з дисципліни складається з балів, що він отримує за:
екзамен;
виконання та захист 8 лабораторних робіт;
виконання 2 модульних контрольних робіт (МКР);
заохочувальні та штрафні бали.
Система рейтингових балів та критерії оцінювання
Модульні контрольні роботи:
«відмінно» – повна відповідь (не менше 90% потрібної інформації) – 5 балів, вміння користуватися знаннями для практичного програмування на Асемблері, вміння вирішити завдання у декілька варіантів, визначити перевагу і недоліки різних варіантів рішення, вміння читати і використовувати шаблонний вихідний код Асемблеру для рішення завдання, розробляти власні шаблони і нестандартні рішення;
«добре» – достатньо повна відповідь (не менше 75% потрібної інформації) або повна відповідь з незначними недоліками – 4-2,5 балів; вміння користуватися вихідним кодом та знаннями з архітектури для практичного програмування на Асемблері, рішення у одному з варіантів, вміння читати і використовувати шаблонний вихідний код Асемблеру для рішення завдання;
«задовільно» – неповна відповідь (не менше 60% потрібної інформації) та незначні помилки – 2 , знання технології практичного програмування на Асемблері, вміння читати і використовувати вихідний код для рішення завдання;
«незадовільно» – відповідь не відповідає вимогам до «задовільно» – менш ніж 2 бала, відсутність практичних навичок програмування.
Дозволяється об'єднувати дві модульні контрольні роботи у одну, оцінка у такому випадку збільшуються у двічі.
Лабораторні роботи:
«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 5 балів, навички практичного програмування на Асемблері, вміння вирішити завдання у декілька варіантів, визначити перевагу і недоліки різних варіантів рішення;
«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 4/3 бали, навички практичного програмування на Асемблері, вміння вирішити завдання;
«задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином електронний протокол до лабораторної роботи – 2/1 бал, знання технології практичного програмування на Асемблері;
«незадовільно», незадовільна відповідь та/або не оформлений належним чином електронний протокол до лабораторної роботи – 0 балів, відсутність практичних навичок.
За кожне заняття запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал, за рішенням викладача.
Викладач, що веде лабораторні роботи може внести свою корекцію у оцінку ЛР.
За лабораторні роботи не більше 40 балів.
Заохочувальні бали
– за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо); за активну роботу на лекції (питання, доповнення, зауваження за темою лекції, коли лектор пропонує студентам задати свої питання) 1-2 бали, але в сумі не більше 10;
– презентації по СРС – від 1 до 5 балів.
За результатами 13 тижнів навчання максимально можлива кількість балів – 25 балів (4 лабораторні, МКР-1). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 16 балів.
Максимальна сума вагових балів контрольних заходів протягом семестру складає:
RD = 8*rлаб+2*rмкр+ (rз - rш)=8*5+2*5+ (rз - rш)=50 + (rз - rш),
де rлаб – бал за лабораторну роботу (0…5);
rмкр – бал за написання МКР (0…5);
rз – заохочувальні бали за активну участь на лекціях, презентації, участь в олімпіадах, конкурсі роботи, наукові роботи за тематикою дисципліни (0…10);
rзш – штрафні бали.
Екзамен:
Студенти, які виконали всі умови допуску до екзамену (не мають заборгованостей з лабораторних робіт, наявні усі електронні звіти) та набрали протягом семестру необхідну кількість балів, виходять на екзамен.
На екзамені студенти виконують письмову контрольну роботу. Білет містить 2 теоретичних питання і 3 практичних. Перелік питань наведений у методичних рекомендаціях до засвоєння кредитного модуля. Кожне питання оцінюється у 10 балів.
Можливі додаткові питання. Додаткові питання оцінюються у 10 балів.
Разом за екзамен максимальна кількість - 50 балів.
Система оцінювання питань:
«відмінно», повна відповідь, не менше 90% потрібної інформації, що виконана згідно з вимогами до рівня «умінь», (повне, безпомилкове розв’язування завдання) – 9-10 балів;
«добре», достатньо повна відповідь, не менше 75% потрібної інформації, що виконана згідно з вимогами до рівня «умінь або є незначні неточності (повне розв’язування завдання з незначними неточностями) – 7-8 балів;
«задовільно», неповна відповідь, не менше 60% потрібної інформації, що виконана згідно з вимогами до «стереотипного» рівня та деякі помилки (завдання виконане з певними недоліками) – 5-6 бали;
«незадовільно», відповідь не відповідає умовам до «задовільно» – 0-4 балів.
Сума стартових балів та балів за екзаменаційну контрольну роботу переводиться до екзаменаційної оцінки згідно з таблицею:
Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів | Оцінка |
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
9. Додаткова інформація з дисципліни (освітнього компонента)
перелік теоретичних питань, які виносяться на семестровий контроль наведено у Додатку 1;
вид практичних завдань у Додатку 2.
Робочу програму навчальної дисципліни (Силабус):
Складено доцент, к.т.н., Катін Павло Юрійович
Ухвалено кафедрою АУТС (протокол № 1 від 27.08.2020 р.)
Погоджено Методичною комісією факультету[1] (протокол № 1 від 02.09.2020 р.)
Додаток 1
Перелік основних теоретичних питань на екзамен
1. Опишіть принципи мікропрограмного керування.
2. Основи двійкової системи числення, системи числення з основою 16, побітові логічні операції, види кодування у обчислювальних машинах.
3. Опишіть принципи побудови машини Фон Неймана.
4. Структурна схема типової комп’ютерної системи.
5. Загальна організація пам'яті комп’ютерної системи, види пам'яті.
6. Розкрийте термін Архітекту́ра систе́ми кома́нд.
7. Розкрийте термін Програмна модель
8. Опишіть периферійні пристрої комп’ютерної системи.
9. Розкрийте етапи створення програми з використанням асемблеру tasm або іншого асемблеру, що вивчається.
10. Розкрийте основну відмінність високорівневих мов програмування і асемблера у контексті зв'язку з архітектурою комп'ютера.
11. Опишіть технологію створення комп'ютерної програми на Асемблері.
12. Як архітектурні елементи комп’ютерної системи зв'язані з кодом Асемблера.
13. Опишіть технологію асемблювання вихідного коду, які процеси відбуваються і які файли утворюються.
14. Напишіть прапори команди tasm для асемблювання вихідного коду. Які можливості вони надають.
15. Що відбувається на етапі асемблювання вихідного коду. Які команди викликаються (на прикладі TASM), які їх параметри?
16. Що відбувається на етапі компонування програми (TLINK ). Які команди використовуються у командному рядку і які їх параметри?
17. Яку команду треба набрати для виклику Turbo Debugger (TD). Що відображається на робочому вікні TD, як дослідити дамп пам'яті?
18. Опишіть спрощену структуру системної плати комп’ютерів і вкажіть призначення основних пристроїв, які входять до їх складу.
19. Які шини комп’ютерів ви знаєте? Опишіть їх призначення.
20. Опишіть загальну архітектуру мікропроцесора 8086.
21. Опишіть типи, призначення регістрів і організацію пам’яті мікропроцесора 8086.
22. На які групи можна розділити систему команд мікропроцесора 8086? Наведіть приклади команд із кожної групи.
23. Наведіть приклади виконання команд, які впливають на окремі прапорці умов (СF, OF, PF, SF, ZF, AF).
24. Опішить команди передачі даних Асемблера мікропроцесора 8086, користуючись довідковою таблицею. Операція, операнди, прапорці на які впливає команда. Наведіть приклади.
25. Опішить арифметичні і логічні команди Асемблера мікропроцесора 8086, користуючись довідковою таблицею. Операція, операнди, прапорці на які впливає команда. Наведіть приклади.
26. Опішить команди Асемблера мікропроцесора 8086 для управління ходом виконання програми, користуючись довідковою таблицею.
27. Опішить команди Асемблера мікропроцесора 8086 для процедур і переривань.
28. Наведіть приклад реалізації програмного розгалуження, організації програмного циклу з використанням Асемблеру.
29. Перелічить регістри загального призначення архітектури Intel 8086. Призначення регістрів, особливості. Розкрийте поняття розрядності регістрів.
30. Перелічіть сегментні регістри архітектури Intel 8086. Яка розрядність сегментних регістрів?
31.Оперативна пам'ять, адреса і зміст за адресою. Як здійснюється сегментація пам’яті 8086, навіщо розроблений цей механізм?
32. Що таке логічна адреса, адреса початку сегменту, зміщення у сегменті, фізична адреси операнду. Як визначається фізична адреса операнду?
33. Призначення сегменту даних, сегменту стеку, сегменту коду. Синтаксис їх опису у Асемблері. Як можна визначити адресу початку сегментів з використанням TD? Поясніть на прикладі коду.
34. Синтаксис описання змінної, чисельного масиву, масиву символів у Асемблері. Як визначити фізичну адресу змінної, початку масиву?
35. Опишіть загальну схему роботи “переривання” у архітектурі комп'ютера. Які види переривань ви знаєте?
36. Поняття програмного переривання, переривання DOS i BIOS, як використовується це переривання. Поясніть на прикладі коду, користуючись довідковою літературою.
37. Поняття апаратного переривання. Масковані і немасковані переривання. Опишіть процес переривання мікропроцесора 8086, користуючись структурною схемою.
38. Яке призначення контролера переривань, як здійснюється програмне управління контролером?
39. Що таке таблиця векторів переривань, у якій ділянці пам'яті вона знаходиться?
40. Що таке функція обробки переривань і як вона зв'язана з вектором переривань?
41. Як програмно визначається ефективна адреса змінної (початку масиву)?
42. Пряма адресація. Синтаксис, використання. Поясніть на прикладі коду.
43. Регістрова адресація. Синтаксис, використання. Поясніть на прикладі коду.
44. Індексна адресація. Синтаксис, використання. Поясніть на прикладі коду.
45. Базова адресація з ВХ. Синтаксис, використання. Поясніть на прикладі коду.
46. Базова адресація з ВР. Синтаксис, використання. Поясніть на прикладі коду.
47. Базово-індексна адресація. Синтаксис, використання. Поясніть на прикладі коду.
48. Базово-індексна адресація зі зміщенням. Синтаксис, використання. Поясніть на прикладі коду.
49. Адресація стекова. Синтаксис, використання. Поясніть на прикладі коду.
50. Що таке порти введення-виведення, як забезпечується програмний доступ до них у мікропроцесорі 8086?
51. Яку кількість портів введення-виведення підтримує мікропроцесор 8086? Як використати Асемблер для управління зовнішніми пристроями через порти вводу-виводу.
52. Опишіть способи використання масочних операцій з командами IN та OUT для управління окремими бітами.
53. Які інтерфейси комп’ютерної систем актуальні на теперішній час? Опишіть їх призначення і назву.
54. Які команди Асемблера 8086 використовуються для програмування процедур?
55. Які передаються параметри процедур Асемблера 8086?
56. Як реалізуються цикли у програмах на Асемблері Intel 8086? Поясніть на прикладі коду.
57. Як відбувається програмний доступ до периферійних пристроїв комп’ютерної системи?
58. Яку функцію виконує системна шина?
59. Назвіть призначення та склад системної плати.
60. Яку функцію виконує Northern Bridge (Північний міст), Southern Bridge (Південний міст)? Як змінений системний дизайн у сучасних комп'ютерах.
62. Опишіть механізм конвеєрної обробки команд у процесорі.
63. Дайте поняття суперскалярної архітектури процесора.
64. Дайте характеристику периферійної шини USB.
65. Опишіть типи, призначення регістрів і організацію пам’яті мікропроцесора 8086.
67. Перелічить особливі функції регістрів загального призначення архітектури Intel 8086.
68. Перелічіть сегментні регістри архітектури Intel 8086. Призначення регістрів, особливості?
69. Як здійснюється сегментація пам’яті 8086, що дозволяє покращити цей механізм?
70. Опишіть типи, призначення регістрів і організацію пам’яті мікропроцесорів архітектури ІА-32.
71. Перелічить регістри загального призначення мікропроцесорів архітектури ІА-32. Призначення регістрів, особливості. Розкрийте поняття розрядності регістрів.
72. Перелічіть сегментні регістри архітектури ІА-32. Розкрийте поняття розрядності регістрів. Що зберігається у цих регістрах під час виконання програми.
73. Перелічить системні регістри мікропроцесорів архітектури ІА-32. Призначення регістрів, особливості.
74. Як здійснюється адресація у мікропроцесорах архітектури ІА-32 у реальному режимі і захищеному режимі, навіщо розроблений цей механізм?
75. Опишіть типи, призначення регістрів і організацію пам’яті мікропроцесорів архітектури AMD64 (Intel® 64).
76. Перелічить регістри загального призначення мікропроцесорів архітектури AMD64 (Intel® 64). Призначення регістрів, особливості.
77. Перелічіть сегментні регістри архітектури AMD64 (Intel® 64). Що зберігається у цих регістрах у архітектурі AMD64 (Intel® 64).
78. Перелічить системні регістри мікропроцесорів архітектури AMD64 (Intel® 64).. Призначення регістрів, особливості.
79. Як здійснюється адресація у мікропроцесорах архітектури AMD64 (Intel® 64). у реальному режимі і захищеному режимі, навіщо розроблений цей механізм?
80. Опишіть типи, призначення регістрів і організацію пам’яті мікропроцесорів архітектури ARM64.
Додаток 2
Перелік практичних завдань на екзамен
1. Перетворити десяткові числа у двійкові числа.
2. Перетворити двійкові числа у числа з основою 16; зробити перетворення чисел з основою 16 у двійкові числа.
3. Визначити фізичну адресу за даними сегментних регістрів і зміщення у цих сегментах, результати запишіть у двійковій системі числення і системі числення з основою 16.
4. Показати етапи створення програми з використанням Асемблера на прикладі, що вивчається, пояснити (коментувати) відповідний код Асемблера.
5. Показати етапи налагодження програми з використанням TD.
7. Розробити програму за окремим завданням, користуючись наданим шаблоном коду Асемблера.
8. Виконати арифметичні операції віднімання з використанням додаткового коду за окремим завданням.
9. Здійснити операції ручного асемблювання і дезасемблювання за окремим завданням, користуючись довідковою літературою.
10. Пояснити характеристики і налаштування комп’ютерної системи, користуючись BIOS.
11. Прочитати і пояснити наданий код Асемблера.
12. Користуючись засобами операційної системи показати налаштування мережі комп’ютерної системи.
[1] Методичною радою університету – для загальноуніверситетських дисциплін.