ЭУМК по дисциплине "Проектирование проблемно-ориентированных вычислительных средств" › Теория › Тема 3. Операционное устройство процессоров платформы с5000

# Электронный учебно-методический
комплекс по дисциплине
"Проектирование проблемно-ориентированных вычислительных средств"

для специальности

1-40 02 02 «Электронные вычислительные средства»

Оглавление | Программа | Теория | Практика | Контроль знаний | Об авторах

3.7. Аппаратный умножитель
3.7.1. Устройство умножения с сумматором

Процессор имеет устройство умножения 17 х 17 бит с 40-битным сумматором (рис. 3.15).

######

###### Рисунок 3.15 – Функциональная схема умножителя

Умножитель позволяет выполнять знаковое, беззнаковое и знаковое на беззнаковое умножение:

- Для знакового умножения 16-битовые операнды дополняются 17-м знаковым разрядом.
- Для беззнакового умножения 16-битовые операнды дополняются 17-м разрядом равным 0.
- Для умножения знакового числа на беззнаковое один операнд дополняется 0, а второй – знаком MACSU Xmem, Ymem, src ; src = src + uns(Xmem) * sign(Ymem), T = Smem.

Выход умножителя может быть сдвинут влево на 1 разряд для компенсации появления второго знакового разряда при умножении дробных (fractional ['fraksene] – дробный) чисел в дополнительном коде (выбор режима дробных чисел осуществляется установкой в 1 бита FRCT в ST1).
Сумматор содержит детектор нуля и модули округления и насыщения.

3.7.2. Источники данных для умножителя

На вход XM умножителя могут подаваться:

- Временный регистр (T)
- Операнд из памяти данных через шину DB
- Разряды 32–16 аккумулятора А

На вход YM умножителя могут подаваться:

- Операнд из памяти данных через шину DB
- Операнд из памяти данных через шину CB
- Операнд из памяти программ через шину PB
- Разряды 32–16 аккумулятора А

В таблице 3.12 приведено использование входов умножителя для разных команд.

Таблица 3.12 - Использование входов умножителя

######

3.7.3. Умножение целых и дробных чисел

Стандартное представление дробного 16-разрядного числа в дополнительном коде (так называемый формат Q15) представлен на рис.3.16:

Бит | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0
Вес | -20 | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 | 2-6 | 2-7 | 2-8 | 2-9 | 2-10 | 2-11 | 2-12 | 2-13 | 2-14 | 2-15

###### Рисунок 3.16 – Формат дробного числа

В старшем разряде находится знак (разряд с весом -1), в остальных разрядах отрицательные степени двойки (1/2, 1/4, 1/8 и т.д. до 1/32768).
Стандартное представление целого 16-разрядного числа в дополнительном коде (так называемый формат Q0) представлен на рис.3.17:

Бит | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0
Вес | -215 | 214 | 213 | 212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20

###### Рисунок 3.17 – Формат целого числа

В старшем разряде находится знак (разряд с весом -32768), в остальных разрядах положительные степени двойки (16384, 8192, 4096 и т.д. до 2 и 1).

Для умножения беззнаковых чисел в процессоре имеются две команды:

    	MPYU	Smem, dst	; Перемножение двух беззнаковых чисел
    	MACSU	Xmem, Ymem, src ; Умножение знакового числа на беззнаковое
    				  с аккумулированием результата.

При умножении целых чисел должен быть сброшен бит FRCT, а результат операции находится в младшей части аккумулятора.
При умножении дробных чисел должен быть установлен бит FRCT, а результат операции находится в старшей части аккумулятора.

Оглавление | Программа | Теория| Практика | Контроль знаний | Об авторах
© БГУИР , 2012