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   


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

оптимизатор

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

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

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


 

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

31037. СТОРОННИКИ ПЕРЕСТРОЙКИ ПРАВЫЕ РЕФОРМАТОРЫ ВЫСТУПАВШИЕ ЗА РЕФОРМЫ, НО НЕ В ГОРБАЧЕВСКОМ ВАРИАНТЕ 52.5 KB
  АЛЬТЕРНАТИВЫ ПОЛОГЕТЫ СТАРОЙ ПОЛИТИЧЕСКОЙ СИСТЕМЫ БЕЗ ВСЯКИХ РЕФОРМ СТОРОННИКИ ПЕРЕСТРОЙКИ ПРАВЫЕ РЕФОРМАТОРЫ ВЫСТУПАВШИЕ ЗА РЕФОРМЫ НО НЕ В ГОРБАЧЕВСКОМ ВАРИАНТЕ Полозков Чебриков Валентин Зорин глава ВС СССР Лукьянов член Политбюро Шенин а также члены ГКЧП Горбачев Яковлев Рыжков и др. СССР в годы Перестройки. ОПРЕДЕЛЕНИЯ: Перестройка – это политикоэкономический и социальный курс на реформирование тоталитарной системы в СССР проводимый руководством КПСС во главе с М. Горбачёвым во второй половине 1980х в СССР и...
31038. Внешняя политика СССР в годы Перестройки 48.5 KB
  Внешняя политика СССР в годы Перестройки ОПРЕДЕЛЕНИЯ: Холодная война – геополитическая экономическая и идеологическая конфронтация между странами первого капиталистического лагеря и второго социалистического лагеря мира и их союзниками длившаяся с середины 1940х гг. до развала СССР. и характеризующегося отказом от удержания любой ценой в сфере своего влияния восточноевропейских и иных зависимых от СССР стран. ПЕРСОНАЛИИ: ШЕВАРДНАДЗЕ Эдуард Амвросиевич – член Политбюро ЦК КПСС и по совместительству Министр иностранных дел СССР в...
31039. История постсоветской России 51.5 KB
  Распад СССР означал для России резкое сокращение экономического потенциала и обороноспособности страна оказалась отодвинутой на северовосток в глубь Евразии потеряв половину морских портов и торговый флот на западе Прибалтика и юге Украина Закавказье. Он давал соседям России возможности использовать в своих интересах ее неожиданную и временную слабость и на переговорах шел на значительные уступки особенно Соединенным Штатам. В конце 1991 – начале 1992 Ельцин сделал специальное заявление что ядерные ракеты отныне не направлены на США...
31040. Проблемы славянского этногенеза. Восточные славяне: територия, хозязствово, быт, культура, религия 33 KB
  Восточные славяне: територия хозво быт культура религия. Славяне относятся к одной из самых многочисленных групп индоевропейских народов. Как самостоятельные народы начали свое существование греки латины славяне и др. Тогда же оформились три славянские ветви: западные славяне поляки чехи словаки южные болгары сербы хорваты и др восточные русские украинцы белорусы.
31041. Центры зарождения славянской государственности. Полемика историков вокруг проблемы образования Древнерусского гос-ва. Политика первых правитиелей Руси: Олега, Игоря, Ольги, Святослава 31.5 KB
  Главными проблемами являются вопросы о причинах возникновения госва Русь кто такие русыи откуда взялось название страны Русь кто были варяги. Немецкие ученые Байер и Миллер считали что слово русь означало название варяжского племени пришедшее с Рюриком что Древнерусское госва было создано норманнамиварягами. Название русь он связал с древним народом сарматамироксаланами и с названием реки Рось. В современной отечественной и зарубежной науке большинство ученых склоняется к мнению о скандинавском происхождении термина русь.
31042. Русь при Владимире 1 и Ярославе Мудром. Внешняя и внутренняя политика. Крещение и распространение христианства на Руси 31 KB
  Русь при Владимире 1 и Ярославе Мудром. шла междоусобица сыновей Святослава которую выиграл Владимир9801015. При Владимире завершилось объединение восточнославянских земель. При Владимире в Древнерусское госво вошли червенские земли земли радимичей северных угрофинов и др.
31043. Древнерусское общество и государство в 9-12 веках 31 KB
  Завещание разделило русскую землю на уделы. Это означало окончательный распад Руси на уделы. Постепенно малые бедные окраины стали превращаться в цветущие и сильные уделы. Многие уделы он сконцентрировал в руках своих сыновей.
31044. Тенденции развития различных древнерусских земель в 12 – начале 13 веков. Крупнейшие княжества и земли 33 KB
  Условной датой начала раздробленности на Руси считают 1132г когда умер Мстислав сын Мономаха и раздрася вся русская земля. Время раздробленности на Руси тянулось с начала 12века по147080г. На юге и юговостоке Руси неособо любили метсное боярство поэтому занятие киевского престола всякий раз обуславливалось сочетанием борьбы. В Западной Руси сильны были федеративные тенденции.
31045. Русь в международных отношениях 11-13веков: отношения с Великой Степью, Византией и Западной Европой 30.5 KB
  Первая встреча русских с монголотатарами произошла 31 мая 1223г. Впоследствии установилась зависимость русских земель от державы Батыя продлившаяся для СевВост Руси до 1480г а для Южной – до 1362г. Эти 2 победы были очень важны: они прервали череду поражений русских для церкви же особенно было важно недопущение католического влияния на русских землях.