29363

Машинно – зависимая оптимизация объектного кода в языковых процессорах САПР

Доклад

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

В самом простом случае машиннозависимая оптимизация заключается в удалении из сформированной последовательности команд избыточных команд загрузки и чтения. Если сложение является коммутативной операцией то последовательность команд LOAD OP1 можно заменить LOAD OP2 ADD OP2 = ADD OP1 2. Если умножение является коммутативной операцией то последовательность команд LOAD OP1 можно заменить LOAD OP2 MULT OP2 = MULT OP1 Эти 2 правила основаны на свойстве коммутативности операций и обеспечивают перестановку местами операндов в соответствующих...

Английский

2013-08-21

25 KB

0 чел.

31) Машинно – зависимая оптимизация объектного кода в языковых процессорах САПР.  

В самом простом случае машинно-зависимая оптимизация заключается в удалении из сформированной последовательности команд избыточных команд загрузки и чтения.

Целью машинно-зависимой оптимизации является сокращение времени выполнения программы или объема занимаемо памяти. 

Для оптимизации кода в пределах линейных участков могут использоваться следующие правила:

1. Если сложение является коммутативной операцией, то последовательность команд

LOAD OP1 можно заменить LOAD OP2

ADD OP2 => ADD OP1

2. Если умножение является коммутативной операцией, то последовательность команд 

LOAD OP1 можно заменить LOAD OP2

MULT OP2 => MULT OP1

Эти 2 правила основаны на свойстве коммутативности операций и обеспечивают перестановку местами операндов в соответствующих тетрадах с целью получения пар команд, попадающих под действие третьего правила

3.Последовательность команд вида записи и чтения можно исключить из программы, STORE OP LOAD OP , если ячейка памяти с именем ОР далее не используется или перед использованием вновь определяется командой записи STORE OP. В противном случае из указанной пары команд всегда можно исключить вторую команду.

Третье правило означает следующее:

1. Если какой либо операнд не потребуется далее, то его не нужно сохранять в памяти.

2. Если этот операнд уже находится в сумматоре, то его не нужно загружать туда снова.

Существуют и другие правила оптимизации кода, подобно перечисленным.

Их применение позволяет сократить длину полученного объектного кода , а так же уменьшить количество ячеек памяти, используемых для хранения промежуточных результатов.

Замечание: При использовании оптим. Правил следует учитывать, что для некоммутативных операций в сумматор должен 1-м загружаться операнд 1-ой операции, т.е. перестановка местами операндов недопустима.


 

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

63304. Транкинговые системы связи 44 KB
  Основным в настоящее время являются системы цифровой транкинговой связи обеспечивающая повышенное требование различных служб к оперативности надежности и безопасности связи. Эксплутационнотехнические показатели транкинговой связи.
63305. Сравнение технологий коммутации при передаче данных 22.62 KB
  Единица коммутаций Ячейка Ячейка Кадр пакеты Режим работы С установлением и без установления Без установления С установлением Без установления Без установления Гарантированная доставка С помощью протокола...
63306. Сети связи на базе протоколов TCP/IP 25.27 KB
  На ее базе строятся как фиксированные так и беспроводные сети. Эталонная модель протоколов сети. Сеть Интернет представляет услуги коммутации пакетов без установления соединений что является фундаментальным свойством этой сети.
63308. Робота по мобілізації доходів бюджету 34.53 KB
  Безпосередню роботу по мобілізації доходів бюджету відповідно до статті 50 Бюджетного кодексу України виконують органи стягнення до яких відносяться: Державна податкова служба України Державна митна служба України інші органи...