Программирующая среда

 

Оп ИСАНИЕ

ИЗОБРЕТЕНИЯ

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

Союз Советскнк

Социалистическмк

Республмм (>813412 (1 . (61) Дополнительное к авт. свид-ву— (22) Заявлено 15.01.79 (21) 2713763/18-24 с присоединением заявки №вЂ” (23) Приоритет— (51) М. Кл.

G 06 F 7/00

G 06 F !5/20

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

СССР по делам изобретений и открытий (53) УДК 681.325..22 (088.8) Опубликовано 15.03.81. Бюллетень № 10

Дата опубликования описания 25.03.81 (72) Автор изобретения

В. В. Жила (71) Заявитель

Таганрогский радиотехнический институт им. В. Д. Калмыкова (54) ПРОГРАММИРУЮЩАЯ СРЕДА

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

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

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

Наиболее близкой из известных вычислительных сред к предлагаемой по технической сущности является программирующая среда, состоящая из однотипных ячеек, соединенных между собой соответствующими информационными входами и выходами, каждая из которых состоит из накопителя, узла приема, узла обмена, формирователя управляющих сигналов, дешифратора и узла сравнения, один вход которого соединен с входом признака сравнения ячейки, другой вход — с первым входом нако20 пителя, а выход — с одним из входов дешифратора, второй вход которого соединен со вторым входом накопителя, а выход— с узлом обмена и с формирователем управляющих сигналов, выходы которого соеди813412 нены с соответствующими управляющими входами узла приема и узла обмена, выходы соединены с информационными выходами ячейки, а информационные входы с выходами накопителя и с информационными входами ячейки, соединенными с информационными входами узла приема, выходами соединенного со входами накопителя, од««н из входов которого соединен с входом ввода программы ячейки. Синтаксический анализ исходного текста программы при преобразовании последнего в объектную программу производится по синтаксическим признакам, которые являются элементами заранее заданного упорядоченного множества и заключаются в выделении отношений синтаксической подчиненности, индуцируемых отношением порядка на указанном выше множестве. ««ля выделения отношений синтаксической подчиненности необходимо на обшу«о для всех ячеек управляющую шину последое«ательно подавать синтаксические признаки в соответствии с отношением порядка (2) .

Однако в конкретных исходных программах ооычно используются не все синтаксические признаки $ ««oðÿ.«o÷å««««îãо множества, а только некоторые из ««Нх. 11ри этом необходимость просмотра всего х:««орядоче««ного множества синтаксических признаков су«цественно снижает быстродействие программирующей среды.

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

Г1остав.«сн««ая цель достигается тем, что в программирующую среду, содержа«««у«о однотипные ячейки, соединенные двухсторонними информационными связями, причем камСдая ячейка включает накопите.ll, узел приема, узел обмена, формирователь управляющих сигналов и первый узел сравнения, первый вход которого соединен с первым входом накопителя. выход первого узла сравнения соединен с первыми входамн формирователя управляюгцих сигналов и дешифратора, второй вход дсшифратора соединен с вторым входом нако«««г«е.«я, выход дешифратора подключен к первому входу узла обмена, три выхода формирователя управляюших сигналов соединены соответственно с первыми, вторыми и третьими управляющими входами узла приема и узла обме««а, четвертый управляющий вход узла обмена соединен с четвертым выходом формирователя у««раве«як>щих сигналов, выходы узла обмена являются информационными выходами ячейки, первые, вторые и третьи информационные входы узла ««pHE .ìà и узла обмена соед««««е««ы соответствеíBU с первым, вторым и третьим информационными входами ячейки, выходы узла приема подключены соответственно к первому, второму и третье у входам накопителя, четвертый вход которого является входом ввода программы ячейки, третий и че«верть«й выходы накопи4О

5

«о

«5 го

25 зо

35 теля подключены соответственно к четвертому и пятому информационным входам узла обмена, группа входов накопителя является выходами объектной программы ячейки, введены элементы И, ИЛИ и второй узел сравнения, первые входы элементов И соединены с первым управляющим входом ячейки, первый и второй входы второго узла сравнения соединены соответственно с первым и пятым выходами накопителя, управляющие входы первого и второго узлов сравнения соединены с вторым управляющим входом ячейки, .второй вход первого узла сравнения соединен с шестым выходом накопителя, выход второго узла сравнения соединен с вторым входом формирователя управляющих сигналов соединен с вторыми вхоратора, пятый выход формирователя управляющим сигналов соединен с вторыми входами первого и второго элементов И, третьи входы которых соединены соответственно с четвертым и пятым информационными входами ячейки, выходы первого и второго элеме««тов И подключены соответственно к первым входам первого и второго элементов

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

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

ИЛИ, выходы первого триггера, элемента задержки, третьего триггера, второго триггера и элемента ИЛИ являются соответственно с первого по пятый выходами формирователя.

На фиг. 1 представлена структурная схема одной ячейки программируюшей среды;

813412

50 на фиг. 2 — функциональные схемы узла приема и узла обмена; на фиг. 3 — функциональная схема формирователя управляющих сигналов.

Программирующая среда содержит накопитель 1, узел 2 приема, узел 3 обмена, узлы 4 и 5 сравнения, формирователь 6 управляющих сигналов, дешифратор 7, элементы И 8 — 12, элементы ИЛИ 13 и 14, регистры 15 — 21 накопителя, вход 22 ввода программы, управляющие входы 23 и 24 ячейки, информационные входы 25 — 29, ячейки, выходы 30 — 33 формирователя управляющих сигналов, вход 34 регистра 15, выход 35 регистра 16, выход 36 регистра

17, выход 37 регистра 18, выходы 38 — 40 элементов 8 — 10 соответственно, выходы 4143 узла приема, дополнительный выход 44 формирователя управляющих сигналов, выходы 45 вывода объектной программы, информационные выходы 46 — 48 ячейки, дополнительные выходы 49 — 50 ячейки, элементы И 51 — 57, элементы 58 — 59 запрета, элементы ИЛИ 60 — 63, элемент И 64, триггеры 65 — 67, элемент 68 задержки, элемент

ИЛИ 69.

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

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

Узел 2 приема предназначен для приема в определенные моменты времени рабочей информации, поступающей из соседних ячеек, и записи ее в соответствующие регистры накопителя. Три информационных входа узла 2 приема соединены с тремя информационными входами 25, 26 и 27 ячейки. Для того, чтобы прием информации, поступающей через информационные входы, производился в строго определенные алгоритмом преобразования моменты времени, управляющие входы узла 2 приема соединены с тремя выходами 30, 31 и 32 формирователя 6 управляющих сигналов. Выходы 41, 42 и 43 этого узла соединены со входами накопителя.

Узел 3 обмена предназначен для передачи рабочей информации из накопителя в соседние ячейки и для транзитной передачи рабочей информации от одной соседней ячейки к другой. Информационные входы этого узла соединены с информационными входами 25, 26 и 27 ячейки и с соответствующими выходами накопителя 1. Узлы 4 и 5 сравнения совершенно идентичны

5 о

15 го

25 зо

45 и предназначены для сравнения синтаксического признака грамматического элемента, записанного в данной ячейке с синтаксическими признаками грамматических элементов, записанных соответственно в левой и правой соседних ячейках. Для этого они своими входами соединены с соответствуюшими выходами накопителя 1. Момент выбора синтаксических признаков из накопителя определяется управляющим сигналом, поступающим на узлы сравнения через управляющий вход 23 ячейки. Результат сравнения передается из узлов 4 и 5 сравнения в формирователь 6 управляющих сигналов и дешифратор 7.

Формирователь 6 управляющих сигналов предназначен для выработки сигналов, управляющих алгоритмом преобразования информации в ячейке, в зависимости от результатов сравнения, произведенного в узлах 4 и 5 сравнения. Набор управляющих сигналов на выходах формирователя 6 управляющих сигналов определяется состоянием, в которое переходит ячейка в зависимости от результатов сравнения. Всего ячей ка может находиться в четырех состояниях: приема, приема и передачи, транзита 1 и транзита 11. Исходное состояние ячейки— состояние приема. Оно характеризуется наличием сигнала на выходе 30. В состояние приема и передачи ячейка переходит, если с выходом двух узлов 4 и 5 сравнения на формирователь 6 управляющих сигналов поступает результата, указывающий на наличие отношения порядка между синтаксическим признаком грамматического элемента, хранящегося в накопителе данной ячейки, .и синтаксическими признаками грамматических элементов, записанных в левой и правой соседних анализируемых ячейках дру гими словами, в это состояние ячейка переходит, если синтаксический признак ее грамматического элемента является максимальным на каком-то фрагменте анализируемого текста программы. Для этого состояния характерно наличие сигналов на выходах 32 и 44. Из состояния приема и передачи через один шаг синтаксического анализа ячейка автоматически переходит в состояние транзита 1, для которого характерно наличие сигналов на выходах 31, 33, и 44. Еще через шаг ячейка автоматически переходит из состояния транзита I в состояние транзита 11. При этом сигналы будут выдаваться на выходах 33 и 44.

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

Элемент И 8 предназначен для записи в накопитель 1 синтаксического признака, поступающего слева. Для этого входы соединены с информационным входом 28 ячейки.

813412

Элемент И 9 предназначен для передачи синтаксического признака из накопителя 1 в соседние ячейки. Информационный вход его соединен с выходом 34 накопителя 1, а выход — со входом элементов ИЛИ 3 и 14. Элемент И 10 предназначен для записи в накопитель 1 синтаксического признака, поступающего справа. Его информационный вход соединен с информационным входом

29 ячейки. Управляющие входы элементов

И 8, 9 и 10 соединены с управляющим входом 24 ячейки и с выходом 30 формирователя 6 управляющих сигналов.

Элементы И 11 и 12 предназначены для транзитной передачи синтаксических признаков соответственно слева направо и справа налево. Управляющие входы этих элементов соединены с управляющим входом 24 ячейки и с выходом 44 формирователя 6 управляющих сигналов. Информационный вход элемента И 11 соединен с информационным входом 28, а информационный вход элемента И 12 — с информационным входом 29 ячейки. Выходы элементов соединены соответственно со входами элементов ИЛИ !3 и 14, которые предназначены для передачи информации на информационные выходы 49 и 50 ячейки.

Регистр 15 предназначен для хранения синтаксического признака грамматического элемента, хранящегося в накопителе 1 списываемой ячейки. Регистры 16 и 17 предназначены для хранения синтаксических признаков, поступающих слева и справа.

В регистре 18 хранится символический код операции. Регистр 19 предназначен для хранения адреса исполняющего операцию устройства или его идентификатора. В регистрах 20 и 21 запоминаются идентификаторы и адреса соответственно левого и правого операндов. Входы регистров 19, 20 и 21 соединены соответственно с выходами 41, 42 и 43 узла 2 приема, а выходы регистров

19 и 20 со входами узла 3 обмена. Кроме того, вторые выходы регистров 18, 19, 20 и 21 соединены с выходами вывода объектной программы.

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

В узле 2 приема элемент И 51 предназначен для записи в накопитель 1 информации, поступающей в ячейку слева через вход

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

31 формирователя 6 управляющих импульсов. Выход 41 элемента И 51 соединен с входом регистра 19. Элемент И 52 предназначен для записи в регистр 20 через выход

42 адреса или идентификатора o«

24 ячейки и с выходом 30 формирователя 6 управляющих сигналов. Элементы И 53 и

54 и элемент ИЛИ 60 предназначены для записи в регистр 2! накопителя 1 адресов или идентификаторов операндов, поступающих на информационный вход 27 ячейки справа. Управляющие входы элементов И

53 и 54 соединены с управляющим входом

24 ячейки и соответственно с выходами 32 и 30 формирователя 6 управляющих сигналов. Выходы этих элементов соединены со входами элемента ИЛИ 60, выход 43 которого соединен со входом регистра 21.

В узле 3 обмена элемент И 55 предназначен для передачи идентификатора из регистра 20 накопителя 1 через элемент ИЛИ

61 и информационный выход 46 в расположенную справа ячейку в том случае. если дешифратором 7 вьiäåëåí оператор присвоения. Информационный вход этого элемента соединен с выходом регистра 20, и один из управляющих входов — с выходом регистра 7. Элемент И 56 предназначеi! для пе25 редачи транзитом через ячейку адресной информации или идентификаторов справа налево. Информационный вход этого элемента соединен с информационным входом 33 формирователя 6 управляющих сигналов.

Элемент И 57 предназначен для ередачи транзитом адресной информации или идентификаторов через ячейку слева направо.

Информационный вход этого элемента соединен с информационным входом 25 ячейки, а один из управляющих входов его — с выходом 33 формирователя 6 управляющих сигналов. Элемент 58 запрета предназначен для запрета передачи информации транзитом через ячейку, находящуюся в состоянии транзита 1 или в состоянии приема, и разрешения прохождения информации трын<в зитом через ячейкх, находящуюся в сосгоянии транзита 1 !. Информационный вход элемента 58 запрета соединен с информационным входом 26 ячейки, и два входа запрета соединены с выходами 30 и 32 форми45 рователя 6 управляющих сигналов. Элемент

59 запрета предназначен для запрета передачи адресной информации из реiистра !9 соседними ячейками, если дешифратор 7 ячейки выделил особый оператор, и разрешения передачи этой информации сосед5О ним ячейкам, если рассматриваемая ячейка находится в состоянии приема и передачи, и оператор, хранящийся в ней, не является особым. Информационный вход элемента

59 запрета соединен с выходом ре."истра 19, вход элемента запрета соединен с выходом дешиФратора 7, а один из управляюгцих входов — с выходом, 32 формирователя 6 управляющих сигналов. Оставшийся управляющий вход элементов 55 — 59 соединен с хп813412

Программирующая среда работает сле- 45 дующим образом.

В накопителях 1 ячеек программирующей среды через информационные входы 23 записываются фрагменты исходного текста программы. Каждый фрагмент состоит из синтаксического признака и грамматического 50 элемента. В качестве грамматического элемента может использоваться символический код операции, например, близкий к обычной математической символике, идентификатор переменной или число. В качестве синтаксического признака используется целое число.

Если грамматический элемент является символическим кодом операции, то он хранится в регистре 18, если же он представляет равляющим входом 24 ячейки, для обеспечения согласования моментов обмена информацией между ячейками. Выходы элементов

И 55 соединены со входами элемента ИЛИ 61 выход которого соединен с информационным выходом 46 ячейки. Входы элемента ИЛИ 62 соединены с выходами элемента И 56 и элемента 58 запрета, а его выход — с информационным выходом 47 ячейки. Входы элемента ИЛИ 63 соединены с входами элементов И 57 и запрета 58, а выход — с информационным выходом 48 ячейки.

В формирователе управляющих сигналов элемент И 64 предназначен для формирования сигнала перехода ячейки в состояние приема и передачи. Этот сигнал появляется в том случае, если узлы 4 и 5 сравнения одновременно определяют наличие отношения порядка между соответствующими синтаксическими признаками. Входы элемента И 64 соединены с выходами узлов Ф и 5 сравнения, а выход — со входом установки триггера 66 и с входом сброса триггера 65. Триггер 65 предназначен для фиксации состояния приема. Вход установки триггера соединен с входом установки исходного состояния, а выхоi — с выходом

30 формирователя 6 управляющих сигна;loB. Триггер бб предназначе для фиксации состояния приема и передачи. Вход сброса этого триггера соединен с ",üb:oäîì элемента 68 задержки, а прямой выход — с выходом 32 формирователя 6 управляюших сигналов, с входом элемента 68 задержки и с одним из входов элемента ИЛИ 69. Триггер 67 предназначен для фиксации состояний транзита. Вход установки его соединен с выходом элемента 68 задержки, а вход сброса — со входом установки исходного состояния. Выход этого триггера соединен со вторым входом элемента ИЛИ 69 и с выходом 33 формирователя 6 управляющих curHà "oa. Элемент 68 задержки предназначен для формирования сигнала на выходе 31 в состоянии транзита 1. Элемент ИЛИ 64 предназна IQII для формирования управляющего сигнала на выходе 44 формирователя

6 уппавляющих сигналов.

40 собой идентификатор переменной или число, то он хранится в регистре 20. Синтаксический признак грамматического элемента хранится в регистре 15. Кроме того, во всех трех регистрах 20, в которых не записан идентификатор переменной или число, хранится собственный адрес ячейки.

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

Следовательно, все триггеры 65 формирователей 6 управляющих сигналов будут находится в исходном сЬстоянии, и формирователи на выходах 30 подают управляющие сигналы. Эти сигналы подготавливают элементы И 8, 9 и 10 и элементы И 52 и

54, расположенные в блоке приема 2, и блокируют элемент 58 запрета. При выполнении первого полушага во всех ячейках из регистров 15 синтаксический признак пройдет через выход 34, элемент И 9, его выход

39 и элементы ИЛИ !3 и 14 на информационные выходы 49 и 50. С выходов 49 и

50 синтаксические признаки поступают соответственно на информационный вход 28 правой ячейки и на информационный вход

29 левой ячейки и соответственно через элементы И 8 и 10, их выходы 38 и 39 записываются в регистры 16 и 17. Таким образом в результате выполнения первого полушага в каждой ячейке в регистре 16 будет записан синтаксический признак грамматического элемента, хранящегося в левой ячейке, а в регистре 17 — синтаксический признак грамматического элемента, хранящегося в правой ячейке.

Во втором полушаге синтаксические признаки из регистров 15, 16 и 17 поступают на соответствующие входы узлов 4 и 5 сравнения, где они сравниваются. Если в результате сравнения окажется, что синтаксический признак из регистра 15 больше синтаксического признака из регистра 16 или они равны, то на выходе узла 4 сравнения появится сигнал. Аналогично, если синтаксический признак из регистра 15 больше синтаксического признака из регистра 17, то на выходе узла сравнения 5 также появится сигнал. В тех ячейках, в которых на этом полушаге сигнал появится на выходах двух узлов сравнения, в формирователях 6 управляющих сигналов через элементы И 64 сбрасываются триггеры 65, снимая сигнал с выхода 36, а триггеры 67 устанавливаются, и появляется сигнал на вы8134 12

12 ходе 32. Кроме того, через элемент ИЛИ 69 этот сигнал поступает на выход 44. Таким образом, эти ячейки переходят в состояние приема и передачи. Во втором полушаге первого шага в указанное состояние перейдут только те ячейки, в которых в качестве грамматических элементов хранятся либо идентификаторы переменных, либо числа, так как они обладают большими синтаксическими признаками. На этом второй полушаг первого шага заканчивается.

В первом полушаге следующего шага выполняются следующие действия. Из регистров 15 всех ячеек, находящихся в состоянии приема выдаются синтаксические признаки по следующим двум путям: 1) выход

34, элемент И 9, выход 39, элемент ИЛИ 13, выход 49, выход 28 правой ячейки; 2) выход 34, элемент И 9, выход 39, элемент ИЛИ

