- •Лабораторна робота №1 Тема: Розвиток комп'ютерної архітектури
- •Таблиця 1.1. Основні етапи розвитку комп'ютерів
- •Таблиця 1.2. Перші моделі серії івм-360
- •Лабораторна робота №2 Тема: Типова архітектура еом.
- •Таблиця 2.1. Інтерпретація команд перетворення з різною кількістю адрес в адресній частині
- •Лабораторна робота №3 Тема: Формати команд. Адресовий простір еом
- •Лабораторна робота №4 Тема: Етапи виконання команди. Типи і структура даних. Взаємодія основних пристроїв еом.
- •Лабораторна робота №5 Тема: Структури універсальних, функціонально-орієнтованих і спеціалізованих процесорів. Мікропроцесори
- •Таблиця 3.1. Еволюція мікропроцесорів фірми Intel. Вироби 1970-х років.
- •Таблиця 3.2. Еволюція мікропроцесорів фірми Intel. Вироби 1980-х років.
- •Таблиця 3.3. Еволюція мікропроцесорів фірми Intel. Вироби 1990-х років.
- •Лабораторна робота №6 Тема: Арифметико-логічні пристрої
- •Лабораторна робота №7 Тема: Принцип мікропрограмного управління. Реалізація різних етапів виконання команд
- •Таблиця 15.2 Мікрокоманди пристрою керування гіпотетичного процесора Уілкса
- •Лабораторна робота №8 Тема: Організація даних на магнітному диску. Внутрішня пам’ять
- •Таблиця 6.1. Характеристики пзпмд
- •Лабораторна робота №9 Тема: Ієрархічна структура пам'яті. Віртуальна пам’ять.
- •Таблиця 6.3. Основні функції api для керування віртуальною пам'яттю в системі Windows nt
- •Лабораторна робота №10
- •Листінг 7.1. Приклад програмованого вводу-виводу
- •Лабораторна робота № 12 Тема: Класи переривань
- •Лабораторна робота №12 Тема: Переривання. Дії апаратного та програмного забезпечення
- •Дії апаратного забезпечення:
- •Дії програмного забезпечення:
- •Лабораторна робота № 13 Тема: Фаза переривання основного циклу
- •Лабораторна робота №14 Тема: Організація прямого доступу до пам’яті
- •Лабораторна робота № 15 Тема: Арбітраж шини
- •Лабораторна робота № 16 Тема: Персональні еом, їх різновидності
- •Лабораторна робота № 17 Тема:Робота еом у мультипрограмному режимі
- •Лабораторна робота № 18 Тема:Системи колективного користування з розподілом та без розподілу часу. Системи реального часу
Лабораторна робота №14 Тема: Організація прямого доступу до пам’яті
У багатьох комп'ютерах сигнал переривання породжується шляхом логічного множення (І) біта дозволу переривань і біта готовності пристрою. Якщо програмне забезпечення спочатку дозволяє переривання (перед запуском пристрою вводу-виводу), переривання відбудеться відразу ж, оскільки біт готовності буде дорівнює 1. Таким чином, може знадобитися спочатку запустити пристрій, а потім відразу після цього ввести переривання. Запис байта в регістр стану пристрою не змінює біта готовності, що може тільки зчитуватися.
Ввід-вивід з керуванням по перериваннях — це великий крок вперед у порівнянні з програмувальним вводов-виводом, але усе-таки він далеко не досконалий. Справа в тім, що переривання потрібно для кожного переданого символу. Отже, потрібно якимсь чином позбутися від більшості переривань.
Рішення лежить у поверненні до програмувального вводу-виводу. Але тільки цю роботу повинний виконувати хтось інший. Подивіться на мал. 7.12. Ми додали нову мікросхему — контролер прямого доступу до пам'яті (ПДП) із прямим доступом до шини.
Мікросхема ПДП має принаймні 4 регістри. Усі вони можуть завантажуватися програмним забезпеченням, що працює на центральному процесорі. Перший регістр містить адреси пам'яті, які потрібно зчитати або записати. Другий регістр містить число, що показує кількість переданих байтів або слів. Третій регістр містить номер пристрою або адресу пристрою вводу-виводу, визначаючи, таким чином, який саме пристрій нам потрібен. Четвертий регістр повідомляє: повинні дані зчитуватися з пристрою чи записуватися на нього.
Щоб записати блок з 32 байтів з адреси пам'яті 100 на термінал (наприклад, пристрій 4), центральний процесор записує числа 32,100 і 4 у перші три регістри ПДП і код запису (наприклад, 1) у четвертий регістр, як показано на мал. 7.12. Контролер ПДП, ініціалізований таким чином, робить запит на доступ до шини, щоб зчитати байт 100 з пам'яті, точно так само як якби центральний процесор зчитував цей байт. Одержавши потрібний байт, контролер ПДП посилає пристрою 4 запит на ввід-вивід, щоб записати на нього байт. Після завершення цих двох операцій контролер ПДП збільшує значення регістра адреси на 1 і зменшує значення регістра лічильника на 1. Якщо значення лічильника більше 0, то наступний байт зчитується з пам'яті і записується на пристрій вводу-виводу.
Коли значення лічильника доходить до 0, контролер ПДП зупиняє передачу даних і встановлює лінію переривання на мікросхемі процесора. При наявності ПДП центральному процесору потрібно тільки ініціалізувати кілька регістрів. Після цього центральний процесор може виконувати яку-небудь іншу роботу доти, поки передача даних не завершиться. При завершенні передачі даних центральний процесор одержує сигнал переривання від контролера ПДП. Деякі контролери ПДП містять два, три і більше наборів регістрів, так що вони можуть керувати декількома процесами передачі одночасно.
Відзначимо, що якщо який-небудь високошвидкісний пристрій, наприклад диск, буде запускатися контролером ПДП, то буде потрібно дуже багато циклів шини і для звертань до пам'яті, і для звертань до пристрою. Під час цих циклів центральному процесору прийдеться чекати (ПДП завжди має пріоритет над центральним процесором на доступ до шини, оскільки пристрій вводу-виводу звичайно не допускає затримок). Процес відбору контролером ПДП циклів шини в центрального процесора називається захопленням циклу. Але виграш у тім, що не потрібно обробляти одне переривання при кожному переданому байті (слові), сильно переважує втрати, що відбуваються через захоплення циклів.
Контрольні питання:
Недолік вводу-виводу з керуванням по переданням.
Характеристика системи з контролером с ПДП.