- •Тема 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-бітного пристрою.
5.1.5. Фізична адреса байту в пам’яті.
Так как внутренние регистры – 16-разрядные (216 = 64 Кбайт), а шина адреса имеет ширину 20 бит (220 = 1Мбайт), то для формирования 20-разрядного физического адреса памяти используются: сегмент адреса и смещение адреса. Физический адрес записывается парой этих значений, разделенных двоеточием, и образуется следующим образом (рис.4):
значение сегмента адреса, берущегося из регистра, CS сдвигается на 4 бита влево с заполнением разрядов справа нулями;
к образовавшемуся 20-битовому значению прибавляется значение смещения адреса из регистра IP. При возникновении переполнения берется только пять 16-ричных цифр результата.
Например, адрес 40:1Ch соответствует физическому адресу 0041Ch.
Значение регистра CS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
00 |
00 |
00 |
Регистр CS
15 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
Регистр IP
= 15 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Физический
адрес
19 0
Рис.4. Схема определения физического адреса для микропроцессоров 8086/88
5.1.6. Формування логічного адресу.
Тема 5.2: Сопроцесор і арифметичне розширення процесору. Синхронізація програми та керування таймером.
5.2.1. Функції та призначення сопроцесору.
Сопроцессор - специальная интегральная схема, которая работает в содружестве с главным процессором. Обычно сопроцессор настраивается на выполнение какой-нибудь специфические функции - математической операции или графического представления. И эту операцию сопроцессор может реализовать во много раз быстрее, чем главный процессор. Таким образом компьютеp с сопроцессором работает намного проворнее. Сопроцессор - это обычный микропроцессор, но не столь универсальный. Обычно сопроцессор разрабатывается как специальное устройство по реализации конкретно определенной функции. Он выполняет программы содержащие последовательность микpопpоцессоpных команд. Сопроцессоры, большей частью использующиеся в PC, являются математическими сопроцессорами. В математике они специализируются по умножению и делению чисел. Математические сопроцессоры называют ещё процессорами с плавающей запятой. Преимущество, получаемое от установки математического сопроцессора, зависит от того какие задачи решаются на компьютере. Сопроцессор может уменьшить время выполнения математических операций, таких как умножение, деление, возведение в степень на 80% и более. Сопроцессор и главный микропроцессор могут работать на разных тактовых частотах (от собственных тактовых генераторов). Когда отношение частот микропроцессора и сопроцессора выражается целым числом, они работают синхронно и могут передавать информацию друг другу оптимальным образом. Несинхронизированная работа требует, чтобы один или другой из них ожидал завершения цикла своего партнёра, что влечёт за со бой появление небольшого, но реального периода ожидания. Семейство сопроцессоров Intel составляют: 8087, 80287, 80387, 80387SX. Как правило сопроцессоры работают как придатки центрального. Сопроцессоры могут выполнять свои функции параллельно с работой центрального процессора, то есть оба мозга в данном случае думают одновременно, потому что каждый из них читает свои команды прямо с шины, и центральному процессору не приходится прерываться, чтобы выдать команду сопроцессору.
Сопроцессор — специализированный процессор, расширяющий возможности центрального процессора компьютерной системы, но оформленный как отдельный функциональный модуль. Физически сопроцессор может быть отдельной микросхемой или может быть встроен в центральный процессор (как это делается в случае математического сопроцессора в процессорах для ПК начиная с Intel 486DX).
Различают следующие виды сопроцессоров:
математические сопроцессоры общего назначения, обычно ускоряющие вычисления с плавающей запятой,
сопроцессоры ввода-вывода (например — Intel 8089), разгружающие центральный процессор от контроля за операциями ввода-вывода или расширяющие стандартное адресное пространство процессора,
сопроцессоры для выполнения каких-либо узкоспециализированных вычислений.
Сопроцессоры могут входить в набор логики, разработанный одной конкретной фирмой (например Intel выпускала в комплекте с процессором 8086 сопроцессоры 8087 и 8089) или выпускаться сторонним производителем (например, Weitek (англ.) 1064 для Motorola m68k и 1067 для Intel 80286).
5.2.2. Призначення арифметичного розширення процесору.
Вместе с любыми процессорами фирмы Intel (и их аналогами) могут использоваться сопроцессоры. Они выполняют операции с плавающей запятой, которые потребовали бы больших затрат машинного времени от основного процессора. Выигрыш можно получить только при выполнении программ, написанных с расчетом на использование сопроцессора. Сопроцессоры выполняют такие сложные операции как точное деление, вычисление тригонометрических функций, извлечение квадратного корня и нахождение логарифма в 10-100 раз быстрее основного процессора. Точность результатов при этом значительно выше той, которая обеспечивается вычислителями, входящими в состав самих процессоров. Операции сложения, вычитания и умножения выполняются основным процессором и не передаются сопроцессору. Система команд сопроцессора отличается от системы команд процессора. Выполняемая программа должна сама определять наличие сопроцессора и после этого выполнять написанные для него инструкции, в противном случае сопроцессор только потребляет ток и ничего не делает. Большинство современных программ, рассчитанных на использование сопроцессора, обнаруживает его присутствие и использует предоставленные возможности. Наиболее эффективно сопроцессоры используются в программах со сложными математическими расчетами: в электронных таблицах, базах данных, статистических программах, системах автоматизированного проектирования. В работе с текстовыми редакторами сопроцессор совершенно не используется. Фирма Intel выпускает следующие сопроцессоры: 8087, 287, 387SX, 387DX, 487SX на отдельных кристаллах, а начиная с процессора 486DX сопроцессоры встроены в микросхему процессора.
5.2.3. Функції та призначення таймеру.
В якості системного таймера комп'ютера використовується мікросхема трьохканального 16-розрядного таймера i8254 чи її аналог. Таймер призначений для одержання програмно керованих часових затримок і генерації сигналів заданої частоти. Таймер дозволяє підвищити ефективність програмування процесів управління і синхронізації зовнішніх пристроїв, особливо в реальному часі.
Таймер містить три незалежних канали (0, 1 і 2), кожний з яких може бути, у принципі, запрограмований на роботу в одному із шести режимів відліку:
переривання термінального відліку;
програмований генератор одиночного імпульсу;
генератор імпульсів заданої частоти;
генератор прямокутних імпульсів типу "меандр";
програмно формований строб;
апаратно формований строб.