Структурная организация МК К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].
Стек заполняется в сторону увеличения адресов и указывает на первую свободную ячейку. Допускается до восьми уровней вложения, в противном случае возникает переполнение стека с переходом через границу на его начало.