|
||||||||||||
|
||||||||||||
|
|||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Микропроцессор В1801ВМ1 архитектура и система командМикропроцессор В1801ВМ1 архитектура и система командМосковский Институт Электроники и Математики (технический университет) Кафедра ИТАС РЕФЕРАТ по курсу : «ЭВМ и периферийные устройства» на тему: Микропроцессор В1801ВМ1 его структура и система команд. Выполнил: студент группы АП-41 Волков А. А. МОСКВА 1998 Структура микропроцессора В1801ВМ1 Однокристальный 16-разрядный микропроцессор К1801ВМ1 предназначен для выполнения следующих функций: 1. вычисление. адресов операндов и команд. 2. обмен информацией с другими устройствами; подключенными к системной магистрали; 3. обработка операндов; 4. обработка прерываний от клавиатуры и устройств пользователя, подключенных к разъему порта ввода-вывода. Процессор является единственным активным устройством микроЭВМ, управляющим циклами обращения к системной магистрали и обрабатывающим прерывания от пассивных устройств, которые могут посылать или принимать информацию только под управлением процессора. Микропроцессор К1801ВМ1 работает в БК с тактовой частотой 3 МГц и содержит следующие основные функциональные блоки : 5. 16-разрядный операционный блок, служащий для формирования адресов команд и операндов, выполнения логических и арифметических операций, хранения операндов и результатов; 6. блок микропрограммного управления, вырабатывающий последовательность микрокоманд, Соответствующую коду принятой машинной команды. Этот блок построен на базе программируемой логической матрицы (ПЛМ). содержащей 250 логических произведений; 7. блок прерываний, организующий приоритетную систему прерываний (прием и предварительная обработка внешних и внутренних запросов на прерывание); 8. интерфейсный блок, обеспечивающий обмен информацией между микропроцессором ром и прочими устройствами, подключенными к системной магистрали. Этот же, блок осуществляет арбитраж при операциях прямого доступа к памяти, формирует 9. последовательность. управляющих сигналов: 10. блок системной магистрали, связывающий внутреннюю магистраль однокристального микропроцессора с внешней, управляющий усилителями приема и передачи информации на совмещенные выводы адресов и данных; 11. схема тактирования, обеспечивающая синхронизацию работы внутренних блоков микропроцессора. Система команд, реализованная в ПЛМ блока микропрограммного управления микропроцессора К1801BM1, совпадает с системой команд наиболее распространенных отечественных мини- и микро-ЭВМ типа «Электроника 60» (ДВК- 2. 3, 4 и т.п.) и практически аналогична принятой для компьютеров серии DEC. Предусмотрен также ряд специальных команд, предназначенных для работы с системным ПЗУ К1801РЕ1. Сигналы AD0-AD15 представляют собой адреса и данные, передаваемые по совмещенной системной магистрали. Передача адресов и данных по одним и тем же линиям связи обеспечивается путем разделения этих операций во времени. Группа сигналов SYNC, DIN, DOUT, WTBT, RPLY служит для управления передачей информации по системной магистрали: 12. SYNC- вырабатывается процессором как указание, что адрес находится на выводах системной магистрали, и сохраняет активный уровень до окончания текущего цикла обмена информацией; 13. RPLY- вырабатывается пассивным устройством в ответ на сигналы DIN и DOUT. При отсутствии сигнала RPLAY (т. е. когда выбранное устройство- регистр или ячейка памяти - не отвечает) процессор отсчитывает 64 такта синхрогенератора и затем отрабатывает прерывание по зависанию (вектор 4); 14. DIN- предназначен для организации ввода данных (когда микропроцессор во время действия сигнала SYNC готов принять данные от пассивного устройства) и ввода адреса вектора прерывания (DIN вырабатывается совместно с сигналом IAK0 при пассивном уровне SYNC); 15. DOUT- означает, что данные, выдаваемые микропроцессором, установлены на выводах системной магистрали; 16. 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 битов, каждый из которых имеет свои имена: 17. C-бит переполнения 18. T-бит трассировки 19. V-бит арифметического переполнения 20. Z-бит равенства 0 21. N-бит отрицательного числа Два регистра из РОН (R6 и R7) отвечают за следующие функции: 22. R6 (SP)-Указатель стека 23. R7 (PC)-Счетчик команд. При описании команд, используются следующие обозначения: 24. «SS» - поле адресации операнда-источника 25. «DD» - поле адресации операнда-приемника 26. «XXX»- смещение (-128,...,+128; 8 бит) 27. «N» - число, 3 бита 28. «NN» - число, 6 бит 29. «(N)» -содержимое ячейки или регистра N 30. «s» - операнд -источник 31. «d» - операнд -приемник 32. «r» - содержимое регистра 33. «<=» - становится равным 34. «X» - относительный адрес 35. «%» - определение регистра 36. «/\» - логическое И 37. «\/» - логическое ИЛИ 38. «\\» - исключающее ИЛИ 39. «|» - НЕ Операции над разрядами PSW 40. «*» - установка/сброс по результату 41. «-» - состояние разряда не меняется 42. «0» - сброс 43. «1» - установка Методы адресации | |МЕТОД | | |R | | | | | | | | | Метод мнемоника 0. регистровая R 0. косвенная регистровая ( R ) или @R 1. автоинкрементная ( R )+ 2. косв. автоинкрементная @( R )+ 3. автодекрементная -( R ) 4. косв. автодекрементная @-( R ) 5. индексная X( R ) 6. косв. индексная @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 (Приложение к журналу «Информатика и образование» ) |
РЕКЛАМА
|
|||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
© 2010 |