Часть УУ работает
2019-03-12 11:06МЭСМ-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
Я добавил в фазу decode автоматическое приращение счётчика команд (PC), теперь некоторые команды выполняются за один такт (vtm, utm, mtj. j+m).
Описание микроархитектуры по мере разработки постепенно образуется на странице: https://github.com/besm6/mesm6/wiki/Microarchitecture

no subject
Date: 2019-03-18 07:34 (UTC)no subject
Date: 2019-03-18 19:30 (UTC)Попробуй для примера переписать ARX в двухтактном виде.
no subject
Date: 2019-03-18 19:34 (UTC)Когда всё заработает, можно будет подумать насчёт оптимизации.
no subject
Date: 2019-03-18 20:08 (UTC)Кстати, AAX и AOX обнуляют Y, а AEX делает Y := ACC. :) Тесты это не проверяют?
no subject
Date: 2019-03-18 21:01 (UTC)Трудность с UZA и U1A: они тоже должны ставить Y := ACC, но поскольку они выполняются в УУ, они не могут влиять на регистр Y, который находится в АУ. Может быть придётся специальный сигнал тащить в АУ для этого.
no subject
Date: 2019-03-18 22:09 (UTC)Но тогда придется тащить какой-то сигнал, указывающий, как делать YTA.
no subject
Date: 2019-03-18 21:10 (UTC)no subject
Date: 2019-03-19 21:26 (UTC)no subject
Date: 2019-03-19 22:20 (UTC)no subject
Date: 2019-03-19 23:37 (UTC)no subject
Date: 2019-03-20 00:04 (UTC)Мне казалось, что как сейчас получается достаточно просто.
Единственная проблема вылезла - установка Y<=A командами UZA и U1A.
no subject
Date: 2019-03-18 21:43 (UTC)Переписал: https://github.com/besm6/mesm6/commit/439921d93bd9d618ebb5ade64b38186c0e81d503