vak: (Default)
[personal profile] vak
МЭСМ-6 уже проходит несколько тестов: работают команды uj, vtm, utm, mtj, vzm, v1m, j+m, vjm, vlm, utc, wtc.

Я добавил в фазу decode автоматическое приращение счётчика команд (PC), теперь некоторые команды выполняются за один такт (vtm, utm, mtj. j+m).

Описание микроархитектуры по мере разработки постепенно образуется на странице: https://github.com/besm6/mesm6/wiki/Microarchitecture

Date: 2019-03-18 20:08 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
ОК, тогда я сделаю state machine, как мне удобно.

Кстати, AAX и AOX обнуляют Y, а AEX делает Y := ACC. :) Тесты это не проверяют?

Date: 2019-03-18 22:09 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Не придется. С точки зрения АУ это будет просто AEX 0, а раз режимы живут в УУ, то сохранение текущего режима (в отличие от настоящего AEX, устанавливающего логическую группу) не требует никаких дополнительных сигналов в АУ.
Но тогда придется тащить какой-то сигнал, указывающий, как делать YTA.
Edited Date: 2019-03-18 22:49 (UTC)

Date: 2019-03-19 21:26 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Я подумал, а зачем вообще нужно, чтобы УУ видел Y? Он же всё равно ничего с ним сделать не может. Единственная польза от него в УУ - это реализовать YTA в логической группе как "считывание", а в арифметической - подавать как аргумент в АУ. Тогда АУ будет полностью экранирован от понятия группы.

Date: 2019-03-19 23:37 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Одно из двух - или Y сидит в АУ, не вылезая наружу, и будет две разные операции АУ для разных режимов YTA, или как сейчас, и аналога операции YTA в АУ не будет вообще. В арифметическом режиме в АУ будет выполняться только ее E+N часть.