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   


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

оптимизатор

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

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

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


 

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

63196. Київська Русь за наступників Ярослава 33.25 KB
  Мета: формувати в учнів уявлення про внутрішнє і зовнішньополітичне становище Київської Русі після смерті Ярослава Мудрого за правління Ярославичів; розвивати в учнів уміння працювати з джерелами інформації аналізувати...
63197. Право власності 26.77 KB
  Мета: пояснити зміст права власності; розповісти про те як дитина стає власником і як вона може розпорядитися майном яке їй належить; навчити аналізувати правові ситуації на підставі окремих положень цивільного законодавства...
63198. Київська Русь за Володимира Мономаха 25.89 KB
  Мета: характеризувати процес посилення великокнязівської влади за Володимира Мономаха та довести що за його правління Київська Русь зазнає періоду піднесення; розвивати в учнів уміння давати характеристику історичному...
63200. Роздробленість Київської Русі, політична роздробленість 27.35 KB
  Сизначати причини роздробленості Київської Русі її сутність та наслідки; розвивати в учнів уміння встановлювати причинно-наслідкові звязки працювати з джерелами інформації аналізувати історичний матеріал...
63201. Захист особистих немайнових і майнових прав 28.06 KB
  Мета: сформувати в учнів поняття про особисті немайнові та майнові права навчити їх розрізняти; розвивати вміння аналізувати ситуації і правильно їх оцінювати; виховувати в учнів розуміння цінності особи необхідності поваги і дотримання її прав.
63202. Політичний і соціально-економічний розвиток Київського, Чернігово-Сіверського та Переяславського князівств у середині XII - першій половині XIII століття 35.58 KB
  Київське князівство Географічне положення Київське князівство полянське Правобережжя землі древлян південнозахідні райони розселення дреговичів а також землі уличів у басейні Південного Бугу.