- •1. Введение.
- •3. Структура и ресурсы оэвм.
- •3.2. Встроенная память и регистры.
- •3.3. Порты ввода/вывода.
- •3.4. Таймеры/счетчики.
- •3.5. Блок последовательного ввода/вывода.
- •3.6. Блок обслуживания прерываний.
- •6. Организация памяти.
- •6.2 Память программ.
- •6.3. Внешняя память данных.
- •7. Структура и функционирование таймеров/счетчиков.
- •7.1. Режим 0.
- •7.2. Режим 1.
- •7.3. Режим 2.
- •7.4. Режим 3.
- •8. Режимы работы последовательного интерфейса.
- •8.1. Режим 0.
- •8.2. Режим 1.
- •9. Работа системы прерываний
- •9.3 Внешние прерывания.
- •9.4. Временные диаграммы обслуживания прерываний.
- •10. Начальная установка оэвм
- •12. Система команд.
- •12.1 Типы команд
- •12.1.1. Команды перемещения данных
- •12.1.2. Арифметические команды.
- •12.1.3. Логические команды.
- •12.1.4. Команды программных переходов.
- •12.2.2. Прямая адресация.
- •12.2.3. Косвенно - регистровая адресация.
- •12.2.4. Непосредственная адресация.
- •12.3 Булевый процессор.
- •12.4 Основные обозначения.
3. Структура и ресурсы оэвм.
На рис.1 показана внутренняя организация ОЭВМ КР1816ВЕ51.
В структуру ОЭВМ входят:
- Центральное Процессорное Устройство (ЦПУ);
- область встроенной памяти, включающая в себя ОЗУ
данных и ПЗУ или ЭППЗУ программ;
- порты ввода/вывода;
- блок таймеров/счетчиков;
- порт последовательного ввода/вывода;
- блок обслуживания прерываний.
Рассмотрим отдельно каждый из основных элементов архитектуры
однокристальной микро-ЭВМ.
3.1. Центральное процессорное устройство.
Основными функциями, выполняемыми ЦПУ, является чтение
программ пользователя и выполнение команд, записанных в них. При
этом ЦПУ выдает сигналы управления и синхронизации на все
внутренние блоки ОЭВМ, производит выдачу адреса во встроенную и
внешнюю память, реализует обмен данными с внутренними блоками
ОЭВМ, формирует импульсы для управления внешними устройствами.
Основным элементом ЦПУ является 8-битовое Арифметическое
Логическое Устройство (АЛУ), которое выполняет все арифметические
и логические операции при обработке данных и взаимодействует с
регистрами A, B, PSW, SP, а также с 16-разрядным программным
счетчиком и с регистрами-указателями данных. АЛУ может выполнять
арифметические и логические операции над 8-битными переменными.
Эти операции включают в себя сложение, вычитание, умножение,
деление, логические операции "И","ИЛИ","НЕ","исключающее ИЛИ", а
также операции очистки, циклических сдвигов и др. АЛУ также
выполняет команды условного перехода и обеспечивает прохождение
данных внутри системы. На основе этих функций построены другие
команды, например: увеличение (уменьшение) на единицу содержимого
регистров или ячейки внутренней памяти данных, сравнение величин
двух переменных и т.п. Элементарные операции, выполняемые АЛУ,
автоматически каскадирутся и объединятся со специальной логикой
для построения более сложных команд, таких, например, как
увеличение на единицу содержимого 16-разрядных регистров. Важной
особенностью ОЭВМ КР1816ВЕ51 является то, что АЛУ позволяет
обрабатывать как 8-ми битовые данные, так и отдельные биты
информации. Единичные биты могут быть установленны, сброшены,
инвертированы, их можно пересылать, тестировать и использовать в
качестве операндов при выполнении логических команд. Таким
образом ОЭВМ КР1816ВЕ51 позволяет оперировать тремя типами
данных: однобитовыми, 8-разрядными (байт) и 16-разрядными
(адрес). Большинство команд в КР1816ВЕ51 выполняется с участием
8-разрядного регистра, называемого аккумулятором (ACC).
Аккумулятор является источником операнда и принимает результат в
арифметических операциях (таких как сложение, вычитание,
умножение и деление). Аккумулятор также может являтся указателем
информации для логических операций и в некоторых специальных
командах перемещения данных, включающих работу с таблицами и
внешней памятью данных. Некоторые функции выполняются
исключительно над содержимым аккумулятора, например: циклические
сдвиги, десятичная коррекция, проверка на ноль и др. Много
команд явно или неявно воздействут на несколько флагов состояния,
которые сгруппированы в регистре слова состояния программы PSW.
Один из битов состояния - флаг переноса С. Этот бит позволяет
увеличивать точность арифметических операций, включащих сложение,
вычитание и циклические сдвиги. Бит переноса также может быть
использован в качестве "Булева аккумулятора" для логических
операций с отдельными битами и в командах управления битами. Флаг
переполнения устанавливается при переполнении содержимого
аккумулятора в результате выполнения арифметических операций. В
PSW также находятся два бита RS0 и RS1, в зависимости от
состояния которых выбирается один из четырех банков рабочих
регистров. Кpоме того в PSW входят: флаг вспомогательного
пеpеноса AC, флаг индикации пеpеполнения OV, флаг индикации
четности содеpжимого аккумулятоpа P и флаг пользователя F0. Все
флаги в регистре PSW являтся програмно доступными для записи и
чтения. В большинстве команд ОЭВМ в качестве источника и/или
приемника операнда используется аккумулятор, но тем не менее
некоторые логические операции и операции пересылок могут
происходить без его участия. Например, данные могут быть
перемещены из любой ячейки внутреннего ОЗУ в любой регистр.
Специальный 8 - разрядный регистр "В" используется вместе с
аккумулятором при выполнении операций умножения и деления. До
выполнения команды он содержит второй операнд (первый помещается
в аккумулятор), а после выполнения - остаток от деления (в случае
операции деления) или старший байт результата (в случае операции
умножения). В остальных случаях регистр "В" может выполнять
функции определяемые пользователем. Стек оpганизован во
внутреннем ОЗУ данных. Существует специальный регистр-указатель
стека - 8-разрядный регистр SP. Он хранит в себе адрес байта,
который был записан в стек последним. Указатель стека
автоматически увеличивается (уменьшается) при выполнении команд
записи в стек (или извлечения из стека), а также в командах
перехода на подпрограмму и возвращения из подпрограммы.
Теоретически стек может быть глубиной 128 байт. По умолчанию
указатель стека адресует к ячейке 07Н внутреннего ОЗУ данных,
т.е. запись в стек начнется с ячейки 08Н. 16 - разрядный
регистр-указатель данных DPTR используется в операциях косвенного
перехода, при работе с табличными данными и при обмене данными с
внешней памятью. Как правило, его содержимым является базовый
адрес. Регистр DPTR состоит из двух 8- разрядных регистров DPH и
DPL, хранящих соответственно старший и младший байты адреса.