А не проще ли сфоткать кристалл под микроскопом, который имеется у нескольких человек с форума, и разобрать микрокод?
Или мы не ищем легких путей?
А не проще ли сфоткать кристалл под микроскопом, который имеется у нескольких человек с форума, и разобрать микрокод?
Или мы не ищем легких путей?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
1801ВМ1 - один из самых загадочных процессоров в мире.
С одной стороны - команды TST (R0) и CMP (R0),R0 выполнились за строго одинаковое время, но с другой стороны - алгоритмическое время следующей команды после TST (R0) уменьшилось на 1 такт.
Ранее тесты показали, что при выполнении большого количества команд TST (R0) подряд - они выполняются на один такт быстрее, чем CMP (R0),R0. Возможно, дело было в том, что тесты этих команд проводились в разные дни, а тактовая частота процессора довльно сильно зависела от температуры.
Чтобы немного лучше разобраться в вопросе - можно выполнить подряд по три одинаковых команды TST (R0) и CMP (R0),R0 и если их времянки опять совпадут - значит никакого штрафа второго операнда у 1801ВМ1 скорее всего нет.
...
БК-0010.01 @ 3MHz - очень интересный объект для тестирования, но для нормального запуска тестов и вывода результатов - её было бы полезно подключить к PC через последовательный порт.
Нужна любая плата последовательного порта для МПИ ( ИРПС БК, СА УКНЦ, И12 от "Электроника 60" и т.п. )
...
Кому-то проще сфоткать кристалл и разобрать микрокод, а кому-то проще сделать несколько тестов.
Пока не нашлось ни одного желающего пойти по первому пути и только несколько желающих пойти по второму.
Складывается впечатление, что большинству фанатов БК и 1801ВМ1 - их любимый компьютер и их любимый процессор откровенно не интересны. До сих пор, например, никто точно не знает, как на самом деле процессор БК работает с ОЗУ.
Результаты прогона тестов таймингов команд на БК появились совсем недавно и дать их верную теоретическую интерпретацию до сих пор никто не может.
Последний раз редактировалось Patron; 13.04.2013 в 15:10.
Так R0 для смежных комманд уже не будет указывать на адрес следующей команды? Или это уже не суть важно для этого теста?
Можно на "эмуляторе ПЗУ" реализовать и UART, но с некоторым расползанием времянки и скорее всего без прерываний. Но я сейчас буду заниматься захватом видеовывода и выводом его через USB в окошко Windows, уже прикупил макетик на CY7C680013. Возможно туда же получится прикрутить и эмуляцию клавиатуры. Потому что телевизоры у меня далеко, второй VGA монитор есть, но надо скандаблер и жалко место на столе, кучку клавиатур тоже держать не хочется.
Там стоит ВП1-037, с ОЗУ ведь работает она? А процессор на RPLY от нее ориентируется. Какие тут подробности интересны?
Я такое уже делал: http://sensi.org/~svo/bkvideo -- вдруг пригодится.
Больше игр нет
Непонятно, за счёт чего получаются наблюдаемые тайминги.
Например, на БК-0011М @ 4 МГц :
Код:CMP @Tab(R1), @#Addr 6 x DATI 80 CLC CMP @Tab(R1), @Tab(R0) 7 x DATI 80 CLC
---------- Post added at 16:40 ---------- Previous post was at 16:22 ----------
Совсем не важно.
Прерывания весьма желательны, но можно попробовать и без них - в пультовом порту "Электроники 85" тоже, говорят - нет прерываний.Можно на "эмуляторе ПЗУ" реализовать и UART, но с некоторым расползанием времянки и скорее всего без прерываний.
Если удастся сделать рабочий комплект RT-11 + HX для порта без прерываний - он будет грузиться и через пультовой порт Pro350 / Э-85.
Это хорошо для запуска игр, но для загрузки RT-11 и запуска тестов нужен именно терминальный обмен через последовательный порт.я сейчас буду заниматься захватом видеовывода и выводом его через USB в окошко Windows, уже прикупил макетик на CY7C680013.
Конечная задача, которую нужно решить - определение формулы расчёта количества тактов, которое потребуется для выполнения любой команды процессора БК, обращающейся к ОЗУ в циклах от 1 x DATI до 7 х DATI ( или 6 x DATI + DATO или 6 x DATI + DATIO ).Там стоит ВП1-037, с ОЗУ ведь работает она? А процессор на RPLY от нее ориентируется. Какие тут подробности интересны?
Для начала, наверное, хорошо бы получить осциллограммы выполнения всех вариантов команды CMP с кодом команды и всеми аргументами в ОЗУ:
А потом то же самое для MOV и ADD.Код:R0 (R0) (R0)+ @(R0)+ -(R0) @-(R0) Addr @#Addr @Tab(R0) Cmp R1 14 35 35 49 36 49 49 49 61 Cmp (R1) 30 43 43 57 44 58 57 57 70 Cmp (R1)+ 30 43 43 57 44 58 57 57 70 Cmp @(R1)+ 43 57 57 70 58 71 70 70 83 Cmp -(R1) 31 44 44 57 45 58 57 57 71 Cmp @-(R1) 44 57 57 71 58 72 71 71 84 Cmp Addr 43 57 57 70 57 71 70 70 83 Cmp @Tab(R1) 56 70 70 83 71 84 83 83 96
Последний раз редактировалось Patron; 13.04.2013 в 17:45.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)