Читаем Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ полностью

Иногда необходимо некоторое изменение формата делимого и делителя. Например, если оба операнда знаковые и дробные (делимое в формате 1.31, а делитель в формате 1.15), то результат запишется в формате 1.15. Таким образом, для получения правильного результата операции деления необходимо, чтобы делимое было меньше делителя.

Чтобы разделить два целых числа (делимое в формате 32, а делитель в формате 16), необходимо перед делением привести делимое к формату 31, т.е. сдвинуть его влево на один разряд. Если результат не может быть представлен в формате частного, как сказано выше, или когда делитель равен нулю или меньше делимого по абсолютному значению, происходит переполнение.

При реализации алгоритма деления для знаковых операндов делитель должен храниться в AX0 и AX1 или в любом регистре с шины R. Старшее слово делимого может быть загружено в AY1 или AF, и младшее слово делимого загружается в AY0. Чтобы вычислить частное, сначала выполняется команда DIVS, которая вычисляет знак частного, за которой следуют 15 команд DIVQ, для вычисления 15 бит частного. Пример подпрограммы знакового деления с фиксированной точкой показан ниже. Эта подпрограмма берет делитель из регистра AX0, старшее слово делимого из AF и младшее слово делимого из AY0. Частное возвращается в AY0.

.MODULE Sig_Div_FP; {

 Входные данные:

  AF = старшее слово делимого

  AY0 = младшее слово делимого

  AX0 = 16-битный делитель

 Выходные данные:

  AY0 = 16-битный результат

 Изменяемые регистры:

  AY0, AF

 Время вычисления=17 циклов

}

.ENTRY sdivfp;

sdivfp: DIVS AF, AX0; {Вычисление знакового бита}

DIVQ AX0; DIVQ AX0; DIVQ AX0; {Вычисление 15 бит частного}

DIVQ AX0; DIVQ AX0; DIVQ AX0;

DIVQ AX0; DIVQ AX0; DIVQ AX0;

DIVQ AX0; DIVQ AX0; DIVQ AX0;

DIVQ AX0; DIVQ AX0; DIVQ AX0;

RTS;

.ENDMOD;

Ниже приводится полный список команд ALU в соответствии с принятыми ранее условными сокращениями. Назначение команд очевидно из их записи и комментариев для некоторых из команд. Команды сложения и сложения с переносом:

[IF cond] |AR| = xop + |yop     |;

          |AF|         |C       |

                       |yop + C |

                       |constant|

Команды вычитания и вычитания с займом:

[IF cond] |AR| = xop - |yop     |;

          |AF|         |yop+С-1 |

                       |constant|


[IF cond] |AR| = yop - |xop     |;

          |AF|         |xop+C-1 |

                       |constant|

Команды логических операций И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ:

[IF cond] |AR| = xop |AND| yop;

          |AF|       |OR |

                     |XOR|

Команды передачи:

[IF cond] |AR| = PASS|xop     |;

          |AF|       |yop     |

                     |constant|

Команды смены знака:

[IF cond] |AR| = - |xop|;

          |AF|     |yop|

Команды логического отрицания HE:

[IF cond] |AR| = NOT |xop|;

          |AF|       |yop|

                     |0  |

Команды вычисления абсолютного значения:

[IF cond] |AR| = ABS |xop|;

          |AF|

Команды инкремента:

[IF cond] |AR| = |yop+1|;

          |AF|

Команды декремента:

[IF cond] |AR| = |yop-1|;

          |AF|

Команды битовых операций:

[IF cond] |AR| = |TSTBIT n xop|; {операция логического «И» разряда n с 1}

                 |SETBIT n xop|; {операция установки разряда n в 1}

                 |CLBIT  n xop|; {операция установки разряда n в 0}

                 |TGBIT  n xop|; {операция «ИСКЛЮЧАЮЩЕЕ ИЛИ» бита n с 1}

Здесь n могут принимать значения от 0 до 15

Команды поразрядного деления:

[IF cond] |AR| = DIVS yop, xop;

[IF cond] |AR| = DIVQ xop;

Команды тестирования результата:

NONE = ;

Последняя команда выполняет заданную команду АЛУ, устанавливает флаги и сбрасывает значение результата. Она позволяет тестировать значения в регистрах без изменения содержимого AR или AF. Строка — это любая безусловная команда АЛУ, кроме DIVS, DIVQ и дополнительных команд АЛУ с константами.

Для всех приведенных выше команд ALU разрешено использовать следующие операнды:

xop: AX0, АХ1, AR, MR0, MR1, MR2, SR0, SR1; yop: AY0, AY1, AF;

Перейти на страницу:

Все книги серии Современная электроника

Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++

Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров. На прилагаемом к книге диске находятся исходные тексты и исполняемые файлы программ, а так же некоторые полезные утилиты и средства разработки программного обеспечения для сигнальных процессоров.Для специалистов в области разработки цифровой электронной аппаратуры, будет полезна студентам и аспирантам.

Олег Дмитриевич Вальпа

Справочники

Похожие книги

Жизнеобеспечение экипажей летательных аппаратов после вынужденного приземления или приводнения (без иллюстраций)
Жизнеобеспечение экипажей летательных аппаратов после вынужденного приземления или приводнения (без иллюстраций)

Книга посвящена актуальной проблеме выживания человека, оказавшегося в результате аварии самолета, корабля или РґСЂСѓРіРёС… обстоятельств в условиях автономного существования в безлюдной местности или в океане.Давая описание различных физико-географических Р·он земного шара, автор анализирует особенности неблагоприятного воздействия факторов внешней среды на организм человека и существующие методы защиты и профилактики.Р' книге широко использованы материалы отечественных и зарубежных исследователей, а также материалы, полученные автором во время экспедиций в Арктику, пустыни Средней РђР·ии, в тропическую Р·ону Атлантического, Р

Виталий Георгиевич Волович

Приключения / Медицина / Природа и животные / Справочники / Биология / Словари и Энциклопедии