Головна

Архітектура введення-виведення

  1.  III. МИСТЕЦТВО ВІДРОДЖЕННЯ У ФРАНЦІЇ. Архітектура, скульптура, жівопісь.15 в.
  2.  Акумуляторна архітектура
  3.  архітектура
  4.  архітектура
  5.  архітектура
  6.  АРХІТЕКТУРА
  7.  архітектура

На рис. 4.2 зображена тимчасова діаграма переривань процесора, що виконує введення-виведення.

збільшити зображення

Мал. 4.2. Тимчасова діаграма переривань процесора при введенні-виведенні.

На діаграмі видно моменти зміни станів процесора і пристрої введення-виведення: переривання за запитом на введення-виведення, обробка цього переривання і пересилання інформації з пам'яті в буфер пристрої, виклик драйвера і контролера, закінчення обміну і переривання контролера, продовження обчислень.

Є два різновиди режиму введення-виведення - синхроннийи асинхронний.

синхроннийвведення-виведення - це введення-виведення, виконання якого призводить до переходу програми в стан очікування, до тих пір, поки операція введення-виведення не буде повністю завершена. На апаратному рівні - команда введення-виведення переводить процесор в стан очікування (idle) до наступного переривання. При цьому режимі в кожен момент виконується не більше одного запиту на введення-виведення; одночасне введення-виведення відсутня. Синхронний висновок виконують всім програмістам звичні оператори виду println (x). При їх використанні в програмах ми не замислюємося над тим, що використовуємо досить неефективний варіант синхронного вводу-виводу. Однак до сих пір мислення більшості програмістів - послідовне, в тому сенсі, що про свою програму вони мислять як про чисто послідовно виконується, і взагалі не думають про можливість будь-якого розпаралелювання. При налагодженні програми, або якщо розмір виведеної інформації невеликий, це зазвичай цілком допустимо.

Асинхронний ввід-висновок- Введення-виведення, що виконується паралельно з виконанням основної програми. Після того. як починається асинхронний ввід-висновок, управління повертається користувальницької програмі, без очікування завершення введення-виведення (останнє може бути виконано спеціальної явною операцією). Таким чином, операція асинхронного обміну хіба що розбивається на дві: почати введення-виведенняи закінчити введення-виведення. Остання виконується для того, щоб в цьому місці програма все ж чекала завершення обміну, коли його результат необхідний для подальших обчислень. Такий підхід до реалізації обміну більш важкий для розуміння програмістами і може привести до помилок (наприклад, використана тільки операція початку введення-виведення, а виклик операції його закінчення забутий).




 вступна лекція |  Компоненти комп'ютерної системи |  Класифікація комп'ютерних систем |  Класифікація комп'ютерних архітектур |  Функціонування комп'ютерної системи |  Визначення та призначення |  Управління процесами. |  Управління пам'яттю. |  Захист даних і адміністрування. |  Користувальницький інтерфейс. |

© um.co.ua - учбові матеріали та реферати