Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Другие архитектуры »   Инопланетные скрижали
RSS

Инопланетные скрижали

PDP-11 для Intelоидов

<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 7 8 9 10 11 12 13 14 15 .. 25 26 27 28 29 30
Печать
 
Anonymous
Advanced Member


Откуда: Москва(Россия)
Всего сообщений: 2537
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 нояб. 2011
Пультовое ПЗУ желательно спрятать по биту признака пультового режима процессора, т.к. пультовые вектора фиксированы по адресам 0160002..0160014 и, при записи в SEL1 признака пультового режима, по этим адресам должен иметься вразумительный код.
Можно, конечно, эти вектора в ОЗУ прописывать при старте, вместе с векторами в младших адресах.
Старший байт адреса старта читается из SEL1, потому адрес стартового ПЗУ может быть любым, кратным 0400.
MC68k
Member


Всего сообщений: 165
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
18 июля 2015
Anonymous написал:
[q]
Пультовое ПЗУ желательно спрятать по биту признака пультового режима процессора, т.к. пультовые вектора фиксированы по адресам 0160002..0160014
[/q]
Это типа монитора РКшного? А периферия еще выше сидит 177ххх? :)
Anonymous
Advanced Member


Откуда: Москва(Россия)
Всего сообщений: 2537
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 нояб. 2011
Это только три вектора аварийных ситуаций, само ПЗУ может быть где угодно.
Вектора пользователя расположены в нижних адресах, 4/6 - таймаут шины, 010/012 - ошибочная/резервная инструкция, 014/016 - отладочное прерывание для пошагового исполнения программы и по команде BPT, 020/022 - прерывание по команде IOT, 024/026 - прерывание по ножке ACLO процессора, 030/032 - прерывание по команде EMT, 034/036 - прерывание по команде TRAP, 0100/0102 - прерывание по ножке IRQ2/EVNT, 0270/0272 - прерывание по ножке IRQ3. При этом счётчик команд и регистр состояния процессора сохраняются в стеке.
А вот аварийные прерывания имеют вектора 0160002/0160004 - зависание шины в пультовом режиме, выполнение команды HALT или прерывание по ножке IRQ1/HALT процессора, 0160006/0160010 - прерывание по двойному зависанию шины, когда попытка сохранить регистр состояния и счётчик команд в стеке после таймаута шины приводит к повторному прерыванию по таймауту шины, т.е. если указатель стека смотрит на несуществующую память (регистры) или ПЗУ, 0160012/0160014 - прерывание при таймауте передачи вектора прерывания. При прерываниях по аварийным, пультовым векторам, регистр состояния сохраняется в ячейке 0177676, а счётчик команд - в ячейке 0177674, эти же две ячейки служат стартовым вектором прерывания по командам START и STEP.
Ещё у процессора имеется блок регистров длиной 16 байт и его адрес зависит от номера процессора в системе.
Номер задаётся двумя ножками, PA0 и PA1, при этом изменяется не только адресация блока системных регистров, но и выполнение процессором циклов на шине. Если процессор стоит "главным", то он имеет адреса блока регистров 0177700..0177717 и сам инициирует обмен на шине. А если номер процессора другой, то блок регистров размещается в области 0177720..0177777, в зависимости от номера, а на шине процессор выполняет циклы только после запроса и предоставления ему шины от главного процессора или устройства DMA.
MC68k
Member


Всего сообщений: 165
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
18 июля 2015
Anonymous написал:
[q]
Это только три вектора аварийных ситуаций, само ПЗУ может быть где угодно.
[/q]
Я правильно понимаю, что там должна быть некая память, в том числе ОЗУ, с осмысленными адресами перехода?

Anonymous написал:
[q]
Вектора пользователя расположены в нижних адресах,
[/q]
Это хорошая новость.

Anonymous написал:
[q]
А вот аварийные прерывания имеют вектора
[/q]
Возможно ли в учебных целях поставить на них заглушку?

Anonymous написал:
[q]
Ещё у процессора имеется блок регистров длиной 16 байт и его адрес зависит от номера процессора в системе.
[/q]
Это лишнее, но за раскрытие темы доходчивыми словами большое спасибо.
А железки-то где? В смысле ИРПС, ИРПР, КНГМД. Я что-то никак не въеду, как сообразить дешифратор на рассыпухе.
Anonymous
Advanced Member


Откуда: Москва(Россия)
Всего сообщений: 2537
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 нояб. 2011
MC68k написал:
[q]
Возможно ли в учебных целях поставить на них заглушку?
[/q]
Тогда их смысл теряется - не допускать зависания системы в случае ошибок в программе и отлаживать программу из фантомного, невидимого для системы, и не занимающего адресного пространства отладчика. Но даже если ставить заглушку - её придётся ставить.
Архитектурой процессора подразумеваются два режима работы - программ пользователя и пультовой, в первый из них процессор переходит по командам START и STEP, во второй - по критической ошибке, команде останова, либо сигналу останова. При переходе в тот или другой режим, процессор считывает свой регистр SEL1 и записывает обратно модифицированное его значение. Для пультового режима в "1" устанавливается 3 разряд, а для режима пользователя - снимается. Как раз этим разрядом включается/отключается ПЗУ по нужным адресам, а в режиме пользователя на его месте может быть ОЗУ или какие-либо устройства.

Железки можно по удобным адресам расположить, ВМ1 не требователен к этому. Строго фиксированные адреса ИРПС требуются процессорам 581, 1811 и 1831 серий, т.к. у них общение с ними в микропрограмму процессора зашито. В сериях 1801, 1806, 1807, 1836 - всё зависит от программы в ПЗУ.
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
Anonymous написал:
[q]
[/q]
Но Архитектура PDP-11 (по документу DEC) обязывает иметь терминальный порт на 177560
(если я все правильно в детстве прочитал)

Так что с точки зрения DEC - БК не PDP-11 совместимый компьютер, хотя с совместимой системой команд,
Ну и страница ввода-вывода не того размера (не совместимая с архитектурой PDP-11)
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
svinka написал:
[q]
БК не PDP-11 совместимый компьютер,
[/q]
Ну так в 1985 г.ГК БК так и сказали ТРЕЗВЫЕ Товарищи из Кремля - "гавняшку спроектировал, исправляйся !".
В результате в 1987 г . родилась УКНЦ, с 177560 терминалом, аппаратным делением/умноженем, 80 к0тами в строке...

Но это был фальстарт. Настоящая УКНЦ родилась в 1990 г.( которая не висела спустя полчасика после включения ).
MC68k
Member


Всего сообщений: 165
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
18 июля 2015
Anonymous написал:
[q]
Тогда их смысл теряется - не допускать зависания системы в случае ошибок в программе и отлаживать программу из фантомного, невидимого для системы, и не занимающего адресного пространства отладчика. Но даже если ставить заглушку - её придётся ставить.
[/q]
ok.

Anonymous написал:
[q]
При переходе в тот или другой режим, процессор считывает свой регистр SEL1 и записывает обратно модифицированное его значение. Для пультового режима в "1" устанавливается 3 разряд, а для режима пользователя - снимается. Как раз этим разрядом включается/отключается ПЗУ по нужным адресам, а в режиме пользователя на его месте может быть ОЗУ или какие-либо устройства.
[/q]
То есть "ячейка", которая выбирается по SEL1 доступна на чтение и запись?

Anonymous написал:
[q]
Железки можно по удобным адресам расположить, ВМ1 не требователен к этому.
[/q]
Это хорошая новость.

svinka написал:
[q]
Так что с точки зрения DEC - БК не PDP-11 совместимый компьютер, хотя с совместимой системой команд,
[/q]
Как будто чтото плохое.

MM написал:
[q]
Настоящая УКНЦ родилась в 1990 г.
[/q]
Лучше поздно, чем никогда, ага :)
_Patron_
Member


Откуда: Москва
Всего сообщений: 146
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 дек. 2012
MC68k написал:
[q]
То есть "ячейка", которая выбирается по SEL1 доступна на чтение и запись?
[/q]
SEL1 отвечает на DOUT, но изменить состояние там могут только биты 2 и 3 ( маска ^b0000000000001100 ). Эти биты управляют отображением кода ПЗУ пульта в адресах 160000..172777. Если в этом диапазоне не планируются регистры устройств ( или если там вообще нет кода ПЗУ ) - отображение кода ПЗУ можно не делать и состояние битов не менять. Но запись в SEL1 всё равно должна докладывать процессору об успехе ( выставлением RPLY в ответ на DOUT ) иначе процессор не сможет работать.
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
_Patron_ написал:
[q]
SEL1 отвечает на DOUT, но изменить состояние там могут только биты 2 и 3 ( маска ^b0000000000001100 ). Эти биты управляют отображением кода ПЗУ пульта в адресах 160000..172777. Если в этом диапазоне не планируются регистры устройств ( или если там вообще нет кода ПЗУ ) - отображение кода ПЗУ можно не делать и состояние битов не менять. Но запись в SEL1 всё равно должна докладывать процессору об успехе ( выставлением RPLY в ответ на DOUT ) иначе процессор не сможет работать.
[/q]
смотрим схему бк и делаем вывод что почти все что здесь написано - заблуждение автора
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 7 8 9 10 11 12 13 14 15 .. 25 26 27 28 29 30
Печать
Полигон-2 »   Другие архитектуры »   Инопланетные скрижали
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS