|
|
Строка 11: |
Строка 11: |
|
| |
|
| Существуют реализации Форта, генерирующие при компиляции обычный машинный код, подобно компиляторам с обычных языков программирования. С другой стороны, выпускаются форт-процессоры, система команд которых оптимизирована под исполнение ''шитого кода''. | | Существуют реализации Форта, генерирующие при компиляции обычный машинный код, подобно компиляторам с обычных языков программирования. С другой стороны, выпускаются форт-процессоры, система команд которых оптимизирована под исполнение ''шитого кода''. |
|
| |
| == Форт-процессоры ==
| |
| Первая попытка построить форт-компьютер была предпринята John Davies в Англии в 1973 году. Примерно в это время [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%81%D0%B5%D1%80%D0%B2%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D0%94%D0%B6%D0%BE%D0%B4%D1%80%D0%B5%D0%BB%D0%BB_%D0%91%D1%8D%D0%BD%D0%BA английская обсерватория Джодрелл Бэнк] открыла для себя Форт. Подход Davies заключался в переделке компьютера Ferranti (который перестал выпускаться), чтобы оптимизировать его набор инструкций под Форт. Получившийся форт-компьютер был очень быстрый для своего времени.
| |
|
| |
| В 1976 году форт-компьютер выпустила калифорнийская компания Standard Logic (в других источниках General Logic). Dean Sanderson, главный программист Standard Logic (позже он перешёл работать в FORTH Inc.) смог аппаратно реализовать точную инструкцию NEXT, которую [[адресный интерпретатор]] Форта использует для перехода от одной высокоуровневой команды к следующей. Их систему широко использовала Почтовая Система США (US Postal System).
| |
|
| |
| В начале 1980'ых фирма Rockwell выпустила микропроцессор Rockwell AIM 65F11 с примитивами Форта в ПЗУ, находящемся на чипе. Эту микросхему успешно использовали во встроенных приложениях.
| |
|
| |
| В 1981 году разработкой форт-процессора занялся Чак Мур — сперва работая в FORTH Inc., а затем создав старт-ап Novix. Основная разработка была завершена в 1984 году, первые прототипы были представлены в начале 1985 года. Разработка Мура была куплена и адаптирована фирмой Harris Semiconductor Corp., став основой их линейки процессоров RTX.
| |
|
| |
| Начав в ранних 1980'ых, группа в [https://ru.wikipedia.org/wiki/%D0%9B%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE%D0%B9_%D1%84%D0%B8%D0%B7%D0%B8%D0%BA%D0%B8 Лаборатории прикладной физики штата Мэрилэнд] (John Hopkins Applied Physics Laboratory in Maryland) разработала серию экспериментальных форт-профессоров для использования в космосе. Самый успешный из них, названный SC-32 фирмой Silicon Composers в [https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BB%D0%BE-%D0%90%D0%BB%D1%8C%D1%82%D0%BE Пало-Альто (Калифорния)], использовался для управления ультрафиолетовым телескопом (''англ.'' [https://en.wikipedia.org/wiki/Hopkins_Ultraviolet_Telescope Hopkins Ultraviolet Telescope]), который полетел в [https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D1%83%D0%BC%D0%B1%D0%B8%D1%8F_%28%D1%88%D0%B0%D1%82%D1%82%D0%BB%29 шаттле Колумбия] в [https://ru.wikipedia.org/wiki/STS-35 ноябре-декабре 1990 года].
| |
|
| |
| Чак Мур, автор языка Форт, отказался от участия в разработке стандарта ANSI для языка Форт, чтобы посвятить всё своё время разработке «железного» процессора, достойного языка Форт. Эволюция Форта в программно-аппаратную систему привела к возникновению языка {{colorForth}} и [http://www.greenarraychips.com/ мультикомпьютерной микросхемы GA144] ''(англ.)''.
| |
|
| |
| Защищённый от радиации форт-процессор [https://en.wikipedia.org/wiki/RTX2010 RTX2010] ''(англ.)'' основан на разработках Чака Мура и десятилетиями используется в зарубежных космических аппаратах. В частности, RTX2010 использовался в [https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D0%BB%D1%8B_%28%D1%81%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D0%BC%D1%8B%D0%B9_%D0%B0%D0%BF%D0%BF%D0%B0%D1%80%D0%B0%D1%82%29 спускаемом аппарате «Филы»] КА «Розетта» (миссия к комете 67P/Чурюмова — Герасименко), работавшего на поверхности кометы с 12 ноября 2014 года по 19 июня 2015 года. Это первая в истории посадка на комету, драматичная и довольно захватывающая, но в целом успешная.
| |
|
| |
| В России разработаны и выпускаются отечественные форт-процессоры, например K1881BE1T и [https://ru.wikipedia.org/wiki/%D0%A2%D0%A4-16 К1894ВГ1Т]. Перенос [[Каллисто]] на один из этих микропроцессоров позволит достичь максимальной производительности.
| |
|
| |
|
| == Ссылки == | | == Ссылки == |
| * James R.Bell, "Threaded Code", "Communications of ACM", Vol.16, No.6, 370-72. | | * 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.
| |
| * [https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%82%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4 Шитый код] на Википедии | | * [https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%82%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4 Шитый код] на Википедии |
|
| |
|
Косвенный шитый код (англ. 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 (англ., Шарлотсвилл). С тех пор разные варианты шитого кода применяются в подавляющем числе различных реализаций Форта.
Существуют реализации Форта, генерирующие при компиляции обычный машинный код, подобно компиляторам с обычных языков программирования. С другой стороны, выпускаются форт-процессоры, система команд которых оптимизирована под исполнение шитого кода.
Ссылки
- James R.Bell, "Threaded Code", "Communications of ACM", Vol.16, No.6, 370-72.
- Шитый код на Википедии
|
|
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.
|
|
|
Это заготовка статьи. Вы можете помочь проекту, дополнив её.
|