Смекни!
smekni.com

Интерфейсные БИС, параллельный и последовательный в (в, сопроцессор в) (в, наиболее известные БИС, Модемы, протоколы обменами данных. WinWord) (стр. 3 из 8)

Устройство управления вводом — выводом управляет действиями канала во время ПДП- пересылки. При выполнении синхронной пересылки оно ожидает поступления сигнала синхронизации на входе DRQ, прежде чем выполнить очередной цикл чтения — записи. Когда ПДП- пересылка должна заканчивать­ся по внешнему сигналу, устройство следит за его появлением на входе EXT. Между циклами чтения и записи (пока данные находятся в СПВБ) канал может производить подсчёт числа переданных данных, перекодировать их и сравнить с заданным кодом. Основываясь на результатах этих действий, УУ вводом — выводом может прекратить ПДП- пересылку.

В процессе выполнения программы по команде SINTR устройство генери­рует запрос прерывания в ЦП. Часто запрос используется для того, чтобы сообщить ЦП о завершении программы канала.

Регистры канала используются СПВБ как при ПДП- пересылках, так и при выполнении программы. Все регистры канала (рис. 6), за исключением TAG, непосредственно принимают участие в указанных процессах. Использование каждого регистра описано в табл. 4.

Таблица 4

Регистр

Использование

в программе

при ПДП-пересылке

GA Обоего назначения Указатель источника
или базовый или приемника
GB То же Указатель приемника
или источника
GC >> Указатель таблицы
перекодировки
TP Указатель команд Указатель причины
окончания
РР Базовый Не используется
IX Общего назначения То же
или индексный
ВС Общего назначения Счетчик байтов
МС Общего назначения Участвует в маски-
или маскированного рованном сравнении
сравнения
СС Ограниченного Определяет условия
использования пересылки

Регистр общего назначения GA служит в большинстве команд в качестве операнда. В качестве базового он используется для указания адреса операнда, находящегося в памяти. Перед началом ПДП- пересылок программа канала загружает в GA адрес источника или приемника данных.

Регистр общего назначения GB функционально взаимозаменяем с регист­ром GA. Если GA загружен адресом источника ПДП- пересылки, то GB должен быть загружен адресом приёмника, и наоборот.

Регистр общего назначения GC используется программой канала как операнд или базовый регистр. Используется при выполнении ПДП - пересылок, когда осуществляется перекодировка данных. В этом случае, перед началом пересылки, программа канала загружает в GC начальный адрес таблицы пере­кодировки. В процессе пересылки его содержимое не изменяется.

Указатель команд ТР загружается начальным адресом программы в про­цессе инициализации канала общим УУ на выполнение задания. Во время выполнения программы (задания от ЦП) ТР играет роль счетчика команд. Так как ВМ89 не содержит указателя стека и не может выполнять стековых операций, возврат из программы осуществляется путём загрузки в TP адреса возврата, который запоминается в памяти по команде CALL. Указатель за­дания является полностью программно-доступным (в отличие от регистра IP в ВМ86) и может использоваться программой как регистр общего назначения или базовый.


Однако делать это не рекомендуется, так как программа становится трудной для понимания.

Указатель блока параметров РР загружается общим УУ начальным адресом блока параметров в процессе инициализации канала на выполнение задания. В подготовленном сообщении расположение блока параметров в памяти определяет центральный процессор (см. табл. 4). Программа канала не может изменить содержимое регистра PP. Его удобно использовать как базовый для пересылки данных в блок параметров. Для ПДП- пересылок регистр РР не используется.

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

Счетчик байтов ВС в программе канала служит регистром общего на­значения. При ПДП- пересылке подсчитывает число пересланных байтов путём декрементирования значения, загруженного перед ее началом. Если пересылка должна заканчиваться по заданному числу пересланных байтов, то УУ вводом — выводом закончит её, когда содержимое ВС станет равным нулю.

Регистр маскированного сравнения МС в программе канала может использоваться как регистр общего назначения или для маскированного сравнения. При ПДП- пересылке используется для маскированного сравнения. Маскиро­ванное сравнение позволяет сравнить выделенные разряды байта (операнда команды или пересылаемого байта) с заданным заранее значением. Для этого в старший байт МС загружается маска, выделяющая интересующие разряды, а в младший—сравниваемое значение (рис. 7). В программе, при выпол­нении команды условного перехода по маскированному сравнению (либо при ПДП- пересылке), определенный в ней операнд (либо пересылаемый байт) сравнивается с замаскированным значением.

Регистр управления каналом СС используется в основном при ПДП- пересылках. Он служит для определения условий пересылки и указывает способ её окончания. Структура и обозначение управляющих полей СС представлены на рис. 8. Пять старших полей определяют условие ПДП- пересылки:

F (пересылка) определяет, откуда и куда пересылаются данные;

TR (перекодировка) — следует ли пересылаемые данные перекодировать;

SYN (синхронизация) — способ синхронизации пересылки;

S (источник) — в каком регистре (GA или GB) находится адрес источника;

L (монополизация) — следует ли активизировать сигнал во время пересылки.

Четыре младших поля задают способ окончания пересылки:

TS указывает, что пересылка состоит в передаче только одного данного;

ТХ—что пересылка должна заканчиваться по внешнему сигналу (ЕХТ);

ТВС — по нулю в счетчике байтов (ВС);

TMC — по результатам маскированного сравнения.

Поле С не используется для ПДП-пересылок, а служит удобным средством управления приоритетом программы канала.

Таблица 5

Управляющее поле Код поля Условие ПДП-пересылки
F (функция 00 Из порта ввода в порт вывода
пересылки) 01 Из памяти в порт вывода
10 Из порта ввода в память
11 Из памяти в память
TR (перекодировка) 0 Нет перекодировки
1 Есть перекодировка
SYN (синхронизация) 00 Пересылка асинхронная
01 Синхронизация от источника ка
10 Синхронизация от приемника
11 Зарезервированный код
S (источник) 0 Адрес источника в регистре GA
1 Адрес источника в регистре 0В
L(монополизация) 0 Сигнал LOCK не активен
1 Сигнал LOCK активен
С (приоритет 0 Обычный приоритет программы
программы) 1 Повышенный приоритет программы
TS ( одиночная 0 Пересылка не одиночная
пересылка) 1 Пересылка одного данного
ТХ (окончание по 00 Не внешнее окончание
внешнему сигналу) 01 По сигналу ЕХТ со смещением 0
10 По сигналу ЕХТ со смещением 4
11 По сигналу ЕХТ со смещением 8
ТВС (окончание по 00 Окончание не по нулю в счетчике
нулю в счетчике) 01 Окончание по (ВС)=0 со смещением 0
10 Окончание по (ВС)=0 со смещением 4
11 Окончание по (ВС)=0 со смещением 8
ТМС ( окончание по 000 Не по результатам маскированного
результатам маски- сравнения
рованного сравне- 001 По совпадению со смещением 0
ния) 010 По совпадению со смещением 4
oil По совпадению со смещением 8
100 Не по результатам маскированного
сравнения
101 По несовпадению со ещением 0
110 По несовпадению со смещением 4
III По несовпадению со смещением 8

Кодирование полей ТХ, ТВС и ТМС позволяет выбрать смещение 0, 4 или 8 по окончанию ПДП-пересылки. Выбранное значение добавляется к содержимому счетчика команд ТР и определяет три различных точки программы, в которые передается управление после окончания пересылки (рис.9). Окончание по одиночной пересылке TS == 1 всегда приводит к нулевому смещению.