И это приятно слышать! Машинный код понятный каждому!
Ну, не станете же спорить, что данный процессор можно реализовать немного сложнее, чтобы считывались 32-битные слова и конвейером за один такт выполнялась та же группа «AB_A1_3D» как целая «OR A1,B3»?
Думаю, ещё десять лет теории да практики и реализовать это вполне возможно…
Как я это вижу?
Использовать сразу несколько ПЗУ с кодированием дополнительных бит для связи в цепочку, чтобы в 32-битном слове одно ПЗУ выделяло префикс «AB» и переключало мультиплексоры операндов, другое ПЗУ должно выделить «A1» и переключить индекс, а уж «3D» задействует АЛУ с дизъюнкцией и сохранением результата.
В принципе, это можно и сейчас реализовать, выбросив регистры хранения индексов и операндов, подключив их напрямую к шинам разных ПЗУ: Если какое-то из ПЗУ выделило префикс индекса в слове, то именно эта часть слова направляется мультиплексером на шину индекса.
Потом задача ещё состоит в том, на сколько октетов нужно сдвинуть 32-битное слово кода для подгрузки новой команды. Тут с прошивками всех ПЗУ придётся здорово повозиться! А это уже ненужное чрезмерное усложнение всей схемы в целом и концептуально…
P.S.: Ещё раз акцентирую: Процессор с интуитивно прозрачной системой команд набросал. И в качестве ядра под мой x80 он вполне подходит по тем же интуитивно идеологическим принципам. А если команда «NOP» будет занимать тысячу и один такт - это издержки реализации, а не концепции.
(Если аккуратно вскрыть тот же Core-i7 и перепрошить всё ядро под разбор моих x80-команд, то вместо гадких и противных x86-инструкций смогут выполняться мои по миллиарду за раз! Это ещё с i486 стало возможным, если отказаться от поддержки x86-кода…)






Ответить с цитированием