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)

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


 

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

19191. Сечение рассеяния в кулоновском и обратноквадратичном потенциале 136.5 KB
  Лекция 3 Сечение рассеяния в кулоновском и обратноквадратичном потенциале. Кулоновский потенциал взаимодействия имеющий вид Ur = /r где  = q1q2 – один из немногих потенциалов для которого можно вычислить аналитически дифференциальное сечение рассеяния. На его приме
19192. Упругое рассеяние иона на атоме при экранированном кулоновском потенциале взаимодействия 206 KB
  Лекция 4 Упругое рассеяние иона на атоме при экранированном кулоновском потенциале взаимодействия. Функция экранирования. Линдхардовское сечение рассеяния для экранированного кулоновского потенциала. Аппроксимация аналитическими выражениями. Рассмотрим процессы
19193. Ядерная и электронная тормозная способность и их связь с удельными потерями энергии при движении ионов в твердом теле 250 KB
  Лекция 5 Ядерная и электронная тормозная способность и их связь с удельными потерями энергии при движении ионов в твердом теле. Расчет тормозных способностей ионов для кулоновского и экранированного кулоновского потенциалов взаимодействия. Расчет тормозных способнос
19194. Расчет траекторных пробегов ионов в твердом теле и распределение внедренных ионов по глубине образца 285 KB
  Лекция 6 Расчет траекторных пробегов ионов в твердом теле и распределение внедренных ионов по глубине образца. Коэффициент отражения и зарядовый состав отраженных ионов. Под пробегом будем понимать путь который проходит ион в твердом теле до полной остановки. Перед в
19195. Расчет коэффициента распыления в модели Зигмунда. Эмпирические формулы расчета коэффициента распыления 167 KB
  Лекция 7 Расчет коэффициента распыления в модели Зигмунда. Эмпирические формулы расчета коэффициента распыления. Энергетическое и угловое распределение распыленных частиц. Ионное травление. Расчет скорости ионного травления. Профиль ионной имплантации при учете расп
19196. Отраженные и вторичные электроны электрон-электронной эмиссии. Энергетический спектр и угловые характеристики 154 KB
  Лекция 8 Отраженные и вторичные электроны электронэлектронной эмиссии. Энергетический спектр и угловые характеристики. Расчет удельных потерь энергии и траекторного пробега. В методах элементного и структурного анализа обычно используются электронные пучки с энерг...
19197. Сечение ударной электронной ионизации. Оже-электроны. Систематика Оже-переходов. Переходы Костера-Кронига 214.5 KB
  Лекция 9 Сечение ударной электронной ионизации. Ожеэлектроны. Систематика Ожепереходов. Переходы КостераКронига. Излучательные переходы. Классификация линий характеристического рентгеновского излучения. Вероятности рентгеновской флуоресценции и Ожепереходов. П
19198. Взаимодействие рентгеновского излучения с твердым телом (фотоэффект, эффект Комптона) 353 KB
  Лекция 10 Взаимодействие рентгеновского излучения с твердым телом фотоэффект эффект Комптона. Сечение фотоэффекта и его связь с линейным коэффициентом поглощения рентгеновского излучения. Расчет массового коэффициента поглощения для полиатомных образцов. Полезно
19199. Характеристики электронных пучков. Источники ускоренных электронов. Термоэмиссионные и автоэмиссионные катоды и их характеристики 141 KB
  Лекция 11 Характеристики электронных пучков. Источники ускоренных электронов. Термоэмиссионные и автоэмиссионные катоды и их характеристики. Основные узлы и характеристики электронной пушки. Электронные пучки принято разбивать на два класса: Электронные пучки ...