29361

Генерация объектного кода для тетрадной формы представления программ

Доклад

Информатика, кибернетика и программирование

последовательность команд загруженных в фиксированные ячейки памяти2. последовательность перемещенных машинных команд3. Предположим что сумматор может выполнять 4 арифметические операции а в целом система команд также включает еще 2 команды: загрузки сумматора из памяти и сохранение результатов в память.Систему команд такой машины можно представить следующим образом:При выполнении любой из первых двух команд содержимое источника копируется в приемник а при выполнении оставшихся 4 команд содержимое ячейки памяти не изменяется.

Английский

2013-08-21

99.5 KB

0 чел.

29) Генерация объектного кода для тетрадной формы представления программ.

Существует 3 формы объектного кода
1. последовательность команд, загруженных в фиксированные ячейки памяти
2. последовательность перемещенных машинных команд
3. программа на языке ассемблера
Объектный код в компиляторах (К) может формироваться как в двоичном виде, т.е. в виде кодов (1,2), так и в символьном виде (на языке ассемблера) (3). Пусть объектный код формируется в символьном виде. Чтобы показать процесс генерации кода, можно рассмотреть теоретическую вычислительную машину с одним сумматором и неограниченной памятью. Предположим, что сумматор может выполнять 4 арифметические операции (+,-,*,/), а в целом система команд также включает еще 2 команды: загрузки сумматора из памяти и сохранение результатов в память.
Для упрощения будем считать, что 
объектная программа формируется в символьном виде, а каждая переменная представляется своим именем, а не указателем, на соотв. ячейку памяти.
Систему команд такой машины можно представить следующим образом:

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

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

Покажем на прмере как выполняется генерация кода рассмотренным методом

A:= (B+D+A)* (D+B+C)
Для него исходный список тетрад будет иметь следующий вид:

(+,B,D,T1)
(+,T1,A,T2)
(+,D,B,T3)
(+,T3,C,T4)
(*,T2,T4,T5)
(:=,T5, ,A).
После машинно-независимой оптимизации представленный список тетрад будет иметь следующий вид:

(+,B,D,T1) (1)
(+,A,T1,T2) (2)
(+,C,T1,T4) (3)
(*,T2,T4,T5) (4)
(:=,T5, ,A).
(5)

Полученный код является избыточным , т.к. содержит команды, являющиеся дублирующими отдельный действия по записи и чтению данных в памяти. Это объясняется тем, что каждая тетрада реализуется стандартной универсальной последовательностью команд, не учитывающая контекст.


 

А также другие работы, которые могут Вас заинтересовать

78128. ПЛАНИРОВАНИЕ ИНЖЕНЕРНОГО АНАЛИЗА ПРИ СОЗДАНИИ УСТРОЙСТВ, ИСПОЛЬЗУЮЩИХ МАГНИТНОЕ ПОЛЕ ДЛЯ СНИЖЕНИЯ ПОТЕРЬ ЭНЕРГИИ В СИСТЕМЕ «КОЛЕСО-РЕЛЬС» 161.5 KB
  Внедрение асинхронных тяговых электродвигателей и систем управления обеспечивающих регулирование осевого тягового усилия для каждой оси в соответствии с предельными возможностями по условию сцепления также не является исчерпывающим решением проблемы в связи с тем...
78130. ЭНЕРГОСБЕРЕГАЮЩИЕ НАПРАВЛЕНИЯ ДЛЯ МОДЕРНИЗАЦИИ СИСТЕМ ТЕПЛОСНАБЖЕНИЯ МНОГОКВАРТИРНЫХ ЖИЛЫХ ДОМОВ В Г.ОРЛЕ 67 KB
  Для повышения энергоэффективности при модернизации систем теплоснабжения необходимо внедрять разработку научных основ технических решений и опытно-конструкторской документации с использованием комплексного автоматического регулирование параметров теплоносителя...
78131. Определение энергоэффективных режимов резания многослойных материалов гидроабразивной струей 286.5 KB
  Одной из ключевых экологически чистых технологий радикально решающей вопросы производства деталей из любых материалов является гидроабразивное резание. Явные преимущества этой технологии обеспечили ее внедрение на многих предприятиях страны.
78133. Адекватность инноваций 44.5 KB
  Адекватность доказывают методом тождественности эквиваленту исследуемой модели итерационным анализом или оптимизации. Метод тождественности математических моделей доказывает адекватность математической модели физике явления и процессам преобразования физической модели...
78134. Оценка поврежденности адгезионного контакта упругих тел 136 KB
  В основу рассуждений кладутся энергетические представления величина площади контакта соответствует минимуму потенциальной энергии системы контактирующих тел. Причинами являются загрязнение поверхности контакта и неполнота контакта слоев и связанные с физической природой...
78135. СНИЖЕНИЕ ПОТЕРЬ ЭНЕРГИИ ПУТЕМ ОПТИМИЗАЦИИ ПРОТИВОБОКСОВОЧНЫХ УСТРОЙСТВ В СИСТЕМЕ «КОЛЕСО-РЕЛЬС» 152 KB
  Рассмотрена задача снижения потерь энергии вследствие скольжения колеса по рельсу. Появилась новая проблема: фрикционные автоколебания возникающие при боксовании могут вызывать повреждения механизмов передачи тяги от ТЭД к колесам.