Форт из кремния
4 июня 99 (v1.64) [su]
По содержанию статьи принимаются все мыслимые и немыслимые
конструктивные замечания. Я буду обновлять и наполнять этот документ
новым содержанием по мере сил.
Алексей Чепыженко drom@forth.org.ru
|
|
Введение. Что такое "Форт-микропроцессор"?
Как показала история, язык ФОРТ не чужд любому, даже самому "слабому"
микропроцессору и микроконтроллеру. Это подтверждается практическим наличием
ФОРТ-систем для большинства 8, 16-и и 32-х разрядных процессоров.
Из-за своей своеобразной мнемоники Форт не претендует на роль популярного
языка как C или Pascal, но широко используется во встраиваемых системах
реального времени, где важна компактность, скорость, переносимость.
Предельная простота принципов Форта привела разработчиков к мысли о
создании Форт-процессоров, способных на аппаратном уровне выполнять примитивы
виртуальной Форт-машины. Языком самого низкого уровня для такого процессора
является язык Форт. В свою очередь ФОРТ является прекрасной базой для построения
трансляторов с других языков высокого уровня.
Основные принципы построения таких процессоров были обобщены
Филиппом Купманом в 1989 году, но
только сейчас, с появлением новых 32-х разрядных ФОРТ-процессорв удалось оценить
потенциал этой идеи. Противостояние микропроцессоров с регистровой и стековой
архитектурой в немалой степени возникло под влиянием именно этих идей. Можно
найти много объективных соображений,
почему стековая
машина, но факты лучше любых аргументов!
Традиционно, программная модель Форта 16-и разрядная. Для многих приложений
эта разрядность до сих пор является оптимальной. Именно по этому первые
Форт-процессоры имели разрядность 16. В первую очередь такие процессоры
нашли применение в системах управления в реальном масштабе времени. На
базе 16-и разрядных Форт-ядер удобно строить однокристальные микроконтроллеры.
Мечте любого Фортера суждено было наконец сбыться...
MISC ( Компьютер с Минимальным Набором Команд ) - дальнейшее развитие идей
команды Чака Мура, который закономерно полагает, что принцип "простоты",
изначальный для RISC процессоров, слишком быстро отошёл на задний план.
Форт на параллельных процессорах
В последнее время возрос интерес к машинам, параллельным на уровне команд
(ILP). Существует две основные архитектуры, использующие мелкозернистый
параллелизм программы и исполняющие несколько операций для каждой
инструкции:
- суперскалярная модель, с кодированием стационарным по данным;
- VLIW модель, с кодированием стационарным во времени.
VLIW модель требует больше усилий на оптимизацию кода, но позволяет получить
более простую архитектуру. По первому пути пошёл Sun со своим
[picoJava]
процессором, по второму пути пошёл Bernd Paysan в своём четырёх-стековом
процессоре [4stack].
Interesting ideas:
Microprocessor's implementation in FPGA.