Уточнение: "пропадание питания" должно вызвать прерывание по кернелному 24, дать возможность выполнить сколько-то там команд, после чего все устройства (включая процессор) должны полностью "выключиться" (к этому моменту операционка уже выполнит HALT), сохраняется только память. "Восстановление питания" должно выглядеть как запуск процессора с нуля и вызвать прерывание по физическому 24 (ну собственно он же и кернелным будет поскольку MMU в этот момент выключен), не трогая при этом стек - то есть установить PC/PS и все.
- - - Добавлено - - -
Опробовал в E11 симуляцию сбоя питания на RSX. Для этого сделан плугин который по записи в свой регистр вызывет прерывание по 24, а по init устанавливает PC/PS и достаточно продолжить выполнение командой P:- - - Добавлено - - -Код:>TYP PFAIL.MAC .TITLE PFAIL -- POWERFAIL RECOVERY TEST .IDENT /V01.00/ .MCALL EXIT$S,QIOW$S,SPRA$S,STOP$S START:: SPRA$S #20$ ;SET POWER RECOVERY AST 10$: STOP$S ;STOP BR 10$ ;LOOP 20$: QIOW$S #IO.WVB,#5,#1,,,,<#PWUP,#PWUPL,#40> ;PRINT MESSAGE EXIT$S ;EXIT PWUP: .ASCII /*** POWER RESTORED ***/ PWUPL =: .-PWUP .END START >RUN PFAIL E11>d 172000 1 E11> %HALT R0/172260 R1/172220 R2/172240 R3/172200 CM=K PM=S PRIO=7 R4/177620 R5/172360 SP/002120 PC/045714 N=0 Z=0 V=0 C=0 045714 mov 001114,sp E11>init E11>p *** POWER RESTORED *** >
Ну и развитие идеи симуляции сбоя питания: возможность сдумпить память в файл и выйти из эмулятора, а потом восстановить из файла память и сделать запуск прерыванием по 24.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
При пропадании питания выставляется ACLO - остальное зависит от процессора. Пока выставление ACLO не эмулируется. Когда ( в следующем релизе ) выставление ACLO будет эмулироваться - реакция процессора на выставление ACLO будет в точности такой, как в оригинале.
Предполагается добавить в эмулятор абстрактной шины настройку: nACLO_to_DCLO_Delay_MS - через сколько миллисекунд после выставления ACLO выставлять DCLO.
Последний раз редактировалось Patron; 20.03.2016 в 20:26.
Предлагаю добавить сигналы РА0 РА1 исключительно для модуля ВМ1.
Не совсем в тему, но касается темы сбоев питания... Посмотрел внимательно на то как RT-11 реагирует на сбой питания в случае если поддержка реакции включена. А поступает он просто: меняет вектор и сразу HALT и BR на него. При восстановлении питания - печатает сообщение о сбое питания и останавливается там же. Ну вобщем-то логично раз драйверы не предусматривают восстановления.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Вопрос по режиму отладки (просто интересно) на УК-НЦ есть очень правильная клавиша "ИСП",
а что там с ДВК и PDP - с тем же функционалом есть клавиша - рычажок?
- - - Добавлено - - -
Всем известно, что если запустить какую-нибудь стабильную задачу под RT-11 на УК-НЦ и нажать на плате "СБРОС",
потом в режиме отладки легко снова запустить её, поскольку память не очищается при "RESET" и что бы её очистить
нужно питанием перезапустить машину. Правда такое срабатывает не со всеми "задачами", поэтому что то в памяти
всё равно наверное портится.
ИСП - по сути G обычного пульта.
Это все несколько не в тему. Речь про отработку падения/восстановления питания с сохранением памяти (у меня например можно к памяти внешнюю батарейку прикрутить, на VAXовской и 11/84 корзине предусмотрено подключение батарейки прямо через основной разъем. В этом случае после восстановления питания можно продолжить работу. Но RT-11 так не умеет поскольку в нем не предусмотрено восстановление работоспособности устройств после сбоя питания. В RSX-11 можно (и программа может принимать оповещения о ситуации).
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Кстати, а как размонтировать привод HD, не залезая в конфиг? Вот я намонтировал себе с HD3 по HD6, поработал, теперь они мне не нужны, только отвлекают. Так как их убрать?
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
.
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_21.03.16_18-18
Изменения:
1. Внесены изменения, описанные ЗДЕСЬ.
2. В объект PDP11A16 добавлены состояния MainPower и MainReset, а также настройка nACLO_to_DCLO_Delay_MS, определяющая задержку в миллисекундах между выключением MainPower ( или включением MainReset ) и выключением Power ( или включением Reset ) - минимальное значение 0, максимальное 50, по умолчанию 25. В процессоры добавлено состояние ACLO, активирующееся при выключении MainPower и при включении MainReset.
3. В файлах конфигурации VM3.cfg и ДВК-3.cfg кнопки [Power] и [Reset] перенастроены на управление состояниями MainPower и MainReset, а также сделана настройка nACLO_to_DCLO_Delay_MS = 2, что вызывает выставление сигнала ACLO за 2 мс до остановки процессора после нажатия кнопки сброса или выключения питания.
Последний раз редактировалось Patron; 21.03.2016 в 20:03.
Эту тему просматривают: 4 (пользователей: 0 , гостей: 4)