14, выход 50, вход 29 левой ячейки. Если соседняя ячейка находится в состоянии приема и передачи, то элементы И 8 и 10 в них закрыты, а элементы И 11 и 12 готовы к приему информации. Поэтому синтаксические признаки с входа 28 через элементы И 11 и ИЛИ 13 и с входа 29 через элементы И 12 и ИЛИ 14 таких ячеек транзитом переходят соответственно на выходы

49 и 50. Если же соседняя ячейка находится в состоянии приема, то синтаксические признаки записываются в регистры 16 и 17, как было уже указано выше. Кроме того, из регистров 19 ячеек, находящихся в состоянии приема и передачи информации (на описываемом полушаге у идентификатора переменных или числа) поступает на элемент 59 запрета. Так как на управляющий вход этого элемента подается сигнал с выхода 32 формирователя 6 управляющих сигналов и на вход запрета, с входа дешифратора 7 сигнал не подается. Следовательно информация из регистра 19 проходит через элемент 59 запрета и элементы ИЛИ 62 и ИЛИ 63 на информационные выходы 47 и 48. С информационного выхода 47 информация поступает на вход 27 левой ячейки и с информционного выхода 48 — на вход

5 правой ячейки. Эти ячейки в первом полушаге второго шага могут находиться либо в состоянии приема, либо в состоянии передачи и приема. В первом случае информация с входа 25 через элемент И 52 и его выход 42 поступает в регистр 20, а с входа

