Лекция №5 Стандарты форматов данных. Обмен данными с внешними устройствами. Организация интерфейсов. План


) Обмен с опросом готовности устройства


Download 55.16 Kb.
bet10/14
Sana17.06.2023
Hajmi55.16 Kb.
#1549328
TuriЛекция
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
Лекция 5а

1) Обмен с опросом готовности устройства. Выполняя программу ввода-вывода, процессор, запустив в контроллере операцию, циклически читает регистр состояния контроллера, ожидая появления в соответствующем разряде регистра состояния признака готовности к обмену данными с процес-сором. При появлении этого признака в регистре состояния, процессор осу-ществляет обмен через регистр данных, с помощью команды OUT, осущест-вляет запись в регистр данных (при выводе на устройство), или выполняет чтение информации из регистра данных контроллера с помощью команды IN (при вводе с устройства). После чего запускает в контроллере следующую операцию и т. д.
2) Обмен по запросам на обслуживание устройства (запросам на мас-кируемое прерывание). При выполнении программы ввода-вывода, процессор, запустив на контроллере операцию продолжает выполнять другую полезную программу. Контроллер внешнего устройства, в случае полной готовности к обмену данными с процессором, выдает на соответствующую линию IRQ сиг-нал запроса на обслуживание (запрос на маскируемое прерывание). Процессор, через выполнение процедуры прерывания по сигналу IRQ, переходит на выполнение программы ввода/вывода для данного устройства. Эта программа осуществляет обмен данными через регистр данных контроллера и запускает в контроллере следующую операцию. Процессор возвращается к выполнению прерванной программы через выполнение команды IRET (возврат из прерывания), которой заканчивается программа ввода/вывода) и т. д.
Любой контроллер, получив от процессора (по командам OUT), через свои программно-доступные регистры команду, отрабатывает команду автономно, управляя внешним устройством через «малый» интерфейс между устройством и контроллером. Контроллер, отрабатывая принятую от процессора команду, пересылает во внешнее устройство команды, данные, и читает из устройства информацию о его состоянии и данные. Кроме того, контроллер может выполнять ряд вспомогательных аппаратных функций инициируемых аппаратными сигналами или записью управляющей информации в его программно-доступный регистр.
Как было сказано выше, возможны два способа организации прог-раммного обмена с внешними устройствами: «обмен с опросом готовности устройства» и обмен «по запросам на обслуживание устройства» (запросам на маскируемое прерывание). Различие этих способов программного обмена в способе определения готовности устройства к обмену данными.
Например, при обмене «с опросом готовности устройства» с матричным принтером, выполняя программу ввода-вывода, процессор, запустив в контроллере матричного принтера операцию вывода, циклически читает регистр состояния контроллера и ожидает появления (в соответствующем разряде регистра состояния) признака готовности к обмену данными с процессором. При появлении этого признака в регистре состояния, процессор, с помощью команды OUT, осуществляет запись в регистр данных контроллера принтера очередного байта информации для вывода на принтер, и запускает в контроллере принтера, записью команды в регистр управления, следующую операцию вывода и т. д.
При обмене с принтером «по запросам на обслуживание от устройства» (запросам на маскируемое прерывание), процессор, выполняя программу вывода, запустив в контроллере принтера операцию, не ожидает готовности контролера к обмену данными. Он продолжает выполнять полезную программу. Контроллер принтера, в случае полной готовности к обмену данными с процессором, выдает на соответствующую линию IRQ (например, для принтера - IRQ7) сигнал запроса на обслуживание, который поступает на вход контроллера прерываний (который находится в микросхеме «южного моста»). Контроллер прерываний выдает на вход INTR процессора активный сигнал, а процессор, через выполнение процедуры прерывания по сигналу INTR (в ее выполнении участвуют контроллер прерываний и контроллер шины), переходит на выполнение программы вывода для данного устройства. Эта программа осуществляет запись данных в регистр данных контроллера и запись команды в регистр управления, т. е. запускает в контроллере следующую операцию вывода. Процессор в конце программы обслуживания устройства выбирает и выполняет команду IRET (возврат из прерывания, которой заканчивается программа ввода/вывода), и возвращается к выполнению прерванной ранее программы и т. д.[1,2,8]

Download 55.16 Kb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling