Главная » Просмотр файлов » Спец часть (часть 2) (3 поток) (2015) (by Кибитова)

Спец часть (часть 2) (3 поток) (2015) (by Кибитова) (1161602), страница 32

Файл №1161602 Спец часть (часть 2) (3 поток) (2015) (by Кибитова) (Ответы на спец часть) 32 страницаСпец часть (часть 2) (3 поток) (2015) (by Кибитова) (1161602) страница 322019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 32)

Эквивалентные преобразования сохраняютсемантику исходной программы;• “стоимость” преобразования должна быть сопоставима с затрачиваемымии полученнымиэффектами.тоВремяот включения• усилиямиМашинно-независимаяоптимизация,есть компиляциипроведение преобразованийоптимизирующих преобразований всегда растет, но иногда это не оченьисходной программы (в форме некоторого внутреннего представления), неважно. Важнее, чтобы при оптимизации не вносились дополнительныезависящих от выходного языка компилятора (без учета конкретных свойствошибки, на исправление которых затрачиваются дополнительные усилия;объектной машины). Эта оптимизация обычно выполняется на специально• в результате преобразований программы в среднем должны “улучшаться”выделенной фазе компиляции (пометка II на рисунке),(почти для всех допустимых данных), лишь на каких-то (редко• Машинно-зависимая оптимизация, то есть преобразование программы навстречающихся) комбинациях данных допускается обратный эффектвыходном языке компилятора.

Этот вид оптимизации обычно проводится(ухудшение характеристик).одновременно с генерацией объектной программы или уже после этой генерациина дополнительнойстадии(пометкаIII на рисунке).• Машинно-независимаяоптимизация,тоудовлетворяющимиесть проведениепреобразованийНекоторыепреобразованиясчитаютсяэтим критериям иисходной программы(в формевнутреннегопредставления),нерекомендуютсядля включенияв некотороголюбой компилятор.Другиепреобразования,Машинно-независимая оптимизация получила такое название потому, чтозависящихот выходногоязыкакомпилятора(безиучетаконкретныхоснованныена сложноманализепотокауправленияпотокаданных, асвойствтакже напроводимые в рамках этого процесса преобразования не зависят от архитектурыобъектной результатовмашины). Этаоптимизацияобычновыполняетсяпрограмм,на специальноиспользованииэтогоанализа примодификациитребуютвычислительной системы, для которой предназначена объектная программа.

Длядополнительногоанализапредставительногонаборареальныхпрограммнаданномвыделенной фазе компиляции (пометка II на рисунке),проведения таких преобразований разработан целый ряд формальных математическихязыкепрограммирования. Различаютсядватоосновныхвида оптимизации:• Машинно-зависимаяоптимизация,есть преобразованиепрограммы наметодов. При проведении преобразований машинно-зависимой оптимизации можетвыходном языке компилятора. Этот вид оптимизации обычно проводитсяоказаться необходимым учитывать аппаратные особенности вычислительных систем –одновременно с генерацией объектной программы или уже после этойчисло и способ организации взаимодействия центральных процессоров, иерархиюгенерации на дополнительной стадии (пометка III на рисунке).устройств памяти, количество и размеры регистров,а также многое другое.

42ОбычнооптимизирующимпреобразованиямподвергаетсявнутреннееМашинно-независимая оптимизация получила такое название потому, чтопредставлениепрограммы,а не текстна исходномоперации,проводимыев рамкахэтого процессапреобразованияне языке.зависятВо-первых,от архитектурынеобходимыесистемы,для реализациивысокоуровневыхязыкахвычислительнойдля которойпредназначена операцийобъектнаястановятсяпрограмма.наДлявнутреннегоболееявными,что облегчаетих обнаружение ипроведениятаких представленияпреобразованийпрограммразработанцелыйряд формальныхматематическихоптимизацию.Например,исходныйоператорs=s+a[i]*b[i]скрывает,методов. При проведении преобразований машинно-зависимой оптимизацииможет чтовычислениеадресовучитыватьдля элементовa[i]особенностии b[i] содержитобщие подвыраженияоказатьсянеобходимымаппаратныевычислительныхсистем –Во-вторых,внутреннеепредставлениеможетоказатьсячислоsizeof(тип)*i.и способ организациивзаимодействияцентральныхпроцессоров,иерархиюотносительнонезависимымот объектноймашины,чтомногоеделает другое.оптимизатор достаточноустройствпамяти, количествои размерырегистров,а такжеустойчивымкизменениямприпереносенадругуюмашину.Обычно оптимизирующим преобразованиям подвергается внутреннее представление программы, а не текст на исходном языке.

Во-первых, операции,3.3.4.1. Машинно-независимая оптимизациянеобходимые для реализации высокоуровневых операций становятся на языкахОсновные преобразования машинно-зависимой оптимизации выполняются длявнутреннего представления программ более явными, что облегчает их обнаружение иотдельных выражений, линейных участков программ, циклов, вызовов процедур иоптимизацию. Например, исходный оператор s=s+a[i]*b[i] скрывает, чтофункций.вычисление адресов для элементов a[i] и b[i] содержит общие подвыраженияОптимизация однократно выполняемых участков программы практически неsizeof(тип)*i. Во-вторых, внутреннее представление может оказатьсяоказывает влияния на быстродействие программы и может сказываться только наотносительно независимым от объектной машины, что делает оптимизатор достаточнообъеме занимаемой программой памяти, поэтому наиболее тщательно всегдаустойчивым к изменениям при переносе на другую машину.оптимизируется самый внутренний цикл программы.

