Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лыков ответы на вопросы.DOC
Скачиваний:
174
Добавлен:
29.03.2015
Размер:
6.76 Mб
Скачать

Сигналы прямого доступа к памяти (пдп).

Режим ПДП возможен, если на системной магистрали имеются несколько активных устройств, имеющих возможности управлять обменом по СМ. Сигналы режима ПДП представлены на рис. 2.

Одно из периферийных активных устройств посылает арбитру магистрали (главному МП) запрос на ПДПDMR. МП сразу предоставляет разрешение DMG0, которое транслируется по приоритетности. Устройство, пославшее запрос, прекращает трансляцию сигнала DMG0, выставляет сигнал занятости СМ SACK и производит требуемые операции обмена. Режим ПДП завершается снятием сигнала SACK.

Режим ПДП позволяет ускорить передачу информации по СМ, минуя главный МП. Данный режим применяется для диагностики неисправностей, отладки МПС, подключая внешнюю МПС к СМ. В нормальном ритме работы МПС реального времени режим ПДП не используется. Это связано с необходимостью главному МП постоянно иметь возможность быстро среагировать на прерывания, в т.ч. и аварийные. Для этого СМ не должна быть занята никаким периферийным устройством.

Алгоритм работы и временные характеристики режима ПДП представлены в прил. 8 и 9.

Входные сигналы МП RA0, RA1 определяют позицию МП на СМ. Если RA0=RA1=1, то МП главный, в других случаях МП подчинённый.

Выходные сигналы SEL1, SEL2 позволяют производить адресацию к 2-м внешним регистрам и ускоренно считывать или записывать данные, не ожидая сигнала RPLY. Адреса регистров зависят от RA0, RA1 и изменяются (рекомендуются от 177714 до177776).

Внутренние прерывания мп к1801вм1.

Причины внутренних прерываний:

  • зависание в СМ при попытке обращения к адресу несуществующей ячейки памяти или регистра периферийного устройства (нет ответа сигналом RPLY);

  • в регистре команд задан неиспользуемый код команды или неправильно задана адресация;

  • Т-бит в регистре состояния МП (останов).

Приложение 6

  1. Процедура обмена с памятью и регистрами периферийных устройств(Т.3 МПУ).

Приложение 7

Временная диаграмма цикла прямого доступа к памяти

Приложение 8

Приложение 9

Прием адреса вектора прерывания

АЛГОРИТМ «ВВОД»

ПФ.ЗФ – передний и задний фронты импульсов

Приложение 4.

Приложение 5

Алгоритм «ВЫВОД»

  1. Инструкции ассемблера, безадресные, одноадресные, двухадресные команды К1801ВМ1 (Т.4 МПУ)

В МП принята DEC-овская система команд, представленная в прил. 1. Команды умножения и деления есть только у МП К1801ВМ1Г. Одноадресные команды имеют поле адресации DD только одного операнда, двухадресные имеют два поля адресации: источника SS и приёмника DD. После выполнения команды с двумя операндами результат операции записывается по адресу приёмника. Поле адресации – два восьмеричных числа (шесть двоичных чисел), которые указывают способ адресации источника и приемника(см. прил. 2) .

В приложении 3 приводится часть листинга одной из реальных программ для автоматизированной системы испытаний. Колонка 1 – номер команд по порядку;

Колонка 2 – первый адрес в физической памяти, где хранится команда;

Колонка 3 – машинный код команды и способов адресации;

Колонки 4-5 – машинные восьмеричные значения сопутствующих слов команды (операнды, индексные слова, смещения);

Колонка 6 – метки в программе для условных и безусловных переходов;

Колонка 7 – код команды на Ассемблере;

Колонки 8-9 – адреса операндов, сами операнды, сопутствующие слова (в зависимости от способа адресации).

Команды процессора МП К1801ВМ1

Одноадресные команды

Двухадресные команды

Управление

Мнемоника

код

Признак

Наименование

мнемоника

Код

признак

наименование

Мнемоника

код

наименование

N

Z

V

C

N

Z

V

C

CLR(B)

*050DD

0

1

0

0

Очистка

MOV(B)

*1SSDD

+

+

0

-

Пересылка

HALT

000000

Останов

COM(B)

*051DD

+

+

0

1

Инвертирование

CMP(B)

*2SSDD

+

+

+

+

