Устройство для преобразования кодов с одного языка на другие

Иллюстрации

Показать все

Реферат

 

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

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (р 4 С 06 F 15/38

Г

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ

ПРИ ГКНТ СССР (21) 4278716/24-24 (22) 27.04.87 (46) 23 ° 01.89. Бюл ° ¹ 3 (72) В.П. Беликов, В.И. Мартюгин, Ю.П. Обухов и Г.В. Дворецкий (53) 68 1.325(088.8) (56) Авторское свидетельство СССР № 1238 104, кл. С 06 F 15/38, 1984.

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

¹ 1283798, кл. G 06 F 15/38, 9/44, 1985.

„„SU„„145 41 А1 (54) УСТРОЙСТВО ДЛЯ ПРЕОБРАЗОВАНИЯ

КОДОВ С ОДНОГО ЯЗЫКА НА ДРУГИЕ (57) Изобретение относится к вычислительной технике и может быть использовано при создании быстродействующих операционных систем обработки информации в системах с диалоговым режимом работы, отладки и выполнения программ в аппаратных преобразователях (эмуляторах, интерпретаторах и т.п.) при непосредственной реализации язы1453416 ков высокого уровня, а также в устройствах с адаптивной распределенной обработкой информации повышенной достоверности. Цель изобретения — увеличение быстродействия и расширение функциональных возможностей эа счет, введения адаптивной распределенной обработки информации. Адаптивная распределенная обработка информации для преобразования кодов с одного языка на другие обеспечивается наличием специальной аппаратно-программной операционной системы, которая координирует взаимодействие всех узлов устройства, для чего введены специальные прямые и обратные информационные связи между узлами устройства., Изобретение относится к вычислительной технике и может быть использовано при создании быстродействующих операционных систем обработки информации в системах с диалоговым режимом работы, отладки и выполне.ния программ в аппаратных преобразователях (эмуляторах, интерпретаторах и т.п.) при непосредственной 1р реализации языков высокого уровня, а также в устройствах с адаптивной распределенной обработкой информации повышенной достоверности.

Цель изобретения — увеличение быст-15 родействия и расширение функциональных воэможностей за счет введения адаптивной распределенной обработки информации.

На фиг. 1 и 2 приведены функцио- 20 нальные схемы устройства и блока модификации адреса соответственно,", на фиг. 3 — временные диаграммы работы устройства; на фиг. 4 — пример преобразования спова входного языка высокого уровня в последовательность слов выходного языка объектных кодов; на фиг. 5-7 — структурные схемы алгоритма преобразования (коды выходных слов показаны в ЗО шестнадцатиричной форме).

Устройство содержит (фиг. 1) блок 1 памяти, блоки 2<-2„ памяти, регистр 3 адреса, блок 4 синхронии соответствующее аппаратное обеспечение эффективности введенных связей.

Устройство содержит блок 1 памяти, регистр 3 адреса, блок 4 синхронизации, мультиплексор 5 адреса, блок 6 модификации адреса и N узлов 20 преобразования кодов промежуточного языка в выходной, N регистров 16 выдачи.

Кроме того, узел преобразования кодов промежуточного языка в выходной содержит мультиплексор 19 адреса, регистр 13 адреса, блок 2 памяти, блок 21 модификации адреса. Элемент

11 задержки, блок модификации адреса содержит поразрядный сумматор по модулю два и регистр. 2 з.п.ф-лы, 7 ил. зации, мультиплексор 5 адреса, блок

6 модификации адреса, триггер 7, генератор 8 тактовых импульсов, элементы 9, 10, 11, — 11„задержки, информационный вход 12, регистры

13,-13„ app< ca, вход 14 условий преобразования входного языка, выходы

15,-15„, регистры 16, -16„ выдачи, вход 17 пуска, вход 18 сброса, мультиплексоры 19„ -19„ адреса, узлы

20, -20„ преобразования кодов промежуточного языка в выходной, блоки

2 1, -21„ модификации адреса, входы

22,-22 условий преобразования промежуточного языка.

Блоки 6 и 21„ -2 1„ содержат (фиг.2) регистр 23 и поразрядный сумматор 24 по модулю два.

Регистр 3 адреса. предназначен для временной записи адреса очередного слова промежуточного языка и информации о состоянии узлов 20 преобра- зования кодов с промежуточного языка в выходной„

Регистр 3 адреса разбит на зоны (фиг. 1): R — зона адреса очередного слова промежуточноi о языка; R2.1

R 2.п — части эоны информации о состоянии соответственно узлов 20 - 20„ пр еобраз ования кодов с пр омежут очного языка в выходной. Выход регистра 3 адреса формирует адрес, дешифрируемый в блоке 1 памяти.

3

14534

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

Блок 1 памяти разбит на ряд полей памяти, каждому из которых соответствуют свои выходы (фиг ° 1): П1 поле управления мультиплексором 5 адреса; П2.1 -П2.п — поля координации работы соответственно узлов

20 -20„ преобразования кодов с промежуточного языка в выходной; ПЗ— поле слов промежуточного языка; П4поле адресов проверки условий преобразования промежуточного языка; П5 - 20 поле немодифицируемых адресов очередного слова промежуточного языка.

Мультиплексор 5 адреса предназначен для формирования зоны R1 регистра 3 адреса в,зависимости от информа- 25 ции, записанной н поле П1 блока 1 памяти.

Если соответствующий полю П1 первый информационный выход блока 1 памяти имеет значение ."Лог..1", .то муль- щ типлексор 5 переключается на прием очередного входного слова с входа 12 устройства, а если данный выход имеет значение "Лог.0", то коммутатор адреса переключается на прием следующего адреса очередного слова промежуточного языка, поступающего с выхода блока 6 модификации адреса и пятого выхода блока 1 памяти, соответствующего полю П5 блока 1 памяти.

Регистр 13 адреса предназначен для временной записи адреса очеред. ного слова выходного языка (или начального адреса выходной последовательности) и информации по .координа- 45 ции работы узла преобразования кодов с промежуточного языка в выходной.

Регистр 13 адреса разбит на зоны (фиг. 1): R1 — эона адреса очередно. го слова выходного языка; R2 — эона информации по координации работы узла преобразования кодов с,промежуточного языка в выходной, Выход регистра 13 формирует адрес, дешифрируемый н блоке 2 памяти. 55

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

16 состоянии узла 20 преобразования кодов с промежуточного языка в выходной.

Блок 2 памяти разбит на ряд полей памяти, каждому из которых соответствуют свои группы выходов блока 2 памяти (фиг. 1): П1 — поле управления коммутатором адреса узла преобразования кодов с промежуточного языка в выходной; П2 — поле информации о состоянии узла преобразования кодов с промежуточцого языка в выходной; ПЗ вЂ” поле слов выходного языка;. П4 †. поле адресов проверки условий преобразования выходного языка; П5 — поле немодифицируемых адресов очередного слова выходного языка.

Мультиплексор 19 адреса предназначен для формирования зоны R1 регистра 13 адреса в зависимости от информации, записанной в поле П1 блока 2 памяти.

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

"Лог;0", мультиплексор .19 адреса переключается на прием следующего адреса очередного слова выходного " языка, поступающего с выхода блока

21 модификации адреса и пятого выхода блока 2 памяти, соответствующего полю -П5 блока 2.

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

Блоки 21 модификации адреса имеют аналогичное назначение и отличаются, например, разрядностью.

Устройство работает следующим образом.

В начальный момент времени элементы памяти устройства могут находиться в произвольном состоянии. Генератор 8 тактовых импульсов при вклщченном,питании всегда находится в работе и выдает последовательности тактовых импульсов согласно временной диаграмме (фиг. 3).

В исходное состояние устройство приводится при поступлении на вход

1453416

f8 сигнала "Сброс", который переводит триггер 7 в нулевое состояние.

Сигнал с инверсного выхода триггера 7 поступает на входы сброса регистра 3 адреса и регистров 13 адреса и производит их обнуление, Таким образом на адресный вход блока 1 памяти, а также на адресные входы всех блоков 2 памяти узлов 20 преоб" разования кодов промежуточного языка поступает с соответствующих регистров нулевой адрес по синхросигналу, поступающему на вход синхронизации блока 1 памяти с выхода элемента 10 задержки, производится дещифрация нулевого адреса в блоке 1

I памяти, а по синхросигналам, поступающим на входы блоков 2 памяти узлов

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

По нулевому адресу в полях П4, П5 блока 1 памяти и полях П4, П5 всех блоков 2 памяти записаны некоторые начальные адреса преобразования, которые поступают на соответствующие регистры 3 и 13 адреса,, но не записываются в них по приходу синхросигналов, поскольку данные регистры обнулены. Во всех остальных полях всех блоков памяти по нулевому адресу записана нулевая информация. Таким образом, на адресные входы блоков 1 и

2 памяти по-прежнему поступает нулевой адрес, и далее устройство дешифрирует нулевой адрес до тех пор, пока триггер 7 не будет переведен в единичное состояние. При снятии с входа 22 устройства. сигнала "Сброс " устройство будет оставаться в исходном состоянии до сохранения нулевого состояния триггера 7.

10 ответствующие начальные адреса пре15 образования кодов с промежуточного

30

Работа устройства начинается на вход 17 устройства сигнала "Пуск" и при отсутствии на входе 18 сигнала

"Сброс". Данный сигнал устанавливает, триггер 7 в единичное состояние синхронно с поступлением на тактовый вход триггера 7 соответствующего синхроимпульса с выхода генератора 8 .. актовых импульсов (фиг. 3) . Выход триггера 7 снимает обнуление с регистра 3 адреса и всех регистров 13 адреса.

По соответствующему синхроимпульсу с выхода генератора 8 тактовых импульсов в регистр 3 адреса запись вается с выхода мультиплексора 5 адреса начальный адрес преобразования входного языка в промежуточный, а по соответствующим синхроимпульсам с группы выходов генератора 8 в регистры 13 адреса узлов 20 -20„ преобразования кодов с промежуточного языка в выходной записываются с вы,.ходов мультиплексоров 19 адреса соязыка в выходной. По начальным адресам преобразования в поле П1 блока 1 памяти и полях II! блоков 2 памяти записана единичная информация, которая через соответствующие выходы блоков 1 и 2 памяти поступает на управляющие входы соответственно мультиплексоров 5 и 19, -19„и переключает их на прием слов соответственно входного и промежуточного языков. Во всех остальных полях всех блоков паМяти по начальному адресу записана нулевая информация.

По единичной информации из поля

П1 блока 1 памяти с входа 12 устройства поступает слово входного языка, которое через мультиплексор 5 адреса поступает на вход регистра 3 адреса и по соответствующему синхроимпульсу с выхода генератора 8 заносится в регистр 3 адреса. Тем самым по соответствующему синхроимпульсу, поступающему на вход блока 1 памяти с выхода элемента 10 задержки, формируется первое слово промежуточного языка в поле ПЗ блока 1 памяти.

Одновременно в полях П2.1-П2.п блока 1 памяти формируется информация по координации работы узлов 20 преобразования кодов с промежуточного языка в выходной. Каждому слову входного языка соответствует либо одно слово промежуточнога языка (ре- жим "Одно в одно"); либо последова- . тельность слов промежуточного языка (режим "Одно в несколько" ).

При реализации режима "Одно в од- но" одновременно с выдачей слова промежуточного языка выдается единичная информация с поля Пf блока 1 памяти и по ней мультиплексор 5 адреса переключается на прием очередного слова входного языка.

1453416

При реализации режима "Одно в несколько каждое очередное слово промежуточного языка может быть либо выходным словом линейной последова5 тельности слов, либо его адрес зависит от некоторых условий, определяющих процесс преобразования входного языка в промежуточный. Очередной немодифицируемый адрес формируется в по- 10 ле П5 блока 1 памяти и поступает на мультиплексор 5 адреса. Адрес проверки условий преобразования формируется в поле П4 блока 1 памяти и модифицируется некоторыми внешними услови- 15 ями в блок 6 модификации адреса, после чего также поступает на мультиплексор 5 адреса, где формируется адрес очередного слова промежуточного языка, который через мультиплек- 20 сор 5 адреса поступает на входы регистра 3 адреса. Кроме того, адрес очередного слова промежуточного язы ка зависит от внутренних состояний узлов 20< -20„ преобразования кодов 25 с промежуточного языка в выходной, информация о которых поступает на входы зон R2. 2-R2.п регистра 3 адреса непосредственно.

Слово промежуточного языка с вы- 30 хода поля ПЗ блока I памяти поступает через мультиплексоры 19 адреса на входы зон R1 регистров 13 адреса соответствующих узлов 20 преобразования кодов с промежуточного языка в выходной. Кроме того, на входы зон R2 регистров 13 адреса поступает с полей П2,1-П2.п блока 1 памяти информация по координации работы узлов

20 преобразования кодов с промежуточ- 40 ного языка в выходной и таким образом формируются адреса слов выходных языков, которые по соответствующим синхроимпульсам с группы выходов генератора 8 записываются в регистры 13 ад- 45 реса, а по синхроимпульсам с выходов элементов 11 задержки узлов преобразования кодов с промежуточного языка в выходной дешифрируются в блоках 2 памяти.

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

При реализации режима "Одно в одно" одновременно с выдачей слова выходного языка выдается единичная информация с поля Tl f блока 2 памяти и по ней мультиплексор 19 адреса переключается на прием очередного слова промежуточного языка.

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

П5 блока 2 памяти и поступает на мультиплексор 19 адреса. Адрес проверки условий преобразования формируется в поле П4 блока " памяти и модифицируется некоторыми внешними условиями в блоке 21 модификации адреса, после чего также поступает на мультиплексор

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

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

R2 регистров 13 адреса каждого иэ узлов 20 преобразования коцов с промежуточного языка в выходной с выходов полей П2.1-П2,п блока 1 памяти.

Слова выходного языка с выходов полей ПЗ блоков 2 памяти поступают на входъ| регистров 16 выдачи ч по соответствующим синхроимпульсам с выходов элементов 11 задержки запирываются в них, после чего поступают на выходы 15 устройства.

Блоки 6 и 21 модификации адреса аналогичны по реализации и могут отличаться разрядностью. Блок модификации адреса работает следующим образом.

На вход 14 (22) подается параллельный код входных условий и по синхроимпульсу запоминается в регистре, через регистр (при наличии единицы в первом разряде первой группы, подаваемой на управляющий вход регистра 23) подается на вход поразрядного сумматора 24 по модулю два.

Одновременно параллельный код входных условий подается на второй вход поразрядного сумматора 24. На третий вход поразрядного сумматора 24 пода1453416 ется адрес проверки условий преобразования с первой группы входов блока 21 модификации. Работа поразрядного сумматора описывается следукщим уравнением: (АТ ЧВТ) P CI. = И

Уравнение описывает операции над

I-м разрядом входных слов, причем 10 с

AI — I-й разряд слова, хрннящегося в регистре .23; 3I — f-й разряд слова входных условий, подаваемого непосредственно на сумматор ?4; CI

I-й разряд адреса проверки условий преобразования; DI — Х-Й разряд выходного слова блока 6 (21) модификации адреса; Ч вЂ” операция "Логическое ИЛИ" 6) — операция "Сложение по

