Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры опейко.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.18 Mб
Скачать

16. Аппаратный умножитель и его применение

В системе команд MSP микроконтроллеров нет команд, производящих умножение и деление. Однако в старших моделях имеется периферийное устройство, с помощью которого можно производить 8-ми и 16-ти разрядные операции умножения. Наличие быстрого аппаратного умножителя с возможностью накопления результата диктуется необходимостью, в ряде случаев, использования MSP микроконтроллеров для цифровой обработки сигналов в реальном времени, например для реализации цифровых фильтров.

Аппаратный умножитель является периферийным устройством и не является частью ЦПУ MSP430. Это означает, что его действия не пересекаются с действиями ЦПУ. Регистры умножителя – это периферийные регистры, которые загружаются и читаются командами ЦПУ.

Аппаратный умножитель поддерживает операции умножения без знака, умножения со знаком, умножения без знака с накоплением и умножение со знаком и накоплением. Тип операции выбирается адресом, в который записан первый операнд. Аппаратный умножитель имеет два 16-разрядных регистра OP1 и OP2 и три регистра результата RESLO, RESHI и SUMEXT. В регистре RESLO содержится младшее слово результата, в RESHI - старшее слово результата, а в регистре SUMEXT находится информация о результате. Результат может быть прочитан следующей командой после записи в OP2, кроме случая, когда используется косвенный режим адресации.

17. Виды операции умножения.

В системе команд команда умножения отсутствует, для перемножения двух операндов их помещают в регистры аппаратного умножителя. После этого в регистрах RESL0, RESH1 результата можно прочесть 32 разрядный результат. Младшее слово результата хранится в RESL0, старшее – в RESH1. Первый сомножитель может быть размещен в одном из 4-х регистров, которые определяют вид операции умножения.

Аппаратный умножитель поддерживает:

  • Умножение без знака;

  • Умножение со знаком;

  • Умножение без знака с накоплением;

  • Умножение со знаком и накоплением;

  • 16*16 бит, 16*8 бит, 8*16 бит, 8*8 бит.

Перечень регистров аппаратного умножителя

Регистр

Краткое обозначение

Тип регистра

Адрес

Исходное состояние

Операнд один – умножение

MPY

Чтение/запись

0130h

Неизменное

Операнд один – умножение со знаком

MPYS

Чтение/запись

0132h

Неизменное

Операнд один – умножение с накоплением

MAC

Чтение/запись

0134h

Неизменное

Операнд один – умножение со знаком и накоплением

MACS

Чтение/запись

0136h

Неизменное

Операнд два

OP2

Чтение/запись

0138h

Неизменное

Младшее слово результата

RESLO

Чтение/запись

013Ah

Неопределенное

Старшее слово результата

RESHI

Чтение/запись

013Ch

Неопределенное

Регистр знакового дополнения

SUMEXT

Чтение

013Eh

Неопределенное