Я, конечно, осознаю, что блок-схема - это абстракция, отражающая большую
или меньшую степень детализации обсуждаемого устройства.
Но что-бы был какой-либо адекватный "дискасс", как ты предложил, надо хоть
немного понимать как это "взлетит".

Извини - я немного дополнил исходную блок-схему, как это понимаю я.
И я представляю, согласно рисунку, что это работает так:
Из ПЗУ или ОЗУ через мультиплексор под действием сигнала dsel поступает
КОП - 4-битный код операции.
(Сразу непонятно, почему ПЗУ и ОЗУ детализированы отдельно, управляются
по-разному и коммутируются через мультиплексор - у них же высокоимпедансный
выход, они не мешают по выходу друг другу и мультиплексор вроде как и нафиг
не нужен...)
Я надеюсь, ты это уточнишь...
Значит 4-битный код операции поступил-таки на вход регистра состояния.
На линиях ADDR_NEXT - адреса следующей команды - должный быть нулевые
значения, чтобы мы нашли однозначно первую микрокоманду в ПЗУ микрокоманд,
соответствующую КОДУ ОПЕРАЦИИ.
(Здесь непонятно, почему ПЗУ микрокоманд объеденено с АЛУ, и куда на диаграмме идут
флаги.)
Я надеюсь, ты это уточнишь... Но продолжу по сути:
КОП и начальный ADDR_NEXT=0 выдадут 1-е состояние на выходе
ПЗУ микрокоманд, ADDR_NEXT укажет на следующую микрокоманду,
и далее микрокоманды должны перебираться в ПЗУ микрокоманд последовательно
все, сколько их надо для исполнения ЭТОЙ ОПЕРАЦИИ - верно?
Поскольку я не видел на блок-схеме механизма перебора микрокоманд,
я предположил, что это работает так:
Регистр состояния - это счётчик с предзагрузкой. Первая микрокоманда, соответствующая
КОП-у, разрешает работу Тактовому генератору, который начинает перебирать последовательно
адреса (младшие) в ПЗУ микрокоманд, инкрементируя (декрементируя?) регистр состояния .
ADDR_NEXT-даёт реальный адрес микрокоманд, поскольку все операции, соответствующие
разным Кодам ОПераций, выполняются за разное число тактов.
Последний код микрокоманды, соответствующий конкретному КОП-у, выполняемому
в отдельный момент, должен выставить ADDR_NEXT=0 и выключить Тактовый генератор.
В этот момент на младшие 4 линии регистра состояния, согласно логике работы,
должен поступить следующий КОП из программы.
ADDR_NEXT=0 и КОП снова укажут первую микрокоманду для этого уже КОП-а, и весь
процесс повторится.
Я правильно понял весь принцип работы?
Если да - то я не пойму как:
Как манипулировать в ОЗУ таким вот Регистром состояния - мне совсем непонятно...b2m wrote:Все регистры в ОЗУ.
Если я всё понял неверно, то поясни процесс, как ты его задумал, и как представляешь.