Селекторный канал
Иллюстрации
Показать всеРеферат
Oll ИСАНИЕ
ИЗОБРЕТЕН ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик (11) 525081 (61) Дополнительное к авт. свид-ву (22} Заявлено 27.06.74 (21) 2O40598/24 с присоединением заявки ¹ (23) Приоритет (43) Опубликовано15.О8 76.Бюллетень е30 (45) Дата опубликования описания 17.11.76 (51) М. Кл
506f 3/О4
Государственный комитет
Совета Министров СССР оо делам изобретений и открытий (53) УДК 681.325 (О88.8) В. П. Качков, С. В. Коновалова, О. В. Кулаго, В, И. Овсянников, Л. М. Парку-í, B. Б. Поплавский и Ю. В. Тихович (72) Авторы изобретения (71) Заявитель (54) СЕЛЕКТОРНЫЙ КАНАЛ
Цель изобретения — повышение быстродействия и сокращение оборудования. В описываемом селекторном канале зTo достигается тем, что он содержит блок формирования запроса и маски слова, блок счета байтов и регистр границы слова, при-.ем второй, третий, четвертый, пятый и шестой выходы блока управления блоком буферных регистpGD соединены соответственно с перьь м, вторым, третьим и четвертым входами блока счета байтов и первым входом блока формирования запроса и маски слова, второй, третий, четвертый, пятый, шестой, седьмой, восьмой, девятый, десятый, одиннадцатый, двенадцатый и первый входы регистра границы слова соединены соответстьенно с первым, вторым, третьим, четверИзобретение относится к вычислительной технике, в частности к селекторным каналам вычислительных машин и может быть использовано для управления обменом информацией междуьнешними устройствами и процессором.
Известен селекторный канал, содержащий блок управления каналом, блок буферных регистров, первые и вторые входы KGторых соединены соответственно с первым, 1О третьим, вторым, четвертым входами канала, первый, второй, третий, четвертый выходы которого соединены соответственно с первым выходом блока управления каналом и вторым выходом блока буферных ре- ц гистров, вторым выходом блока управления каналом, первым выходом блока буферных регистров, выходом коммутатора считывания (обратного считывания), первый вход которого и первые входы регистра команд 20 и блока управления блоком буферных регистров соединены соотьетстьенно с выходом регистра команд и третьим выходом блока управления каналом, третий вход которого соединен с выходом регистра команд, вто- 25 рые входы регистр» команд и коммутатора считывания (обратного считывания) соединены со вторим выходом блока буферных регистров, третий и четвертый входы которого соединены соотьетстьенно с первым входом канала и первым выходом блока управления блоком буферных регистров.
3 тым и пятым выходами блока форми ования .мирования запроса и маски слова на перезапроса и маски слова, выходом регистра дачу четырех байтов соединен с четвертыми команд, четвертым, пятым, шестым, седьвходами первого, второго, третьего и четмым, восьмым и тринадцатым выходами вертого элементов ИЛИ, пятые выходы узблока управления каналом, четвертый, 5 лов формирования запроса и маски слова пятый, шестой, седьмой входы, девятый, на передачу одного, двух ц трех байтов десятый, одиннадцатый и двенадцатый выи второй выход узла формирования эапроходы которого соединены соогветственно са и маски слова на передачу четырех с первым, вторым, третьим и четвертым байтов соединены соответственно с первым, выходами блока счета оаитов, вторым и
19 вторым, третьим и четвертым входами третьим входами блока формированич эаппятого элемента ИЛИ, шестые выходы роса и маски слова, пятым и шестым вхо- узлов формирования запроса и маски слова дами блока счета байтов, пятый выход.котона передачу одного, двух и трех байтов рого соединен с четвертым входом блока соединены соответственно с первым, втоформирования запроса и маски слова, шес- И рым и третьим входами шестого элемента той, седьмой, восьмой и девятый выходы
ИП4
П, седьмые выходы узлов формирования которого соединены соответственно с пязапроса и маски слова на передачу одного тым, шестым, седьмым и восьмым входами и двух байтов соединены соответственно блока буферных регистров, пятым, шестым, с первым и вторым входами седьмого седьМым и восьмым выходами канала, вто- @ рым, третьим, четвертым и гатьгм входами блока управления блоком буферных регистров, шестой, седьмой, восьмой и девятый на ер д чу д" ог айта входы которого соединены соответственно с первым, вторым, третьим и четвертым ния pос и мас.ы .л ов на,,=I.-. =ma;oae z регистра границы слова, выход д «у дву» ба тов и первымн з хо;та1ле . ь регистра команд и третий в оа олога мого и девятого элементоз И..1И,, =-".зрь;э входы которых соединевь. с эос"-.,;ьь;; в :у.-. но с пятым и шестым входами блока формирования запроса н маски слова, д:=.сятый у -трепачу д-в> выход которого соединен со втооьтм вь„ходом канала B описываемом селекторном каналe мым входом узла формыровалня эапроса,: —. блок формирования запроса и маски слова маски слова на передачу трех байтов„седьсодержит узлы формирования запроса и мой выход которого соеружен с третьим маски слова на передачу одного байта эап- 35 роса н маски слова на передачу двух бай-, тоРого соедии н с седьмым входом Узла тов, запроса и маски слова на передачу трех байтов, запроса и маски слова на редачу четырех байтов, первый, второй, тре-. передачу четырех байтов, первый, второй, тий, четвертый, пятый и шестой входы блотретий, четвертый, пятый, шестой, седь- 4О ка соединены соответственно с пятыми, пермой, восьмой и девятый элементы ИЛИ, выми, вторыми, четвертыми, третьими и причем первые выходы узлов формирования шестыми входами узлов формирования эапрозапроса и маски слова на передачу одно- са и маски слова на передачу одного, двух, го, двух и трех байтов соединены соответ- трех и четырех байтов, а первый, второй, ственно с первым, вторым и третьим входа-45 третий, четвертый, пятый, шестой, седьмой, ми первого элемента ИЛИ, вторые выходы восьмой, девятый и десятый выходы блока узлов формирования запроса и маски сло- соединены соответственно с выходом девява на передачу одного, двух и трех байтов того элемента ИЛИ, третьим выходом узла соединены соответственно> с первым, вто- формирования запроса 15 маски слова на рым и третьим входами второго элемента 69 передачу четырех. байтов, девятым выходом
ИЛИ, третьи выходы узлов формирования узла формирования запроса и маски слова запроса и маски слова на передачу одного, на передачу одного байта, выходами седьдвух и трех байтов соединены соответствен- мого, шестого, первого, второго, третьего, но с первым, вторым и третьим входами четвертого и пятого элементов ИЛИ. Он третьего элемента ИЛИ, четвертые выхо- ® отличается также и тем, что в нем регистр дн узлов формирования запроса и маски . границы слова содержит триггеры границы слова на передачу одного, двух н трех слова в первом, втором и третьем регистрах байтов соединены соответственно с пер- блока буферных регистров, триггер полного вым, вторым н третьим входами четверто- слова в блоке буферных регистров, первый, го элемента ИЛИ, первый выход узла фор» ® второй, третий, четвертый, пятый, шестой, 525O8i седьмой, восьмой, девятый, и десятый элементы И, первый, второй, третий, четвертый, пятый и шесток эл менты ИЛИ, первый второй, третий и четвер ый элементы НЕ, причем выход первого э емента И соединен с первым входом первог элемента ИЛИ, выход которо о соедине с первым входом второго элемента И, выход которого соеди1 нен с первым входом второго элемента ИЛИ и единичным установочным входом тригге- 10 ра полного слова в блоке буферных регистров, нулевои установочный вход которого соединен с выходом третьего элемента ИЛИ, первый, второй и третий входы ко-.орого соединены соответственно с выходами с, третьего H четвертогэ элементов И и первого элемента НЕ, выход которого соединен с первыми входами четвертого, пятого и шестого элементов ИЛИ, выход второго з; емента НЕ соединен с первым входом пятого элемента И, выход которого соединен со вторым входом четвертого элемента ИЛИ, выход которого соединен с нулевым установочным входом триггера границь. слова в третьем регистре блока буферных регистров, единичный установочный
Bxog которого соединен с BbtxopoM второго элемента ИЛИ, второй вход которого соединен с выходом шестого элемента И, 20 выходы третьего и четвертого элементов
HE соединены соответственно с первыми входами седьмого и восьмого элементов выходы которых соединены соответствекно со вторыми входами пятого и шестого элементов ИЛИ, выходы которых соединены с нулевыми установочными входами соответственно триггера границы слова во вто. ром и первом регистре блока буферных ре.-истров, единичные установочные входы
40 которых соединены соответственно с выходами девятого и десятого элементов И, второй вход второго элемента И соединен с четвертыми входами шестого, девятого и десятого элементов И и девятым входом блока, второй вход третьего элемента И соединен с первыми входами четвертого, шестого и девятого элементов И и третьими входами пятого, седьмого и десятого элементов И и с одиннадцатым входом блока, второй вход четвертого элемента И соединен со вторыми входами пятого, седьмого и восьмого элементов И и двенадцатым входом блока, второй вход шестого элемента
И соединен со входом второго элемента
НЕ и четвертым входом блока, третий вход шестого элемента И соединен со входом первого элемента НЕ, со вторыми входами девятого и десятого элементов И и с седьмым входом блока, третий вход девятого . 60 элемента И соединен со вхо" м третьего элемента НЕ и с пятым > -одом блока, шестой вход которого соединен со входом четвертого элемента НЕ и первым входом десятого элемента И, первый, второй, третий, восьмой и десятый входы блок." соединены соответственно с первым входом первого элемента И, со вторым входом первого элемента ИЛИ, со вторым входом первого элемента И, с третьим входом второго элемента И, с первым входом третьего элеменга И, а нулевые выходы триггеров полно-.о слова в блоке буферных регистров, границы слова в первом, втором я третьем регистрах блока буферных регистров соединены соответственно с первым, вторым, третьим и четвертым выходами блока. Кроме того, в нем блок счета байтов содержит счетчик байтов в блоке буферкьгх регистров, состоящий из первого, второго, третьего и четвертого триггеров, первый, второй, третий четвертый, пятый и шестой входные элементы И, дешифратор и шифратор, включающий первый, второй, третий, четвертый, пятый, шестой, седьмой., восьмой и девятый элементы И, первый, второй, третий, четвертый, пятый и шестой элементы НЕ, причем выход первого элемента И соединен со входом первого элемента
НЕ, выход которого соединен с первыми входами второго и третьего элементов И, выход второго элемента HE соединек с первыми входами четвертого, пятого и шестого элементов И, выход третьего элемента HE соединен с первым входом седьмого элемента И, выход ксторого, выходы третьего, пятого и шестого элементов И соединены соответственно с первым, вторым, третьим и четвертым входами восьмого элемента И, выход которого соединен со входом четвертого элемента НЕ, выходы второго, третьего, четвертого и пятого элементов И соединены соответственно с первым, вторым, третьим и четвертым входами девятого элемента И, выход которого соединек со входом пятого элемента НЕ, выходы второго, третьего, четвертого и пятого элементов И соединены соответственно с первым, вторым, третьим и четвертым входами девятого элемента И, выход которогс соединен со входом пятого элемента НЕ, выход которого, выходы первого, восьмого и девятого элементов И и выходы первого и четвертого элементов НЕ соединены с первыми входами соответственно четвертого, первого, пятого, третьего, второго и шестого входных элементов И, выходы первого, третьего и пятого входных элементов И соединены с единичными установоч525О81 ными входами второго, третьего и четвертого триггеров счетчика байтов в блоке буферных регистров, нулевые установочные входы которых соединены соответственно с выходами второго, четвертого и шестого входных элементов И, вторые входы которых и нулевой установочный вход первого триггера счетчика байтов в блоке буферных регистров соединены с пятым входом блока, единичный выход каждого триггера, р
В кроме первого, соединен со счетным входом, последующего триггера счетчика байтов в блоке буферных регистров, единичные выходы первого, второго, третьего и четвертого триггеров соединены соответственно )5 с первым, вторым, третьим и четвертым выходами блока и со входами дешифратора, выход которого соединен с пятым выходом блока, шест„й вход которого соединен со счетным входом четвертого триггера счет- 20 чика байтов! в блоке буферных регистров, первый вход первого элемента И соединен со вторыми входами второго, третьего и седьмого элементов И, со входом второго элемента НЕ, с первым входом блока, 25 второй вход которого соединен со вторым входом первого элемента И и вторым входом пятого элемента И, третий вход блока соединен с третьим входом третьего элемента И, вторым входом четвертого эле- 30 . мента И и входом шестого элемента НЕ, выход которого соединен с третьим входом шестого элемента И, четвертый вход блока соединен со входом третьего элемента НЕ, третьим входом второго элемента И и вторым входом шестого элемента И.
На фиг. 1 представлена блок-схема . описываемого селекторного канала;на фиг. 2 - структура 6 ока формирования запроса 1. и маски слова; на фиг, 3 - структура узла формирования запроса и маски слова на передачу двух байтов; на фиг. 4 - бпок схема регистра границы слова; на фиг. 5 структура блока счета байтов; на фиг. 6структура коммутатора считывания {обратного считывания).
Селекторный канал содержит блок 1 уп равления каналов, блок 2 буферных регистр ров, блок 3 управления блоком буферных Э1 регистров, регистр 4 команд, коммутатор
5 считывания (обратного считывания), блок 6 формирования запроса и маски слова, блок 7 счета байтов, регистр 8 грани- цы слова. Входы и выходы канала и его у узлов Обозначены: 9-12- входы, а 13-2Овыходы канала; 21 — выход блока формирования запроса и маски слова; 22 - выход регистра..команд;...23-27- шсоды блока
- фткхииращнния - =апаищ а28 - вы-, й9
8 ход, а 29 и 3Π— входы блока буферйых регистров; 31 — выход блока унравления ка-! налом; 32-42 - входы регистра границы слова; 43-46 — выходы регистра границы слова; 47-5Π— выходы блока управления блоком буферных регистров; 51 — выход блока управления каналом;;52-55 - входы блока управления каналом. Блок формирования запроса и маски слова содержит узел
56 формирования запроса и маски слова на передачу одного байта, узел 57 формирования запроса и маски слова на передачу двух .)байтов,, узел 58 формирования запроса и маски слова на передачу трех байтов, узел 59 формирования запроса и маски слова на передачу четырех байтов, элементы ИЛИ 60-68. Узел формирования запроса и маски слова на передачу одного байта, имеет выход 69, а узел формирования запроса и маски слова на передачу двух байтов - выходы 7О-77. Узел формирования запроса и маски слова на передачу двух байтов содержит элементы ИЛИ
78-87, элементый 88-101 и элементы НЦ
1О2-1О4. Элементы И имеют входы 1О5-112, а входы 113-12О являются входами блока. Регистр границы слова содержит триггеры 121«124, элементы ИЛИ 125-13О, элементы И 131-14О, элементй из дешифратора 145, счетчиков байтов
146, содержащего триггеры 147-15О, элементов И 151-156, шифратора 157 состояния буферных регистров, содержащего элементы И 158-166 и элементы дЕ 167-172. Коммутатор считывания (обратного считывания) содержит элементы
ИЛИ 173-176, элементы И 177-184, элементы НЕ 185. Селекторный,канал предназначен для подключения к процессору (на чертежах не показан) быстродействукицих внешних
1 устройств. Предполагается, что процессор микропрограммной вычислительной машины содержит оперативную память, арифметическо-логическое устройство и блок микропрограммого управления.
Операция передачи данных в селекторном канале начинается по специальной команде процессора, которая задает. адрес канала и устройства ввода — вывода и при помощи специальных управляющих слов ! указывает код команды, начальный адрес оперативной памяти, количество Передава, емых байтов данных н другие управляющие признаки, которые располагаются в регистрах канала н в специальной управляющей.лвмяти..(на чертежах-..ие-яикаяюиа)
525081 образуя в совокупности управляющее слово канала. Передача управляющей информации между процессором и регистрами канала производится через вход 9 и выход 14; передача управляющей информации и данных 5 между устройством ввода - вывода и каналом проиводится через блок 2 буферных регистров, вход 12 и выход 13. Получив необходимую управляющую информацик, канал производит начальную выборку устройства !0 ввода — вывода и освобождает процессор для выполнения других команд. B зависимости от кода операции, установленного в в регистре 4 команд, от значения счетчика байтов и младших разрядов адреса данных, признаков состояния регистров олока
3 управления блоком буферных регистров, состояния блока 7 счета байтов, поступающих ло входам 23-27 в блок 6 формирования запроса и маски слова, в последнем
20 вырабатывается запрос на микропрограммную приостановку, поступающий по выходу 21 блока 6 и выходу 15 канала в блок микропрограммного управления процессора, и вырабатываются управляющие сигналы
25 на выходах 17-2О маски приема слова данных в оперативную память или блок 2 буферных регистров. По запросу на микропрограммную приостановку, если память
30 свободна, выполнение текущей микропрограммы процессора прерывается и выполняется микропрограмма обслуживания данных канала, под управлением которой производится передача данных между блоком 2 буфер35 ных регистров и оперативной памятью процессора по входу 10 и выходу 16 канала, модификация адреса данных и счетчика байтов, Так как слово оперативной памяти процессора, к которому подключен рассматриваемый канал, состоит из четырех байтов, то передача данных между оперативной памятью и буфером данных канала производится в основном полными словами памяти, но в начале и конце
45 передачи данных возможна передача неполными словами памяти. Если начальный адрес данных не соответствует границе слова памяти, то при первой передаче данных между блоком 2 буферных регистров и оперативной памятью производится выравнивание адреса данных до границы слова.
Поэтому в начале передачи данных возможна передача одного, двух или трех байтов. 55
Если начальный или конечный адрес данных соответствует границе слова, но указан счетчик байтов меньше четырех, то осуществляется передача количества байтов, 60 соответствующего значению счетчика байтов, Блок 2 буферных регистров канала состоит из восьми однобайтных регистров (на чертежах не показаны). При передаче управляющей информации он загружается по входу
29 через восьмой буферный регистр и разгружается через первый буферный регистр по выходу 28, причем байт информации может быть продвинут от восьмого буферного регистра до первого (если перед этим блок буферных регистров был пустой ) за один машинный такт. При передаче данных в операциях считывания блок 2 загружается через восьмой буферчый регистр и разгружается через первый — четвертый буферные регистры, коммутатор 5 считывания (обратного считывания) в оперативную память, а в операциях записи загружается через восьмой — пятый буферные регистры и разгружается через первый буферный регистр в устройство ввода — вывода. Прием и сдвиг информации в блоке 2 осуществляется по входу 30 под управление блэка 3 управления блоком буферных регистров, в котором после каждого такта сдвига положение байтов данных в блоке 2 анализируется и
Ф устанавливаются соответствующие признаки полных и пустых буферных регистров. Отме— тим, что сдвиг в блоке 2 за один машинный такт производится всегда до ближайшего полного буферного регистра. Байт данных, соответствующий границе слова оперативной памяти, при выполнении операций записи принимается всегда в пятый буферный регистр, а при выполнении операции считывания— выдается из дервэго буферного регистра и дри операции обратного считывания — из четвертого буферного регистра в оперативную память, При выполнении операции записи в канале запрос на микропрограммное прерывание для выполнения микропрограммы обслуживания данных вырабатывается в блоке
6 формирования запроса и маски слова в тот момент, когда освобождаются восьмой, шестой, пятый и хотя бы один из дервого— четвертого буферных регистров, так как к моменту передачи байтов данных в блок 2 из оперативной памяти четвертый буферный регистр освобождается, т. е. становится
"пустым". Микропрограмма обслуживания данных производит необходимую корректировку управляющего слова канала и по маске слова, выработанной в блоке 6 формирования запроса и маски слова и поступаюющей по выходам 17-2О маски слова, производит передачу необходимых байтов данных в блок 2 буферных регистров. Если
525О81
12 передается полное слово, то маска слова равна "1111", а если передается неполное слово, например два байта, то в зависимости от адреса данных вырабатывается маска слова "llOO", "О11О" или ОО11" и бай- 5 ты данных принимаются соответственно в пятый и шестой, шестой и седьмой, седьмой и восьмой буферные регистры.
Таким образом, каждому байту слова памяти соответствует свое место в блоке щ
2 буферных регистров.
После приема из оперативной памяти в блок 2, байты данных сдвигаются до первогo буферного регистра, откуда они выдаются в устройство ввода — вывода. Опера- 1и ция записи в канале обычно заканчивается иногда, когда счетчик байтов достигает
"нуля", после передачи всех байтов из блока 2 буферных регистров в устройство ввода — вывода.
При выполнении операции считывания байты данных со входа 12 принимаются в восьмой буферный регистр блока 2 и продвигаются к первому — четвертому буферным регистрам, причем при каждом приеме байта данных по входу 12 содержимое счетчика байтов в блоке 7 счета байтов по сигналу на выходе 31 приема
/l со входа 1 2 увеличивается на " единицу .
B Hen ;oñòè от значения двух младших 39 разрядов адреса данных и значения счет= чика байтов в блоке 6 формирования запроса и маски слова вьграбатывагэтся специальные управляющие сигналы, поступа= ющие по входам 34-36 установки в регистр 8 границы слова, Пэ этим cèãíàëàì на входах 37-42 регистра 8 границы слова устанавливается один из триггеров границы слэва в соответствующем регистре блэка 2, нулевые выхэды которых по вьлодам 43-46 поступают в блок 3 управления блоком буферных регистров, где запрещают продвижение первого считанного или продвигаемого байта в соответствующий регистр блока 2. Как только необходимое количество байтов достигает своего места в блоке 2 буферных регистров, т. е. заполняются необходимые регистры до регистра, соответствующего границе слова, и в блоке 3 управления блоком буферных регистров вырабатываются необходимые сигналы полных первого-четвертого буферных регистров, в блоке 6 формирования запроса и маски слова выраоатывается запрос на микропрограммное прерывание для выполнения микропро раммы обслуживания данных. Одновременно в регистре 8 границы слова установится триггер полного слова в блоке 2, запрещающий продвижение байтов данных в первый — четвертый буферные регистры.
Микропрограмм обслуживания данных п -эизводит необходимую корректировку управляющего слова канала и по маске слова, выработанной в блоке 6 формирования запроса и маски слова,и поступающей в оперативную память по выходам 17-2О, производит передачу данных из блока 2 буферных регистров в регистр данных оперативной памяти через коммутатор 5 считывания (обратного считывания) и выходы 16 канала. По маске слова в такте чтения из оперативной памяти производится прием в регистр данных оперативной памяти байтов из блока 2 буферных регистров, если в соответствующем разряде маски указана "1", или с кодовых шин числа, если в соответствующем разряде маски указан "О". B конце микропрограммы обслуживания данных производится сброс первого-четвертого буферных регистров, корректировка содержимого счетчика байтов блоке 7 счета байтов, сбрасывается триггер полного слова в блоке 2 и осуществляется переориентировка регистра 8 границы слова. Операция считывания в канале заканчивается, когда счетчик байтов становится равным содержимому счетчика байтов в блэке 7 счета байтов. В этом случае блок 1 управления каналом заканчивает обмен даннь..ми с устройством ввода - вы-вода.
Входы каждого из четырех узлов 56-58 блока 6 формирования запроса и маски слова подключены к входу 23 состояния счетчика байтов, входу 24 состояния двух младших разрядов адреса данных, выходу
22 состояния регистра команд, входу 27 блока счета байтов, входу 26 состояния регистров в блоке 2 буферных регистров, а также к входу 25 блока 1 управления каналом.
Выборка одного из узлов формирования запроса и маски слова происходит в зависимости от следующих условий: если адрес данных соответствует границе слова, тo выполняется передача полного слова памяти (четырех байтов) при счетчике байтов " ) 4" или неполного слова при счетчике байтов " (4" (передача одного, двух и трех байтов, если счетчик байтов равен соответственно одному, двум и трем); если адрес данных не соответствует границе слова, тэ выполняется передача такого количества байтов (неполнэгэ слова), чтобы после этой передачи адрес данных соответствовал границе слова, причем, если до границы слова осталось передать три, два или один байт и счетчик соответственно равен или больше трех, двух или единицы, То выполняется передача соответственно трех, 525081 двух или одного байта до границы слова, а если величина счетчика байтов недостаточна для достижения границы слова, то выполняется передача количества байтов, указанного счетчиком байтов. 5
Выходы 69-77 узлов формирования запроса и маски слова соединены со входами элементов ИЛИ 60-68 и выходами блока.
Рассмотрим работу блока 6 формирования запроса и маски слова на примере работы 10 узла 57 формирования запроса и маски слова на передачу двух байтов.
Код "10", "11", "Ol", OO" состояния двух младших разрядов адреса данных поступает соответственно по входам 113-116 5 состояния младшего адреса данных блока 1 на входы элементов И 93-98 формирования маски слова, а код состояния содержимого счетчика байтов, соответствующий значению "=2" и ") 2", поступает по входам
117-118 состояния счетчика байтов блока
1 соответственно на элементы И 99-101.
Управляющий сигнал признака команды считывания ло входу 116 регистра команд поступает на входы элементов И 101, И
88-90 формирования запроса в операциях считывания, а также через элемент HE 102 на элемент И 91 формирования запроса в операциях записи. Управляющий сигчал ЗО признака обратного считывания по соответствующему входу 119 регистра команд поступает на входы элементов И 93-95 и через элемент НЕ 103 на входы элементов
И 96-98. Отметим., что управляющие признаки команд считывания и обратного считывания при выполнении операций записи отсутствуют, при этом элементы И 93-95, И lO1 и И 88-90 не работают.
Рассмотрим выполнение операции считы- 4О вания при коде адреса, равном "10", и счетчике байтов " 2", когда установлены управляющие сигналы на входах 118 и 113 и должно произойти выравнивание адреса до границы слова ОО . В этом случае на 45 выходе элемента формирования маски слова И 96 появляется управляющий сигнал, по которому вырабатываются сигналы маски слова на выходе элементов ИЛИ 82, 83, которые по выходам маски 6 и 77, че- 5О рез элементы ИЛИ 62, 61 блока 6 формирования запроса и маски слова поступают в оперативную память, блоки 2 и 3, Таким образом, вырабатывается маска слова, соответствующая коду "0011". С 55 выхода элемента И 96 управляющий сигнал через элемент И 92 поступает также на вход элемента И 88 формирования запроса, а также через выход 71 и элемент ИЛИ 66 блока 6 формирования запроса и маски сло- 60 ва на вход 35 установки границы слова во втором буферном регистре блока 2, по которому в регистре 8 границы слова устанавливается триггер границы слова во втором буферном регистре блока 2, запрещающий сдвиг считываемых байтов во второй и первый буферные регистры блока 2. Байты данных сдвигаются в блоке 2 и, как только заполняются третий и четвертый буферные регистры блока 2, в блоке 3 управления блоком оуферных регистров вырабатываются сигналы полных третьего и четвертогс буферных регистров блока 2, которые по входам
105 и 106 поступают на вход элемента
И 88 формирсвания запроса. При этом на выходе элемента ИЛИ 79 вырабатывается сигнал запроса íà читывание двух байтов. а на выходе элемента ИЛИ 78 — общий сигнал запроса, который через выход 73 узла 57 формирования запроса и маски на передачу двух байтов и элемент ИЛИ
60 поступает на выход запроса 21 блока
6 формирования запроса и маски слова.
По этому сигналу запроса блок микропрог— раммного управления процессора выполняет микропрограмму- обслуживания селекторного канала, которая пс маске слова
"0011" передает в оперативную память два байта данных. После передачи байтов данных, содержимое адреса данных и счетчика байтов модифицируется "на два" и изменяются соответственно условия формирования запроса и маски слова.
Если указан счетчик байтов, равчый двум, то через элемент И 99 и элемент
ИЛИ 87 возбуждается соответствующий элемент И 93, 94, 97, 98 формирования маски слова, Если устройство ввода — вывода заканчитывает операцию передачи данных, то на входе 25 блока 1 управления каналом появляется специальный управляющий сигнал, который поступает на элемент И 1Ol и, если в это время счетчик байтов .блока
7 равен "двум", т. е. возбужден соответ— ствующий выход состояния блока 7 счета байтов, срабатывает элемент И 101, сигнал с которого через элемент ИЛИ 87 поступает на соответствующие элементы И формирования маски слова, Если выполняется операция записи, то сигналы маскислова вырабатываются аналогично, а сигнал запроса вырабатывается с помощью элемента ИЛИ 84 и элемента
И 91, на входы которого по входам 109-112 поступают сигналы признаков пустых буферных регистров блока 2. В операции записи элементы И 93-95 в формировании маски слова не участвуют, так как на входе
525O8i
16 вания) в оперативную память, сбрасывает первый-четвертый буферные регистры и модифицирует счетчик байтов и адрес данных. В конце микропрограммы обслуживания данных сбрасывается тоиггер обслуживания данных в блоке 1 управления канала, а сигналом чо входу 41 возвра та из микропрограммы обслуживания данных и синхросигналом по входу 4О сбрасы)p вается триггер 121 полного слова и производится переориентировка (установка к сброс) триггеров 124, 123, 122 границы слова в первом-третьем буферных регистрах в соответствии с новым значением масбайта, по выходу 69 запроса на считывание 15 ки слова.
При считывании полного 0>< т. е. четырех байтов, триггеры 124, 123, 122 не участвуют в работе, а по входу 33 запроса на считывание четырех байтов во время микропрограммного занесения адреса в канал сигналом по входу 42 устанавливается через элемент И 14О триггер
121 полного слова и триггер границы слова в третьем буферном регистре.
Дальнейшие действия аналогичны действиям, выполняемым при считывании неполного слова, Таким образом, при счи":- -,:-. нии байтов данных из устройства в. ;.. - вывода триггер 121 полного слова в блоке 8 блокирует сдвиг последующих байтов данных в первый -четвертый буферные регистры на время выполнения микропрограммы обслуживании данных.
119 отсутствует управляющий сигнал обратного считывания.
При считывании байтов с устройства ввода-вывода, кгда указан счетчик байтов больше блока данных на носителе информации, возможен случай окончания операции ввода устройством ввода - вывода раньше, чем счетчик байтов станет равным нулю.
В этом случае требуется иногда изменить условие выработки запроса и маски слова, если количество байтов, принятых в буфер данных, меньше требуемых счетчиком байтов. Поэтому в операциях считывания, если появляется запрос на считывание одного одного байта через элемент НЕ 1О4 блокируется формирование маски и запроса на передачу двух байтов данных и через элементы ИЛИ 67 и 68 блока 6 формирова» ния запроса и маски слова блокируется 20 формирование запроса и маски слова на передачу трех и четырех байтов.
В операциях считывания по входным сигналам установки границы слова, поступающим по входам 34-36 блока 6 фор- 25 мирсвания запроса и маски слова на элементы И 138, 136, 134 и через элементы
HE 142-144 на элементы И 139, 137, 135, последним синхросигналом по входу
4О, если установлен сигнал на входе 38 39 нулевого состояния триггера микроцрограммы обслуживания данных, устанавливается триггер границы слова в соответствуюшем буферном регистре "Нулевые состояния триггеров границы слова поступают по выходам 43-46 в блок 3 управления блоком буферных регистров, где запрешают продвижение байтов данных до соо ветствующего буферного регистра в блоке
2. После заполнения необходимого количества байтов данных в блоке 6 формирования запроса и маски слова устанавлива ется сигнал запроса на считывание одного, двух или трех байтов данных, который по входу 32 запроса через элемент ИЛИ 13О поступает на элемент И 131. Последним задержанным синхросигналом по входу 37 через элемент И 131 устанавливается триггер 121 полного слова и триггер 122 д) границы слова в третьем буферном регистре. После этого выполняется микропрограмма обслуживания данных селекторного канала, во время выполнения которой триггер микропрограммы обслуживания данных на- рр ходится в единичном" состоянии. Микропрограмма обслуживания данных производит передачу байтов данных из перво1очетвертого буферных регистров через. коммутатор 5 считывания (обратного считы- a) В случае, когда при выполнении микропрограммы обслуживания данных регистр счетчика байтов блока 1 управления каналом, после модификации, достигает нуля" и указано зацепление по данным,то микропрограмма обслуживания данных, после передачи в память последних байтов текущего командного слова канала, не заканчивается и производится загрузка нового командного слова канала в регистры блока
1 управления каналом. Эта процедура требует больше времени, чем одно обслуживание данных. Поэтому .пропускная способность канала с использованием зацепления по данным несколько снижается, так как буферизация данных в этом случае равна четырем байтам. Для увеличения буферизации данных до пяти байтов, в конце передачи последних байтов данных текущего командного слова канала сигналом по входу 39 загрузки счетчика байтов и адреса денных в канал сбрасывается триггер 121 полного слова и байт данных, относящийся к новому командному слову канала, сдвигается до третьего буферного
525О81
18 регистра блока 2. После загрузки нового командного слова канала в канал сигналом по входу 41 возврата из микропрограммы обслуживания данных производится переориентировка регистра границ аналогично описанной выше.
Отметим, что при выполнении операций записи регистр 8 границы слова не принимает участие в работе, так как через элемент НЕ 143 осуществляется его сброс. 10
На входы шифратора 157 состояния по выходам 47-5О из блока 3 управления блоком буферных регистров поступают признаки полных восьмого-пятого буферных регистров. 15
При работе блока 7 счета байтов в буфере сигнал по выходу 31 приема байта данных со входа 12 в счетчик 146 байтов в блоке буферных регистров производится добавление "+1 . После заполнения необходимого количества буферных регистров в блоке 2 выполняется микропрограмма обслуживания данных селекторного канала, которая через коммутатор 5 считывания (обратного считывания) передает данные из блока 2 буферных регистров в оперативную память. После передачи данных в оперативную память производится сброс первого-четвертого буферных регистров и сигналом по выходу о 1 сброса этих pet
ЗО гист - а производится корректировка счетчика
14 .: ."= .Йтов по состоянию восьмого-пятого буферных регистров через шифратор
157 состояния и элементы установки И
151-156. Отметим, что триггер 147 счет35 чика бай тов при корректировке всегда устанавливается в "нулевое" состояние, так как в верхней половине блока 2 буферных регистров может быть только четыре байта.
Коммутатор 5 считывания (обратного считывания) работае т следующим образом.
Если выполняется операция считывания, то байты данн