Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по дисциплине ОС.docx
Скачиваний:
48
Добавлен:
17.11.2019
Размер:
3.92 Mб
Скачать

Тема 2.3 Обслуживание ввода-вывода

Практические занятия: Изучение способов организации взаимодействия процессора и внешних устройств. Подсистема прерываний – 4ч

Практическая работа №2.Изучение способов организации взаимодействия процессора и внешних устройств (ВУ) в составе ЭВМ

  1. Цель работы: знакомство со способами взаимодействия процессора и внешних устройств в составе ЭВМ

  1. Основные теоретические положения:

    1. Связь процессора и ВУ может осуществляться в синхронном и асинхронном режиме.

Синхронный режим используется для ВУ, всегда готовых к обмену. В нашей модели такими устройствами являются дисплей и тоногенератор – процессор может обращаться к этим ВУ, не анализируя их состояние (правда дисплей блокирует приём данных после ввода 128 символов, формируя флаг ошибки).

Асинхронный обмен предполагает анализ процессором состояния ВУ, которое определяет готовность ВУ выдать или принять данные или факт осуществления какого-нибудь события, контролируемого системой. К таким устройством в модели является клавиатура и блок таймеров.

    1. Анализ состояния ВУ может осуществляться процессором двумя способами:

- в программно-управляемом режиме (предполагается обращение процессора к регистру состояния ВУ с последующим анализом значения соответствующего разряда слова состояния). Такое обращение следует предусмотреть в программе с некоторой периодичностью, независимо от фактического наступления контролируемого события (например, нажатия клавиши мыши)

- в режиме прерывания (при возникновении контролируемого события ВУ формирует процессору запрос на прерывание программы, по которому процессор и осуществляет связь в ВУ)

    1. В состав контроллера клавиатуры входят три программно-доступных регистра:

  • DR (адрес 0) — регистр данных;

  • CR (адрес 1) — регистр управления, определяет режимы работы контроллера и содержит следующие флаги (устанавливаются и сбрасываются программно):

    • Е — флаг разрешения приема кодов в буфер, при Е = 0 контроллер игнорирует нажатие на клавиатуре, прием кодов в буфер не производится. На считывание кодов из буфера флаг Е влияния не оказывает;

    • I — флаг разрешения прерывания, разрешает формирование запроса на прерывание от клавиатуры в момент установки флага готовности Rdy

    • S — флаг режима посимвольного ввода. При S = 0 флаг готовности Rdy формируется только после нажатия кнопки Завершить ввод в окне обозревателя клавиатуры, при S = 1 – после каждого нажатия клавиши;

  • SR (адрес 2) — регистр состояния, содержит два флага, устанавливаемые контроллером «аппаратно»:

    • Err — флаг ошибки устанавливается при вводе в буфер 50-го символа, сбрасывается программно;

    • Rdy — флаг готовности, устанавливается в зависимости от значения флага S, сбрасывается «аппаратно» после выполнения команды ввода из регистра DR – считывание символа из буфера.

    1. Дисплей представляет собой модель внешнего устройства, реализующую функции символьного дисплея. Дисплей может отображать символы, задаваемые ASCII-кодами, поступающими на его регистр данных.

Дисплей включает:

  • видеопамять объемом 128 слов (ОЗУ дисплея);

  • символьный экран размером 8 строк по 16 символов в строке;

  • четыре программно-доступных регистра:

    • DR (адрес 0) — регистр данных;

    • CR (адрес 1) — регистр управления содержит следующие флаги (устанавливаются и сбрасываются программно):

      • Е – флаг разрешения работы дисплея; при Е = 0 запись в регистры AR и DR блокируется;

      • А – флаг автоинкремента адреса; при А = 1 содержимое AR автоматически увеличивается на 1 после любого обращения к регистру DR – по записи или чтению.

    • SR (адрес 2) – регистр состояния содержит единственный флаг Err – ошибки устанавливается аппаратно при попытке записать в регистр адреса число, большее 127, сбрасывается программно;

    • AR (адрес 3) – регистр адреса.

  1. Задание к работе: