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