- •А. В. Поздняков, б. Я. Цилькер микропроцессоры и микропроцессорные системы
- •Часть 1
- •(Учебное пособие)
- •Содержание
- •1. Микропроцессорные системы
- •1.1. Историческая справка
- •1.2. Архитектура мпс с магистрально-модульной организацией
- •1.3. Режимы работы мпс
- •2.1. Центральный процессор
- •2.1.1. Классификация микропроцессоров
- •2. Микропроцессорный модуль
- •2.1.2. Структура центрального процессора
- •2.1.2.1. Краткая характеристика микропроцессора Intel 8086
- •2.1.2.2. Архитектура микропроцессора Intel 8086
- •2.1.2.3. Программная модель микропроцессора Intel 8086
- •2.1.2.4. Представление информации в мп Intel 8086
- •2.1.2.5. Способы адресации операндов в мп Intel 8086
- •2.1.2.6. Система команд мп Intel 8086
- •2.1.2.7. Содержание цикла команды, типовые машинные циклы мп Intel 8086
- •2.1.2.8. Входные и выходные сигналы мп Intel 8086
- •2.2. Сопроцессор
- •2.3. Генератор тактовых импульсов
- •2.4. Системный контроллер
- •2.5. Согласующие элементы микропроцессорных систем
- •2.5.1. Шинные формирователи
- •2.5.2. Буферные регистры
- •2.6. Контроллер прерываний
- •2.7. Контроллер прямого доступа к памяти
- •2.8. Программируемый таймер
- •3. Модуль памяти
- •3.1. Организация модуля памяти
- •3.2. Распределение адресного пространства зу
- •3.3. Декодирование старших разрядов адреса.
- •3.3.1. Декодирование адресов методом линейной выборки
- •3.3.2. Декодирование адресов с помощью логических компараторов
- •3.3.3. Декодирование адресов с применением комбинационных логических схем
- •3.4. Выбор типа зу
- •3.5. Функциональная схема модуля памяти
- •3.6. Обеспечение необходимой емкости зу
- •3.6.1. Увеличение разрядности зу
- •3.6.2. Увеличение адресного пространства зу
- •4. Модуль ввода-вывода
- •4.1. Интерфейс ввода-вывода
- •4.2. Параллельные порты
- •4.2.1. Параллельный порт вывода
- •4.2.2. Параллельный порт ввода
- •4.2.3. Параллельные порты ввода-вывода
- •4.3. Последовательные порты
- •4.3.1. Последовательный асинхронный порт вывода
- •4.3.2. Последовательный асинхронный порт ввода
- •4.3.3. Программируемый последовательный интерфейс
- •4.4. Организация обращения к портам ввода/вывода
- •4.4.1. Обращение к портам ввода/вывода с помощью специальных команд
- •4.4.2. Обращение к портам ввода/вывода с помощью команд пересылок
- •4.5. Способы организации ввода/ вывода информации в мпс
- •4.5.1. Организация ввода/вывода информации под управлением основной программы
- •4.5.2. Организация ввода/вывода в режиме прерывания программы
- •4.5.3. Организация ввода/вывода в режиме прямого доступа к памяти
- •Система команд микропроцессора Intel 8086 Команды пересылки данных
- •Арифметические команды
- •Логические команды
- •Команды передачи управления
- •Команды управления процессором
- •Команды обработки строк
- •Литература
2.1.2.3. Программная модель микропроцессора Intel 8086
Программная модель показывает внутренние регистры МП, память и порты, в которых информацию можно изменить с помощью команд МП, т.е. это программно доступные узлы, однозначно определенные командой или имеющие адрес.
Эти узлы можно разделить на внутренние и внешние регистры (см. рис. 2.6). Внутренние регистры делятся на регистры общего назначения, сегментные регистры и регистры управления. Внешние регистры - на ячейки памяти, порты ввода и порты вывода. Остальные узлы микропроцессора программно недоступны.
Микропроцессор обеспечивает возможность адресации к 220=1М 8-разрядным ячейкам памяти. Обмен информации с памятью может осуществляться байтами или 16-разрядными словами. Слово представляет собой два последовательных байта памяти. Оно может начинаться с четного и нечетного адреса. Если слово начинается с четного адреса, для доступа к нему требуется одно обращение к памяти, если с нечетного – два. В слове сначала запоминается младший байт, а затем старший. Адресация слова производится указанием адреса младшего байта.
Ввод и вывод информации может осуществляться через порты ввода и вывода байтами или словами, т.е. с использованием как 8-разрядных, так и 16-разрядных портов. Причем обеспечивается возможность адресации к 32768 (32К) 16-разрядным портам ввода и портам вывода или к 65536 (64К) 8-разрядным портам ввода и портам вывода. Порты ввода и вывода, выполняющие обмен байтами, могут быть связаны с шиной данных по младшим разрядам (D0-D7), либо по старшим (D8-D15). Если адрес порта четный, то передача идет по младшим разрядам шины данных, если нечетный –по старшим.
Рис. 2.6. Программная модель микропроцессора Intel 8086
2.1.2.4. Представление информации в мп Intel 8086
Информацию в МП можно разделить на три типа:
числовую;
символьную;
команды.
Числовая информация. В МП Intel 8086 применяется форма представления числовой информации с фиксированной точкой. Микропроцессор позволяет работать с:
целыми числами без знака;
целыми числами со знаком;
десятичными числами.
Целые числа без знака представляются в прямом двоичном коде. При использовании восьми разрядов диапазон представления чисел от 0 до 255, при использовании 16 разрядов - от 0 до 65535.
Целые числа со знаком представляются в дополнительном двоичном коде. Диапазон представления чисел:
при использовании 8 разрядов - от -128 до +127;
при использовании 16 разрядов - от -32768 до +32767.
Десятичные числа представляются в двоично-десятичном коде в упакованном формате и распакованном (зонном) формате. Для представления десятичных чисел используются 8 разрядов. Диапазон представления десятичных чисел в упакованном формате – от 0 до 99. Диапазон представления десятичных чисел в зонном формате – от 0 до 9. При использовании зонного формата в старший полубайт записывается кодовая комбинация 0000 или 0011.
Необходимо иметь ввиду, что АЛУ микропроцессора выполняет операции над операндами, представленными в двоичном дополнительном коде. Интерпретация же операндов и результата в виде определенной формы чисел производится пользователем.
Символьная информация. Для представления символьной информации в МП используется стандартный код ASCII (American Standard Code for Information Interchange). Код символа в этом коде занимает один байт. Система команд микропроцессора позволяет выполнять операции с последовательностью символов – строками.
Команды. В МП Intel 8086 команда состоит из кода операции (КОП) и адресной части. Команды в зависимости от способа адресации операндов могут содержать от 1 до 6 байт.
Код операции занимает один или два первых байта команды. Команды МП могут иметь от 0 до 2 операндов. Размер операндов – байт или слово. Операнд может находиться в самой команде (это так называемый непосредственный операнд), либо в одном из регистров МП, и тогда в команде указывается этот регистр, либо может находиться в ячейке памяти и тогда в команде тем или иным способом указывается адрес этой ячейки.
Форматы команд МП достаточно разнообразны. Основными форматами команд с двумя операндами являются:
формат “регистр-регистр” (2 байта);
формат “регистр-память” (2-4 байта);
формат “регистр – непосредственный операнд” (3-4 байта);
формат “память – непосредственный операнд” (3-6 байтов).
Команде может предшествовать однобайтный префикс, который изменяет соглашения предусмотренные кодом операции. Префикс имеет специальную кодировку, позволяющую микропроцессору отличить его от кода команды.
