Hunta, с тех пор как я стал гордым обладателем ZX-Uno (на FPGA), мне захотелось две вещи:
1. Запустить на нём Виртовскую Оберон-систему.
2. Ядро для моей любимой УКНЦ, ну и БК/ДВК тоже можно.
Ваша активность в сторону второго пункта) Респектирую.
Вид для печати
Hunta, с тех пор как я стал гордым обладателем ZX-Uno (на FPGA), мне захотелось две вещи:
1. Запустить на нём Виртовскую Оберон-систему.
2. Ядро для моей любимой УКНЦ, ну и БК/ДВК тоже можно.
Ваша активность в сторону второго пункта) Респектирую.
В PDP-2011 пока только DEC-овские процессора. Так что из наших микропроцессоров можно воспроизвести только 1811 (F11) и 1831 (J11). Ну, может быть частично 1807 (T11).
Возможно, когда-нибудь, добавлю ВМ1-3. Тогда и можно будет говорить о БК/УКНЦ/ДВК. Но я не ставлю себе целью сделать идентичные по скорости процессора, так что ВМ1-3, ну по крайне мере ВМ1-2 будут работать быстрее оригиналов.
Ну ишо бы PDP-11/35 и PDP-11/40 не одинаково себя вели :) Даже железный проц один и тот же :)
PDP-11/40 - retail, PDP-11/35 - oem :)
Из занимательного...
Это он на PDP-11/35. Подозреваю, что из за чего то косячного в ДП (которое так же валит VM)..Код:@DL0
CPU NOT SUPPORTED BY XXDP-XM
BOOTING UP XXDP-SM SMALL MONITOR
XXDP-SM SMALL MONITOR - XXDP V2.6
REVISION: E0
BOOTED FROM DL0
28KW OF MEMORY
UNIBUS SYSTEM
RESTART ADDRESS: 152010
TYPE "H" FOR HELP
.
PDP-2011 в роли PDP-11/03 (ака LSI-11) и XXDP :)
Код:+ VKAA - 11/03 Basic Instr. test
+ VKAB - 11/03 EIS Instr. test
- VKAC - 11/03 FIS Instr. test
Нету FIS-а :)
+- VKAD - 11/03 TRAP test
Пришлось ручками подсказать, что нету FIS-а :)
- VKAH - 11/03 LSI-11 4k System Exerciser
Как правильно запускать - не понятно, описание отличается от листинга
- VKAI - 11/03 DIBOL Instr. test part 1
Нету DIS-а :)
- VKAJ - 11/03 DIBOL Instr. test part 2
Нету DIS-а :)
- VKAL - 11/03 TRAP test part 2 (30k+FIS)
Нету FIS-а :) а как запретить - пока непонял...
+ ZKMA - 11/03 Memory test (any PDP-11)
Код:000003 000000 000000 000000
@L 177544
@E 177544 000000
@L 10000
@D 12706
@D 10000
........
@D 4715
@D 4715
@D 5007
@L 10000
@S
HX 2.2 XXDP Cold boot..
MEMORY MANAGEMENT UNIT NOT FOUND
BOOTING UP XXDP-SM SMALL MONITOR
XXDP-SM SMALL MONITOR - XXDP V2.6
REVISION: E0
BOOTED FROM HX0
28KW OF MEMORY
NON-UNIBUS SYSTEM
RESTART ADDRESS: 152010
TYPE "H" FOR HELP
.R VKAAA0
VKAAA0.BIC
END PASS
END PASS
END PASS
END PASS
END PASS
END PASS
END PASS
000003 000444 000530 000404
@L 152010
@S
.R VKAAC0
VKAAC0.BIC
END PASS
END PASS
END PASS
END PASS
END PASS
END PASS
END PASS
END PASS
END PASS
END PASS
000003 000142 000450 000102
@L 152010
@S
.R VKABA0
VKABA0.BIC
END PASS
END PASS
END PASS
END PASS
000003 000001 000574 000404
@L 152010
@S
.R VKABB0
VKABB0.BIC
END PASS
END PASS
END PASS
000003 077777 000600 000404
@L 152010
@L 177544
@D 100
@L 152010
@S
.R VKADC0
VKADC0.BIC
CVKADC0 LSI-11 TRAPS TEST
EIS/FIS OPTION NOT PRESENT
DIBOL INSTRUCTION SET NOT PRESENT
000003 012676 000500 012700
@L 177570
@E 177570 000100
@L 422
@D 100
@L 200
@S
CVKADC0 LSI-11 TRAPS TEST
EIS/FIS OPTION NOT PRESENT
DIBOL INSTRUCTION SET NOT PRESENT
END OF PASS
END OF PASS
END OF PASS
END OF PASS
END OF PASS
000003 012676 000474 012700
@L 152010
@S
.L VKADC1
VKADC1.BIC
.
000003 150754 154246 155662
@L 422
@D 100
@L 200
@S
CVKADC0 LSI-11 TRAPS TEST
EIS/FIS OPTION NOT PRESENT
DIBOL INSTRUCTION SET NOT PRESENT
END OF PASS
END OF PASS
END OF PASS
END OF PASS
000003 000000 000500 177777
@L 152010
@S
.R ZKMAF0
ZKMAF0.BIC
CZKMAF0
000000-037776
TST13 BNK 00
TST13 BNK 01
RELOC
TST13 BNK 00
PASS# 01
TST13 BNK 00
TST13 BNK 01
RELOC
TST13 BNK 00
PASS# 02
000003 010310 000476 040000
@L 177544
@E 177544 000100
@D 0
@L 200
@S
CZKMAF0
000000-157776
TST13 BNK 00
TST13 BNK 01
TST13 BNK 02
TST13 BNK 03
TST13 BNK 04
TST13 BNK 05
TST13 BNK 06
RELOC
TST13 BNK 00
PASS# 01
TST13 BNK 00
TST13 BNK 01
TST13 BNK 02
TST13 BNK 03
TST13 BNK 04
TST13 BNK 05
TST13 BNK 06
RELOC
TST13 BNK 00
PASS# 02
000003 010442 000476 160000
@L 10000
@D 12706
.....
@D 4715
@D 5007
@L 10000
@S
HX 2.2 XXDP Cold boot..
MEMORY MANAGEMENT UNIT NOT FOUND
BOOTING UP XXDP-SM SMALL MONITOR
XXDP-SM SMALL MONITOR - XXDP V2.6
REVISION: E0
BOOTED FROM HX0
28KW OF MEMORY
NON-UNIBUS SYSTEM
RESTART ADDRESS: 152010
TYPE "H" FOR HELP
.R ZKMAF1
ZKMAF1.BIC
CZKMAF1
000000-157776
TST13 BNK 00
TST13 BNK 01
TST13 BNK 02
TST13 BNK 03
TST13 BNK 04
TST13 BNK 05
TST13 BNK 06
RELOC
TST13 BNK 00
PASS# 01
TST13 BNK 00
TST13 BNK 01
TST13 BNK 02
TST13 BNK 03
TST13 BNK 04
TST13 BNK 05
TST13 BNK 06
RELOC
TST13 BNK 00
PASS# 02
TST13 BNK 00
TST13 BNK 01
TST13 BNK 02
TST13 BNK 03
TST13 BNK 04
TST13 BNK 05
TST13 BNK 06
RELOC
TST13 BNK 00
PASS# 03
000003 010442 000500 160000
@
В коде много ссылок на конкретные модели процессоров.
Мне это не нравилось, не нравится и не будет нравится.
Поэтому сделал описатель фич и сделал описания для некоторого количества процессоров.
Цель - всё через описатель фич :)
Большая часть уже была удалена ранее, но некоторое количество ещё присутствует.
Вот, опять пристреливаю :)
Некоторые успехи по работе из командной строки :) Могу прогнать всё то, что делаю из графики, кроме прошивки результата синтеза :) Осталось понять, как реализовать одну идейку с параметризацией - и мона будет гонять синтез всех вариантов проца по ночам :)
Из занимательного.
PDP-2011, 100 МГц.
Исходный вариант (процессор PDP-11/94)
Процессор с доработанным в/в (всё таки сделал, как хотел - с пятой примерно так попытки)Код:.RUN HX7:SPEED3
Тест быстродействия (кэш, если он есть, выключен)
....
R1(23456.)+R0(12345.) 1 050 393 оп./сек -> 4 752 094 оп./сек
....
Подкрученный ДП и памятьКод:R1(23456.)+R0(12345.) 1 330 804 оп./сек -> 6 654 020 оп./сек
PDP-11/04 (ДП нет, но память подкручена) :)Код:R1(23456.)+R0(12345.) 1 996 685 оп./сек -> 9 991 613 оп./сек
Код:R1(23456.)+R0(12345.) 3 698 027 оп./сек -> 14 224 410 оп./сек
Простенько и со вкусом :)
Тот же тест на эмуляторе Патрона :) Сильно пляшет, это лучший вариант из примерно 10 прогонов :)Код:000004 000000 000000 000000
@DL0
RT-11SB (S) V05.07
.R MSCPCK
.@T
.RUN HX7:SPEED0
Тест быстродействия (кэш, если он есть, выключен)
BR .+2 30 844 127 оп./сек
R0(23456.)+R0(12345.) empty 6 757 428 оп./сек
R1(23456.)+R0(12345.) 4 979 818 оп./сек -> 24 322 842 оп./сек
.SHOW CONFIGURATION
RT-11SB (S) V05.07
Booted from DL0:RT11SB
USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
MODE is set NOSJ
TT is set NOQUIET
ERROR is set ERROR
SL is set OFF
EDIT is set KED
FORTRAN is set FORTRA
KMON nesting depth is 3
Global .SCCA flag is disabled
CLI is set DCL, CCL, UCL, NO UCF
PDP 11/15,20 Processor
56KB of memory
50 Hertz System Clock
Memory parity support
SB timer support
Global .SCCA support
FPU support
Extended unit support
.
Код:Тест быстродействия (кэш, если он есть, выключен)
BR .+2 29 022 332 оп./сек
R0(23456.)+R0(12345.) empty 9 809 270 оп./сек
R1(23456.)+R0(12345.) 4 468 840 оп./сек -> 8 208 338 оп./сек.
.
Что "забыл" :) написать - это результат на тактовой для процессора - 200 МГц :)
Результат, увы, сильно не стабильный (если тронуть код - прошивка может не запуститься) и пока только для процов без ДП (точнее, смотрел только на PDP-11/04)
Так же пробовал память BRAM тактировать на 400 МГц :) Пару раз сумел загрузить RT-11 :)