|
Микропроцессор В ВМ архитектура и система комманд
Московский Институт Электроники и Математики
(технический университет)
Кафедра ИТАС
РЕФЕРАТ
по курсу : «ЭВМ и
периферийные устройства»
на тему: Микропроцессор
В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 )
Команды работы с программами
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 (Приложение к журналу «Информатика и образование»
)
|
|
|