Микропроцессор В1801ВМ1 его структура и система команд

Микропроцессор В1801ВМ1, его структура и система команд

Структура микропроцессора В1801ВМ1

Однокристальный 16-разрядный микропроцессор К1801ВМ1 предназначен для выполнения следующих функций:

    • вычисление. адресов операндов и команд.
    • обмен информацией с другими устройствами; подключенными к системной магистрали;
    • обработка операндов;
    • обработка прерываний от клавиатуры и устройств пользователя, подключенных к разъему порта ввода-вывода.

Процессор является единственным активным устройством микроЭВМ, управляющим циклами обращения к системной магистрали и обрабатывающим прерывания от пассивных устройств, которые могут посылать или принимать информацию только под управлением процессора.

Микропроцессор К1801ВМ1 работает в БК с тактовой частотой 3 МГц и содержит следующие основные функциональные блоки :

    • 16-разрядный операционный блок, служащий для формирования адресов команд и операндов, выполнения логических и арифметических операций, хранения операндов и результатов;
    • блок микропрограммного управления, вырабатывающий последовательность микрокоманд, Соответствующую коду принятой машинной команды. Этот блок построен на базе программируемой логической матрицы (ПЛМ).содержащей 250 логических произведений;
    • блок прерываний, организующий приоритетную систему прерываний (прием и предварительная обработка внешних и внутренних запросов на прерывание);
    • интерфейсный блок, обеспечивающий обмен информацией между микропроцессором ром и прочими устройствами, подключенными к системной магистрали. Этот же, блок осуществляет арбитраж при операциях прямого доступа к памяти, формирует
    • последовательность. управляющих сигналов:
    • блок системной магистрали, связывающий внутреннюю магистраль однокристального микропроцессора с внешней, управляющий усилителями приема и передачи информации на совмещенные выводы адресов и данных;
    • схема тактирования, обеспечивающая синхронизацию работы внутренних блоков микропроцессора.

Система команд, реализованная в ПЛМ блока микропрограммного управления микропроцессора К1801BM1, совпадает с системой команд наиболее распространенных отечественных мини- и микро-ЭВМ типа «Электроника 60» (ДВК-2. 3, 4 и т. п.) и практически аналогична принятой для компьютеров серии DEC. Предусмотрен также ряд специальных команд, предназначенных для работы с системным ПЗУ К1801РЕ1.

Сигналы AD0-AD15 представляют собой адреса и данные, передаваемые по совмещенной системной магистрали. Передача адресов и данных по одним и тем же линиям связи обеспечивается путем разделения этих операций во времени.

Группа сигналов SYNC, DIN, DOUT, WTBT, RPLY служит для управления передачей информации по системной магистрали:

    • SYNC— вырабатывается процессором как указание, что адрес находится на выводах системной магистрали, и сохраняет активный уровень до окончания текущего цикла обмена информацией;
    • RPLY— вырабатывается пассивным устройством в ответ на сигналы DIN и DOUT. При отсутствии сигнала RPLAY (т. е. когда выбранное устройство- регистр или ячейка памяти — не отвечает) процессор отсчитывает 64 такта синхрогенератора и затем отрабатывает прерывание по зависанию (вектор 4);
    • DIN— предназначен для организации ввода данных (когда микропроцессор во время действия сигнала SYNC готов принять данные от пассивного устройства) и ввода адреса вектора прерывания (DIN вырабатывается совместно с сигналом IAK0 при пассивном уровне SYNC);
    • DOUT— означает, что данные, выдаваемые микропроцессором, установлены на выводах системной магистрали;
    • WTBT— указывает на работу с отдельными байтами и вырабатывается при обращении по нечетному адресу (операнд — старший байт) или при отработке байтовых команд.

Сигнал VIRQ является запросом на прерывание от внешнего устройства, информирующим микропроцессор о готовности устройства передавать адрес вектора прерывания. Если прерывание разрешено, то в ответ на этот сигнал процессор вырабатывает сигналы DIN и IAK0.

Сигнал IRQ1 обеспечивает управление режимом «СТОП-ПУСК» процессора с внешнего переключателя. Низкий уровень сигнала (активный) соответствует режиму «СТОП».

Сигналы IRQ2 и IRQ3 вызывают прерывания по фиксированным векторам 1008 и 2708 соответственно (при переходе из высокого уровня в низкий) .

Сигнал предоставления прерывания IAK0 процессор вырабатывает в ответ на внешний сигнал VIRQ. Сигнал IAK0 передается по очереди, начиная с устройства с максимальным приоритетом, ретранслируясь от одного устройства к другому в порядке уменьшения приоритетов. Устройство с наибольшим приоритетом из числа выставивших запрос на прерывание (сигнал VIRQ) запрещает дальнейшее распространение сигнала IAK0, таким образом запрещая на время обработки данного прерывания запросы от устройств с тем же или более низким приоритетом. Однако устройства с более высоким приоритетом могут прервать обработку повторным («вложенным») прерыванием.

Сигнал DMR вырабатывается внешним активным устройством, требующим передачи ему системной магистрали (режим прямого доступа к памяти). В ответ па него процессор устанавливает сигнал DMGO, предоставляющий системную магистраль внешнему устройству с наивысшим приоритетом из числа запросивших прямой доступ (механизм реализации приоритетов — тот же, что и для прерываний). Это устройство прекращает дальнейшее распространение сигнала DMGO и выставляет сигнал SACK, означающий, что устройство прямого доступа к памяти (ПДП) может производить обмен данными, независимо от процессора используя стандартные циклы обращения к системной магистрали.

Низкий уровень сигнала BSY означает, что микропроцессор начинает обмен по магистрали (т.е. что она занята для других устройств). Переход сигнала из низкого уровня в высокий указывает на окончание обмена.

