Устройство для сопряжения
Иллюстрации
Показать всеРеферат
ОП ИСАНИЕ
ИЗОЬРЕТЕ Н ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик н877520 (61) Дополнительное к авт, свид-ву— (22) Заявлено 03.01.80 (21) 2899909/18-24 (53)M. Кл.
G 06 F 3/04 с присоединением заявки ле
5Ьаударатекнный комитет
СССР ав делам изобретений и открытий (28) Приоритет-Опубликовано 30.10.81, Бюллетень М 40
Дата опубликования описания 30 . 10. 81 (53) УДК681. 3 (088. 8) (72) Авторы изобретения
1
В. И. Вьюн, А. Ф. Зубец, Д., И. Масол и С. Н...Сахаров
° . г ч
II Ъ
Ы л.
Ордена Ленина институт кибернетики AH Украй1Тстсттй тбОР"-"-----"-"=. (71) Зая интел ь (54) УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ
Изобретение относится к вычислительной технике и может найти приме нение в вычислительных системах, обслуживающих абонентов различного типа (периферийные устройства, процессоры, ЭВМ и т. п.) .
Известно устройство для сопряжения, используемое в вычислительной системе для подключения абонеятов к центральному устройству обработки и !
О содержащее блок приема-выдачи сигналов от (в) периферийных устройств, арифметико-логический блок, блок регистров, счетчик команд, блок памяти, регистр команд, блок декодирования и исполнения команд 1J.
Недостаток этого устройства заключается в низкой пропускной способности, обусловленной необходимостью программной обработки отдельных разрядов
20 данных.
Наиболее близким к предлагаемому по технической сущности является уст ройство для сопряжения, содержащее последовательно соединенные блок декодирования и исполнения команд, счетчик команд, память команд, регистр команд, соответствующие выходы которого подключены к первому входу блока маскирования входных сигналов и к первым .входам блоков коммутации входов первого операнда, второго операнда и блока памяти данных, выход которого соединен со входом рлока памяти данных, соответствующими выходами подключенного. ко вторым входам блоков коммутации .входов первого операнда и второго операнда, выходы которых соединены С соот" ветствующими входами арифметико-логического блока, соединенного через регистр результата со входом регистра управления выдачей и вторым входом блока коммутации входов памяти данных, третьим входом соединенного с выходом блока маскирования входных сигналов, второй вход которого подключен к выходу блока коммутации входных сигналов, входы которого являются соответствую3 87 щнми входами устройства, первый выход регистра управления выдачей соединен с дешифратором регистра выдачи, второй выход — с первыми входами блоков маскирования входов регистров выдачи, вторыми входами подключенных к соответствующим выходам дешифратора регистра выдачи, a,òðåòèé выход †. с первы" ми входами блоков формирования. сигналов установки, вторые входы которых соединены с выходами соответствующих блоков маскирования входов регистров выдачи, а выходы — через соответствующие регистры выдачи с соответствующими выходами устройства 12 .
Недостаток этого устройства состоит в низкой пропускной способности, обусловленной большим объемом дополнительной программной работы при упакрвке отдельных разрядов данных.
Цель изобретения †.повышение пропускной способности устройства.
Поставленная цель достигается тем, что в устройство, содержащее регистр команд, первый выход которого. через последовательно соединенные блок декодирования команд и счетчик команд подключен ко входу памяти команд, выходом соединенной со входом регистра команд, блок коммутации входных сигналов, входы которого являются соот. ветс гвующими входами устройства, блок, коммутации маски входных сигналов, блок. памяти данных, блоки коммутации входов первого и второго операндов, блок коммутации входов блока памяти данных, арифметика-логический блок, соединенный вйходом со входом регистра результата, регистр управления выдачей, дешифратор регистра выдачи, уруппу блоков коммутации маски входов регистров выдачи, группу блоков формирования сигналов установки, группу регистров выдачи, выходы которых являются соответствующими выходами устройства, причем второй выход регистра команд подключен к первым входам блоков коммутации входов первого и второго. операндов и блока коммутации входов блока памяти данных,. вторым вхо дом соединенного с выходом регистра результата и входом регистра управления выдачей, первый выход которого.. соединен со входом дешифратора регистра выдачи, второй выход - с первыми входами блока .коммутации маски входов регистров выдачи группы, вторыми входами подключенных к соответствующим выходам дешифратора регистра выдачи, 7520 4 а третий выход †. с первыми входами блоков формирования сигналов установки группы, вторые входы которых соединены с выходами соответствующих блоков
5 коммутации маски входов регистров выдачи группы, а выходы . — со.входами соответствующих регистров выдачи группы, третий выход регистра команд соединен с первым входом блока коммутации маски входных сигналов вторым входом подключенного к выходу блока.коммутации входных сигналов, à ssrходом — к третьему входу блока коммутации входов блока памяти данных, первый и второй выходы блока памяти данных соединены соответственно. со вторыми входами блоков коммутации входов первого и второго операнда, выходы. которых соединены соответственно с первым: и вторым входами арифметикологического блока, введен блок регистров упаковки, причем первый вход блока регистров упаковки соединен с третьим выходом регистра команд, второй
25 . вход — с выходом блока .коммутации.входов.блока памяти данных, а выход — со входам блока памяти данных, На фиг. 1 представлена блок-схема предлагаемого устройства;. на фиг.
30 блок-схема блока регистров. упаковки; на фиг. 3 .и 4 -. функциональные схемы, формирователя. входного сигнала.и регистра маски блока регистров. упакавки; на фиг. 5 — временная диаграмма работы .узла синхронизации блока регистров. упаковки, Устройство содержит блок 1. декодирования команд, счетчик 2 команд, память 3 команд, регистр 4,команд, блокг
5 коммутации маски входных сигналов, 40 блок 6 коммутации входов первого операнпа, блок 7 коммутации, входов второго операнда,, блок 8 коммутации входов блока памяти данных,, блок 9 памяти данных, арифметикологический блок
45 (АЛБ) 10, регистр ll результата, ре- . гистр 12 управления выдачей, блок 13 коммутации входных .сигналов, дешифратор 14 регистра выдачи, блок 15 коммутации маски входов регистров выдачи, 50 блок 16 формирования сигналов установки, регистры 17 выдачи и блок 18 регистров упаковки.
Блок 18 регистров. упаковки содер. жит узел 19 коммутации входов блока, регистр 20..упаковки, регистр 21 данных1 регистр 22 маски и узел 23 синхронизации, включающий (фиг. 2) элемент
ИЛИ 24, формирователи 25-27 входного
87 7520
5 сигнала, элементы И 28-30, элемент
НЕ 31 и генератор 32 импульсов.
Формирователь входного сигнала.содержит (фиг. 3) элементы HE 33 и 34 и элементы И-НЕ 35-37.
Регистр 22 маски содержит (фиг. 4) элемент ИЛИ 38 и группу одинаковых разрядов, кажцый из которых включает элементы И 39 и 40, элемент ИЛИ 41 и триггер 42, представляющий О-триггер с динамическим управлением.
Адрес команды, по которому блок l осуществляет считывание команды из памяти 3 в регистр 4, а затем формирование всех необходимых управляющих сигналов, хранится в счетчике 2.
Выборка дискретных входных сигналов, подлежащих обработке, осуществляется блоками 13 и 5. Блок 13 позволяет выделить число сигналов, равное длине слова, а блок 5 — отдельные сигналы в этом слове, отмеченные единицами в соответствующих разрядах маски, причем все остальные сигналы этого слова заменяются нулями. Полученное слово запоминается в блоке 9 памяти, предназначенным для хранения промежуточных результатов.
Блоки 6 и 7 коммутируют на свои выходы значения первого (операнд . А) и
ЗО второго (операнд В) операндов для дальнейшей обработки. Блок 8 коммутирует на свои выходы промежуточные результаты для запоминания в блоке 9 памяти, АЛБ 10 выполняет.в соответст,:вии с полученным кодом одну из арифетических или логических операций над поступающими операндами А и Ь и передает результат в регистр ll, Установка в регистрах 17 дискретных выходных сигналов, служащих для управления абонентами, осуществляется блоками 12 и 14-16. Содержимое регистра 12 функционально разделено на три поля. В первом поле указан номер одного из регистров 17 в двоичном коде, 45 который дешифрируется дешифратором 14.
Во втором поле, поступающем йа входы блока 15, единицами отмечены сигналы, подлежащие изменению, а нулями — не подлежащие изменению. В третьем поле, 50 поступающем на входы блока 16, указаны новые значения тех сигналов, которые подлежат изменению.
Блок 18 позволяет .упаковать (т. е. расположить последовательно друг за другом, начиная с крайнего правого разряда) произвольные разряды слова данных, отмеченные единицами. в соответствующих разрядах слова маски. Ре6 зультат упаковки может быть представлен в виде двух полей. В правом лоле, содержащем столько разрядов, сколько единиц в слове маски, находятся упакованные разряды поступившего слова
paííûõ. В левом поле могут ". быть или нули во всех разрядах, или сдвинутые влево на число единиц в слове маски ранее занесенное алово данных.
Слово данных, подлежащее упаковке, заносится в регистр 21 и в соответствии со значением слова маски в регистре 22 передается в выходной регистр
20. Узел 23 управляет процессом упаковки и фиксирует его окончание. Узел
19 позволяет не применять упаковку в тех случаях, когда она не требуется. .Регистры 20-22 имеют одинаковое число разрядов и обеспечивают прием параллельного кода и. сдвиг его на один разряд влево. В процессе упаковки содержимое регистров 21 и 22 сдвигается влево при каждом сигнале сдвига, а содержимое регистра 20 только в том случае, когда в крайнем левом разряде регистра 22 находится единица, при этом крайний левый разряд регистра 21 сдвигается в крайний правый разряд регистра 20., Признаком окончания процесса упаковки. является формирование признака ноль во всех разрядах регистра 22, для этого при сдвиге влево крайний- правый разряд регистра 22 устанавливаетсч в ноль.
Таким образом, после окончания . упаковки в регистр 20 будут переписаны только те разряды регистра 21„. для которых в соответствующих разрядах регистра 22 были записаны единицы, причем они будут расположены слева от предыдущего содержимого регистра 20.
На фиг. 2 показаны схема узла 23 и его связи с остальными узлами блока
18 и с блоком 1 (цепи синхронизации от блока 1 декодирования команд не сопровождаются дополнительными надписями в круглых скобках).
Дополнительный сброс регистра 20 упаковки осуществляется сигналом
"Сброс 2" с помощью элемента ИЛИ 24.
Многовходовый элемент И 29 служит для формирования признака ноль so всех разрядах регистра 22 маски. Для этой цели на каждый вход элемента И 29 поступает инверсный выход триггера каждого разряда регистра 22.. Элемент
НЕ 31 позволяет получить инверсное значение признака, формируемого элементом И 29. Двухвходовые элементы И 28
7 877520 8
ы "Управление", лающих на управляющий вход триггеров ние (элемент И 28) 42, а двухвходовые элементы И 39 и 40 т И 30) процесса совместно с элементом ИЛИ 41 — на инели на первые вхо- формационный вход триггера 42. оступает сигнал 5 Элементы И 40 позволяют организоФормирователи вать прием параллельного кода, а элеть поступление сиг- менты И 39 — сдвиг,его на один разряд и "Входной импульс" влево. Для этой цели на первые входы .ором 32 импульсов, всех элементов И 39 поступает сигнал сключают появление 1р "Разрешение сдвига", а на второй вход в на своих выходах. элемента И 39 каждого старшего разряигнала "Входной ша поступает единичный выход триггера лемента НЕ 33 и на 42 соседнего младшего разряда, На втота И-НЕ 37 появится рой вход элемента И 39 самого младшеоде элемента И-НЕ 1g ro разряда поступает сигнал "0", предэлемента И-НЕ 36 ставляющий с бой постоянно отсутству34 и, следователь- ющий сигнал, так называемый логичесвать сигнал на выхо- кий ноль. который является Описываемая организация регистров я. -В этом случае 2О блока 18 основана.на том, что триг,-поступающий на геры с динамическим управлением игноа И-НЕ 35, имеет, рируют изменение сигнала на информавить формирователь ционном входе во время действия сигЕсли сигнал "Уп- нала на управляющем входе, другими ет, то появится 25 словами они воспринимают только то оде элемента И-НЕ значение сигнала на информационном исчезнет сигнал входе, которое непосредственно нахомента И-НЕ 37, и дится в момент появления переднего т пропустить на фронта сигнала на управляющем входе. щие сигналы "Вход„30
На первый выход регистра 22 маски . сигнал "Управление" поступает. сигнал с единичного выхода
l ет сигнал на выхо- триггера самого старшего разряда, fl
f что вызовет.появ- этот сигнал имеет наименование Выход ором входе. элемен- 22". Аналогичный выход регистра 21
tt л он сможет про- данных имеет наименование Выход 21 од. поступающие На втором выходе регистра 22 маски, мпульс". поступающем на входы элемента И 29, собраны инверсные выходы всех триггеала ."Входной им- ров 42. нал на первом вхо.Устройство работает следующим оби сигнал . Управле- 40 разом. и 30 формируют сигнал определяющие выполне и завершение (элемен упаковки. Для этой ц ды этих элементов и
"Разрешение сдвига" позволяют согласова налов ."Управление" . формируемый генерат и, таким образом, и искаженных импульсо
При отсутствии с импульс" на входе э первом входе .элемен сигнал -на первом вх
35, .на первом входе и входе элемента НЕ но, будет отсутство де элемента НЕ 34; выходом формировател сигнал "Управление" второй вход элемент возможность подгото к дальнейшей работе равление" отсутству сигнал на втором вх
Зб и, следовательно на втором входе эле поэтому он не сможе свой выход поступаю ной импульс". Если появится, то исчезн де элемента И-НЕ 35 ление сигнала на вт та И-НЕ 37 и поэтому пускать на свой вых сигналы "Входной и
При наличии сиги пульс" исчезает сиг де элемента И-НЕ 35 ние" не может большв влиять на работу
11 и формирователя. Если сигнал Управление присутствовал при появлении сигнала
"Входной импульс". то, как было рассмотрено вьппе, исчезновение сигнала 4> на выходе элемвнта И-НЕ 37 обеспечит появление сигнала на втором входе элемента И-НЕ 37 на время, равное дли.тельности сигнала "Входной .импульс", независимо от исчезновения-в этот период сигнала. "Управление".
Входящие -в состав блока- 18 регистры 20-22 выполняют аналогичные функ- ции,. а именно: .прием и выдачу параллельного кода и сдвиг его на Один раз 55 ряд влево и поэтому имеют .аналогичную структуру..
В .регистре 22 маски элемент ИЛИ 38 служит для объединения сигналов, постуПри необходимости преобразования последовательного кода, поступающего от.абонента, в параллельный код устройство работает следующим образом.
При выполнении каждой команды упаковки, слово маски из регистра 4 заносится в регистр 22 и одновременно поступает в блок 5, а слово данных, фор— мируемое блоками 13 и 5 и содержащее требуемый входной сигнал, .заносится в регистр 21 через блок 8. После окончания команды упаковки к содержимому регистра 20 будет добавлен справа .бит информации, поступивший от абонента.
Регистр 20 устанавливается в ноль при выполнении первой команды упаковки и после того как его содержимое запи„сано в блок 9 памяти.
9 87752
При необходимости сформировать .одно слово данных иэ полей, находящихся в разных словах, например, для занесения в регистр 12, устройство рабо.тает следующим образом.
При выполнении первой команды упаковки регистр 20 устанавливается в ноль, в регистр 22,поступает слово маски иэ регистра 4, а в регистр 21 слово данных, содержащее первое поле, из блока 9 памяти через. блок 6, АЛБ
lO, регистр 11 и блок 8. Слово маски содержит единицы только в тех разрядах, которые надо выделить .из слова данных. После выполнения этой команды в, регистре 20 будет находиться первое поле. При выполнении последующих команд упаковки регистр 20 не устанавливается в,ноль и поэтому после второй команды он будет содержать два поля, а после третьей команды — три поля. Затем содержимое регистра 20 запоминается в блоке 9 памяти, а от-! туда поступает в регистр 12 для выдачи с помощью блоков 14-17 управляющих сигналов к абоненту.
Работу узла 23 рассмотрим на конкретном.примере.
Пусть необходимо сформировать одно слово данных из полей, находящихся в трех разных словах данных. Для удобст" ва принимаем, что все слова состоят из четырех бит ° В каждом исходном слове данных единицей в соответствующем разряде слова маски отмечены разряды, вы35 бираемые для упаковки. Пусть исходные слова данных и маски заданы в таком виде:
Первое слово данных 1101
Первое слово маски 0100
Второе слово данных 0101
Второе слово маски 1001
Третье слово данных 1001
Третье слово маски 0010
Так как исходное слово маски не содержит нули во всех разрядах, ",о сигнал:на выходе элемента И 29 (фиг. 2) отсутствует и, следовательно, произойдет совпадение сигналов только на входах элемента И 28, что вызовет появление. сигнала "Управление". на его выходе. Поскольку поступление. сигнала
"Разрешение сдвига" .совпало с наличием сигнала "Входной импульс", формируемого генератором 32, .то только следующий импульс генератора 32 сформигует первый сигнал "Сдвиг 21 и 22" на выходе формирователя 26.,Во время действия этого сигнала произойдет ус тановка сигнала "Выход 22",. однако формирователь 25 сформирует сигнал
"Сдвиг 20" только во время действия второго сигнала "Сдвиг 21 и 22".
Во время действия второго сигнала
"Сдвиг 21 и 22" исчезнут сигналы "Выход 21" и "Выход 22" и установится сигнал "Выход 29", что вызовет снятие сигнала "Управление" для формироватеlt и ля 26 и появление сигнала Управление для формирователя 27. Тем не.менее благодаря использованию триггеров с динамическим управлением в крайний правый разряд регистра 20 будет записано предшествующее, т. е, единичное значение сигнала "Выход 21", а благодаря использованию формирователей не произойдет укорочение сигнала Сдви
11 г
20" и сигнал "Конец" будет сформирован только следующим импульсом генератора
32. Таким образом, после выполнения первой команды упаковки в регистре 20
1 будет содержаться код 0001.
В процессе упаковки последовательно 45 расположенные разряды каждого последующего слова данных должны располагаться справа от выбранных разрядов ,предыдущего слова данных. Таким образом искомое слово данных должно иметь 5О
Э
ы вид 1010.
В начале каждой команды упаковки происходит занесение слов данных и маски в соответствующие регистры блока упаковки. Для этой цели в блоке формируются сигналы "Разрешение приема", "Данные" и "Маска", которые обеспечивают поступление информации на информационный вход триггеров регист0 1О ров и сигналы ".Прием 21" и "Прием 22", которые,.поступая на управляющие входы этих триггеров, обеспечивают занесение в них поступающей информации.
Так как первое слово данных содержит единицу s крайнем левом разряде, то по переднему фронту сигнала "Прием 21" устанавливается сигнал "Выход
21".
Только при выполнении первой команды упаковки в блоке будет сформирован сигнал "Сброс 2", который установит в нулевое состояние все триггеры регистра 20 упаковки.
После снятия названных выше.сигналов блок 1 устанавливает сигнал "Разрешение сдвига", который подготавливает цепи сдвига влево в регистрах блока регистров упаковки и запускает его узел синхронизации.
При выполнении второй команды упаковки по сигналу "Прием 22" произойдет установка сигнала "Выход 22" и снятие сигнала "Выход 29", и в соответствии со значением слова маски будет сформировано четыре сигнала "Сдвиг 21 и
22" и два сигнала, "Сдвиг 20", которые в соответствии, со значением. сигнала
"Выход 21" установят в, регистре 20 упаковки код 0101. .!о
Б программах обслуживания различных абонентов. операция упаковки встречается довольно часто. Например, перекодировка форматов входных данных (преобразование из последовательного кода в параллельный,.из зонного формата в упакованный и т. п.); подготовка. данных для выдачи абоненту (преобразование из упакованного формата в зонный формат, добавление служебных полей и т. п.1; внутренние потребности программиста (компановка полей, peGoTG c таблицами H T, n,)
При выполнении операции упаковки с помощью только одних программных 25 средств, как з-,о .выполняется к известном, требуется по крайней мере три команды для каждого вновь добавляемого поля: конъюнкция, сдвиг., дизьюнкция. В предлагаемом устройстве для этих же целей используется только одна команда, Таким образом, устройство по срав- нению с .известным позволяет уменьшить общее время выполнения программы обЗ5 служивания абонента, т. е. повысить пропускную способность устройства; уменьшить время отработки .входных сиг" налов абонента,.т. е. увеличить скорость выдачи ответной реакции .устрой4О ства к абоненту; сократить объем.памяти команд и число типов команд.
Формула изобретения
Устройство для сопряжения,.содержа45 щее регистр команд, первый выход которого через последовательно соединен ные блок декодирования команд и счетчик команд подключен ко входу .памяти команд, выходом соединенной. со входом регистра команд, блок коммутации вход-.
50 ных сигнапов, входы которого являются соответствующими входами-устройства; блок коммутации маски входных сигналов . блок памяти данных,.блоки. коммутации входов первого и второго операндов, блок коммутации входов блока памяти данных, арифметика-логический блок, соединенный выходом со входом регист- ра результата, -регистр управления выдачей, дешифратор регистра выдачи, группу блоков коммутации маски входов регистров выдачи, группу блоков формирования сигналов установки, группу регистров выдачи, выходы которых являются соответствующими выходами устройства„ причем второй выход регистра команд подключен к первым входам блоков коммутации входов первого и второго операндов и блока коммутации входов . блока памяти данных, вторым входом соединенного с выходом регистра .результата и входом регистра управления выдачей, первый выход которого соединен со. входом.дешифратора регистра выдачи, второй выход †. с первыми входами блока коммутации маски входов регистров выдачи группы, вторыми входами подключенных к соответствующим выходам дешифратора регистра выдачи, а третий выход — с первыми входами блоков формирования сигналов установки группы, вторые входы которых соединены с выходами соответствующих блоков коммутации маски входов регистров выдачи группы, а выходы — со входами. соответствующих регистров выдачи группы, третий выход регистра команд соединен с первым входом блока коммутации маски входных сигналов, вторым входом подключен кого к выходу блока коммутации входных
Сигналов, а выходом - к третьему входу блока коммутации входов блока памяти данных, первый и второй выходы блока памяти данных соединены соответственно со вторыми входами блока коммутации входов первого и второго операнда, выходы которых соединены соответственно с первым и вторым входами арифметико-логического блока, о т " a и ч а ю щ е е с я тем, что, с це.-. лью повышения пропускной способности . .устройства, в него введен блок регистров упаковки, причем первый вход бло ка регистров упаковки соединен с третьим выходом регистра команд, второй вход — с выходом блока коммутации входов блока памяти данных, а выход — со входом блока памяти данных.
Источники информации, принятые во внимание при экспертизе
1. Патент СПй ¹ 3628325,, кл. 340-172.5, опублик. 1972.
2. Патент Великобритании ¹ 1.378.144, кл. G 06 F 3/00, опублик. 1970 (прототип).
877520
УпрИл и щг. 3
Pd 3leggCh46 gngffd
/7 LNYf0 б ЮВ/Р я и@ Р
Р— ifd @ffdd
3-" е уаюда
Р игюЛ
Сдвиг с71Я
8мгад 8l
Eb йдЯ Nui Л7
000 001Р
0101
Содержоюе рр ,иги ю У РР
mrs
ЩР, Заказ 9615/72 Тираж 748 Подписное
ВНИИПИ
Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4