Поиск по сайту: |
|
По базе: |
|
Главная страница > Компоненты > Микроконтроллеры > MSP430 > Архитектура MSP430x1xx |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Аппаратный умножительВ этом разделе описывается аппаратный умножитель. Аппаратный умножитель реализован в устройствах MSP430x14x и MSP430x16x. 7.1 Введение в аппаратный умножитель Аппаратный умножитель является периферийным устройством и не является частью ЦПУ MSP430. Это означает, что его действия не пересекаются с действиями ЦПУ. Регистры умножителя – это периферийные регистры, которые загружаются и читаются командами ЦПУ. Аппаратный умножитель поддерживает:
Блок-схема аппаратного умножителя показана на рис.7.1.
7.2 Функционирование аппаратного умножителя Аппаратный умножитель поддерживает операции умножения без знака, умножения со знаком, умножения без знака с накоплением и умножение со знаком и накоплением. Тип операции выбирается адресом, в который записан первый операнд. Аппаратный умножитель имеет два 16-разрядных регистра OP1 и OP2 и три регистра результата RESLO, RESHI и SUMEXT. В регистре RESLO содержится младшее слово результата, в RESHI - старшее слово результата, а в регистре SUMEXT находится информация о результате. Результат может быть прочитан следующей командой после записи в OP2, кроме случая, когда используется косвенный режим адресации. 7.2.1 Регистры операндов Регистр OP1 первого операнда имеет четыре адреса, показанные в таблице 7.1, используемые при выборе режима умножения. Запись первого операнда по желаемому адресу позволит выбрать тип операции умножения, но не приведет к началу выполнения какой-либо операции. Запись второго операнда в регистр OP2 второго операнда инициирует операцию умножения. Запись в OP2 стартует выбранную операцию над значениями, сохраненными в OP1 и OP2. Результат записывается в три регистра результата RESLO, RESHI и SUMEXT. Повторение операций умножения может выполняться без перезагрузки OP1, если значение в OP1 используется для последовательных операций. Нет необходимости перезаписывать значение в OP1 для выполнения операций. Таблица 7-1. Адреса OP1
7.2.2 Регистры результата Младший регистр результата RESLO содержит младшие 16 разрядов вычисленного результата. Содержимое старшего регистра результата RESHI зависит от операции умножения. Различные варианты содержимого RESHI приведены в таблице 7.2. Таблица 7-2. Возможные варианты содержимого регистра RESHI
Содержимое регистра расширенного суммирования SUMEXT зависит от выполненной операции умножения. Различные варианты содержимого SUMEXT приведены в таблице 7.3. Таблица 7-3. Возможные варианты содержимого регистра SUMEXT
Потеря значащих разрядов и переполнение в режиме MACS Умножитель не может автоматически определить потерю значащих разрядов или переполнение в режиме MACS. Диапазон аккумулятора для положительных чисел равен 0 – 7FFF FFFFh, а для отрицательных чисел 0FFF FFFh – 8000 0000h. Переполнение происходит, когда результат суммирования двух отрицательных чисел выходит за диапазон для положительного числа. Потеря значащих разрядов происходит, когда результат сложения двух положительных чисел выходит за диапазон для отрицательного числа. В обоих случаях регистр SUMEXT содержит правильный знак результата: 0FFFFh при переполнении и 0000h при потере значащих разрядов. Программное обеспечение пользователя должно определить и соответствующим образом обработать эти состояния. 7.2.3 Примеры программного обеспечения Ниже приведены примеры для всех режимов умножителя. Все режимы 8*8 используют абсолютные адреса для регистров, поскольку ассемблер не позволит обеспечить доступ типа .B к регистрам-словам, когда используются метки из стандартного файла определений.
7.2.4 Косвенная адресация RESLO Когда используется косвенный или косвенный автоинкрементный режим адресации для доступа к регистрам результата, нужна, по крайней мере, одна команда между загрузкой второго операнда и доступа к одному из регистров результата:
7.2.5 Использование прерываний Если прерывание произошло после записи OP1, но до записи OP2, а умножитель используется в процедуре обработки прерывания, исходный выбранный режим умножителя будет потерян и результат станет непредсказуемым. Чтобы этого избежать, нужно отключать прерывания перед использованием аппаратного умножителя и не использовать его в процедурах обработки прерывания.
7.3 Регистры аппаратного умножителя Перечень регистров аппаратного умножителя приведен в таблице 7.4. Таблица 7-4. Регистры аппаратного умножителя
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|