Для проведения оптимизациипрограммыделят на линейныеучастки, то есть на выполняемые по порядку3.3.4.1.Машинно-независимаяоптимизацияпоследовательностиопераций.Линейные участкиимеют одинвыполняютсявход и одиндлявыход.Основные преобразованиямашинно-зависимойоптимизацииЛинейныеучасткиимеютсявлюбойпрограммеичащевсегосодержатотдельных выражений, линейных участков программ, циклов, вызовов процедур ипоследовательности вычислений, состоящие из арифметических выражений ифункций.операторовприсваиванияпеременнымНи одна операцияОптимизацияоднократно значенийвыполняемыхучастков программы.программы практическинелинейногоучасткане может быть выполненачислораз, чем смежныеоказываетвлиянияна быстродействиепрограммыбольшееи можетсказыватьсятолько нас неюоперации.Длялинейныхучастковпроводятсяследующиепреобразования:объеме занимаемой программой памяти, поэтому наиболее тщательно всегдаоптимизируется самый внутренний цикл программы.

Для проведения оптимизации• вычисление выражений из констант на стадии компиляции,программы делят на линейные участки, то есть на выполняемые по порядку• арифметические преобразования,последовательности операций. Линейные участки имеют один вход и один выход.• устранение общих подвыражений (избыточных вычислений),вычислениеадресовдля элементови b[i]содержитобщиеподвыражениявычислениеадресовдля элементовa[i]a[i]и b[i]содержитобщиеподвыраженияsizeof(тип)*i.Во-вторых,внутреннеепредставлениеоказатьсяsizeof(тип)*i.Во-вторых,внутреннеепредставлениеможетможетоказатьсяотносительнонезависимымотобъектноймашины,чтоделаетоптимизатордостаточноотносительнонезависимымот объектноймашины, чтоделает операций,оптимизатордостаточно• удалениененужныхприсваиванийи другихраспространениеустойчивымк изменениямпри переносена другуюмашину.устойчивымк копийизменениямпри переносена другуюмашину.значений,• перестановка независимых смежных участков программ,3.3.4.1.Машинно-независимаяоптимизация3.3.4.1.Машинно-независимаяоптимизация• удаление недостижимых фрагментов программы,Основныепреобразованиямашинно-зависимойоптимизациивыполняютсяОсновныепреобразованиямашинно-зависимойоптимизациивыполняютсядля для• оптимизация вычисления логических выражений.отдельныхвыражений,линейныхучастковпрограмм,циклов,вызововпроцедуриотдельныхвыражений,линейныхучастковпрограмм,циклов,вызововпроцедурифункций.функций.Вычисление выражений из известных операндов (свертка операций)ОптимизацияоднократновыполняемыхучастковпрограммыпрактическиОптимизацияоднократновыполняемыхучастковпрограммыпрактическине невыполняется в случаях:оказываетвлиянияна быстродействиепрограммыи можетсказыватьсятолькооказываетвлиянияна быстродействиепрограммыи можетсказыватьсятолькона наобъемезанимаемойпрограммойпамяти,поэтомунаиболеетщательновсегдаобъемезанимаемойпрограммойпамяти,поэтомунаиболеетщательновсегда• непосредственного использования констант программистом:оптимизируетсясамыйсамыйвнутреннийцикл циклпрограммы.Для проведенияоптимизацииоптимизируетсявнутреннийпрограммы.Для проведенияоптимизацииA=sin(2*3.14*B);программыделятделятна линейныеучастки,то естьна выполняемыепо порядкупрограммына линейныеучастки,то естьна выполняемыепо порядкупоследовательностиопераций.Линейныеучасткиимеютодин одинвход входи одинвыход.последовательностиопераций.Линейныеучасткиимеюти одинвыход.• возникновенияконстант-операндовпослемакрорасширений,Линейныеучасткиимеютсяв любойпрограммеи чащевсеговсегосодержатЛинейныеучасткиимеютсяв любойпрограммеи чащесодержат#definePi 3.1415926последовательностивычислений,состоящиеиз арифметическихвыраженийипоследовательностивычислений,состоящиеиз арифметическихвыраженийиA=sin(2*Pi*B);операторовприсваиваниязначенийпеременнымпрограммы.Ни однаоперацияоператоровприсваиваниязначенийпеременнымпрограммы.Ни однаоперациялинейногоне можетбытьвыполненабольшеечислочислораз, чемс неюс неюлинейногоучасткане можетбытьвыполненабольшеераз, смежныечем смежные•участкавозникновенияконстант-операндовв результатекомпиляцииязыковыхоперации.Дляконструкций,линейныхучастковпроводятсяследующиепреобразования:операции.Для линейныхучастковпроводятсяследующиепреобразования:например, многомерных массивов:••• вычислениеиз константна стадиикомпиляции,• вычислениевыраженийконстантнаc [10][10][10];стадиикомпиляции,intвыраженийa [10][10][10],bиз[10][10][10],арифметическиепреобразования,• арифметическиепреобразования,a [3][4][i] = b [8][3][k] * c [3][2][j];устранениевычислений),• устранение(избыточныхвычислений),a’общих[((3 общих* подвыражений10) +подвыражений4) * 10 + i](избыточных:= b’[((8 * 10)+ 3)* 10 + k] *c’ [((3 * 10) + 2) * 10 + j]; •удалениененужныхи других операций,Компилятордолжен присваиванийвыполнить вычисленияи внестираспространениезаписи о новых4343копийзначений,литеральных константах в таблицу констант, как если бы эти константы были введены• перестановканезависимыхсмежныхучастковалгоритмовпрограмм, свертки принимают восамимпрограммистом.Более сложныеварианты• удалениенедостижимыхфрагментовпрограммы,вниманиеизвестныеим значенияпеременных(например, сразу после присваивания) и•оптимизациявычислениялогическихвыражений.даже функций.

Характеристики

Тип файла
PDF-файл
Размер
8,18 Mb
Высшее учебное заведение

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее