Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТСвИС / (х) учебное пособие. организация Компьютеров и Систем.doc
Скачиваний:
83
Добавлен:
28.05.2015
Размер:
1.15 Mб
Скачать

2.9 Методы обмена информацией между мп и портами ву.

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

Прямой обмен. МП обращается к порту ВУ командой in или out и через определенный промежуток времени осуществляет обмен. Так как при этом он не выясняет, готово ВУ к обмену или нет, велика вероятность потери информации или неправильной ее передачи. Такой способ применяется при работе с ВУ, которые «всегда готовы к обмену». Например, так можно прочитать состояние переключателей конфигурации в IBM PC или вывести информацию на светодиоды. Инициатором обмена здесь является МП, он же и управляет обменом по СШ.

Обмен по опросу готовности. При этом способе ВУ подключается к ШД через два порта. Один из них предназначен для передачи данных, а другой порт хранит информацию, характеризующую текущее состояние ВУ. Один из битов этого порта показывает, готово ВУ к обмену или нет. Перед обменом МП читает порт состояния и анализирует бит готовности. Если выясняется, что ВУ к обмену не готово, МП снова читает порт состояния и снова анализирует готовность ВУ к обмену. И так до тех пор, пока ВУ не станет готово к обмену. Только после этого будет произведен обмен. Недостаток такого способа очевиден – МП, проверяя готовность ВУ к обмену, не выполняет никакой полезной работы. Поэтому этот способ применяется при обмене с быстродействующими ВУ, например ЦАП и АЦП. Инициатором обмена здесь является процессор, и обмен идет под его управлением.

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

Прямой доступ к памяти. Это специфический вид обмена, когда передача информации ведется между ОП и быстродействующим ВУ, минуя МП. Последний в обмене участия не принимает, более того, он отключен от СШ и как бы находится в «спячке». Поскольку обменом нужно управлять, в состав системы вводится контроллер прямого доступа к памяти (КПДП), который и вырабатывает необходимые управляющие сигналы и адреса ОП.

2.10 Параллельный программируемый адаптер к1810вв55 (i8255).

Эта микросхема наиболее часто используется для организации параллельных портов ввода-вывода в системах, построенных на базе МП фирмы Intel.

Схема подключения адаптера к СШ представлена на рис.10. Рассмотрим назначение входов/выходов адаптера.

CS (chip select – «выбор кристалла»). На этот вход через схему селектора (дешифратора) формируется активный (нулевой) сигнал, когда МП выставляет на ША адрес одного из внутренних регистров адаптера. Сложность схемы селектора сильно зависит от организации системы. В простых системах с малым числом портов селектор может вообще отсутствовать. Активный сигнал на CS подключает адаптер к ШД.

С точки зрения программиста внутри адаптера имеются четыре адресуемых устройства: порт A (PA), порт B (PB), порт С (РС) и регистр управляющего слова (РУС). К какому из четырех внутренних устройств обращается МП, когда на CS приходит активный сигнал, определяет информация на входах А1 и А0 (табл. 4).

D 7-0 – восьмиразрядная шина данных. По ней производится обмен информацией, в том числе и управляющей, между МП и внутренними устройствами адаптера.

Вход RD – «чтение». Задает вид операции. На этот вход заводится системный управляющий сигнал IOR.

Вход WR – «запись». На этот вход заводится системный управляющий сигнал IOW.

Таблица 4.

Рис. 10

RESET – сброс. По этому сигналу все порты адаптера настраиваются на ввод в режиме 0. Как правило, этот вход на практике не используется.

РА – восьмиразрядный порт, который может быть настроен на ввод или на вывод в одном из трех режимов: режиме 0, режиме 1 или режиме 2.

РВ – восьмиразрядный порт, который может быть настроен на ввод или на вывод в одном из двух режимах: режиме 0 или режиме1.

РС – восьмиразрядный порт, который можно настроить на ввод или на вывод в режиме 0. В отличие от РА и РВ порт С разбит на две половины: старшую и младшую, каждую из которых можно независимо настроить на ввод или на вывод.

Режимы 1 и 2 на практике используются редко, поэтому мы здесь ограничимся рассмотрением режима 0.

Пусть, например, порт А настроен на ввод в режиме 0. Когда МП обращается к этому порту командой in al, port_A информация с внешних линий РА попадает на ШД. То есть в этом случае порт работает как коммутатор и передаваемая информация внутри адаптера не фиксируется.

Пусть РА настроен на вывод в режиме 0. По команде out port_A, al информация с ШД поступит в РА и там защелкнется. Естественно, что эта информация появится при этом и на внешних линиях РА.

Перед началом работы все порты адаптера должны быть настроены. Для этого достаточно передать в РУС настроечное слово, формат которого приведен на рис. 11.

Рис. 11

Здесь D7 = 1. Эта единица и означает, что передается настроечное слово. При D7 = 0 передается специальная команда, которая здесь рассматриваться не будет.

D6, D5 – определяют режим работы РА:

00 – режим 0;

01 – режим 1;

10 – режим 2;

11 – тоже режим 2.

D4 = 1 – РА настраивается на ввод.

= 0 – РА настраивается на вывод.

D3 = 1 –старшая часть РС (линии РС 7-4) настраивается на ввод.

= 0 – старшая часть РС настраивается на вывод.

D2 = 1 – РВ настраивается на режим 1.

= 0 – РВ настраивается на режим 0.

D1 = 1 – РВ настраивается на ввод.

= 0 – РВ настраивается на вывод.

D0 = 1 – младшая часть РС (РС 3-0) настраивается на вывод.

= 0 – младшая часть РС настраивается на ввод.

В IBM PC/XT стоит микросхема ВВ55. При этом ее портам присвоены следующие системные адреса:

PA = 60h;

PB = 61h;

PC = 62h;

РУС = 63h.

При начальном старте XT выполняет две команды:

mov al, 99h

out 63h, al

то есть в РУС загружается двоичное число 10011001. Таким образом, все порты настраиваются на работу в режиме 0, РА и обе половины РС на ввод, а РВ на вывод. Начиная с IBM PC/AT, микросхема ВВ55 в системе отсутствует, но порты 60h и 61h существуют и выполняют те же функции.