Встречал терминологию что ODT в микрокоде называется microODT а написанный для исполнения как обычные инструкции например для "хальтрежима" T-11 - MacroODT
И похоже что идея macroODT c T-11 и позаимствована зеленоградцами
Встречал терминологию что ODT в микрокоде называется microODT а написанный для исполнения как обычные инструкции например для "хальтрежима" T-11 - MacroODT
И похоже что идея macroODT c T-11 и позаимствована зеленоградцами
Последний раз редактировалось svinka; 18.12.2020 в 14:09.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
И даже стека, но вполне определённые. В каком то документе мне попадались рекомендации-правила при написании подгружаемых в EEPROM аппаратных загрузчиков - в том числе, говорилось прo то, какие PAR-ы и как можно использовать. Не помню насчёт PDR-ов, но с ними возможны нюансы - не все биты доступны для записи. Какие - надо смотреть описание
Да, описание есть и вроде как сходится с реальностью. Досконально я не проверял, ибо список команд очень небольшой (см выше) и на беглый взляд всё вроде совпадает.
- - - Добавлено - - -
Кстати - одно из существенных отличий ПЗУ MXV11-B и KDJ11-B от 134-ого ПЗУ - это не ПЗУ проверки-отладки, они не заботятся не только о сохранении-восстановлении регистров, они вообще проводят полную реинициализацию комп при выходе в них, в том числе, можно сразу забыть и о настройках ДПВ этом плане они ближе к BIOS-ам на IBM PC.
Ну и, опять же - в отличии от 134-ого, ПЗУ от KDJ11-B не предполагает наличие оперативкиА вот (более ранний?) вариант ПЗУ MXV11-B использует примерно килобайт ОЗУ в район 2xxx-3xxx адресов (не помню точно).
Я долго не мог понять, как ПЗУ от KDJ11-B обходится без оперативки - вектора типа 4 и 10, а так же BPT, TRAP и EMT он вполне активно используетТолько потом дошло, что с ДП они (вектора) могут располагаться где угодно - хоть в области ПЗУ
![]()
Последний раз редактировалось Hunta; 18.12.2020 в 14:41.
kolk(19.12.2020)
В принципе всё логично, аж три группы регистров для трёх мод, а занята одна группа
Для тестов и загрузки более чем достаточно ...
По две группы для каждых из трёх режимов работы проца - PDR не в счёт, ЕМНИП, то есть всего шесть.
Но.
Часть из них используется по прямому назначений - для режима ядра.
Осталось четыре.
Ещё одна группа - под стек.
Осталось три - или 18 слов
Максимальная глубина стека - 8 слов - и они будут использоваться как при вызове процедур (одно слово), так и при прерывания (аппаратных и программных), о чём нельзя забывать, особенно учитывая, что активно используются BPT, TRAP и EMT - а у них два слова, то есть максимальная глубина вложенных вызовов - порядка 6-ёх, но легко добраться и до 4-ёх. В общем - код ещё тот у ПЗУ.
MMU в архитектуре PDP-11 отключаемый
А вот без MMU интересно режимы пользователя-ядра в psw устанавливаются-хранятся?
- - - Добавлено - - -
и еще вопрос
у ВМ3 инструкция MFPT по документации отсутствует
Мож есть? что возвращает?
М4 прошел тесты расширенной арифметики и прерываний.
Также выяснилось что команды расширенной арифметики не прекращаются при запросе на прерывание - обрабатываются полностью, прерывание происходит после окончания обработки команды EIS. Это затрудняет прохождение теста, так как используются прерывания от терминала и сложно попасть прерыванием в фазу до начала длинной команды EIS (она занимает по времени процентов 90 тестового цикла).
Пока не проходит тест FIS, надо разбираться.
hobot(19.12.2020), Sergei Frolov(19.12.2020), yu.zxpk(19.12.2020)
Тесты FIS не проходит потому что M4 в плавающих инструкциях четко сохраняет биты PSW[6:5], а вот настоящий LSI-11 там всегда хранит нули.
С фильтрацией этих битов PSW - тесты OK.
- - - Добавлено - - -
Итак, под марш "Са-а-а-ав-е-е-е-ецкий ц-и-и-ирк" выкатывается рабочая асинхронная модель M4.
Хм.. Типа - приоритет 4 и больше не фига?![]()
Ну биты 6 и 5 у М4 есть, но они ничего не делают. Можно установить, можно прочитать установленное, и на этом усе.
- - - Добавлено - - -
Кстати, загадка почему выход предекодера инструкций надо xor-ить с 0x11 осталась нераскрытой.
Это может быть и сбой PLM 556РТ2, а может и левые инверторы на переходной плате, которых у нас нет. В-общем, работает оно с ^0x11, а без него, естественно - нет.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)