Сравнение (S)=(D)

WAIT

000001

Ожидание прерывания

INC(B)

*052DD

+

+

+

-

Плюс 1

BIT(B)

*3SSDD

+

+

0

-

Проверка разрядов (D)(S)

RTI

000002

Возврат из прерывания

DEC(B)

*053DD

+

+

+

-

Минус 1

BIC(B)

*4SSDD

+

+

0

-

Очистка разрядов (D)Г(S)

BPT

000003

Прерывание для отладки (14) СК; (16) РСП

NEG(B)

*054DD

+

+

+

+

Инвертирование и увеличение на 1

BIS(B)

*5SSDD

+

+

0

-

Логическое ИЛИ

ADC(B)

*055DD

+

+

+

+

Прибавление переноса (D)+C

XOR

074RDD

+

+

0

-

Исключающее ИЛИ

IOT

000004

Прерывание для вв.-выв (28)СК; (22) РСП

SBC(B)

*056DD

+

+

+

+

Вычитание переноса

ADD

06SSDD

+

+

+

+

Сложение

TST(B)

*057DD

+

+

0

0

Проверка признаков Z и N

SUB

16SSDD

+

+

+

+

Вычитание

RESET

000005

Сброс

ROR(B)

*060DD

+

+

+

+

Циклический сдвиг вправо

MUL

070RSS

+

+

+

+

Умножение

RTT

000006

Возврат из прерывания (если Т-разр.)

ROL(B)

*061DD

+

+

+

+

Циклический сдвиг влево

DIV

071RSS

+

+

+

+

Деление

EMT

104000÷104377

Командное прерывание (30) СК;(32) РСП

ASR(B)

*062DD

+

+

+

+

Арифметический сдвиг вправо

ASL(B)

*063DD

+

+

+

+

Арифметический сдвиг влево

TRAP

104400÷104777

Командное прерывание (34) СК;(36) РСП

SWAB

0003DD

+

+

0

0

Перестановка байтов

SXT

0067DD

-

+

0

-

Расширение знака (D)=0 при N=0; (D)=1 при N=1

NOP

000240

Нет операции

MTPS

1064SS

Запись СПП

MFPS

1067DD

Чтение СПП

Изменение признаков

=0 слово,  =1 байт.

Ветвление

Мнемоника

Код

Признак

XX, NN – смещение в адресе программы на 2XX или 2NN.

Мнемоника

Код

Наименование

команда цикла R-1R, CK-2NNCK R УC, СКR RСК, УСR

Ветвление

N

Z

V

C

SOB

077RNN

Вычитание 1 и ветвление

CLS

000241

-

-

-

0

DD, SS – поле адресации приёмника, источника.

JMP

0001DD

Безусловная передача

CLU

000242

-

-

0

-

JSR

004RDD

Обращение к подпрограмме

CLZ

000244

-

0

-

-

Содержимое SS не меняется.

RTS

00020R

Возврат из подпрограммы

CLN

000250

0

-

-

-

Если ветвление в команде назад, то XX в дополнительном коде.

BR

000NXX

Безусловное ветвление

SEC

000261

-

-

-

1

BEQ

001MXX

Ветвление, если =0

SEU

000262

-

-

1

-

MUL. То результат находится в R1 и R+1, если R – чётный. Если P – нечётный, то сохраняется только младшая часть результата.

BNE

001NXX

Ветвление, если 0

SEZ

000264

-

1

-

-

BQE

002MXX

Ветвление, если 0

SEN

000270

1

-

-

-

BLT

002NXX

Ветвление, если <0

Вперед

Назад

CCC

000257

0

0

0

0

BQT

003MXX

Ветвление, если >0

N

4,5

6,7

SCC

000277

1

1

1

1

CMP, BIT, TST – изменяют только признак.

BLE

003NXX

Ветвление, если ≤0

M

0,1

2,3

BMI

100NXX

Ветвление, если минус

(При ветвлении назад XX в доп. коде)

BPL

100MXX

Ветвление, если плюс

BCS, BLO

103NXX

Ветвление, если перенос

RCC, BHIS

103MXX

Ветвление, если нет переноса

PHI

101MXX

Ветвление, если больше

BLOS

101NXX

Ветвление, если меньше

BUS

102MXX 102NXX

Ветвление, если переполнение

Ветвление, если нет переполнения