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

26. Построение программных каналов ввода и вывода по опросу. Алгоритм взаимодействия микропроцессора и каналов по опросу

Система ввода/вывода предназначена для сопряжения микропроцес­сорной системы с внешней средой. Она представляет собой совокуп­ность каналов ввода/вывода, каждый из которых обслуживает отдельное ВУ. Канал содержит средства сопряжения с системной шиной (интерфейс ВУ) и средства управления вводом/выводом и реализуется аппаратными сред­ствами ввода/вывода: УВВ и программным обеспечением ввода/вывода. Характеризуется система ввода/вывода числом каналов и их пропускной способностью,   разрядностью   и   др.

При проектировании каналов ввода/вывода решают задачи:

  • выбора типа канала;

  • разработки интерфейса канала;

  • проектирования средств управления обменом;

  • разработки средств преобразования данных;

  • разработки средств управления   ВУ.

Тип канала выбирают с учетом его пропускной способности. Каналы ввода/вывода бывают трёх типов:

  • программные каналы с обслуживанием по программе;

  • программные каналы с обслуживанием по прерыванию;

  • непрограммные  каналы  прямого доступа к памяти (ПДП).

Интерфейс канала реализуется на основе портов ввода/вывода или бу­ферного ЗУ (БЗУ) ввода/вывода. Порт представляет собой запоми­нающий регистр со средствами сопряжения с ВУ и с системной шиной микро­процессорной системы.

 В программном канале с обслуживанием по программе обмен осуществля­ется по инициативе процессора и под его управлением. Процессор выполняет программный опрос состояния готовности и, если порт готов к обмену (данные приняты в порт при вводе или считаны из порта при выводе), выполняет опе­рации обмена: ввод или вывод данных. В противном случае, если порт не готов к обмену, процессор повторно анализирует готовность порта, ожидая ввод данных от ВУ или вывода на ВУ. Для программного обмена с обслуживанием по программе интерфейс кроме порта ввода или вывода данных содержит порт состояния (рис.1), который предназначен для хранения состояния готовности. При вводе (рис. 1, а) состояние готовности устанавливается по стробу ввода, который одновременно записывает данные в порт данных. Процессор читает содержимое порта состояния через шину данных, выставляя его адрес на адресную шину, а затем анализирует его содержимое. По окон­чании чтения данных состояние готовности ВУ в порту состояния сбрасыва­ется сигналом чтения с выхода RDO. Выход строба вывода указывает, за­полнен регистр порта вывода данных или нет. Выход можно использовать для синхронизации вывода данных в ВУ. При выводе (рис. 1, б)

внешнее устрой­ство подтверждает прием данных стробом подтверждения вывода, по кото­рому устанавливается состояние готовности в порту состояния. Процессор записывает данные в порт вывода сигналом записи ВУ. По окончании записи состояние готовности ВУ в порту состояния сбрасывается сигналом записи с выхода WRO. Выход подтверждения ввода порта состояния указывает о состоянии готовности порта ввода данных и его можно использовать для синхронизации вывода через выходные цепи ВУ. Программный обмен исполь­зуется для сопряжения с ВУ, производительность которых уступает произ­водительности процессора. Недостатком программного обмена с обслужива­нием по программе являются непроизводительные потери времени, затрачи­ваемые процессором на опрос состояния внешнего устройства, что снижает производительность   микропроцессорной   системы   в   целом.

В программном  канале с обслуживанием по прерыванию обмен осуще ствляется по инициативе внешнего устройства. Сигнал готовности данных используется для формирования запроса прерываний ЦП. Запрос прерыва­ния обрабатывается системой прерываний ЦП и, если прерывания разрешены, осуществляется прерывание программы, выполняемой ЦП, и переход к под­программе ввода/вывода. Интерфейс ввода/вывода с обслуживанием по пре­рыванию (рис .2)

содержит порты данных и триггер запросов прерываний, который принимает и хранит сигнал готовности данных. Выход триггера не­посредственно подключается к соответствующему входу средств обработки запросов прерываний, и поэтому не требуются средства сопряжения триггера прерываний с системной шиной подобно тем, которые используются при подключении порта состояния к системной шине при программном обмене с обслуживанием по программе. Интерфейс в этом случае упрощается, а функ­ции обмена возлагаются на систему прерываний. Управление выполняет подпрограмма обслуживания прерывания по вводу/выводу. Обмен по преры­ванию позволяет исключить потери времени процессором, затрачиваемые на программный опрос состояния внешнего устройства и, таким образом, повы­сить производительность микропроцессорной системы. Пропускная способ­ность канала обмена в целом такая же,  как и при программном обмене.

 В канале прямого доступа к памяти (ПДП) обмен осуществляется без вмешательства процессора. Поэтому для управления обменом необходимы специализированные средства: контроллеры ПДП или процессоры ввода/ вывода. Контроллер принимает запросы ПДП от внешнего устрой­ства, формирует сигнал запроса шины ЦП и, получив подтверждение осво­бождения шины от ЦП, берет на себя управление системной шиной. Он фор­мирует адреса и управляющие сигналы чтения/записи памяти и интерфейса ВУ (а также сигнал отключения интерфейса ЦП от системной шины). Сигналы запросов ПДП формируют цепи интерфейса ВУ подобно тому, как формиру­ются сигналы запросов прерывания. Адресные сигналы передаются на адрес­ную шину, а выборка интерфейса в режиме ПДП осуществляется сигналом с линии подтверждения ПДП. Адресные входы выборки интерфейса исполь­зуются в режиме программирования интерфейса. Для отключения интерфей­сов других внешних устройств, не участвующих в обмене, можно исполь­зовать  сигнал  с выхода  отключения  шин.

Информация об области памяти, используемой при обмене, в форме на­чального адреса и размера массива пересылаемых данных загружается в кон­троллер ПДП на этапе его подготовки к работе. Для этой цели контроллер должен содержать средства сопряжения с системной шиной и соответству­ющие входы выборки, шины данных и управления записью ВУ. Эти же средства позволяют проконтролировать состояние контроллера ПДП путем чтения содержимого его внутренних регистров. Процессор обращается к кон­троллеру, как к обычным портам ввода/вывода. Адреса ОЗУ в режиме ПД формируются адресным счетчиком, содержимое которого увеличивается на единицу после каждого цикла ПДП. Число циклов ПДП контролируется счетчиком циклов ПДП, содержимое которого уменьшается на единицу после каждого цикла ПДП. По исчерпании циклов ПДП формируется признак конца ПДП, по которому процессор может осуществлять загрузку новых данных в контроллер, используя программный обмен с обслуживанием по программе или по прерыванию. Структура КПДП показана на рис. 3,

а его программное обеспечение составляют программы  начальной   загрузки  контроллера  ПДП.

Так как данные по каналу ПДП пересылаются непосредственно между ВУ и ЗУ без затрат времени на выборку и дешифрацию команд, пропускная способность канала обмена в режиме ПДП существенно выше, чем при про­граммном обмене. Аппаратурные затраты на реализацию канала ПДП также выше,  чем для других способов обмена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]