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   


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

оптимизатор

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

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

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


 

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

58513. Властивості інформації. Кодування інформації 82.5 KB
  Перевірка домашнього завдання 67 хв. Зараз я пройду та перевірю домашнє завдання. 1 учень: Запиши у якому вигляді подано інформацію в таких прикладах: Хто не виконав завдання слідкуйте і самостійно запишіть відповідь у таблицю.
58514. Первобытный мир – первые шаги человечества 153.5 KB
  Цели: образовательные: создать у детей образ эпохи Первобытного мира; проследить расселение первобытных людей по планете; развивающие: учить анализировать ответы товарищей и высказывать свое мнение; познакомить с открытиями и изобретениями древних людей...
58517. ВОЕННЫЕ ПОХОДЫ ФАРАОНОВ 33.5 KB
  ЗАДАЧИ: образовательные изучить причины характер и последствия военных походов фараонов Древнего Египта научить распознавать интересы различных общественных групп; развивающие продолжить формирование умений работать с исторической картой...
58518. Пилявецька битва 34 KB
  Мета: Дидактична: формувати початкові знання та елементарн уявлення про Пилявецьку битву; навчати сприймати історичний текст, вибирати в тексті основне; розвивати читацькі навички; розвивати вміння користуватись історичними картами.
58519. Причини і початок Французької революції 58.5 KB
  Охарактеризуйте економічний розвиток Франції напередодні революції. Охарактеризуйте королівську владу у Франції. Визначте роль третього стану в соціальноекономічному і політичному житті Франції.
58520. Встановлення Якобінської диктатури 57 KB
  прихід якобінців до влади; 24 червня 1793 р. прихід до влади термідоріанців; 17951799 рр. перехід влади до трьох консулів. Вивчення нового матеріалу Організація влади якобінців.
58521. ІV Універсал Центральної Ради. Проголошення незалежності УНР 79 KB
  Перед зовнішньою агресією УЦР виявилася фактично беззбройною. Більшість із них заплатили власним життям за недалекоглядну політику лідерів УЦР але нічого змінити не змогли. Керівники УЦР були змушені переглянути свої погляди на статус України і відмовившись від гасел автономії у складі рівноправної федерації...