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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 117 118 119 120 121 122 < 123 > 124 125 126 127 128 129 .. 528 >> Следующая

(одноцикловых) целочисленных операций SIU1, SIU2, одно устройство для
выполнения сложных (многоцикловых) целочисленных операций MIU, устройство
обработки чисел с плавающей точкой FPU и блок выборки операндов из памяти
LSU. При этом обеспечивается одновременное выполнение четырех команд. Все
операции обработки данных выполняются с регистровой адресацией. Выборка
данных из памяти производится только командами пересылки, которые
выполняются блоком LSU и осуществляют загрузку данных в регистры GPR, FPR
или запись содержимого этих регистров в память.
Таблица 2.64
Виды и относительные адреса векторов исключений
Адрес вектора Av Вид исключения
$00100 "Системный сброс" - установка в начальное состояние при
поступлении внешних сигналов сброса SRESET# = 0 HRESET = 0
$00200 "Контроль процессора"- поступление сигналов ошибки пересыпки
TEA# = 0 или контроля процессора MCP# = 0 (различные, если в MSR бит ME =
1)
$00300 "Ошибка выбора данных" - ошибка при трансляции адреса данных;
нарушение защиты при выборе данных; формирование адреса, совпадающего с
содержимым регистра DABR
$00400 "Ошибка выбора команды" - ошибка при трансляции адреса
команды; нарушение защиты при выборе команды
$00500 "Внешнее прерывание" - поступление внешнего сигнала INT# = U
(разрешено, если в MSR бит ЕЕ = 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)
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Устройство управления 1. Выборка команды
BPU 2. Декодирование
3. Распределение команд
Ж
SIU1
Ж
Ж
SIU2
Ж
КЭШ команд и Команды
IC (16 Кбайт)
IMMU Адрес к у
4. Выполнение команд
Mil)
Ж
^Шины ~|
ж Л
GPR
32x32
Ж
Буфер
GPR
12x32
Шина результатов
Ж
LSU
30
IE
Блок 5. Буфер результатов
завершения 6. Обратная запись
ж
FPU
Ж
ж
FPR
32x64
Ж
DMMU
КЭШ данных DC (16 Кбайт)
Ж
Буфер
FPR
8x64
Данные
С=?> А31-0 у С=?> D63-0 "
BIU
Контроллер
Рис. 2.70. Структура микропроцессора МРС604
При параллельной работе исполнительных устройств возможно их
одновременное обращение к одним регистрам. Чтобы избежать ошибок,
возникающих при этом, в случае записи в регистр нового содержимого до
того, как другим устройством будет считано предыдущее, введены буферные
регистры -12 для GPR, 8 для FPR. Эти регистры служат для промежуточного
хранения операндов, дублируя регистры GPR, FPR, используемые при
выполнении текущих операций. После завершения этих операций производится
перезапись полученных результатов в GPR, FPR (обратная запись).
Конвейер выполнения команд имеет шесть основных каскадов: выборка команды
(1) и ее дешифрация (2), распределение команд по исполнительным
устройствам (3), выполнение команд (4), запись результатов в буфер (5) и
обратная запись результатов в регистры SPR или FPR. Устройство управления
одновременно выбирает из кэша и декодирует четыре команды, которые
распределяются в соответствующие исполнительные устройства. Большинство
команд выполняется за один такт. Эти команды реализуются с помощью SIU1,
SIU2, которые осуществляют сложение - вычитание, сравнение, сдвиги,
логические операции. Выполнение ряда команд требует нескольких тактов.
Например, целочисленное умножение осуществляется за 3-4 такта, деление за
20 тактов. Эти операции производятся MIU. Большинство операций с
плавающей точкой (кроме деления), выполняется за три такта, поэтому во
внутренней структуре FPU реализовано три исполнительных каскада. Блок
завершения обеспечивает получение правильной последовательности
результатов выполняемых операций. Он содержит буферную память типа
очереди, в которую по мере поступления записываются результаты,
получаемые от исполнительных устройств. Обратная запись результатов из
буфера в регистры GPR, FPR производится в соответствии с порядком
поступления команд, выбираемых устройством управления, т. е.
восстанавливается необходимая последовательность результатов.
Блок обработки ветвлений BPU предсказывает направление ветвления
программы при поступлении соответствующих команд. В микропроцессорах
семейства МРСбхх реализуется два механизма предсказания: статическое
Предыдущая << 1 .. 117 118 119 120 121 122 < 123 > 124 125 126 127 128 129 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed