Jump to content

Зарегистрировать язык перевода

В информатике (IR) , язык передачи регистров ( RTL ) — это своего рода промежуточное представление которое очень близко к языку ассемблера , например тому, который используется в компиляторе . Он используется для описания потока данных на передачи регистров архитектуры уровне . В академических статьях и учебниках часто используется форма RTL в качестве архитектурно-нейтрального языка ассемблера. RTL используется как имя конкретного промежуточного представления в нескольких компиляторах, включая GNU Compiler Collection (GCC), Zephyr и европейские проекты компиляторов CerCo и CompCert .

Идея, лежащая в основе RTL, была впервые описана в книге «Проектирование и применение перенацеливаемого оптимизатора глазка» . [1]

В GCC RTL генерируется из представления GIMPLE , преобразуется различными проходами в промежуточном компоненте GCC , а затем преобразуется в язык ассемблера.

RTL GCC обычно записывается в форме, похожей на Lisp S-выражение :

(set (reg:SI 140)     (plus:SI (reg:SI 138)              (reg:SI 139)))

Это выражение побочного эффекта гласит: «Суммируйте содержимое регистра 138 с содержимым регистра 139 и сохраните результат в регистре 140». SI определяет режим доступа для каждого регистра. В примере это «SImode», т.е. «обращаться к регистру как к 32-битному целому числу».

Последовательность генерируемых RTL имеет некоторую зависимость от характеристик процессора, для которого GCC генерирует код. Однако значение RTL более или менее не зависит от цели: обычно можно прочитать и понять часть RTL, не зная, для какого процессора она была сгенерирована. Точно так же значение RTL обычно не зависит от исходного языка высокого уровня программы.

Язык передачи регистров — это система для выражения в символической форме последовательностей микроопераций между регистрами цифрового модуля. Это удобный инструмент для краткого и точного описания внутренней организации цифровых компьютеров. Его также можно использовать для облегчения процесса проектирования цифровых систем. [2]

  1. ^ «Дэвидсон и Фрейзер; Проектирование и применение перенацеливаемого оптимизатора глазка ; ToPLaS v2 (2) 191-202 (апрель 1980 г.)» (PDF) .
  2. ^ Мано, Моррис М. (1992). Архитектура компьютерных систем (3-е изд.). Прентис Холл. п. 94. ИСБН  0131755633 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a0d212fac27b9a448fa89a97bba6427c__1716559080
URL1:https://arc.ask3.ru/arc/aa/a0/7c/a0d212fac27b9a448fa89a97bba6427c.html
Заголовок, (Title) документа по адресу, URL1:
Register transfer language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)