РЕФЕРАТ

на тему:

«МП В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.

Сигналы 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

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

До 500000

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

Не более 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

 

 

 

 

 

 

 

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

0. регистровая                                                         R         

1. косвенная регистровая                          ( R) или           @R

2. автоинкрементная                                  ( R)+                           

3. косв. автоинкрементная                        @( R)+

4. автодекрементная                                  -( R)

5. косв. автодекрементная             @-( R)

6. индексная                                                            X( R)              

7. косв. индексная                                      @X( R)

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

000000   HALT  останов

000001   WAIT  пауза - ожидания прерывания

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

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

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

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

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

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

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

000240   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))

104000-104277 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)

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

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

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

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

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

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

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

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

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

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

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

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

003000 + XXX  BGT                 больше (нуля)             Z\/(N\\V)=0

003400 + XXX  BLE                 меньше или равно(нулю) Z\/(N\\V)=1

Переход без знака

101000 + XXX  BHI                  больше                                                C\/Z=0

101400 + XXX  BLOS  меньше или равно                 C\/Z=1

103000 + XXX  BHIS               больше или равно                 C=0

103400 + XXX  BLO                меньше                                               C=1

Одно-операторные команды

Код операции (КОП)

DD

15

 

 

 

 

 

 

 

 

6

5

 

 

 

 

0

Условные обозначения: «*»=0 операции над словами

1 операции над байтами

                                                               N Z C V

0003DD SWAB перестановка байтов                                     *  * 0  0

*050DD CLR(B)            очистка                       (d) <=0                                    0 1 0  0

*051DD COM(B)          побитная инверсия  (d) <= (|d)                     *  * 0  0

*052DD INC(B)            прибавление 1             (d) <=(d)+1               *  *  *-

*053DD DEC(B)           вычитание 1    (d) <=(d)+1               *  *  *-

*054DD NEG(B)           изменение знака  (d) <=-(d)              *  *  *  *

*055DD ADC(B)           прибавить перенос  (d)<=(d)+C       *  *  *  *

*056DD SBC(B)            вычесть перенос      (d)<=(d)-C        *  *  *  *

*057DD TST(B)            проверка                                 (d)<=(d)                       *  *  0 0

*060DD ROR(B)           циклич. сдвиг вправо    => C,d        *  *  *  *

*061DD ROL(B)           циклич. сдвиг влево    C,d <=                      *  *  *  *

*062DD ASR(B)            арифм. сдвиг вправо (d)<=(d)/2       *  *  *  *

*063DD ASL(B)            арифм. сдвиг влево   (d)<=(d)*2       *  *  *  *

*067DD SXT                 расширить знак  N=0 (d)<=0                        0 1 0-                                                                                          N=1 (d)<=177777 1 0 0-

 

Двух операторные команды

КОП

SS

DD

15

 

 

12

11

 

 

 

 

6

5

 

 

 

 

0

                                                                                                                                 N S V C

*1SSDD MOV(B)          переслать                   (d)<=(s)                             *  *   0-

*2SSDD CMP(B)           сравнить                     (s)-(d)                    *  *   *  *

*3SSDD BIT(B) проверить разряды    (s)/\(d)        *  *  0 -

*4SSDD BIC(B) очистить разряды  (d)<=(|s)/\(d)    *  *  0 -

*5SSDD BIS(B) установить разряды (d)<=(s)\/(d)   *  *  0 -

06SSDD ADD                сложить                                  (d)<=(s)+(d)  *  *  *  *

074RSS  XOR                исключающее или    (s)<= (r)\\(s)  *  * 0 -

16SSDD SUB                 вычесть                                  (d)<=(d)-(s)   *  *  *  *

 

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

Базовый КОП =240

0/1

N

Z

V

C

15

 

 

 

 

 

 

6

7

 

 

4

3

2

1

0

Очистить

 

 

 

 

 

000241      CLC                    C

 

-

-

-

0

000242      CLV                   V

 

-

-

0

-

000244      CLZ                    Z

 

-

0

-

-

000250      CLN                   N

 

0

-

-

-

000257      CCC          N Z V C      

 

0

0

0

0

Установить

 

 

 

 

 

000261      SEC                   C

 

-

-

-

1

000262      SEV                   V

 

-

-

1

-

000264      SEZ                   Z

 

-

1

-

-

000270      SEN                  N

 

1

-

-

-

000277      SCC         N Z V C

 

1

1

1

1

 

Дампы микросхем принтера Canon MG5640 для сброса 5B00
Дампы микросхем принтера Canon MG5640 для сброса 5B00


Adjustment Program Epson WorkForce 630 Ver.1.0.5
Adjustment Program Epson WorkForce 630 Ver.1.0.5


Adjustment Program Epson XP-520 Ver.1.0.7
Adjustment Program Epson XP-520 Ver.1.0.7