Структурная организация МК К1816ВЕ48

МК выполнен в 40 контактном корпусе, выводы которого электрически совместимы с элементами ТТЛ, а выходы могут быть нагружены одной ТТЛ нагрузкой (рис.3).

ПРОГ (PROG) - при программировании ППЗУ команд используется для подачи программирующего импульса +25 В; при работе выход стробирующего сигнала для БИС расширителя ввода-вывода К580ВР43.

Х1, Х2 - входы для подключения кварцевого резонатора или Х1 для сигнала от внешнего ГИ.

~СБР (~RESET) - сигнал общего сброса.

~ШАГ (~SS)- режим трассировки или пошагового выполнения команд. Используется совместно с сигналом САВП (ALE).

~РВПП (~PSEN) - сигнал разрешения внешней памяти программ (ВПП). Используется только при обращении к ВПП.

САВП (ALE) - строб адреса внешней памяти для фиксации адреса во внешнем RgA.

~ЧТ, ~ЗП (~RD, ~WR) - строб сигналы для чтения и записи данных при обращении к внешней памяти данных.

Т0, Т1 - тестовые входы, используемые для приема внешних сигналов, опрашиваемых по командам условного перехода JT0, JNT0 и JT1, JNT1. Кроме того, Т0 может быть использован для выдачи сигналов синхронизации CLK поcле выполнения команды ENT0 CLK, а Т1 - в качестве входа для приема импульсов счета на вход таймера/счетчика после выполнения команды запуск счетчика STRT CNT.

~ЗПР (~INT)- сигнал запроса прерывания от внешнего источника для вызова подпрограммы обработки прерывания (ППОП), если их обработка разрешена.

ОРПП (EA)- разрешение доступа к внешней памяти. При ОРПП=1 выборка команд выполняется только из внешней памяти программ. Используется в режиме отладки для отключения внутреннего ПЗУ программ.

 


Порт 1, порт 2 - 8-разрядные квазидвунаправленные порты ввода-вывода, каждый разряд которых может быть запрограммирован на ввод или вывод. Для порта 2 во время чтения из ВПП на линиях Р2[3-0] появляются старшие разряды счетчика команд РС[11-8], а также биты Р2[3-0] могут использоваться для подключения БИС расширителя интерфейса (ввода-вывода) ВР43.

Порт BUS - 8-разрядный двунаправленный порт ввода-вывода, через который может выполняться прием и выдача байтов синхронно с сигналами ~ЧТ, ~ЗП и ~РВПП для подключения ВПД, ВПП и различных периферийных БИС.

Основу структуры МК составляет внутренняя двунаправленная 8-разрядная шина, которая связывает все устройства.

В состав АЛУ входят:

¨ комбинационная схема обработки байтов;

¨ регистры Т1, Т2 программно недоступные для временного хранения операндов и регистр аккумулятор АС;

¨ схема десятичного корректора;

¨ схема формирования признаков и регистр слова состояния PSW.

Аккумулятор используется в качестве регистра операнда и результата и подразумевает неявную адресацию в большинстве команд, что позволяет сократить длину программ, а следовательно, и емкость памяти программ.

В регистре слова состояния фиксируются только два типовых признака результата операции:

 

* CY - основной перенос из старшего разряда;

* АС - вспомогательный перенос из младшей тетрады в старшую для организации многобайтовых операций для десятичной арифметики;

* BS - флаг рабочего банка регистров ОЗУД, используемого в текущий момент времени, устанавливаемого по командам переключения банков регистров SEL RB0 или SEL RB1 (адресное пространство ОЗУД будет рассмотрено ниже);

* F0 - флажок пользователя общего назначения, функциональный смысл которого определяется программистом. В систему команд входят команды по его очистке, инвертированию и тестированию с условной передачей управления, что позволяет реализовать эффективную обработку однобитовых данных, различные флажковые и семафорные процедуры.

Бит D3 не используется, а биты D2-D0 заняты трехразрядным указателем стека SP.

Остальные флаги, формируемые в МК не фиксируются в PSW и не сохраняются в стеке при обработке прерываний и вызове подпрограмм, а фиксируются в отдельных триггерах МК:

* F1 - тоже флаг общего назначения пользователя как и F0, но ограничивает его функциональные возможности;

* МВ - флаг выбранного банка внешней памяти программ, используемого в текущий момент времени, устанавливаемого по командам переключения банков памяти программ SEL МB0 или SEL МB1;

* TF - флаг переполнения таймера/счетчика;

* Z - флаг нулевого результата АС для команд условного перехода JZ, JNZ;

* Bb - флаг наличия "1" в селектируемом бите b аккумулятора, по которым выполняются команды перехода JB0-JB7.

Трехразрядный указатель стека SP обеспечивает организацию системного стека из восьми двухбайтовых ячеек и служит для хранения старшей тетрады PSW и текущего состояния РС (12 бит) при обработке прерываний и вызовах подпрограмм: CY,AC,F0,BS,РС[11-8] и РС[7-0].

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