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-х или более индексов обращение к любому элементу предпологает «скрытое» вычисление его номера в этой последовательности решений.


 

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

41909. Простое приложение Windows Presentation Foundation 19.29 KB
  Реализовать отображение свойств объекта сущности по своему варианту задания наподобие того как это сделано в демонстрационном приложении. Реализовать загрузку коллекции объектов из файла наподобие того как это сделано в демонстрационном приложении название файла вводить например через TextBox. Реализовать выбор редактируемого объекта через ввод ключевого свойства. Этого нет в примере Реализовать удаление объекта из коллекции.
41910. Использование приёма «внедрение зависимости» 19.62 KB
  Избавиться от зависимости MinViewModel от класса MessgeBox путём создания интерфейса IDilogService. Написать модульные тесты проверяющие результаты работы команды поиска объекта в классе MinViewModel по образцу в примере. Вызов диалогов из MinViewModel делать с соблюдением шаблона MVVM то есть не создавая зависимостей MinViewModel от конкретных классов диалогов делать через интерфейс. Если реализация будет как в примере то есть с использованием свойства типа ObservbleCollection в классе MinViewModel то в коде MinViewModel придётся...
41911. WPF приложение с многооконным (MDI) интерфейсом 19.15 KB
  Часть 1 Необходимо перенести интерфейс редактирования свойств объектов коллекции в отдельное окно. Главное окно приложения должно содержать грид со списком объектов функции открытия сохранения файла коллекции функции удаления объектов из коллекции и вызова окон для редактирования объекта или создания объекта в отдельном окне. При выборе пользователем команды редактирования выделенного объекта в гриде должно появиться отдельное окно для редактирования свойств этого объекта. Должна быть возможность открывать одновременно несколько окон для...
41912. ВИКОРИСТАННЯ СИСТЕМИ S-KEYS ТА ЗАСТОСУВАННЯ РЕЖИМУ ІМІТОВСТАВКИ АЛГОРИТМУ ГОСТ 28147-89 349.39 KB
  Проімітуйте роботу системи S/key при одноразовому підключенні користувача. Для цього підготуйте послідовність . Використовуйте хеш-функцію , значення пароля і параметра з наступної таблиці (пароль заданий в системі числення з основою 16).
41913. СЧЕТЧИКИ И РАСХОДОМЕРЫ ВОДЫ 1.08 MB
  Изучить устройство принцип действия и применение расходомеров и счетчиков Задачи: Изучить устройство принцип действия схемы установки учет передачу данных счетчиков горячей и холодной воды с ультразвуковым преобразователем; Изучить устройство принцип действия схемы...
41914. ИЗУЧЕНИЕ СИСТЕМЫ ТЕПЛОСНАБЖЕНИЯ УЧЕБНО-НАУЧНОГО КОМПЛЕКСА «ВОЛМА» 2.78 MB
  Изучить элементов системы теплоснабжения учебно-научного комплекса Волма котла на древесной щепе. Технические характеристики котла даны в таблице 1. Технические характеристики котла PYROT 300 Тепловая мощность кВт 300 Минимальная тепловая мощность кВт 80 Коэффициент полезного действия 9092 Максимальное содержание влаги 40 Средняя температура отходящих газов при номинальной тепловой мощности 160 Максимально допустимое давление в системе бар 30...
41915. Измерение параметров электрической энергии 1.13 MB
  Задачи: изучить устройство принцип действия схемы подключения приборов для измерения напряжения силы тока мощности сопротивления цепи и др. Класс точности 25 Пределы измерений Номинальная частота Гц Способ включения 10; 30; 50; 100; 150; 250; 500 В 50; 60; 200; 400500; 800; 1000 непосредственный 175 кВ с трансформатором напряжения 1500 100 В 75 кВ с трансформатором напряжения 6000 100В 12 кВ с трансформатором напряжения 10000 100В 600; 750 В с добавочным сопротивлением Р85 Условия эксплуатации: прибор выдерживает вибрацию с...
41916. Изучить устройство, принцип действия, применение приборов измерения и регулирования температуры 660.36 KB
  Задачи: изучить устройство принцип действия применение приборов измерения температуры основанных на измерении физических размеров изучить устройство принцип действия применение приборов измерения температуры основанных на изменении электрических характеристик сопротивления изучить устройство принцип действия применение приборов измерения температуры основанных на дистанционном измерении температуры изучить устройство принцип действия применение приборов измерения температуры основанных на изменении и регулировании...
41917. Ручне встановлення драйверу монітору на ОС типу Windows® 98; Windows® 2000 809.75 KB
  Місце виконання роботи ПЕК НАУ ВЦ кабінет №145 Хід роботи: Для того щоб встановити драйвер на монітор ми повинні: Зайти на вкладку Монітори→Стандартний монітор та натиснути кнопку Оновити рис.2; У вікні що з'явилося Встановлення обладнання натиснути кнопку далі; В наступному вікні для просто встановлення драйверу вибираємо Провести пошук найбільш свіжого драйверу для пристрою для більш детального пошуку необхідно вибрати Відобразити список всіх драйверів щоб ви могли вибрати найбільш підходящий драйвер в даному випадку...