КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Управляющая информация для операций ввода-вывода
В ЭВМ с каналами ввода-вывода управление вводом-выводом строится иерархическим образом (рис. 8.5) В операциях ввода-вывода участвуют три типа устройств: процессор (первый уровень управления), канал ввода-вывода (второй уровень), периферийное устройство (третий уровень). Каждому типу устройств соответствует определенный вид управляющей информации: процессору - команды ввода-вывода, каналу - управляющие слова канала (УСК), периферийному устройству - приказы. Кроме того, в управлении вводом-выводом используются коды состояния канала [слово состояния канала (ССК)] и ПУ (байт состояния и байты уточненного состояния). Форматы основных видов управляющей информации для операций ввода-вывода в ЕС ЭВМ представлены на рис. 8.6. Каждая операция или совокупность операций ввода-вывода производится под управлением соответствующей программы канала, реализуемой аппаратурными средствами канала, ПУ (и его УПУ) и интерфейса ввода-вывода. Программа канала представляет собой некоторую последовательность УСК, обеспечивающую выполнение определенной операции ввода-вывода. Обычно канальные программы хранятся в ОП. Таким образом, в ЭВМ организуется параллельное выполнение во времени взаимодействующих между собой программно-управляемых процессов: выполнение процессором программы обработки данных и выполнение каналами и ПУ канальных программ операций ввода-вывода. Команды ввода-вывода являются привилегированными и выполняются только в состоянии «супервизор». Все команды ввода-вывода завершаются формированием признака результата в ССП. Система команд ЭВМ содержит небольшое число универсальных по отношению к разным типам ПУ команд ввода-вывода. Так, в ЕС ЭВМ I очереди для управления вводом-выводом использовались четыре команды: «Начать ввод-вывод», «Остановить ввод-вывод», «Проверить ввод-вывод», «Проверить канал». Команда "Начать ввод-вывод" инициирует одну или несколько (цепочку) операций ввода-вывода с указанным в команде каналом и ПУ. Этой командой процессора начинаются операции ввода-вывода с любым ПУ. О завершении отдельного ее этапа, или цепочки операций, канал сообщает процессору путем прерываний. Во всех указанных выше командах ввода-вывода (кроме первой) достаточно указывать код операции и номер канала и ПУ. В команде «Начать ввод-вывод», кроме того, нужно указывать адрес первого УСК в программе канала. Для единообразного представления всех команд ввода-вывода в ЕС ЭВМ для них принят один общий формат, показанный на рис. 8.6, а. Адрес первого УСК программы канала содержится в так называемом адресном, слове канала (АСК) (рис. 8.6, 6), хранимом в определенной ячейке ОП, куда оно должно быть помещено до начала выполнения команды «Начать ввод-вывод». При выполнении команды ввода-вывода содержимое указанного в команде регистра В1 складывается с числом в поле D1 и полученная сумма располагается в разрядах 21 - 31 слова, при этом разряды 21 - 23 и 24 - 31 указывают соответственно номер канала и номер ПУ. Адресное слово канала содержит код «ключа», используемый для защиты памяти при данной операции ввода-вывода Признак результата, формируемый при выполнении команды «Начать ввод-вывод», указывает, нормально ли прошел пуск операции ввода-вывода. По команде «Остановить ввод-вывод» операция ввода-вывода может быть принудительно прекращена процессором до ее завершения в адресуемом командой канале и ПУ. Команды «Проверить канал» и «Проверить ввод-вывод» позволяют процессору определять состояние канала и ПУ. По команде «Проверить канал» канал в фиксированной ячейке ОП формирует ССК (рис. 8.6, в) и устанавливает в ССП признак результата, определяющий состояние адресуемого канала: канал доступен, канал хранит условия прерывания, канал работает в монопольном режиме, канал выключен. При выполнении команды «Проверить ввод-вывод» из ПУ в канал выдается байт его состояния, а из канала в процессор поступает признак результата, указывающий следующие возможные ситуации: адресуемое ПУ доступно, ССК записано, канал (подканал) занят, адресуемое ПУ выключено. Управляющее слово канала (УСК). В ЕС ЭВМ формат УСК соответствует двойному слову, те 64 разрядам (рис. 8.6,г). При выполнении канальной программы ее управляющие слова выбираются последовательно из памяти, если только не предусмотрено программой канала нарушение естественного порядка выборки УСК. Для удобства дальнейшего изложения материала будем пользоваться следующей упрощенной структурой УСК: Код операции (приказ) определяет как для канала, так и для ПУ тип операции, задаваемой этим управляющим словом. Приказ представляет собой часть УСК, которая задает операцию, выполняемую каналом, каналом и ПУ совместно или одним ПУ. В последних двух случаях приказ передается в ПУ и инициирует в нем определенные действия (например, установку головок на нужный цилиндр в ЗУ на дисках, запись информации и др.). Приказ содержит информацию, специфичную для данного типа ПУ. Рис. 8.6. Форматы команды ввода-вывода (а), адресного слова какала (б), слова состояния канала {в) и управляющего слова канала (г) в ЕС ЭВМ. Приведем основные виды приказов, допускающих ряд модификаций: - «Записать» (вывод информации из ОП в ПУ); - «Прочитать» (ввод информации из ПУ в ОП); - «Управление» (перемещение магнитной ленты, перемещение головок в ЗУ на дисках и другие служебные операции); «Проверить ввод-вывод» (запрос байта состояния); - «Уточнить состояние» (запрос кода уточненного состояния ПУ). Кроме операций, управляющих передачами информации, предусматриваются также операции, которые нужны для построения самих программ канала. К ним относится так называемый «Переход в канале». Эта операция является внутренней процедурой канала и непосредственно на работу ПУ не влияет. Управляющее слово, задающее переход в канале, указывает адрес следующего УСК в цепи и, таким образом, позволяет выполнять программы канала, в которых УСК располагаются не в последовательных ячейках памяти. Этот вид перехода в программе канала является безусловным переходом. Для реализации ветвлений, в программах канала применяются условные переходы. В зависимости от признаков» характеризующих состояние ПУ. после выполнения очередного управляющего слова следующее УСК в цепи операции либо выполняется, либо пропускается. В ЕС ЭВМ признаком условного перехода в канальной программе служит содержимое разряда «Модификатор состояния» в байте состояния, который ПУ посылает в канал по завершении операции, предписанной текущим УСК. Если модификатор состояния содержит 0, то выбирается и исполняется следующее по порядку УСК в цепочке операций. Если модификатор равен 1, следующее УСК пропускается. Далее будет рассмотрен пример программы канала, в которой используются условный и безусловный переходы. Адрес данных (АД) и счетчик данных (СчД) определяют область памяти, используемую в операция ввода-вывода. Адрес данных указывает адрес первого (или последнего при обратном вводе) байта из массива информации; счетчик данных указывает число байт. Указатель цепочки данных (ЦД). При ЦД=0 операция после использования данного УСК оканчивается, при ЦД=1 она продолжается с новым массивом данных, указанным следующем УСК. Указатель цепочки операций (ЦО). При ЦО=0 программа канала для данного ПУ заканчивается на рассматриваемом УСК, если нет указаний о продолжении цепочки данных. Если ЦД=0, то при ЦО=1 после выполнения действий, предусмотренных данным УСК, следующее по порядку УСК выбирается из памяти и начинается выполнение новой операции ввода-вывода с тем же ПУ. Указатель блокировки (УБ) сигнала неправильной длины, формирующегося (в отсутствие признака цепочки данных ЦД=1) при несоответствии числа фактически переданных байт длине физической записи. Этот сигнал прекращает выполнение канальной программы и вызывает прерывание программы процессора. При УБ=1 сигнал неправильной длины блокируется. Указатель пропуска информации (ПИ). При ПИ=1 передача информации между каналом и оперативной памятью подавляется, канал осуществляет только подсчет слов, проходящих между каналом и ПУ. Указатель прерывания (ПР). При ПР=1 канал посылает в процессор запрос программно-управляемого прерывания.
Дата добавления: 2014-01-07; Просмотров: 1247; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |