December 16 2017 12:43:18
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Регистр DEC
ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ

К группе вспомогательных регистров относятся регистры: декремента DEC, базового времени ТВ, адресов останова в контрольной точке IABR, DABR, идентификации PIR, а также регистр EAR, используемый для обращения к внешним устройствам с помощью специальных команд eciwx, ecowx.

Регистр DEC работает как вычитающий счетчик с частотой, равной 1/4 от тактовой частоты Ft. Когда его содержимое становится равным нулю, формируется запрос исключения. Таким образом, можно использовать регистр DEC для реализации периодических прерываний.

Регистр PIR содержит 4-разрядный код идентификации PID, определяющий номер микропроцессора в мультипроцессорных системах.

Таймер базового времени ТВ представляет собой 64-разрядный счетчик, переключающийся с частотой Ft. Его содержимое может записываться и считываться путем обращения к 32-разрядным регистрам TBU (младшие 32 разряда) и TBL (старшие 32 разряда). Отметим, что этот регистр доступен также в режиме пользователя, но только для чтения его содержимого.

Регистр IABR содержит адрес команды, а регистр DABR - адрес операнда, при обращении к которым реализуется исключение останова в контрольной точке.

Кроме того, в состав модели супервизора входят пять регистров (MMCR0, PMC1, РМС2, SDA, SIA), которые используются для контроля эффективности работы микропроцессора. В зависимости от значения битов РМ, PR в MSR и содержимого регистра управления MMCR0 в регистры РМС1, РМС2 при работе процессора заносятся такие показатели, как число выполненных циклов, число команд, завершившихся в данном цикле, общее количество выполненных ветвлений, число неправильно предсказанных ветвлений, число кэш - промахов и др. Общее число таких контролируемых параметров составляет 46. Эти данные позволяют программисту оценить эффективность программного обеспечения и оптимизировать его в процессе отладки.

При возникновении исключений их вектора (начальные адреса подпрограмм обслуживания) выбираются из таблицы, базовый адрес которой определяется значением бита ЕР в регистре MSR (рис. 2.68, а). Виды исключений и относительные адреса соответствующих векторов приведены в табл. 2.64. Отдельные виды исключений маскируются путем установки в нуль битов ЕЕ, SE, BE, ME в регистре MSR. При реализации большинства исключений в регистр SRR0 заносится адрес следующей команды программы, обеспечивающий возврат к ее выполнению после обслуживания исключения, а в регистр SRR1 -текущее содержимое MSR. После выполнения подпрограммы обслуживания команда возврата из исключения rfi производит восстановление содержимого программного счетчика и регистра состояния MSR из SRR0, SRR1.

Эти регистры служат для промежуточного хранения операндов, дублируя регистры GPR, FPR, используемые при выполнении текущих операций. После завершения этих операций производится перезапись полученных результатов в GPR, FPR (обратная запись).

Таблица 2.64 Виды и относительные адреса векторов исключений

Адрес вектора Av Вид исключения
$00100 «Системный сброс» - установка в начальное состояние при поступлении внешних сигналов сброса SRESET# = 0 HRESET = 0
$00200 «Контроль процессора»- поступление сигналов ошибки пересылки ТЕА# = 0 или контроля процессора МСР# = 0 (различные, если в MSR бит ME = 1)
$00300 «Ошибка выбора данных» - ошибка при трансляции адреса данных; нарушение защиты при выборе данных; формирование адреса, совпадающего с содержимым регистра DABR
$00400 «Ошибка выбора команды» - ошибка при трансляции адреса команды; нару­шение защиты при выборе команды
$00500 «Внешнее прерывание» - поступление внешнего сигнала INT# = U (разрешено, если в MSR6htEE = 1)
$00600 «Нарушение выравнивания» - обращение к памяти по адресу, не кратному четырем
$00700 «Программное исключение» - неправильный код команды; нарушение защиты; программное прерывание по командам tw, twi; прерывания при обработке чи­сел с плавающей точкой
$00900 «Периодическое прерывание» - изменение содержимого регистра декремента DEC с 00...0 на 11... 1 (разрешено, если в MSR бит ЕЕ = 1)
$00С00 «Системный вызов» - вызов подпрограммы обслуживания при поступлении команды системного вызова sc
$00D00 «Исключение трассировки» - пошаговый режим с остановкой после каждой команды (если в MSR бит SE = 1) или после команд ветвлений (если в MSR бит BE = 1)
$00F00 «Исключение контроля эффективности» - переполнение регистра РМС1 или РМС2
$01300 «Прерывание в контрольной точке»- выборка команды, адрес которой совпа­дает с содержимым регистра IABR
$01400 «Системное прерывание» - поступление сигнала SMI# = 0 ( если в MSR бит ЕЕ = 1)

img037

Микропроцессор содержит специализированный, последовательный порт для выполнения тестирования по стандарту JTAG (IEEE 1149.1). Тестирование осуществляется с помощью специального тест-порта ТАР так же, как в микропроцессоре МС68060 и ряде моделей семейства М683хх.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.05 секунд 2,298,446 уникальных посетителей