-
Подтесты 753-756 - тесты функционирования регистров MED
Подтест 757 - тест функционирования микроостанова
Подтест 760 - тест регистрации ошибок в регистрах MED
Подтесты 761-762 - тесты кэш-памяти (взаимодействуя с MED)
Подтесты 763-764 - тесты регистрации ошибок в регистрах MED
Подтест 765 - тест регистрации ошибок кэша в регистрах MED
Подтесты 766-767 - тесты регистрации ошибок в регистрах MED
Итого 13 подтестов. На текущий момент проходят 753-756.
-
Сегодня день начинается с тестирования :) Прогон на тестовом наборе процессоров всех тестов. Потом есть одна мысль по изменению реакции на прерывания и декодирование команды - попробую её реализовать. А потом опять MED :)
-
Пришлось отвлечься от PDP-2011 на холодильник :):)
-
Как ни странно, но задумка вроде прошла и заработала почти сразу (одну ошибку только поправил). Теперь тесты :)
-
Ещё один проц с отложенной обработкой прерываний. Итого, на текущий момент - PDP-11/35 (PDP-11/40), PDP-11/44 и PDP-60. В принципе - понятно, вроде как прародителем были PDP-11/40 (и его oem вариант - PDP-11/35), из которого родились PDP-11/60 (прямой потомок) и PDP-11/44 (на который оказал косвенное - через PDP-11/55 - влияние PDP-11/70)
- - - Добавлено - - -
Но у PDP-11/44 свой выпендрёж.
Кусок теста:
Код:
MOV #0, @#177776
MOV #100, @#177564
TRAP 0
Процессоры без отложенной обработки трапнут ДО TRAP 0, процессоры с отложенной обработкой выполнят TRAP 0 (что будет дальше - зависит от вектора TRAP)
Кусок другого теста
Код:
MOV #340, @#177776
MOV #17272, @#64
MOV #100, @#177564
MOV #17316, @#34
MOV #17304, @#64
MOV #340, @#36
CLR @#177776
TRAP 0
PDP-11/35(40) трапнутся после выполнения CLR @#177776, PDP-11/44 - выполнит TRAP 0
-
Выделение отдельного модуля - (полный) процессор - то есть ядро процессора, процессорные регистры, ДП (включая UMR), память halt режима. В него же будет добавлен модуль кэш-памяти (с прицелом на те процы, где это есть). Пока в процессе рас-по-пила и исправления ошибок
- - - Добавлено - - -
Вдогонку. Так же с прицелом на создание моделей процессоров отдельно, а моделей PDP-11 - отдельно :)
-
Распилил и переклеил :) Как обычно - правильное описание соединений потребовало исписание некоторой кучи бумажек :) Но вроде работает и соединения в "корзине" стали проще :)
-
Всё таки малость напортачил пре перепили и склейке - слетела работа UMap. Ну, с причиной разобрался, но сегодня точно не успею всё сделать и проверить... Завтра вечером досклеиваю :)
-
Переделал "корзину" процессорной "платы" :) Поправил работу модуля памяти (большинство Unibus процессоров могу адресовать только 2048-128 = 1920 kw памяти - 128 kw - это окно Unibus плюс за ней страница в/в). Теперь тест Unibus на PDP-11/44 начал проходить. Для PDP-11/44 осталось поправить работу SR1 (два теста ругаются, что туда заносится неправильное значение инкрементов)
- - - Добавлено - - -
А, да, забыл про эти тесты
- ещё надо сделать так, что бы можно было генерировать сигнал Power Fail. Проверка его работы на PDP-11/44 - тест KKAC??
- ещё надо сделать кэш память. Проверка его работы на PDP-11/44 - тест KKKA??
И как вишенки на торт
- Multi Function Module (своеобразная консоль) - тест KKFB
- ZKEE - тест CIS инструкций (но это даже не вишенка, это огромный торт сам по себе :) )
И не совсем понятный тест ZDLH - написано - тест MFU-SLU и DL11-W - про него ещё надо почиать, что это за модуль...
- - - Добавлено - - -
Ишо не проходной тест нашелся - KFPC?? - но там опять SR1 вылез :)
-
Очередной распил монолита. Теперь я из него выдрал всё управления переходами между микрооперациями. Вроде прошло боль-мень.
Но тут мне захотелось странного - отдельное подключение Halt Mode консоли :) Долго провозился с электрической частью - так как думал, что у адаптера COM порты в Windows расположились последовательно, но, похоже, при переименовании - накосячил и COM22 оказался COM24.. А я уж думал - переходник COM-TTL не работает.. Или даже два... Затем надо было vhd файлы (два) поправить, что бы загнать второй com порт в FPGA (заготовка была сделана ДАВНО, но.. не использовалась :) ) ну и прошивку Halt Mode поправить - что бы использовала не стандартный консольный порт :) Но в ней (в исходнике прошивке) я увидел нечто, что заставило меня задуматься :) Она умеет взаимодействовать и с HX сервером и вот как раз на эту тему я и почесал почесуемое. Но решил пока оставить взаимодействе с HX на стандартной консоли :)
Синтез запущен - будет поглядеть :)
- - - Добавлено - - -
Ну что могу сказать :)
Консоль номер 0
Код:
000004 000000 000000 000000
@
@
@
HX 2.2 XXDP Cold boot..
CPU NOT SUPPORTED BY XXDP-XM
BOOTING UP XXDP-SM SMALL MONITOR
XXDP-SM SMALL MONITOR - XXDP V2.6
REVISION: E0
BOOTED FROM HX0
28KW OF MEMORY
UNIBUS SYSTEM
RESTART ADDRESS: 152010
TYPE "H" FOR HELP
.
Консоль Halt Mode
Код:
PDP-11/04 (28KW) (PDP-2011 based) FullODT for halt mode (in development :))
>>>165020G
R0=000000 R1=165202 R2=000100 R3=165212 R4=174000 R5=000000
SP=165212 PC=165354 PS=000344
>>>B HX0
R0=000000 R1=000074 R2=154424 R3=151546 R4=150754 R5=155662
SP=154246 PC=150664 PS=000344
>>>P
R0=000000 R1=000074 R2=154424 R3=151546 R4=150754 R5=155662
SP=154246 PC=150752 PS=000340
>>>
>>>
- - - Добавлено - - -
Есть некоторые нюансы в связи с таким разделением - но так, мелочь пузатая, сейчас можно забить, а потом поправлю в прошивке Halt Mode :) Главное, теперь Halt Mode не влияет на консольный терминал - так что даже тесты консоли можно отлаживать :)