- зависание pdp-11 Q-BUS процессора
-
? bigral@ - 19.02.2014 20:29
Почему возможна ситуация при которой программно можно напрочь "завесить" pdp11 процессор? (HALT при этом не поможет, только DCOK)
-
? MM@ - 19.02.2014 22:12
1.Проблемы с МПИ - некорректная обаботка обращения к устройствам, особенно в зоне регистров.
2.Неверный код ПЗУ/ПЛМ - от старости биты выпали ( после 15-20 лет хранения - бывает в 10% случаев ).
3.Для IDE - порта - некорректный кабель/жженый IDE - девайс.
4.Несовместимый софт или версия софта - особенно в области математики/спецкоманд.
*
Проходит ли тест ОЗУ ?
Отключен ли кэш ?
Проходит ли термотренировку ?
*
Вообще бы неплохо по-подробнее узнать про обстоятельства висяка.
-
? anonymous - 19.02.2014 22:20
Да модель бы узнать хотя бы, принципиальная разница в схемотехнике между разными PDP-11 имеется...
-
? bigral@ - 22.02.2014 00:21
процы прверял kdf11-aa m8186 и kdj11-aa, slu тоже разные от DEC и сторонние везде одинаково виснет, вот такой кусок работает нормально
@5000/106427 106427
@5002/000000 0
@5004/012737 12737
@5006/000100 101
@5010/177564 177566
@5012/012737 240
@5014/000101 240
@5016/177566 240
@5020/000240 0
@5000gA
005022
¤
а такой весится:
@5000/106427 106427
@5002/000000 0
@5004/012737 12737
@5006/000100 100
@5010/177564 177564
@5012/012737 12737
@5014/000101 101
@5016/177566 177566
@5020/000240 240
@5022/000240 240
@5024/000240 240
@5026/000000 0
@5000g
-
? MM@ - 22.02.2014 00:33
А что по адресу 000064 / 000066 в момент старта программы ?
-
? bigral@ - 22.02.2014 01:27
а пофиг что, я туда заносил спец табличку которая при возникновении любого прерывания вываливает в пульт и печатает номер сработавшего вектора, вот прога Patron-a которая эту таблицу набивает:
MTPS #177777
mov #6000,sp
¤
Mov #0, (0)
Mov #200,R1
Mov #2, R0
1$:
Clr (R0)
Mov R0, 2(R0)
Cmp (R0)+,(R0)+
SOB R1, 1$
¤
HALT
¤
но это пофиг! всеравно оно весится четко, и никакой вектор не срабатывает и на HALT не реагирует.
¤
Проверил шину - выяснил что на AN2 (BIAKO) и на AM2(BIAKI) в этот момент почти постоянный 0v, частота 50кГц и длительность импульса в уровне +5v меньше чем в 0в более чем в 10 раз... (просто шпильки такие на 5в с частотой 50кгц), эти же сигналы в ИНВЕРТИРОВАННОМ виде видны на BT2 и BM2 (BDAL линии)
-
? MM@ - 22.02.2014 01:47
Попробуйте такой вариат программы :
001000 : 012706 001000 012737 001100 000064 012737 000340 000066
001020 : 012737 000100 177564 106427 000000 012737 000101 177566
001040 : 005000 077001 000000
.
001100 : 005227 000000 000000
*
Если останов произойдет по адресу 1044 - нет возникновения прерывания от передатчика пультового терминала
Если останов произойдет по адресу 1106 - все работает.
Если будет висяк - возникновение прерывания из др. источника. Рекомендую проверить ячейку 1102 - там может быть +1 - т.е. прерывание выполнено и ушло в далекую даль.
Запускать следует на свежевключенной машинке из пульта - т.е. без всяких фокусов с ДП и др. фичами.
*
Подробности о модах камня - пусть расскажет уважаемый Anonymous
-
? bigral@ - 22.02.2014 03:11
1 .asect
2 001000 .=1000
3 001000 012706 001000 mov #001000,sp
4 001004 012737 001100 000064 mov #001100,@#000064
5 001012 012737 000340 000066 mov #000340,@#000066
6 001020 012737 000100 177564 mov #000100,@#177564
7 001026 106427 000000 mtps #000000
8 001032 012737 000101 177566 mov #000101,@#177566
9 001040 005000 clr r0
10 l01:
11 001042 077001 sob r0,l01
12 001044 000000 halt
13 001100 .=1100
14 001100 005227 000000 inc #000000
15 001104 000000 halt
¤
весится без разговора
-
? MM@ - 22.02.2014 03:31
Попробуйте такой вариат программы :
001000 : 012706 001000 012737 001100 000064 012737 000340 000066
001020 : 012737 000100 177564 005227 000000 106427 000000 005227
001040 : 000000 012737 000101 177566 005000 077001 000000
.
001100 : 005227 000000 000000
*
После ее запуска выложите ее дамп - вполне вероятно, в ячейке 1030 будет +1, а в 1040 - такое, как и было - 000000 ( при первом запуске ) - значит, действуют др. прерывания. Таблицу прерываний см. в ТО на М-ЭВМ ( для 1831 ИС - J11 ).
-
? MM@ - 22.02.2014 03:51
Проходят ли встроенные тесты памяти ?
*
А если взять и в наглую воткнуть MY ( через пассивный переходник ) - да загрузиться с классической дискеты ДВК - монитор SJ строго.
( Вероятность успеха - 50/50. КМД приготовить для МС1201.01 - т.е. без высших адресов.)
*
Если в упор не выйдет фокус с КМД - цепляем КНГМД БК11М на МПИ ( т.е. Q-bus ), и используем RT11SJ и драйвер BY.SYS - с него надо каким-то хитрым образом переписать начальный загрузчик в 000000 блок приготовляемого диска ( наверное - руками ) . Без патча драйвер выдаст "Boot error" - за счет 10-кратного быстродействия импортных камешков - надо будет его пропатчить дессом на предмет замедления головки дисковода ( см. инструкцию системного пультового программера на БК11М - раздел параметры дисковода или типа такого ).
Обращаю внимание, что блок КНГМД надо патчить ИС 555ЛЛ1 - что бы сигналы DIN and DOUT не проходили на ВП1-128 при неактивном сигнале BS7 ( фиксировать сигналом SYNC ) - иначе ВП1-128 будет равномерно распределена по всему адресному пространству в высших адресах - т.е. драйвер VM.SYS будет вредничать конкретно.
-
? bigral@ - 22.02.2014 08:21
нету никакого теста встроенного, более того нету даже boot rom-a по большей части, точнее он есть но там такие дибильные загружчики (ничего ценного), сейчас взял backplane от vax-а, зарядил туда 3 платы проц память и slu - пашет наура, но тут 50 гц прерывания есть, может в этом и есть дело? подать LTC?
¤
грузится могу через HX протокол Patron-a, он создал спец систему которая без прериваний грузится
-
? anonymous - 22.02.2014 10:06
Висяк может быть из-за прерываний, да. В каком состоянии линия EVENT, кстати, находится? У ДВК ее нормальное состояние - лог. 0, у PDP-11 - единица и отсутствие импульсов на ней.
「и используем RT11SJ и драйвер BY.SYS - с него надо каким-то хитрым образом переписать начальный загрузчик в 000000 блок приготовляемого диска ( наверное - руками )」 Загрузчик копируется стандартными командами ОС, например, copy/boot:by my0:rt11bl.sys my0: - скопировать первичный драйвер от BY и загрузчик монитора RT11BL из имеющихся файлов на MY0 на устройство MY0.
「Обращаю внимание, что блок КНГМД надо патчить ИС 555ЛЛ1 - что бы сигналы DIN and DOUT не проходили на ВП1-128 при неактивном сигнале BS」 достаточно SYNC не подавать и ВП1-128 не будет реагировать на DIN/DOUT. Асинхронный триггер-защелку ставим с записью по "1" и хранением по "0" на тактовом входе, вход его на BS, выход его на один вход ЛЛ1, на второй вход ЛЛ1 - SYNC, и выход ЛЛ1 - на вход ВП1-128.
-
? anonymous - 22.02.2014 10:12
На тактовый вход - естественно SYNC.
-
? Patron - 22.02.2014 13:20
> весится без разговора
А если установить бит разрешения прерываний для приёмника, а потом нажать клавишу - зависнет, продолжит работу без прерывания или сработает как положено ?
...
> Висяк может быть из-за прерываний
Так и есть. Вся эта история началась с того, что стало понатно, что после первого же выставления запроса прерывания портом терминала - шина блокируется. Не то, что прерывание не проходит, а именно прекращается всякий обмен на шине. Пришлось модифицировать RT-11 для работы без прерываний терминала.
-
? anonymous - 22.02.2014 18:24
А другой slu воткнуть не пробовали? Хотя бы напаять проводками ВП1-035/-065...
-
? anonymous - 22.02.2014 18:29
А, увидел вверху - slu меняли, ну тогда тип корзины посмотрите, может, вы в неверное место ставите проц и порты - были же и равноправные корзинки с разной коммутациеи, были и под специальную быструю адресацию памяти - там процессор в среднюю позицию ставился, все модули выше - память, ниже - порты; а были корзинки для модулей многоплатных, которые обеспечивают коммутацию соседних слотов, например контроллер для RL01/02 если не в такую сунуть - он с дымом горит.
-
? Patron - 24.02.2014 02:16
> тогда тип корзины посмотрите
Так и оказалось: ( http://zx.pk.ru/showthread.php?postid=677489 )
-
? bigral@ - 24.02.2014 02:49
Я так понимаю что цепочка в qbus корзине не обязательно должна начинаться с первого слота? А начнется она от платы процессор-а и далее по зигзагу или линии как и обычно, ну т.е. поставив плату процессора "в середину" а все остальные платы потом мы просто "отрежем" пол корзины но никаких требований шины не нарушим?
-
? anonymous - 24.02.2014 22:42
Не просто отделяем - корзины с PMI слотами и с CD-interconnect'ом имеют несколько разную разводку, отличающуюся от обычных слотов.
-
? bigral@ - 09.03.2014 07:39
Переставил платы в середину корзины, 3 линии слотов спереди и сзади пустые - ничего не изменилось. Наверное нужно делать LTC 50Hz или искать контроллер с встроенным LTC.
- << Форум