апаратний помножувач
У цьому розділі описується апаратний помножувач. Апаратний помножувач реалізований в пристроях MSP430x14x і MSP430x16x.
7.1 Введення в апаратний помножувач
Апаратний помножувач є периферійним пристроєм і не є частиною ЦПУ MSP430. Це означає, що його дії не перетинаються з діями ЦПУ. Регістри умножителя - це периферійні регістри, які завантажуються і читаються командами ЦПУ.
Апаратний помножувач підтримує:- Множення без знака;
- Множення зі знаком;
- Множення без знака з накопиченням;
- Множення зі знаком і накопиченням;
- 16 * 16 біт, 16 * 8 біт, 8 * 16 біт, 8 * 8 біт.
Блок-схема апаратного помножувача показана на рис.7.1.
Ріс.7-1 Блок-схема апаратного помножувача
7.2 Функціонування апаратного помножувача
7.2.1 Регістри операндів
Повторення операцій множення може виконуватися без перезавантаження OP1, якщо значення в OP1 використовується для послідовних операцій. Немає необхідності перезаписувати значення в OP1 для виконання операцій.
Втрата значущих розрядів і переповнення в режимі MACS
Умножитель не може автоматично визначити втрату значущих розрядів або переповнення в режимі MACS. Діапазон акумулятора для позитивних чисел дорівнює 0 - 7FFF FFFFh, а для негативних чисел 0FFF FFFh - 8000 0000h. Переповнення відбувається, коли результат підсумовування двох негативних чисел виходить за діапазон для позитивного числа. Втрата значущих розрядів відбувається, коли результат складання двох позитивних чисел виходить за діапазон для негативного числа. В обох випадках регістр SUMEXT містить правильний знак результату: 0FFFFh при переповненні і 0000h при втраті значущих розрядів. Програмне забезпечення користувача має визначити і відповідним чином обробити ці стани.
7.2.3 Приклади програмного забезпечення
7.2.5 Використання переривань
Якщо переривання відбулося після запису OP1, але до запису OP2, а умножитель використовується в процедурі обробки переривання, вихідний обраний режим умножителя буде втрачено і результат стане непередбачуваним. Щоб цього уникнути, потрібно відключати переривання перед використанням апаратного помножувача і не використовувати його в процедурах обробки переривання.
7.3 Регістри апаратного помножувача
Перелік регістрів апаратного помножувача наведено в таблиці 7.4.
Таблиця 7-4. Регістри апаратного помножувача