Спасибо конечно!
Но я наверно не совсем ясно выловился!
Это так сказать группирование по действиям которые должен сделать "Контролер".
В нескольких словах звучит так:
Извлекаем код команды, определяем ее последующие действия:
1. Команда без префикса, не требует операнда, не производит запись/чтение памяти/портов. То есть самые простые "LD A,B".
2. Команда без префикса, не производит запись/чтение памяти/портов, но имеет один операнд "LD A,n". Та и "Контролер" знает что надо обязательно подгрузить операнд.
3.
ВОТ ПРИМЕР ПО СЛОЖНЕЕ, КОМАНДА УСЛОВНОЙ АДРЕСАЦИИ "LD A,(HL)". Здесь адрес ячейки указан в регистровой паре, что нельзя прокешыровать. "Контролер" после подачи на ЦП опкода должен установить флаг привилегии на доступ к памяти, и когда ЦП запросит чтение памяти, предоставить незамедлительно. В случае когда флаг уже установлен для второго ЦП, должен(к сожалению) генерироваться сигнал WAIT.
4. Ну и еще пример, "JP nn". Здесь получаем опкод, декодируем и видим что следует 2-а байта операнда + индикатор перехода. Действия загружаем в буфер(фифо) команду и 2 байта, вычисляем адрес прыжка и переходим кешыровать на него.
Вот так то все запутано
