Часть УУ работает
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-12 18:52 (UTC)Не так просто. Регистр C может быть установлен командами UTC, WTC в любом режиме - при этом c_active присваивается 1, и командой ATI 16 в режиме супервизора; и сбрасывается в 0 всеми командами, отличными от UTC, WTC, при начале выполнения которых c_active был равен 1.
no subject
Date: 2019-03-12 19:44 (UTC)Команды UTC и WTC заканчиваются микрокомандой decode с установленным битом c_active, поэтому после них регистр С задействуется. Остальные команды заканчиваются decode без признака c_active, и регистр С не влияет на следующий Vaddr.
ATI в режиме супервизора нетрудно будет добавить. Вообще есть идея сделать отдельный набор регистров для обработчика прерываний, включая стек. Сохранять совместимость с БЭСМ не требуется.
no subject
Date: 2019-03-12 20:30 (UTC)no subject
Date: 2019-03-12 20:49 (UTC)no subject
Date: 2019-03-14 03:14 (UTC)no subject
Date: 2019-03-14 04:07 (UTC)no subject
Date: 2019-03-14 18:31 (UTC)