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

редактировать

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

Содержание
  • 1 В GCC
  • 2 История
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
В GCC

В 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 обычно не зависит от исходного высокоуровневого языка программы.

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

История

Идея RTL была впервые описана в: Davidson and Fraser; Дизайн и применение ретаргетируемого оптимизатора глазка; ToPLaS v2 (2) 191-202 (апрель 1980 г.)

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-03 11:53:05
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте