mOleg писал(а):
уф, тогда, конечно, надо конкретизировать, потому как форт процессоры это и: WISC, PISC, MISC, STTA, FRISC и др. В каждом случае есть отличия. Я акцентировал внимание на том, что команды форт-процессора сложнее, чем у RISC.
Нет, не сложнее. Насыщеннее по действиям, поскольку Форт позволяет скомпоновать многие действия в одну команду-слово. Например, в регистровой архитектуре сложно предусмотреть все возможные комбинации влияния на регистры, стек, память, и т.д. (просто потому, что команда разрастется до непомерных размеров), а в Форте слово ! может и записать в память данных, и уменьшить указатель стека на два. А команд "уменьшить на 1", "не изменять" просто нет, так что и задумываться об их реализации незачем.
mOleg писал(а):
Хищник писал(а):
2. Имеет минимальный конвейер на одну стадию короче.
почему на одну, а не на две?
Пропадает DECODE - операнды уже известны, это вершина стека. В регистровом процессоре номера регистров-операндов становятся известны только после чтения команды, так что DECODE требуется после FETCH, а в стековом процессоре во время FETCH можно параллельно читать вершину стека, все равно именно она в любом случае будет использована АЛУ.
Что еще может пропасть - отдельный разговор, но здесь стековый процессор не имеет очевидных преимуществ.
mOleg писал(а):
Хищник писал(а):
3. Имеет более высокую плотность кода.
Зависит от выбранной архитектуры, имхо (скажем, микроархитектуры), однако, в общем согласен.
Да практически нет. Форт-процессор 0-операндный, это автоматически убирает из команды поля операндов (1-2-3, сколько их там будет у регистрового). Опкодов становится счетное количество. Именно опкодов, а не команд, потому что ADD еще имеет массу вариантов по сочетаниям регистров, а вот "+" сам по себе команда с единственным вариантом операндов и получателя.