20 модулю два",, Таким образом, блок 6 (21) модификации адреса реализует функцию ! модификации адреса как в зависимости от содержания текущего слова выходных условий, так и от содержимого ранее поданного в произвольный момент времени слова входных условий, зафиксированного по соответствующей команде в регистре 23.

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

Б данном примере слово входного языка высокого уровня преобразуется в последовательность иэ трех слов промежуточного языка, затем каждое из слов промежуточного языка преобра- 0 эуется в свою очередь в соответствующие последовательности из двух слов выходного языка объектных кодов (фиг. 4). При этом предлагаемьй ап-. горитм реализуется устройством, со- 45 держащим три узла 20 преобразования кодов с промежуточного языка в выходной. На выходах двух узлов 20, например первого и третьего, формируются слова эквивалентной последсвательности в языке объектных кодов, а на выходе, например, второго узла

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

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

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

i

I I

1453416 по и-й узлов преобразования кодов промежуточного языка в выходной соединены с третьим выходом блока памяти и третьим выходом блока синхро5 низации соответственно, вторые информационные входы и выходы состояния с первого по и-й узлов преобразования кодов промежуточного языка в выходной соединены с четвертого по (n+3)-й выходами блока памяти и с второго по (и+1)-й информационньп и входами регистра адреса соответственно, вторые входы стробирования со второго по и-й узлов преобразования 15 кодов промежуточного языка в выходной соединены с пятого по (и+4)-й выходами блока синхронизации, третий выход которого соединен с входом тактирования блока модификации адре- 2О са, (n+4)-й выход блока памяти соединен с управляющим входом мультиплек сора адреса.

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

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

1453416

1453416

145341 6 г

Составитель В. Куленкамп

Редактор H. Тупица Техред Л. Олийнык Корректор С.Шекмар

Заказ 7286/46 Тираж 667 Подписное

ВШП1ПИ Государственного комитета по изобретениям и открытиям при ГКИТ СССР

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

Производственно-полиграфическое предприятие, г . Ужгород, ул . Проектная, 4