vak: (Default)
[personal profile] vak
Проект МЭСМ-6 помаленьку двигается. Уже работают 27 машинных команд (из 49). Евгений [personal profile] x86128 для наглядности перерисовал схему процессора в популярном симуляторе Logisim.


Date: 2019-03-23 06:37 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
А logisim потянет его эмулировать с какой-нибудь вменяемой скоростью? Или нет такой цели? Я студентам в нём показываю частенько что-то, но по мелочам, а не целиком процессор конечно...
Edited Date: 2019-03-23 06:38 (UTC)

Date: 2019-03-23 09:35 (UTC)
x86128: (Default)
From: [personal profile] x86128
На моей машине core i5 @ 3.1GHz получается примерно 100 маш. циклов в секунду. Люди конечно заморачиваются оставляют моделирование на ночь, либо пишут как плагины большие кусоки процессора, а сам logisim используют как плату для макетирования.
В общем скорость совершенно невменяемая :)
Цели моделировать в logisim нет (не говоря уже о создании нового функционала процессора), но оценить трудозатраты советского инженера-сборщика-отладчика при потактовой отладке можно.
По большому счету я начал рисовать МЭСМ6 в logisim чтобы проверить себя - смогу ли я дальше идти по пути создания настольной интегральной БЭСМ-6. А это как раз и не оценить без модели:
1) отлаженной verilog модели, за что большое спасибо Сергею и Леониду
2) максимально близкой к железу по количеству пучков проводов logisim модели.

Date: 2019-03-24 02:50 (UTC)
x86128: (Default)
From: [personal profile] x86128
Кстати, нашелся симулятор Digital https://github.com/hneemann/Digital
Как раз для студентов самое то.
Поддерживает 64-битные шины.
Пожалуй, я периресую схемы в нем.

Date: 2019-03-25 17:14 (UTC)
x86128: (Default)
From: [personal profile] x86128
Пока с этим Digital собираю грабли:
1) Он прописывает внутри модели абсолютные пути к hex-ам ROM-файлов. И соотв. при переносе между разными машинами ругается.
2) Каждый запуск сбрасывает в 0 все модули RAM, поэтому для работы тестов где есть необходимость в RAM, надо глобально в настройках указывать hex-файл образа памяти и ставить галочку на компоненте DRAM - programm memory.
3) Нельзя поставить симуляцию на паузу для изучения состояния суб-модулей основной схемы, поэтому пришлось её сделать плоской.

Скорость приличная, конечно, пока еще в ALU не доделаны все операции. У меня получается на машине в районе 500кГц

Модель в Digital это баловство, не больше. Но почему бы и нет? :)

Date: 2019-03-25 17:32 (UTC)
x86128: (Default)
From: [personal profile] x86128
Да еще нет поддержки восьмеричного вывода :(