
- •2.8. Література для подальшого читання 121
- •3.8. Короткий зміст розділу 128
- •4.7. Короткий зміст розділу 192
- •4.8. Література для подальшого читання 193
- •3.8. Короткий зміст розділу 128
- •4.7. Короткий зміст розділу 192
- •4.8. Література для подальшого читання 193
- •7Тередлм&сі/
- •Історичні аспекти розвитку комп'ютерів
- •Функції, структура та характеристики комп'ютера
- •Функції та основні функціональні вузли комп'ютера
- •Тенденції' зміни основних характеристик апаратних засобів комп'ютера
- •Оцінка продуктивності комп'ютера
- •1.2.3.1. Одиниці оцінки продуктивності
- •Організація зв'язків між функціональними вузлами комп'ютера
- •1.3 Л. Поняття архітектури комп'ютера
- •Архітектурні принципи Джона фон Неймана
- •Ненейманівські архітектури комп'ютерів
- •Типи сучасних комп'ютерів
- •Персональні комп'ютери
- •Багатотермінальні системи
- •Сервери
- •Великі універсальні комп'ютерні системи
- •Кластери і комп'ютерні системи
- •Суперкомп'ютери
- •Мікроконтролери
- •С Рис. 1.21. Зовнішній вигляд мікрокон- тролерсі ріс 18f8720 фірми Microchip пеціалізовані комп'ютери
- •Предмет та порядок розгляду матеріалу даної книги
- •Пристрій виконання елементарних операцій
- •V Зверху вниз Транзисторні схеми Знизу вверх
- •Підсумок розділу
- •Література для подальшого читання
- •Література до розділу і
- •Питання до розділу I
- •2Л. Позиційні системи числення
- •2.2. Двійкові, еісімкові та шістнадцяткоеі числа
- •Переведення чисел із системи числення з основою к у десяткову систему
- •Переведення чисел із десяткової системи у систему числення з основою к
- •Представлення чисел зі знаком
- •Прямий код
- •10 “ Обернений код
- •Доповняльний код
- •Формати даних
- •Способи представлення чисел
- •Числа з фіксованою комою
- •Числа із рухомою комою
- •Стандарт іеее-754
- •Кодування алфавітно-цифрової інформації
- •Двійково-кодовані десяткові числа
- •Розширений двійково-кодований десятковий код обміну ebcdic
- •2.6.4.3 Американський стандартний код інформаційного обміну ascii
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 2
- •Задачі до розділу 2
- •Кодування та виконання команд в комп’ютері
- •Кодування команди та програми
- •Порядок виконання команд
- •3.1.3. Виконання команд на рівні регістрів процесора
- •Типи операцій та команд
- •Класифікація команд за типами операцій
- •Команди обробки даних
- •Команди переміщення даних
- •Команди передачі керування
- •Команди переходу
- •Команди пропуску
- •Команди звернення до підпрограм
- •Принципи формування системи команд комп'ютера
- •Конвеєрне виконання команд
- •Формати команд комп’ютера
- •Класифікація архітектури комп’ютера за типом адресованої пам’яті
- •Порівняльний аналіз форматів команд
- •Способи адресації операндів
- •Пряма адресація
- •Непряма адресація
- •Способи адресації операндів на основі операції зміщення
- •Базова адресація
- •Індексна адресація
- •Сторінкова адресація
- •Неявна адресація
- •Стекова адресація
- •Широко використовується в мікропроцесорах і мікрокомп’ютерах. Принципи організації стекової адресації ілюструє рис. 3.33.
- •Вказівник стека Вказівник стека
- •При запису При зчитуванні
- •Вибір способів адресації операндів
- •Приклади форматів команд
- •Коп та кількість операндів
- •Тип адресації 1
- •Формати команд комп'ютерної системи ibm 370
- •Формати команд комп'ютера Cyber-70
- •Формати команд сучасного комп'ютера
- •Вплив технологи компілювання на систему команд комп’ютера
- •Архітектура системи команд комп'ютера
- •Класифікація архітектури комп'ютера за складом системи команд
- •Комп'ютери із складною та з простою системами команд
- •Особливості архітектури комп'ютера з простою системою команд
- •3.7А. Архітектура комп'ютера з доповненою системою команд
- •3.7.5. Комп'ютери зі спеціалізованою системою команд
- •Короткий зміст розділу
- •Література до розділу з
- •Процесор комп'ютера із складною системою команд
- •Одношинна структура процесора
- •Основні операції процесора
- •Запам'ятовування слова в пам'яті
- •Обмін даними між регістрами
- •4.1.2А. Виконання арифметичних і логічних операцій
- •Багатошинна структура процесора
- •Приклади виконання операцій е процесорі
- •Виконання операції додавання двох чисел
- •Виконання операції переходу
- •Особливості побудови процесора комп'ютера із складною системою команд
- •Процесор комп'ютера з простою системою команд
- •Базові принципи побудови процесора комп'ютера з простою системою команд
- •Взаємодія процесора з пам'яттю в комп'ютері з простою системою команд
- •4 Сигнали станів
- •Виконання команд в процесорі комп'ютера з простою системою команд
- •4.2 Аа. Фаза вибирання команди
- •Фаза декодування команди
- •4.2.43. Фаза виконання та формування ефективної адреси
- •4.2.4.4. Фаза звернення до пам'яті та завершення умовного переходу
- •4.2Л.5. Фаза зворотного запису
- •Конвеєрна структура процесора комп'ютера з простою системою команд
- •4.2.5.7. Конвеєрний процесор
- •Мікродії ярусів конвеєрного процесора
- •Суперконвеєрні процесори
- •Суперскалярні процесори
- •Процесор векторного комп'ютера
- •Класифікація архітектури комп'ютера за рівнем суміщення опрацювання команд та даних
- •Короткий зміст розділу
- •Література для подальшого читання
- •Питання до розділу 4
- •Структурні конфлікти
- •Конфлікти за даними
- •Типи конфліктів за даними
- •Читання з комірки X
- •Запис до комірки X
- •Призупинення виконання команди
- •Випереджувальне пересилання
- •Статична диспетчеризація послідовності команд у програмі під час компіляції
- •Динамічна диспетчеризація послідовності команд у програмі під час компіляції
- •Перейменування регістрів
- •Конфлікти керування
- •Типи конфліктів керування
- •Зниження втрат на вибірку команди, до якої здійснюється перехід
- •5.3.3.1. Введення буфера попередньої вибірки
- •5.З.З.З. Затримка переходу
- •Статичне передбачення переходу
- •5.3.3.5. Динамічне передбачення переходу
- •Передбачення
- •Передбачення
- •Передбачення
- •Передбачення
- •Передбачення
- •Покращена структура комп'ютера із спрощеною системою команд
- •Особливості запобігання конфліктам в суперскгшярних
- •Комп’ютери з довгим форматом команди
- •Комп’ютери з комбінованою архітектурою
- •Комп'ютери з явним паралелізмом виконання команд
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 5
- •5.12. Питання до розділу 5
- •Логічні операції
- •Операція заперечення
- •6.1.4. Виключне або
- •Операції зсуву
- •Логічні зсуви
- •Арифметичні зсуви
- •Циклічні зсуви
- •О Рис. 6.6. Циклічний зсув ліворуч та праворуч Циклічний зсув ліворуч Циклічний зсув праворуч перації відношення
- •Порівняння двійкових кодів на збіжність
- •Визначення старшинства двійкових кодів
- •Арифметичні операції
- •Додавання двійкових чисел без знаків
- •6.4.2С Додавання двійкових чисел із знаками
- •Віднімання двійкових чисел
- •Множення двійкових чисел
- •6Лл.2. Багатомісна операція додавання часткових добутків
- •6Лл.З. Множення двійкових чисел із знаками
- •Прискорене множення двійкових чисел за методом Бута
- •Ділення двійкових чисел
- •Арифметичні операції над двійковими числами у форматі з рухомою комою
- •Операції обчислення елементарних функцій
- •Розклад функції в ряд та використання ітеративних обчислень
- •Обчислення елементарних функцій методом "цифра за цифрою"
- •Табличний метод обчислення елементарних функцій
- •Таблично-алгоритмічний метод обчислення елементарних функцій
- •Операції перетворення даних
- •Перетворення даних із формату з фіксованою у формат з рухомою комою та навпаки
- •Перетворення даних з двійково-десяткового коду в двійковий та навпаки
- •Операції реорганізації масивів і визначення їх параметрів
- •Операції обробки символів та рядків символів
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 6
- •Питання до розділу 6
- •Функції арифметико-логічного пристрою
- •Способи обробки даних в арифмєтико-логічному пристрої
- •Елементарні операції арифметико-логічного пристрою
- •Складні операції арифметико-логічного пристрою
- •Використання графа алгоритму при побудові арифметико-логічного пристрою
- •Виконання складних операцій в арифметико-логічному
- •Структура арифметико-логічного пристрою
- •Типи операційних пристроїв
- •Табличний операційний пристрій
- •5Мв, що дещо проблематично, але також прийнятно для реалізації.
- •11 Великі витрати часу на запис обчислених значень у пзп.
- •Багатотактовий операційний пристрій
- •Однотактовий операційний пристрій
- •Конвеєрний операційний пристрій
- •Алгоритмічні операційні пристрої
- •Пристрої додавання і віднімання двійкових чисел з фіксованою комою
- •Пристрої множення двійкових чисел з фіксованою комою
- •Вагатотактовий пристрій множення двійкових чисел з молодших розрядів множника при нерухомому множеному з зсувом суми часткових добутків
- •7. 73.2.2. Вагатотактовий пристрій множення двійкових чисел з молодших розрядів при нерухомій сумі часткових добутків з зсувом множеного вліво
- •7.73.2.3. Багатотактовий пристрій множення двійкових чисел з старших розрядів при нерухомій сумі часткових добутків з зсувом множеного вправо
- •7. Т3.2.4. Багатотактоеий пристрій множення двійкових чисел з старших розрядів при нерухомому множеному з зсувом суми часткових добутків вліво
- •- Сума часткових добутків на і-му етапі, у(п. 1} - (п-і-і)-й розряд множника, п - кількість розрядів операндів без врахування знакового розряду.
- •Багатотактовий пристрій прискореного множення
- •Однотактові пристрої множення двійкових чисел з фіксованою комою
- •Конвеєрні пристрої множення двійкових чисел з фіксованою комою
- •7.13.3 Пристрої ділення двійкових чисел з фіксованою комою
- •Багатотактові пристрої ділення двійкових чисел з фіксованою комою
- •Однотактові та конвеєрні пристрої ділення двійкових чисел з фіксованою комою
- •7.13.4. Пристрої обчислення елементарних функцій методом "цифра за цифрою"
- •7. Т 3.4.2. Однотактовий та конвеєрний операційні пристрої обчислення елементарних функцій методом "цифра за цифрою"
- •Пристрої для виконання арифметичних операцій над числами
- •Т. Пристрої додавання і віднімання чисел з рухомою комою
- •Пристрої множення та ділення чисел з рухомою комою
- •Таблично-алгоритмічні операційні пристрої
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 7
- •Ф Розділ 8 ункції та методи побудови пристрою керування
- •Пристрій керування з жорсткою логікою
- •Структура пристрою керування з жорсткою логікою
- •Сигнали керування
- •Методи проектування пристрою керування з жорсткою логікою
- •Пристрій керування на основі таблиць станів
- •8.2.3.1. Абстрактні автомати
- •Мови опису функціонування автоматів
- •8.2.33. Структурний синтез цифрових автоматів
- •Побудова структурної схеми автомату.
- •Маючи наведені логічні рівняння, синтезується схема автомату, наведена на рис. 8.11.
- •Лінії зв’язків блок-схеми, які об’єднуються в одну лінію, перетворюються в к-вхо- дову логічну схему або, де к - кількість ліній, як це показано на рис. 8.12ь.
- •Пристрій керування на основі лічильників
- •Пристрій мікропрограмного керування
- •Організація роботи пристрою мікропрограмного керування
- •Організація мікропрограм в пам'яті мікрокоманд
- •Горизонтальне та вертикальне мікропрограмування
- •Порівняння пристроїв керування з жорсткою логікою та пристроїв мікропрограмного керування
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 8
- •Питання до розділу 8
- •Типи та характеристики пам'яті комп'ютера
- •Багаторівнева структура пам'яті комп'ютера
- •Типи пам'яті
- •Слово і
- •Порівняння
- •Основні характеристики пам'яті
- •9.2 Регістровий файл процесора
- •Типи регістрових файлів
- •Інтегрований багатопортовий регістровий файл
- •Розподілений регістровий файл
- •9.2.3.7. Кластерний розподілений регістровий файл
- •Розподілений регістровий файл з керованою комутацією
- •Розподілений регістровий файл з віконною організацією
- •Ієрархічний регістровий файл
- •Динамічна та статична організація збереження даних в регістрових файлах
- •Пам'ять з асоціативним доступом
- •Організація та типи пам’яті з асоціативним доступом
- •Пам'ять з повним паралельним асоціативним доступом
- •9.3.3. Пам'ять з неповним паралельним асоціативним доступом
- •9.3А. Пам'ять з послідовним асоціативним доступом
- •Пам'ять з частково асоціативним доступом
- •Основна пам'ять
- •Структура основної пам'яті
- •Нарощування розрядності основної пам'яті
- •9A3. Нарощування ємності основної пам'яті
- •9 А а. Розшарування пам'яті
- •Оперативний запам'ятовуючий пристрій
- •Вертикальні лінії
- •Постійний запам'ятовуючий пристрій
- •Організація роботи постійного запам'ятовуючого пристрою
- •Запрограмований при виготовленні постійний запам'ятовуючий пристрій
- •Одноразово запрограмований після виготовлення постійний запам'ятовуючий пристрій
- •Багаторазово програмований постійний запам'ятовуючий пристрій
- •Зовнішня пам'ять
- •Магнітні диски
- •Масиви магнітних дисків з надлииіковістю
- •Базовий тип дискових масивів йаю 0
- •9.7.2.2. Базовий тип дискових масивів raid 1
- •9.7.23. Базовий тип дискових масивів ядш 2
- •Базовий тип дискових масивів гіаю 4
- •Базовий тип дискових масивів ІїАю 5
- •Тип дискових масивів лаю 6
- •Тип дискових масивів иаю 7
- •Тип дискових масивів иаю 10
- •Оптична пам'ять
- •Постійна пам'ять на основі компакт дисків
- •12 Байт 4 байта 2046 байт і 288 байт і
- •74 Сектор 7 і 00 сектор
- •Магнітні стрічки
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 9
- •Питання до розділу 9
- •Ієрархічна організація пам'яті комп'ютера
- •Різниця між продуктивністю процесора та пам'яті
- •3.8. Короткий зміст розділу 128
- •4.7. Короткий зміст розділу 192
- •4.8. Література для подальшого читання 193
- •Принцип ієрархічної організації пам'яті
- •11 Чим більша ємність пам’яті, тим більший час доступу до неї та нижча вартість зберігання в ній одного біта інформації;
- •Ієрархічна пам'ять сучасного комп'ютера
- •Одиниці гб, сотні не, 0.0001-0.00001 центів/біт
- •Сотні кб. Десятки не, 0.5-0.1 центів/біт
- •Організація обміну інформацією між процесором і основною пам’яттю через кеш пам'ять
- •Кеш пам’ять в складі комп’ютера
- •Об’єднана кеш пам'ять більшої ємності
- •Порядок взаємодії процесора і основної пам'яті через кеш пам'ять
- •Забезпечення ідентичності вмісту блоків кеш пам'яті і основної пам'яті
- •Функція відображення
- •Типи функцій відображення
- •11 Її!иі їїгггггг£22233
- •Повністю асоціативне відображення
- •Пряме відображення
- •Частково-асоціативне відображення
- •Бітів адреси основної пам’яті.
- •Порядок заміщення блоків в кеш пам'яті з асоціативним відображенням
- •Підвищення ефективності кеш пам'яті
- •Організація обміну інформацією між основною та зовнішньою пам'яттю
- •Статичний та динамічний розподіл пам’яті
- •Розподіл основної пам'яті за допомогою базових адрес
- •Віртуальна пам'ять
- •Віртуальна адреса Перетворення віртуальних адрес у фізичні
- •Сторінкова організація пам'яті
- •Основні правила сторінкової організації пам'яті
- •Реалізація сторінкової організації пам'яті
- •Апаратна реалізація сторінкової таблиці
- •Сегментна організація віртуальної пам'яті
- •Граматичне
- •Захист пам'яті від несанкціонованих звернень
- •Задачі захисту пам'яті
- •Захист пам'яті за значеннями ключів
- •Кільцева схема захисту пам'яті
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 10
- •Питання до розділу 10
- •Під’єднання зовнішніх пристроїв до комп'ютера
- •Розпізнавання пристроїв введення-виведення
- •Методи керування введенням-виведенням
- •Програмно-кероване введення-виведення
- •Система переривання програм та організація введення- виведення за перериваннями
- •Функції системи переривання програм
- •Характеристики системи переривання програм
- •Вхід в переривальну програму
- •Пріоритетне обслуговування переривання
- •Організація повернення до перериваної програми
- •Введення-виведення під керуванням периферійних процесорів
- •Принципи введення-виведення під керуванням периферійних процесорів
- •Причини застосування каналів введення-виведення
- •Функції каналіє введення-виведення
- •Визначення типу операції введення-виведення. Тип операції введення-виведення задається кодом операції коп.
- •Визначення області пам’яті. Область пам'яті задається початковою адресою па і розміром області X, тобто кількістю слів, починаючи від початкового слова.
- •Організація переривання введення-виведення.
- •Керуюча інформація каналу введення-виведення
- •Команди введення-виведення
- •Мультиплексний та селекторний канали введення-виведення
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 11
- •Використання принципів паргілельної обробки інформації в архітектурі комп'ютера
- •10 Незалежних операційних пристроїв.
- •8 Конвеєрних операційних пристроїв;
- •Контролер пам'яті
- •Вибір кількості процесорів у багатопроцесорній системі
- •Багатопотокова обробка інформації
- •Класифікація паралельних комп'ютерних систем
- •Класиф'кація Шора
- •Класифікація Фліна
- •Типи архітектур систем окмд
- •Типи архітектур систем мкмд
- •Організація комп'ютерних систем із спільною пам'яттю
- •Типи комп'ютерних систем із спільною пам'яттю
- •Системи з однорідним доступом до пам'яті
- •Системи з неоднорідним доступом до пам'яті
- •Системи лише з кеш пам'яттю
- •Організація комп'ютерних систем із розподіленою пам’яттю
- •Комунікаційні мережі багатопроцесорних систем
- •Типи комунікаційних мереж
- •Основні характеристики комунікаційних мереж багатопроцесорних систем
- •Шинні динамічні комунікаційні мережі багатопроцесорних систем
- •Комутуючі динамічні комунікаційні мережі багатопроцесорних систем
- •Координатна мережа
- •Матрична одноярусна комутуюча мережа
- •Багатоярусні блокуючі комутуючі мережі
- •Багатоярусні неблокуючі комутуючі мережі з реконфігурацією
- •Багатоярусні нєблокуючі комутуючі мережі
- •Короткий зміст розділу
- •Література для подальшого читання
- •Література до розділу 12
- •Питання до розділу 12
- •Мельник а. О.
- •43010 М. Луцьк, пр. Волі, 27.
- •43010 М. Луцьк, пр. Волі, 27.
Комп'ютери з явним паралелізмом виконання команд
Як ми вже побачили з матеріалу даного розділу, планування порядку обчислень є досить важким завданням, яке доводиться вирішувати при проектуванні сучасного комп’ютера. У суперскалярній архітектурі для розпізнавання залежностей між командами застосовуються досить складні апаратні рішення (наприклад, в Р6 і наступних процесорах фірми Intel для цього використовується буфер перевпорядковування команд
Reorder Buffer). Проте розміри такого апаратного планувальника при збільшенні кількості функціональних пристроїв зростають в геометричній прогресії. Тому суперскалярні
проекти зупинилися на відмітці 5-6 оброблюваних за цикл команд. Навіть КДФК теж далеко не завжди можуть забезпечити повне заповненням в’язанок команд - реальне завантаження близько 6-7 команд в такті.
Вище зазначені проблеми призначена вирішувати нова архітектура із назвою EPIC (Explicitly Parallel Instruction Set Computing).
Класичний процесор, переважно, не спроможний визначити взаємовплив (залежності даних, керування і структури) поміж віддаленими командами первинного (поки що не розпаралеленого) потоку команд. Адже процесор аналізує лише той фрагмент потоку команд, що розташований безпосередньо у процесорному апаратному, тому і невеликому, буфері команд. З іншого боку, програма-компілятор виконуваного коду має значно ширше поле зору та практично необмежений час (ще до виконання програми процесором), аби наперед проаналізувати первинний програмний код на предмет виявлення вказаних вище залежностей та оптимізувати цей код під потрібну архітектуру В цілому, тут ми маємо ситуацію, коли бажано все, що можна, підготувати заздалегідь (зрозуміло, статично, під час компіляції), а не приймати складних апаратних динамічних рішень в реальному часі (при виконанні процесором вже остаточно скомпільованої програми, із притаманними швидкими рішеннями, помилками та з відповідними часовими витратами на їх виправлення).
Архітектура EPIC передбачає пряме розпаралелювання виконання програми, тобто компілятор мусить повідомляти процесор про те, яка частина коду може виконуватися паралельно. Оптимізований за попереднім означенням компілятор EPIC аналізує програмний код, аби визначати, де та коли відбудуться/не відбудуться умовні переходи та , знайти і позначити ті частини програмного коду, які можна виконувати паралельно.
Прикладом процесора з архітектурою EPIC є процесор ІА-64 фірми Intel. В цьому процесорі команди, як і в архітектурі КДСК, пакуються компілятором в 128-розрядні в’язанки команд. Кожна в’язанка команд процесора ІА-64 містить три команди та шаблон, як це показано на рис. 5.30.
127 0
Команда
2
Команда
1
Команда
0
Шаблон
Рис.
5.30. В'язанка команд процесора ІА-64
В шаблоні вказується залежність між командами в одній в’язанці та між в’язанками, тобто вона вказує, чи можна одночасно виконувати i-ту (і= 0,1,2) команду в’язанки m одночасно з j-ю (j= 0,1,2) командою в’язанки п. Кожній в’язанці в процесорі виділяється три функціональних пристрої, тобто кожній команді виділяється один пристрій. Вміст поля шаблону встановлюється або при генеруванні коду компілятором, або безпосередньо системним програмістом, що пише мовою асемблер. Процес генерації коду виконують так, аби гарантовано позбутися конфліктів типу RAW, WAW в межах командної групи.
Кожна з трьох команд в’язанки має формат, приведений на рис. 5.31.
39 27 |
26 21 |
20 14 |
13 7 |
6 0 |
Код операції |
Предикат |
Рг операнда 1 |
Рг операнда 2 |
Рг результату |
До складу команди входять наступні поля: коду операції, предиката, номери регістрів двох операндів та регістра результату. Розрядності кожного поля вказані на рисунку.
Поле предиката вказує номер регістра предиката, яких в процесорі є 64. Предикація
це спосіб обробки умовних переходів. В процесорі ІА-64 виконуються обидві вітки переходу. Суть способу предикації полягає в наступному. Командам різних гілок одного умовного переходу виділяються різні регістри предиката. Ці команди виконуються на функціональних пристроях процесора, а їх результати записуються до пам’яті тільки після визначення вмісту регістрів предиката, тобто після обчислення умови переходу. Вмісту регістрів вітки переходу, якій відповідає умова переходу, присвоюється значення 1, а вмісту регістрів вітки переходу, якій не відповідає умова переходу, присвоюється значення 0. Процесор перевіряє вміст регістрів предикату і записує в пам’ять результати тільки тих команд, які вказують на регістри предикатів з одиничним вмістом.
Архітектура 1А-64 підвищує рівень паралельного виконання команд за рахунок того, що вона дозволяє на рівні мови асемблер прямо вказувати на паралелізм, реалізує в’язанки, кожна з яких містить три виконувані команди та містить множину надлишкових програмно-недосяжних регістрів, що дублюють операнди поточних команд, запобігаючи тим самим завчасному перезапису цих операндів.