(54) ПРОГРАММИРУЮЩАЯ СРЕДА
название | год | авторы | номер документа |
---|---|---|---|
Программирующая среда | 1976 |
|
SU737947A1 |
Трехкаскадная коммутирующая система | 1984 |
|
SU1226481A1 |
ТРЕХКАСКАДНАЯ КОММУТАЦИОННАЯ СИСТЕМА | 2007 |
|
RU2359313C2 |
Система для обмена информацией | 1990 |
|
SU1815646A1 |
Адаптивная телеметрическая система | 1979 |
|
SU783825A1 |
Устройство для передачи телеметрической информации | 1978 |
|
SU765858A1 |
Система для обмена информацией | 1985 |
|
SU1298760A1 |
Кольцевая система для обмена информацией | 1988 |
|
SU1550522A1 |
Устройство для решения задач на графах | 1986 |
|
SU1424031A1 |
УСТРОЙСТВО ЗАЩИТЫ ИНФОРМАЦИИ | 1990 |
|
RU2022346C1 |
1
Изобретение относится к вычислительной технике и может быть использовано для автоматического составления электронной коммутации и настройки многопроцессорных структур, а также для сортировки информации по признакам.
Известна вычислительная среда, состоящая из однотипных ячеек, соединенных между собой соответствующими входами и выходами, каждая из которых состоит из накопителя, узла приема, узла передачи сигналов сравнения и элемента сравнения, входы которого соединены с накопителем и входами опросаячейки, выход - со входом узла передачи сигнала-совпадения, выход которого соединен с информационными выходами ячейки, а другие входы - со входом настройки и с информац юнными входами ячейки, которые кроме того соединены со входом узла приема, другой вход которого соединен со входом настройки и с информационными входами ячейки, которые кроме того соединены со входом узла прием.а, другой вход которого соединен со входом записи, а выход - со входом накопителя 1.
Однако в ассоциативном параллельном процессоре, реализуемом с помощью данных ячеек, невозможно организовать процесс параллельной трансляции без дополнительных внещних узлов (памяти микропрограмм, регистров записи, настройки и т. д.). Это приводит к увеличению оборудования. Кроме того, обращение к внещним по отнощению к процессору узлам увеличивает время трансляции.
Наиболее близкой из известных вычислительных сред к предлагаемой по технической сущности является программирующая среда, состоящая из однотипных ячеек, соединенных между собой соответствующими информационными вход.ами и выходами, каждая из которых состоит из накопителя, узла приема, узла обмена, формирователя управляющих, сигналов, дешифратора и узла сравнения, один вход которого соединен с входом признака сравнения ячейки, другой вход - с первым входом накопителя, а выход - с одним из входов дещифратора, второй вход которого соединен со вторым входом накопителя, а выход - с узлом обмена и с формирователем управляющих сигналов, выходы которого соедийены с соответствующими управляющими входами узла приема и узла обмеиа, выходы соединены с информационными выходами ячейки, а информационные входы - с выходами накопителя и с информационными входами ячейки, соединенными с информационными входами узла приема, выходами соединенного со входами иакогп-иеля, один из входов которого соединен с входом ввода программы ячейки. Синтаксический анализ исходного текста программы при преобразовании последнего в объектную программу производится по синтаксическим признакам, которые являются элементами заранее заданного упорядоченного множества и заключаются в выделении отношений синтаксической иодчиненности, индуцируемых отношением порядка на указанном выше множестве. Д;1Я выде.чения отношений синтаксической подчиненности необходимо иа общую для всех ячеек управляющую шину последовательно подавать синтаксические признаки в соответствии с отношением порядка 2 . Одиако в конкретных исходных программах обычно используются не все синтаксические признаки унорядоченно1-о .множества, а только некоторые из них. При этом необходимость просмотра всего упорядоченного множества синтаксических признакон существенно снижает быстродействие программирующей среды.
Цель изобретения - новышение быстродействия.
Поставленная цель достигается те.м, что в нрограммирующую среду, содержащую однотииные ячейки, соединенные двухсторонними информационными связями, нрнчем каждая ячейка включает наконитель, узел нриема, узел обмена, фор.мирователь управляющих сигиа;1ов и первый узел сравнения, иервый вход которого соединен с первым входом иакопителя. выход первого узла сравнения соединен с первыми входами формирователя уиравляюицгх сигналов и дещифратора, второй вход дешифратора соединен с вторым входом накогнггеля, выход деилифратора иодключен к первому входу узла обмеиа. три выхода формирователя управляющих сигна.юв соединены соответственно с первыми, вторыми и третьими уиравляющими входамн узла приема и узла обмена, четвертый управляющий вход узла обмена соединен с четверты.м выходом формирователя управляющих сигналов, выходы узла обмена являются информационными вь1ходами ячейки, первые, вторые и третьи информационные входы узла приема и узла обмена соединены соответственно с первым, вторым и третьим информационны.ми входами ячейки, выходы узла приема подключены соответственно к первому, второму и третьему входа.м накопителя, четвертый вход которого является входом ввода програм.мы ячейки, третий и четвертый выходы накопителя подключены соответственно к четвертому и пятому информационным входам узла обмена, группа входов накопителя является выходами объектной программы ячейки, введены элементы И, ИЛИ и второй узел
сравнения, первые входы элементов И соединены с первым управляющим входом ячейки, первый и второй входы второго узла сравнения соединены соответственно с первым и пятым выходами накопителя, управляющие входы первого и второго узлов сравнения соединены с вторым управляющим входом ячейки, -второй вход первого узла сравнения соединен с щестым выходом накопителя, выход второго узла сравнения соединен е вторым входом формирователя управляющих сигналов соединен с вторыми вхоратора, пятый выход формирователя управляющим сигналов соединен с вторыми входами первого и второго элементов И, третьи входы которых соединены соответственно с четвертым и пятым информационными входа.ми ячейки, выходы первого и второго эле.ментов И подключены соответственно к первы.м входа.м первого и второго элементов
ИЛИ, выходы которых являются дополнительными информационными выходами ячейки, вторые входы третьего, четвертого и пятого элементов И соедииены с первым входом формирователя управляющих сигналов, третьи входы подключены соответственно к четвертому информационному входу ячейки, пятому информационному вхсду ячейки и к первому выходу накопителя, пятый и шестой входы которого соединены соответственно с выходом третьего элемента И с выходом четвертого элемента И, выход пятого эле.мента И подключен к вторым входам первого и второго элементов ИЛИ, четвертый управляющий вход узла приема и пятый управляющий вход узла обмена подключены к первому управляюще.му входу ячейки.
Кроме того, в программирующей среде 0 фор.мирователь управляющих сигналов в каждой ячейке содержит элементы И, ИЛИ, задержки и три триггера, первые входы первого и второго триггеров соединены с входом установки исходного состояния формирователя, первый вход третьего триггера и второй вход первого триггера соединены с выходом элемента И, входы которого являются первы.м и вторым входами формирователя, выход третьего триггера соединен с первым входо.м эле.мента ИЛИ и через элемент задержки - со своим вторым входо.м и с вторым входом второго триггера, выход которого соединен с вторым входом элемента ИЛИ, выходы первого триггера, элемента задержки, третьего триггера, второго триггера и элемента ИЛИ являются соответственно с первого по пятый выходами фор.мирователя.
На фиг. 1 представлена структурная схема одной ячейки программирующей среды; на фиг. 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 соответственно, выходы 41 - 43 узла приема, дополнительный выход 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 сравнения соверщенно идентичны И предназначены для сравнения синтаксического признака грамматического элемента, записанного в данной ячейке с синтаксическими признаками грамматических элементов, записанных соответственно в левой и правой соседних ячейках. Для этого они своими входами соединены с соответствующими выходами накопителя 1. Момент выбора синтаксических признаков из накопителя определяется управляющим сигналом, поступающим на узлы сравнения через управляющий вход 23 ячейки. Результат сравнения передается из узлов 4 и 5 сравнения в формирователь 6 управляющих сигналов и дещифратор 7. Формирователь 6 управляющих сигналов предназначен для выработки сигналов, управляющих алгоритмом преобразования информации в ячейке, в зависимости от результатов сравнения, произведенного в узлах 4 и 5 сравнения. Набор управляющих сигналов на выходах формирователя 6 управляющих сигналов определяется состоянием, в которое переходит ячейка в зависимости от результатов сравнения. Всего ячей ка может находиться в четырех состояниях: приема, приема и передачи, транзита 1 и транзита 11. Исходное состояние ячейки - состояние приема. Оно характеризуется наличием сигнала на выходе 30. В состояние приема и передачи ячейка переходит, если с выходом двух узлов 4 и 5 сравнения на формирователь 6 управляющих сигналов поступает результата, указывающий на наличие отношения порядка между синтаксическим признаком грамматического элемента, хранящегося в накопителе данной ячейки, -и синтаксическими признаками грамматических элементов, записанных в левой и правой соседних анализируемых ячейках. Другими словами, в это состояние ячейка переходит, если синтаксический признак ее грамматического элемента является максимальным на каком-то фрагменте анализируемого текста программы. Для этого состояния характерно наличие сигналов на выходах 32 и 44. Из состояния приема и передачи через один шаг синтаксического анализа ячейка автоматически переходит в состояние транзита 1, для которого характерно наличие сигналов на выходах 31, 33, и 44. Еще через щаг ячейка автоматически переходит из состояния транзита 1 в состояние транзита 11. При этом сигналы будут выдаваться на выходах 33 и 44. Дешифратор 7 предназначен для выдеения кодов особых операторов. К особым операторам можно отнести операторы, управляющие процессом преобразования или, напри.мер, оператор присвоения. Элемент И 8 предназначен для записи в акопитель 1 синтаксического признака, посупающего слева. Для этого входы соединеы с информационным входом 28 ячейки.
Элемент И 9 предназначен для передачи синтаксического признака из накопителя 1 в соседние ячейки. Информационный вход его соединен с выходом 34 накопителя 1, а выход - со входом элементов ИЛИ 13 и 14. Элемент И 10 предназначен для записи в накопитель 1 синтаксического признака, поступающего справа. Его информационный вход соединен с информационным входом 29 ячейки. Управляющие входы элементов И 8, 9 и 10 соединены с управляющим входом 24 ячейки и с выходом 30 формирователя 6 управляющих сигналов.
Элементы И 11 и 12 предназначены для транзитной передачи синтаксических признаков соответственно слева направо и справа налево. Управляющие входы этих элементов соединены с управляющим входом 24 ячейки и с выходом 44 формирователя б управляющих сигналов. Информационный вход элемента И 11 соединен с информационным входом 28, а информационный вход элемента И 12 - с информационным входом 29 ячейки. Выходы элементов соединены соответственно со входами элементов ИЛИ 13 и 14, которые предназначены для передачи информации на информационные выходы 49 и 50 ячейки.
Регистр 15 предназначен для хранения синтаксического признака грам.матического элемента, хранящегося в накопителе 1 списываемой ячейки. Регистрь 16 и 17 предназначены для храпения синтаксических признаков, поступающих слева и справа. В регистре 18 хранится символический код операции. Регистр 9 предназначен для хранения адреса исполняющего операцию устройства илп его идентификатора. В регистрах 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 адреса или идентификатора операнда, поступающего на информационный вход 25 ячейки слева. Управляющие входы эле.мента И 52 соединены с управляющим входом 24 ячейки и с выходом 30 формирователя 6
управляющих сигналов. Элементы И 53 и 54 и эле.мент ИЛИ 60 предназначены для записи в регистр 21 накопителя 1 адресов или идентификаторов операндов, ноступаю щих на информационный вход 27 ячейки справа. Управ.чяющие входы элементов И 53 и 54 соединены с управляющим входом 24 ячейки и соответственно с выходами 32 и 30 формирователя 6 унравляюп1их сигналов. Выходы этих элементов соединены со входами элемента ИЛИ 60, выход 43 которого соединен со входом регистра 21.
В узле 3 обмена элемент И 55 предназначен для передачи идентификатора из регистра 20 накопителя 1 через элемент ИЛИ 61 и информационный выход 46 в расположенную справа ячейку в то.м с;1учае, если дешифратором 7 выделен оператор присвоения. Информационный вход этого элемента соединен с выходом регистра 20, а один из управляющих входов - с выходом регистра 7. Элемент И 56 предназначен для передачи транзитом через ячейку адресной информации или идентификаторов справа налево. Информационный вход этого эле.мента соединен с информацио П1ым входом 33 формирователя 6 управляющих сигналов. Элемент И 57 предназначен для передачи транзитом адресной информации или идентификаторов через ячейку слева направо. Информационный вход этого элемента соединен с информационным входом 25 ячейки, а один из управляющих входов его -- с выходом 33 формирователя 6 унравляюп1их сигналов. Элемент 58 запрета предназначен запрета передачи информации транзитом через ячейку, находящуюся в состоянии транзита i или в состоянии нрие.ма, и разрешения прохождения информации транзитом через ячейку, находящуюся в состоянии транзита 11. Информационный вход эле.мента 58 запрета соединен с информационным входом 26 ячейки, а два входа запрета соединены с выходами 30 и 32 формирователя 6 управ.чяющих сигна.юв. Элемент
5 If 59 запрета предназначен для запрета передачи адресной инфор.мации из регистра 19 соседними ячейками, если дешифратор 7 ячейки выделил особый оператор, и разрешения передачи этой информации соседним ячейкам, если рассматриваемая ячейка находится в состоянии прие.ма и передачи, и оператор, хранящийся в ней, не является особым. Информационный вход элемента 59 запрета соединен с выходом регистра 19, вход элемента запрета соединен с выходом дешифратора 7, а один из управляющих входов - с выходом 32 формирователя 6 управ..пяющих сигналов. Оставшийся управляющий вход элементов 55-59 соединен с vnравляющим входом 24 ячейки, для обеспечения согласования моментов обмена информацией между ячейками. Выходы элементов И 55 соединены со входами элемента ИЛИ 61 выход которого соединен с информационным выходом 46 ячейки. Входы элемента ИЛИ 62 соединены с выходами элемента И 56 и элемента 58 запрета, а его выход - с информационным выходом 47 ячейки. Входы элемента ИЛИ 63 соединены с входами элементов И 57 и запрета 58, а выход - с информационным выходо.м 48 ячейки. В формирователе управляющих сигналов элемент И 64 предназначен для формирования сигнала перехода ячейки в состояние приема и передачи. Этот сигнал появляется в том случае, если узлы 4 и 5 сравнеНия одновременно определяют наличие отношения порядка между соответствующими синтаксическими признаками. Входы элемента И 64 соединены с выходами узлов 4 и 5 сравнения, а выход - со входом установки триггера 66 и с входом сброса триггера 65. Триггер 65 предназначен для фиксации состояния приема. Вход установки триггера соединен с входом установки исходного состояния, а выход - с выходом 30 формирователя 6 управляющих сигналов. Триггер 66 предназначен для фиксации состояния приема и передачи. Вход сброса этого триггера соединен с выходом эле.мента 68 задержки, а пря.мой выход - с выходом 32 фор.мирователя 6 управляющих сигналов, с входом элемента 68 задержки и с одним из входов элемента ИЛИ 69. Триггер 67 предназначен для фиксации состояний транзита. Вход установки его соединен с выходом элемента 68 задержки, а вход сброса - со входом установки исходного состояния. Выход этого триггера соединен со вторым входом элемента ИЛИ 69 и с выходом 33 формирователя 6 управляющих сигналов. Элемент 68 задержки предназначен для формирования сигнала на выходе 31 в состоянии транзита I. Элемент ИЛИ 64 предназначен для формирования управляющего сигнала на выходе 44 фор.мирователя 6 уп равляющих сигналов. Программирующая среда работает еледующим образом. В накопителях 1 ячеек программирующей среды через инфор.мационные входы 23 записываются фрагменты исходного текста программы. Каждый фрагмент состоит из синтаксического признака и грамматического элемента. В качестве гра.мматического элемента может использоваться символический код операции, напри.мер, близкий к обычной .математической символике, идентификатор переменной или число. В качестве синтаксического признака используется целое число. Если грамматический элемент является символически.м кодом операции, то он хранится в регистре 18, если же он представляет собой идентификатор переменной или число, то он хранится в регистре 20. Синтаксический признак грамматического элемента хранится в регистре 15. Кроме того, во всех трех регистрах 20, в которых не записан идентификатор переменной или число, хранится собственный адрес ячейки. Каждый шаг синтаксического анализа исходного текста программы производится за два полушага. Первый полушаг выполняется при наличии сигнала на управляюшеМ входе 24 ячейки. Сигнал на управляющем входе 23 ячейки определяет момент выполнения второго полушага. В первом полушаге производится обмен информацией между ячейками, а во втором - определение состояния ячеек для выполнения следующего щага. В начале синтаксического анализа все ячейки находятся в состоянии приема. Следовательно, все триггеры 65 формирователей 6 управляющих сигналов будут находится в исходном состоянии, и формирователи на выходах 30 подают управляющие сигналы. Эти сигналы подготавливают элементы И 8, 9 и 10 и элементы И 52 и 54, расположенные в блоке приема 2, и блокируют элемент 58 запрета. При выполнеНИИ первого полушага во всех ячейках из регистров 15 синтаксический признак пройдет через выход 34, элемент И 9, его выход 39 и элементы ИЛИ 13 и 14 на информационные выходы 49 и 50. С выходов 49 и 50 синтаксические признаки поступают соответственно на информационный вход 28 правой ячейки и н.а информационный вход 29 левой ячейки и соответственно через эле.менты И 8 и 10, их выходы 38 и 39 записываются в регистры 16 и 17. Таким образом результате выполнения первого полушага в каждой ячейке в регистре 16 будет записан синтаксический признак грамматического элемента, хранящегося в левой ячейке, а в регистре 17 - синтаксический признак грамматического элемента, хранящегося в правой ячейке. DO втором полушаге синтаксические признаки из регистров 15, 16 и 17 поступают на соответствующие входы узлов 4 и 5 сравнения, где они сравниваются. Если в результате сравнения окажется, что синтаксический признак из регистра 15 больще синтаксического признака из регистра 16 или они равны, то на выходе узла 4 сравнения появится сигнал. Аналогично, если синтаксический признак из регистра 15 больще синтаксического признака из регистра 17, то на выходе узла сравнения 5 также появится сигнал. В тех ячейках, в которых на этом полушаге сигнал появится на выходах двух узлов сравнения, в формирователях 6 управляющих сигналов через элементы И 64 сбрасываются триггеры 65, снимая сигнал с выхода 36, а триггеры 67 устанавливаются, и появляется сигнал на выходе 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 ячейки, расположенной справа от ячейки, находящейся в состоянии прие.ма и передачи, записывается синтаксический признак из регистра 15 ячейки, расположенной слева, и наоборот, синтаксический признак из регистра 15 ячейки, расположенной справа, записывается в регистр 17 ячейки, расположенной слева. В ячейках, с которыми рядом не расположены ячейки, находящиеся в состоянии прие.ма и передачи, инфор.мация в регистрах 16 и 17 подтверждается.
Во втором полушаге второго шага производится анализ синтаксических признаков и изменение состояния ячеек. Анализ синтаксических признаков производится точно также, как и во втором полушаге первого шага, за исключением того, что в ячейках, находящихся в состоянии приема и передачи, анаЛИЗ синтаксических признаков не производится. В результате анализа новое множество ячеек переводится в состояние приема и передачи, автоматически переходит в состояние транзита 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 формирователя 6 управляющих сигналов блокируются ,элементы И 53 в узле 2 приема и элемент 59 запрета в узле обмена.
В первом полущаге третьего щага выполняются следующие действия по обмену информацией. Из регистров 19 ячеек, находящихся в состоянии приема и передачи, информация (адресная информация или идентификаторы) передается в ячейки, расположенные слева. Если ячейка, расположенная слева, находится в состоянии приема или в состоянии приема и передачи, а ячейка, расположенная справа, находится в состоянии, описанном для первого полушага второго шага, то информация, поступающая на вход ячейки 27, расположенной слева, записывается в регистр 21, а информация, поступаюшая на вход 5 ячейки, расположенной справа, записывается в регистр 20, и передача информации следующим ячейкам в этих ячейках блокируется с помощью элементов И 56 и И 57. Если же ячейки, которые расположены слева и справа относительно ячейки, находящейся в состоянии приема и передачи, находятся в состоянии транзита 1, то информация, поступающая соответственно на входы 25 слева, транзитом проходит через элементы И 57 и ИЛИ 63 в узле 3 обмена на выход 48 и, поступив на входы 27 справа, проходит транзитом через элементы И 56 и ИЛИ 62 на информационный выход 47. Информация транзитом распространяется влево пока не достигнет ячейки, находящейся в состоянии приема или приема и передачи, и распространяется впра во по программируюплей среде пока не достигнет ячейки, находящейся в состоянии приема. После этого над ней производятся действия, описанные выше. Кроме того, на этом же шаге из всех ячеек, находящихся в состоянии приема, на выходы 49 и 50 подаются синтаксические признаки, которые транзитом проходят через элементы И 11 и ИЛИ 13 и через элементы И 12 и ИЛИ 14 ячеек, находящихся в состоянии приема и передачи или в состоянии транзита 1 до тех пор, пока не достигнут ячеек, находящихся в состоянии приема. В последних они обновляют информацию соответственно в регистрах 16 и 17, с которыми рядом не расположены ячейки, находящиеся в состоянии транзита 1 или в состоянии приема, и передача информации в регистрах 16 и 17 подтверждается. Во втором полушаге третьего шага производится анализ синтаксических признаков и установка шаговых состояний ячеек. Так же, как и на предыдущих шагах анализа по результатам анализа какое-то новое множество ячеек переводится в состояние приема и передачи так же, как было описано ранее. Ячейки, находящиеся в состоянии приема и передачи, автоматически переходят в состояние транзита 1, а ячейки, находящиеся в состоянии транзита 1 - в состояние транзита 11. В этом состоянии сигнал с выхода 31 формирователя 6 управляющих сигналов снимается, и остаются сигналы только на выходах 33 и 34. При этом соответственно блокируется элемент И 51 и деблокируется элемент 58 запрета. Состояние других элементов ячейки остается таким же, каким оно было в предыдущем состоянии. В первом полушаге четвертого шага действия ПС- обмену информацией производятся точно также, как и в первом полушаге третьего шага. Следует обратить внимание на то, что пока нет сигнала на выходе дешифратора 7 одной из ячеек, информация через ячейки, находящиеся в состоянии транзита 1 проходит точно так же, как и через ячейки, находящиеся в состоянии транзита 11. Все последующие щаги синтаксическо го анализа выполняются точно так же, как на третьем шаге с учетом замечания о ячейках, находящихся в состоянии транзита И, сделанного при описании четвертого шага, до тех пор, пока хотя бы в одной из ячеек на входе дешифратора 7 не появится сигнал. Для этого необходимо, чтобы в регистре 18 ячейки был записан код особого оператора, например оператора присвоения, и на рассматриваемом шаге на выходах узлов 4 и 5 сравнения одновременно появились сигналы, указываюшие о выделении отношения порядка между соответствующими синтаксическими признаками. Сигнал, появившийся на выходе дешифратора 7, блокирует элемент 59 запрета и готовит элемент И 55. В результате этих действий на первом полушаге следующего шага из регистра 20 ячейки, в которой в регистре 18 записан код особого оператора, будет считан идентификатор. Последний с выхода регистра 20 через эле.менты И 55 и ИЛИ 62 проходит на информационный выход 4,6 ячейки. Поступление же информации из регистра 19 на выход 48 в этой ячейке блокируется элементом 59 запрета. ИдеЕ{тификатор, поступивший на выход 46 ячейки, поступает на вход 26 соседней правой ячейки. Если последняя находится в состоянии транзита 11, то идентификатор через элемент 58 запрета и через элемент ИЛИ 61 проходит на выход 46. Распространение идентификатора вправо продолжается до тех пор, пока он не достигнет ячейки, находящейся в состоянии транзита 1. После этого дальнейшее продвижение идентификатора по программирующей среде блокируется элементом 58 запрета. Блокирование производится по входу, соединенному с выходом 31 формирователя 6 управляющих сигналов. Кроме того, идентификатор через элемент И 51 записывается в регистр 19. Синтаксический анализ заканчивается после перехода всех ячеек в одно из состояний транзита. В результате описанного процесса в накопителе 1 каждой ячейки сохраняется элемент объектной программы, а именно: в регистре 18 - код операции, в регистре 19 - идентификатор или адрес процессора, в котором исполняется операция, в регистре 21 - идентификатор или адрес правого операнда, а в регистре 20 - идентификатор или адрес левого операнда (если такой имеется). Введение новых элементов и связей в программирующую среду позволяет увеличить быстродействие. Это происходит из-за того, что при анализе программы производится сравнение синтаксических признаков, используемых в программе, со всеми подряд синтаксическими признаками, расположенными между наименьшим элементом упо-рядоченного множества и наибольшим синтаксическим признаком, используемым в программе. Анализ программы производится только по тем синтаксическим признакам, которые используются в программе. Синтаксические признаки, не используемые в исходном тексте программы, но принадлежаш.ие подмножеству синтаксических признаков, расположенных между наименьшим элементом множества и наибольшим синтаксическим признаком программы, при анализе игнорируются. Формула изобретения 1. Программирующая среда, содержашая однотипные ячейки, соединенные двухсторонними информационными средами, причем каждая ячейка включает накопитель, узел приема, узел обмена, формирователь управляющих си/ налов и первый узел сравнения, первый вход которого соединен с первым входо.м накопителя, выход первого узла сравнения соединен с первыми входами формирователя управляющих сигналов и дешифратора, второй вход дешифратора соединен с вторым входом накопителя, выход дешифратора подключен к первому узла обмена, три выхода формирователя управляющих сигналов соединены соответственно с первыми, вторыми и третьими управляющи.ми входами узла приема и узла обмена, четвертый управляющий вход узла обмена соединен с четвертым выходом фор.мирователя управляющих сигналов, выходы узла обмена являются информационными выходами ячейки, первые, вторые и третьи инфор.мационные входы узла приема и узла обмена соединены соответственно с первым, вторым и третьим информационными входами ячейки, выходы узла приема подключены соответственно к первому, второму и третьему входам накопителя, четвертый вход которого является входом ввода программы ячейки, третий и четвертый выходы накопителя подсоединены соответственно к четвертому и пятому информационным входам узла об.мена, группа выходов накопителя является выходами объектной программы ячейки, отличающаяся тем, что, с целью повышения быстродействия, в нее введены элементы И, ИЛИ и второй узел сравнения, первые входы элементов И соединены с первым управляющим входом ячейки, первь и второй входы второго узла сравнения соединены соответственно с первым и с пятым выходами накопителя, управляющие входы первого и второго узлов сравнения соединены с вторым управляющим входом ячейки, второй вход первого узла сравнения соединен с щестым выходом накопителя, выход второго узла сравнения соединен с вторым входом формирователя управляющих сигналов и с третьим входом дешифратора, пятый выход формирователя управляющих сигналов соединен с вторыми входами второго и первого элементов И, третьи входы которых соединены соответственно с четвертым и пятым информационными входами ячейки, выходы первого и второго элементов И подключены соответственно к первым входам первого и второго элементов ИЛИ, выходы которых являются дополнительными информационными выходами ячейки, вторые входы третьего, четвертого и пятого элементов И соединены с первым входом формирователя управляющих сигналов, третьи входы подключены соответственно к четвертому информационному входу ячейки, пятому информационному входу ячейки и к первому выходу накопителя, пятый и шестой входы которого соединены соответственно с выходом третьего элемента И и с выходом четвертого элемента И, выход пятого эле.мента И подключен к вторым входам первого и второго эле.ментов ИЛИ, четвертый управляющий вход узла приема и пятый управляющий вход узла обмена подключены к перво.му управляющему входу ячейки. 2. Среда по п. 1, отличающаяся тем, что формирователь управляющих сигналов в каждой ячейке содержит элементы И, ИЛИ, задержки и три триггера, первые входы первого и второго триггеров соединены с входом установки исходного состояния формирователя, первый вход третьего триггера и второй вход первого триггера соединены с выходом элемента И, входы которого являются первым и вторым входами формирователя, выход третьего триггера соединен с первым входом элемента ИЛИ и через элемент задержки - со своим вторым входом и с вторым входом второго триггера, выход которого соединен с вторым входом элемента ИЛИ, выходы первого триггера, элемента задержки, третьего триггера, второго триггера и элемента ИЛИ являются соответственно с -первого по пятый выходами формирователя. Источники информации, принятые во внимание при экспертизе 1.Однородные микроэлектр.олные ассоциативные процессоры. Под. ред. И. В. Праигищвили. М., -Советское радио 197 с. 115-116. 2.Двторское свидетельство СССР по заявке № 2324495/18-24, кл. G 06 F 15/20, 1976 (прототип).
Авторы
Даты
1981-03-15—Публикация
1979-01-15—Подача