- Обработка прерывания 4 и прочие тераковости
- [+] Старые сообщения (17)
-
? anonymous - 18.08.2011 17:46
Чтоб это узнать, нужно найти машину с вм2, у меня под рукой нет таких сейчас. На выходных, предположительно, смогу проверить на УКНЦ или 1201.2, ну и на М2 и М6.
-
? Leo B.@ - 18.08.2011 19:32
Спасибо, anonymous. Если и JMP R0 идет по 4, а не по 10, то ВМ1 можно считать честным воспроизведением 11/03. А если по 10, то это химера!
-
? anonymous - 18.08.2011 21:39
От jmp на регистр ВМ1 и ВМ3 трапаются по 4му вектору, а М8 - по 10му.
-
? anonymous - 19.08.2011 00:00
Сейчас по моей просьбе человек набрал на мс1201.2
.=4
.word 1100,340,1200,340
.=1000
.word 12706,1000,10727,0,100,0
.=1100
.word 0
.=1200
.word 0
И запустил это с 1000. Так вот, супер-результат!
При исполнении в 1006 было занесено значение 1006, а останов произошел с индикацией на консоли адреса 1202!!!
-
? anonymous - 19.08.2011 00:05
Если проще подытожить, ВМ2 - химера, а ВМ1 и ВМ3 - правильные процы. Интересно, как ведет себя ВМ5, но, к сожалению, достать его нереально совершенно...
-
? Александр... - 19.08.2011 06:27
А ВМ6 еще не выпустили? :)
-
? Leo B.@ - 19.08.2011 09:19
То-то RT-11 на некоторых ДВК не понимала, на каком процессоре работает.
-
? anonymous - 19.08.2011 11:58
Александр, ВМ5 еще не выпустили, девочки в ангстреме про него ничего не знают, ОКР со стороны и никто не колется, чьи. В прошлом году было несколько штук (или макетов?) на испытаниях.
-
? Alex_K@ - 20.08.2011 21:37
Запустил выше приведенную программку на УКНЦ (процессор 1801ВМ2) и получил вполне нормальный результат: в 1006 было занесено значение 1006 и останов произошел по адресу 1102. Так что процессор 1801ВМ2 очень правильный.
Результаты: http://kisly-alexey.pisem.net/110820-212426-843.jpg
-
? anonymous - 21.08.2011 02:30
Человек, который проверял, мог и напутать что-нибудь, но я, когда услышал результат, еще переспросил специально - он подтвердил, что по 10му трапнулось. Еще интересный момент: эмулятор E11 при задании разного типа процессора командой set cpu был опробован на той же программке, в результате 11/05, 11/10 и 11/15 на которые resorc.sav пытается списать тип процессора при исполнении на вм2, трапаются в нем по 4му вектору, а после set cpu 03 - трап перескакивает на 10й!
Как доберусь до железок, возможно, что сегодня уже, расскажу, как ведут себя 11/03, 11/23 и 11/24, а также перепроверю на МС1201.2 и УКНЦ.
-
? Александр...@ - 21.08.2011 11:57
@anonymous: Не прошло и 30-ти лет. Ведь ВМ5 был пунктирным прямоугольником в Микропроцессорных Средствах когда-то. :)
-
? anonymous - 21.08.2011 12:34
В дополнение к трапам, описание на Э-60 велит трапаться по 10му, как и 03 проц в эмуляции E11го. До машин живых сегодня не доеду - там ответственный за них не работает сегодня, помещения закрыты.
-
? anonymous - 21.08.2011 12:36
Насколько понимаю, перестала удовлетворять кого-то пара 1836ВМ3/4, поступила команда упрятать в единый кристалл. Какие еще баго-фичи добавят - увидим когда-нибудь. :)
-
? Аноним - 22.08.2011 04:08
Цит. по кн. "Microcomputers and Memories", DEC, 1981. Appendix D. PDP-11 family differences
OPR R,(R)+ or OPR R, -(R) initial contents of R used as the source operand: LSI-11, PDP-11/04, 05/10, 34, 45.
OPR R,(R)+ or OPR R, -(R) contents of R modified by 2 before being used as the source operand: PDP-11/23, 15/20, 35/40
(остальные случаи использования одного и того же регистра для source и destination аналогичны)
¤
JMP R or JSR reg, R traps to 10 - PDP-11/45
JMP R or JSR reg, R traps to 4 - все остальные
¤
Но (вот еще контрольный выстрел):
¤
JMP (R)+ or JSR reg, (R)+ contents of R are incremented by 2, then used as the new PC address: PDP-11 05/10, 15/20.
JMP (R)+ or JSR reg, (R)+ initial contents of R used as the new PC: LSI-11, PDP-11/23, 04, 34, 35/40, 45
¤
JMP R or JSR reg, R traps to 10 - PDP-11/45
JMP R or JSR reg, R traps to 4 - все остальные
¤
-
? anonymous - 22.08.2011 11:18
И как это объясняет поведение 11/03?
-
? Leo B.@ - 22.08.2011 23:58
В SIMH эмулятор 11/03 трапается в 4. Возможно, были какие-то позднейшие доработки (более логично, что JMP R - запрещенная команда).
А trap 4 до инкремента регистра при обращении к несуществующему порту в режиме "2" характерен для 11/04, 34, 35/40* и 45.
¤
(*) Для 35/40 крестик стоит и в строке "до инкремента", и в строке "после инкремента".
-
? anonymous - 23.08.2011 01:19
Сегодня я проверил на живых D11, F11 и ВМ2.
По поводу ВМ2 - человек попутал что-то в наборе кода, очевидно, т.к. я сегодня подъехал к той же машине и получил 1006/ 1006 и 4й вектор, так что с ВМ2 все нормально.
По поводу 11/03 - живая машина дает 1006/ 1006 и трапается по 4му вектору! Откуда взялся вариант в E11 с трапом по 10му, и откуда в описании Э-60М появился 10й - пока загадка.
И последняя из моего зоопарка, 11/23 заносит 1006/ 1010 и трапается тоже по 4му вектору.
-
? anonymous - 23.08.2011 01:36
А еще в качестве шутки можно попробовать выполнять программу в регистрах процессора на старых машинах, которые не имели микрокода пультового режима и по halt честно вставали и отпускали шину, давая полазить по памяти с инженерной консоли, работавшей по ПДП, и имевшие для работы такой консоли регистры, доступные в адресном пространстве.
-
? Leo B.@ - 23.08.2011 01:52
Еще раз спасибо; книжка, выходит, не врёт, а почему RT-11 плохо узнавала тип процессора - пока загадка.
-
? anonymous - 23.08.2011 12:33
ВМ1 и ВМ3 она узнает честно, про первый пишет 11/03, про второй - 11/34 (т.к. 11/33 не было смысла выпускать, ибо 11/23 и появились к тому времени, как одноплатный проц с МПИ дешево такой можно было выпустить, а потом еще крепче нишу его подперли 23+ и 53), что соответствует логике поведения процессоров, почему про ВМ2 пишет, что он 11/05 или 11/10 или 11/15, надо подумать... Кстати, исходник определялки процессора в resorc http://qbus.narod.ru/reshrd.mac
-
? anonymous - 23.08.2011 12:41
P.S. инклюдящийся respfx.mac с макросами туда же положил, http://qbus.narod.ru/respfx.mac
- << Форум