Вход

Просмотр полной версии : Особенности процессоров и устройств архитектуры PDP-11. Тесты. Диагностика.



Страницы : 1 2 3 4 5 6 7 8 9 [10]

ra3qdp
16.04.2019, 13:08
сколько получилось на каких машинах ?

LeoN65816
18.04.2019, 22:01
Интересная инфа (http://simh.trailing-edge.com/dsarchive.html).

AFZ
19.04.2019, 04:31
Интересная инфа.Глянул пл ссылке, что там пишут про F-11 и удивился. Там описывается комплект из трех БИС, а их же 5 шт?.. Или Control DC303 повторяется трижды с разным набором микрокодов и обозначается по типу DC303.n, где n = 1, 2, 3 ?

shattered
01.11.2025, 16:59
Обновления в тесте:

1. Улучшено тестирование команды деления (спасибо за замечание Patron'у).
2. Сделано жесткое тестирование команды MARK (на реале не проверено, проверено на эмуляторах УКНЦ - EmuStudio и UKNCBTL).

TSTVM2 v0.3a (http://sderni.ru/247758)

она же (исходник + бинарь):

https://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/titus_vm2testUKNC/

Alex_K
07.11.2025, 13:39
Большая просьба к уважаемым владельцам реальных машин с F-11 или 1811 (KDF-11, M6, DEC PRO, Электроника-85) запустить этот небольшой тест. Интересует результат в последней строке.
А если у кого есть FPGA с моделью F-11 от Vslav, тоже запустить.

Hunta
07.11.2025, 14:38
Постараюсь в выходные

Hunta
09.11.2025, 20:19
KDF11-B:


.RUN HX6:TADDF
042177 177777
040000 000376
042200 037777


.

Alex_K
09.11.2025, 20:31
KDF11-B:
А наш на 1811 у вас есть?

- - - Добавлено - - -


042200 037777
Здесь ошибки нет. В модели там при опросе прерываний перескакивает на двойную точность с одинарной и в последней строке получается 042200 040000.

Hunta
09.11.2025, 21:51
А наш на 1811 у вас есть?
Да. Сейчас попробую на нём.

- - - Добавлено - - -

Хм... M6 Red6 МК1 Ред3


.RUN HX6:TADDF
042177 177777
040000 000376
042200 040000




- - - Добавлено - - -

KDF-11A:



.RUN HX6:TADDF
042177 177777
040000 000376
042200 037777

.

Alex_K
09.11.2025, 22:09
Хм... M6 Red6 МК1 Ред3

.RUN HX6:TADDF
042177 177777
040000 000376
042200 040000
Неужели наши что-то пропустили при копировании?

- - - Добавлено - - -

Hunta, а какие версии чипов у вас стоят в KDF-11?

Hunta
09.11.2025, 23:01
KDF11-A:

303D 23-001C7-AA
302F 21-15541-AB
303D 23-002C7-AA
303D 23-203C7-AA

KDF11-B:

303E 23-001C7-AA
302H 21-15541-AB
303E 23-002C7-AA (на второй 303F 23-002C7-AA, но тестировалось на первой)
303E 23-203C7-AA

- - - Добавлено - - -

У меня есть в загашнике есть ещё варианты 1811 и F-11, но с ходу вспомнить, куда я их положил - не получилось. Попробую на следующих выходных посмотреть - какие варианты (в первую очередь 1811) ещё есть и попробовать на них прогнать тест
Вообще странно - до сих пор был уверен, что в Воронеже драли один в один...

Alex_K
09.11.2025, 23:29
Вообще странно - до сих пор был уверен, что в Воронеже драли один в один...
Могли и не заметить. При эмуляции FPP там модифицируется сама инструкция. Берутся биты с 7 по 5 из FPSW, которые отвечают за точность и округление и ими делается BIC битов 15-13 в сохранённом коде инструкции. В самой инструкции FPP там все единицы, ну некоторые чистятся. И эта модифицированная инструкция заносится в регистр инструкций в процессоре и регистр ПЛМ в чипе управления. Такое используется при переходе на адреса в ПЛМ, чтобы сразу выполнить нужную инструкцию и перейти куда-то в зависимости от точности. Но в микрокоде есть адреса от 00 до 0F, при переходе на которые регистр ПЛМ заменяется словом состояния и прерываний. Это используется для прерывания эмуляции инструкции FPP, если произошло прерывание. Но обычно такое делается в циклах, которые от точности не зависят. После завершения цикла регистр ПЛМ восстанавливается модифицированным кодом инструкции. Но вот при реализации ADDF и SUBF есть один момент. Там перед одним циклом в регистр ПЛМ заносится ноль или один, в зависимости от точности. А потом переход на адрес 0A. На этом адресе также происходит замена регистра ПЛМ словом состояния. Но на этом же адресе, т.к. он в ПЛМ, выполняются разные команды в зависимости от состояния младшего бита. Видно пропустили, что в чипе с номером 2 (у нас это ВУ2) при загрузке слова состояния не надо загружать нулевой бит. В слове состояния это бит начального запуска и при работе он равен единице. Так что при загрузке единицы производится переключение этого цикла и последующего сложения мантисс в двойную точность из одинарной. И если при сложении третьих слов произошел перенос, то он пойдёт во второе слово.

vva
15.11.2025, 23:20
А если у кого есть FPGA с моделью F-11 от Vslav, тоже запустить.
042200 040000

Hunta
16.11.2025, 01:02
Ожидаемо.. Vslav, если память не изменяет - вскрывал 1811