Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 114

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 108 109 110 111 112 113 < 114 > 115 116 117 118 119 120 .. 528 >> Следующая

обнаружил "1" в зарезервированных полях указателя таблицы или указателя
страницы; RSVD = 1 при других причинах исключения.
В регистр CR2 процессор заносит линейный адрес, приведший к исключению
#PF.
Исключение 16-исключение FPU (#MF). Реализуется при различных видах
ошибок при обработке чисел с плавающей точкой.
Исключение 17 - ошибка выравнивания (#АС). Возникает при нарушении правил
выравнивания операндов, которые процессор проверяет, если в регистре
EFLAGS установлено значение признака АС = 1, и в регистре CR0 бит AM = 1.
Исключение реализуется в случае нарушения следующих правил формирования
адреса операнда:
• адрес должен быть кратным 2 при выборке слова, селектора или 32-
разрядного дальнего (far) указателя;
• адрес должен быть кратным 4 при выборке двойного слова, числа с
плавающей точкой одинарной точности, 48-разрядного дальнего (far)
указателя, 32-разрядного ближнего (near) указателя или битовой строки;
• адрес должен быть кратным 8 при выборке числа с плавающей точкой
двойной точности или числа с плавающей точкой расширенной точности.
Процессор всегда заносит в стек нулевой код ошибки при вызове исключения
#АС.
Исключение 18 - машинный контроль (#МС). Обеспечивает контроль работы
процессора с помощью специализированных (модельно-специфических)
регистров MSR.
Исключение 19 - исключение SSE (#ХМ). Реализуется при различных видах
ошибок, возникающих при выполнении SSE-команд.
2.8.3. СРЕДСТВА ОБЕСПЕЧЕНИЯ ОТЛАДКИ
Процессоры семейства Р6 реализуют широкий набор вариантов отладки:
• программный останов,
• пошаговый режим,
• отладку с использованием регистров отладки,
• отладку с использованием специализированных MSR-регистров,
• режим зондовой отладки.
Программный останов. Этот способ отладки реализуется с помощью
однобайтной команды INT3, которая вводится программистом в критические
точки программы, где необходимо выполнить контроль текущего состояния.
Команда INT3 устанавливает безуслов-
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
ную программную точку останова, при выполнении которой процессор
реализует исключение #ВР. Команда INT3 выполняется при любых значениях
уровня привилегий программы CPL и содержимого поля IOPL. Исключение #ВР
всегда вызывается через таблицу ЮТ. При работе процессора в режиме
виртуального 8086 на выполнение команды INT3 не оказывает влияния
значение битов в карте перенаправления прерываний (при установленном
значении бита VME = 1 в регистре CR4). При вызове подпрограммы
обслуживания через шлюз уровень приоритета этого шлюза gDPL должен быть
больше или равен CPL.
Пошаговый режим. Пошаговый режим имеет место, когда установлено значение
признака TF=1 в регистре EFLAGS. В этом случае процессор после выполнения
каждой команды (ловушка) реализует исключение типа #DB, вызывая
соответствующую подпрограмму обслуживания. Перед вызовом этой
подпрограммы процессор устанавливает значение признака TF = 0, чтобы
обеспечить выполнение обработки без пошаговых остановов. Команда IRET,
завершающая подпрограмму обработки, восстанавливает из стека содержимое
регистра EFLAGS (где значение TF = 1), передавая управление следующей
команде программы, после которой снова реализуется прерывание #DB.
Останов с помощью регистров отладки DR0-DR7. Регистры отладки имеют
следующее назначение:
DR3-0 - содержат линейные адреса четырех контрольных точек останова;
DR6 - регистр состояния, указывающий причину останова в контрольной
точке;
DR7 - регистр управления, задающий условия останова в контрольных точках.
Доступ к регистрам отладки разрешен только программам с уровнем
привилегий CPL = 0. Попытка обратиться к этим регистрам на другом уровне
привилегий (CPL > 0) приводит к исключению #GP.
Регистры DR4, DR5 в выпускаемых моделях процессоров не используются. Если
в регистре управления CR4 установлено значение бита DE = 1 (расширение
отладки), то обращение к регистрам DR4, DR5 приводит к исключению #UD.
Если бит DE = 0, то при вызове DR4, DR5 производится обращение к
регистрам DR6, DR7.
Формат содержимого регистров управления DR7 и состояния DR6 отладки
показан на рис. 2.63.
Регистр управления отладкой DR7 определяет условия останова для каждой из
четырех контрольных точек, линейные адреса которых находятся в регистрах
DR0-DR3. Отдельные биты и поля в регистре DR7 имеют следующее назначение:
LENi - размер точки останова. Двухбитные поля LEN/указывают, какие биты
линейного адреса участвуют в определении адреса срабатывания й точки
останова, определяя, таким образом, размер области памяти, в пределах
которой выполняется останов.
При реализации останова по обращению к данным поле LEN/' может принимать
следующие значения:
• 00-1 байт (используются биты А31-0 линейного адреса в регистре DRi);
• 01 - 2 байта (используются биты А31-1 линейного адреса);
• 10-не определено;
• 11-4 байта (используются биты А31-2 линейного адреса).
Если соответствующее поле R/W/ в регистре DR7 равно 00 (реализация
Предыдущая << 1 .. 108 109 110 111 112 113 < 114 > 115 116 117 118 119 120 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed