Структура контролера пристрою
Контролери зовнішніх пристроїв дуже різні як за своєю внутрішньою будовою, так і за виконанням (від однієї мікросхеми до спеціалізованої обчислювальної системи зі своїм процесором, пам'яттю і т. Д.), Оскільки їм доводиться управляти абсолютно різними приладами. Не вдаючись в деталі цих відмінностей, ми виділимо деякі загальні риси контролерів, необхідні їм для взаємодії з обчислювальною системою. Зазвичай кожен контролер має, принаймні, чотири внутрішніх регістра, що називаються регістрами стану, управління, вхідних даних і вихідних даних. Для доступу до вмісту цих регістрів обчислювальна система може використовувати один або кілька портів, що не суттєво для нас. Для простоти викладу вважатимемо, що кожному регістру відповідає свій власний порт.
Регістр стану містить біти, значення яких визначається станом пристрої введення-виведення, і які доступні тільки для читання обчислювальної системою. Ці біти индицируют завершення виконання поточної команди на пристрої (біт зайнятості), наявність чергового даного в регістрі вихідних даних (біт готовності даних), виникнення помилки при виконанні команди (біт помилки) і т.д.
Регістр управління отримує дані, які записуються обчислювальної системою для ініціалізації пристрої введення-виведення або виконання чергової команди, а також зміни режиму роботи пристрою. Частина бітів в цьому регістрі може бути відведена під код виконуваної команди, частина бітів кодувати режим роботи пристрою, біт готовності команди свідчить про те, що можна приступити до її виконання.
Регістр вихідних даних служить для приміщення в нього даних для читання обчислювальної системою, а регістр вхідних даних призначений для приміщення в нього інформації, яка повинна бути виведена на пристрій. Зазвичай ємність цих регістрів не перевищує ширину лінії даних (а найчастіше менше її), хоча деякі контролери можуть використовувати в якості регістрів чергу FIFO для буферизації інформації, що надходить.
Зрозуміло, набір регістрів і складових їх бітів є приблизними, він покликаний послужити нам моделлю для опису процесу передачі інформації від обчислювальної системи до зовнішнього пристрою і назад, але в тому чи іншому вигляді він зазвичай присутній у всіх контролерах пристроїв.
А тепер розглянемо види контролерів вніешніх пристроїв докладніше.
Види контролерів зовнішніх пристроїв