27 через элементы И 54 и ИЛИ 60 — в регистр 21. Во втором случае открывается только один элемент И 53 в узле 2 приема.

Поэтому в накопитель 1 ячейки записывается только информация, поступающая на ячейку справа через вход 27. Таким образом, в результате выполнения первого полушага второго шага идентификаторы или числа из регистров 19 ячеек, находящихся в состоянии приема и передачи, передаются в регистры 2 левых ячеек, находящихся в состоянии приема или приема и, едачи, и в регистры 20 правых ячеек, находящихся в состоянии приема. Если ячейка, которая расположена непосредственно справа от ячейки, находящейся в состоянии приема и передачи, также находится в состоянии приема и передачи, то информация о левом операнде в ее регистр 20 не заносится. Кроме того, в регистрах 16 ячеекк, расположенных непосредственно справа, и в регистрах

17 ячеек, расположенных непосредственно слева от ячеек, находящихся в состоянии приема и передачи, производится обновление инфор ации. А именно, в регистр 16 ячейки, расположенной справа от ячейки, находящейся в состоянии приема и пере1 дачи, записывается синтаксический признак из регистра 15 ячейки, расположенной слева, и наоборот, синтаксический признак из регистра 15 ячейки, расположенной справа, записывается в регистр 17 ячейки, распо20 " ложенной слева. В ячейках, с которыми рядом не расположены ячейки, находящиеся в состоянии приема и передачи, информация в регистрах 16 и 17 подтверждается.

