Устройство для интерпретации выражений языков программирования
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1078432
Авторы: Курносов, Плахтеев, Свистельников, Сергеев
Текст
СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСНИХРЕСПУБЛИК 19) (11,8 АНИЕ ИЗОБРЕТ горог ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТ(56) 1. Авторскэе свидетельство СССР519715, кп. Ц 06 Р 15/04, 1974,2 Авторское свидетельство СССРпо заявке3338385/18 - 24,кл. б 06 Р 1 5/20, 1 981.(54)(57) УСТРОИСТВО ДЛЯ ИНТЕРПРЕТАЦИИ ВЫРАЖЕНИЙ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ, содержашее элементы И,ИЛИ, первый, второй, третий и четвертыйрегистры кэманд, входы синхронизациикоторых соединены с входом синхрониза:ции устрэйства, информационный вход первого регистра команд соединен с входомкоманд устройства, выход первого регистра команд соединен с информационнымвходом второго регистра кэманд, выходкоторого соединен с информационным входом третьего регистра команд, выход которого подключен к информационному вхэду четвертого регистра команд, выходырегистров команд подключены соответственно к первому, второму, третьему и четвертому входам первого дешифрагора,первый выход шифратора соединен спервым входом первого элемента ИЛИ,выход которого соединен с первым входомпервого блэка элементов И, второй входкоторого соединен с выходом второго дешифратора, вход кэгорэго подключен квыходу счетчика эперандэв, вьпсод второго дешифрагора соединен с первым входомв о блока элементэв И, второй входкоторого соединен с вькэдэм второгоэлемента ИЛИ, первый вход кэгорого соединен с вторым выходом шифратора, гре 31511 6 06 Е 15/20; 6 06 Е тий выход которого соединен с первымвходом третьего элемента ИЛИ, четвертый выход соединен с входами установки в нулевое состояние регистров операций, регистров операндов, счетчика опе.рандов, с первым входом 6 тока стековойпамяти и с входом синхронизации регистра выдачи, выход которого являетсявыходом данных устройства, информационный вход регистра выдачи подключен квыходу блока обработки, соединенномус первым входом третьего блока элементов И, пятый выход шифратора черезэлемент НЕ подключен к выходу синтаксической ошибки устройства, шестой выход соединен с суммирующим входомсчетчика операндов и через первый элемент задержки - с вторым входом первого элемента ИЛИ, вход операндов устройства подключен к первому входу первогоблэка элементов ИЛИ, выход которогоподключен к информационным входам регистрэв операндов, управляютпий вход шифратора пэдключен к выходу второго элемента задержки, выходы первого дешифратора подключены соответственно к инфэрмалнэнным входам шифратора, о тл и ч а ю ш е е с я тем, что, с цельюупрощения, в нем первый вход четвертого элемента ИЛИ соединен с третьимвыходом шифратора, который через третийэлемент задержки соединен с вторымвходом второго элемента ИЛИ, второйвход четвертого элемента ИЛИ, второйвход блока стековой памяти и второйвход третьего элемента ИЛИ соединеныс седьмым выходэм шифратора, выходтретьего элемента ИЛИ через четвертыйэлемент задержки соединен с вычитаюшимвходом счетчика операндов и с входомпятого элемента задержки, выход кото10784 17состояния счетчика 21 на единицу иво втором микротакте прием операнда ус входа операндов в регистр операндов138 такт. По сигналу с выхода 4 проис ходит в первом микротакте запуск блокаобработки на выполнение операции (Ф)и уменьшение состояния счетчика 39 наединицу, во втором микротакте уменьшение состояния счетчика 21 на единицу 10и в третьем микротакте - прием проьиежуточного результата обработки д ( а =3 Т( ) с выхода блока обработки3в регистр операндов 132.9 такт. По сигналу с выхода 42 проис-ходит в первом микротакте запуск блокаобработки на выполнение операции (+),во втором микротакте уменьшение состояния счетчика 21 на единицу, а втретьем микротакте - прием промежуточного результата обработки в ( Ь = Т +с )с выхода блока обработки в регистр операндов 13 и кода операции ( - ) в регистропераций 29,10 такт. По сигналу с выхода 4 про исходит в первом микротакте запись единичного значения в триггер признака 36,во втором микротакте увеличение состояния счетчика 39 на единицу,11 такт. По сигналу с выхода 4 про-З 0исходит в первом микротакте записьнулевого состояния в триггер признака362, а во втором микротакте - увеличение состояния счетчика 39 на единицу. 12 такт. По сигналу с выхода 4 про Мисходит в первом микротакте запись нулевого состояния в триггер признака 36 З,во втором микротакте увеличение состояниясчетчика 39 на единицу.13 такт. По сигналу с выхода 4 про исходит в первом микротакте увеличениесостояния счетчика 21 на единицу ивовтором микротакте прием операнда Т,в регистр операндов 132,14 такт, По сигналу с выхода 4 про-исходит прием кода операции ( Г) в регистр операции 292.15 такт. По сигналу с выхода 44 происходит в первом микротакте увеличение состояния счетчика 21 на единицуи во втором микротакте прием операндав регистр ойерандов 13 З,19 такт. По сигналу с выхода 4 происходит в первом микротакте запуск блокаобработки на выполнение операции ( Г),во втором микротакте уменьшение состоеяния счетчика 21 на единицу, а в третьеммикротакте - прием промежуточного ре 32 18зультата обработки с выхода блока обработки С( с = Л / Т ) в регистр операндов 132 и прием кода операдии ( + )в регистр операций 292,17 такт, По сигналу с выхода 4 происходит в первом микротакте увеличениесостояния счетчика 21 на единицу, вовтором микротакге - прием операнда ив регистр операндов 13 З,18 такт. По сигналу с выхода 4.,происходит в первом микротакте запускблока обработки на выполнение операции ( + ) и уменьшение состояния счетчика 39 на единицу, во втором микротакте уменьшение значения счетчика 21на единицу, а в третьем микротакте -прием промежуточного результата обработки с-( о = с + Т ) в регистр операндов 132. 19 такт, По сигналу с выхода 4 происходит прием кода операции ( х ) врегистр операций 292.20 такт, По сигналу с выхода 4 происходит в первом микротакте увеличениесостояния счетчика 21 на единицу и вовтором микротакте прием операнда .Нв регистр операндов 13,21 такт. По "сигналу с выхода 42 .происходит в первом микротакте запускблока обработки на выполнение операции( х ), во втором микротакте уменьшениесостояния счетчика 21 на единицу и втретьем микротакте - прием промежуточного результата обработки е ( г = о хк л ) в регистр операндов 13и приемкода операции ( - ) в регистр операций29222 такт. По сигналу с выхода 4происходит в первом микротакте увеличение состояния счетчика 21 на единицу,во втором микротакте прием операнда.7в регистр операндов 13 З,23 такт. По сигналу с выхода 4происходи в первом микротакте запускблока обработки на выполнение операции ( - ) и уменьшение состояния счетчика 39 на единицу, во втором микротакте уменьшение состояния счетчика 21на единицу и в третьем микротакте прием промежуточного результата обработки ( = В - А ) в регистр операндов 13 г24 такт. По сигналу с выхода 4происходит прием кода операции ( к ) врегистр операций 292.25 такт. По сигналу с выхода 47 происходит в первом микротакте запись единичного состояния в триггер признака19 10784 36 и во втором микротакте увеличение состояния счетчика 39 на единицу.26 такт. По сигналу с выхода 4+ про исходит в первом микротакте увеличение состояния счетчика 21 на единицу, во 5 втором микротакте прием операнда Л в регистр операндов 13 З.27 такт, По сигналу с выхода 4 происходит прием кода операции ( + ) в регистр операций 29.1 О28 такт, По сигналу с выхода 4, происходит и первом микротвкте увеличение состояния счетчика 21 на единицу,во второмА микротакте прием операнда Л в регистр1 О . операндов 134.1529 такт. По сигналу с выхода 41 происходит в первом микротакте запуск блока обработки на выполнение операции ( + ) и уменьшение состояния счетчика 39 на единицу, во втором микротакте 20 уменьшение состояния счетчика 21 на единицу и в третьем микротакте прием промежуточного результата обработки Ь (Ь = и+ Г 1 о в регистр операндов 13330 такт. По сигналу с выхода 4 про1 исходит в первом микротакте запуск блока обработки на выполнение операции () и уменьшение состояния счетчика 39 на единицу, во втором микро- такте уменьшение состояния счетчика 21 Зо на единицу, а втретьем микротакте - прием промежуточного результата обработки в регистр операндов 13231 такт. По сигналу с выхода 42 про-З 5 исходит в первом микротакте запуск блока обработки на выполнение операции ( - ), во втором микротакте уменьшение состояния счетчика 21 на единицу и в третьем микротакте прием результата 40 обработки выражения в( в = Ь - е ) в регистр операндов 13 и не исполняемого кода операции в регистр операндов 29.32 такт,По сигналу с выхоца 4 проис 45 ходит прием результата интерпретацйи выражения в регистр выдачи 1 7, обнуление счетчиков 21 и 39, регистров опе 32 20рандов 13 - 13 и регистров операций 29- 29,Таким образом, устройство для интерпретации выражений языков программирования, не снижая функциональных возможностей и скорости обработки выражений,обладает более высокой по сравнению сизвестным устройством экономичностью.Синтаксический анализ каждой команды выражения с учетом предшествующихкоманд требует только одного такта работы устройства, что соответствует скорости обработки выражений известногоустройс тва.Потактовая интерпретация позволяетв процессе интерпретации проводить выполнение операций и накопление промежуточных результатов бесскобочного (получаемого) выражения с получениемокончательного результата эа огн проход слева направо.Анализ одновременно четырех кодовкоманд и состояния триггера признакапри переходе на прерванный уровень обработки позволяет производить выполнениепрерванных операций обработки непосредственно в ходе последуюшей интерпретации, что повышает скорость обработки,так как исключает многошаговую интерпретацию позволяет экономить оборудование, потому что результат свертки скобочного выражения помещается в самыйпервый свободный регистр операндов.Структурное отображение выражений(адаптация устройства к виду выражения) осушествляется установлением соответствия между операциями и соответствующими им операндами, с одной стороны, а также отображением операцийи операндов одного уровня на соответствуюшие регистры операций, операндов и логическим подключением послед-,них в процессе интерпретации к соответству)ощим входам блока обработки, сдругой стороны, что устраняет потеривремени на вызов операндов, промежуточных результатов и операций из внешней памяти, а также значительно повышает экономичность устройства..С Щ,3 к Уб,/;1 псгСт 7 и).7 3 б,у исгУт Фиг. Ян Тираж 69 Государстве ам изобрете ква, Ж, Заказ 165 дписноетета СССРтийаб., д, 4/5 ВНИИПИ по дел 113035, Мосго коми ний и отк аушская филиал ППП "Патент", г,Ужгород, ул.Прое С Рб С Уб,Е РЮ, поУт К)С Юп, Кто Ю Сто,У Щ,. У Уб",ф б+-ю 11078432 рого соединен с третьим входом первогоэлемента ИЛИ и с вторым входом третьего блока элементов И, выход которогосоединен с вторым входом первого блокаэлементов ИЛИ, третий и четвертыйвходы блока стековой памяти соединенысоответственно с восьмым и девятымвыходами шифратора, выход блока стековой памяти соединен с пятым входомпервого дешифратора, вход второго элемента задержки соединен с входом синхронизации устройства, первый, второйи третий входы блока обработки соединенысоответственно с выходами второго, третьего и четвертого блоков элементовИЛИ,вхэдье второго блока элементов ИЛИсоединены с выходами каждого (2 п + 2)го ( и = 1,) блока элементов И, входытретьего блока элементов ИЛИ соединены с жходами каждого (2 п+ 3)-гэ( .1 = 1, 1 ) четвертого блока элементовИЛИ соединен с выходом е-го блокаэлементов И (= 2 Ы+ 4, 3 Р + 3),первый вход которого соединен с выходомвторого дешифратора, второй вход соединен с выходом 1-го регистра операций,вход синхронизации которого соединенс выходом второго блока элементов И,информационный вход соединен с входомопераций устройства, выход первогоблока элементов И соединен с входомсинхронизациип-гэ регистра операндов,выход первого регистра операндов соединен с первым входом четвертого блокаэлементов И, второй вход которого подключен к выходу второго дешифратора,выход 1-го ( 1 = 2, е,) регистра операндов соединен с первыми входами ( 2 е ++ 1)-го. и (2 е + 2)-го блоков элементов И, вторые входы которых соединеныс выходом второго дешифратора, выходвторого дешифратора соединен с первымвходом (2 1+ 3)-го блока элементов И,второй вход которого подключен к выходу ( 1 + 1) -го регистра операндов,выход четвертого элемента ИЛИ соединен с четвертым входом блока обработ 1Изобретение относится к вычислительной технике и может быть использовано ки, причем блок обработки содержит регистр адреса, узел памяти микропрограмм,регистр микрокоманд, коммутаторы,сдвигатель, регистр суммы, сумматор,группу элементов И-ИЛИ и регистр,выход котэрого является вьцхэдэм блокаэбработки, выход регистра адреса соединен с входом узла памяти микропрограмм,выход которогэ соединен с входом регистра микрокоманд, первый выход которого подключен к первому входу первогокоммутатора, первый и второй входыкоторого соединены соответственно спервым и вторым входами группы элементов И-ИЛИ, с первым и вторым входамисумматора, выход которого соединен спервым входом сдвигателя, выход кэторого соединен с вторым выхэдэм регистра микрокэманд, третий выход которого соединен с управляющим входомрегистра, выход второго коммутаторасоединен с первым вхэдом третьего коммутатора, первый выхэд кэгорогэ соединен с информационным вхэдом регистра,второй выход третьего коммутатора соединен с первым входэм первого коммутатора, третий и четвертый входы которогоявляются соответственно первым и вторым входами обработки, второй входтретьего коммутатора соединен с третьим выходом регистра микрэкэманд, третий выход подключен к первому выходурегистра суммье, второй выход которогосоединен с первым входом регистра адреса, чегвертьей выход регистра мнкрокоманд соединен с вторым входом регистра адреса, пятый выход соединен с управляющим входом второго коммутатора,шестэй выход соединен с третьим входом сумматора, седьмой выход пэдклкгчен к второму входу сдвигателя, третийи четвертый входы регистра адреса являются соответственно третьим ичетвертым входами блэка эбрлботки.велхэееь. группы элементов И-ИЛИ соединены соответственно с инФормациОнными езхэпаь.и второго к эмму тат Ора. 2в быстродействующих операционных системах обработки инфэрмации, в частнэсти3 107в системах с диалоговым режимом разработки, отладки и выполнения программ, вэлектронных вычислительных машинах сязыком Высокого уровня.Известно устройство для обработкивыражений языков программирования, содержащее регистры операндов, формирователь управляющих сигналов, блок стековой памяти, счетчик операндов, дешифратор, арифметико-логический блок, выходной регистр Г 11.Недостатком данного устройства явля -ется орагнизация стека, в который заносится вся вычислительная формула, чтоснижает экономичность устройства,15Наиболее близким по технической сушности и достигаемому результату к предлагаемому является устройство для обработки выражений языков программирования, содержашее вход синхронизации сэ 20единенный с входами синхрэнизации перВого, второго, третьего и четвертогорегистров команд, инфэрмациэнный вхэдпервого из которых соединен с входомкоманд устройстВа, а выход - с информационным Входом второго регистра команд,выход которого соединен с информационным входом третьего регистра команд,Выход которого подключен к информационному входу четвертого регистра команд,30выход 1-го ( 1= 1, 1) регистра командподключен соответственно к 1-у входуформирователя управляющих сигналов,первый выход которогэ соединен с первымвходом первого элемента ИЛИ, выход которого соединен с первыми входами первого блока элементов И, вторые входыкоторого соединены с соответствующимивыходами дешифратора, вход кэторогоподключен к выходу счетчика операидов,выходы дешифратора соединены с первыми40входами второго блока элементов И,вторые входы которого соединены с выходом второго элемента ИЛИ, первыйвход которого соединен с вторым выходэм4 гформирователя управляюших сигналов,третий выход которого соединен с первымвходом третьего элемента ИЛИ, четвертый выход - со входам установки в нулевое состояние регистров операции, регистров операндов, счетчика операндов,первым входом блока стековой памяти ивходом синхронизации регистра выдачи,выход которого является выходом данныхустройства, информационный вхэд регистра выдачи пэдключен к выходу блокаобработки, соединенному также с первымвхэдом третьего блэка элементов И,пятьгй выход формирователя управляюших 8432 4сигналов является выходом синтаксической ошибки, шестой выход формирователя соединен с суммирующим входомсчетчика операндов и через первый элемент задержки с вторым входом первогоэлемента ИЛИ, вход операндов устройства подключен к первому входу первогоблока элементов ИЛИ, выходы которогоподключены к информационным ВХэпамрегистров операндов 2 1,Недостатком данного устройства является его сложность, вызванная необходимостью реализации 1 блоков обработки, (2 1+ 1) элементов выборочногосброса регистров операндов и операций,0 блоков трехвх эц овых элементов И,восьми блоков элементов И коммутепиивыходов дешифратора на управляющиевходы и входы установки в нуль регистров операндов и операций через четыреблока элементов ИЛИ, блоке стековойпамяти, управляемого распределителяимпульсов и обусловленных ими связей,Цель изобретения - упрощение уст ройсгва.Поставленная пель достигается тем, что в устройство, содержащее элементы И, ИЛИ, первый второй, третий и четвертый регистры команд, входы синхронизации которых соединены с Входом синхронизапии устройства, информационный вход первого регистра команд соединен с входом команд устройства, выход первогорегистра команд соединен с иформационным входом второго регистра команд, выход которого соединен с информапионньгл входом третьего регистра команд, выход которого подключен к информапионному входу четвертого регистра команд, выходы регистров команд подключены соответственно к первому, второму, третьему и четвертому входам первого дешифратора, первый выход шифратора соединен с первым входом первого элемента ИЛИ, выход которогэ соединен с первым входом первого блока элементов И, второй вход которого соединен с выфс ходом второго дешифратора, вход которого подключен к выходу счетчика операндов, выход второго дешифратора соединен с первым входом второго блоке элементов И,второй вход которого соединен г. выходом второго элемента ИЛИ, первый вход которого соединен с вторым входом шифрамитора, третий выход которого соединен с первым входом третьего элемента ИЛИ,четвертый выход соединен с Входами ус-.тановки в нулевое состояние регистровопераций, регистров операндов, счетчика операндов, с первым Входом блока стеко вой памяти и с входом синхронизации ре гистра Выдачи, выход которого является выходом устройства, информационный вход 5 регистра выдачи подключен к выходу блока обработки, соединенному с первым входом третьего блока элементов И, пятый выход шифратора через элемент НЕ подключен к выходу синтаксической ошибки устройства, шестой выход соединен с суммирующим входом счетчика операндов и через первый элемент задержки с вторым входом первого элемента ИЛИ, вход операндов устройства подклю чен к первому входу первого блока элементов ИЛИ, выход которого подключен к информационным входам регистров операндов, управляющий вход шифратора подключен к выходу второго элемента 20 задержки, выходы первого дешифратора подключены соответственно к информационным входам шифратора, первый вход четвертого элемента ИЛИ соединен с третьим выходом шифратора, который через третий элемент задержки соединен с вторым входом второго элемента ИЛИ, второй вход четвертого элемента ИЛИ, второй вход блока стековой пмяти и второй вход третьего элемента ИЛИ со единены с седьмым выходом шифратора, выход третьего элемента ИЛИ через четвертый элемент задержки соединен с вычитаюшим входом счетчика операндов и с входом пятого элемента задержки, выхсд которого соединен с третьим входом первого элемента ИЛИ и с вторым входом третьего блока элементов И, выход которого соединен с вторым входом первого блока элементов ИЛИ,третий и четвертый 40 входы блока стековой памяти соединены соответстВенно с восьмым и девятым выходами шифратора, выход блока стековой памяти соединен с пятым входом первого дешифратора, вход второго элемента задержки соединен с входом синхронизации устройства, гервый, второй и третий входы блока обработки соединены соответственно с выходами ьторого, третьего и четвертого блоков элементов 0 ИЛИ, входы второго блока элементов ИЛИ соединены с выходами каждого (2 и+ 2)-го ( и = 1, Г ) блока элементов И, входы третьего блока элементов ИЛИ соединены с выходами каждого .(2 п + 3)-го ( и = 1, В ) блока элемен 55 тов И,-й вход (= 1, 1 ) четвертого блэка элементов 11 ЛИ соединен с шя хэдом 1-го блэка элементов И ( 21+ 4, 3 1+ 3), первый вход которогосоединен с выходом второго дещифратора, второй вход соединен с выходом -го регистра операций,вход синхронизации которого соединен с выходом второго блока элементов И, информационный вход соединен с входом операций устройства, выход первого блока элементов И соединен с входом синхронизации щ -го регистра операндов, выход первогэ регистра опе рандов соединен с первым входом четвертого блока элементов И, второй вход которого подключен к выходу второго дешифратора, выход 1-го ( 1 = 2,)регистра операндов соединен с первыми входами (2+ 1)-го и (2Ф 2)-го блоков элементов И, вторые входы которых соединены с выходом второго дешифратора, выход второго дешифратора соединен с первым входом (2 6 + 3)-гэ блока элементов И, второй вход которэгэ подключен к выходу (+ 1)-го регистра операндов, выход четвертого элемента ИЛИ соединен с четвертым входом блока обработки, причем блок обработки содержит регистр адреса, узел памяти микропрограмм, регистр микрокэманд, коммутаторы, сдвигатель, регистр суммы, сумматор, группу элементов И-ИЛИ и регистр суммы, выхэд которого является выходом блока обработки, выход регистра адреса соединен с входом узла памяти микропрограмм, выход которого соединен с входом регистра микрэкоманд, первый выход которого подключен к первэму входу первого коммутатора, первый и второй выходы ко торого с эединены соо тветственно с первым и вторым входами группы элементов И-ИЛИ, с первым и вторым входами сумматора, выход которого соединен с первым входом сдвигателя, выход которого соединен с информационным входом регистра суммы, управляюший Вход которого соединен с вторым выходом регистра микрокоманд, третий выхэд которого соединен с управляюшим входом регистра, выход второго коммутатора соединен с первым входом третьего коммутатора, первый выход которого соединен с информационным входом регистра, вторэй выход третьего коммутатора соединен с первым Входом первого коммутатора, третий и четвертый входы которого являются соэгветственнэ первым и вторым входами блока обработки, второй вхэд третьего коммутатора соединен с третьим выхэдэм регистра микрэкоманд, третий вход подключен к первому выходу 1:снись р суммы, второй выход к. торэго7 1078соединен с первым входом регистра адреса, четвертый выход регистра микрокомандсоединен с вторым входом регистра адреса, пятый выход соединен с управляющимвходом второго коммутатора,шестой выход5соединен с третьим входом сумматора,седЬмой выход подключен к второму вхо -ду сдвигателя, третий и четвертый входырегистра адреса являются соответственнотретьим и четвертым входами блока обрв-",0ботки, выходы группы элементов И-ИЛИсоединены соответственно с информацион -ными входами второго коммутатора, третий элемент ИЛИ с входом блока обработки позволяет запускать блок обработки15для выполнения очередной операции.Нв фиг, 1 и 2 прецстввпеыа блок-с:хема устройства; на фиг. 3 - блок - схемаформирователя упрввщюших сигналов; нвфиг, 4 - блок-схема блэка сгековой па 20мяти; нв фиг. 5 - блок-схема блока обработки; нв фиг. 6 - временная диаграм -ма рабо ты ус гройс гвв,Устройство для интерпретации выражений языков программирования (фиг, 1, 2)25содержит вход 1 синхронизации устройства,вход 2 команд, регистоы команд 31- 34,формирователь 4 управляющих сигналовс выходами 4 1 - 4 9, вход 5 операндов,блок элементов И 6, блок элементов ИЛИ7, элемент ИЛИ 8, элеменгы;.адерж 30ки 9 и 10, элемент ИЛИ 11, блок элементов И 12, регистры операндов 131 -13 1 1, блоки элементоВ И 14 - 14,блоки элементов ИЛИ 151 и 152, блокобработки 16, регистр выдачи 17, выход 518 данных устройства, элемент ИЛИ 19,элемент задержки 20, счетчик операндов 21, дешифратор 22, элемент задержки 23, элемент ИЛИ 24, блок сгековойпамяти 25, блок элементов И 26, блок 40элементов ИЛИ 27, блоки элементовИ 28 1 - 28, регистры операций 2929, вход 30 устройства, дешифратор 31,шифратор 32, элемент НЕ 33, элементзадержки 34, элементы И 351 - 35, 45триггеры признака 36 1 - 361, элементы И 371 - 37 - 1, элемент ИЛИ 38,счетчик уровня 39, дешифратор 40, элемент ИЛИ 41, элемент задержки 42,элемент ИЛИ 43, микропрограммноеустройство 44 управления, регистр 45адреса, узел 46 памяти микропрограмм,регистр 47 микрокэмана, коммутатор 48,сумматор 49, сдвигвгель 50, регистр 51суммы, узел 52 логических операций, 55включающий группу элементов И-ИЛИ53 1 - 53 коммутатор 54, регистр 55,коммутатор 56,432 8Коды команд с выходов регистров команд 31 - 3 и разряд признака с вы 1 4хода блока стековой памяти 25 поступают нв входы дешифрвгора 31, вследствие чего на его выходах формируется унитарный кэд, поступают й далее нв входы шифратора 32, вызывая появление положительного импульсе на одном из его выходов, Единичный сигнал на выходе 4 формирователя вырабатывается лишь в случае недопустимой кодовой комбинации нв входах дешифратора 31, что ведет к формированию нулевого кода на его выходах, Сигнал, поступающий с входа 1 синхронизации устройства через элемент задержки 34 нв синхрэнизируюшиФ вход шифратора 32, обеспечивает сгробирэвание рвбогы шифратора лишь после завершения переходных процессов в регистрах команд 31 - 34 и дешифрагоре 31,Блок стековой памяти 25 рвботаег следующим образом.В исходном состоянии счетчик уроВ- ня 39 и триггеры признака 36 - 36 находятся в нулевом состоянии, причем нв первом выходе дешифрвгорв 40 установлен единичный сигнал. По сигналу на входе 4, соединенном с одноименным выходом формирователя упраВляюших сигналов, происходит установка нулевогэ состояния в триггере признака 361, твк как эгог сигнал поступает нв входы записи нулевого состояния всех триггеров признака одновременно, в также через элемент ИЛИ 43, элемент И 35, выбранный единичным сигналом с первого выхода дешифраторв 40 - на управляюший вход триггера признака 36, Сит нвл состояния триггера признака 36 через элемент И 37, выбранный единичньж сигналом с первого выхода дешифрагора 40, и элемент ИЛИ 38 поступает на выход блока сгековой памяти 25. Сит нвл с входа, соединенногэ выходом 46 формирователя управляющих сигналов через элемент ИЛИ 41 и элемент задерж жки 42, поступает на суммирующий вход счетчика уровня 39, увеличивая его состояние нв единицу, единичный сигнал появляется на втором выходе дешифрагорв 40, соединенном с входами элементов И 35 и 37, вызывая коммутацию выхода триггера признака 362 через элемент ИЛИ 38 с выходом блока сгековой памяти 25, а также разрешая запись нулевого или единичного состояния в триггер приз нвкв 362. Таким образом звфиксируегся отсутствие нен 11 полнецной операции в Рервом уровне обработки и осуществляется107 8432 переход на второй уровень, В общемслучае происходит фиксация отсутствияневыполненной операции в прерываемомуровне обработки выражения и переходна более высокий уровень,Аналогично действует и сигнал наВходе блока стековой памяти, соединенномвыходом 4 формирователя управляющихсигналоВ с той разницей, что он поступаетна Входы записи единичного состояниятриггеров признака, вызывая запись едиНИЧНОГО СОСТОЯНИЯ В ОДИН ИЗ ТрИГГЕрэВпризнака и фиксируя, тем самым, наличиеневыполненной операции в прерываемомуровне обработки, 151Сигнал с входа блока стековой памяти,соединенного с выходом 4 формирователяуправляющих сигналов, поступает на вычитаюший вход счетчика уровня 39 вызыЭ 20вая уменьшение его состояния на единицу, Вследствие этого единичный сигналпоявляется на том выходе дешифратора40, который через соответствующий элемент И 35 соединен с управляющим входом триггера признака, соответствующегопоследнему прерванному уровню обработки выражения, а также на вход элемента И 37, второй вход которого соединенс выходом триггера признака, а выход30через элемент ИЛИ 38 - с выходом блока стековой памяти 25,Таким образом фиксируется завершение интерпретации текушего уровня обработки выражения и переход на предшествующий прерванный уровень обработки.Сигнал с входа блока стековой памяти,соединенного с выходом 4 формирователя управляющих сигналов, поступает навход асинхронной установки в нулевоесостояние счетчика уровня 39 и на входыасинхронной установки в нулевое состояние триггеров признака, вызывая ихобнуление.В исходном состоянии блок обработкинаходится в ждущем режиме (сигнал наВхэде, запускающий блок обработки, отсутствует). При поступлении на входблока обработки единичного сигнала происходит прием кода операции с соответствующего регистра 29 операций в регистр45 адреса и запуск микропрограммногоустройства управления 44, Л 1 икрокоманды, считываемые из узла 46 в регистр47 микрокоманд, имеют семь управляющих полей 47 - 47.,.155Код на выходе 471 управляет подачейоперандов и промежуточных результатовна входы сумматора 49 и узла 52,10Код 47 управляет работой сумматора при реализации арифметических операций (сложения, вычитания, умножения,деления) .1.1 ля реализации сложных арифметических операций по итерационньм алгэритмам используется сдвигатель 50, осуществляющий передачу кода без сдвигас Выхода сумматора 49 на вход регистра 51 суммы или передачу со сдвигомвправо, или со сдвигом влево под дествием соответствующего управляюшегэкода с выхода 47 регистра микрокоманд47.Прием промежуточного кэда с выходасдвигателя 50 в регистр 51 эсушествляется пэд действием управляюшего кодас выхода 47 Управляющий код с выхода47 . управляет коммутатором 54, который производит передачу экончательногорезультата с выхода регистра 51 суммыили узла логических операций на входрегистра 55 или передачу кэда промежуточного результата арифметических операций с выхода регистра суммы 51 навход коммутатора 48.Управляющий код с выхэда 47 управляет коммутатором 53, который осуществляет передачу результата логическойоперации на коммутатор 54,Код адреса следующей микрокомандыс выхода 47 поступает на вход регистра 45 адреса и управляет ходом выполнения микропрэграммы эпераций,Сигналы переполнения, знака и другие,поступающие с регистра 51 суммы навход регистра адреса 45, используютсядля проверки логических условий и ветвлений в микрэпрограммах.После выполнения микропрограммыоперации над заданными эперандами результат через кэммутатор 54 записывается в выходной регисто 55 и микропрограммное устройство управления 44 переходит в режим ожидания до поступленияочередного сигнала на вход,Основой языка программирования устройства являются элементарные записи, которые в определениях языка Бэкуса записываются следующим образом:(скобка закрывающая ) = )5роперандД;16 Е= Г.1, ,1 - множество операций,реализуемых блоком обработки,Скобки предназначены для измененияпорядка вычислений ( выделения участков выражения с более высоким уровнем).При этом под уровнем выражения принимается часть выражения, заключеннаямежду открывающей и соответствующей ей15закрывающей скобками одной степенивл оже ннос ти.Под степенью вложенности понимаетсячисло, указывающее количество открытыхскобок в последовательности открывающих20скобок в выражении при условии равенствачисла открывающих и закрывающих скобок. При нулевой степени вложенностискобки отсутствуют,Обработка очередного уровня может25 прерываться появлением старшего по степени вложенности уровня. При этом результат обработки прерванного и незавершен-, ного уровня запоминается в регистре операндов данного уровня, Обеспечивается ЗО коммутация цепей для приема операндов и промежуточных результатов прерываюшего (старшего ) уровня на регистры опе - рандов этого уровня и их подачи на входы блока обработки. 35По завершении обработки высшего уровня осуществляется переход на обработку низшего (прерванного) уровня, Переход с одного уровня на другой сопровожу дается изменением состояния счетчика 40 уровня в блоке стековой памяти. Обработка заканчивается командой завершения, по которой Окончательный результат поме.чается в первый регистр операнаов.Элементаоные записи могут Обьеаиняться 5 в последовательности записей:= 1 (запись) (последовательность запи сей( запись) +Команда (+ ) обеспечивает прием результата обработки предыдущей записи в регистр выдачи и сброс схем устройства перед началом обработки следующей, 55Записанные указанным образом выражения в случае использования устройства е аиалоговых системах отладки и выполне 432ния программ кодируются позначно и вводятся в блок внешней памяти (не показан). В случае испогъзования устройства в ЭВМ с аппаратно реализованным языкОм высокого уровня к указанномувиду выражения приводятся на этапе преобразования исходного текста программык внутреннему представлению, которое помещается в оперативную память (не показана).Выборка комайд, операций обработкии операндов из памяти и подача их насоответствующие входы устройства интерпретации осуществляется внешнимустройством управления (не показано).Период следования импульсов синхронизации устройства рассчитывается на длительность интерпретации самой длинной команды, которая в основном определяется длительностью реализации самойпродолжительной операции обработкиоперандов в блоке обработки.Диаграмма работы устройства привыполнении различных команд показанана фиг. 6, где обозначены следукаГие временные зависимости сигналов:СИ - на входе синхронизации устройства;Ф С - на одном из выходов формирователя управляющих сигналов;(СР 6 - на входе синхронизации 1-горегистра операндов;81 - на выходе элемента ИЛИ 8;С Р 3 ". - на входе синхронизации-го1регистра операций;- на входе синхронизации регистра 17;186, - на входе асинхронной установ 1ки нулевого состояния 1( 1 + 1 ) регистров операндов;к Р Ь," - на входе асинхронной установки нулевого состояния 1регистров операций;С 1 - на входе установки нулевогоТ(КС 2 Я состояния счетчика операндов21 (счетчтка уровня 39);136, - на входе асинхронной установки нулевого состояния триггеров признака 1 - (1 - 1);131 - на входе записи единичного3( К ЗЬ ) (нулевого) состояния-го1триггера признака; поги 11 - на сУммирУюшем входе счетчика псгС 2 Я операндов 21 (счетчика уровня39);ЙсгСт 1 - на вычитаюшем входе счетчика (38 сСт 2 21 (счетчика 39).Диаграммы- 1; соответствутот работе устройства при появлении сигналов13 1078иа выходах 4, - Ф формирователяупрввляюших сигналрв,Разрешенные комбинации команд сведены в твбл. 1.Соответствие комбинаций команд управлякнцим сигналам на выходах 41- 4 формирователя управляющих сигналов 4 представлено в табл. 2, где введены следуюшие обозначения:С 1 - состояние счет ика операндов;1= СТ 1 Д+ 1 (СТ 2 - состояние счетчика уровняблока стековой памяти;1 Ст15- сигнал запуска блока обраЭбо тки;Ч 0 - выход блока обработки;6 Ь; - -й регистр операндов;Р 6" - 1-й регистр операций; 20П --й триггер признака блокас. ековой памяти;) ъ- Время задержки, равноедлительности реализациисамой продолжительнойоперации в блоке обработки;Т - время задержки, равноедлительности расп ространения управляюшего сигналапри установке схем устройства; предназначено дляразнесения во времени несовместимых микроопераций;С - комбинация на входах 1 - 4формирователя управляющих35сигналов 4,432 14ходов 4- 4 пэявляетс положитеьныйЯимпульс, Задержка прохождения синхросигнала на синхрэнизируюший вход формирователя, на одном из его выходов 4-4 Ч появляется положительный импульсЗадержка прэхождения синхросигнала насинхронизируюший вход формирователя исключает возможную неоднозначнэсть срабатывани формирователя при неодновременном срабатывании двухтактнъх триггеровв регистрах команд.Положительный сигнал на одном извыходов фэрмирователя эбеспечивает выполнение микроопераций в одном тактеработы устройства, определяемом периодом следовани синхрэнизируюших импульсов. Такт в схемах устройства посредством введения временных задержек делится на микрэтакты, в которых выпэняются несовместимые микрэоперации.Сигнал с выхода 4 приводит к приемурезультата вычисленнэгэ вьражени свьгхэдов регистра 55 блока обработки 1 6в регистр 17, эбнулению счетчика операндов 21, счет ика уровн 39 и триггеров признака 36 - 36, в блоке стеко -вой памяти 25, регистров операндов 13 -(эсушествляетс пэдготэвка схем устройства к началу интерпретации новой записи),Сигнал с выхода 45 через элементИЛИ 11 разрешает прохождение сигналас выходе дешифратора 22 через блэкэлементэв И 1" на вход синхронизациирегистра операндов 13 вызыва прием операнда с входа Г через блок элементов ИЛИ 7,Сигнал с выхода 4 вызывает увеличе -ние состояни счетчика 21 на едияцуи, следовательно, изменение кодаа выходе дешифратора 22, далее через элемент задержки 10 элемент ИЛИ 11 разрешает прохождение сигнала с (- 1)-говыхода дешифратора 22 через блок элементов И 12 на вход синхронизациирегистра операндов 13, разрешая прием операнда с входа 5 через блэк эле -ментов ИЛИ 7.Сигнал с вьхода 4 через элементИЛИ 24 разрешает прохэждение сигналас , -го выхода дешифратора 22 черезблок элементов И 26 на вхэд синхронизации регистра операций 29;, вьзываяприем кода операции с в,эаа 30 пераций. Интерпретация выражений осуществляется следуюшим образом,Сигнал синхронизации, поступаюший на вход 1 синхронизации устройства и далее на входы синхронизации регистров 31 - 3 от внешнего устройства управления, вызывает сдвиг кодов команд в регистрах команд 3- 34, Состояние регистра 3, переписывается в регистр 3 45 состояние регистра 32 переписывается в регистр 3 , состояние регистра 3 переписывается в регистр Зз и код очередной команды с входа 2 записывается в регистр 3.50На входы формирователя 4 управляющих сигналов поступает комбинация четырех кодов команд с выходов регистров 3 - 3 и разряд признака из блока стековой памяти 25. При этом по сигналу 55 синхронизации, поступвюшему через время задержки на синхронизируюн 1 ий вход формирователя, на одном из егэ выСигнал с выхода 4, вызывает уста -ое 5 ку триэге 1 ир)ипака в Глек ) стоков1078 вой памяти в нулевое состояние, идентифицирующее отсутствие невыполненной операции в данном уровне вложенности, далее через элемент ИЛИ 41, элемент задержки 42 вызывает увеличение сос 5 гояния счетчика 39 блока 25 стековой намети на единицу, обеспечивая формирование сигнала разрешения синхронизации на ( + 1)-м выходе дешифратора 40 (осуществляется переход к обработке старшего уровня вложенности).Сигнал с выхода 4; вызывает установку триггера признака 36в блоке 25 стековой.памяти в единичное состояние, идентифицирующее наличие невыполненной операции в данном уровне вложенности, далее через элемент ИЛИ 41, элемент задержки 42 вызывает увеличение состояния счетчика 39 блока 25 стековой памяти на епиницу,что свидетельствует о переходе к обработке сгарщего уровня вложенности, Сигнал с выхода 41 через элемент ИЛИ 8 вызывает запуск блока обработки, на входах которого установлены коды операндов с выходов регистров операндов 134 и 13.; через блок элементов И 14 з 4 и блок элементов И 142(4( соответственно посредством разрешающего сигнала с 1-го выхода дешифрагора 22 на входы элемен гов И данных блоков, а на входе операций установлен код операции с выхода регистра операции 29; .( через блок элементов И 28 посредством разрешающего сигнала с -го выхода дешифратора 22 на входы элементов И данного блока, и одновременно вызывает уменьшение состояния счетчика 39 уровня на единицу, далее сигнал через элемент ИЛИ 19, элемент задержки 20 (задерж 40 ки на время выполнения самой длинной операции блоком обработки) вызывает уменьшение состояния счетчика 21 операндов на единицу, далее через элемент задержки 9 поступает на вход блока элементов И 6 и через элемент ИЛИ 1145 на вход блока элементов И 12, разрешает прохождение кода промежуточного результата с выхода блока 16 обработки через блок элементов И 6, блок элементов ИЛИ 7 на информационные входы регистра операндов 13; и обеспечивает синхронизацию приема результата в данный регистр.Сигнал с выхода 4, не осуществляя уменьшения состояния счетчика 39 блока стековой памяти в первом микротакге, действуег аналогично сигналу с выхода 4, кроме гого, в третьем 432 16микротакте одновременно с приемом результата промежуточной операции в регистр операндов 13; происходит прием кода операции с входа 30 операцийв регистр операций 29Сигна с выхода 49 яв яе ся сигналом семантической ошибки во входномвыражении.Работу устройства рассматриваютпо тактам. При этом под тактом понимают последовательность действий, выполняемых между последовательнымиприемами кодов команд. Рассмотри функционирование предлагаемого устройствана следующем примере.Пусть на вход команд устройства последовательно поступает элементарнаязапись+Т (л(ф (у(1-УД Р 3При рассмотрении примера опускаютобщий для каждого такта этап приемаочередного кода команды в регистр 3и сдвиг информации в регистрах 32-3 и начинают с момента появленияединичного сигнала на одном из выходовформирователя управляющих сигналов,1 гакг, По сигналу с выхода 4 й формирователя управляющих сигналов происходит прием результата интерпретации предыдущего выражения с выходаблока обработки в регистр выдачи 17,обнуление счетчиков 21 и 39, регистровоперандов 13- 13 +.( и регистровопераций 29- 29,2 гакг, По сигналу с выхода 4 про 3исходит прием операнда 7 с входи операндов устройства в регистр операндов 13 (,3 такт, По сигналу с выхода 4 происходит прием кода операции (+) с входаопераций устройства в регистр операций29(,4 такт. По сигналу с выхода 4 проис 7ходит в первом микротакте запись одиночного значения в триггер признака36, а во втором микрогакте - увеличение состояния счетчика 39 на единицу.5 такт. По сигналу с выхода 4 происходит в первом микрогакте увелйчениесостояния счетчика 21 на единицу и вовтором микрогакге прием операнда Лв регистр операндов 13 с входа операнддов устройства.6 такт, По сигналу с выхода 45 происходит прием кода операции (х) с входаустройства в регистр операций 29.7 такт, По сигналу с выхода 44 происходит в первом микротакге увеличение
СмотретьЗаявка
3528712, 24.12.1982
ХАРЬКОВСКОЕ ВЫСШЕЕ ВОЕННОЕ КОМАНДНО-ИНЖЕНЕРНОЕ УЧИЛИЩЕ ИМ. МАРШАЛА СОВЕТСКОГО СОЮЗА КРЫЛОВА Н. И
СЕРГЕЕВ БОРИС ИВАНОВИЧ, ПЛАХТЕЕВ АНАТОЛИЙ ПАВЛОВИЧ, КУРНОСОВ МИХАИЛ АЛЕКСЕЕВИЧ, СВИСТЕЛЬНИКОВ ВИТАЛИЙ ДМИТРИЕВИЧ
МПК / Метки
МПК: G06F 17/27
Метки: выражений, интерпретации, программирования, языков
Опубликовано: 07.03.1984
Код ссылки
<a href="https://patents.su/16-1078432-ustrojjstvo-dlya-interpretacii-vyrazhenijj-yazykov-programmirovaniya.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для интерпретации выражений языков программирования</a>
Предыдущий патент: Устройство для поворота вектора (его варианты)
Следующий патент: Устройство для быстрого преобразования фурье
Случайный патент: Рыбозащитное устройство