Програмний ввід/вивід (англ. Programmed input/output, PIO) — метод передачі даних між двома пристроями, що використовує процесор як частину маршруту даних.

Управління введенням/виведенням може бути реалізовано двома способами:

  • з використанням засобів процесора. Такий спосіб називається програмним,
  • з використанням спеціальних пристроїв керування (процесорів введення/виведення, пристроїв прямого доступу до пам'яті ПДП. Такий спосіб називається апаратним[1].

При програмному введенні/виведенні контролерами управляє процесор за допомогою програми (драйвера) введення/виводу. Програми цього типу враховують конструкцію контролера і використовуваного в обчислювальній системі процесора і зазвичай входять в базову систему програм управління введенням/виведенням на фізичному рівні (в РС — BIOS). Програми BIOS виконують роль інтерфейсу між програмами операційних систем і використовуваною апаратурою обчислювальної системи і забезпечують переносимість операційних систем між ЕОМ з однаковими процесорами.

При програмуванні процедур введення/виведення враховується адресація регістрів контролера пристроїв введення/виведення. Порти можуть бути відображені на загальний адресний простір оперативної пам'яті (адресація портів більшості архітектур процесорів) або на окремий номерний простір портів введення-виведення.

PIO режими в інтерфейсі ATA

ред.
Режим Бітова швидкість max Цикл min Стандарт
Mode 0 3.3 MB/s 600 ns ATA-1
Mode 1 5.2 MB/s 383 ns ATA-1
Mode 2 8.3 MB/s 240 ns ATA-1
Mode 3 11.1 MB/s 180 ns ATA-2
Mode 4 16.7 MB/s 120 ns ATA-2
Mode 5 20 MB/s 100 ns CompactFlash 2.0
Mode 6 25 MB/s 80 ns CompactFlash 2.0

Специфічні проблеми

ред.

На деяких комп'ютерах при автоматичному автовизначенні належного PIO Mode система не може завантажитися з CD-ROM, хоча CD-ROM чудово визначається. При цьому CD-ROM прекрасно працює з вже встановленою операційною системою, тому що в той момент використовується не вшитий в BIOS драйвер реального режиму процесора, а драйвер операційної системи, що завантажений з жорсткого диска і працює в захищеному режимі.

Рішенням проблеми є примусове виставлення PIO Mode 0.

При виявленні неполадок DVD/CD-приводу, помилок інтерфейсу (як правило при поганому контакті кабелів) операційна система Windows, переводить диск у режим PIO. При цьому характерні значні затримки в роботі системи, зависання і зникання доступу до диску.

Примітки

ред.
  1. Теоретические основы операций ввода/вывода(рос.). Архів оригіналу за 27 січня 2012. Процитовано 22 листопада 2013.

Див. також

ред.