Во втором полушаге второго шага производится анализ синтаксических признаков и изменение состояния ячеек. Анализ синтаксических признаков производится точно также, как и во втором полушаге первого шага, за исключением того, что в ячейках, находящихся в состоянии приема и передачи, анализ синтаксических признаков не производится. 8 результате анализа новое множество ячеек переводится в состояние приема и передачи, автоматически переходит в состояние транзита 1. Это производится следующим образом. Сигнал, поданный на вход элемента 68 задержки с выхода триггера 66 в предыдущем втором полушаге, через время, равное длительности шага, появляется на его выходе, следовательно, и на выходе

31 формирователя 6 управляющих сигналов. Кроме того, этот же сигнал сбрасывает триггер 66, в результате чего снимается сигнал с выхода 32, и устанавливает триггер

67. Сигнал, появившийся на выходе триггера 67 поступает на выход 33 формирователя 6 управляющих сигналов и через элемент

ИЛИ 69 — на выход 44. Сигнал, появившийся на выходе 31 формирователя 6 управляющих сигналов подготавливает элемент И 51 в узле 2 приема и блокирует элемент запрета в узле 3 обмена. Сигнал, появившийся на выходе 33, подготавливает элементы И 56 и И 57 в узле 3 обмена. Сигнал с выхода 44 подготавливает элементы

