IPB

Здравствуйте, гость ( Вход | Регистрация )

> КР1801ВМ1, консолидированная информация из разных источников
SuperMax
сообщение 21.10.2014, 23:35
Сообщение #1


Администратор
*****

Группа: Root Admin
Сообщений: 6 342
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Скан из справочника

Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение
Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение
Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение
Прикрепленное изображениеПрикрепленное изображение


--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
SuperMax
сообщение 21.10.2014, 23:51
Сообщение #2


Администратор
*****

Группа: Root Admin
Сообщений: 6 342
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Что происходит в БК-0010 при нажатии клавиши СТОП

Участники событий:
  • 1801ВМ1
  • Системный регистр 177716, он же безадресный регистр SEL1
    • Старшие 8 разрядов определяют адрес перезапуска: в БК-0010 это адрес 100000
    • Бит 3, согласно внутренним канонам 1801ВМ1, служит для подключения системного ПЗУ с эмулятором пультового отладчика. В БК физически отсуствуют как системное ПЗУ, так и этот бит.
    • Бит 2 в БК-0010 устанавливается при любой записи в регистр SEL1 (177716) и сбрасывается при чтении регистра SEL1 (177716). Реализован на триггере D9.1
  • Прерывание пультового режима IRQ1
  • Регистры вектора текущего процесса 177674 (PC) и 177676 (PS) -- эти регистры не реализованы в БК-0010 и попытка записи в них порождает прерывание по ошибке шины (вектор 4)
Адреса, следующие непосредственно за адресом перезапуска, имеют для 1801ВМ1 особый смысл:
  • +0 -- сюда передается управление при старте
  • +2 -- вектор обработчика прерывания IRQ1, или команды HALT
  • +6 -- вектор обработчика прерывания по ошибке шины при переходе на обработчик прерывания
  • +12 -- вектор обработчика прерывания по ошибке шины при передаче вектора прерывания
Но для БК-0010 все эти адреса, кроме самого первого, смысла не имеют, и вот почему. При нажатии клавиши СТОП процессор получает сигнал прерывания пульта и выполняет следующую микропрограмму:


Код


BIS  #10,@#177716                 ; для отключения пользовательского ПЗУ и подключения ПЗУ с отладчиком, которого в БК нет.
MFPS @#177676                     ; сохранение вектора текущего процесса
MOV  PC,@#177674                  ; --//--
MOV  @#(SEL1[разряды 8-15]+C), PC ; переход к обработчику
MTPS @#(SEL1[разряды 8-15]+C+2)   ; исключительных ситуаций




Поскольку регистры 177674,177676 в БК не реализованы, при записи в них возникают ошибка шины и прерывание по вектору 4. Но благодаря тому, что процессор успел попытаться выставить бит 3 в регистре SEL1, при следующем прочтении SEL1 бит признака записи в системный регистр 2 в нем будет установлен в "1". Этим можно воспользоваться для того, чтобы отличить прерывание по нажатию СТОП от ошибок шины.

Переход по векторам обработчиков исключительных ситуаций, лежащих за адресом перезапуска, в БК-0010 невозможен, поэтому эти адреса памяти использованы в БК-0010 иначе.

Ниже - выбранные цитаты из книги "Микро-ЭВМ "Электроника МС 1201" Техническое описание и инструкция по эксплуатации" Т.е. это описание, как подключение 1801ВМ1 сделано в ДВК (выборка информации только для ВМ1, у ВМ2 всё совершенно по другому)

Устройство управления ОЗУ (УОЗУ) выполнено на основе микросхемы К1801ВП1-030.
У ДВК-1 - фактически 64КБ ОЗУ (32 шт. 565РУ6). Но ВП1-030 "вырезает" из ОЗУ старшие 8К и размещает там: кусочки памяти, кусочки системного ПЗУ и оставляет место для регистров ввода/вывода.

Область СОЗУ (177600...177767) предназначена для хранения информации программ пультового режима работы и режима начального пуска.


Регистр режима начального пуска (РНП) предназначен для указания адреса программы начального пуска, а также для хранения "флажков" Ф1 (бит 2) и Ф2 (бит 3) управления скрытыми областями СПЗУ. Разряды Ф1 и Ф2 доступны по чтению и по записи.
Если Ф1=1, то открывается по доступу в адресном пространстве скрытая область СПЗУ по адресам от 160000 до 163776 и закрывается соответствующая область а вдресном пространстве регистров внешних устройств.
При Ф2=1 скрытая область СПЗУ расширяется до адреса 172766.
Разряды 0 и 1 РНП доступны только по чтению и определяют режим начального пуска микро-ЭВМ.


"00" - пуск через вектор по адресу 24 (сбой по питанию)
"01" - безусловный выход на программу связи с пультом
"10" - переход на программу начального загрузчика 173000
"11" - переход по адресу 140000 (ПЗУ пользователя)


Область СПЗУ от 173000 до 173776 (область загрузчика) всегда открыта для пользователя и не зависит от состояния разрядов Ф1 и Ф2.
Разряды 8...15 РНП определяют адрес програмы начального пуска (160000) микро-ЭВМ (младший байт адреса принимается равным 0).
Адреса РНП - 177716, СОЗУ - 177600...177676 и резервных регистров - 177700...177714 являются адресами системных (служебных) ячеек, используемых для организации микро-ЭВМ, которые не рекомендуется использовать в программах пользователя.


--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 5.7.2025, 13:36