А. В. Комаров цифровые сигнальные процессоры
Вид материала | Документы |
СодержаниеAx0 mr2 ay1 ax1 mr1 af ar mr0 sr1 Флаги состояния Н) формирование флагов alu |
- Архитектура процессов и ее оптимизация, 98.67kb.
- Обзор аппаратных и программных средств реализации параллельной обработки, 211.84kb.
- Темы Лекции Практика, 13.65kb.
- Лекция: графические процессоры и редакторы, 204.53kb.
- Реферат по дисциплине «Аппаратные средства» на тему: «Процессоры эвм», 333.09kb.
- ru/computers/classes html, 11.94kb.
- Методические указания му 2568 09 Издание официальное Москва 2009 Контроль численности, 527.33kb.
- Первая помощь при укусах насекомых и змей помощь при укусах комаров, 30.72kb.
- Фестиваль «Цифровые каникулы» – музей, образование, бизнес, 48.15kb.
- Неоднородный полупроводниковый носитель информации в переменном магнитном поле, 107.68kb.
AX0 MR2 AY1
AX1 MR1 AF
AR MR0
SR1
SR0
Описание: Эти команды выполняют деление yop на xop. Команды DIVS, DIVQ являются примитивами, поскольку при их выполнении формируется только один разряд частного: знак – при выполнении команды DIVS и остальные разряды – при выполнении команды DIVQ. Поэтому деление с одинарной точностью (32-битное делимое, 16-битные делитель и частное) требует 16 циклов. Возможно деление с более высокой точностью.
Деление может быть знаковым и беззнаковым, в любом случае операнды должны быть одного типа: знаковые или беззнаковые. Для подготовки деления необходимо старшую часть делимого загрузить в любой допустимый yop регистр (AY1 или AF), младшую часть делимого загрузить в AY0, а делитель загрузить в любой хор.
Далее операция деления выполняется с помощью примитивов деления DIVS, DIVQ. Повторные выполнения DIVQ реализуют алгоритм деления с помощью условного сложения/вычитания без восстановления остатка. После окончания деления частное формируется в AY0.
Для выполнения знакового деления необходимо сначала однократно выполнить команду DIVS, чтобы сформировать знак частного. Далее необходимо выполнить команду DIVQ столько раз, сколько бит осталось в частном (для выполнения знакового деления с одинарной точностью команду DIVQ необходимо выполнить 15 раз).
Для выполнения беззнакового деления необходимо старшую часть делимого загрузить в AF, затем сбросить бит AQ регистра ASTAT (при этом сформируется положительный знак частного). Далее выполнить команду DIVQ столько раз, сколько битов содержит частное (для выполнения беззнакового деления необходимо 16 раз выполнить команду DIVQ).
В конце выполнения команд DIVS, DIVQ очередной бит частного запоминается в бите AQ регистра ASTAT. Остаток формируется в AF, но он нуждается в коррекции.
Флаги состояния:
ASTAT: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS | MV | AQ | AS | AC | AV | AN | AZ |
| - | - | * | - | - | - | - | - |
AQ – формируется командами DIVS и DIVQ.
Н) ФОРМИРОВАНИЕ ФЛАГОВ ALU
Синтаксис: NONE =
ALU – может быть любой безусловной командой кроме DIVS и DIVQ.
Примеры: NONE = AX0 – AY0;
NONE = PASS SR0;
Описание: Процессор выполняет команду ALU, формирует флаги состояния, а результат игнорирует. Команда позволяет тестировать содержимое регистров источников без изменения содержимого регистров AR и AF.
Примечание: кроме команд DIVS и DIVQ недопустимо использовать также следующие команды ALU:
- сложение (xop + constant);
- вычитание X – Y (xop – constant);
- вычитание Y – X (- xop + constant);
- AND, OR, XOR (xop constant);
- PASS constant (отличные от –1, 0, 1);
- TSTBIT, SETBIT, CLRBIT, TGLBIT.
Флаги состояния: см. п. 1.17.5.А.
1.17.6. Команды МАС
А) УМНОЖЕНИЕ
[IF cond] | MR | = xop * | yop | | (SS) | ; |
| MF | | xop | | (SU) | |
| | | | | (US) | |
| | | | | (UU) | |
| | | | | (RND) | |
Синтаксис:
Допустимые:
регистры xop регистры yop условия cond