Заработал новый макет и возник вопрос:
Какое пространство лучше сделать начальным с адресом 000000? ОЗУ или ПЗУ?
https://i.ibb.co/MhCtbJd/mn-K7-A7dpc-S4.jpg
Вид для печати
Заработал новый макет и возник вопрос:
Какое пространство лучше сделать начальным с адресом 000000? ОЗУ или ПЗУ?
https://i.ibb.co/MhCtbJd/mn-K7-A7dpc-S4.jpg
В основном - в векторах прерывания. Их зона - начало адресного пространства. Скажем, тот же консольный порт - 60 и 64, таймер - 100. И если предполагается загрузка каких-то традиционных ОС (типа RT-11) - то без вариантов - в начале АП - ОЗУ
Упроцессоров PDP-11 и их клонов ДВА сброса. Обычный К СБРОС Н (B RESET L) сбрасывает только периферию, и то не всю. Полный всеобщий сброс выдается двумя сигналами - К ПОСТН В (B DCOK H) и К ПИТН В, как по-ангельски не помню. В моей любимой книжке 3.858.382 ТО этот сброс называется "сброс микроканала". Питание должно подаваться при низком уровне обоих этих сигналов, через несколько десятков мкс после того, как питания установятся, должен быть выдан К ПИТН В, а еще через 70 мс (милли, не микро) - К ПИТН В. Некоторым (но не всем) процессорам хватает и более короткой задержки между ПОСТН и ПИТН, вплоть до нескольких мкс, но это не гарантировано поставь другой процессор, и может не хватить.
Тогда придется смириться с фиксированными векторами прерываний. Тут еще под ногами будет путаться HALT MODE процессоров 1801/1806 серий. По-хорошему бы добавить туда ПЗУху с программой HALT MODE и ОЗУшку для нее... Это было бы правильно вне зависимости от количества памяти и назначения платы. Но это не так-то и просто...
Зато дополнительным плюсом была бы возможность посмотреть или изменить, если это не ПЗУ, содержимое любой ячейки пользовательской памяти с пультового терминала, ивообще полная свобода.
И еще я не нашел в описании, что будет делать процессор, если не придет сигнал AR? То есть, если я адресовался к несуществующему устройству или регистру и вход AR в низкий уровень не перешел, то что произойдет? прерывания у процессора на этот случай нет. Так и будет на шине висеть адрес до бесконечности?
Если смотреть на оригинал шины (QBus), то там в принципе не предполагается какой-либо реакции после того, как выставлен адрес и SYNC - задающее устройство просто ждёт некоторое время, после чего выставляет DIN или данные+DOUT. Имещиеся на наших процах сигналы AR, насколько я понимаю, возможность ускорить транзакцию - то есть устройство опознало адрес, выставило AR и все весело поскакали дальше. Если же за определённый промежуток времени (см описание) сигнала AR в проце не прилетело - он просто продолжает транзакцию.
Готовится к производству плата внешнего 16-ти битного регистра со светодиодами
https://i.ibb.co/7VLJ4cG/reg.jpg
Советую сделать его отклик по адресу 177570(8)
Это исторически (а может и не исторически) сложившийся стандартый адреса регистра переключателей (чтение) и дисплейного регистра (запись)
В целом же, ценность платы (не для Вас) возрастёт, если всё таки придерживаться стандарта - RAM внизу, ROM наверху (и желательно на странице в/в в диапазонах 165000-165777 173000-173777), а если будет такой регистр - то на стандартном адресе - и тогда можно будет запускать стандартный софт - в частности - тесты из XXDP
Скажем мне плата с ROM с начала адресного пространства не интересна и скорее всего, таких людей будет не я один
Попробую сделать переключатель на плате, чтобы ПЗУ и ОЗУ менять местами
Контроллер этот задумывается не под операционные системы, а под какую-либо одну единственную функциональную программу. Вряд ли кто сейчас на этом процессоре в современных разработках станет использовать софт для старых ЭВМ
Есть проблема. И я ее не решал с самого начала. 1806 очень редко стартует с первого раза. Включение начинается с нескольких тысяч циклов, где он крутится в прерывании. Потом пауза. И либо он начинает выполнение программы с указанного адреса, либо вообще ничего не происходит и приходится выключать и включать питание, пока не заработает.
Как повысить стабильность работы процессора?
Собственно, в начале глючные циклы, а затем старт программы:
https://i.ibb.co/MPVGkMd/1.jpg ъ
Пауза между этими циклами и нормальным стартом:
https://i.ibb.co/kQYytkk/2.jpg
Сам цикл, в котором крутится процессор после включения
https://i.ibb.co/Z8tnM6M/3.jpg
Сегодня заработал более-менее стабильно работающий макет платы. Правда где-то через 30-50 циклов светодиоды дают сбой. Может не загореться один светодиод или половина всей линейки. И снова 30-50 циклов нормальной работы. Буду добиваться полной стабильности
Всем, принимавшим участие, огромное спасибо! Буду держать в курсе событий
Видео работы:
https://www.youtube.com/watch?v=RJfN...BD%D0%BE%D0%B2
Сделал первое видео:
https://youtu.be/6uj-YmG6k9c
Записал новое видео:
https://youtu.be/JKXwnBDaz38