А схема? Где схема?
---------- Post added at 12:46 ---------- Previous post was at 12:45 ----------
При таком подходе эмулятор будет тормознее, чем черепашка. Мне такая идея однозначно не нравится.
Вид для печати
Схема давно уже по сути не менялась - пока не найдено новых ошибок. Есть мелкие изменения по незначительному переименованию цепей, но это касается только синхронной модели, которая сейчас уходит от абсолютной идентичности схеме (при сохранении фаз вырабатываемых сигналов), поэтому модифицировать саму схему смысла нет. А зафиксированная асинхронная модель ревизий 1.0* ранее выложенной схеме соответствует.
Представляю, сколько возни у вас будет с ВМ2, если возьметесь)
Верно.
Но и при максимально эффективном "компиляторном" подходе вряд ли удастся тратить меньше такта эмулятора на каждый ключ схемы на такт эмуляции. Т.е. (похоже) можно оценить быстродействие программного эмулятора цифровой схемы, как частота хост-машины, делённая на число ключей эмулируемой схемы.
Получается, что для точной программной эмуляции скорости 1801ВМ1, работающего на частоте 5 МГц - нужен хост-процессор с частотой ~ 50 ГГц.
А можно ли получить потактово-точную абстрактную модель, не путём испытания вентильной модели, а как-то иначе.. Я другого пути не вижу.
Для испытаний быстродействие роли не играет - главное, чтобы абстрактная и вентильная модели давали одинаковое потактовое соответствие сигналов на входах и выходах процессора.
Patron, я извиняюсь что встревая в высшую математику.
Мне например не совсем понятно в чём проблема и зачем её создавать,
если можно к примеру обычным способом замерить время на эмулируемой железке
и такое время в мс принудительно прописать в эмуляторе. И не привязывать эмулятор к видео-картинке жертвуя функционалом и не ограничивать проект эмуляторе сверхтребованиями к мощности процессора?
То есть - в чём проблема использовать жёстко прописанные на основании тестов
временные отрезки?
Мне бы вот такое простым языком разъяснение могло бы наверное много моментов
прояснить \ помогло бы что то там додумать доосмыслить и понять (наверное).
Реальный процессор или его вентильная модель - разницы нет. Просто, при использовании вентильной модели гораздо легче организовать тестирование и автоматически проверять потактовое соответствие абстрактной модели оригиналу.
Проблема в том, что при разной тактовой частоте и задержке памяти результаты отличаются очень существенно и весьма нелинейно, поэтому для тестирования обычная процессорная плата не годится - нужен испытательный стенд на базе микроконтроллера.
В такой ситуации программисту гораздо проще использовать для испытаний программную вентильную модель.
А нет ли примера или способа - вычисления компенсирующего коэффициента?
вот сейчас в вашем же эмуляторе - работают два виртуальных Зеленоградских
процессора (в зависимости от конфига ВМ1 или ВМ2) - как в этом конкретном случае скорость их работы прописана?
Ведь в случае настройки true - это реально практически true ! )
---------- Post added at 14:29 ---------- Previous post was at 14:21 ----------
Просто после того как Alex_K. я и ещё товарищи прогнали кучу тестов на реальных платах с ВМ2 - я думал, что наши победили и вот он ВМ2 в эмуляторе ДВК-2 )
Но тут как программисты спорили так и продолжают о чём то "идеальном".
У меня же подход наверное слишком поверхностный к вопросу, чисто пользовательский.
Думаю, что самое оптимальное, это разбить модель процессора на правильные логически завершенные и устойчивые блоки с входами и выходами, времязадающие параметры которых точно ясны. И эмулировать именно их. Мельче бить совершенно не нужно, это ничего не даст. Но для этого модель надо правильно разбить на подобные блоки, чтобы потом не всплыло, что нужно для чего-то бить еще мельче.
На счет испытаний. Разумеется, можно протестировать подобным образом вентильную и эмулируемую модели, но гарантированной идентичности подобное сравнение не даст (на столь сложных системах, как процессор), ввиду разной специфики построения вентильной и эмулируемой модели. Поэтому тесты безусловно нужны и важны, и чем их больше, и разнообразнее, тем лучше, но гарантий 100% идентичности эмулятора дать они не могут.