Форт из кремния

3 декабря 98 (v1.6) [su] http://beltelecom.minsk.by/~ntl/forthcpu

По содержанию статьи принимаются все мыслимые и немыслимые конструктивные замечания. Я буду обновлять и наполнять этот документ новым содержанием по мере сил.

Алексей Чепыженко alex@radipage.com.by

Casting Forth in Silicon
Как показала история, язык ФОРТ не чужд любому, даже самому "слабому" микропроцессору и микроконтроллеру. Это подтверждается практическим наличием ФОРТ-систем для большинства 8, 16-и и 32-х разрядных процессоров.
Из-за своей своеобразной мнемоники Форт не претендует на роль популярного языка как C или Pascal, но широко используется во встраиваемых системах реального времени, где важна компактность, скорость, переносимость.
Предельная простота принципов Форта привела разработчиков к мысли о создании Форт-процессоров, способных на аппаратном уровне выполнять примитивы виртуальной Форт-машины. Языком самого низкого уровня для такого процессора является язык Форт. В свою очередь ФОРТ является прекрасной базой для построения трансляторов с других языков высокого уровня.

Основные принципы построения таких процессоров были обобщены Филиппом Купманом в 1989 году, но только сейчас, с появлением новых 32-х разрядных ФОРТ-процессорв удалось оценить потенциал этой идеи. Противостояние микропроцессоров с регистровой и стековой архитектурой в немалой степени возникло под влиянием именно этих идей. Можно найти много объективных соображений, почему стековая машина, но факты лучше любых аргументов!

Традиционно, программная модель Форта 16-и разрядная. Для многих приложений эта разрядность до сих пор является оптимальной. Именно по этому первые Форт-процессоры имели разрядность 16. В первую очередь такие процессоры нашли применение в системах управления в реальном масштабе времени. На базе 16-и разрядных Форт-ядер удобно строить однокристальные микроконтроллеры.  Мечте любого Фортера суждено было наконец сбыться...  MISC ( Компьютер с Минимальным Набором Команд ) - дальнейшее развитие идей команды Чака Мура, который закономерно полагает, что принцип "простоты", изначальный для RISC процессоров, слишком быстро отошёл на задний план. параллелизм на уровне инструкций

Форт на параллельных процессорах

В последнее время возрос интерес к машинам, параллельным на уровне команд (ILP). Существует две основные архитектуры, использующие мелкозернистый параллелизм программы и исполняющие несколько операций для каждой инструкции:

VLIW модель требует больше усилий на оптимизацию кода, но позволяет получить более простую архитектуру. По первому пути пошёл Sun со своим [picoJava] процессором, по второму пути пошёл Bernd Paysan в своём четырёх-стековом процессоре [4stack].
Идея!!!

Несколько идей на будущее

Несомненно, стековая машина привлекает людей своей простотой и интуитивной понятностью. Многие простые и понятные новшества, возникающие в процессорной индустрии, легко ложатся на стековые процессоры. Здесь несколько идей по организации будущих стековых машин.