Устройство для определения старшинства операций

 

Союз Советских

Соцналистичесмнх

Рвспублнн

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИ ВТИЛЬСТВУ

857994 (61) Дополнительное к авт. саид-ву (22) Заявлено 14. 12. 79 (21) 2850990/18-24 с присоединением заявки ¹ (23) Приоритет

Опубликовано 2108.81. Бюллетень № 31

Дата опубликованию описания 23. 08. 81 (51)М. Хл.З

G 06 F 9/46

Государственный комитет

СССР но делам изобретений и открытий (53) УДК 681. 325 (088.8) (72) Авторы изобретеиия

В.П. Кошелев, И.Г. Грибков и .--В. Сидоров

I

t (71) заявители (54) УСТРОИСТВО ДЛЯ ОПРЕДЕЛЕНИЯ СТАРШИНСТВА

ОПЕРАЦИИ

Изобретение относится к вычислительной технике и может применяться в вычислительных машинах, ориентированных на выполнение программ на

5 алгоритмических языках.

Известно устройство для определения старшинства операций, содержащее регистр знака, соединенный со стеком операционных знаков, два элемента

ИЛИ, элемент И, линию задержки, формирователь и триггер, причем регистр знака и сток операционных знаков подключены через элемент И, линию задержки и формирователь к одному из входов первого элемента ИЛИ,второй 1е вход которого соединен со стеком операционных знаков, а выход — с единичным входом триггера, нулевой вход которого через второй элемент

ИЛИ подключен к выходу регистра зна- 20 ка (1) .

К недостаткам известного устройства относится информационная избыточность при представлении кодов операционных знаков, ограниченность класса языков программирования, которые могут обрабатываться этим уст! ройством, и большое время определения старшинства операций. 30

Наиболее близким к предлагаемому изобретению по технической сущности и достигаемому эффекту является устройство для определения старшинства операций, содержащее регистр зна ка, первый вход которого соединен с первым входом устройства, второй вход =- с вторым входом устройства, первый выход регистра знака подключен к первому входу стека, второй вход которого подключен к третьему входу устройства, первый выход стека соединен с первым выходом устройства, элементы И, ИЛИ, НЕ и триггер, нулевой вход которого подключен к четвертому входу устройства, единичный вход — к пятому входу устройства, единичный выход триггера соединен с первым входом первого элемента И, второй вход которого подключен к шестому входу устройства, выход первого элемента И соединен со вторым входом устройства, единичный выход триггера через линию задержки подключен к первому входу второго элемента И и к первому входу третьего элемента И, второй выход регистра знака через элемент НЕ соединен с первым входом четвертрго элемента И и с вторым входом третьего элемента:

857994

И, второй выход стека подключен к второму входу второго и второму входу четвертого элементов И, третий вход второго, третьего и четвертого элементов И подключен к седьмому входу устройства, выход второго, третьего и четвертого элементов И через элемент ИЛИ соединен с единичным входом триггера Г2«.

Недостатком устройства является то, что оно работает последовательно, т.е. в каждом такте его работы осуществляется обработка только одного разряда кода, задающего приоритет операционных знаков.

Цель изобретения — повышение быстродействия.

Поставленная цель достигается тем, что в устройство для определения старшинства операций, содержащее регистр знака, информационный вход которого соединен с информационным входом устройства, блок магазинной памяти, первый выход которого соединен с первым информационным выходом устройства, причем управляющие входы регистра знака и блока магазинной памяти соединены соответственно с первым и вторым выходами блока управления, а первый выход регистра знака соединен с информационным входом блока магазинной памяти, введен регистр адреса и блок оперативной памяти, причем вторые выходы регистра знака и блока магазинной памяти соединены с входами соответственно старших и младших разрядов регистра адреса, выход которого и третий выход блока управления соединены соответственно с адресным и запускающим входами блока оперативной памяти,а информационный выход блока оперативной памати соединен с входом блока управления.

Кроме того, блок управления содержит регистр адреса, первый вход которого является входом блока, а выход соединен с адресным входом памяти микрокоманд, выход которой соединен с входом регистра микрокоманд, первый и второй выходы которого соединены соответственно с вторым входом регистра адреса и с входом дешифратора микрокоманд, выход которого соединен с информационным входом формирователя функциональных сигналов, выходы которого являются соответственно первым, вторым и третьим выходами блока, узел синхронизации, выход которого соединен с синхровходами регистра адреса, памяти микрокоманд и формирователя функциональных сигналов.

На фиг. 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 управле20 ния, этот код передается в старшие разряды регистра 3 адреса. Одновременно, при помощи управляющего сигнала на входе 7 блока 12, осуществляется передача «.ода знака из верд шины блока 2 магазинной памяти в младшие разряды регистра 3 адреса.

При поступлении сигнала по входу 8 выполняется чтение информации из ячейки блока 4 оперативной памяЗ ти, адрес которой определяется кодом, находящимся на регистре 3. Считанная информация выдается на вход

10 блока 12.

В зависимости от полученной информации об относительном приоритете операционных знаков может возникнуть потребность в обработке знака из блока 2 магазинной памяти, который выдается на выходе 9, или в записи кода знака иэ регистра 1 знака в

40 блок 2 магазинной памяти, которая производится по входу 11 под воздействием управляющих сигналбв на входах 6 и 7.

В таблице представлен пример со4 держимого ячеек блока 4 оперативной памяти для анализа оператора присваивания (знак 1. обозначает начальный символ в блоке 2 магазинной памяти). Эначениями этой таблицы яв () ляются коды, соответствующие определенной комбинации знаков на регистре 1 знака и в блоке 2 магазинной памяти.

