29359

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

Доклад

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

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

Английский

2013-08-21

26.5 KB

4 чел.

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

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


 

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

68714. Дипломатия имперского Рима 34 KB
  Дипломатия превращалась в ведомственную функцию и утрачивала демократический характер который она имела при Республике. Самостоятельный раздел античной дипломатии представляет внутренняя дипломатия. Своего высшего развития внутренняя дипломатия достигает в период Римской империи.
68715. Организация обучения работающих безопасности труда 32 KB
  Ответственность за организацию своевременного и качественного обучения и проверки знаний работников в целом по предприятию учреждению возлагается на директора главного инженера а в структурных подразделениях на их руководителей.
68716. Система управления охраной труда на предприятии (организации) 793 KB
  Проблема исследования относится к стратегическому менеджменту и может быть сформулирована как неопределенность, связанная с разработкой инвестиционной стратегии покупки действующего бизнеса и повышения его конкурентоспособности в интересах формирования сети.
68717. Системы счисления 87.49 KB
  Большинство кодов основано на системах счисления причем использующих позиционный принцип образования числа при котором значение каждой цифры зависит от ее положения в числе. Тогда полное число получается по формуле: где l количество разрядов числа уменьшенное на 1 i порядок разряда m...
68718. Специфика СсО в политике, коммерческом секторе, общественных объединениях, государственных учреждениях 26.5 KB
  ПР подразделения создаются в министерствах других органах управления. В региональных и муниципальных органах практикуется постоянное общение с гражданами в федеральных органах власти больший упор делают на взаимодействие с прессой на аналитическую и прогностическую деятельность.
68719. Акты толкования права 23.5 KB
  Акт толкования официальный юридически значимый документ направленный на установление действительного смысла нормы права Акты толкования делятся на письменные могут облекаться в форму НПА приказы инструкции и т. Они могут облекаться в ту же форму что и нормативно-правовые акты издаваемые соответствующими...
68722. ОРФОЭПИЧЕСКИЕ НОРМЫ РУССКОГО ЛИТЕРАТУРНОГО ЯЗЫКА 44.03 KB
  Орфоэпия (от греческих слов: orthos - прямой, правильный и epos - речь) - это совокупность правил, устанавливающих единообразное произношение. Орфоэпия указывает, как должны произноситься те или иные звуки в определенных фонетических положениях, в определенных сочетаниях с другими звуками, а также в определенных...