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

Номер патента: 1164736

Авторы: Ефимов, Нестерук, Потапов

Есть еще 5 страниц.

Смотреть все страницы или скачать ZIP архив

Текст

.в Л ОПИСАНИЕ ИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ сем ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ(71) Омский политехнический институт(56) 1. Авторское свидетельство СССР У .993272, кл, С 06 Е 15/38, 1981.2. Авторское свидетельство СССР по заявке В 3500457/24,кл, С 06 Р 15/38, 1983 (прототип).(54)(57) УСТРОЙСТВО ДЛЯ АППАРАТУРНОЙТРАНСЛЯЦИИ, содержащее первый блокпамяти, два счетчика адреса, регистрвыдачи, схему сравнения, первый элемент ИЛИ, семь элементов И, четыреэлемента задержки, три триггера, дешифратор кода пробела, генератор прямоугольных импульсов и второй блокпамяти, подключенный информационнымивыходами к первым группам информационных входов регистра выдачи и схемысравнения, вторые группы информационных входов которых соединены с информационными выходами первого блокапамяти, подключенными к информационным входам первого и второго счетчика адреса, выходы которого соединеныс адресными входами первого блокапамяти и с входами первого элементаИ, подключенного выходом к единичному входу первого триггера, установочный вход которого и установочныевходы первого и второго счетчиковадреса соединены с выходом первогоэлемента ИЛИ, первый вход первогоэлемента ИЛИ и установочные входы второго и третьего триггеров подключены к установочному входу устройства, выход второго элемента И соединен с вторым входом первого элемента ИЛИ, нулевой выход второготриггера соединен с первым входомвторого элемента И, единичный входвторого триггера подключен к второму входу второго элемента И, к первому входу третьего элемента И и кпервому синхронизирующему входуустройства, выход третьего элементаИ соединен с тактовым входомпервого счетчика адреса, второй входтретьего элемента И соединен с единичным выходом второго триггера,группа входов транслируемого языкаустройства соединена с информационными входами второго блока памятии дешифратора кода пробела, выходомсоединенного с единичным входом второго триггера и с входом пуска генератора прямоугольных импульсов,выход которого подключен к входусчитывания первого блока памяти,вход записи которого и вход первогоэлемента задержки соединены с вторым.синхронизирующим входом устройства,единичный выход первого триггераявляется выходом ошибки устройства,выход первого элемента задержкисоединен с тактовым входом второгосчетчика адреса, управляющий входвыдачи схемы сравнения подключенк выходу четвертого элемента И, выходы первого счетчика адреса соединены с адресными входами второго.блока памяти, выход пятого элементаИ подключен к первому входу разрешения приема регистра выдачи и к входуостанова генератора прямоугольных им.где Е - объем необходимой памяти вячейках основного блокапамяти"Н - максимальное значение разфасметки граФаК у колифество двоичных элементов символа-го узла",К - количество листьев граФа;Ть - время трансляции конструкции",Т - длительность такта устройстш"ва (генератора импульсов),Н (Н - значение разметки узлов граКс Сьсц,Фа, в которых записаны20символы рассматриваемойконструкции (максимальноезначение);К - количество узлов расположенных левее узлов, имеющих 25разметки Н и имеющих тотже порождающий узел,1, в : среднее время трансляцииконструкции при разных частотах использования отдельпых конструкций,О - частоты использования отдельных конструкций;Трр - время трансляции программьцМ - количество консгрукций в 35программе.Т - длительность такта ввода89символа в утсройство,Кс - количество символов в коде1-ой конструкции входного 40языка аУкаэанные Формулы имеют одинако-,вый вид для обоих вариантов составления карты памяти. При выборе конкретного варианта переменная Н заменяется на соответствующую переменнуюН 1 или Н 2,Устройство работает следующим образом.При включении устройства на вход 5 О 32 поцается сигнал, устанавливающий триггеры 28 и 29 в нулевое состояние и поступающий через элемент 10 ИЛИ для установки в ноль счетчика 3 адре.са.Затем производится запись инФор мации в блок 1 памяти, На инФормационные входы 33 поступает первоеслово для записи в нулевую ячейку памяти, адрес которой установлен в счетчике 3 адреса. Сопровождающий данное слово синхроимпульс по входу 35 поступает на вход элемента 22 задержки и на вход управления записью в блок 1 памяти в результате чего происходит прием слова в соответствующую ячейку памяти, После этого на счетном входе счетчика 3 адреса появляется сигнал, прошедший через элемент 22 задержки, и значение адреса увеличивается на единицу. В следующем такте поступает очеред" ное слово по входам 33 и сопровождающий его синхроимпульс по входу 35. Запись данного слова в блок 1 памяти и увеличение значенияадреса в счетчике 3 адреса выполняется так же, как и в предыдущем такте. Этот процесс продолжается до заполнения блока 1 памяти, после чего устройство считается подготовленным к работе,Если блок 1 памяти выполнен нев виде программируемого, а в видепостоянного запоминаюшего устройства, то подготовка устройства к работе заключается в установке платыиз некоторого набора плат, каждая изкоторых ориентирована на определеннуюпару входного и выходного язьгков,и в подаче сигнала начальной установки на вход 32 для установки в нольтриггеров 28 и 30 и счетчика 3 адресааналогично указанному,В режиме записи конструкции входного языка в блок 2 памяти с входов34 последовательно друг за другомпоступают символы конструкции входного языка, а по входу Зб - сопровож-,дающие их синхроимпульсы. По первому синхроимпульсу происходит запись символа в нулевую ячейку блока2 памяти следующим образом, Так какна нулевом выходе триггера 28 единица, то первый синхроимпульс через элемент 15 И и элемент 10 ИЛИпроходит для установки в ноль регистров 3 и 4 адреса и триггера 30.Этот же синхроимпульс поступаетна единичный вход триггера 28. Кмоменту появления импупьса на одномиз входов элемента 13 И, прошедшегос элемента 10 ИЛИ через элементы11 ИЛИ и 26 задержки, триггер 28переключается в единичное состояние,и на выходе элемента 13 И появляется сигнал записи в блок 2 памяти, К10 20 25 30 35 40 45 50 55 этому времени на его адресных входах сформирован адрес нулевой ячейки памяти с счетчика 4 адреса. Таким образам, запись первого символав блок 2 памяти выполнена,Второй синхроимпульс с входа 36проходит уже через элемент 14 И, таккак триггер 28 находится в единич"ном состоянии, поступает на счетныйвход счетчика 4, увеличивая адресна единицу, и через элементы 11 ИЛИ,26 задержки и 13 И - на вход записиблока 2 памяти. В результате .этогопроизводится запись кода очередногосимвола в следующую ячейку блока 2памяти. Все следующие символы обрабатываются аналогичным образом дотех пор, пока не поступит код пробела.По коду пробела на выходе дешифратора 27 появляется сигнал, переводящий триггер 28 в нулевое состояние и производящий запуск генератора 31 прямоугольных импульсов.Синхроимпульс с входа 36, поступивший с символом "Пробел", проходитчерез элемент 15 И и 10 ИЛИ и устанавливает в ноль счетчик 4 адреса.На этом режим приема конструкциивходного языка заканчивается.В режиме трансляции по сигналу,прошедшему с элемента 10 ИЛИ черезэлементы 11 ИЛИ, 26 задержки и 12 Ина вход считывания блока 2 памяти,с его выхода на схему 6 сравнениявьдается код символа. Кроме того,по сигналу с генератора 31 прямоугольных импульсов считывается информация из блока 1 памяти. Через элемент 23 задержки и элемент 17 Исигнал с генератора поступает науправляющий вход схемы 6 сравнения,.в результате чего сравниваются коды с выходом блоков 1 и 2 памяти,При совпадении символов сигнал появляется на соответствующем выходе.схемы сравнения и в зависимостиот значения признака перехода в блоке 1 памяти проходит либо черезпереключатель 7 (если признак равен единице) на счетный вход счетчика 3 адреса (при этом адрес увеличивается на единицу), либо через переключатель 8 (признак равен нулю) навход приема счетчика адреса (приэтом в него принимается адрес перехода с выходов блока 1 памяти). Кроме того, сигнал совпадения проходит через элемент 9 ИЛИ на вход приема счетчика 4 адреса и в него принимается адрес следующего сигнала с выходов блока 1 памяти,При несовпадении символов сигнал с соответствующего выхода схемы 6 сравнения проходит через переключатели 7 и 8 уже при других значениях признака перехода в блоке 1 памяти. Если признак перехода в блоке 2 памяти равен единице, то сигнал несовпадения проходит также через элементы 16 И и 9 ИЛИ на вход приема регистра 4 адреса и в него принимается адрес следующего символа. В противном случае содержимое счетчика 4 адреса не меняется.Сигнал, появляющийся на выходе элемента 17 И, проходит также через элементы 11 ИЛИ, 26 задержки и 12 И; в результате чего из блока 2 памяти считывается код символа. По следующему сигналу с выхода генератора 31 прямоугольных импульсов указанные действия, связанные с выдачей из блоков 1 и 2 памяти, повторяются,Режим трансляции продолжается до тех пор, пока при считывании информации из блока 1 памяти на выходе условий, соединенном с входом триггера 29 (четвертое поле ячейки), не появится единица, переводящая триггер в единичное состояние. Высокий уровень напряжения с единичного выхода триггера 29 открывает стробирующие входы элементов 17-20 И, В результате этого сигнал с выхода элемента 23 задержки проходит через элемент 18 И на вход приема с второй группы входов регистра 5 вьдачи и двоичный код конструкции выходного языка принимается в регистр выдачи. Этот же сигнал приводит к приему в счетчик 4 адреса номера вставляемого символа, код которого вьдается с выходов блока 2 памяти на группу входов регистра 5 если на выходе условий блока 1 памяти, соединенном с входом элемента 19 И (признак вставки - второе поле ячейки памяти), единица, то сигнал с выхода элемента 24 задержки проходит на вход приема регистра 5 выдачи и код вставляемого символа принимается в регистр вьдачи. Затем сигнал с выхода. элемента 25 задержки проходит через элемент 20 И,22 но упростить и ускорить процесс разработки трансляторов для языковпрограммирования, отдельные символыконструкций которых (непосредственный операнд, номер регистра, модификатор и др. ) имеют более одногодвоичного эквивалента, обладает дополнительной воэможностью измененияусловий перехода в обоих блокахпамяти при построении алгоритмовтрансляции. Это приводит к болеерациональному расходу памяти, объемкоторой может быть уменьшен в отдельных случаях на порядок, сокращению числа допускаемых ошибок какпри построении карты памяти, таки при занесении ее в блок памяти 21 1164736на другом входе которого присутствует единица с выхода триггера 29, науправляемый вход регистра 5 выдачи.На этом трансляция конструкции входного языка закончена, и устройствоможет приступать к трансляции следу-.ющей.Если в процессе трансляции с выходасчетчика 4 адреса появится код 1 1,то элемент 21 И переключается в единичное состояние и на выходе 37 индикации ошибки появляется сигнал,говорящий о том, что введенная вблок 2 памяти конструкция являетсянедопустимой и результат трансляции 15ошибочный.Изобретение в отличие от известного устройства позволяет существен1 б 4736 Жеренов Составитель Техред А.Баб ско Редактор И.Дьшын рректо не Заказ 4933В писное Патент оектная и город Тираж 710 ПодНИИПИ Государственного комитета СССРпо делам изобретений и о ткрытий3035, Москва, Ж, Раушская наб д, 4/1 1647 пульсов, выход которого соединен через второй элемент задержки с входомтретьего элемента задержки и с первыми входами четвертого и пятого элементов И, нулевой выход третьеготриггера подключен к второму входучетвертого элемента И, единичныйвыход подключен к второму входу пятого элемента И и к первым входамшестого и седьмого элементов И, выход седьмого элемента И соединен свходом выдачи регистра выдачи и с .первым единичным входом третьеготриггера, второй единичный вход ко"торого подключен к первому выходуусловий первого блока памяти, второйвыход условий которого соединен свторым входом шестого элемента И,выход и третий вход которого подключены соответственно к второму входуразрешения приема регистра выдачи ик выходу третьего элемента задержки,выход которого через четвертый элемент задержки соединен с вторымвходом седьмого элемента И, информационные входы первого блока памяти являются группой входов информации,настройки устройства, выходырегистра выдачи являются выходамиустройства, о т л и ч а ю щ е е с ятем, что, с целью расширения функциональных возможностей за счет обеспечения изменений условий переходаи упрощения процесса подготовки иредактирования данных, записываемыхв память при модификации языков программирования, в него введены двапереключателя, восьмой, девятый и десятый элементы И, второй и третийэлементы ИЛИ, первый вход третьего 36элемента ИЛИ подключен к выходутретьего элемента И, второй вход со"единен с выходом первого элементаИЛИ, третий вход соединен с выходомчетвертого элемента И, четвертыйвход подключен к выходу пятого элемента И, выход третьего элемента ИЛИчерез пятый элемент задержки соединен с первыми входами восьмого и девятого элементов И, вторые входы которых подключены соответственно кединичному и нуЛевому выходам второго триггера, выходы восьмого идевятого элементов И подключены соответственно к управляющему входузаписи и управляющему входу считывания второго блока памяти, третийвыход условий первого блока памятисоединен с разрешающими входами первого и второго переключателей, выходы которых подключены соответственно к счетному входу и к входуразрешения приема второго счетчикаадреса, выход несравнения схемысравнения соединен с первыми информационными входами первого и второгопереключателей и с первым входомдесятого элемента И, выход сравнения схемы сравнения подключен к вторым информационным входам первого ивторого переключателей и к первомувходу второго элемента ИЛИ, выходкоторого соединен с вхсдом разрешения приема первого счетчика адреса,четвертый выход условий первого блока памяти подключен к второму входудесятого элемента И, выход которогосоединен с вторым входом второгоэлемента ИЛИ, третий вход которогосоединен с выходом пятого элемента ИИзобретение относится к вычислительной технике и предназначено для преобразования кодов с одного языка на другой, в частностидля трансляции с языков программи рования микропроцессоров, Устройство целесообразноприменять в условиях возможной смены или модификации используемых языков программирования.Известно устройство для аппаратур-,10 ной трансляции, выполненное на основе взаимосвязанных регистра выдачи, бло-,ка памяти, регистров символа, элемента ИЛИ, шести элементов И, схемы сравнения, двух регистров адреса,дешифратора кода пробела, двух триггеров, генератора прямоугольных импульсов, четырех элементов задержкии дешифратора, Аппаратурная реализация данного устройства является независимой от используемых языков. Настройка его на конкретные языки проз 1164граммирования осуществляется путемсоставления карты заполнения блокапамяти на основе несложного преобразования таблиц соответствия символических и двоичных кодов входного ивыходного языков о помощью грвюв 1) .Недостатками данного техническогорешения являются невозможность выявления недопустимых входных конструкций, а также невозможность выбораследующего символа конструкции.входного языка в случае несовпадения сравниваемых символов,1Наиболее близким по техническойсущности к изобретению является15устройство для аппаратурной трансляции, содержащее блок памяти, два регистра адреса, регистр выдачи, схему сравнения, элемент ИЛИ, семьэлементов И, четыре элемента задержки, три триггера, дешифратор кодапробела, генератор прямоугольных импульсов и блок записи, хранения и выборки символов конструкции входногоязыка, выполненный в виде группырегистров символа и дешифратора,подключенного своими входами и выходами, соответственно к адресным входам блока и к управляющим входам регистров символа, входы выбора приема-ЗОвыдачи, информационные входы и информационные выходы которых соответственно соединены с входом выбора. приема-выдачи, информационными входамии информационными выходами блока 35записи, хранения и выборки символовконструкции входного языка, подключенного информационными выходами кпервым группам входов регистра вьдачи и схемы сравнения, вторые группы 40входов которых соединены с выходамиблока памяти, подключенными такжек входам первого и второго регистраадреса, выходы которого соединены садресными входами блока памяти и 45входами первого элемента И, подключенного своим выходом к входу первоготриггера, установочный вход которого соединен с установочными входамипервого и второго регистров адреса 50и с выходом элемента ИЛИ, первыйи второй входы элемента ИЛИ подключены соответственно к установочнымвходам первого и второго триггерови к выходу второго элемента И, инверсный выход второго триггера соединен с первым входом второго элемента И,первый вход второго триггера подклю 736 4чен к второму входу второго элемента И и к первому входу третьего элемента И, выход которого соединен со счетным входом первого регистра ад" реса, второй вход - с прямым выходом второго триггера и с входом выбора прнема-вьдачн блока записи, хранения и выборки символов конструкции входного языка, информационные входы которого подключены к входам дешифратора кода пробела, выходом соединенного с вторым входом второго триггера и с первым входом генератора прямоугольных импульсов, выход которого подключен к входу считывания блока памяти, вход записи которого через первый элемент задержки соединен с первым счетным входом второго регистра адреса, вход приема второго регистра адреса подключен к выходу несовпадения схемы сравнения, управляющий вход и выход совпадения .которой соединены соответственно с выходом четвертого элемента И н с вторым счетным входом второго и первым входом приема первого регистра адреса, подключенного выходами и вторым входом приема соответственно к адресным входам блока записи, хранения.н выборки символов конструкции входного языка и к выходу пятого элемента И, входу приема с второй группы входов регистра вьдачи н второму входу генератора прямоугольных импульсов, выход которого соединен через второй элемент задержки с входом третьего элемента задержки н с первыми входами четвертого и пятого элементов И, инверсный выход третьего триггера подключен к второму входучетвертого элемента И, прямой выход - к второму входу пятого элемента И и к первым входам шестого и седьмого элементов И, выход седьмого элемента И соединен с входом выдачи регистра вьдачи и с первым входом третьего триггера, второй вход которого подключен к первому выходу условий блока памяти, второй выход условий которого соединен с вторым входом шестого элемента И, выход которого и третий вход соответственно подключе- . ны к входу приема с первой группы входов регистра выдачи и к выходу третьего элемента задержки, соединенного также через четвертый элемент задержки с вторым входом седьмого элемента И 2 .36 5 11647Однако известное устройство также не позволяет выбирать следующий символ конструкции входного языка в случае несовпадения сравниваемых символов, в чем может возникнуть необходимость, 5 если в анализируемых узлах содержатся символы, имеющие полный набор двоичных эквивалентов (2 К, где к - разрядность кодов) на выходном языке (например, номер регистра или не посредственный операнд). Следовательно, устройство не позволяет изменять условие перехода в группе регистров символа. Это приводит к необходимости перебирать все возможные 5 значения двоичных эквивалентов входной конструкции, в противном случае процесс трансляции не может быть продолжен, При этом следует учесть, что перебор всех двоичных эквивалентов 20 (в котором, как правило, нет смысла) односимвольного непосредственного операнда в случае восьмиразрядного регистра символа потребует не менее 256 ячеек памяти. Если подобных уз лов в графе, например, четыре, то необходимо более тысячи дополнительных ячеек памяти. Это приводит к нерациональному ее расходу, усложнению процесса написания и отладки 30 карты памяти, процесса заполнения информацией запоминающего устройства как в случае постоянного, так и оперативного его исполнения, При этом следует иметь В Виду что увелнче-35 ние необходимого объема блока памяти повышает вероятность появления ошибки при записи в него информации.Кроме того, нрн составлении карты памяти по графу переход к следующей 40 по порядку строке карты памяти удобно производить в одних случаях по несовпадению (например, при анализе символов узлов, имеющих неполный набор двоичных эквивалентов из числа всех возможных двоичных комбинаций при заданной разрядности), а в других случаях - по совпадению (при . последовательном анализе символов отдельных ветвей). Первое известное устройство обладает первой возможностью, но не обладает второй, второе известное устройство, наоборот, обладает второй возможностью из названных, но не обладает первой. Таким образом, рассмотренные устройства не обладают функцией изменения условия перехода в блоке памяти при организации процесса трансляции. Результатом этого является усложнение, процесса составления карты памяти и изменения ее при модификации языка программирования, его меньшая наглядность, что приводит к большему числу ошибок при построении карты, большим затратам времени на ее отладку, к большему объему необходимой памяти.Кроме того, в указанных устройствах для хранения кодового символа входных конструкций предназначен отдельный регистр символа. Такое исполнение является оправданным как правило лишь в случае необходимостиодновременного доступа к нескольким регистрам, В противном случае это приводит к излишним аппаратурным затратам и потреблению дополнительной энергии.Цель изобретения - расширение функциональных возможностей за счет обеспечения изменений условий перехода и упрощения пропесса подготовки и редактирования данных, записываемых в память при модификации язы- ков программирования.Поставленная цель достигается тем, что в устройство, содержащее первый блок памяти, два счетчикаадреса, регистр выдачи, схему сравнения, первый элемент ИЛИ, семьэлементов И, четыре элемента задержки, три триггера, дешифратор кодапробела, генератор прямоугольных импульсов и второй блок памяти, подключенный информационными выходамик первым группам информационных входов регистра выдачи и схемы сравнения, вторые группы информационныховходов которых соединены с информационными выходами первого блока памя" ти, подключенными к информационным входам первого и второго счетчика адреса, выходы которого соединены с адресными входами первого блока памяти и с входами первогс элемента И, подключенного выходом к. единичному входу первого триггера., установочный вход которого и устансвочные входы первого и второго счетчиков адресасоединены с выходом первого элементаИЛИ, первый вход первого элементаИЛИ и установочные входы второго нтретьего триггеров подключены к установочному входу устройства, выходвторого элемента И соецинен с вторым1164736 8входом первого элемента ИЛИ, нулевой ходу третьего элемента задержки,выход второго триггера соединен с выход которого через четвертый эле-первым входом второго элемента И, мент задержки соединен с вторым вхоединичный вход второго триггера под- дом седьмого элемента И индюрмаЭключен к второму входу второго эле ционные входы первого блока памятимента И, к первому входу третьего являются группой входов информацииэлемента И и к первому синхронизирую- настройки устройства, выходы регистщему входу устройства, выход третье- ра выдачи являются выходами устройго элемента И соединен с тактовым ства, введены два переключателя,входом первого счетчика адреса, вто восьмой, девятый и десятый элементырой вход третьего элемента И соединен И, второй и третий элементы ИЛИ,с единичным выходом второго тригге- первый вход третьего элемента ИЛИра, группа входов транслируемого язы- подключен к выходу третьего элементака устройства соединена с информаци- И, второй вход соединен с выходомонными входами второго блока памяти 15 первого элемента ИЛИ, третий вход сои дешифратора кода пробела, выходом единен с выходом четвертого элеменсоединенного с единичным входом вто- та И, четвертый вход подключен крого триггера и с входом пуска гене- выходупятого элемента И, выходратора прямоугольных импульсов, вы- третьего элемента ИЛИ через пятыйход которого подключен, к входу считы элемент задержки соединен с первывания первого блока памяти, вход за- ми входами восьмого и девятого элеписи которого и вход первого эле- ментов И, вторые входы которых подмента задержки соединены с вторым ключены соответственно к единичносинхронизирующим входом устройства, му и нулевому выходам второго триггеединичныйвыход первого триггера яв ра, выходы восьмого и девятого элеляется выходом ошибки устройства, ментов И подключены соответственновыход первого элемента задержки со- к управляющему входу записи и управ"единен с тактовым входом второго ляющему входу считывания второго блосчетчика адреса, управляющий вход ка памяти, третий выход условийвыдачи схемы сравнения подключен к З 0 первого блока памяти соединен с развыходу четвертого элемента И, выходы решающими входами первого и второгопервого счетчика адреса соединены с переключателей, выходы которых подадресными входами второго блока. па- ключены соответственно к счетномумяти, выход пятого элемента И подклю- воду и к входу разрешения приемачен к первому входу разрешения приема- второго счетчика адреса, выход не 35регистра выдачи и к входу останова сравнения схемы сравнения соединенгенератора прямоугольных импульсов, с пеРвыми информационными входамивыход которого соединен через вто- пеРвого и второго переключателейрой элемент задержки с входом тре- и с первым входом десятого элементатьего элемента задержки и с первыми 40 И выход сравнения схемы сравнениявходами четвертого и пятого элемен- подключен к вторым информационнымтов И, нулевой выход третьего триг- входам первого и второго переключагера подключен к второму входу чет- телей и к первому входу второго элевертого элемента И, единичный выход мента ИЛИ, выход которого соединенподключен к второму входу пятого 45 с входом Разрешения приема первогоэлемента И и к первым входам шестого счетчика адреса, четвертый выходи седьмого элементов И, выход седьмо- условий первого блока памяти подклюго элемента И соединен с входом вычен к втвторому входу десятого элемен. дачи регистра выдачи и с первымта И выхвыход которого соединен с втоединичным входом третьего триггера 50 Рым входом втоРого элемента ИЛИ, треЭтий вховторой единичный вход которого под- ий вход которого соединен с выходомключен к первому выходу условий и - пятого элемента И.вого блока памяти, второй выход усло- На чертеже изображена схема предвий которого соединен с вторым лагаемого устройства,,входом шестого элемента И, выход и 55 Схема устройства содержит блокитретий вход которого подключены со и 2 памяти, счетчики 3 и 4 адреса,ответственно к второму входу разре- регистр 5 выдачи, схему 6 сравнения,щения приема регистра выдачи и к вы- переключатели 7 и 8, элементы 9, 10, 91164 н 11 ИДИ, элементы 12-21 И, элементы 22-26 задержки, дешифратор 27 кода пробела, триггеры 28-30, генератор 31 прямоугольных импульсов, вход 32 установки исходного состояния, пер вую 33 и вторую 34 группы информационных входов устройства, входы 35 и 36 синхроимпульсов устройства, выход 37 индикации ошибки и группу 38 инФормационных выходов устройства.Входы 33 и 35, 34 и 36 могут, например, подключаться к стандартному интерфейсу вычислительной машины типа 2 К, к наборной клавиатуре на пульте управления устройства нли к 15 пишущей машинке типа "Консул", вход 32 и выход 37 - соответственно к кнопке начальной установки и к световому индикатору на пульте управления устройства, выходы 38 - к информаци онным входам внешнего для устройства блока памяти, хранящего двоичную программу на выхОдном языке.Перед началом работы в блок памяти заносится информация, позволяющая установить взаимно-однозначное соответствие между кодами входного и выходного языков. Для этого на основе анализа конструкций входного языка, представленных в 30 символическом виде, строится граф, в узлах которого находятся отдельные символы алфавита входного языка, а связи между узлами (ветви графа) указывают на символы, являющиеся соседними в символическом коде конструкции. В конечных узлах графа (листьях) помещается двоичный код выходного языка, соответствующий одной иэ конструкций входного языка. 40 Узел, имеющий исходящие ветви, является порождающим, более одной исходящей ветви - ветвящимся. По графу составляется карта заполнения блока 1 памяти. 45С целью упрощения и упорядочение процесса решения данной задачи для рассматриваемой модификации устройства трансляции необходимо руководствоваться следующей методикой. 50Методика настройки аппаратурного транслятора на выбранный язык про" граммирования:1. Если построение графа для выбранного языка программирования не 55 проводилось, то идти к 2, Иначе требуется достройка дополнительно введенньии конструкциями идти к 2.9. 736 102. Строится граф для выбранногоязыка программирования следующим образом.2,1. Строится начальный узелграфа - корень,2.2, Выбирается произвольнаясимволическая конструкция входногоязыка.2,3. Выбирается первый символконструкции.2.4. Граф достраивается узлом,который соединяется ветвью с последним из построенных узлов и имеетна единицу больший ранг. Идти к 2.6,2,5, Производится достройка графа узлом, который соедйняетсяветвью с породившими последний израссмотренных узлов и имеет тот жеранг, что н рассмотренный. Узлы,порожденные ветвящимся, должны располагаться в следующем порядке. Левая группа - узлы, символы которыхимеют один двоичный эквивалент. Достраиваемый узел, относящийся к данной группе, должен быть крайним правымв группе. Средняя группа - узлы,.символы которых имеют различающиесянеполные наборы двоичных эквивалентов из числа допустимых двоичных кодов конструкции выходного языка призаданной ее разрядности 1 (меньшечем 2). В данной группе узлы располагаются в порядке возрастания количества двоичных эквивалентов слеванаправо. Правая группа содержит узел,символ которого имеет полный набордвоичных эквиваленто:в (равный 2 к).2,6, Если построенный узел неявляется листом, так как ему не соответствует пробел, то он помечаетсявыбранным символом и выбирается следующий символ. Одти к 2,4. Иначе идти к 2.7.12,7, В лист записывается двоичныйкод конструкции выходного языка, являющийся двоьчным эквивалентом рас.смотренной конструкции входного языка.2,8. Если рассмотрены все конструкции входного языка, то идти к 3, иначе идти к 2,9,2,9. Выбирается следующая конструкция входного языка.2,10. Выбирается первый символконструкции.2.11. Выбирается узел нулевогоранга, если таких узлов несколько,2, 12, Если символ конструкции совпадает с символом выбранного узлато идти к 2.13. Иначе идти к 2.15.2,13. Выбирается следующий символконструкции, 52,14. Выбирается крайний левыйузел из порожденных рассмотреннымузлом, являющийся листом. Идти к2.12. Иначе идти к 2.5.2,15. Если рассмотренный узел имеОет справа узлы, порожденные тем жеузлом, что и он сам, то выбираетсясоседний справа. Идти к 2,12. Иначеидти к 2.5.3, Если предполагается организовать процесс трансляции с проведением частичного контроля входных конструкций на наличие недопустимыхсимволических обозначений, то идтик 7, Если же необходим полный контроль, идти к 4.Для предварительной оценки объеманеобходимой памяти и времени трансляции по графу можно воспользоваться формулами, приведенными в конце 25методики,4, Если основная численная разметка графа не проводилась, то идтик 5, В противном случае (проводилась достройка графа) идти к 4.1. З 04.1, Выбирается узел из имеющихпорожденные непомеченные узлы, значение Н 1 основной разметки которогонаименьшее.4,2, Переменной М приписывается35значение основной разметки листка,находящегося в конце маршрута, начинающегося узлом, порожденным узлом Н 1 и являющимся соседним с крайним левым из непомеченных, порождениых тем же узлом.4.3. Уничтожается основная разметка всех узлов, величины Н 1 которых больше М,4.4. Выбирается крайний правый 45из порожденных узлом Н 1, имеющийосновную разметку. Значение Н 1 полагается равным его основной разметке. Идти к 5.7.5. Проводится основная разметкаграфа.5.1 Узел нулевого ранга (если ихнесколько, то крайний левый) помечается числом Н 1=1 (корень дерева -нулем).5.2, Первый узел, символ которогоне имеет полного. набора двоичныхэквивалентов, относящийся к крайней левой ветви, порожденной последнимпомеченным узлом, помечается числомН 1=Н 1+1.5.3, Если помеченный узел не является листом, то идти к 5.2, Иначе запоминается значение Н 1 (Н=Н 1).Идти к 5.4.5.4, Если узел Н 1 является ближайшим из помеченных к породившему этуветвь, то выбирается узел Н 1=Н 1-1.Идти к 5.4, Иначе идти к 5.5.5.5. Если ветвь узла Н 1 являетсякрайней правой среди порожденныхобщим узлом, то выбирается породившийветвь узел (если он не помечен, то -ближайший из помеченных в направлении к корню) и Н 1 полагается равнымего основной разметке. Идти к 5.5.Иначе идти к 5.7,5.6 Если выбранный узел помеченчислом Н 1=0, то идти к 6. Иначе идти к 5,4,5,7, Ближайший к породившему узелН 1 из соседней справа ветви, порожденной тем же узлом, помечаетсячислом Н 1=Н+1, Идти к 5,3.6. Составляется карта памяти дляслучая сплошного контроля входныхконструкций на наличие недопустимыхсимволических обозначений,61.Номер А строки карты памяти(т.е. адрес соответствующей ячейкипамяти) основного блока памяти принимается равным нулю (А=О).6.2. Выбирается узел, помеченныйномером Н 1=1.6.3Если символ выбранного узлаимеет К двоичных эквивалентов, то впервые поля строк АА+Кпоследовательно заносятся все К двоичныхэквивалентов, если символ - лист,то - код пробела.6.4. Если символ узла Н 1 имеетодин двоичный эквивалент, то идти к6.5. Иначе во вторые поля строкАА+Кзаносится код числа А+К.При этом признаки перехода во всехстроках (крайний правый разряд поля)принимаются равными нулю - переходпо совпадению, Заполнение строки А++Кописано в следующем пункте. Идти к 6.5,6,5 Если узел Н 1 порожден ветвящимся узлом и не является крайнимправым среди порожденных этим узлом,то во второе поле заносится двоичныйкод величины16 36 50 15 1647сам, то выбирается крайний левый изних (если символ этого узла имеетполный набор двоичных эквивалентов,то выбирается первый из имеющих одинили неполный набор двоичных эквивалентов в направлении от корня) ипомечается номером Н 2=Н+1. Идти к8,4. Иначе идти к 8.7.8,7. Выбирается узел, ближайшийот Н 2 в направлении к корню, имеющий справа от себя непомеченные узлы, порожденные тем же, что и он сам.Идти к 8,6, Если таких узлов.нет,то идти к 9.9. Строится карта памяти для случая организации процесса трансляциис частичным контролем входных конструкций на наличие недопустимых символических обозначений,9.1. Номер строки карты памяти 20принимается равным нулю (А=О),9.2. Выбирается узел, помеченныйномером Н 2=1.9,3, В первое поле строки А записывается код символа узла Н 2, если 25узел Н 2 является листом, то - кодпробела. Если символ имеет К двоичных эквивалентов, то в первые полястрок АА+Кпоследовательно заносятся все К двоичных эквивалентов. 309.4. Если символ узла Н 2 имеетодин двоичный эквивалент, то идтик 9.5Иначе во вторые поля строкАА+Кзаносится код числа А+К.При этом признаки перехода во всехстроках принимаются равными нулю -переход по совпадению. Заполнениестроки А+Кописано в следующемпункте. Идти к 9,59.5. Если выбранный узел не имеет справа от себя узлов, порожденных тем же ветвящимся, что и выбранный, то во второе поле заноситсякод 11Признак перехода устанавливается равным единице. Иначе в него записывается двоичныи код числа,определяемого по формуле Н 2 иАв 116- 1 Икк 4 Н 2 лзй 2 пгде л, п - индексы, обозначающиепринадлежность переменныхсоответственно левому иправому узлу из рассматриваемой пары узлов (Аадрес первого двоичного.эквивалента левого узла), - количество двоичных эквиАэквалентов к-го узла;- количество листьев, рас"ул"Яп лположенных в конце всехмаршрутов, проходящих через узлы Н 2 Н 2но,не проходящих через узлысо значениями разметки,большими Н 2.л,9.6. Заполнение третьего полястрок АА+Кпроизвольно, еслиранг узла Н 2+1 не превышает рангаузла Н 2 (однако младший разряд должен быть равен нулю), иначе в негозаписывается двоичный код рангаузла Н 2+1. Причем признак переходапринимается равным нулю, если узелН 2+1 приходится в направлении откорня, и единице, в противном случае,9.7. Четвертое поле предназначено для записи. признака типа форматазаполнения строки - "О".9.8. Если ранг узла Н 2+1 большеранга узла Н 2, то выбирается строкаА=А+К (К - количество двоичных эквивалентов символа узла Н 2) и узелН 2=Н 2+1. Идти к 9,3. Иначе идти к 9.8.9,9. В первое поле строки А=А+Кзаносится выбранный двоичный кодконструкции выходного языка.9,10. Второе поле предназначенодля признака ставки: если в код конструкции выходного языка не требуется вставлять код какого-либо символаконструкции входного языка, то вполе записывается нулевой код, иначе - единичный.9.11. Если, признак вставки равеннулю, то в третье поле записываетсяпроизвольный код, иначе в него записывается двоичный код ранга узла,в котором находится вставляемый символ.9.12. В четвертое поле записывается признак формата заполненнойстроки - "1".9.13. Если при составлении картыиспользованы на все узлы графа (Н 2 ФФН 2 на) то выбирается узел Н 2=Н 2+1 истрока А=А+1. Идти к 9.3. Иначе идти к 10.10, Конец.Оценка объема занимаемой памятии времени трансляции по графу может быть проведена с помощью формул:дюллакаЕ = Е Кдр, + Кл

Смотреть

Заявка

3689256, 13.01.1984

ОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ

ЕФИМОВ СЕРГЕЙ СЕРГЕЕВИЧ, ПОТАПОВ ВИКТОР ИЛЬИЧ, НЕСТЕРУК ВАЛЕРИЙ ФИЛИППОВИЧ

МПК / Метки

МПК: G06F 17/27

Метки: аппаратурной, трансляции

Опубликовано: 30.06.1985

Код ссылки

<a href="https://patents.su/13-1164736-ustrojjstvo-dlya-apparaturnojj-translyacii.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для аппаратурной трансляции</a>

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