И 11 и И 12. Вследствие того, что снимается сигнал с выхода 32 формирователя б управляющих сигналов блокируются, элементы И 53 в узле 2 приема и элемент 59 запрета в узле обмена.

В первом полушаге третьего шага выполняются следующие действия по обмену

813412

Во втором полушаге третьего шага производится анализ синтаксических признаков и установка шаговых состояний ячеек.

Так же, как и на предыдуших шагах анализа по результатам анализа какое-то новое множество ячеек переводится в состояние приема и передачи так же, как было описано ранее. Ячейки, находящиеся в состоянии приема и передачи, автоматически переходят в состояние транзита 1, а ячейки, находящиеся в состоянии транзита 1 — в состояние транзита 11. В этом состоянии сигнал с выхода 31 формирователя 6 управляющих сигналов снимается, и остаются сигналы только на выходах 33 и 34. При этом

55 информацией. Из регистров 19 ячеек, находящихся в состоянии приема и передачи, информация (адресная информация или идентификаторы) передается в ячейки, расположенные слева. Если ячейка, расположенная слева, находится в состоянии приема или в состоянии приема и передачи, а ячейка, расположенная справа, находится в состоянии, описанном для первого полушага второго шага, то информация, поступающая на вход ячейки 27, расположенной 10 слева, записывается в регистр 21, а информация, поступающая на вход 5 ячейки, расположенной справа, записывается в регистр

