Микропроцессор В1801ВМ1

Однокристальный 16-разрядный микропроцессор К1801ВМ1
предназначен для выполнения следующих функций: обмен информацией с другими устройствами;
подключенными к системной магистрали; обработка прерываний от клавиатуры и устройств
пользователя, подключенных к разъему порта ввода-вывода. Процессор
является единственным активным устройством микроЭВМ, управляющим циклами
обращения к системной магистрали и обрабатывающим прерывания от пассивных
устройств, которые могут посылать или принимать информацию только под
управлением процессора. Микропроцессор К1801ВМ1 работает в БК с тактовой
частотой 3 МГц и содержит следующие основные функциональные блоки
: 16-разрядный операционный блок, служащий для формирования адресов
команд и операндов, выполнения логических и арифметических операций, хранения
операндов и результатов; блок микропрограммного управления,
вырабатывающий последовательность микрокоманд, Соответствующую коду принятой
машинной команды. Этот блок построен на базе программируемой логической матрицы
(ПЛМ). содержащей 250 логических произведений; блок прерываний,
организующий приоритетную систему прерываний (прием и предварительная обработка
внешних и внутренних запросов на прерывание); интерфейсный блок,
обеспечивающий обмен информацией между микропроцессором ром и прочими
устройствами, подключенными к системной магистрали. Этот же, блок осуществляет
арбитраж при операциях прямого доступа к памяти,
формирует блок
системной магистрали, связывающий внутреннюю магистраль однокристального
микропроцессора с внешней, управляющий усилителями приема и передачи информации
на совмещенные выводы адресов и данных; Система команд, реализованная в ПЛМ блока
микропрограммного управления микропроцессора К1801BM1, совпадает с системой
команд наиболее распространенных отечественных мини- и микро-ЭВМ типа
"Электроника 60" (ДВК-2. 3, 4 и т.п.) и практически аналогична принятой для
компьютеров серии DEC. Предусмотрен также ряд специальных команд,
предназначенных для работы с системным ПЗУ К1801РЕ1. Сигналы AD0-AD15
представляют собой адреса и данные, передаваемые по совмещенной системной
магистрали. Передача адресов и данных по одним и тем же линиям связи
обеспечивается путем разделения этих операций во времени. SYNC- вырабатывается процессором как указание,
что адрес находится на выводах системной магистрали, и сохраняет активный
уровень до окончания текущего цикла обмена информацией; RPLY-
вырабатывается пассивным устройством в ответ на сигналы DIN и DOUT. При
отсутствии сигнала RPLAY (т. е. когда выбранное устройство- регистр или ячейка
памяти - не отвечает) процессор отсчитывает 64 такта синхрогенератора и затем
прерывание по зависанию (вектор 4); DIN- предназначен для организации
ввода данных (когда микропроцессор во время действия сигнала SYNC готов принять
данные от пассивного устройства) и ввода адреса вектора прерывания (DIN
вырабатывается совместно с сигналом IAK0 при пассивном уровне
SYNC); WTBT- указывает на
работу с отдельными байтами и вырабатывается при обращении по нечетному адресу
(операнд - старший байт) или при отработке байтовых команд. рующим микропроцессор о
готовности устройства передавать адрес вектора прерывания. Если прерывание
разрешено, то в ответ на этот сигнал процессор вырабатывает сигналы DIN и
IAK0. Сигнал IRQ1 обеспечивает управление режимом "СТОП-ПУСК" процессора с
внешнего переключателя. Низкий уровень сигнала (активный) соответствует режиму
"СТОП". соответственно (при переходе из высокого
уровня в низкий) . Сигнал предоставления прерывания IAK0 процессор
вырабатывает в ответ на внешний сигнал VIRQ. Сигнал IAK0 передается по очереди,
начиная с устройства с максимальным приоритетом, ретранслируясь от одного
устройства к другому в порядке уменьшения приоритетов. Устройство с наибольшим
приоритетом из числа выставивших запрос на прерывание (сигнал VIRQ) запрещает
дальнейшее распространение сигнала IAK0, таким образом запрещая на время
обработки данного прерывания запросы от устройств с тем же или более низким
приоритетом. Однако устройства с более высоким приоритетом могут прервать
обработку повторным ("вложенным") прерыванием. Сигнал DMR вырабатывается
внешним активным устройством, требующим передачи ему системной магистрали (режим
прямого доступа к памяти). В ответ па него процессор устанавливает сигнал DMGO,
предоставляющий системную магистраль внешнему устройству с наивысшим приоритетом
из числа запросивших прямой доступ (механизм реализации приоритетов - тот же,
что и для прерываний). Это устройство прекращает дальнейшее распространение
сигнала DMGO и выставляет сигнал SACK, означающий, что устройство прямого
доступа к памяти (ПДП) может производить обмен данными, независимо от процессора
используя стандартные циклы обращения к системной магистрали. Низкий уровень
сигнала BSY означает, что микропроцессор начинает обмен по магистрали (т.е. что
она занята для других устройств). Переход сигнала из низкого уровня в высокий
указывает на окончание обмена. Сигнал аварии источника питания DCLO вызывает
установку микропроцессора в исходное состояние и появление сигнала INIT. Сигнал
аварии сетевого питания ACLO вызывает переход микропроцессора на обработку
прерывания по сбою питании (высокий уровень свидетельствует о нормальном сетевом
напряжении). Сигнал SEL1 инициализирует обращение к регистру управления
системными внешними устройствами, а сигнал SEL2 - к регистру порта ввода-вывода.
Направление обмена данными между микропроцессором и регистрами определяется
сигналами DIN или DOUT соответственно. Выставление сигнала RPLY от этих
регистров не требуется. Длительности сигналов SEL1 и SEL2 совпадают с
длительностью сигнала BSY. Сигнал INIT является ответом микропроцессора на
сигнал DCLO и используется, как правило, для установки периферийной части
системы в исходное состояние. Регистровая, регистровая
косвенная, автоинкрементная, автоинкрементная косвенная, автодекрементная,
автодекрементная косвенная, индексная, индексная косвенная Тип
системной магистрали До
500000 Нагрузочная
способность по току, мА Конструкция Система команд микропроцессора К1801ВМ1 Данный
процессор содержит 8 регистров общего назначения (РОН, обозначение в описании
команд RN, N=0..7)один внутренний регистр состояния процессора PSW в котором
задействовано 5 битов, каждый из которых имеет свои имена: N-бит отрицательного числа При описании команд, используются следующие обозначения: "XXX"-
смещение (-128,...,+128; 8 бит) "d" -
операнд -приемник "/\" -
логическое И "*" - установка/сброс по результату косв. автоинкрементная @( R
)+ Команды работы с программами 000002 RTI возврат из
прерывания ( PC <=(SP)+) 000004 IOT вызов системы ввода вывода ( -(SP) <=PC <= (22)
) 000006 RTT возврат, с запретом
прерывания по Т-разряду до исполнения следующей команды ( PC<=(SP)+
PSW<=(SP)+ ) 000240 NOP нет
операции 0064NN MARK восстановление стека ( -(SP)<=PC +(2 x NN) PC<=R5
<=(SP)+ 104000-104277 EMT вызов подпрограммы ПЗУ (-(SP)<= PSW
<= (32) -(SP)<= PC <= (30) ) Переходы по условию
(ветвления) Если условие выполняется, то (PC) <=
(PC) + (2 x NN) 001400 + XXX BEQ равенство ( нулю ) Z=1 103000 + XXX BCC перенос отсутствует C=0 100400
+ XXX BMI знак минус N=1 003000 + XXX BGT больше (нуля)
Z\/(N\\V)=0 101400 + XXX BLOS меньше или
равно C\/Z=1 1 операции над байтами *051DD COM(B) побитная
инверсия (d) <= (d) * * 0 0 *054DD NEG(B) изменение
знака (d) <=-(d) * * * * *057DD TST(B)
проверка (d)<=(d) * * 0 0 *062DD ASR(B) арифм.
сдвиг вправо (d)<=(d)/2 * * * * *067DD SXT расширить знак N=0 (d)<=0 0 1 0- N=1
(d)<=177777 1 0 0- КОП *3SSDD BIT(B)
проверить разряды (s)/\(d) * * 0 - *5SSDD BIS(B) установить разряды (d)<=(s)\/(d) * *
0 - 16SSDD SUB вычесть (d)<=(d)-(s) * * *
* Базовый КОП =240 - - -