Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
58
Добавлен:
21.02.2014
Размер:
867.33 Кб
Скачать

Организация устройств ввода-вывода информации

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

При проектировании интерфейса ввода/вывода необходимо обеспечить: хранение информации, поступающей от УВВ; доступ к информации со стороны МП; управление обменом; преобразование форматов данных.

Хранение информации и доступ к ней со стороны МП. Ввод и вывод информации выполняется с помощью портов ввода/вывода, которые представляют собой 8- или 16-разрядные регистры со схемами выборки и управления чтением/записью. В качестве портов могут быть использованы буферные регистры, например, i8282, i8285, КР580ИР82, КР589ИР12, КР580ВВ55. Использование регистра КР580ИР82 для соединения с устройством ввода и устройством вывода показано на рис. 5.1, а и б соответственно.

Рис. 5.1. Использование регистра КР580ИР82 для сопряжения: а - с устройством ввода; б - с устройством вывода

Если регистр используется как порт ввода (рис. 5.1, а), то данные от устройства ввода поступают в регистр по линиям DI7-DI0 и записываются по стробу STB. Выходные данные DO7-DO0 порта поступают в МПС систему по шине данных. МП формирует также сигнал управления чтением и выборкой порта, который поступает на вход ОЕ. Если регистр используется как порт вывода (рис. 5.1, б), то данные от МП поступают по шине данных на входы DI7-DI0 порта и сопровождаются сигналами управления записью и выборки БИС. Выходные данные DO7-DO0 порта поступают в устройство вывода.

Ввод или вывод данных можно осуществлять двумя способами: использованием отдельного адресного пространства УВВ; с использованием общего с памятью адресного пространства, т.е. с отображением на память.

В первом случае ввод и вывод данных выполняются по командам in и out. Во втором случае адреса портов располагаются в общем с памятью адресном пространстве, и обращение к портам не отличается от обращения к ячейке памяти.

Сигналы выборки БИС (рис. 5.1) конкретных портов формируются с помощью дешифраторов. Адрес 16-разрядного порта Р16 должен быть четным, чтобы обращение к нему происходило за один цикл шины. Адреса 8-разрядных портов ввода/вывода P8 могут быть любыми (четными, нечетными), но при четном адресе 8-разрядные порты нужно соединить с младшей половиной шины данных D7-D0, а при нечетном - со старшей половиной D15-D8.

Функциональная схема дешифратора показана на рис. 5.2.

Рис. 5.2. Функциональная схема дешифратора портов

Схема содержит две БИС дешифратора DC1 и DC2. С выходов дешифраторов сигналы поступают на входы ОЕ соответствующих портов. Таким образом, схема (рис. 5.2) позволяет адресовать 16 портов. Все выходные сигналы 0-7 БИС имеют Н-уровень, если не обеспечено поступление сигналов L-уровня на инверсные входы разрешения Е1 и Е2 и сигнала Н-уровня на вход ЕЗ.

В противном случае сигнал на том выходе DC, двоичный код номера которого определяются кодом на информационных входах DC Х2, XI, Х0, является активным, т.е. имеет L-уровень. Сигналы на других выходах имеют Н-уровень. Этот принцип работы DC позволяет в любой момент работы МП обратиться лишь к одному из портов.

Управление обменом. Существуют три способа управления обменом: программный обмен; обмен по прерыванию; обмен в режиме прямого доступа к памяти.

Программный обмен инициируется МП и осуществляется под его управлением. Различают простой и стробированный программный обмен. При простом программном обмене считается, что УВВ в любой момент готово к обмену по командам in или out. При стробированном обмене УВВ извещает о своей готовности к обмену стробом. Например, выдача 8-разрядных данных сопровождается девятым битом - стробом. При таком обмене схема интерфейса содержит триггер или порт управления для сохранения информации о готовности внешнего устройства к обмену. Процессор опрашивает соответствующий разряд порта управления для определения состояния внешнего устройства - его готовности к обмену.

Функциональная схема стробированного обмена приведена на рис. 5.3.

Схема содержит: устройство ввода, соединенное с портом ввода; устройство вывода, соединенное с портом вывода; порт управления для хранения сигналов готовности устройств ввода и вывода. Устройство ввода имеет восемь информационных выходных линий и одну выходную линию строба сопровождения данных. Появление этого строба сигнализирует о том, что данные на информационных линиях являются действительными (корректными). Устройство вывода имеет восемь информационных входных линий и одну выходную линию строба подтверждения приема данных. Появление этого строба сигнализирует о том, что данные приняты устройством и МП может передавать новую порцию данных. Порт управления хранит информацию о стробах от двух устройств.

Рис. 5.3. Схема стробированного ввода/вывода

Если УВВ имеет встроенное аппаратное средство для определения готовности к обмену, о состоянии устройства свидетельствует флаг готовности READY или флаг готовности/занятости READY/BUSY. Информация о готовности устройств принадлежит к статусной информации и входит в состав слова состояния устройства. Иногда состояние готовности и занятости идентифицируется отдельными флагами: READY и BUSY. Флаг READY заменяет бит порта управления (см. рис. 5.3).

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

Обмен по прерыванию инициируется УВВ и осуществляется под управлением МП. В этом случае сигнал готовности УВВ к обмену используется как запрос прерывания и поступает в программируемый контроллер прерываний (ПКП) (рис. 5.5). Ввод или вывод осуществляется в подпрограмме обработки запроса прерывания.

Рис. 5.5. Схема обмена по прерыванию

Программируемый контроллер прерывания (см. рис. 5.5) способен принять 8 сигналов IRQ7-IRQ0. Сигнал готовности УВВ поступает на вход IRQ6. Сигнал готовности УВВ представляет собой выходной сигнал триггера, который фиксирует состояние готовности READY. На выходе программного контроллера прерываний асинхронно с действиями МП формируется сигнал INT. Заранее не известно, в какой момент и какие периферийные устройства инициируют прерывания.

Реагируя на сигнал INT МП прерывает выполнение основной программы, идентифицирует устройство, вызвавшее прерывание, и переходит к выполнению подпрограммы обслуживания прерывания от этого устройства, а после его завершения восстанавливает выполнение прерванной программы. По команде INT содержимое программного счетчика и флагов автоматически запоминается в стеке. Содержимое аккумулятора и рон необходимо занести в стек с помощью команд push в подпрограмме обработки прерывания.

В каждом МП реализована особая структура системы прерываний. Однако общая последовательность обмена по прерыванию включает следующие действия:

1. УВВ генерирует сигнал готовности, вызывающий появление сигнала прерывания INT МП.

2. МП завершает выполнение текущей команды и, если прерывание разрешено (не замаскировано), формирует сигнал INTA подтверждения прерывания.

3. МП запоминает содержимое аккумулятора, программного счетчика и РОН в стеке.

4. МП идентифицирует устройство, вызвавшее прерывания, и выполняет соответствующую подпрограмму обслуживания прерывания.

5. С помощью команды pop восстанавливаются значения содержимого аккумулятора и РОН из стека.

6. По команде ret возврата из прерывания, которая является последней командой подпрограммы обслуживания прерывания, восстанавливаются значения программного счетчика и флагов, и продолжается выполнение прерванной программы.

Обмен по прерыванию более производительный, чем программный обмен, поскольку не требует времени для опроса готовности УВВ к обмену.

Обмен в режиме ПДП инициируется УВВ и осуществляется под управлением контроллера прямого доступа к памяти (КПДП) без участия МП. При обмене данными между УВВ и памятью нет необходимости в пересылке данных через МП. Данные с помощью КПДП пересылаются непосредственно из УВВ в память или наоборот. Прямой доступ к памяти при выполнении операций ввода/вывода позволяет значительно увеличить скорость передачи данных и повысить эффективность использования средств МП. Схема обмена в режиме ПДП показана на рис. 5.6. Контроллер прямого доступа принимает запрос от УВВ, формирует сигнал запроса захвата шин МП HOLD и, получив от МП разрешение HLDA, формирует адреса памяти и управляющие сигналы MEMR, IOW - в случае чтения памяти, или MEMW , IOR —в случае записи в память.

Информацию об области памяти, используемой при обмене в виде начального адреса и длины массива, загружают в КПДП при его программировании. Производительность обмена в режиме ПДП наиболее высокая из рассмотренных способов обмена.

Рис. 5.6. Схема обмена в режиме ПДП

Преобразование форматов данных. Если разрядность данных, с которыми оперирует МП, меньше разрядности данных, с которыми оперирует УВВ, то для согласования разрядности увеличивают число портов ввода/вывода. Если разрядность данных, с которыми оперирует МП, больше разрядности данных, с которыми оперирует УВВ, то для согласования разрядности выполняют упаковку данных, полученных из нескольких источников, в одно слово нужной разрядности или используют дополнение нулями. Для преобразования последовательного кода в параллельный и наоборот используют контроллер последовательного обмена.

4

Соседние файлы в папке шпоргалка