- •Тема 1.1: Класифікація мікропроцесорів. Архітектура процесорів Intel 8086.
- •1.4. Структура вбудованого мікроконтролеру
- •1.5. Системна шина
- •Тема 2.2: Арифметичні операції над числами. Логічні операції над числами та строками. Умовні та безумовні переходи.
- •2.2.1 Додавання цілих чисел. Синтаксис команд
- •2.2.2 Віднімання цілих чисел. Синтаксис команд
- •2.2.3 Множення цілих чисел. Синтаксис команд.
- •2.2.4 Ділення цілих чисел. Синтаксис команд
- •2.2.5 Арифметичний зсув вліво і вправо. Синтаксис команд
- •2.2.6 Безумовний перехід та порівняння. Синтаксис команд.
- •2.3.3. Команди організації циклів. Синтаксис команд
- •3.1.2. Сегментні регістри. Состав шинного інтерфейсу.
- •3.1.3. Індексні регістри. Регістр флагів.
- •3.1.4. Функції алу. Призначення адресних входів алу
- •Тема 3.2: Система команд мікропроцесору i8080. Організація пам’яті та портів вводу/виводу.
- •Тема 5.1: Система команд i8086. Система переривів. Адресація пам’яті. Директиви передачі керування.
- •5.1.2. Команди перериву за переповненням. Синтаксис команд.
- •5.1.3. Повернення з переривів та підпрограм.
- •5.1.4. Сегментна організація пам’яті.
- •5.1.5. Фізична адреса байту в пам’яті.
- •5.1.6. Формування логічного адресу.
- •Тема 5.2: Сопроцесор і арифметичне розширення процесору. Синхронізація програми та керування таймером.
- •5.2.1. Функції та призначення сопроцесору.
- •5.2.4. Синхронізація сигналів таймеру.
- •Тема 5.3: Програмування вводу/виводу даних на зовнішні пристрої. Обмін даними в локальних мережах.
- •5.3.1. Функції інтерфейсу вводу/виводу.
- •5.3.2. Керування обміном даними. Програмний обмін.
- •5.3.3. Керування обміном даними. Обмін за переривом.
- •Тема 6.1: Архітектура мікроконтролеру i8086. Організація пам’яті і регістрів. Прямий доступ до пам’яті.
- •6.1.1. Організація пам’яті. Адресний простір.
- •6.1.2. Структура процесору i8086. Виконавчий модуль.
- •6.1.3. Структура процесору i8086. Шиний інтерфейс
- •6.1.4. Структура процесору i8086. Керування і таймінг.
- •6.1.5. Контролер динамічної пам'яті. Схема модуля.
- •Тема 6.2: Організація портів вводу/виводу. Інтерфейси зовнішніх пристроїв для взаємодії з технологічним обладнанням.
- •Тема 6.3: Тактовий генератор. Таймери. Лічильники. Внутрішня та зовнішня пам’ять. Шини адресу та даних.
- •6.3.1. Мікросхема тактового генератору.
- •6.3.2. Структурна схема програмованого таймеру.
- •6.3.3. Режими роботи програмованого таймеру.
- •6.3.4. Нарощування об’єму пам’яті.
- •Тема 6.4: Система переривів. Контролер переривів. Організація механізму переривів. Перериви таймеру.
- •6.4.1. Контролер переривів. Джерело переривів.
- •6.4.2. Запроси переривів. Типи векторів переривів.
- •6.4.3. Адреси функцій переривів. Приклад визову перериву.
- •Тема 7.1: Засоби організації обміну із зовнішніми приладами. Схема виводів. Програмовані виводи.
- •7.1.1. Схема виводів мікропроцесору i8086.
- •7.1.2. Адресація 8-бітного пристрою.
6.1.2. Структура процесору i8086. Виконавчий модуль.
Упрощенная структурная схема МП Intel 8086 и его условное обозначение представлены на рис. 2.2.
Рис. 2.1. Упрощенная структурная схема МП Intel 8086 (а) и его условное обозначение (б)
Микропроцессор включает два основных асинхронно работающих устройства: блок выполнения команд (Execution Unit) и блок сопряжения с шиной (Bus Interface Unit). В функции блока выполнения команд входит декодирование и выполнение команд, а в функции блока сопряжения с шиной - извлечение из памяти кода команд и их операндов, а также запись результатов в память. Блоки могут работать независимо друг от друга, и процессы преобразования и передачи информации в них могут идти параллельно.
Функционально микросхема разделена на два независимых блока. дин из них называется блоком сопряжения с магистралью (рис.1.3) (Bus interface unit BIU), другой блок называется исполнительным (Execution unit EU).Блок сопряжения с магистралью выполняет две функции:
- выборка команд из памяти;
- пересылка данных между исполнительной аппаратурой и внешним миром.
Рис.3.1. Функциональная архитектура МП 8086/8088
В исполнительном блоке происходит выполнение команды. BIU содержит указатель команд (IP), в котором хранится адрес очередной выбираемой команды, байтовая очередь потока команд и регистры сегментов.
Регистры сегментов МП 8086/8088 содержат 16 разрядов и носят название CS (code segment – сегмент программы), DS (date segment сегмент данных), SS (stack segment – сегмент стека) и ES (extra segment – дополнительный сегмент).
Блоки BIU и EU работают независимо. Блок BIU осуществляет выборку команд и пересылку данных, а EU выполняет выбранные команды. Такое разделение функций стало возможным за счет использования конвейера (очереди) команд. Блок сопряжения с магистралью заполняет конвейер командами, ожидающими выполнения. В то время как исполнительный блок заканчивает выполнение текущей команды, следующая команда уже подготовлена для выполнения. В случае перехода конвейер сбрасывается. Конвейер BIU в МП 8086 хранит до 6 байт, а 8088- до 4 байт потока команд.
Исполнительный блок не имеет связи с системной магистралью. ЕU получает команда из очереди. Если команда требует обращения к памяти или внешней магистрали, EU посылает запрос ВIU на выборку или запись данных. Адреса, с которыми оперирует EU имеет 16 разрядов, но BIUвыполняет преобразование адресов так, чтобы EU мог обратиться ко всему возможному адресному пространству (1Мбайт) памяти
Исполнительный блок состоит из 16-разрядного арифметико-логического устройства (АЛУ), регистров, операндов и флагов, а также набора регистров общего назначения АН, АL, ВН, BL, СН, CL, DН, DL. Регистры АН и AL объединяются в регистр-аккумулятор АХ; ВН и BL образуют регистр базы ВХ; СН и CL образуют регистр-счетчик СХ. DН и DL образуют регистр данных DX.
К регистрам общего назначения можно адресоваться как к 8- или 16-разрядным. Это позволяет программам для 8-разрядного МП 8080 выполняться на МП 8086/8088 после повторной трансляции. МП 8086/8088 может адресовать до 1 Мбайта памяти (1048576 байт). Каждому адресу назначен уникальный адрес (беззнаковое число от 0 до 2020- 1 (от 00 000 до FFFFF в шестнадцатеричной системе счисления). Два соседних байта в памяти образуют слово. За адрес слова принимается меньший из двух адресов байтов, слово состоит из 16 бит. Младшие биты слова содержатся в адресе байта с меньшим адресом, а старшие биты слова - в байте со старшим адресом.
В МП-8086 обмен данными между процессором и памятью осуществляется словами, начинающимися с адресов, кратных двум.
Кроме байт и слов МП 8086/8088 оперирует следующими дополнительными типами данных:
Неупакованный двоично-десятичный тип - байтовое представление .десятичной цифры от 0 до 9.
В каждом байте хранится по одной цифре. Значение цифры определяется младшим полубайтом. Старший полубайт равен 0 при делении и умножении и принимает любое значение при вычитании и сложении.
Ближний указатель - 16-разрядный логический адрес, который представляет собой относительный адрес внутри сегмента.
Дальний указатель-- 32-разрядный логический адрес из двух компонентов 16-разрядного сегмента и 16-разрядного относительного адреса.
Целый тип - знаковое двоичное значение, содержащееся в 16-разрядном слове или 8-разрядном байте. Все операции выполняются в дополнительном коде. Бит знака расположен в бите 7 байта и в бите 15 слова. Знаковый бит равен 0 для положительного слова и в равен 1 - для отрицательного. Для 8-разрядных целых чисел диапазон изменения от -128 до +127,. а 16-разрядных в диапазоне от -32768 до +32767. Нулевое значение имеет положительный знак.
Обычный (беззнаковый) тип -беззнаковое двоичное значение содержащееся в 16-разрядном слове или 8-разрядном байте. Все биты определяют величину числа. Значение для байта составляет от 0 до 255, для слова - от 0 до 65535.
Строка - непрерывная последовательность байт или слов. Строка может содержать от 0 до 216 - 1 байт или 64 Кбайта.