Forth
http://fforum.winglion.ru/

Форт-процессор с VLIW/EPIC
http://fforum.winglion.ru/viewtopic.php?f=3&t=3237
Страница 1 из 1

Автор:  Hishnik [ Ср май 29, 2019 03:01 ]
Заголовок сообщения:  Форт-процессор с VLIW/EPIC

Тестируется еще один вариант форт-процессора. На этот раз это стековый процессор на основе подходов VLIW/EPIC. Напомню, что VLIW - это "сверхдлинное командное слово", а EPIC - "явный параллелизм команд". Это близкие вещи, и EPIC был предложен как развитие VLIW.

Особенность (или недостаток?) VLIW в том, что там исходно заложена возможность конфликта по доступу к данным. Например, связка
R0 = R1 + R2; R3 = R0 + R5
не может выполняться параллельно, поскольку вторая инструкция использует результат первой. Поэтому код может получаться "рыхлым", и часть исполнительных устройств может простаивать.

Что получается со стеком.
1. За счет входных коммутаторов "проглатываются" слова, манипулирующие стеком. Т.е. если выполняется DUP +, то слово DUP реализуется на входных коммутаторах, которые подают на 1-й и 2-й входы АЛУ вершину стека.
2. Используется дерево АЛУ, а не параллельные АЛУ. Поэтому можно выполнить команду над двумя верхними числами на стеке, а с результатом выполнить операцию, привлекая третье сверху число.

Что получилось в итоге.
1. Относительно небольшой размер ядра в ячейках ПЛИС. Явный параллелизм позволил уложить логику декодирования фактически в обычные мультиплексоры, в итоге возможных действий получилось гораздо больше, чем привычных слов ядра Форта, а эти слова являются подмножеством возможных операций.
2. Умеренная частота. Пока тесты на 50 МГц (low-cost ПЛИС), с возможностью перехода на 80-100 на high-end.
3. Команда в 36 бит с возможностью использования литералов прямо в поле команды. В итоге такие вещи как @ ! и подобные также "глотают" один из операндов, делая ненужным лишний такт на помещение литерала на вершину стека перед использованием.

Зачем.
Память в новых ПЛИС выросла в объеме, и от софт-ядра хочется умеренной частоты (чтобы удобно укладывалось в проекты общего назначения) при хорошем уровне соответствия Форту, а также возможности исполнения кода, скомпилированного из Си-подобного входного языка. В итоге сейчас есть 4 софт-ядра стековых процессоров различного назначения.

Автор:  diver [ Пт май 31, 2019 22:00 ]
Заголовок сообщения:  Re: Форт-процессор с VLIW/EPIC

Картинки будут ? :D

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/