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   


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

оптимизатор

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

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

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


 

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

65995. Эволюция финансовой системы России с царских времен. Проблемы финансовой системы РФ 52.64 KB
  В Древнерусском государстве при реализации финансового хозяйства Законодательство устанавливало в качестве органа осуществляющего функции денежного контроля князя. При этом как следует из исторических документов организация самоуправления и система...
65996. Бюджетный дефицит, его виды 81.16 KB
  Бюджетный дефицит это сумма на которую ежегодные расходы бюджета превосходят его доходы. Бюджетный дефицит и государственный долг тесно взаимосвязаны. Ежегодный дефицит может покрываться либо за счет роста государственного долга либо путем эмиссии денег.
65997. Внешний долг зарубежных стран (Франция, Германия, США, Франция, Япония, Англия) 199.44 KB
  По состоянию на 31 декабря 2009 года внешний долг США брутто составлял 13 триллионов долларов. По состоянию на 16 января 2011 года, долг составил 14 триллионов долларов. По состоянию на 30 декабря 2011 года, долг составил 15 триллионов долларов...
65998. Система инвестиционных рейтингов 23.12 KB
  Появление в России вместо одного и единственного инвестора государства множества самостоятельных хозяйствующих субъектов и потенциальных инвесторов а также приход на российский рынок иностранных инвесторов обусловили потребность в оценках инвестиционной привлекательности регионов России.
65999. Глобализация финансов 37.71 KB
  Глобализация - это процесс всевозрастающего воздействия различных факторов международного значения (например, тесных экономических и политических связей, культурного и информационного обмена) на социальную действительность в отдельных странах.
66000. Региональные финансы омской области 46.5 KB
  Одной из важнейших составных частей финансовой системы государства являются региональные финансы которые охватывают региональные бюджеты административно-территориальных единиц и финансы субъектов хозяйствования используемые для удовлетворения потребностей регионов.
66001. Казначейство: функции, цели и механизм функционирования 20.59 KB
  В России переход к казначейскому исполнению бюджета начался в 1992 г. исполнение бюджета в нашей стране было банковским. Чем отличаются эти две формы исполнения бюджета При банковском исполнении бюджета средства...
66002. Золотовалютный резерв РФ 2009-2011 146.67 KB
  Золотовалютные резервы Российской Федерации представляют собой высоколиквидные финансовые активы находящиеся в распоряжении Банка России и Минфина России. Управление резервами Банк России осуществляет в соответствии с действующим...
66003. Организация экономического сотрудничества и развития (ОЭСР) 24.2 KB
  ОЭСР была образована в 1961 году по инициативе США на базе Организации европейского экономического сотрудничества которая координировала американскую и канадскую помощь пострадавшим от Второй мировой войны европейским странам в рамках плана Маршалла.