Для ПДП-пересылки в программе канала задается логическая ширина СШ и ШВВ независимо для каждого канала. Логическая ширина 8-битовой физической шины может быть только 8- битовой, а для 16- битовой физической шины логическая ширина может быть задана 8- либо 16-битовой. Это позволяет обслуживать 8- и 16-битовые УВВ с помощью одной 16-битовой физической шины. В табл. 3 перечислены все возможные отношения между логической и физической шириной СШ и ШВВ в местной и удаленной конфигурации.
Таблица 3
Конфигурация
Ширина СШ
Ширина
ШВВ
физическая логическая
физическая:
логическая
Местная
8:8
8:
8
16: (8/16)
16:
(6/16)
Удаленная
8:8
8:
8
16: (8/16)
16;
(8/16)
8:8
16:
(8/16)
16; (8/16)
8:
8
Логическая ширина шины учитывается только при ПДП - пересылках. Извлечение команд, а также запись и чтение операндов осуществляются словами или байтами только в зависимости от физической ширины шины.
Наряду с управлением пересылками команд и данных блок шинного интерфейса осуществляет арбитраж локальных шин. В местной конфигурации БШИ
использует линию RQ/GT для запроса шины у ЦП и ее возвращения после использования, в удаленной конфигурации — для координации совместного использования локальной ШВВ с другими процессорами ВМ89 или локальным ЦП ВМ86, если они имеются. Арбитраж СШ в удаленной конфигурации осуществляется арбитром К1810ВБ89. В тех случаях, когда необходимо монополизировать СШ, блок шинного интерфейса формирует нулевой активный сигнал LOCK. Это бывает в двух случаях: 1) когда канал выполняет команду TSL (Test and Set Lock — проверка с монополизацией);
2) когда в программе канала есть указание активизировать LOCK на время ПДП- пересылки.
Структура каналов процессора ввода — вывода. Процессор ВМ 87 (см. рис. 4) включает два идентичных канала. Каждый канал может осуществлять ПДП- пересылку, выполнять программу, отвечать на запросы готовности или простаивать. Эти действия каналы могут выполнять независимо друг от друга, что позволяет рассматривать СПВВ ВМ89 как два устройства: канал 1 и канал 2. Каждый канал состоит из двух основных частей: устройства управления вводом — выводом и группы регистров, часть которых используется в программах, а часть из них является программно- недоступными.
Устройство управления вводом — выводом управляет действиями канала во время ПДП- пересылки. При выполнении синхронной пересылки оно ожидает поступления сигнала синхронизации на входе 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). В программе, при выполнении команды условного перехода по маскированному сравнению (либо при ПДП- пересылке), определенный в ней операнд (либо пересылаемый байт) сравнивается с замаскированным значением.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8