По количеству выполняемых программ различают одно- и многопрограммные микропроцессоры.
В однопрограммных микропроцессорах выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы.
В много- или мультипрограммных микропроцессорах одновременно выполняется несколько (обычно несколько десятков) программ. Организация мультипрограммной работы микропроцессорных управляющих систем позволяет осуществить контроль за состоянием и управлением большим числом источников или приемников информации.
4.3 Понятие о микроЭВМ на примере однокристального микроЭВМ серии К1816
МикроЭВМ этой серии разработаны для использования в качестве микроконтроллеров, для которых требуются короткие программы, небольшой объем оперативной памяти и ограниченные возможности ввода-вывода. Серия К1816 выпускается в четырех модификациях, отличающихся быстродействием, объемом программной и оперативной памяти, а также способом программирования ПЗУ (см. табл. 5). Однокристальные микроЭВМ серии К1816 размещены в 40-выводном корпусе и имеют два вывода питания +5 В, один из которых Ucc подводит питание к микроЭВМ, а другой UDD - к внутреннему ОЗУ, что позволяет сохранять в нем данные во время сбояпитания.
4.4 Архитектура микроЭВМ
Как было указано ранее, особенностью архитектуры микроконтроллера является логическое и физическое разделение памяти на программную и данных. Программная память представлена только ПЗУ, так как в К1816 отсутствуют программные средства оперативной записи команд и программ. Память может расширяться путем подключения внешних БИС: программная - на 2 Кбайта, данных - на 256 байт. Возможно также расширение средств ввода-вывода за счет использования интерфейсных БИС серии К580.
Таблица 5
Параметр
Модификация КР1816ВЕ
35
39
48
49
Тип программной памяти
-
ППЗУ
ПЗУ
Объем внутренней программной памяти, Кбайт
1
2
Объем ОЗУ, байт
64
128
Максимальная тактовая частота, МГц
6
11
Структурная схема однокристальной ЭВМ приведена на рис. 23. Она во многом напоминает нам схему микропроцессора серии К580. Основными отличиями К1816 от МП580 являются:
1. Увеличен объем внутренней сверхоперативной памяти данных.
2. Введена память команд.
3. Введен аппаратный таймер.
4. Используется мультиплексирование данных и адреса в порту ввода/вывода.
5. Увеличено число сигналов логического воздействия на микроЭВМ.
Элементы структурной схемы могут быть объединены в четыре блока (обведены пунктирной линией):
· центральное процессорное устройство;
· блок программного управления;
· устройство ввода-вывода;
· блок оперативных регистров.
Центральное процессорное устройство включает в себя устройство синхронизации и управления, АЛУ и схему условных переходов, которая организует условные переходы по битам регистра флажков АЛУ и внешним сигналам управления ТО и Т1. АЛУ строится аналогично МП580 - оно выполняет операции накапливающего типа в двоичной и десятичной арифметике. Устройство синхронизации и управления связано с периферийными устройствами 13-разрядной шиной С {12: 0}, отдельные провода которой несут на себе следующие сигналы (в скобках указаны аналоги сигналов МП580):
BQ1, BQ2 - подключение кварца или LC - цепи синхронизации встроенного тактового генератора или входа внешнего тактового генератора;
WR (WR) - запись во внешнюю память данных, запись из порта BUS во внешнее устройство;
RD (DBIN) - чтение из внешней памяти или из внешних устройств, подключенных к порту BUS
ALE (C) (address latch enable) - стробирование внешней памяти;
SR (RESET) (set-reset) - инициализация микроЭВМ;
INT (INT) - сигнал запроса на прерывание;
SS - организация пошагового выполнения программы (используется совместно с ALE);
PME (periphery memory enable) - стробирование внешней памяти при чтении.
Рис.23.
EMA (external memory access} - доступ к внешней памяти. Используется также при программировании и проверке ППЗУ; PR (periphery register) - расширение каналов ввода/вывода. Используется также при программировании ППЗУ; ТО - ввод условия для JTO/JNTO или выход тактовых сигналов после выполнения команды ENTO CLK; TI - ввод условия для JT1/JNT1 или ввод счетчика внешних событий после выполнения команды STRT CNT.
Блок программного управления преобразует коды команд программы в сигналы управления. Он включает в себя счетчик команд (PC), дешифратор адреса команды, ППЗУ, регистр команды (IR) и дешифратор команды (IDC). В отличие от МП580, этот блок может работать как с внутренней, так и с внешней памятью. В последнем случае код адреса РС {11: 0} подается на внешнюю программную память, а байтный код команды записывается непосредственно в регистр команды.
Устройство ввода/вывода включает в себя три байтных порта BUS, PI и Р2. Порты Р\ и Р2 имеют идентичные характеристики. При выводе информации данные от ЭВМ записываются в регистры порта и остаются там неизменными до следующей записи.
При вводе информации входной код, поддерживаемый неизменным на время действия импульса RD, маскируется кодом регистра порта и передается в микроЭВМ. Если код вводится без изменений, предварительно, еще до ввода, в регистре порта должен быть записан единичный код маски. Записанный в режиме вывода код регистра порта может программно модифицироваться. Порт Р2 используется также для подключения расширителя ввода/вывода и выдачи четырех старших разрядов программного счетчика РС{11: 8 }.
Порт BUS реализует двунаправленный канал передачи данных. Он передает восемь младших разрядов кода адреса команд РС{1: 0} или кода адреса данных ADRD {7: 0} при работе с внешней программной памятью или памятью данных и байт данных D{1: 0} при работе с внешней памятью или схемами расширения (интерфейсные БИС серии К580). По завершению передачи данных порт переходит в третье состояние.
Блок оперативных регистров включает в себя ОЗУ, таймер-счетчик, регистр состояния программы, схему прерывания и регистр дополнительных флажков. Оперативное запоминающее устройство имеет объем либо в 64 байта (BE 35/48), либо 128 байт (BE 39/49). Назначение отдельных ячеек ОЗУ изображено на рис. 24
Ячейки с адресами 0 + 7 и 24 + 31 образуют два банка регистров общего назначения. Выбор банка осуществляется по состоянию триггера номера банка RBF, а регистра внутри банка - по трехбитному коду адреса регистра в банке N{2:0} (режим прямой регистровой адресации).
К любой ячейке ОЗУ (в том числе и ячейкам банка регистров) можно обратиться по их полному адресу в режиме косвенной регистровой адресации по содержимому регистров R0 или R1 выбранного банка регистров.
В отличие от МП580, в котором стековая память располагается вне микропроцессора и имеет, практически, неограниченный объем (до 64 Кбайт), стек КР816 содержит всего 16 ячеек и обеспечивает запись восьми двухбайтных слов, необходимых для возврата на основную программу после завершения подпрограммы или обработки прерывания. Каждое слово содержит значение адреса возврата PC(11:0} и старшую тетраду слова состояния программы PSW. Напомним, что в МП580 PSW характеризовало состояние аккумулятора и регистра флажков (PSW = F.A). К1816 биты PSW имеют другой смысл: PSW{2:0} (SP{2:0} - указатель стека (адреса отсчитываются от нижней границы стека для двух соседних ячеек (см. рис. 2.2)); PSW{3} = 1 - разряд забит единицей; PSW{4} = RBF - номер банка регистров; PSW{5} = FO - флаг пользователя. PSW{6} = AC(adjust carry) - дополнительный флаг переноса; PSW{7} = C - флаг переноса.
Слово состояния программы хранится в регистре состояния программы и изменяется либо в процессе выполнения команд программы, либо при возврате на основную программу (только старшая тетрада PSW). Флажки пользователя (Fl, RBF, CNTF, INTF) не поместившиеся в регистре PSW, фиксируются триггерами регистра дополнительных флажков. Восьмиразрядный таймер-счетчик считает поступающие из вне через Т1 сигналы и генерирует временные задержки без отвлечения АЛУ от выполнения основной программы. Переключение режимов таймера осуществляется программно. Содержимое счетчика считывается или загружается с помощью аккумулятора. При инкрементном переполнении счетчика (FF -> 00) устанавливается флаг переполнения TF и счет продолжается. Переполнение, если есть на то разрешение, вызывает прерывание программы, которое обслуживается подпрограммой прерывания по адресу 07H. В режиме генерации временных задержек счетчик запитывается от делителя основной тактовой частоты Fbq на 480. При Fbq = 6 МГц квант задержки составляет 80 мкс. Задержки более 80x256=20480 мкс формируются программными средствами. Одноуровневая схема прерываний обеспечивает приоритет прерывания (внешнее прерывание INT - старший, флаг таймера TF - младший) и программное маскирование прерываний. МикроЭВМ КР1816 работает аналогично МП580. Инициализация работы КР1816 происходит при подаче импульса SR длительностью порядка 50 мкс. При этом осуществляются следующие действия:
· программный счетчик сбрасывается в О (PC = 0);
· указатель стека сбрасывается в О (SP = 0);
· выбирается нулевой банк регистров (RBF = 0);
· выбирается нулевой банк программной памяти (MBF = 0);
· блокируется внешнее прерывание (INTF=0);
· порты Р1 и Р2 устанавливаются в режим приема;
· останавливается таймер/счетчик;
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10