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   


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

оптимизатор

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

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

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


 

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

57489. Ukraine and Great Britain 1.86 MB
  Today we have unusual lesson. It’s a Presentation Lesson and its topic is “Differences and Similarities of Ukraine and Great Britain”. The aim of our lesson is to improve our knowledge, to learn more and broaden our outlook, to watch presentations, to play games.
57490. Welcome to Ukraine! 169.5 KB
  Today we have an unusual lesson. We are going to prepare for journey around Ukraine. We’ll travel next time. We’ll go by bus. But first of all we need tickets. You shouldn’t pay money for these tickets. You should answer some my questions to get a ticket. Let’s start.
57491. Послевоенное восстановление и развитие Украины (1945 - начало 1953 года). Голод 1946-1947 гг 65.5 KB
  Давайте мы пополним этот коллаж нарисовав свой символ голодоморов. Приложение №1 Документ №1 29 августа 1946 года былю официально объявлено что в связи с засухой в ряде областей СССР и сокращением государственных...
57492. ОПЫТНО-ЭКСПЕРИМЕНТАЛЬНАЯ РАБОТА ПО ФОРМИРОВАНИЮ НАВЫКОВ ПОСТРОЕНИЯ КОМПОЗИЦИИ В РИСУНКЕ У МЛАДШИХ ШКОЛЬНИКОВ СРЕДСТВАМИ ИЗОБРАЗИТЕЛЬНОГО ИСКУССТВА 166.82 KB
  Изобразительное искусство является художественным отражением действительности в зрительно воспринимаемых образах. Средствами цвета, пластики или рисунка художник создает на холсте, в глине или мраморе картины окружающей жизни, сильные и прекрасные образы человека.
57493. Точність і доречність мовлення. Складні випадки слововживання. Пароніми і омоніми. Вибір синонімів 375.5 KB
  Що таке лексикологія Що вона вивчає З яких груп складається лексика Які слова називають іншомовними Що таке термін термінологія Що таке професіоналізм Наведіть приклади. Випишіть словатерміни поясніть значення.
57494. Die Welt ist so schön! 42 KB
  Wir machen Mundgymnastik und wiederholen die Zungenbrecher: Hans hackt heute Holz hinter Hoffmanns Haus. Kleine Kinder können keine Kirschkerne knacken. Schneiders Schere schneiden scharf, scharf schneiden Schneiders Schere.
57495. Коли ви вмирали, вам дзвони не грали 150.5 KB
  Мета: поглибити конкретизувати узагальнити знання про діяльність УПА дати оцінку діяльності УПА; розвивати вміння збирати і аналізувати інформацію з різних джерел систематизувати знання готувати аргументовану відповідь вести дискусію з даної проблеми...
57497. Упражнения на уроках русского языка 51 KB
  Лекция 7 Студент Упражнения на уроках русского языка. Упражнение как метод формирования учебноязыковых умений Упражнения лежат в основе приобретения тех или иных умений и навыков. Упражнения по русому языку виды учебной деятельности учащихся ставящие их перед необходимостью многократного и вариативного применения полученных знаний в различных связях и условиях [Львов 1997 с. На уроках русского языка различные упражнения занимают около 80 времени поэтому очень важно чтобы они обеспечивали высокую активность и...