Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методический материал по ЭВМ.doc
Скачиваний:
104
Добавлен:
22.09.2019
Размер:
2.38 Mб
Скачать

7.2 Ввод-вывод при использовании процессоров ввода-вывода Функционирование селекторного канала

РКК

РАКК – регистр адреса канальной команды

РКК – регистр канальной команды

БР – буферный регистр

РДК – регистр данных канала

СБ – счетчик байт

РВУ – регистр внешнего устройства

РАКК хранит адрес следующего выполняемого управляющего слова.

РКК хранит текущее управляющее слово.

БР предназначен для повышения скорости работы селекторного канала.

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

СБ определяет номер байта на РДК, с которым производится обмен с РВУ. Имеет кольцевую структуру и после того, как РДК полностью заполнен, либо полностью разгружен сбрасывается в ноль. Для определенности положим, что ширина выборки из ОП равна 4 байтам.

Ширина информационного тракта – это число байт одновременно передаваемых между РДК и РВУ. Для определенности положим, что ширина информационного тракта равна 1 байту.

Два младших разряда адреса данных в ОП определяют номер байта внутри ширины выборки. Старшие разряды определяют адрес ячейки памяти, где хранятся данные, объем которых равен ширине выборки.

1010…0|00

1010…0|01

1010…0|10

1010…0|11

1010…1|00

Первый этап: выбор управляющего слова из памяти. УС имеет размер 8 байт, поэтому по адресу, который хранится на РАРК за два обращения к ОП выбирается УС и помещается на РКК. Далее анализируется КОП.

7.3 Режимы работы процессоров ввода-вывода

Выполнение операции «запись»:

Старшая часть адреса поступает в ОП. В СБ заносятся младшие разряды исполнительного адреса, которые определяют номер байта, считываемого в РДК.

СБ управляет коммутационной схемой, которая коммутирует нужный номер байта , хранящегося на РДК, с РВУ. По СБ 1 байт переписывается с РДК на РВУ и корректируются параметры канала в соответствии с формулой (1):

Дл = Дл – 1;

Адр = Адр + 1; (1)

СБ = СБ + 1.

Если СБ и Дл массива не равны нулю, то с РДК на РВУ считывается следующий байт информации.

Если Дл массива не равна нулю, а СБ = 0 , то РДК разгружен полностью. И если массив полностью не переписан, по адресу, хранящемуся на РКК, нужно считать следующие 4 байта из памяти и поместить их на РДК.

Если Дл массива стала равна нулю, нужно проверить поле признака. Если признак цепочки команд равен 1, то выбирается следующее управляющее слово из памяти. Если признак равен 0, то формируется сигнал прерывания в ЦП.

Выполнение операции «чтение»:

По СБ с РВУ на РДК заносится очередной байт информации и по формуле (1) корректируются параметры канала.

Если СБ и Дл массива не равны нулю, то с РВУ на РДК заносится следующий байт информации.

Если СБ = 0, то РДК заполнен полностью и данные с РДК надо записать в память по старшим разрядам адреса, хранящимся на РКК. Если Дл массива = 0, то проверяется поле признака (см. выполнение операции «запись»). Предварительно содержимое РДК заносится в ОП.

При выполнении операции «запись» в ОП сначала данные считываются на РЧП, а потом по СБ с РДК нужное количество байт изменяется на РЧП.

БР позволяет организовать параллельную работу по разгрузке и заполнению РДК и по обмену между БР и ОП. БР позволяет увеличить скорость работы селекторного канала. При выполнении операции «запись», пока данные с РДК переписываются на РВУ, из памяти выбираются следующие 4 байта массива на БР. При выполнении операции «чтение» предшествующие 4 байта с БР записываются в ОП, а в это время с РВУ заполняется следующими байтами РДК.