Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Организация подсистем прерываний в МП системах на микроконтроллерах платформы х86, Pentium.






 

При работе микропроцессорной системы часто возникают си­туации, когда требуется прервать выполнение текущей программы и перейти к подпрограмме, обеспечивающей необходимую реакцию сис­темы на создавшиеся обстоятельства. Такие ситуации называются прерываниями или исключениями в зависимости от причин, вызываю­щих их возникновение. Специальные виды таких прерываний реализуются при отладке программ, для чего в состав процессора введены необходи­мые функциональные блоки, работа которых контролируется с помощью регистров отладки DR7-0.

Для современных процессоров и систем, реализуемых на их основе, применяется тестирование и самотестирование. Процессоры семейства Р6 содержат ряд средств, которые обеспечивают выполнение данных процедур.

В МПС на микропроцессорах платформы х86 стартовый адрес процедуры обслуживания прерываний определяется обращением к таблице прерываний через однобайтный вектор, формируемый аппаратными средствами подсистемы прерываний

В общем случае, все эти ситуации разделяются по принципу их обнаружения, источника возникновения и реакции на них на следующие три категории:

· прерывания и особые ситуации — обнаруживаются и обрабатываются процессором в самые различные моменты времени и могут происходить как из внешних так и из внутренних источников, все другие типы экстраординарных ситуаций занимают более низкий уровень иерархии и могут обрабатываться, только если сперва заявят о своем существовании через прерывание или особую ситуацию;

· исключительные ситуации FPU — могут возникать только при выполнении команд сопроцессора и полностью определяются его текущим состоянием, генерация исключительной ситуации в свою очередь может вызывать генерацию прерывания или особой ситуации, обработчик которой далее сам разбирается с тем, какое исключение произошло и какие действия в связи с этим следует предпринять;

· исключительные ситуации SIMD — могут возникать только при выполнении SIMD-команд и полностью определяются состоянием SIMD-регистров процессора, сообщают о своем возникновении также, как и исключения FPU через специальное прерывание, т.е. обработчик прерывания или особой ситуации должен сам программным путем определить причину его поступления.

Прерывания и особые ситуации — это специальные средства, обеспечивающие быструю реакцию процессора на внешние воздействия и прочие неожиданные ситуации. При поступлении прерывания или генерации особой ситуации выполнение программы прерывается, а управление передается специальной процедуре — обработчику прерывания или особой ситуации. В большинстве случаев, когда обработка прерывания или особой ситуации заканчивается, управление может быть возвращено в прерванную программу, которая продолжит свое выполнение с той самой точки, в которой она была остановлена. Процессор производит автоматическое сохранение/восстановление состояния для обеспечения этой возможности.

Существует два источника поступления прерываний и три типа особых ситуаций.

Прерывания:

внешние маскируемые прерывания — принимаются на выводе INTR# CPU, если флаг EFLAGS.IF установлен, маскируемые прерывания не проходят;

внешние немаскируемые прерывания — принимаются на выводе NMI# CPU, механизм запрета немаскируемых прерываний отсутствует.

Особые ситуации:

генерируемые процессором особые ситуации — возникают в процессе и по результатам выполнения команд, разделяются на ошибки, ловушки и сбои;

программные прерывания — могут быть вызваны командами INTO, INT 3, INT n, BOUND;

особые ситуации генерируемые средствами самопроверки процессора.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.