Архітектура обчислювальних машин

- лекції – 30 год.
- лабораторні - 12 год.
- самостійна робота – 46 год.
- разом – 90 год.
- загалом - 3 кредити ECTS.
Актуальність дисципліни, практичне застосування
Метою курсу є розуміння особливостей архітектур сучасних обчислювальних систем; знання основних тенденцій розвитку та фундаментальні принципи роботи комп’ютерних систем; уміння розробляти тести параметрів обчислювальної системи, реалізувати нестандартну арифметику в обчислювальній системі.
Освоєння курсу повинно дозволити: порівняти архітектури процесорів та обчислювальних систем на базі їх, розробити тест для оцінки швидкодії обчислювальної системи, розробити модель асемблера для процесора з заданими параметрами; реалізувати будь-який кросплатформенний варіант машинної арифметики із заданими вимогами; працювати з низькорівневими командами введення/виведення та системою переривань масових процесорів.
Структура дисципліни
Під час вивчення 3-х модулей дисципліни, виконанні 3-х лабораторних робіт та опрацюванню тем для самостійного вивчення студент має отримати розуміння сучасного рівня комп’ютерних систем з наступних питань.
- 1. В першому блоці йтиметься про: поняття: архітектура, структура та схемотехніка ЕОМ, Абстакція функцій, даних. Аналогові та цифрові обчислення. Сучасна електронна елементна база та двійкова система числення. NRZ-сигнали. Необхідність у мікромінітюарізації процесорів. Закон Мура маштабування елементної складності обчислювальних систем. Зв’язок тактової частоти цифрового автомата та виділяємого ним тепла та схемотехнічні наслідки. Особливості сучасного техпроцесу великих інтегральних мікросхем та його вплив на архітектуру комп’ютерів. Принципи Фон Неймана (як парадигма сучасних ЕОМ). Наслідки з принципів Фон Неймана для архітектур обчислювальних систем та операційних систем. Аналіз обчислювальних систем з радіальною архітектурою. Архітектура із загальною магістраллю.
- 2. У другому блоці йтиметься про: зовнішні потоки даних, синхронізація подій, розрядність, слово процесора. Основний цикл процесора. Абстракцію команди, цикл обробки команди. Основний регістровий пул універсального процесора. Основний регістровий пул, розгортка у часі основного циклу процесора. Абстракцію команд, асемблери. Адресність команд на прикладах фрагментів коду. Типи команд. Адресацію оперативної пам’яті. Загальна проблематика в адресації. Абсолютна, лінійна та неявна базована адресація, явна базована та сегментна адресація. сторінкова організація пам’яті, віртуальна пам’ять. Режими адресації операндів в командах. Принцип арифметики з фіксованою точкою. Прямий код. Доповнюючий код, його представлення, геометрична інтерпретація, аномалії. Схема додавання та віднімання у доповнюючому коді чисел з фіксованою точкою. Логічні, циклічні та арифметичні зсуви, множення на 2n чисел з фіксованою точкою. Арифметика насичення. Числа з плаваючою точкою: характеристика, нормалізована мантиса. Стандарт IEEE 754. Особливості та аномалії чисел з плаваючою точкою. Особливості додавання та віднімання, множення та ділення. Правило округлення для чисел з плаваючою точкою. Конвеєр команд: етапи конвеєризації, оцінка ефективності, типи конфліктів. Методи конвеєризації умовних переходів. Методи мінімізації та усунення конфліктів по даним. Багатотактні команди та обходи структурних конфліктів. Проблема точної фіксації переривання. Суперскалярні та VLIW-архітектури.
- 3. У третьому блоці йтиметься про: загальний принцип підключення пристроїв введення/виведення. Рівні абстракцій введення/виведення. Варіанти реалізації введення/виведення. Адресація пристроїв введення/виведення. Рівень програмуємого введення/ви¬ведення. Рівень вво¬ду/виводу за перериваннями. Схеми фіксації переривань. Рівень вводу/ви¬воду з прямим доступом до пам’яті/пристроїв. Поняття системної магістралі. Мультимагістральні системи. Розмір магістралі. Реалізація сигнальних ліній. Магістралі із асинхронною синхронізацією. Магістралі із синхронною синхронізацією. Методи арбітражу в магістралях. Кеш-пам’ять. Основні поняття; вибір об’єму кешу та розміру блока, методи відображення оперативної пам’яті на кеш. Прямий, асоціативний та секційно-асоціативний методи відображення оперативної пам’яті на кеш. Методи заміни рядків в асоціативному та секційно-асоціативному методах відображення. Підтримка коректності відображення кеш-оперативна пам’ять. Особливості багатопроцесорної реалізації.