Вход

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

Реферат по информатике и информационным технологиям
Дата добавления: 18 марта 2007
Язык реферата: Русский
Word, rtf, 224 кб (архив zip, 21 кб)
Реферат можно скачать бесплатно
Скачать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу

Микропроцессор В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 вызывают прерывания по фиксированным векторам 100 8 и 270 8 соответственно (при переходе из высокого уровня в низкий) .

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

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

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

Сигнал ава р ии источника питания D C L O вызывает установку микропроцессора в исходное состояние и появление сигнала 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

 

 

 

 

 

 

 

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

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

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

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

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

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

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

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

      1. косв. индексная @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

 

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

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


© Рефератбанк, 2002 - 2017