Реферат: Микропроцессор В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 вызываютпрерывания по фиксированным векторам 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

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

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

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

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

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

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

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

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

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

Если условие выполняется, то(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 операции над словами

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 /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

 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 Очистить 000241 CLC C - - - 000242 CLV V - - - 000244 CLZ Z - - - 000250 CLN N - - - 000257 CCC N Z V C Установить 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 /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
еще рефераты
Еще работы по информатике, программированию