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

ПримечаниеПрислал: "Волков Александр"
Загрузить архив:
Файл: vdv-0650.zip (17kb [zip], Скачиваний: 28) скачать

Московский Институт Электроники и Математики

(технический университет)

Кафедра ИТАС

РЕФЕРАТ

по курсу : «ЭВМ и периферийные устройства»

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

Выполнил: студент группы АП-41

Волков А. А.

МОСКВА 1998

Структура микропроцессора В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

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

До 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 )

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

000000HALT         останов

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

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

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

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

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

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

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

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

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

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больше или равно (нулю)       NV=0

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

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

003400 + XXX        BLEменьше или равно(нулю) Z/(NV)=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        перестановка байтов                                  ** 00

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

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

*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)<=00 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

Список литературы

Персональный компьютер БК-0010 (Приложение к журналу«Информатика и образование» )