Цитата Сообщение от Bolt Посмотреть сообщение
А если выполнять по 2 команды за такт, то цикл из одной команды замедлится в 3 раза
Нет, идея с регистрами мне не нравится. И в любом случае переход сбивает буфер инструкций (конвейер). Потом может для циклов придумаю что-нибудь.
Конвейер сбивают непредсказанные переходы, а аппаратные циклы штука вполне предсказуемая.

Цитата Сообщение от Bolt Посмотреть сообщение
Для такого двойного процессора программист будет писать две команды в строке, или ассемблер соберёт две в одну? Потому что проектировать процессор с блокировками и байпасами меня что-то совсем не прёт.
Можно либо ставить специальный знак, что к данной строке нужно прицепить команду из следующей, но мне больше нравится вариант продолжать команды в той же строке.

Цитата Сообщение от Bolt Посмотреть сообщение
Разделение регистров позволяет и push сделать по маске, и два ALU с двумя операциями за такт, но я на данный момент вообще не понимаю как эту параллельность воткнуть в то, что есть. При 32-битных командах RISC всё получается просто, но надо сохранить совместимость с Z80, а он совсем не RISC, переменная длина команд всё портит. Предел, на котором по-моему надо остановиться - один байт кода за такт.
С переменной длинной может помочь только двоичная перекомпиляция, но наверно действительно лучше остановиться.