Устройство для обработки информационных полей переменной длины
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
( 767769 Союз Советск инСоцмалистыческинРеспублик ОП ИСАНИЕИЗОБРЕТЕН ИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(54) УСТРОИСТВО ДЛЯ ОБРАБОТКИ,ИНФОРМАЦИОННЫХ ПОЛЕЙ ПЕРЕМЕННОИ ПЛИНЫ 1Изобретение относится к области вычислительной техники и может быть ис-.пользовано при построении быстродействующих процессоров, ориентированных наэффективную обработку щтформации, которая представлена полями переменнойдлины. Положение полей относительнограницы машинного слова произвольно:в общем случае каждое поле размещает. ся в нескольких машинных словах.1 ОИзвестно устройство для,обработкиинформационных полей переменной длины,содержащее блок выполнения арифметических операций (сумматор), счетчики,схему пересылки элемента информации15(байта, регистры сдвига 11.К недостатку устройства относитсяего низкое быстродействие, обусловленноепоследовательным характером выполненияопераций, сдвига и пересьитки элементовинформации (байтов),Наиболее близким к изобретению техническим решением является устройстводля вьптолнения арифметических и логи 2ческих операций, обеспечиваюшее обработку полей переменной длины и содержашее сумматор, блок логических операций, преобразователь кода, выходной коммутатор, которые вместе образуют блок выполнения операций, а также сдвигатель комбинационного типа, блок н 1 тормирования маски (блок генерации масок), дополнительный сумматор, вычитатель и блок управления 1,2.Недостаток этого устройства заключается в низком быстродействии устройства при обработке полей переменной длины, каждое из которых размешено в нескольких машинных словах.Цель изобретения - повышение быстродействия устройства.Эта цель достигается тем, что в устройство для обработки информационных полей переменной длины, содержащее операционный блок, выход результата которого является первым выходом устройства, первый вход операционного блока служит первым входом устройства, второй5 0 сок, третий и четвертый входы которого свяшестым входом устройства, а выход блокасравнения чисел - с входом управленияблока управления, третий вход которогосоединенсо вторым выходом вьлчитателя,четвертый вход блока управления - с выходом признака блока генеращпл масок.Третий и четвертыйуправляющие выходыблока управления соединены соответственно со вторьлм и третьим входами управле.ния блока генерации масок, пятый управляющий выход блока управления - с входом управления регистра, а шестой, седьмой и восьмой уплэавлщощие выходы блока управления являются соответственно вход соединен с первым выходом маскиблока генерации масок, а выход признака результата огерационного блока - спервым входом блока управления, второйвход которого является вторым входомустройства, первые входы блока генерации масок, сумматора и вычитателя сое.динены с третьим входом устройства, аих вторые входы - соответственно счетвертым, пятым и шестым входамиустройства; первый вход сдвигателя комбинационного типа является седьмымвходом устройства, а второй вход соединен с первым выходом вычитателя, входуправления которого связан с первымуправляющим выходом блока управления ис первым входом управления блока генерации масок, а вход управления операционного блока - со вторьм управляющим выходолл блока управления, введены блоКсравненлля чисел, регистр, первый коммутатор, блок коммутации и первый форми.рователь лласки. Прп этом вход первогоформирователя маски соедлплен с первымвыходом вьлчитателя, а первый и второйвыходы маски первого формирователямаски - с первым и вторым входом первого коммутатора соответственно, входуправления которого связан с первымуправляющим выходом блока управленияи с входами управления блока сравнениячисел и суллматора. Выход сдвигателякомбинационного типа подключен к входурегистра и к первому входу блока коммутации, второй вход которого соединен свыходом маски первого коммутатора. Третий вход блока коммутации соединен сразрядным выходом регистра, а выходблока коммутации - со вторым входом опера ционного блока, третий вход которого соединен.с выходолл маски блока генерациимазаны соответственно с вьлходом числа и выходом признака сумматора. Второй вход блока сравнения чисел соедипен с 15 20 25 30 35 40 45вторым, третьим и четвертым выходамиустройства,Кроме того, блок генерации масок со-.держит вьгчитающий счетчик, триггер,формирователь сигналов коммутации, второй и третий коммутаторы, второй форми.роватейь маски, два элемента И и элемент НЕ. При этом первый вход управления вычитающего счетчика соединен совторым входом управления блока и с вхоУстройство для обработки информационньлх полей переменной длины содержит операционный блок 1, сдвигатепь 2 клэллбинационного типа, блок 3 генерация масок, дополнительный сумматор 4, вычитатель 6, блок 6 сравнения чисел, первый формирователь 7 маски, регистр 8, блок 9 коммутации, первый коммутатор 10 и блок 11 управления. В состав блока 3 генерации масок входят вычитающий счетчик 12, триггер 13, формирова тель 14 сигЬалов коммутации, второй 50 55 дом установки единицы триггера, второй вход управления вычитающего счетчика - с третьим входом управления блока и с входом установки нуля триггера, информационный вход вьгчитающего счетчика - . со вторым входом блока, а первый и второй разрядные выходы вычитающего счетчика - с первыми входами первого и второго элементов И соответственно, выходы которых соединены соответственно с . первым и вторым входамлл формирователя сигналов коммутации, третий вход. которого соединен с выходом триггера. Четвертый вход формирователя сигналов коммутации соедлплеп с первым входом управления блока, первый и второй выходы формирователя сигналов коммутации - соответственно со входами управления второго и третьего коммутаторов, а его третий выход - с выходом признака блока. Первые и вторые информационные входы второго и,третьего коммутаторов подключены к первому и четвертому входам блока, пятый вход которого соединен со вторым входом первого элемента И и через элемент НЕ со вторым входом второго элемента И, Выход адреса начала едплицы второго коммутатора и выход адреса конца единицы третьего коммутатора соединены с соответствуюпплм входом вто рого формирователя маски, выход маски которого связан с выходом маски блока,На фиг. 1 показана блок-схема устройства; на фиг, 2 - блок-схема блока генерации масок;фиг. 3 и 4 поясняют принцип работы устройства.767 коммутатор 15, третий коммутатор 16, второй формирователь 17 маски, первый элемент И 18, второй элемент И 19, элемент НЕ 20.Устройство обеспечивает выполнение арифметических и логических операций над информационными полями переменной длины, каждое из которых в общем случае размещено в нескольких последовательных машинных словах. Слово содер О жит 1 элементов информации (бит, полубайт, байт и др,), причем В"- 2" Размер поля определяется его длиной Г которая соответствует количеству элементов информации в поде, уменьшенному на 15 единицу, Параметр 1 задается двоичным числом, Имеют место следующие соотно 7696( А-, Ь - младшие подполя операндов А и В,В =В й В",1=0,2) Этот режим используется при выполнении операций сложения (вычитания), когда ;требуется передача сигналов переноса от младших элементов иформации к стар-,С целью выравнивания положений одноименных элементов информашщ обрабатываемых полей А и В, сдвигателем 2 комбинационного типа (фиг,1) производится сдвиг элементов, которые содержатся в машинных словах, соответствующих по. лю В, Сдвигатель 2 осуществляет циклический сдвиг слов только вправо, Если Ь.1)/Ь 2., то величина сдвига С = Ь" Ьд. Если Ъ.1Ь, то следует произвести сдвиг влево на величину с : Ь-Ь, что эквивалентно сдвигу вправо на величину С:щ- Ь-Ь)= (м фЬ,1) - Ьд, На первом выходе И - разрядного вычитателя 5 вырабатывается значение параметра С =Ь,- Ьд 1, ОС 1- (выполняется, вычитание по модулюи), На втором выходе вычитателя формируется признак Р с учетом значения сигнала Х, поступающего из блока 11 управления. Если обработка полей производится слева направо, то Х: 1; Х = 0 при обработке справа налево. Признак Р 1 имеет единичное значение, если Х= 1 и Ь Ьлибо Х= 0 и Ь 1 г Ь,что соответствует логичес,и0(Р Р,0,"дР-"0(И,20.щения; Результат операции помещается на место операнда А .Положение информационного поля может быть задано двумя способами.25Способ 1 (фиг.З,а). Положение поля задается адресом крайнего левого (старшего) элемента информации в соответствующем машинном слове (база поля). Поле А характеризуется базой Ь, поле В - ба 30 зои Ь 2, причем 0 Ь 1, Ь 21 Обработка полей в данном случае производится слева направо (от старших позиций к младшим), т.е. последовательно выполняются заданные операции над подполями А 0 и Во, А и Б ит.д. Подполе В( 1 6 1, 1 - множест-, во подполей в поле Э )в общем случае . образуется конкатенацией (объединением)1 и 40 подполей 3 и 3, размещенных в сои седних машинных словах ( В =В л В ), Рассмотренный режим обработки эффекти-вен при выполнении операций сравнения полей, В этом случае операция может . заканчиваться не после обработки всех подполей, образующих поля, а при фиксации первого неравенства при последовательном сравнении подполей.Способ 11 (фиг. 4,а). Положение поля .задается адресом крайнего правого (младшего) элемента информапии в соответствующем машинном слове. Как и в предыдушем случае, поле А характеризуется базой ф ф поле В - базой Ь, (0 Ь 1,Ьс 6- 1 ) Обработка полей производится справа налево, т.е. последовательно выполняется заданная операция над подполя= ми А 1- и Ь., А-и В- и т,д,1 кому выражению Р =ХО ч Хб Ч Здесь Ц - .сигнал заема при выпол 2.некии операции ( Ь.1 - Ь), а Ч - признак нулевого значения С .Значение параметра подается на вход сдвигателя 2 и на вход первого формирователя 7 маскй, который обеспечивает выработку М в , разрядного двоичного слова М (маски), содержащего единственнуюгруппу символов "1", в которой отсутствуют символы "0". Положение крайнего левого символа указанной группы (отсчет позиций производится слева направо) определяется значением параметра С, положение крайнего правого символа постоянно и совпадает с крайним правым разрядом слов М . Например, при м: 8 и С = 3 маска М имеет вид 00011111. На выходе первого формирователя 7 маски вырабатывается также маска М значения разрядов которой инверсны от. носительно одноименных разрядов М.Для рассмотренного примера маски М маска В имеет вид 11100000. Мас Ики М и М поступают на вход первого7 7677коммутатора 10, работа которого определяется значением сигнала Х : приХ "-1 значение маски М на выходе коммутатора соответствует значению маски М 1;если Х"-О, то М:М.5 ,: =.-.-: Информация с выхода сдвигателя 2переносится в регистр 8 импульснымсигналом, поступающим из блока 11управления . В блоке 9 производится конкатенация подполей операнда Б, размещенОных в соседних машинных словах. Значение 1 -го выходного сигнала этогоблока ( Ъ ) определяется логическимвыражением Ъ. Ь с 1 Рос 1 Р.1 ф1г е,з и ц- значения-го иразряда на выходах сдвигателя 2, регистра 8 и первого коммутатора 10 соответственно.Блок 3 генерации масок обеспечиваетформирование последовательности и-раз Орядных двоичных слов М, ММ(112 ри 1 ), каждое изкоторых содержит единственную группу символов "1" (последовательность масокобработки). Укаэанная последовательность 25масок обеспечивает формирование результатов операций в последовательности машинныхслоев содержащих под поля операнда А , В блок генерапоступают испо Е" ,ответствующее (-) старшим раз.ф 30рядам параметра , сигналы Х, 4/,,Ъ из блока 11 управления, число 5и признак Р из дополнительного сумматора 4, В блок управления, из блокагенерации масок передается признак Е. используемый для фиксации моментаокончания выполнения операции. На вход И -разрядного дополнительного сумматора 4 поступают И младших разрядов параметра .(число)и база Ь операнда Д . Работа сумма"тора определяется значением управляющего сигнала Х : при Х= 1 выполняетсяоперация 5=/ Ь. + В / чи (суммирование 45по модулю в ); если ,"-О, то5=ЬР 3 О 1( в сумматоре обеспечивается выйолиение операции с участиемдополнительного кода ь ). Признакна выходе сумматора вырабатывается всоответствии с выражением Рд(31 фЧ 6. Х,где 6 -сигнал переноса из старшегоразряда сумматора,Операционный блок 1 обеспечивает обработку машщного слова А цХ, содержащего подполе операнда, А (поступает со входа устройства), и машинного слова . В , содержащего подполе операнда Э 60 8(поступает с выхода блока 9). Маска об- работки М определяет те элементы информации в машинных словах, над которыми производится заданная операция, Тип выполняемой операции определяется значением управляющих сигналов, поступающих из блока 11 управления. На выходах блоха выполнеая операций вырабатываются результирующее слово Й и признаки результата, передаваемые в блок управления. При выполнении арифметических операций над подполями в блоке 1 учитывается значение сигнала переноса, формируе- мого при обработке предыдущих подполей.На выходе блока 6 сравнения формируется признак Р , принимающий единичное значение, если при Х =1 вйполняется условие Ь 3 с -О (здесь используется обратный код базы Ь)либо Ъ - В 1 О при Х= О. Значение приз 1пака Р определяется выражениемР."- 3, где 6 - сигнал заема при выполнении операции ( Р -), причем Э=ЕЬЗОр при Х =иЭ-.Ъ,при Х=О;Блок управления обеспечивает выполнение операций пад полями А и Ь на основе поступающего в него кода операции КО. На выходах этого блока являющихся выходами устройства, формируются два сигнала, которые определяют подачу на входы устройства очередных машинных слов, соответствующих полям А и Ъ , (сигналы си), а также сигнал "выдачи из устройства очередного слова результата,Последовательность масок обработки М 21 М,., М,2 на выходе блока 3 генерации масок вырабатываетсяс помощью второго формирователя 17 маски (фиг.2). Положение группы символов "1" в каждой маске обработкиопределяется адресами начальной( О н )и конечной ( дк ) единиц (отсчет позиций производится слева направо). Значения О и Ок( О- ОнС 1 к".Ф), вырабатываются на выходах, второго коммутатора 15 и третьего коммутатора 16соответственно. На, информационные входы коммутаторов подаются значения базы Ь,1 и числа о . Свыходов формирователя 14 сигналов коммутации поступают сигналы х 4,на управляющиевходы коммутатора 15 и сигналы М, .на управляющие входы коммутатора. 16. Работа коммутаторов определяетсяследующими логическими выражениями15 20 11 767Цихл 4 (фиг, 3;д). В начале циклаустройство работает так же, как и впредыдущем случае. При этом вычитающий счетчик 12 переходит в нулевое состояние и в блохе 3 генерации масох вырабатывается значение 1 =1, вследствие чего .Е=1 Он =ОЛ = Ь "- 6, формируется тахая маска М, при которойосуществляется выполненйе операшш надкрайними правыми подполями Аи В.Значение признаха Е =1, поступающеев блох управления обусловливает окончание выполнения операции.В частном случае, когда каждое иэполей А и В размещено толысо в одноммашинном слове ( Р= 1, Е =3.), операция выполняется в течение одного цикла.Если поле А размещено в одном машинном( Р "-0), требуется два цикла работы1(во втором цикле принимается второемашинное слово поля В и выполняетсяоперация).Ц. способ (фиг, 4,а), Задано положение крайних правых элементов информационных полей А и В, обработка производится справа налево. Для рассматриваемого примера ЬЬ, Для определенности примем: и= 2 = 8, Ь=1,Ь =3 г =13, Е" =1, =5;Двыполненпя операции требуется три рабо чих" цпсла устройства.Цикл 1 (фиг. 4,б). Производитсяприем соответствующего кода операцийКО в блок 11 управления, на входы устройства подаются значения Ъ, Ъ Ю,ц и машинпые слова, содержащие подполя А и В, 3 . Сигналом ю,с про-.изводятся занесение значения 6 ф = 1в счетчик 12 и установка в единичноесостояние триггера 13. Вырабатываютсяследующие значения управляющих сигналов и признаков: Х =О, Р = О (условие Ь - с, 70 в данном примере невыполняется, так как 3-50), Р = О,Р = 1 (отсутствует сигнал переносапри выполнении операции 5 В 1 фЫ 3 допь==(1+3) = 4),К = О,Величина=Ь 1-Ьа альф 1-3)в "- 6вследствие чего подполя В," ,и Э, сдвигаются вправо на велпчину С = 6, (влевона вели цапну В =2). Состояниерегистра 8,.(слово Вс ) не определено, что указывается символами "Х" . Маска М 1 навыходе первого коммутатора 10 инверснапо отношению к масхе М, адрес крайней левой едтппщы котврой определяетсязначением с "-6. На выходе блока 9(слово Ь ) получим подполе В, В бло 2 769 12 ке 3 генерации масок вырабатываются значения сн = 0 и ск=Ь,; 1, вследствие чего Формируется маска М, обеспечиваю. щая обработ:су в операционном блоке 1 подполей Аи В 5, . Результат выдается иэ устройства.Цикл 2 (фиг, 4,в). В начале цикла осуществляется занесение слова В , с выхода сдвигателя 2 в регистр 8, затем на выходах блока 11 управления выраба тываются сигналы с- и У, обеспечивающие подачу на входы устройства очередных машинных слов полей Д и В . В блок генерации масок подается сигнал Юр, обеспечивающий установкув нуль триггера 13 и изменение состояния вычитаюшего счетчика 12 (он переходит в нулевое состояние), вследствие чего здесь формируются значения Сн = 0 и Ох=Ь 14 с=7. В этом цпсле работы выполняется операция над подполями Ди 3, причемЬ. =. В, 1 Б, Результат выдается изДустройства.Цикл 3 (фиг, 4,г). В начале цикла 25 устройство работает. так же, как и впредыдущем случае. При этом все разряды вычитаюшего счетчика 12 переходят в единичное состояние и в блоке 3генерации масок вырабатывается значение 3 О .р 1, вследствие. чего сн =. =4 и 01,=.в= 7, Формируется такая маска Жпри которой осуществляется выполнениеоперации над крайними левыми подполямиАо и Зо Значение признака 5=1, иустройство завершает выполнение операции фСановные этапы работы известного,устройства.производится пересылка подполяв специально выделенную ячейку памяти К,для чего формируются значения парамет-.ров Ъ 1Ъ(на это затрачивается3 рабочих цихла устройства) и выполняется операция пересьппси ( 1 рабочий 45 цикл);=Д А В-для чего вычисляются значения Ь 1, Ь, Р и выполняется операция над содержимым ячейки К и операндом (на все затрачивается 4 рабочихцикла);формируется и анализируется признакокончания операции над полями (на этозатрачивается 2 цикла).Таким образом, одному типовому циклу данного устройства соответствует при7677 мерно 14 рабочих циклов известногоустройства, Это дает основание утверждать, что первое из указанных устройствв 10-15 раз быстрее второго. формула изобретения ХУстройство для обработки информационных полей переменной длины, содержащее операционный блок, выход результата которого является первым выходом устройства, первый вход операционного блока яв. ляется первым входом устройства, второй вход соединен с первым выходом блока генерации масок, а выход признака результата операционного блока - , с первым входом блока управления, второй вход которого является вторым входом устройства, первые входы блока генерации масок, сумматора и вычитателя соединены с третьим входом устройства, а их вторые входы соединены соответственно с четвертым, пятым и шестым входами устройства, первый вход сдвигателя комбинационного типа является седьмым входом устройства, а второй вход соединен с первым выходом вычитателя, вход управления которо о соединен с первым управляющим выходом блока управления и первым входом управления блока генерации масох, вход управления операционного блока соединен со вторым управляющим выходом блоха управления, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены блок сравнения35 чисел, регистр, первый коммутатор, блок коммутации и первый формирователь маски, причем Ьход первого формирователя маски соединен с первым выходом вы-: читателя, а первый и второй выходы маски первого формирователя маски - с первым и вторым входом первого комму.татора соответственно, вход управления которого соединен с первым управляющимф 45 выходом блока управления и с входами управления блока сравнения чисел и сумматора, выход сдвигателя комбинационного типа соединен со входом регистра и с первым входом блока комму 59 тапки, второй входкоторого соединен с выходом масхи первого коммутатора, третий вход блока коммутации соединен с разрядным выходом регистра, а выход блока коммутапии - со вторым входом55 операционного блока, третий вход которо го соединен с выходом маски блока гене рации масок, третий и четвертый входы которого соединены соответственно с вы 60 14ходом числа и выходом признака сумматора, второй вход блока сравнения чиселсоединен с шестым входом устройства, авыход блока сравнения чисел - с входомуправления блока управления, третий входкоторого соединен со вторым выходомвы читателя, четвертый вход блока управления - с выходом признака блока генерапии масок, третий и четвертый управляющие выходы блока управления соединены соответственно со вторым и третьимвходами управления блока генерации масок, пятый управляющий выход блокауправления -, с входом управления регистра, а шестой, седьмой и восьмойуправляюшие выходы блока управленияявляются соответственно вторым, третьими четвертым выходами устройства. 2. Устройство по и. 1, о т л и ч а ющ е е с я тем, что блок генерации масок содержит вычитающий счетчик, триггер, формирователь сигналов коммутации, второй и третий коммутаторы, второй формирователь маски, два элемента И и элемент НЕ,.причем первый вход управления вычитающего счетчика соединен со вторым входом управления блока и с входом установки единицы триггера, второй вход управления вычитающего счетчика - с третьим входом управления блока и с входом установки нуля триггера, информапионный вход вычитающего счетчикасо вторым входом блока, а первый и второй разрядные выходы вычитающего счетчика - с первыми входами первого и второго элементов И соответственно, выходы которых соединены соответственно с первым и вторым входами формирователя сигналов коммутации, третий вход которого соединен с выходом триггера, четвер 1 тый вход формирователи сигналов коммутации соединен с первым входом управления блока, первый и второй выходы формирователя сигналов коммутации соединены соответственно со входами управле= ния второго и третьего хоммутаторов, а его третий выход - с выходом, признака блока, первые и вторые информационные Ьходы Второго и третьего коммутаторов соединены соответственно с первым и четвертым входами блока, пятый вход которого соединен со вторым входом первогс элемента И и через элемент НЕ со вторым входом второго элемента И, выход адреса начала единицы второго коммутатора и выход адреса конца единицы гретье;о коммутатора соединены с соот15 767769 ветствуюшим входом второго формироват- пя маски, выход маски которого соединен с выходом маски блока. Источники информации,принятые во внимание при экспертизе/4 - "- С, -ф-+ дфс за, р.4 пар .аМ ВПИИПИ Заказ 7196/45 Тараи 751 Пспписп илиал ППП "Патент", г. Ужгород, ул. Проектная, "4 р,ааЧСС и
СмотретьЗаявка
2668631, 29.09.1978
ПРЕДПРИЯТИЕ ПЯ Р-6429
СЕЛЕЗНЕВ ИГОРЬ ПАВЛОВИЧ, БЫЧКОВ ЕВГЕНИЙ ВАСИЛЬЕВИЧ
МПК / Метки
МПК: G06F 15/82
Метки: длины, информационных, переменной, полей
Опубликовано: 30.09.1980
Код ссылки
<a href="https://patents.su/9-767769-ustrojjstvo-dlya-obrabotki-informacionnykh-polejj-peremennojj-dliny.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для обработки информационных полей переменной длины</a>
Предыдущий патент: Устройство сопряжения
Следующий патент: Число-импульсный функциональный преобразователь
Случайный патент: Пол для птичника