20, и передача информации следующим ячейкам в этих ячейках блокируется с помощью элементов И 56 и И 57. Если же ячейки, l5 которые расположены слева и справа относительно ячейки, находящейся в состоянии приема и передачи, находятся в состоянии транзита 1, то информация, поступающая соответственно на входы 25 слева, тран- го зитом проходит через элементы И 57 и ИЛИ

63 в узле 3 обмена на выход 48 и, поступив на входы 27 справа, проходит транзитом через элементы И 56 и ИЛИ 62 на информационный выход 47. Информация транзитом распространяется влево пока не достигнет ячейки, находящейся в состоянии приема или приема и передачи, и распространяется впра во по программирующей среде пока не достнгнет ячейки, находящейся в состоянии приема. После этого над ней производятся действия, описанные выше. Кроме того, на этом же шаге из всех ячеек, находящихся в состоянии приема, на выходы 49 и 50 подаются синтаксические признаки, которые транзитом проходят через элементы И 11 и ИЛИ 13 и через элементы И 12 и ИЛИ 35

14 ячеек, находящихся в состоянии приема и передачи или в состоянии транзита 1 до тех пор, пока не достигнут ячеек, находящихся в состоянии приема. В последних они обновляют информацию соответственно в регистрах 16 и 17, с которыми рядом не расположены ячейки, находящиеся в состоянии транзита 1 или в состоянии приема, и передача информации в регистрах 16 и 17 подтверждается. соответственно блокируется элемент И 51 и деблокируется элемент 58 запрета. Состояние других элементов ячейки остается таким же, каким оно было в предыдущем состоянии.

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

