Странно, что уважаемый VSLAV не отписался об этом в своей профильной ветке (цифровая археология). А я и не знал, что F11 уже готов. Теперь можно делать процессорную плату.
Жалко, что я не знал об этом летом. Времени в отпуске свободного было много. Придется выкроить его сейчас, уж больно интересная тема - первый процессор с диспетчером памяти. Настоящий, а не синтетический эмулятор типа pdp2011. На первый взгляд, VSLAV сохранил внешний интерфейс процессора примерно таким же, какой был и у других процессоров, что сильно упрощает задачу. Буду пробовать погонять на нем XXDP-тесты...
Elias(18.10.2022)
По комментариям не понятно (или я не увидел) - сделана она полностью (то есть проходит тесты) или нет
В логе git есть вот это:
То есть какие-то заводские тесты проходят. Если XXDP загрузится, то можно будет погонять уже специализированные тесты, если есть такие. Кстати, я что-то не припомню, существуют ли они вообще. Для J-11 видел, а вот для F-11 навскидку не попадались.Код:- runnable on FPGA, factory tests passed
Наконец нашел время и собрал процессорную плату на отреверсенном F11. Пока, конечно, по упрощенной схеме, без поддержки DMA. Пришлось помучаться с регистром начального пуска FDIN, но, в итоге, плата заработала. Встроенный в микрокод ODT запустился, консоль-загрузчик М9312 тоже. XXDP загрузилась:
Кстати, первый раз вижу, чтобы XXDP спрашивал тип шины. До сих пор он сам мог определить, QBUS или UNIBUS у меня. Видимо, это связано с тем, что на том же F11 существует плата KDF11-U и машина PDP-11/24 с шиной UNIBUS.Код:177777 @165020G 177777 177777 177777 177777 $DX CHMDXC0 XXDP+ DX MONITOR BOOTED VIA UNIT 0 28K DOES THIS SYSTEM HAVE A UNIBUS? (Y/N CR=Y) N NON-UNIBUS SYSTEM ENTER DATE (DD-MMM-YY): RESTART ADDR: 152010 THIS IS XXDP+. TYPE "H" OR "H/L" FOR HELP. .D ENTRY# FILNAM.EXT DATE LENGTH START 1 JKDAD1.BIC 3-MAR-83 28 000050 2 JKDBD0.BIC 3-MAR-83 52 000104 3 JKDCB0.BIC 3-MAR-83 52 000170 4 JKDDB0.BIC 3-MAR-83 32 000254 5 JKDEB0.BIN 3-MAR-83 90 000314 6 JKDFA0.BIC 3-MAR-83 25 000446 7 HUDIB0.SYS 3-MAR-83 5 000462 8 UPD2 .BIN 3-MAR-83 25 000467 9 HDDXB0.SYS 3-MAR-83 3 000520 10 JKDIA0.BIC 3-MAR-83 23 000626 .
Тест MMU JKDA работает:
Скрытый текст
Код:.R JKDA?? JKDAD1.BIC CJKDAD0 KTF11-AA MMU DIAG. SWR = 000000 NEW = END PASS # 1 ;TOTAL ERRORS SINCE LAST START AT 200 0 END PASS # 2 ;TOTAL ERRORS SINCE LAST START AT 200 0[свернуть]
На этом все хорошее заканчивается.
Тест процессорной логики JKDB виснет намертво.
Первая часть теста FPP, JKDC, проходит без ошибок:
Скрытый текст
Код:.R JKDC?? JKDCB0.BIC CJKDCB, KEF11-A FP DIAGNOSTIC PART 1 SWR = 000000 NEW = END PASS # 1 END PASS # 2 END PASS # 3[свернуть]
Но вторая часть, JKDD, также виснет намертво. О загрузке чего-то большего чем XXDP можно только мечтать - даже убогий RT-11 молча виснет.
Тут, конечно, могут быть и мои косяки. Особенно с обработкой прерываний - я это делаю немного не так, как VSLAV в своей референсной схеме. Но, с другой стороны, вся остальная платформа уже протестирована на нескольких разных процессорах, в том числе на очень похожем LSI-11, и на 22-битном PDP2011. И все явные проблемы давно уже выловлены. Хуже, если проблема все же в самом процессорном ядре - тогда придется лезть в его кишки, поскольку сам великий VSLAV тут больше не появляется.
Вообщем, теперь надо брать в зубы листинги тестов, начиная с JKDB, поднимать signaltap и начинать нудное разбирательство. Но радует, что уже хоть что-то заработало.
Все мои эксперименты лежат в экспериментальной ветке F11 репозитория - https://github.com/forth32/dvk-fpga/tree/f11.
Логика там такая - если тип процессора (MFPT) - 3, проверяется наличие регистра переключателей. Если его нет - спрашивается.
- - - Добавлено - - -
Уточнение - зависит от версии XXDP+ - так, как описано - в самой последней. В более ранних - тупо - тип процессора 3 - спрашиваем.
Ну и более хитрая логика (но тоже может спросить), если тип процессора - не 3
Я до этого полагал, что UNIBUS от QBUS можно однозначно отличить по доступности PSW на шине по адресу 177776, ну или по наличию инструкций MTPS/MFPS. Видимо, все не так просто...
Один из признаков - наличие регистра переключателей - но его отсутствие - не говорит о том, что машина QBus. Не могу сказаать наверняка, но вроде на /24, /84 и /94 как его нет, а машины - Unibus
PSW и MTPS/MFPS вроде как вообще не играют роли
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)