Устройство для определения старшинства операций
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
Союз Советских Социалистических РвспубаннОПИСАНИЕИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИ ВИЛЬСТВУ пи 857994(22) Заявлено 14. 12. 79 (21) 2850990/18-24с присоединением заявки йо(51) М. Хл.З С 06 Г 9/46 Государствеииый комитет СССР ио дедам изобретеиий и открытий(54) УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ СТАРШИНСТВАОПЕРАЦИИ Изобретение относится к вычислительной технике и может применяться в вычислительных машинах, ориентированных на выполнение программ на5 алгоритмических языках.Известно устройство для определения старшинства операций, содержащее регистр знака, соединенный со стеком операционных знаков, два элемента ИЛИ, элемент И, линию задержки, формирователь и триггер, причем регистр знака и сток операционных знаков подключены через элемент И, линию задержки и формирователь к одному из входов первого элемента ИЛИ,второй 15 вход которого соединен со стеком операционных знаков, а выход - с единичным входом триггера, нулевой вход которого через второй элемент ИЛИ подключен к выходу регистра зна ка 1 Д . К недостаткам известного устройства относится информационная избыточность при представлении кодов операционных знаков, ограниченность класса языков программирования, которые могут обрабатываться этим уст ройством, и большое время определения старшинства операций. 30 Наиболее близким к предлагаемому изобретению по технической сущности и достигаемому эффекту является устройство для определения старшинства операций, содержащее регистр зна ка, первый вход которого соединен с первым входом устройства, второй вход :- с вторым входом устройства, первый выход регистра знака подключен к первому входу стека, второй вход которого подключен к третьему входу устройства, первый выход стека соединен с первым выходом устройства, элементы И, ИЛИ, НЕ и триггер, нулевой вход которого подключен к четвертому входу устройства, единичный вход - к пятому входу устройства, единичный выход триггера соединен с первым входом первого элемента И, второй вход которого подключен к шестому входу устройства, выход первого элемента И соединен со вторым входом устройства, единичный выход триггера через линию задержки подключен к первомувходу второго элемента И и к первому входу третьего элемента И, второй выход регистра знака через элемент НЕ соединен с первым входом четвертрго элемента И и с вторым входом третьего элемента:И, второй выход стека подключен квторому входу второго и второму входу четвертого элементов И, третийвход второго, третьего и четвертогоэлементов И подключен к седьмомувходу устройства, выход второго,третьего и четвертого элементов Ичерез элемент ИЛИ соединен с единичным входом триггера Г 2.1Недостатком устройства являетсято, что оно работает последовательно, т.е. в каждом такте его работыосуществляется обработка только одного разряда кода, задающего приоритетоперационных знаков.Цель изобретения - повышение быстродействия,Поставленная цель достигаетсятем, что в устройство для определения старшинства операций, содержащеерегистр знака, информационный входкоторого соединен с информационнымвходом устройства, блок магазиннойпамяти, первый выход которого соединен с первым информационным выходомустройства, причем управляющие входырегистра знака и блока магазиннойпамяти соединены соответственно спервым и вторым выходами блока управления, а первый выход регистра знакасоединен с информационным входом блока магазинной памяти, введен регистрадреса и блок оперативной памяти,причем вторые выходы регистра знакаи блока магазинной памяти соединеныс входами соответственно старших имладших разрядов регистра адреса,выход которого и третий выход блокауправления соединены соответственно с адресным и запускающим входамиблока оперативной памяти,а информационный выход блока оперативной памати соединен с входом блока управления,Кроме того, блок управления содержит регистр адреса, первый входкоторого является входом блока, авыход соединен с адресным входом памяти микрокоманд, выход которой соединен с входом регистра микрокоманд,первый и второй выходы которого соединены соответственно с вторым входом регистра адреса и с входом дешифратора микрокоманд, выход которого соединен с информационным входомформирователя функциональных сигналов, выходы которого являются соответственно первым, вторым и третьим выходами блока, узел синхронизации, выход которого соединен с синхровходами регистра адреса, памятимикрокоманд и формирователя функциональных сигналов.На фиг. 1 приведена структурнаясхема устройства; на Фиг. 2 - одиниз вариантов построения блока управления.Устройство (фиг.1) содержит регистр 1 знакаблок 2 магазинной памяти, регистр 3 адреса, блок 4 оперативной памяти, информационныйвход 5, управляющие входы 6-8, информационный выход 9, вход 10 блокауправления, вход 11 блока магазиннойпамяти, блок 12 управления.Блок управления (Фиг.2) можетбыть построен в виде регистра 13адреса, памяти 14 микрокоманд, регистра 15 микрокоманд, дешифратора16 микроопераций, формирователя 17функциональных сигналов и узла 18синхронизации.Устройство работает следующимобразом.Код очередного знака программына алгоритмическом языке поступаетчерез информационный вход 5 устройства на регистр 1 знака. Под воздействием управляющего сигнала, выдаваемого по шине 6 блока 12 управле ния, этот код передается в старшиеразряды регистра 3 адреса. Одновременно, при помощи управляющего сигнала на входе 7 блока 12, осуществляется передача :ода знака из верд шины блока 2 магазиьной памяти вмладшие разряды регистра 3 адреса.При поступлении сигнала по входу 8 выполняется чтение информациииз ячейки блока 4 оперативной памя- З) ти, адрес которой определяется кодом, находящимся на регистре 3. Считанная информация выдается на вход10 блока 12.В зависимости от полученной инФормации об относительном приоритетеоперационных знаков может возникнутьпотребность в обработке знака изблока 2 магазинной памяти, которыйвыдается на выходе 9, или в записикода знака иэ регистра 1 знака в 40 блок 2 магазинной памяти, котораяпроизводится по входу 11 под воздействием управляющих сигналбЫ навходах 6 и 7.В таблице представлен пример со держимого ячеек блока 4 оперативнойпамяти для анализа оператора присваивания (знак 1. обозначает начальный символ в блоке 2 магазинной памяти), Эначениями этой таблицы яв- ) ляются коды, соответствующие определенной комбинации знаков на регистре 1 знака и в блоке 2 магазинной памяти. Коды интерпретируются следующимобразом: 01 - приоритет знака нарегистре 1 выше приоритета знака изблока 2; 10 - приоритет знака нарегистре 1 меньше приоритета знакаиз блока 2; 11 - знаки имеют один фО и тот же приоритет; 00 - недопустимое сочетание знаков.Рассмотрим работу устройства напримере обработки оператора А:==Бх(С+Д); при условии, что в предлагаемое устройство поступают толь857994 10 0 00 10 00 "0 ко знаки операций, как и в известном устройстве.Код первого знака := поступает на регистр 1 знака, а затем передается на регистр 3 адреса, куда поступает код знака из блока 2 магазинной памяти А . После этого осуществляется чтение иэ блока 4 оперативной памяти.При считывании кода 01 выполняется передача кода с регистра 1 в блок 2 магазинной памяти и запись на регистр 1 знака кода следующего знака программы. Затем коды из регистра и из блока 2 магазинной памяти передаются на регистр 3 адреса и осуществляется чтение из блока 4 15 оперативной памяти.При считывании кода 10 или 11 из устройства на выход 9 выдается код знака, находящийся в блоке 2 магазинной памяти. Если выдан код от) крывающейся скобки, на регистр 1 знака записывается очередной знак операции программы. Затем коды из регистра 1 и иэ блока 2 передаются на регистр 3 адреса и осуществляется чтение из блока 4 оперативной памяти. В результате этих действий скобки исключаются из дальнейшего рассмотрения, Если из блока 2 магазинной памяти выдан код знака :=, то устройством выполняются те же действия, что и в случае открывающейся скобки. Отличие заключается в том, что код знака := используется для выполнения соответствующей операции в других устройствах вычислительной машины. В случае выдачи из блока 2 магазинной памяти любого другого знака, он используется для выполнения соответствующей операции, а в устройстве выполняется передача старого кода с 40 регистра 1 и нового кода иэ блока 2 магазинной памяти на регистр 3 адреса. Далее осуществляется чтение из блока 4 оперативной памяти.При считывании кода 00 анализ 4 программы перерывается для обработки появившейся ошибки и принятия мер по ее устранению.В результате выполнения указанных процедур последовательность знаков :=х(+); на входе 5 устройства, соответствующая исходному оператору А:=Вх(С+Д), будет преобразована в последовательность +х:= на выходе 9 устройства. Эта последовательность соответствует порядку выпол 11 11 01 01 01 нения операций в рассматриваемом операторе.Блок управления (фиг.2) работает следующим образом.Поступающий на вход блока управления код передается в регистр 13 адреса, где определяется фиксированный адрес ячейки памяти 14 микро- команд, начиная с которой записана микропрограмма обработки поступившего кода. Иэ памяти 14 микрокоманд последовательно выбираются микрокоманды на регистр 15 микрокоманд, дешифрируются дешифратором 16 и по ним формирователем 17 функциональных сигналов формируются функциональные сигналы, которые используются для управления по входам 6, 7 и 8 работой регистра 1 знака, блока 2 и блока 4. Действия, выполняемые блоком 12 управления, синхрониэируются узлом 18 синхронизации.Приведенный пример работы устройства не отражает всех его возможностей. Расширение множества анализируемых знаков и процедур позволяет осуществлять полный синтаксический анализ программ на языках с грамматиками предшествования. Рассмотренные аналоги предлагаемого изобретения отличаются общим недостатком - невысоким быстродействием, так как анализ приоритета выполнения операции производится путем последовательного поразрядного сравнения кода операционных знаков, несущего информацию о приоритете,Поскольку этот код занимает 5-6 двоичных разрядов, сравнение происходит за 5-6 тактов. В предлагаемом изобретении сравнение производится за один та.кт. Применение предлагаемого технического решения позволяет, кроме того, значительно уменьшить затраты памяти для хранения программ. Так для 32-разрядной ЦВМ, работающей с 8-разрядными кодами операций, избыточная информация для указания приоритета операции (с применением изветных устройств анализа) составпяет 5-6 разрядов, а объем памяти ЦВМ на 15 больше, чем в случае применения предлагаемого технического решения.857994 Продолжение таблицы Знак на регистре 1 Знак изблока 2 Т го го 11 11 ог го оо го 10 01 01 01 01 01 10 00 00 00 00 00 00 ОО 00 00 00 01 01 01 01 01 00 10 10 00 00 00 00 00 ОО 00 00 00 00 00 00 00 00 01 00 Формула изобретения 1. Устройство для определения. старшинства операций, содержащее регистр знака, информационный вход которого соединен с информационным входом устройства, блок магазинной памяти, первый выход которого соединен с первым информационным выходом устройства, причем управляющие входы регистра знака и блока магазинной памяти соединены соответственно с первым и вторым выходами блока управления,а первый выход регистра знака соединен с информационным входом блока магазинной памяти, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействии, оно содержит регистр адреса и блок оперативной памяти,причем вторые выходы регистра знака и блока магазинной памяти соединены сфвходами соответственно старших и младших разрядов регистра адреса, выход которого и третий выход блока управления соединены соответственно с адресным и запускающим входами блока оперативной памяти, а информационный выход блока оперативной па 2 О мяти соединен с входом блока управления,2. Устройство по п.1, о т л ич а ю щ е е с я тем, что блок управления содержит регистр адреса, первыйвход которого является входом блока,а выход соединен с адресным входомпамяти микрокоманд, выход которойсоединен со входом регистра микрокоманд, первый и второй выходы которого соединены соответственно с втоЗО рым входом регистра адреса и с входомдешифратора микрокоманд, выход которого соединен с информационным входом формирователя функциональныхсигналов, выходы которого являются35 соответственно первым, вторью итретьим выходами блока, узел синхронизации, выход которого соединен ссинхровходами регистра адреса, памяти микрокоманд и формирователя функциональных сигналов.Источники информации,принятые во внимание при экспертизе1. Авторское свидетельство СССРР 388259, кл. С Об Г 9/00, 1973.2. Авторское свидетельство СССРР 407312, кл. 6 06 Г 9/18, 1973857994 Составитель ф. ШагиахметовОртутай Техред Ж. Кастелевич Корректор М. Коста едак каэ 7245/7 113 илиал ППП "Патент", г. Ужгород, ул, Проек Тираж 745 ВНИИПИ Государствен по делам иэобрет 035, Москва, Ж, Подписнго комитета СССий и открытийушсная наб., д.
СмотретьЗаявка
2850990, 14.12.1979
ПРЕДПРИЯТИЕ ПЯ Г-4677
КОШЕЛЕВ ВЛАДИМИР ПАВЛОВИЧ, ГРИБКОВ ИГОРЬ ГЕОРГИЕВИЧ, СИДОРОВ ЮРИЙ ВЛАДИМИРОВИЧ
МПК / Метки
Метки: операций, старшинства
Опубликовано: 23.08.1981
Код ссылки
<a href="https://patents.su/5-857994-ustrojjstvo-dlya-opredeleniya-starshinstva-operacijj.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для определения старшинства операций</a>
Предыдущий патент: Устройство для управления вычислительным комплексом
Следующий патент: Микропрограммное устройство управления
Случайный патент: Устройство для контроля обрыва цепи