Шитый код
Косвенный шитый код (англ. indirect-threaded code) имеет то преимущество, что его высокоуровневые подпрограммы не содержат машинных кодов (Баранов-Ноздрунов, стр. 47). Эта замечательная особенность косвенного шитого кода позволила реализовать Каллисто на «Электронике МК-161» — машине гарвардской архитектуры, которая не предусматривает исполнение кода ЯМК из области данных.
Каллисто компилирует входной поток текста в шитый код, который потом исполняется адресным интерпретатором.
История
Первые годы определения слов высокого уровня хранились в Форте в виде массива из укороченных имён слов, составлявших определение. Это приводило к большим накладным расходам, ведь при исполнении каждое слово искалось по своему имени в словаре.
Применённый в Каллисто косвенный шитый код впервые появился в Форте в 1970 году на IBM 1130, когда Форт был переделан из кросс-компилятора для терминала IBM 2250 в родную среду разработчика для IBM 1130. Это произошло за пять лет до публикации работы Dewar по косвенному шитому коду в Communications of the ACM в 1975 году.
Косвенный шитый код был применён в 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.
- Шитый код на Википедии
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |