- •Раздел 4. Микропроцессоры семейства intel
- •Тема 4.1. Модели мп семейства intel и их сравнительная характеристика
- •Тема 4.2. Организация однокристальных 16-разрядных микропроцессоров
- •Стандартная архитектура 16-разрядного микропроцессора intel 8086.
- •Программная модель микропроцессора intel 8086.
- •Организация памяти.
- •Стандартная архитектура 16-разрядного микропроцессора intel 8086.
- •Программная модель микропроцессора intel 8086.
- •Сегментные регистры (cs, ds, ss, es),
- •Регистр адреса командIp,
- •Регистр флагов f.
- •Регистр флагов f
- •3. Организация памяти.
- •Тема 4.3. Система команд мп, форматы команд, классификация команд, способы адресации
- •Формат команды микропроцессора
- •Режимы адресации операндов
- •Тема 4.4. Система прерываний микроЭвм
- •Типы прерываний и особых ситуаций. Приоритеты прерываний и особых ситуаций
- •Механизм обработки прерываний
- •Типы прерываний и особых ситуаций. Приоритеты прерываний и особых ситуаций
- •Аппаратные прерывания
- •Программные прерывания
- •Исключительные ситуации
- •Механизм обработки прерываний
- •Тема 4.5. Сопроцессоры
- •Общие сведения и технические характеристики. Форматы команд и обрабатываемых данных. Система команд арифметического сопроцессора
- •Структура арифметического сопроцессора
- •Общие сведения и технические характеристики. Форматы команд и обрабатываемых данных. Система команд арифметического сопроцессора
- •Структура арифметического сопроцессора
- •Тема 4.6. Архитектура 32-разрядных мп
- •Регистровая структура мп 80486
- •Типы данных 32-разрядных мп
- •Система команд, форматы команд и способы адресации мп 80486
- •Тема 4.7. Реальный режим работы мп
- •Тема 4.8. Защищенный режим работы мп
- •Дескрипторы сегментов и их таблицы. Типы сегментов и дескрипторов
- •Страничная и сегментная организация памяти. Преобразование адресов в защищенном режиме
- •Средства поддержки мультизадачности и защиты. Механизмы защиты
- •Тема 4.9. Виртуальный режим работы мп
- •Виртуальная память. Средства поддержки виртуальной памяти
- •Пространство виртуальных адресов. Механизм преобразования адресов
- •Виртуальная память. Средства поддержки виртуальной памяти
- •Пространство виртуальных адресов. Механизм преобразования адресов
- •Сегментно - страничное распределение
-
Режимы адресации операндов
Режимы адресации микропроцессора INTEL 8086:
-
непосредственная,
-
прямая,
-
регистровая,
-
косвенная,
-
базовая адресация, при которой исполнительный адрес операнда является суммой смещения (disp) и содержимого регистров BX или BP. При использовании BX происходит обращение к операнду в текущем сегменте данных, а при использовании BP – в текущем сегменте стека.
-
индексная адресация, при которой исполнительный адрес операнда является суммой смещения (disp), находящегося в команде, и содержимого регистров SI или DI.
Базовая и индексная адресации обычно применяются при обращении к различным элементам массива (таблицы) данных. Смещение (disp) определяет начальный адрес массива. Индексный или базовый регистр, содержимое которого может изменяться при выполнении программы, определяет элемент массива (таблицы).
-
базово-индексная адресация, при которой исполнительный адрес операнда равен сумме содержимого базового регистра, индексного регистра и смещения (disp), находящегося в команде.
Базово-индексная адресация используется при обработке двумерных массивов, например, элементов матриц. При базово-индексной адресации два компонента адреса можно определить и изменить при выполнении программы.
Тема 4.4. Система прерываний микроЭвм
-
Типы прерываний и особых ситуаций. Приоритеты прерываний и особых ситуаций
-
Механизм обработки прерываний
-
Типы прерываний и особых ситуаций. Приоритеты прерываний и особых ситуаций
Система прерываний в микроЭВМ предназначена для того, чтобы заставить микропроцессор обратить внимание на особые условия, возникающие в нем самом или другом оборудовании микроЭВМ, и переключиться на выполнение какой-то более важной или нужной в данный момент другой программы или процедуры. Непосредственной причиной переключения микропроцессора с одной программы на другую является сигнал прерывания. Причины прерываний могут быть различными: сбои и отказы в работе технических средств, запросы на обмен информацией от внешних устройств, программные ошибки и т.д. Прерывания возникают при работе микроЭВМ постоянно, например, все процедуры ввода-вывода информации выполняются по прерываниям. Программа, которую микропроцессор начинает выполнять в результате воздействия сигналов прерывания, называется программой обработки прерывания.
Прерывание позволяет микроЭВМ приостановить любое свое действие и временно переключиться на другое, как заранее запланированное, так и неожиданное, вызванное непредсказуемой ситуацией в работе микроЭВМ или ее компонентов. В большинстве случаев возникновение сигналов прерывания не планируется в выполняемой в данный момент текущей программе, а является по отношению к ней независимым, или внешним событием. Такие сигналы могут появиться на любом шаге выполнения программы. Возобновление прерванной программы должно быть произведено так, будто прерывание отсутствовало. Для этого в стеке запоминается адрес возврата (CS и IP) и содержимое регистра флагов F, а также содержимое тех регистров, которые потребуются для выполнения подпрограммы обработки прерывания. Содержимое регистров CS, IP и F запоминается и восстанавливается автоматически, а для запоминания и последующего восстановления содержимого других регистров микропроцессора должны быть предусмотрены соответствующие команды в начале и в конце подпрограммы обработки прерываний. Следует отметить, что в стек включается скорректированное содержимое указателя команд IP, соответствующее адресу команды, перед которой микропроцессор начал обслуживать прерывание. Необходимость коррекции вызвана тем, что IP адресует команды с опережением из-за существования внутренней очереди команд.
Прерывания могут генерироваться
-
микропроцессором,
-
аппаратурой, входящей в состав микроЭВМ,
-
программой.
Разница между прерываниями и исключительными ситуациями состоит в различии их назначения в системе прерываний:
-
прерывания используются для обработки аппаратных и программных событий, связанных с различными ресурсами микроЭВМ,
-
исключительные ситуации предназначены для обработки ошибок, возникающих в процессе выполнения команды микропроцессором и препятствующих выполнению как текущей, так и последующей команды.
С точки зрения архитектуры микропроцессора программное прерывание также является исключительной ситуацией, но с точки зрения организации системы прерываний программное прерывание является самостоятельным средством, при помощи которого пользователь получает возможность доступа к системным и пользовательским ресурсам.
Важная особенность каждой системы прерывания – возможность автоматически или по желанию программиста запретить (замаскировать) прерывания микропроцессора. Маскирование прерываний осуществляется флагом IF в регистре признаков микропроцессора. При IF=1 микропроцессор принимает и соответственно реагирует на запросы прерывания. При IF=0 прерывания запрещены (замаскированы), микропроцессор игнорирует поступающие запросы прерываний и переходит к следующей команде. Прерывания можно разделить на маскируемые и немаскируемые. Обработка маскируемых прерываний зависит от значения признака разрешения прерывания IF. Немаскируемый запрос прерывания обычно используется для прерывания работы микропроцессора при катастрофических событиях: пропадание питания, аппаратурный сбой, обнаружение ошибки памяти и т.д. Обработка немаскируемых прерываний не зависит от значения признака IF. Немаскируемое прерывание имеет самый высокий приоритет.
Микропроцессор может обрабатывать 256 типов различных прерываний. Каждому прерыванию соответствует свой вектор – адрес программы обработки прерывания. Под векторы прерываний в общем пространстве адресов памяти отводится 1Кбайт, начиная с нулевого адреса.
В зависимости от источника все прерывания, возникающие в микроЭВМ, делятся на классы (типы). Классификация типов прерывания:
Рисунок – Общая структура системы прерываний