Mar. 28th, 2017

32bit_me: (Default)
Прочитал интересный материал: Pooja Gupta "LLVM Backend Development for ReISC Architecture", 52 стр., англ. язык.

Это не книга и не статья, это магистерская работа студентки из университета Дели. В небольшом объёме изложены ключевые моменты работы компилятора. Разумеется, то же самое можно прочитать в других местах, но для этого придётся читать много разных источников.
Как ясно из названия, описывается компилятор для архитектуры ReISC. Однако подробной информации по этой архитектуре нигде нет. Есть сведения, что это ядро фирмы STMicroelectronics для 32-битного low-end микроконтроллера со сверхнизким портеблением. Видимо, в производство оно не попало.

В конце работы автор приводит сравнение нескольких результатов компиляции, полученных с помощью LLVM и GCC. Разбираться в них детально я не стал, т.к. для этого надо подробно разбирать ассемблерные исходники со справочником по системе команд. К сожалению, в работе нет исходников (и даже фрагментов) самого бэкенда. А это было бы очень интересно почитать.

В целом, впечатляет, студенческая работа такого хорошего уровня. У нас 99% студентов и 95% специалистов с опытом работы в этой теме просто не разберутся. А девушка из Индии не только разобралась, но и написала хорошую работу на английском языке.

Для техже, кто хочет разобраться в работе компилятора, знающие люди рекомендуют бэкенд LANai. Тоже загадочное ядро, упоминаний про него почти нет. Вроде бы, оно разработано компанией Google для своих внутренних нужд, архитектура основана на книге [1]. Какой-то документации найти не удалось. Тем не менее, компилятор доступен в исходниках, и, говорят, очень несложен и хорош для изучения.

[1]. David E. Culler, Anoop Gupta, and Jaswinder Pal Singh. 1997. Parallel Computer Architecture: A Hardware/Software Approach (1st ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

Profile

32bit_me: (Default)
32bit_me

July 2017

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425262728 29
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2017 01:25 am
Powered by Dreamwidth Studios