29359

Машинно-независимая оптимизация линейных участков программ

Доклад

Информатика, кибернетика и программирование

Покажем простейшие преобразования линейных и циклических участков для тетрадной формы программ:Машиннонезависимая оптимизация линейных участков программЛинейным участком программы называется последовательность операцийкоманд которая не содержит условных переходов возможно кроме последней операции. Для оптимизации линейных участков в простейшем случае используется два основных преобразования:1. В списке тетрад выделит границы участков включающих вычисления выражений по операторам присвоения;2.

Английский

2013-08-21

26.5 KB

3 чел.

25) Машинно-независимая оптимизация линейных участков программ.

При выполнении такой оптимизации наиболее часто преобразуются линейные и циклические участки программ. Самой удобной формой представления программы при машинно-независимой оптимизации является тетрадная форма.
Покажем простейшие 
преобразования линейных и циклических участков для тетрадной формы программ:
Машинно-независимая оптимизация линейных участков программ
Линейным участком программы называется последовательность операций(команд), которая не содержит условных переходов, возможно кроме последней операции.
Для линейного участка программы последовательность выполняемых действий не зависит от обрабатываемых данных. Для оптимизации линейных участков в простейшем случае используется два основных преобразования:
1. свертка, т.е. выполнение операций для которых операнды известны во время трансляции ( напр. константы)
2. исключение избыточных операций за счет определения общих подвыражений.
Рассмотрим примеры алгоритмлв, реализ-х эти преобразования над арифмитическими выражениями, заданными в тетрадной форме.
Алгоритм свертки
1. В списке тетрад найти такую тетраду, все операнды которой заданы константами;
2. Выполнить операцию, заданную этой тетрадой и создать новую константу; (поместить ее в таблицу констант)
3. Исключить найденную тетраду из списка, а все ссылки на ее результат заменить обращением к новой константе;
4. Повторять шаги с 1-го по 3-ий, пока в списке тетрад появятся изменения.
Алгоритм исключения избыточных операций
1. В списке тетрад выделит границы участков включающих вычисления выражений (по операторам присвоения);
2. для всех тетрад, задающих коммутативные операции упорядочить операнды в соответствии с некоторым правилом;(коммутативн. называются операции результат выполнения которых не изменяется при перестоновке операндов)
3. в каждом выражении найти идентичные тройки вида:
(<оператор> , <операнд1> , <операнд2>). Исключить из списка все соответствующие тетрады, кроме первой и исправить ссылки на результат;
4. повторять шаги 2 и 3 до тех пор, пока появляются изменения в списке тетрад.
Избыточные операции обычно появляются в неочевидных ситуациях. В частности при работе с многомерными массивами.
Любой многомерный массив в конечном итоге преобразуется в одномерный. В послед-ть зарезервированных ячеек памяти. Это неизбежно, т.к. адресация в памяти линейна. Поэтому при использовании 2-х или более индексов обращение к любому элементу предпологает «скрытое» вычисление его номера в этой последовательности решений.


 

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

23639. Курс общего языкознания 1.87 MB
  Теория знаковой природы языка . Структурный характер языка . Развитие языка 152 1. Общие и частные законы языка .
23641. ФІНАНСОВА ЗВІТНІСТЬ, ЇЇ ЗМІСТ ТА ІНТЕРПРЕТАЦІЯ 240 KB
  Склад, призначення і загальні вимоги до фінансової звітності. Зміст та методика складання основних форм фінансової звітності. Методика аналізу фінансового стану підприємства на базі звітності.
23642. ВВЕДЕНИЕ В ТЕОРЕТИЧЕСКОЕ ЯЗЫКОЗНАНИЕ 258.5 KB
  Описание языка в формальном аспекте 1. Описание языка в функциональном аспекте 1. Происхождение языка Модуль 2. Дисциплины изучающие звуковую сторону языка 2.
23643. КУРС ЛЕКЦИЙ ПО ОБЩЕМУ ЯЗЫКОЗНАНИЮ 2.1 MB
  проблематика наиболее актуальные проблемы современного языкознания: системность и структурность языка язык и мышление язык и речь и др. Универсальные свойства языка. Фундаментальные свойства языка с позиции современнойлингвистики. Во втором разделе раскрываются основные принципы современной теории языка важнейшие проблемы лингвистической науки определяющие подходы к решению всех частных лингвистических вопросов.
23644. Как быстро научиться читать на чужом языке 50.5 KB
  А все остальное ученик может делать сам: вникать в грамматику читать тексты заниматься лексикой. Те кто только начал осваивать немецкий язык сначала может читать текст с подсказками затем тот же текст без подсказок. После того как он прочитает неадаптированный текст нужно читать следующий адаптированный.
23646. Язык Одессы. Слова и фразы 5.69 MB
  Прислушайтесь к речи которая звучит на улицах города: русская и украинская а когда в Одессе было много евреев то можно было услышать и идиш новоеврейский; не путать с ивритом древнееврейским на котором говорят в Израиле. В 1886 году в Одессе вышел в свет Опытъ словаря неправильностей въ русской разговорной рьчи преимущественно въ Южной Росіи В. В Одессе занять значит дать взаймы: Я занял ему сто рублей. Вы удивлены потому что за театром в Одессе находится Северная гостиница где далеко не скучают.
23647. Как Это Сказать По-Английски 5.07 MB
  Суть метода Прежде чем объяснить суть метода давайте постараемся выяснить почему живя в чужой стране и постоянно слыша иноязычную речь человек просто так сам по себе может выучить язык этой страны причем чем человек моложе тем меньше времени ему нужно чтобы свободно заговорить почужому. УРОК 1 Я ДЕЛАЮ ЭТО ОБЫЧНО ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ ОБЫЧНО –usually КАЖДЫЙ ДЕНЬ –every day ДВАЖДЫ В НЕДЕЛЮ –twice a week 4 РАЗА В МЕСЯЦ –4 times a month ПО ВОСКРЕСЕНЬЯМ –on Sundays ПО ВЫХОДНЫМ –at weekends on one's free days ПО БУДНЯМ...