Для этого необходимо, чтобы в регистре

18 ячейки был записан код особого оператора, например оператора присвоения, и на рассматриваемом шаге на выходах узлов

4 и 5 сравнения одновременно появились сигналы, указывающие о выделении отношения порядка между соответствующими синтаксическими признаками. Сигнал, появившийся на выходе дешифратора 7, блокирует элемент 59 запрета и готовит элемент И 55.

В результате этих действий на первом полушаге следующего шага из регистра 20 ячейки, в которой в регистре 18 записан код особого оператора. будет считан идентификатор. Последний с выхода регистра 20 через элементы И 55 и ИЛИ 62 проходит на информационный выход 46 ячейки. Поступление же информации из регистра 19 на выход 48 в этой ячейке блокируется элементом 59 запрета. Идентификатор, поступивший на выход 46 ячейки, поступает на вход

26 соседней правой ячейки. Если последняя находится в состоянии транзита 11, то идентификатор через элемент 58 запрета и через элемент ИЛИ 61 проходит на выход 46. Распространение идентификатора вправо продолжается до тех пор. пока он не достигнет ячейки, находящейся в состоянии транзита 1. После этого дальнейшее продвижение идентификатора по программирующей среде блокируется элементом 58 запрета. Блокирование производится по входу, соединенному с выходом 31 формирователя 6 управляющих сигналов. Кроме того, идентификатор через элемент И 51 записывается в регистр 19. Синтаксический анализ заканчивается после перехода всех ячеек в одно из состояний транзита. В результате описанного процесса в накопителе 1 каждой ячейки сохраняется элемент объектной программы, а именно: в регистре 18 — код операции, в регистре 19 — идентификатор или адрес процессора, в котором исполняется опера15

813412

5

Формула изобретения ция, в регистре 21 — идентификатор или адрес правого операнда, а в регистре 20— идентификатор или адрес левого операнда (если такой имеется).

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

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

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

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

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

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

l. Однородные микроэлектронные ассоциативные процессоры. Под. ред. И. В. Прангишвили. М., -Советское радио»., 1973, с. 115 — 116.

2. авторское свидетельство СССР по заявке № 2324495/18-24, кл. G 06 F 15/20, 1976 (прототип).

8l34I2 ! uz.2

Составитель А Жеренов

Редактор А.!!аурсков Техред А. Бойкас Корректор М. Шароши

Заказ 285/6! Тираж 745 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий ! !3035, Москва, Ж вЂ” 35, Раушская наб., д. 4/5 филиал ППП «Патент», r. Ужгород, ул. Проектная, 4

Программирующая среда Программирующая среда Программирующая среда Программирующая среда Программирующая среда Программирующая среда Программирующая среда Программирующая среда Программирующая среда Программирующая среда 

 

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

Изобретение относится к электросвязи и может быть использовано для поиска информации и идентификации применяемых в цифровых системах связи кадров коммуникационных протоколов, относящихся к подмножеству процедур HDLC
Наверх