20621

Этап генерация кода исполняемой машины

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

1 a:=bc d:=ac mov R0 b add R0 c → mov a R0 mov R0 b add R0 c mov d R0 2 t:=ab t:=tc t:=t d mov R0 a add R0 b mov R1 c mul R0 R1 mov R1 d div R0 R1 mov t R0 не помещая переменные в регистры Характеристики описывающие целевую машину: набор инструкций вида op destination source способы адресации прямая регистровая абсолютная косвенная Адресация Обозначение Адрес Добавочная стоимость абсолютная регистровая индексированная косвеннорегистровая косвенноиндексированная константа в команде M R CR R CR C M...

Русский

2013-07-31

58 KB

0 чел.

Лекция №8

Этап генерация кода исполняемой машины

Задача: получить исполняемый код.

Свойства исполняемого кода: 

1) корректность (процессор должен понимать полученный код);

2) эффективность (код должен быть получен оптимальным путем).

На вход генератора исполняемого кода поступает оптимизированное представление промежуточного года.

Требования к набору инструкций целевой машины:

  1.  единообразие (инструкции имеют сходный формат (стандартизированы), как следствие – несложная реализация);
  2.  полнота (инструкции должны максимально покрывать возможности процессора).

Пример 1.

Организация трехадресной инструкции на языке ассемблера.

1)

a:=b+c

d:=a+c

mov R0, b

add R0, c   →

mov a, R0

mov R0, b

add R0, c

mov d, R0

2)

t:=a+b

t:=t*c

t:=t/d

mov R0, a

add R0, b

mov R1, c

mul R0, R1

mov R1, d

div R0, R1

mov t, R0

(не помещая переменные в регистры)

Характеристики, описывающие целевую машину:

  1.  набор инструкций вида

op, destination, source

  1.  способы адресации
  •  прямая
  •  регистровая
  •  абсолютная
    •   косвенная

Адресация

Обозначение

Адрес

Добавочная стоимость

  1.  абсолютная
  2.  регистровая
  3.  индексированная
  4.  косвенно-регистровая
  5.  косвенно-индексированная
  6.  константа в команде

M

R

C(R)

*R

*C(R)

#C

M

R

C+R

(R)

(C+(R))

const

1

0

1

0

1

1

Стоимость инструкции определяется как  1+добавочная стоимость.

Пример: построить код целевой машины, доступны 3 регистра R0,R1,R2.

x:= a/(b+c)-d*(e+f)

трехадресный код:

t1:=e+f

t1:=d*t1

t2:=b+c

t2:=a/t2

t1:=t2-t1

x:=t1

 

Op

Arg1

Arg2

(0)

+

e

f

(1)

+

d

(0)

(2)

+

b

C

(3)

/

a

(2)

(4)

-

(3)

(1)

(5)

:=

x

(4)

Посчитать стоимость набора инструкций:

MOV R0,е 2

ADD R0,f 2

MOV R1,b 2

ADD R1,c 2

MUL R0,d 1

MOV R2,a 2

DIV R2,R1 1

SUB R2,R0 1                  

MOV x,R2 2   


генератор промежуточного кода

оптимизатор

генератор исполняемого кода

оптимизатор представляется в промежуточном коде

код целевой машины


 

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

58427. Ассирийская держава 53.5 KB
  Финикийские города попали под власть царей Ассирии. Обратите внимание на карту на стр. 82 учебника. Свое название эта страна получила от древнего города Ашшура, лежавшего на правом берегу Тигра. (Верховным богом ассирийцев был Ашшур.) Давайте вспомним, что Древнее Междуречье делилось на Южное
58428. Персидская держава «царя царей» 47 KB
  Вавилонский царь Хаммурапи некогда владея не только Южным Междуречьем но и Северным Ассирией 17921750 г. Древнее предание рассказывает: Могущественный вавилонский царь Навуходоносор выбрал себе в жены красавицуцаревну из горной страны Мидии. Огорчен был царь. Твоему горю можно помочь отвечал ей царь.
58429. Решение уравнений производства. Закон установления цен на продукты и услуги 72.5 KB
  Произведённое количество счётного товара (А) пока определенно только наугад; но и его следует определить так, чтобы предприниматели не имели ни прибыли, ни убытков. Но для этого, естественно, необходимо, чтобы себестоимость счетного товара была равна его продажной цене.
58430. Учись быть верным другом. Избрание Апостолов 118 KB
  Развивать эстетический вкус творческие способности детей. Приветствие С любовью и с радостью встречайте детей. Молитва Пригласите детей помолиться за свои огорчения и радости поблагодарить Бога за все и попросите благословения на этот урок. Всех детей поблагодарите за участие за старание вместе с ними ещё раз полюбуйтесь совместной работой подведите к выводу что одному было бы сложно выполнить такую работу а команде это под силу.
58431. Декларація прав дитини. Основний Закон держави. Обовязки батьків та дітей 54.5 KB
  Мета. Формувати в учнів уявлення про Декларацію прав дитини, Основний Закон нашої держави. Зясувати обовязки батьків і дітей. Виховувати шанобливе ставлення до батьків.
58432. Национальная экономика 45 KB
  Основные цели национальной экономики Макроэкономика изучает: процессы использования разнообразных ресурсов которыми располагает общество для удовлетворения потребностей людей. Предметом макроэкономики являются закономерности развития и функционирования национальной экономики...
58433. Учись быть благодарным. Десять прокаженных 158 KB
  Показать им что в нашей жизни есть множество поводов благодарить Бога.Молитва Предложите детям совершить молитву и попросить у Бога благословения на этот урок.Мотивация Ребята когда мы говорим Спасибо А что хорошее сделал вам Бог За что же мы должны благодарить Бога За пищу за одежду за здоровье. Бога в небесах.
58434. ПРОБЛЕМЫ ПРАВОВОГО РЕГУЛИРОВАНИЯ ОТНОШЕНИЙ УЧАСТИЯ В ДОГОВОРЕ ДОЛЕВОГО СТРОИТЕЛЬСТВА ЖИЛЫХ ПОМЕЩЕНИЙ 353.5 KB
  Появление и дальнейшее развитие договора участия в долевом строительстве в российском законодательстве имеют огромное значение для решения жилищной проблемы, поскольку надежное правовое регулирование отношений долевого строительства - гарантия успешного развития данных отношений
58435. Чудесная любовь Иисуса. Пасха 156 KB
  Побудить детей своими поступками не огорчать Иисуса но быть всегда послушными исполнительными дружелюбными. И спросил правитель Иисуса: Ты Царь Иудейский Иисус отвечал: Ты говоришь. В чем же он заключался Бог – Отец послал Сына Иисуса на землю сказать людям чтобы они перестали делать злые дела поверили в Бога и исполняли Его заповеди.