
Комментарии 3
Неужели этим кто-то ещё занимается? Тоже (1986-1992) болел "разработкой ЦПУ", кратко к чему пришел (8-16-32 бит):
"префиксная система команд" - опкоды инвертирован: операнд1, операнд2, операнд3, команда. Первый бит определяет что это - "операнд/команда". Операнды могут отсутствовать, что совмещает стековую, 1,2 и 3-адресную арифметику единым кодом команды.
"специальные префиксы" - а-ля, "повторения" (i86), "условного пропуска" (ARM) команды и суммирования аккумулятора (приемника - последнего операнда). Позволяет иметь набор простых инструкций и поточной обработки массивов тем же набором команд.
Табличные относительные переходы (от регистров-баз) как сокращение длины адреса, лежащего в таблице по типу таблицы прерываний.
Аналогично короткие табличные вызовы подпрограмм в 1 байт (первые 64 команды) от регистра-базы. Аналог виртуальных функций ООП сокращение длины кода.
Широкий набор регистров - несколько (4) комплектов от "базы". Как способ ускоренной реакции на смену контекста (прерывания в 1-2 такта).
Даже делал эмулятор, показавший сокращение размера программ от 3 до 6 раз относительно 80(2-4)86. Но .. кому это тогда было надо да и сию? Поезд ушел и очень давно. Инвертирование структуры команды позволило упростить эмулятор в части блока дешифровки, в целом получалось очень компактно.
Плюсик автору.
А не замахнуться ли нам на Вильяма нашего Аккермана?