Цитата Сообщение от blackmirror Посмотреть сообщение
Нужно соблюдать баланс между возможностями аппаратуры и удобством программирования, последнее очень важный фактор для успеха любой архитектуры.
Я не про то, не про удобство программирования.

Можно нафантазировать любую систему команд, которая сможет считать вдоль, поперёк, а ещё по диагонали и стоя в гамаке Потом так же тупо "в лоб" описать это на HDL, не думая что там получится в "железе". А получится там 5000 cell-ов и частота 30 МГц.
А можно, увидев такое непотребство, как-то переделать, что-то выкинуть, что-то добавить, и получить 1000 cell-ов и 100 МГц.

И дело не столько в характеристиках, сколько вот в этой... неупорядоченности, что ли. Да тот же Z80. Номер регистра берётся и из битов 0..2, и из битов 3..5, и от префиксов зависит, и исключения из нумерации, и младший бит отбрасывается, и чего там только нет. По флагам картина такая же. Кто сможет коротко описать как меняются флаги Z80, даже документированные? Это играйте, это не играйте, а здесь рыбу заворачивали. Давайте напишем case на 100 строк, синтезатор разберётся.

Поэтому я против аппаратных циклов. Они очень усложняют то, что уже есть. Дожать один такт, создав себе кучу проблем, и потом героически их решать? Нет, я сначала сделаю как могу, хоть 10 тактов на эту djnz, потом буду думать как ускорить.

- - - Добавлено - - -

Цитата Сообщение от andrews Посмотреть сообщение
а ядро сейчас в виде эмулятора или уже на fpga?
В виде эмулятора, с некоторыми допущениями, кое-что написано именно как программа, не как эмулятор. Эмуляция эмуляции не знаю как объяснить.

В FPGA только прикидываю отдельные блоки, сколько займут места и на какой частоте смогут работать.

- - - Добавлено - - -

2 килобайта это тот самый микрокод, который для внутреннего ядра.