Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППУ_KP.doc
Скачиваний:
32
Добавлен:
26.08.2019
Размер:
134.66 Кб
Скачать

17

Дисциплина «Программирование периферийных устройств»

Лабораторная работа №1.

Исследование программно управляемого обмена по готовности внешнего устройства и работы с прерываниями

Цель работы: изучение принципов программно управляемого обмена по готовности внешних устройств на примере работы с контроллером клавиатуры и контроллером прерываний, а также реализация обработки прерываний без использования средств операционной системы.

1. Краткие теоретические положения

1.1. Состав рассматриваемой системы

В ходе лабораторной работы рассматривается система совместимая по архитектуре с системой Intel 8086. В ее состав входит центральный процессор, обеспечивающий выполнение программ. Центральный процессор имеет внешнюю шину к которой подключаются все периферийные устройства – контроллеры ввода-вывода, память, шинные контроллеры и т.д. Контроллер клавиатуры совместимый с Intel 8042, обеспечивающий обмен данными с устройством ввода “клавиатура” и их буферизацию. Контроллер прерываний, совместимый с контроллером Intel 8259.

Контроллер клавиатуры и контроллер прерываний располагаются в сокращенном адресном пространстве ввода-вывода периферийных устройств, что позволяет обращаться к ним с использованием команд работы портами ввода-вывода IN/OUT.

2.2. Режимы обмена с периферийными устройствами

Наиболее распространенными режимами обмена данными с периферийными устройствами являются:

  • Программный обмен по готовности (сканирование)

  • Обмен по прерываниям

  • Обмен с использованием DMA (Direct Memory Access) канала

В большинстве периферийных устройств существует три типа регистров: контрольные, для управления режимами работы; статусные – для определения состояния устройства и данных, для непосредственного обмена данными. Программно управляемый обмен состоит в опросе статусных регистров периферийного устройства и выявления состояния готовности к обмену данными. Чаще всего опрос осуществляется непосредственно в основном цикле программы постоянно или в соответствии с временной диаграммой, когда опрос происходит через фиксированные промежутки времени. При обнаружении сигнала готовности программа выполняет обмен данными через регистры данных. Этот способ является наиболее простым, поскольку позволяет иметь линейное построение программного обеспечения и отсутствие параллельных процессов. Но это также является и недостатком этого метода, поскольку затрудняется поддержка нескольких периферийных устройств критичных по времени реакции программной системы, и необходимость иметь поддержку данного вида устройств непосредственно в программе.

Второй способ – обмен по прерываниям, когда устройство формирует специальный сигнал, идущий после некоторой обработки на специальный вход процессора, и говорящий о том, что устройство готово к обмену и процессор должен прервать текущую программу, чтобы перейти к подпрограмме обмена. Достоинством этого метода является то, что существенно упрощается поддержка нескольких периферийных устройств, а также уменьшается время реакции системы.

Обмен данными посредством канала прямого доступа к памяти (DMA) подразумевает что устройство передает данные непосредственно в предопределенную область памяти самостоятельно без прямого участия программного обеспечения (кроме настройки этого канала), а затем сообщает процессору об окончании обмена посредством прерывания или специального бита в статусном регистре контроллера прерывания. Обычно этот режим используется для устройств, которые имеют специализированную поддержку этого режима и его необходимость состоит в существенном отличие скоростей работы процессора и устройства, а также позволяет несколько разгрузить программное обеспечение.