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)

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


 

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

42429. Проектирование FM 364 KB
  Ячейка выбираеться по адресу и записываеться по сигналу WR Синхросигнал для ячейки за адресом 000000 Синхросигнал для ячейки за адресом 011001 Синхросигнал для ячейки за адресом 101111 последней 48 ячейки Проектирование однорозрядного триггера: Проектирование разрешения выдачи сигнала: У нас будет три схемы разрешения управляющего сигнала. Схема iтой ячейки FM Общая схема FM.
42430. Проектирование AU 284.5 KB
  Оценить сложность полученной схемы и её быстродействие.C 0100 X 1 C 0000 0000 0000 5 R2 = R2R3 0100 1 0 X 0001 0010 0001 6 R1 = R1 1 0110 1 0 X 0000 xxxx 0000 7 R4=R41 0110 1 0 X 0011 xxxx 0011 2 R5=R1xorR3 0001 0 0 X 0000 0010 0100 Коды операций из 2 лабораторной: 0 0000 P 0011 P 1 0110 P Q 0100 P Q 0001 CIопределяет арифметическая операция или логическаяучитывание переноса F3F2F1F0 код операции F разрешение левого сдвига D сдвигаемый разряд Схема арифметического...
42431. Проектирование СPU 410 KB
  Сигнал F управляет сдвигом ICTR счетчик команд т. длина команды 24 бит счётчик увеличивается на 3 учитывая адрес RM 10битный и счётчик такой же разрядности. IRG регистр команд состоит из 3 байт COP блок управления операциями формирует управляющие сигналы Сi CCRG регистр признаков: Сперенос О переполнение S знак Z ноль. Кодирование и структура команд CPU O LO 4 бита кода МО LSM 4 бита F0F1F2F3 для LSM 2 4битных адреса операндов FM 23 x 24 x 24 = 211 разновидностей операций FR RF 1 бит для направления...
42432. Проектирование СOP 423.5 KB
  В таком случае, COP должен содержать набор логических элементов И-ИЛИ, DC кодов ОР и CTR тактов. Далее выходы И собираются на ИЛИ в соотвествии с формулами для управляющих сигналов. Предполагается, что произведения T2 JC и T2 JC Cc формируются в 2 этапа: 1) в схеме получают сигнал T2 JC. 2) после опроса СС формируют сигналы T2 JC и T2 JC CС.
42433. Соотношение понятий социализации, воспитания и образования. Особенности социализации различных возрастных групп 15.7 KB
  Процесс воспитания – целенаправленный процесс, его цель – накопление ребенком необходимого для жизни в обществе социального опыта, формирование принимаемой обществом системы ценностей и включение детей в мировую и отечественную культуры.
42434. ИЗУЧЕНИЕ СВОБОДНЫХ КОЛЕБАНИЙ ПРУЖИННОГО МАЯТНИКА 482.5 KB
  Рассмотрим простейшую колебательную систему: груз массой m, подвешенный на пружине. Если груз, прикрепленный на пружине, оттянуть вниз на некоторое расстояние, а затем отпустить, то он придет в колебательное движение. Возвращение груза в положение равновесия происходит под действием деформированной пружины, т.е. под действием упругой силы
42435. ИЗУЧЕНИЕ ЗАКОНОВ ДВИЖЕНИЯ ЭЛЕКТРОНА В ЭЛЕКТРИЧЕСКОМ И МАГНИТНОМ ПОЛЯХ 279.5 KB
  Начальные скорости электронов эмиссии различны. Это сказывается на характере спада анодного тока. Из-за неодинаковости начальных скоростей электронов радиусы кривизны их траекторий при одних и тех же величинах индукции магнитного поля различны. Поэтому резкий спад анодного тока происходит не при одном значении, а в достаточно широком интервале значений магнитной индукции.
42436. ИЗУЧЕНИЕ ПЕРЕХОДНЫХ ПРОЦЕССОВ ПРИ ЗАРЯДКЕ И РАЗРЯДКЕ КОНДЕНСАТОРА В ЭЛЕКТРИЧЕСКОМ «R – C» КОНТУРЕ 559 KB
  Расчёт общего вида зависимости напряжения на конденсаторе от времени 5 2. Ветвью называется участок цепи в котором ток в любой данный момент времени имеет одинаковую величину. Расчёт электрических процессов в любой цепи требует умения вычислять зависимости от времени токов в ветвях и напряжения на элементах входящих в...
42437. ЭКСПЕРИМЕНТАЛЬНОЕ ИЗУЧЕНИЕ ЯВЛЕНИЯ ВЗАИМНОЙ ИНДУКЦИИ 272 KB
  Если контур в котором индуцируется ЭДС состоит не изодного витка а из N витков например представляет собойсоленоид то поскольку витки соединяются последовательно будет равна сумме ЭДС индуцированных в каждом витке в отдельности: Величину называют потокосцеплением или полным магнитным потоком. Если поток пронизывающий каждый из витков одинаков то ЭДС индуцируемая в сложном контуре определяется формулой:...