Общая характеристика. Часть 1

Контроллеры и интерфейсы внешних устройств в основном выполнены в виде отдельных модулей (плат), реже в виде набора плат, конструктивно оформленных в автономные блоки. Для организации обмена интерфейс имеет один или несколько регистров, адреса которых определены системой (для штатной периферии) или пользователем. Эти регистры могут быть построены на триггерах и выполнять функции хранения или же состоять из простых вентилей, открываемых в момент прохождения через них информации. Как правило, регистры внешних устройств имеют четные адреса, однако с помощью байтовых команд можно обращаться к любому байту 16-разрядного регистра. Различные разряды регистров могут выполнять различные функции и использоваться как для записи, так и для считывания или только для записи или считывания. Например, разряды разрешения прерывания регистра состояния используются как для записи, так и для считывания информации, разряд пуска — только для записи, а разряд ошибки — только для считывания.

Набор регистров и их форматы определяются функциями устройств, для которых предназначен тот или иной интерфейс. Однако можно выделить несколько основных регистров, которые характерны для организации обмена информацией между внешним устройством и ЭВМ: регистры состояния (один или несколько), регистры данных, регистр адреса памяти, регистр счета слов, регистр адреса устройства. Как правило, регистры данных являются обыкновенными накопительными регистрами при обмене данными между центральным процессором и внешним устройством. Регистр адреса памяти (РАП) хранит адреса ячеек памяти, в (из) которые (ых) передается информация; содержимое этого регистра наращивается после передачи каждого слова. Регистр адреса устройства содержит номер дорожки или блока во внешних запоминающих устройствах. Регистр счета слов (РСС) используется для управления длиной передаваемого массива данных. Наличие РСС и РАП характерно обычно для интерфейсов, реализующих непосредственный доступ к памяти. Форматы регистров данных, РСС, РАП и регистров состояния определяются только требованиями устройства, подключаемого к данному интерфейсу.

Типичный формат регистров состояния внешнего устройства показан на рис. 4.11. Для сигнализации о наличии ошибки используется разряд 15 и о характере ее разряды 12 ... 14. Они устанавливаются внешним устройством и сбрасываются обычно центральным процессором. Если трех разрядов недостаточно для указания характера ошибки, то они определяют номер специальных регистров ошибок. В большинстве интерфейсов разряд 15 вызывает прерывание программы по ошибке (если установлен разряд разрешения прерывания). Разряд 11 сигнализирует о том, что внешнее устройство занято выполнением внутренних операций и не может принять участие в предлагаемом обмене данными. Для некоторых устройств этот разряд не является необходимым — его функции выполняет разряд 07 («Конец операции»). Разряды 08...10 определяют выбор одного из внешних устройств, подключенных к общему интерфейсу, например накопителей на магнитных дисках, которые подключены к одному контроллеру. Разряд 07 устанавливается внешним устройством тогда, когда оно готово для обмена данными, обычно используется для организации запроса Канала по прерыванию. Разряды 05 и 06 разрешают прерывание программы и выдачу адреса вектора прерывания, причем разряд 05 используется в том случае, когда имеются две причины, вызвавшие прерывание. Разряды 01... 04 определяют операцию, выполняемую внешним устройством. Часто для этих целей служит специальный регистр команд. И, наконец, разряд 00 используется для запуска внешнего устройства. Описанный формат регистра состояния не является обязательным и часто регистр состояния имеет меньше разрядов. Если интерфейс внешнего устройства имеет несколько регистров, то им присваиваются последовательные адреса.

Формат регистра состояния внешнего устройства

Для связи с Каналом микроЭВМ в интерфейсах используются специальные ИС приемников и передатчиков (серий К589, К559 и др.). Причем с помощью перечисленных ИС реализуется не только прием и передача информации в Канал (например, К559ИПЗ), но и предварительная дешифрация кода адреса (ИС К559ИП8) и селекция адреса (К559ВТ1).