MVV wrote:Я что-то пропустил?
Походу наверное все, что я писал. Сколько раз я уже писал, что сабж есть проц для 0-тактовой памяти, т.е. юзабельность некстз80 в реальных системах никакая. Он годится только для тестбенчей. Итого, к нему либо прикручивается конвеер, либо кеш который будет чуть ли не частью ядра на регистрах (ибо памяти в циклонах клоковые), либо фтопку его целиком, а пишется новое ядро с конвеером и мульонов блоков дешифрации и исполнения.
По новому ядру концепты следующие:
1. Фетчить по 32 бита на этапе фетчера. По мере исполнения команд сдвигать опкодерный буфер на нужное кол-во байт, соответствующее длине выполненной команды. Недостающее подтягивать. (Так делают STM8/32, Xtensa, например.)
2. Дешифровать сразу всю инструкцию целиком, включая префиксы. На индексные префиксы требуется отдельный такт дешифратора, ибо их можно напихать тысячи, по типу DD DD DD 21 00 00.
3. АЛУ сразу 16 бит.
4. Модуль райтбэк записи.
Профиты:
- реально современная конвеерная архитектура,
- высокая частота за счет конвееризации,
- высокая производительность за счет широких шин,
- потенциальная возможность суперскаляра, если пилятору хватит умений и альтеры.
Минусы: можно забыть не только про потактовую совместимость, но и про кодовую. Самомодифицирующийся код работать не будет, например.