Шитый код

Материал из ПМК вики
Перейти к навигации Перейти к поиску

Косвенный шитый код (англ. indirect-threaded code) имеет то преимущество, что его высокоуровневые подпрограммы не содержат машинных кодов (Баранов-Ноздрунов, стр. 47). Эта замечательная особенность косвенного шитого кода позволила реализовать Каллисто на «Электронике МК-161» — машине гарвардской архитектуры, в которой не предусмотрено исполнение кода ЯМК из области данных.

Каллисто компилирует входной поток текста в шитый код, который потом исполняется адресным интерпретатором.

К сожалению, сейчас (по состоянию на март 2016 года) адресный интерпретатор написан на языке МК, что сильно ограничивает быстродействие Каллисто. Оптимизация адресного интерпретатора по быстродействию, как и прошивка его в ПЗУ микроконтроллера является задачей, важной для успеха Каллисто.

История

Первые годы определения слов высокого уровня хранились в Форте в виде массива из укороченных имён слов, составлявших определение. Это приводило к большим накладным расходам, ведь при исполнении каждое слово искалось по своему имени в словаре.

В 1971-73 годах косвенный шитый код впервые появился в Форте, когда Чак Мур перенёс транслятор на DEC PDP-11 в National Radio Astronomy Observatory (англ., Шарлотсвилл) и с тех пор разные варианты шитого кода применяются в подавляющем числе различных реализаций Форта.

Существуют реализации Форта, генерирующие при компиляции обычный машинный код, подобно компиляторам с обычных языков программирования. С другой стороны, выпускаются форт-процессоры, система команд которых оптимизирована для исполнения шитого кода.

Форт-процессоры

Первый форт-компьютер был построен John Davies в Англии около 1973 года. Примерно в это время английская обсерватория Джодрелл Бэнк открыла для себя Форт, изменила набор инструкций под Форт и построила форт-компьютер, очень быстрый для своего времени.

Также в 1973 году Dean Sanderson из компании General Logic разработал форт-компьютер, в котором была аппаратная инструкция NEXT. Позже Dean Sanderson перешёл в FORTH Inc.

Чак Мур, автор языка Форт, отказался от участия в разработке стандарта ANSI для языка Форт, чтобы посвятить всё своё время разработке «железного» процессора, достойного языка Форт. Эволюция Форта в программно-аппаратную систему привела к возникновению языка colorForth и мультикомпьютерной микросхемы GA144.

Защищённый от радиации форт-процессор RTX2010 (англ.) основан на разработках Чака Мура и используется в зарубежных космических аппаратах. В частности, RTX2010 использовался в спускаемом аппарате «Филы» КА «Розетта» (миссия к комете 67P/Чурюмова — Герасименко), работавшего на поверхности кометы с 12 ноября 2014 года по 19 июня 2015 года. Это первая в истории посадка на комету, сложная и довольно захватывающая, но в целом успешная.

В России разработаны и выпускаются отечественные форт-процессоры, например K1881BE1T и К1894ВГ1Т. Перенос Каллисто на один из этих микропроцессоров позволит достичь максимальной производительности.

Ссылки

  • James R.Bell, "Threaded Code", "Communications of ACM", Vol.16, No.6, 370-72.
  • Randy Dumse, "The R65F11 FORTH Chip," "FORTH Dimensions", Vol.5, No.2, p.25.


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.