Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование МПС(конспект лекций).doc
Скачиваний:
16
Добавлен:
18.11.2018
Размер:
769.54 Кб
Скачать

2.2. Структура мп Intel 8086

Микропроцессор состоит из трех частей:

      1. операционное устройство;

      2. устройство сопряжения с шиной;

      3. устройство управления.

Структура МП Intel 8086 представлена на рисунке 28.

Рис. 28

На рисунке 28 I обозначено операционное устройство, которое предполагает набор регистров:

SР – указатель стека;

ВР – регистр указателя базы стека;

DI, SI – индексные регистры приемника/источника соответственно;

RGi – регистры временного хранения;

RGF – регистр флагов;

РОН – регистры общего назначения предназначены для временного хранения;

SР, ВР, DI, SI – для хранения адресной информации и выполнения специальных функций;

АН, АL – выполняют функцию аккумулятора;

ВН, ВL – регистр указателя базы данных;

СН, СL – счетчик циклов;

DН, DL – хранение данных.

Устройство сопряжения с шиной обозначено II, а устройство управления – III.

Структура регистра признаков

Структура регистра признаков представлена на рисунке 29.

Рис. 29

Из 16 бит задействованы 9. Регистр признаков определяет состояние МП.

Нулевой бит – СF – флаг переноса;

Первый бит – 1 – фиксированный, не используется;

Второй бит – РF – флаг паритета (четности);

Третий бит – 0 – фиксированный, не используется;

Четвертый бит – АF – дополнительный перенос;

Пятый бит – 0 – фиксированный, не используется;

Шестой бит – ZF – флаг нуля;

Седьмой бит – SF – флаг знака;

Восьмой бит – ТF – флаг трассировки (флаг пошагового режима). При установке этого флага МП переходит в пошаговый режим (для отладки программы);

Девятый бит – IF – флаг разрешения прерывания;

Десятый бит – DF – флаг направления. Указывает направление обработки строк данных, определяет порядок обработки цепочек выполнения команд. Если DF=0, то идет обработка от меньших адресов к большим, если DF=1 – наоборот;

Одиннадцатый бит – ОF – флаг переполнения. Устанавливается при переполнении арифметико-логического устройства и т.д.

Старшие 4 бита – 1 – фиксированы, не используются.

2.3. Система прерываний в мп Intel 8086

Данный МП имеет более гибкую и разветвленную систему прерываний. Он способен реагировать на внешние прерывания (немаскируемый/маскируемый входы). В системе прерываний заложены программные прерывания, которые инициируются специальным кодом. Также имеются внутренние прерывания, возникающие при некорректной работе МП.

Указанный МП содержит векторную систему прерываний. Каждому типу прерываний соответствует свой вектор.

Часть векторов по умолчанию имеют строгое назначение, часть назначается программистом. Имеется 256 векторов прерываний.

Схема возможных источников прерываний представлена на рисунке 30.

Внешние прерывания

Внешние прерывания бывают маскированные и немаскированные. Если прерывание маскированное, то запрос может быть от контроллера прерываний или внешнего устройства.

Рис. 30

Запрос на немаскируемое прерывание обычно используется для прерывания МП в критических режимах. Сигналом запроса на прерывание является сигнал аварии. Прерыванию присваивается фиксированный код (тип 2). Он автоматически формируется внутри процессора. При обслуживании прерывания цикл шины подтверждения прерывания не формируется, чем ускоряется реакция МП на поступивший запрос.

Внешние прерывания могут поступить в любой момент времени.

Программные прерывания

Данные прерывания осуществляются по 2-байтной команде INTn или по однобайтной команде INT3. Для двухбайтной команды тип прерывания указывается во втором байте. Однобайтное прерывание INT3 определено как прерывание в контрольной точке (точке разрыва). Такой точкой может быть любое место в программе, где необходимо прервать выполнение программы и выполнить какие-то действия.

Внутренние прерывания

Внутренние прерывания характеризуются типом, который либо предопределен, либо содержится в коде команды.

Данные прерывания не могут быть запрещены, за исключением работы МП в пошаговом режиме. Эти прерывания имеют более высокий приоритет по отношению к внешним.

Если МП переведен в пошаговый режим, то он реагирует на внешние и внутренние прерывания.

Таким образом, на поступающий запрос на прерывание INTR МП реагирует выполнением последовательно двух машинных циклов:

  1. в первом машинном цикле МП указывает контроллеру прерываний, что запрос был воспринят и требуется обслуживание;

  2. во втором машинном цикле контроллер прерываний выдает на шину данных байт данных, который содержит тип прерывания (0÷255).

Если МП работает в максимальном режиме, то на его выходе LOCK формируется сигнал занятости магистрали для сопроцессоров.

Таким образом, всего 256 типов прерывания. Каждый вектор занимает четыре ячейки памяти: два младших адреса – для записи смещения в сегменте, два старших – для записи начального смещения (базовый адрес сегмента).

Табл. 5

003FF

003FС

Тип 255

00008

00004

Тип 1

00000

Тип 0