Введение. Что такое "Форт-микропроцессор"?
Как показала история, язык ФОРТ не чужд любому, даже самому "слабому"
микропроцессору и микроконтроллеру. Это подтверждается практическим наличием
ФОРТ-систем для большинства 8, 16-и и 32-х разрядных процессоров.
Из-за своей своеобразной мнемоники Форт не претендует на роль популярного
языка как C или Pascal, но широко используется во встраиваемых системах
реального времени, где важна компактность, скорость, переносимость.
Предельная простота принципов Форта привела разработчиков к мысли о
создании Форт-процессоров, способных на аппаратном уровне выполнять примитивы
виртуальной Форт-машины. Языком самого низкого уровня для такого процессора
является язык Форт. В свою очередь ФОРТ является прекрасной базой для построения
трансляторов с других языков высокого уровня.
Основные принципы построения таких процессоров были обобщены
Филиппом Купманом в 1989 году, но
только сейчас, с появлением новых 32-х разрядных ФОРТ-процессорв удалось оценить
потенциал этой идеи. Противостояние микропроцессоров с регистровой и стековой
архитектурой в немалой степени возникло под влиянием именно этих идей. Можно
найти много объективных соображений,
почему стековая
машина, но факты лучше любых аргументов!
Традиционно, программная модель Форта 16-и разрядная. Для многих приложений
эта разрядность до сих пор является оптимальной. Именно по этому первые
Форт-процессоры имели разрядность 16. В первую очередь такие процессоры
нашли применение в системах управления в реальном масштабе времени. На
базе 16-и разрядных Форт-ядер удобно строить однокристальные микроконтроллеры.
Мечте любого Фортера суждено было наконец сбыться...
MISC ( Компьютер с Минимальным Набором Команд ) - дальнейшее развитие идей
команды Чака Мура, который закономерно полагает, что принцип "простоты",
изначальный для RISC процессоров, слишком быстро отошёл на задний план.
Форт на параллельных процессорах
В последнее время возрос интерес к машинам, параллельным на уровне команд
(ILP). Существует две основные архитектуры, использующие мелкозернистый
параллелизм программы и исполняющие несколько операций для каждой
инструкции:
- суперскалярная модель, с кодированием стационарным по данным;
- VLIW модель, с кодированием стационарным во времени.
VLIW модель требует больше усилий на оптимизацию кода, но позволяет получить
более простую архитектуру. По первому пути пошёл Sun со своим
[picoJava]
процессором, по второму пути пошёл Bernd Paysan в своём четырёх-стековом
процессоре [4stack].
Несколько идей на будущее
Несомненно, стековая машина привлекает людей своей простотой и интуитивной
понятностью. Многие простые и понятные новшества, возникающие в процессорной
индустрии, легко ложатся на стековые процессоры. Здесь несколько идей по
организации будущих стековых машин.