Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AK.doc
Скачиваний:
29
Добавлен:
17.03.2016
Размер:
3.6 Mб
Скачать

1.7.3. Особливості виконання складання чисел у формі з плаваючою крапкою

Z = X + Y      Z = q Px * m x + Q Py * m y = q Px (m x + q - (Px-Py) * m y

р-порядок, m - мантисса, q - заснування СС

Порядок операції:

1. Порівняти порядки (з першого порядку відняти другий і проаналізувати результат), якщо вони рівні - складати мантиси.

2. Якщо порядки не рівні, то вирівняти їх: мантиса числа, що має менший порядок, зсувається вправо на стільки розрядів, яка різниця.

3. Після вирівнювання порядку можна складати мантиси (аналогічно додаванню чисел з фіксованою комою).

4. Визначити порядок результату. Якщо в результаті складання мантис, вийшло нормалізоване число, то порядок результату буде рівним порядку меншого числа. Якщо мантиса виявилася денормалізованою вправо, то її зрушують вліво, а з порядку більшого числа віднімають стільки одиниць, скільки зрушень при цьому було виконано. Якщо мантиса денормалізована вліво на 1 розряд, то її нормалізують, а до порядку більшого числа додають одиницю.

АЛУ в формі з плаваючою комою вимагає 2 блоки: складання порядку та мантиси.

1.7.4. Реалізація процесора двійкового множення. Загальні положення

Розглянемо алгоритм двійкового множення для чисел з фіксованою комою в прямому коді, тому що в цьому коді множення виконується найпростіше. В цьому випадку обробка знакових розрядів виконується шляхом складання по модулю два, окремо від числових розрядів.

Двійкове множення набагато простіше десяткового. Операція двійкового множення здійснюється шляхом циклічно повторюваних операцій додавання і зсуву.

X

Y

I

 

II

 

III

 

IV

 



I варіант Множення із зсувом множеного вправо. Множення починається зі старших розрядів множника (зсув Y вліво). Сума, в якій буде накопичуватися сума часткових добутків, не зсувається.

Частковий добуток (ЧД) - результат множення множеного на одну з цифр .

II варіант. Множення із зсувом множеного вліво. Починається з молодших розрядів. Сума часткових добутків також нерухома.

III варіант. Множення із зсувом суми часткових добутків вправо. Починається з молодших розрядів, множене нерухоме.

IV варіант. Множення із зсувом суми часткових добутків вліво. Починається з старших розрядів, множене нерухоме.

1.7.5. Реалізація множення в прямому коді

I варіант.

Y = Y -1 * 2 -1 + Y -2 * 2 -2 + ... + Y - n * 2 - n    

Z = XY = X * Y -1 * 2 -1 + X * Y -2 * 2 -2 + ... + X * Y-n * 2-n

Множене необхідно зсунути на 1 розряд вправо і помножити його на старшу цифру множника. Отримане таким чином перший ЧД потрібно передати на суматор, де буде накопичуватися результат. Після цього множене зсувається на 1 розряд вправо, виконується аналіз наступної цифри множника на можливість передачі в суматор наступного ЧД і т.д. Закінчується множення n можливою передачею зсунутого на n розрядів множника

Приклад:          X = 11/16        Y = 13/16        Z = 0.1001111 = 143/256

 X

1 0 1 1

0

0 0 0 0

0 0 0 0

Y

X2-1

0 1 0 1

1

1

1 0 1

­­1

0 1 0 1

1 0 0 0

X2-2

0 0 1 0

1 1

1

0 1

2

1 0 0 0

0 1 0 0

X2-3

0 0 0 1

0 1 1

0

1

3

1 0 0 0

0 1 0 0

X2-4

0 0 0 0

1 0 1 1

1

Z

1 0 0 0

1 1 1 1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]