Коды интерпретируются следующим образом: 01 — приоритет знака на регистре 1 выше приоритета знака из блока 2; 10 — приоритет знака на регистре 1 меньше приоритета знака из блока 2; 11 - знаки имеют один

g) и тот же приоритет; 00 — недопустимое сочетание знаков.

Рассмотрим работу устройства на примере обработки оператора A:=

=Бх(С+Д); при условии, что в предлагаемое устройство поступают толь857994

0 00

10 00 ко знаки операций, как и в известном устройстве.

Код первого знака := поступает на регистр 1 знака, а затем передается на регистр 3 адреса, куда поступает код знака из блока 2 магазинной памяти . ° После этого осуществляется чтение иэ блока 4 оперативной памяти.

При считывании кода 01 выполняется передача кода с регистра 1 в блок

2 магазинной памяти и запись на регистр 1 знака кода следующего знака программы. Затем коды из регистра и из блока 2 магазинной памяти передаются на регистр 3 адреса и осуществляется чтение из блока 4 оперативной памяти.

При считывании кода 10 или 11 из устройства на выход 9 выдается код знака, находящийся в блоке 2 магазинной памяти. Если выдан код от- Щ крывающейся скобки, на регистр 1 знака записывается очередной знак операции программы. Затем коды из регистра 1 и иэ блока 2 передаются на регистр 3 адреса и осуществляется чтение из блока 4 оперативной памяти.

В результате этих действий скобки исключаются из дальнейшего рассмотрения. Если из блока 2 магазинной памяти выдан код знака :=, то устройством выполняются те же действия, что и в случае открывающейся скобки.

Отличие заключается в том, что код знака := используется для выполнения соответствующей операции в других устройствах вычислительной машины. В случае выдачи из блока 2 магазинной памяти любого другого знака, он используется для выполнения соответствующей операции, а в устройстве выполняется передача старого кода с 40 регистра 1 и нового кода иэ блока 2 магазинной памяти на регистр 3 адре са. Далее осуществляется чтение из блока 4 оперативной памяти.

При считывании кода 00 анализ программы перерывается для обработки появившейся ошибки и принятия мер по ее устранению.

В результате выполнения указанных процедур последовательность знаков

:=х(+); на входе 5 устройства, соответствующая исходному оператору

A:=Вх(С+Д), будет преобразована в последовательность +х:= на выходе 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

+ — х — L () 1О 1О 11 11 Ог 1О

ОО 1О

10 10 11 11 01 10 00 10

01 01 01 01 01 10

00 00 00 00 00 00

00 00

00 00

01 01 01 01

01 00 10

00 00 00 00 00 00

00 00 00 00 00 00

00 00

01 00

Формула изобретения

1. Устройство для определения. старшинства операций, содержащее регистр знака, информационный вход которого соединен с информационным входом устройства, блок магазинной памяти, первый выход которого соединен с первым информационным выходом устройства, причем управляющие входы регистра знака и блока магазинной памяти соединены соответственно с первым и вторым выходами блока управления,а первый выход регистра знака соединен с информационным входом блока магазинной памяти, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействии, оно содержит регистр адреса и блок оперативной памяти,причем вторые выходы регистра знака и блока магазинной памяти соединены с входами соответственно старших и младших разрядов регистра адреса, выход которого и третий выход блока управления соединены соответственно с адресным и запускающим входами блока оперативной памяти, а информационный выход блока оперативной па2О мяти соединен с входом блока управления.

2. Устройство по п.1, о т л ич а ю щ е е с я тем, что блок управ ления содержит регистр адреса, первый вход которого является входом блока, а выход соединен с адресным входом памяти микрокоманд, выход которой соединен со входом регистра микрокоманд, первый и второй выходы которого соединены соответственно с втоЗО рым входом регистра адреса и с входом дешифратора микрокоманд, выход которого соединен с информационным входом формирователя функциональных сигналов, выходы которого являются

35 соответственно первым, вторью и третьим выходами блока, узел синхронизации, выход которого соединен с синхровходами регистра адреса, памяти микрокоманд и формирователя функциональных сигналов.

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР

Р 388259, кл. G 06 F 9/00, 1973.

2. Авторское свидетельство СССР

Р 407312, кл. G 06 F 9/18,,1973 (прототип).

857994

Фе 2

Составитель Ф. Шагиахметов

Техред Ж. Кастелевич Корректор М- Коста редактор П. Ортутай

Тираж 745 Подписное

ВНИИПИ Государственного комитета СССР по делам иэобретений и открытий

113035, Москва, Ж-35, Раушсная наб., д. 4/5

Закаэ 7245/79 филиал ППП "Патент", r. Ужгород, ул, Проектная,4

Устройство для определения старшинства операций Устройство для определения старшинства операций Устройство для определения старшинства операций Устройство для определения старшинства операций Устройство для определения старшинства операций 

 

Похожие патенты:

Изобретение относится к области вычислительной техники и автоматического контроля и может быть использовано в устройствах прерывания программ, управления потоками данных и формирования исполнительного адреса банков данных в логических процессорах

Изобретение относится к вычислительной технике и используется в автоматических системах управления технологическими процессами

Изобретение относится к вычислительной технике

Изобретение относится к системе и способу для обеспечения возможности исполнения кода режима управления системой (SMM) во время защищенной работы в микропроцессорной системе

Изобретение относится к области вычислительной техники, в частности к системам прерывания ЭВМ
Наверх