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

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

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

в регистре условий CR с четырьмя младшими битами заданного в команде
операнда ВО. Номер используемого для сравнения поля i задается операндом
BI. При совпадении заданного значения ВО и содержимого поля CRi
производится переход к команде, адрес которой определяется абсолютной
(команды bca, bcla) или относительной (команды be, bcl) адресацией. При
их несовпадении выполняется следующая команда программы. Команды bcl,
bcla, сохраняющие в регистре LR адрес следующей команды, служат для
реализации условных вызовов подпрограммы.
Команды bclr, bclrl реализуют условный возврат из подпрограмм, если
заданное значение ВО совпадает с содержимым поля CRi. При этом в
программный счетчик PC загружается содержимое регистра связи LR. Команда
bcrlri сохраняет в регистре LR текущее содержимое PC, обеспечивая
возможность возвращения к подпрограмме.
RISC-МИКРОПРОЦЕССОРЫ И RISC-МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВ POWERPC И COLDFIRE
Таблица 2.69
Команды управления программой
Синтаксис Ассемблера Операция
Ь t - adr PC + (t - adr) -" PC
Ьа t - adr (t - adr) -> PC
Ы t - adr PC -> LR, PC + (t - adr) -> PC
Ыа t - adr PC -> LR, (t - adr) -> PC
be BO, Bl, t - adr PC + (t - adr) -> PC, если BO = CRi
bca BO, Bl, t - adr (t - adr) -> PC, если BO = CRi
bcl BO, Bl, t - adr PC -> LR, PC + (t - adr) -> PC, если BO = CRi
bcla BO, Bl, t - adr PC -> LR, (t - adr) -> PC, если BO = CRi
bclr BO, Bl LR -" PC, если BO = CRi
bclrl BO, Bl PC -" LR, если BO = CRi
bcctr BO, Bl CTR -> PC, если BO = Cri
bcctrl BO, Bl PC -> LR, CTR -" PC, если BO = CRi
twi TO, rA, Sim -rA + Sim, если TO, to PC, MSR -> SRRO, SRR1, Ve -> PC
tw TO, rA, rB -гА + rB, если TO, to PC, MSR -> SRRO, SRR1, Ve -> PC
sc *rfi PC, MSR -> SRRO, SRR1, Ve -> PC SRRO, SRR1 -> PC, MSR
При выполнении команд bcctr, bcctrl в программный счетчик PC загружается
содержимое регистра CTR, если выполняется условие ВО = CRi. Команда
bcctrl обеспечивает сохранение текущего содержимого PC в регистре связи
LR.
При условных ветвлениях программист может указать на повышенную
вероятность ветвления, задав значение "1", для пятого бита операнда ВО. В
этом случае блок обработки ветвления BPU обеспечит выборку в конвейер
следующих команд в соответствии сданным предсказанием. Такой способ
предсказания ветвлений называется статическим. При нулевом значении
пятого бита в операнде ВО блок BPU осуществляет динамическое предсказание
ветвлений с помощью кэша адресов ВТАС и таблицы истории ветвлений ВНТ.
Команды программных прерываний tw, twi производят условное обращение к
подпрограмме обслуживания, вектор которой Ve размещен по адресу Av =
$00700 (см. табл. 2.64). Текущее содержимое PC и MSR сохраняется в
регистрах SRRO, SRR1. Условием обращения является совпадение признаков в
поле CR0, устанавливаемых при сравнении содержимого регистра гА с
непосредственным операндом Sim (команда twi) или с содержимым регистра гВ
(команда tw), с битами заданного в команде 4-разрядного операнда ТО.
Прерывание реализуется, если хотя бы один из установленных в "1"
признаков в CR0 совпадает с соответствующим битом ВО. Содержимое гА, гВ и
операнд Sim представляются при сравнении числами со знаком.
Команда sc осуществляет вызов системного прерывания с подпрограммой
обслуживания, вектор которой Ve размещен по адресу Av = $00С00 (см. табл.
2.64). Команда rfi реализует возврат из прерывания, при котором из
регистров SRRO, SRR1 восстанавливается содержимое программного счетчика
PC и регистра управления MSR, обеспечивая возвращение к выполнению
прерванной программы. Команда rfi может выполняться только в режиме
супервизора, так как она изменяет содержимое регистра MSR.
При выполнении команд условных переходов используется содержимое
различных полей регистра условий CR. Различные операции с содержимым
этого регистра реализуются с помощью специальных команд (табл. 2.70).
Команда mtcrf производит загрузку в CR содержимого
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
регистра rS, которое логически умножается на 32-битовую маску, заданную в
команде. Эта команда устанавливает требуемые значения содержимого CR или
его немаскированных полей. Пересылка содержимого CR в регистр rD
производится командой mfcr. Команда mcrxr копирует четыре младших бита из
регистра исключений XER (признаки SO, OV, CA, рис. 2.67, а) в поле CRi
регистра CR, где номер поля i задается операндом crfD. После копирования
признаки SO, OV, САв регистре XER принимают значение "О". Команда mcrf
копирует содержимое поля CRi в поле CRj, где значения i, j задаются
операндами crfS, crfD.
Ряд команд выполняет логические операции над отдельными битами bi, bj
содержимого регистра CR (табл. 2.70). Номера i, j этих битов задаются
операндами crbA, сгЬВ, результат операции размещается в бите bk, номер
которого к определяется операндом crbD. Данные команды обеспечивают
выполнение операций И (crand), ИЛИ (сгог), Исключающее ИЛИ (сгхог), НЕ/И
(crnand), НЕ/ИЛИ (сгпог), Эквивалентность (creqv), Запрет (crandc),
Предыдущая << 1 .. 122 123 124 125 126 127 < 128 > 129 130 131 132 133 134 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed