Адресный интерпретатор
Адресный интерпретатор (англ. address interpreter) — интерпретатор косвенного шитого кода.
Адресный интерпретатор Каллисто использует единое адресное пространство, что позволяет исполнять шитый код как из байтовой памяти, так и из памяти программ.
Если поток исполнения команд уподобить току крови, адресный интерпретатор — сердце Каллисто. Каждая передача управления от одного примитива к другому проходит через адресный интерпретатор. Именно он «гонит кровь» через определения высокого уровня, «оживляя» шитый код и заставляя его работать.
К сожалению, сейчас (по состоянию на март 2016 года) адресный интерпретатор написан на языке МК, что сильно ограничивает быстродействие Каллисто. Оптимизация адресного интерпретатора по быстродействию, как и прошивка его в ПЗУ микроконтроллера является задачей, важной для успеха Каллисто.
История
Впервые косвенный шитый код (англ. indirect-threaded code) появился в Форте 1971-73 годах, когда Чак Мур перенёс транслятор на DEC PDP-11 в National Radio Astronomy Observatory (англ., Шарлотсвилл). С тех пор разные варианты шитого кода применяется в подавляющем числе различных реализаций Форта.
Адресный интерпретатор для PDP-11 представлял из себя 2-словный макрос на форт-ассемблере:
: NEXT IP )+ W MOV W )+ ) JMP ;
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |