| Примечание | Прислал: "Волков Александр" | 
| Загрузить архив: | |
| Файл: vdv-0650.zip (17kb [zip], Скачиваний: 28) скачать | 
Московский Институт Электроники и Математики
(технический университет)
Кафедра ИТАС
РЕФЕРАТ
по курсу : «ЭВМ и периферийные устройства»
на тему: Микропроцессор В1801ВМ1 его структура и система команд.
Выполнил: студент группы АП-41
Волков А. А.
МОСКВА 1998
Однокристальный 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 (Приложение к журналу«Информатика и образование» )