Шитый код: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
'''Косвенный шитый код''' (''англ.'' indirect-threaded code) имеет то преимущество, что его [[Слово :|высокоуровневые подпрограммы]] не содержат машинных кодов (Баранов-Ноздрунов, стр. 47). Эта замечательная особенность ''косвенного шитого кода'' позволила реализовать [[Каллисто]] на [[МК-161|«Электронике МК-161»]] — машине [https://ru.wikipedia.org/wiki/%D0%93%D0%B0%D1%80%D0%B2%D0%B0%D1%80%D0%B4%D1%81%D0%BA%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0 гарвардской архитектуры], в которой не предусмотрено исполнение [[ЯМК|кода ЯМК]] из [[Регистр памяти данных|области данных]].
'''Косвенный шитый код''' (''англ.'' indirect-threaded code) имеет то преимущество, что его [[Слово :|высокоуровневые подпрограммы]] не содержат машинных кодов (Баранов-Ноздрунов, стр. 47). Эта замечательная особенность ''косвенного шитого кода'' позволила реализовать [[Каллисто]] на [[МК-161|«Электронике МК-161»]] — машине [https://ru.wikipedia.org/wiki/%D0%93%D0%B0%D1%80%D0%B2%D0%B0%D1%80%D0%B4%D1%81%D0%BA%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0 гарвардской архитектуры], которая не предусматривает исполнение [[ЯМК|кода ЯМК]] из [[Регистр памяти данных|области данных]].


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

Версия от 11:02, 28 марта 2016

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

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

История

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

В 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.


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


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