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

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

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

Импликация (сгогс).
В группу служебных команд (табл. 2.71) входят команды пересылки
содержимого служебных регистров. Команды mtmsr, mfmsr, пересылки
содержимого регистра управления MSR выполняются только в режиме
супервизора. Команды mtspr, mfspr осуществляют пересылку содержимого
служебных регистров SPRi, номер которых i задается операндом SPR.
Большинство служебных регистров входит в модель супервизора (см. рис.
2.68), поэтому обращение к ним допускается только в режиме супервизора.
Исключение составляют регистры XER (SPR1), LR (SPR8), CTR (SPR9),
входящие в модель пользователя (см. рис. 2.66). Обращение к этим
регистрам осуществляется командами mtspr, mfspr, выполняемыми в режиме
пользователя, при значениях операнда SPR =1,8 или 9. Команда mftb
производит считывание в регистр rD старшего (TBU) или младшего (TBL)
слова из базового таймера.
Команды Iwarx, stwcx. обычно используются совместно. При этом задаются
одинаковые значения гА, гВ и rD = rS. Команда Iwarx загружает операнд из
памяти в регистр rD, а команда stwcx. возвращает его обратно по тому же
адресу ЕА = (гА!0) + (гВ), устанавливая в поле CR0 соответствующие
признаки EQ, GT, LT. Если же перед командой stwcx. произошла новая
загрузка rD или запись по адресу ЕА, то эта команда не вызовет каких-либо
операций. Данная пара команд обычно используется операционной системой
для проверки значений программных "семафоров", аналогично команде TAS в
микропроцессорах семейства М68ххх. При поступлении этих команд на внешних
выводах микропроцессора, определяющих тип выполняемого цикла,
устанавливается определенная комбинация сигналов, которая должна
запретить другим устройствам обращение к общей шине до завершения их
выполнения.
Таблица 2.70
Команды изменения содержимого регистра условий CR
Синтаксис Ассемблера Операция
mtcrf Mcr, rS rS л Mcr -> CR
mfcr rD CR -> rD
mcrxr crfD XER (3-0) -> CRi
mcrf crfD, crfS Cri -> CRj
crand CrbD, crbA, crbB bi л bj -> bk
cror CrbD, crbA, crbB bi v bj -> bk
crxor CrbD, crbA, crbB bi (c) bj -> bk
crnand CrbD, crbA, crbB bi л bj -> bk
crnor CrbD, crbA, crbB bi v bj -> bk
cregv CrbD, crbA, crbB bi (c) bj -> bk
crandc CrbD, crbA, crbB bi л bj -> bk
crorc CrbD, crbA, crbB bi v bj -> bk
RISC-МИКРОПРОЦЕССОРЫ И RISC-МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВ POWERPC И COLDFIRE
Таблица 2.71
Служебные команды микропроцессора МРС604 К-
ОС №?
Команды sync, isync, eieio используются для синхронизации выполнения
программ несколькими совместно работающими микропроцессорами. Команда
sync вызывает завершение выполнения всех предшествующих команд, а затем
разрешает выполнение последующих команд, т. е. осуществляет задержку
конвейера до освобождения всех исполнительных устройств. Команда isync
обеспечивает завершение выполнения предшествующих команд, после чего
освобождает конвейер от поступивших в него последующих команд и выбирает
из памяти новую пару команд. Таким образом, эта команда производит
очистку конвейера. Команда eieio вызывает завершение выполнения
предыдущих команд, требующих обращения к внешней памяти данных.
Последующие обращения к памяти данных производятся только после
выполнения этой команды, т. е. реализуется задержка обращений, которая
может быть использована другими устройствами. При выполнении данной
команды на внешних выводах, определяющих тип цикла обращения к шине,
устанавливается определенная комбинация сигналов, которая используется,
чтобы упорядочить обращения различных устройств к общей оперативной
памяти. Команды isync, eieio выполняются микропроцессором только в режиме
супервизора.
Команды eciwx, ecowx обеспечивают обращение микропроцессора к выделенным
ресурсам системы - специализированным внешним устройствам или разделам
памяти, для которых устанавливаются 4-разрядные коды идентификации RID.
При обращении к этим ресурсам соответствующий код RID загружается в
старшие разряды Ь31-28 регистра EAR (см. рис. 2.68). Младший разряд ЬО
этого регистра содержит бит Е, определяющий вид обращения: при Е = 0
разрешается выполнение команды ecowx, посылающей слово из регистра rS в
устройство, идентифицированное кодом RID, при Е= 1 -команды eciwx,
принимающей слово от идентифицированного устройства в регистр rD. Код RID
выдается микропроцессором на специальные внешние выводы, а на адресную
шину поступает адрес ЕА = (гАЮ) + (гВ). При этом на выводах, определяющих
тип цикла, устанавливается определенная комбинация сигналов, указывающая
на выполнение команды ecwix или ecwox. Данные команды используются
микропроцессором при обращении к выделенным внешним устройствам для
приема или передачи управляющей информации.
Напомним, что команды rfi, mtmsr, mfmsr, mtspr, mfspr, isync, eoeoi
(отмечены символом "*" в табл. 5.69, 5.71) выполняются микропроцессором
только в режиме супервизора. Попытка их выполнения в режиме пользователя
вызовет исключение с адресом вектора Av = $00700 (неправильный код
команды).
Синтаксис Ассемблера Операция
Предыдущая << 1 .. 123 124 125 126 127 128 < 129 > 130 131 132 133 134 135 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed