~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 9C84AC8457F1CCDC2877983E2EDC920F__1705917840 ✰
Заголовок документа оригинал.:
✰ Dependence analysis - Wikipedia ✰
Заголовок документа перевод.:
✰ Анализ зависимостей — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Dependence_analysis ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/9c/0f/9c84ac8457f1ccdc2877983e2edc920f.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/9c/0f/9c84ac8457f1ccdc2877983e2edc920f__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 10:35:52 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 22 January 2024, at 13:04 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Анализ зависимостей — Википедия Jump to content

Анализ зависимостей

Из Википедии, бесплатной энциклопедии

В теории компиляторов создает анализ зависимостей ограничения порядка выполнения между операторами/инструкциями. В общих чертах, оператор S2 зависит от S1 , если S1 должен быть выполнен до S2 . В общих чертах существует два класса зависимостей — зависимости управления и зависимости данных .

Анализ зависимостей определяет, безопасно ли переупорядочивать или распараллеливать операторы.

Зависимости управления [ править ]

Зависимость управления — это ситуация, в которой инструкция программы выполняется, если предыдущая инструкция оценивается таким образом, что позволяет ее выполнение.

Оператор S2 является управляемо-зависимым от S1 (записывается ) тогда и только тогда, когда выполнение S2 условно защищено S1 . S2 зависит Управление от S1 тогда и только тогда, когда где это пост-доминантная граница высказывания . Ниже приведен пример такой зависимости управления:

S1, если x > 2, перейти к L1
 S2 у := 3   
 S3 L1: z := y + 1
 

Здесь S2 выполняется только в том случае, если предикат в S1 ложен.

Зависимости данных [ править ]

Зависимость данных возникает из-за двух операторов, которые обращаются к одному и тому же ресурсу или изменяют его.

Зависимость Flow(True) [ править ]

Оператор S2 является потокозависимым от S1 (записывается ) тогда и только тогда, когда S1 изменяет ресурс, который читает S2 , и S1 предшествует S2 в выполнении. Ниже приведен пример зависимости от потока (RAW: чтение после записи):

С1 х := 10
 S2 у := х + с
 

Антизависимость [ править ]

Высказывание S2 антизависимо от S1 ( записывается ) тогда и только тогда, когда S2 изменяет ресурс, который читает S1 , и S1 предшествует S2 в выполнении. Ниже приведен пример антизависимости (WAR: Write After Read):

S1 х := у + с
 S2 у := 10
 

Здесь S2 устанавливает значение y но S1 считывает предыдущее значение y.

Выходная зависимость [ править ]

Оператор S2 выводится в зависимости от S1 (записывается ) тогда и только тогда, когда S1 и S2 модифицируют один и тот же ресурс и S1 предшествует S2 в выполнении. Ниже приведен пример зависимости вывода (WAW: Write After Write):

С1 х := 10
 S2 х := 20
 

Здесь S2 и S1 устанавливают переменную x.

Входная зависимость [ править ]

Оператор S2 зависит ввода от S1 (записывается ) тогда и только тогда, когда S1 и S2 читают один и тот же ресурс и S1 предшествует S2 в выполнении. Ниже приведен пример входной зависимости (RAR: Read-After-Read):

S1 у := х + 3
 S2 г := х + 5
 

Здесь S2 и S1 оба обращаются к переменной x. Эта зависимость не запрещает переупорядочение.

Зависимости цикла [ править ]

Проблема вычисления зависимостей внутри циклов, которая является важной и нетривиальной проблемой, решается с помощью анализа зависимостей цикла , который расширяет приведенную здесь структуру зависимостей.

См. также [ править ]

Дальнейшее чтение [ править ]

  • Купер, Кейт Д.; Торчон, Линда. (2005). Разработка компилятора . Морган Кауфманн. ISBN  1-55860-698-Х .
  • Кеннеди, Кен; Аллен, Рэнди. (2001). Оптимизация компиляторов для современных архитектур: подход, основанный на зависимостях . Морган Кауфманн. ISBN  1-55860-286-0 .
  • Мучник, Стивен С. (1997). Расширенное проектирование и реализация компилятора . Морган Кауфманн. ISBN  1-55860-320-4 .
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 9C84AC8457F1CCDC2877983E2EDC920F__1705917840
URL1:https://en.wikipedia.org/wiki/Dependence_analysis
Заголовок, (Title) документа по адресу, URL1:
Dependence analysis - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)