Сигнал аварии источника питанияDCLO вызывает установку микропроцессора в исходное состояние и появление сигнала INIT. Сигнал аварии сетевого питания ACLO вызывает переход микропроцессора на обработку прерывания по сбою питании (высокий уровень свидетельствует о нормальном сетевом напряжении).

Сигнал SEL1 инициализирует обращение к регистру управления системными внешними устройствами, а сигнал SEL2 — к регистру порта ввода-вывода. Направление обмена данными между микропроцессором и регистрами определяется сигналами DIN или DOUT соответственно. Выставление сигнала RPLY от этих регистров не требуется. Длительности сигналов SEL1 и SEL2 совпадают с длительностью сигнала BSY.

Сигнал INIT является ответом микропроцессора на сигнал DCLO и используется, как правило, для установки периферийной части системы в исходное состояние.

Общие характеристики микропроцессора К1801ВМ1

Представление чисел

В дополнительном коде с фиксированной запятой

Виды команд

Безадресные, одноадресные, двухадресные

Виды адресации

Регистровая, регистровая косвенная, автоинкрементная, автоинкрементная косвенная, автодекрементная, автодекрементная косвенная, индексная, индексная косвенная

Количество регистров общего значения

8

Количество уровней прерывания

4

Тип системной магистрали

Q-bus (МПИ, ОСТ 11.305.903−80)

Адресное пространство, Кб

64

Тактовая частота, МГц

До 5

Максимальное быстродействие при выполнении регистровых операций, оп./с

До 500 000

Потребляемая мощность, Вт

Не более 1

Напряжение питания, В

+5 (± 5%)

Уровни сигналов, В: «лог.0"(активный уровень)

Менее 0,5

«лог.1»

Более 2,4

Нагрузочная способность по току, мА

3,2

Емкость нагрузки, пФ

До 100

Технология изготовления

N-МОП

Конструкция

Плананарный металлокерамический корпус с 42 выводами

Система команд микропроцессора К1801ВМ1

Данный процессор содержит 8 регистров общего назначения (РОН, обозначение в описании команд RN, где N=0.7)один внутренний регистр состояния процессора PSW в котором задействовано 5 битов, каждый из которых имеет свои имена:

  • C-бит переполнения
  • T-бит трассировки
  • V-бит арифметического переполнения
  • Z-бит равенства 0
  • N-бит отрицательного числа

Два регистра из РОН (R6 и R7) отвечают за следующие функции:

  • R6 (SP)-Указатель стека
  • R7 (PC)-Счетчик команд.

При описании команд, используются следующие обозначения:

  • «SS» — поле адресации операнда-источника
  • «DD» — поле адресации операнда-приемника
  • «XXX" — смещение (-128,…,+128; 8 бит)
  • «N» — число, 3 бита
  • «NN» — число, 6 бит
  • «(N)» -содержимое ячейки или регистра N
  • «s» — операнд -источник
  • «d» — операнд -приемник
  • «r» — содержимое регистра
  • «<=» — становится равным
  • «X» — относительный адрес
  • «%» — определение регистра
  • «/» — логическое И
  • «\/» — логическое ИЛИ
  • «\» — исключающее ИЛИ
  • «|» — НЕ

Операции над разрядами PSW

  • «*» — установка/сброс по результату
  • «-» — состояние разряда не меняется
  • «0» — сброс
  • «1» — установка

Методы адресации

МЕТОД

R

Метод мнемоника

      1. регистровая R
      2. косвенная регистровая (R) или @R
      3. автоинкрементная (R)+
      4. косв. автоинкрементная @(R)+
      5. автодекрементная -(R)
      6. косв. автодекрементная @-(R)
      7. индексная X (R)
      8. косв. индексная @X (R)

Команды работы с программами

0 HALT останов

1 WAIT пауза — ожидания прерывания

2 RTI возврат из прерывания (PC <=(SP)+)

3 BPT отладочное прерывание (-(SP) <=PSW <=(16))

4 IOT вызов системы ввода вывода (-(SP) <=PC <= (22))

5 RESET сброс магистрали и процессора

6 RTT возврат, с запретом прерывания по Т-разряду до исполнения следующей команды (PC<=(SP)+ PSW<=(SP)+)

0001DD JMP безусловный переход (PC <= d)

00020R RTS возврат из подпрограммы (PC <= R <=(SP)+

240 NOP нет операции

004RDD JSR вызов подпрограммы (-(SP) <= R <= PC <= d)

0064NN MARK восстановление стека (-(SP)<=PC +(2 x NN) PC<=R5 <=(SP)+

077RNN SOB выч. 1 и ветвл., если (R#) не 0 (R# <= R#-1 PC<=PC=(2xNN))

104 000−104 277 EMT вызов подпрограммы ПЗУ (-(SP)<= PSW <= (32) -(SP)<= PC <= (30))

1064SS MTPS запись PSW (PSW <= s)

1064Dd MFPS чтение PSW (d <= PSW)

Переходы по условию (ветвления)

Базовый КОП

±

XXX

15

8

7

0

Если условие выполняется, то (PC) <= (PC) + (2 x NN)

400 + XXX BR безусловный переход

1 000 + XXX BNE нет равенства (нулю) Z=0

1 400 + XXX BEQ равенство (нулю) Z=1

102 000 + XXX BVC арифм.переп. отсутствует V=0

102 400 + XXX BVS произошло арифм.переп. V=1

103 000 + XXX BCC перенос отсутствует C=0

103 400 + XXX BCS произошел перенос С=1

Переход по знаку

100 000 + XXX BPL знак плюс N=0

100 400 + XXX BMI знак минус N=1

2 000 + XXX BGE больше или равно (нулю) N\\V=0

2 400 + XXX BLT меньше (нуля) N\\V=1