Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

A_O_Melnik_Arkhitektura_komp_39_yuteriv

.pdf
Скачиваний:
265
Добавлен:
12.02.2016
Размер:
6.8 Mб
Скачать

264

 

 

 

 

Таблиця 7.4

і

У (У(і))

X

гі+і= гі+х.у(і)

0

0000 0000 0000 0000

0110 1011

0000 0000 0101 0101

0000 0000 0101 0101

1

0000 0000 0101 0101

0110 1011

0000 0000 1010 1010

0000 0000 1111 1111

2

0000 0000 1111 1111

01101011

0000 0001 0101 0100

0000 0000 1111 1111

3

0000 0000 1111 1111

0110 1011

0000 0010 1010 1000

0000 0011 1010 0111

4

0000 0011 1010 0111

оно 1011

0000 0101 0101 0000

0000 0011 10100111

5

0000 0011 1010 0111

0110 1011

0000 1010 1010 0000

0000 1110 0100 0111

6

0000 1110 0100 0111

0110 1011

0001 0101 0100 0000

00100011 10000111

7

0010 0011 1000 0111

0110 1011

0010 1010 1000 0000

0010 0011 1000 0111

Таким чином 0101 0101 • 01101011 = 0010 ООП 1000 0111.

Базова структура багатотактового АОП множення двійкових чисел за описаним ме­ тодом наведена на рис. 7.26.

 

 

 

•• зсув

Рг множника

 

 

М Р ;

 

 

 

СМЧД

 

 

Рг множеного

зсув -«-

 

множене перед

 

 

 

початком виконання операції

Рис. 7.26. Базова структура багатотактового АОП множення другим методом

Тут С М Ч Д - суматор часткових добутків. М н о ж н и к зберігається в регістрі множни­ ка, а множене - в регістрі множеного. Перший з цих регістрів є п-розрядним, а другий . - 2п - розрядним . Суматор часткових добутків є накопичувальним суматором, тобто на його виході є регістр з оберненим зв'язком як це показано на рис. 7.22, який також є 2п-розрядним. Перед початком виконання операції множене знаходиться в правій час­ тині регістра множеного. В кожному такті вміст регістра множеного зсувається на один розряд вліво в сторону старших розрядів, а вміст регістра множника в кожному такті зсувається на один розряд вправо в сторону молодших розрядів. Розряд в крайньому правому тригері регістра множника випадає, а на його місце поміщається наступний розряд множника, який керує операцією СМЧД, тобто вказує чи є в даному такті дода­ вання, чи його немає. В порівнянні з попередньою структурою тут регістр множеного та С М Ч Д обов'язково мають бути 2п-розрядними.

7.73.2.3. Багатотактовий пристрій множення двійкових чисел з старших розрядів при нерухомій сумі часткових добутків з зсувом множеного вправо

Алгоритм множення двійкових чисел, який реалізує цей метод, описується наступ­ ними ітераційними виразами:

деХ,=Х; г 0 = 0 ;

і = 0 , и - 1 ; 2=2 = ХУ.

265

Тут вжито наступні позначення: X, У, Ъ - множене, множни к і добуток відповідно, 7л - сума часткових добутків на і-му етапі, У(п-і-І) - (п-і-І)-й розряд множника, п - кіль­ кість розрядів операндів без врахування знакового розряду.

Алгоритм можна представити блок-схемою, показаною на рис. 7.27.

1

/=;+і

 

 

 

 

 

 

^—<^

і =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СК і н е ц ь

 

 

 

 

Рис. 7.27. Блок-схема алгоритму множення третім методом

 

 

Приклад:

 

 

 

 

 

 

 

 

 

 

 

Необхідно помножити два числа (без знакового розряду):

 

 

 

Х=01010101; ¥ =01101011 .

 

 

 

 

 

 

 

 

Хід операцій проілюстровано в табл. 7.5.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 7.5

і

г\

 

 

У (У(п-Ї-І))

 

Хі+1

Ті+\=Ті+ Хі+1.У(п-і-1)

0

0000 0000 0000 0000

 

0110

1011

 

 

0010 1010 1000 0000

0000 0000 0000 0000

1

0000 0000 0000 0000

 

0110

1011

 

 

0001 0101 0100 0000

0001 0101 0100 0000

2

0001 0101 0100 0000

 

0110

1011

 

 

0000 1010 1010 0000

0001 1111 1110 0000

3

0001 1111 1110 0000

 

0110

1011

 

 

0000 0101 0101 0000

0001 1111 1110 0000

4

0001 1111 11100000

 

0110

1011

 

 

0000 0010 1010 1000

0010 0010

1000

1000

5

0010 0010 1000 1000

 

0110

1011

 

 

0000 0001 0101 0100

0010 0010 1000

1000

6

0010 0010 1000 1000

 

01101011

 

 

0000 0000 1010 1010

0010 0011 ООП 0010

7

0010 0011 ООП 0010

 

01101011

 

 

0000 0000 0101 0101

0010 0011

1000 0111

Таким чином 0101 0101

.01101011

= 0010 0011 1000 0111.

 

 

 

Базова структура багатотактового А О П множення двійкових чисел за описаним ме- тодом наведена на рис. 7.28.

*з с у в

Рг множника

Рг множеного

Рис. 7.28. Базова структура багатотактового АОП множення третім методом

266

Тут С М Ч Д - суматор часткових добутків. Множник зберігається в регістрі множни­ ка, а множене - в регістрі множеного. Обидва ці регістри є п-розрядними. Суматор част­ кових добутків є накопичувальним суматором, тобто на його виході є регістр з оберне­ ним зв'язком як це показано на рис. 7.22, який є 2п-розрядним. В кожному такті вміст регістрів множника та множеного зсувається на один розряд вліво в сторону старших розрядів. Розряд в крайньому лівому тригері регістра множника випадає, а на його місце поміщається наступний розряд множника, який керує операцією СМЧД, тобто вказує чи є в даному такті додавання, чи його немає. В порівнянні з базовою структурою АОП множення першим методом тут С М Ч Д обов'язково має бути 2п-розрядним.

7.13.2.4.Багатотактовий пристрій множення двійкових чисел з старших розрядів при нерухомому множеному з зсувом суми часткових добутків вліво

Алгоритм множення двійкових чисел, який реалізує цей метод, описується наступ­ ним ітераційним виразом:

2М - 2 • 2І

+ X • У(„_,_,),

 

дего=0;

/ = 0 , / і - 1 ;

г . ^ ^ І Т .

Тут вжито наступні позначення: X, У, Ъ - множене, м н о ж н и к і добуток відповідно, 7. - сума часткових добутків на і-му етапі, У . + 1 ) - (п-і-І)-й розряд множника, п - кіль­ кість розрядів операндів без врахування знакового розряду.

Алгоритм можна представити блок-схемою, показаною на рис. 7.29.

та*

2М=22.

І

і = і + 1

С Кінець

Рис. 7.29. Блок-схема алгоритму множення четвертим методом

Приклад:

М н о ж и м о два числа (без знакового розряду): Х=01010101; У=01101011.

Хід операцій проілюстровано в табл. 7.6.

 

 

 

 

267

 

 

 

 

Таблиця 7.6

і

гі

У(У(п-і-1))

2.гі

гі+і=2.гі+ ХІ+І-У(П-І-І)

 

 

 

 

 

0

0000 0000 0000 0000

0110 1011

0000 0000 0000 0000

0000 0000 0000 0000

1

0000 0000 0000 0000

0110 1011

0000 0000 0000 0000

0000 0000 0101 0101

2

0000 0000 0101 0101

0110 1011

0000 0000 1010 1010

0000 0000 1111 1111

3

0000 0000 1111 1111

0110 1011

0000 0001 1111 1110

0000 0001 1111 1110

4

0000 0001 1111 1110

0110 1011

0000 0011 1111 1100

0000 0100 0101 0001

5

0000 0100 0101 0001

0110 1011

0000 1000 1010 0010

0000 1000 1010 0010

6

0000 1000 1010 0010

0110 1011

0001 0001 0100 0100

0001 0001 1001 1001

7

0001 0001 1001 1001

0110 1011

00100011 0011 0010

0010 0011 1000 0111

 

 

 

 

 

Таким чином 0101 0101 • 01101011 = 0010 0011 1000 0111.

Базова структура багатотактового АОП множення двійкових чисел за описаним ме­ тодом наведена на рис. 7.30.

 

 

-4

 

ЗСуВ

 

 

 

СР

Рг множника

 

 

 

 

СМЧД

 

 

 

 

 

 

 

 

і

1

 

 

 

 

 

 

 

 

Рг множеного

 

 

 

множене перед

^

зсув

початком виконання операції

Рис. 7.30. Базова структура багатотактового АОП множення четвертим методом

Тут СМЧД - суматор часткових добутків. М н о ж н и к зберігається в регістрі множни ­ ка, а множене - в регістрі множеного. Перший з цих регістрів є п - розрядним, а другий - 2п-розрядним. Суматор часткових добутків є накопичувальним суматором, тобто на його виході є регістр з оберненим зв'язком як це показано на рис. 7.22, який також є 2п-розрядним. Перед початком виконання операції множене знаходиться в лівій час­ тині регістра множеного. В кожному такті вміст регістра множеного та вміст СМЧД зсу­ ваються на один розряд вправо в сторону молодших розрядів. Розряд в крайньому ліво­ му тригері регістра множника випадає, а на його місце поміщається наступний розряд множника, який керує операцією СМЧД, тобто вказує чи є в даному такті додавання, чи його немає. В порівнянні з базовою структурою АОП множення першим методом тут, як в базовій структурі АОП множення другим методом, регістр множеного та С М Ч Д обов'язково мають бути 2п-розрядними.

В усіх чотирьох розглянутих структурах АОП множення двійкових чисел час вико­ нання операції Іш = п і с м де І - затримка СМЧД .

7.13.2.5. Багатотактовий пристрій прискореного множення

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

268

з одночасним аналізом двох розрядів множника. Тут схема аналізу СА проводить аналіз двох розрядів множника і вказує С М Ч Д тип виконуваної операції: додавання відсутнє, додається значення множеного, додається подвоєне значення множеного, додається по­ троєне значення множеного. Зсув в регістрах відбувається одночасно на два розряди.

 

 

 

 

 

зсув

 

 

 

 

 

 

 

 

 

 

0

1

 

Рг множника

 

п

00 - додавання відсутнє,

 

 

 

 

 

 

 

 

1САі

 

01

- СМЧД := СМЧД + X

 

 

 

 

і

 

 

10

- СМЧД :=СМЧД+ 2Х

 

 

 

 

смчд

 

 

11

- СМЧД :=СМЧД+ ЗХ

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

0

 

Рг множеного

 

п

 

 

 

 

 

 

 

 

 

 

 

зсув

Рис. 7.31. Схема багатотактового пристрою множення з одночасним аналізом двох розрядів множника

Подібним чином може бути реалізований пристрій множення з одночасним аналі­ зом двох розрядів множника з застосуванням всіх чотирьох вище розглянутих методів множення. При множенні чисел, представлених в доповняльному коді, доцільно вико­ ристовувати пристрій, який реалізує алгоритм Бута, розглянутий в розділі 4.

Часто застосовуються асинхронні пристрої множення з одночасним аналізом всіх розрядів множника . В таких пристроях кількість тактів визначається кількістю одиниць в множнику.

Приклад:

Х= 101001110001

¥ = 110000111110.

На позиціях нулів у множнику У додавання не виконується, лише зсув на відповідну кількість розрядів.

М н о ж н и к У можна представити в вигляді У = 1100010000(-1)0. Тоді взамін 7 додавань необхідно виконати 3 додавання і одне віднімання. Особливо ефективний цей метод при виконанні множення на константи.

7.73.2.6. Однотактові пристрої множення двійкових чисел з фіксованою комою

Як вже було показано, побудова однотактових операційних пристроїв передбачає апаратне відображення просторового графа алгоритму виконання операції комбінацій­ ними схемами, які виконують функціональні оператори алгоритму і з'єднані між собою відповідно до графа алгоритму. Тому структура однотактового пристрою множення двійкових чисел з фіксованою комою повторить відповідну структуру графа алгоритму, наведеного на рис. 4.7, як це показано на рис. 7.32.

269

Рис. 7.32. Структура однотактового пристрою множення двійкових чисел з фіксованою комою

Тут вхідні дані X та Y поступають в регістри РгХ та PrY, а з них на пристрої логічного множення A N D , на яких формуються логічні добутки множеного X на розряди множ­ ника Y. Ці логічні добутки з зсувом на відповідну кількіть розрядів поступають на входи комбінаційної схеми багатомісного додавання часткових добутків БДЧД, результат мно­ ження з якої поступає в регістр PrZ, а з нього на вихід пристрою.

Комбінаційна схема багатомісного додавання часткових добутків БДЧД реалізує ал­ горитми, детально розглянуті в п. 4.4.4.2, де кожному оператору двомісного однорозрядного двійкового додавання має бути поставлений у відповідність однорозрядний сума­ тор двійкових чисел, який реалізує логічні вирази відповідно до табл. 4.5.

7.13.2.7. Конвеєрні пристрої множення двійкових чисел з фіксованою комою

При побудові конвеєрного операційного пристрою множення двійкових чисел з фіксованою комою кожному функціональному оператору алгоритму ставиться у від­ повідність комбінаційна схема, яка його виконує, і, крім того, комбінаційні схеми, які реалізують функціональні оператори ярусів потокового графа алгоритму, розділяються конвеєрними регістрами. Алгоритм множення виконується над вхідними даними при 'їх однократному проходженні через конвеєрний операційний пристрій.

Якщо вибрати для реалізації граф алгоритму послідовного попарного додавання часткових добутків, отриманих починаючи з аналізу молодших розрядів множника, який представлений на рис. 4.8, то структура і-го яруса конвеєрного операційного при­ строю множення двійкових чисел з фіксованою комою буде мати вигляд, показаний рис. 7.33.

270

 

т і

і

і

і

Ргг

1- й ярус

 

 

 

 

1*

і*

і у

 

 

2- Й ярус

3- й ярус

І* Iх 1^

а)

Ь)

Рис. 7.33. Структура і-го яруса (а) та

конвеєрного операційного пристрою (Ь)

множення двійкових чисел з фіксованою комою

Послідовно з'єднавши п таких ярусів, де п - розрядність даних, як показано на рис. 7.33Ь, отримаємо структуру конвеєрного операційного пристрою множення двійкових чисел з фіксованою комою.

Аналогічним чином можна побудувати конвеєрні операційні пристрої множення двій­ кових чисел з фіксованою комою на основі операторів попарного п-розрядного додавання двох чисел відповідно до інших алгоритмів множення, розглянутих в п. 4.4.4.2 розділу 4.

Не є складною і побудова потокового графа алгоритму паралельного матричного ви­ конання багатомісної операції додавання часткових добутків, наприклад з діагональним розповсюдженням переносу відповідно до рис. 4.12, а також реалізація відповідного конвеєрного пристрою багатомісного додавання часткових добутків.

7.13.3 Пристрої ділення двійкових чисел з фіксованою комою

7.13.3.1. Багатотактові пристрої ділення двійкових чисел з фіксованою комою

Як це вже було показано в розділі 4, існує два основних варіанти виконання операції ділення: з зсувом залишків вліво та з зсувом дільника. Для реалізації АОП перший варі­ ант вигідніший, так як вимагає використання п-розрядного віднімача, тоді як другий ва­ ріант вимагає використання 2п-розрядного віднімача. При цьому перший варіант може бути виконаний двома способами: з відновленням і без відновлення залишку. Схема 6агатотактового пристрою ділення за алгоритмом з відновленням залишку, який працює відповідно до блок-схеми, наведеної на рис. 4.15, показана на рис. 7.34.

X

МЛІ

Зсув

Рі н ,

 

т

Рг

О,

ї ї

Рис. 7.34. Структура багатотактового АОП ділення двійкових чисел з відновленням залишку

271

Перед початком виконання операції значення дільника У та діленого X (через муль­ типлексор МП1) записуються відповідно до регістрів РгД. та РгУ. В кожному такті по­ слідовно віднімається дільник від діленого і проводиться аналіз значення поточного залишку. Якщо після чергового віднімання залишок додатній, то відповідний розряд частки рівний одиниці. Через мультиплексор М П 2 пропускається значення з виходу віднімача, тобто залишок, після чого він зсувається на один розряд вліво і процес повто­ рюється. При від'ємному залишку розряд частки рівний нулю. В цьому випадку вико­ нується коригуюче збільшення дільника до поточного залишку (відновлення залишку), що здійснюється шляхом пропуску через мультиплексор МП значення з регістра РгК, після чого він зсувається на один розряд вліво і процес повторюється. В кожному такті визначається один розряд частки, я к и й записується в старший розряд регістру РгС^. на місце зсунутого розряду. Після в и к о н а н н я п тактів в регістрі РгО.буде знаходитись п-розрядна частка від ділення діленого на дільник.

Досить подібною до описаної є схема багатотактового пристрою ділення без віднов­ лення залишку, представлена на рис. 7.35.

І х

3_

V

З с у в

Рг V

Рис. 7.35. Структура багатотактового АОП ділення двійкових чисел без відновлення залишку

Як і в попередньо розглянутому пристрої, перед початком виконання операції зна­ чення дільника У та діленого X записуються відповідно до регістрів РгУ та РгК\. В кож­ ному такті залежно від значення розряду частки, отриманого на попередньому такті, через мультиплексор МП на суматор СМ проходить прямий або інверсний код дільника, і тим самим дільник додається або віднімається від діленого. Якщо після чергової опе­ рації додавання або віднімання залишок додатній, то відповідний розряд частки рівний одиниці, при від'ємному залишку розряд частки рівний нулю. Після виконання операції значення з виходу суматора зсувається на один розряд вліво і процес повторюється. В кожному такті визначається один розряд частки, який записується в старший розряд регістру РгС}. на місце зсунутого розряду. Після виконання п тактів в регістра Рг(}. буде знаходитись п-розрядна частка від ділення діленого на дільник.

В обох розглянутих пристроях час виконання ділення дорівнює Тд = п (г.м п + і с м + ір г ), де складові суми є затримками в мультиплексорі, суматорі та регістрі відповідно.

Потрібно відзначити, що досить близькими до розглянутих алгоритмів і пристроїв ділення є алгоритми і пристрої добування квадратного кореня.

272

7.13.3.2. Однотактові та конвеєрні пристрої ділення двійкових чисел

зфіксованою комою

Подібно до операції множення, побудова однотактових операційних пристроїв ді­ лення передбачає повністю апаратне відображення просторового графа алгоритму ви­ конання операції комбінаційними схемами, які виконують функціональні оператори алгоритму і з'єднані між собою відповідно до графа алгоритму. Тому структура однотактового пристрою множення двійкових чисел з фіксованою комою повторить відповідну структуру графа алгоритму, наведеного на рис. 4.16.

При побудові конвеєрного операційного пристрою ділення двійкових чисел з фіксо­ ваною комою кожному функціональному оператору алгоритму ставиться у відповідність комбінаційна схема, яка його виконує, і, крім того, комбінаційні схеми, які реалізують функціональні оператори ярусів потокового графа алгоритму, розділяються конвеєрни­ ми регістрами. Алгоритм ділення виконується над вхідними даними при їх однократно­ му проходженні через конвеєрний операційний пристрій.

Якщо вибрати для реалізації граф алгоритму ділення двійкових чисел з відновленням залишку, який представлений на рис. 4.16, то і-й ярус конвеєрного операційного пристрою ділення двійкових чисел з фіксованою комою буде мати вигляд, показаний на рис. 7.36.

а

У

 

, си

 

 

 

 

Рг К,

 

Рг

 

Віднімач

 

 

 

 

 

 

 

Я!

 

 

 

N

 

 

1-І

 

' Ом

Рис. 7.36. і-й ярус конвеєрного операційного пристрою ділення двійкових чисел з фіксованою комою за алгоритмом з відновленням залишку

Якщо вибрати для реалізації граф алгоритму ділення двійкових чисел без відновлен­ ня залишку, то структура і-го яруса конвеєрного операційного пристрою ділення двій­ кових чисел з фіксованою комою буде мати вигляд, показаний на рис. 7.37а.

 

 

ТІ

X

У

 

І

і

 

І і

 

 

1-Й ярус

 

 

1-і о,

ч— т і ,

і у

- і о ,

 

 

ч

2-й

яруг

 

 

 

 

 

2

 

ч

3-Й

ярус

|

 

| а

| У

| а ,

 

 

 

 

 

 

 

 

 

ч

П-Й яруг

 

 

Ь)

 

 

 

 

 

Рис. 7.37. Структура і-го яруса (а) та конвеєрного операційного пристрою (Ь) ділення двійкових чисел з фіксованою комою за алгоритмом без відновлення залишку

273

Послідовно з'єднавши п таких ярусів, де п - розрядність частки, як показано на рис. 7.37Ь, отримаємо структуру конвеєрного операційного пристрою ділення двійкових чисел з фіксованою комою за алгоритмом без відновлення залишку.

7.13.4. Пристрої обчислення елементарних функцій методом "цифра за цифрою"

7.13.4.1. Багатотактовий пристрій обчислення елементарних функцій методом "цифра за цифрою"

В системі команд сучасних комп'ютерів присутня велика кількість команд обчис­ лення елементарних функцій типу exp X, In X, Sin X, Cos X, Sh X, Ch X, піднесення до степеня A m ; arctg y/x тощо. Виконання цих команд на універсальному АЛП, яке виконує елементарні команди, вимагає значних витрат часу. Навіть реалізація на універсально­ му АЛП досить простого за складом базових операцій методу "цифра за цифрою" не дає відчутного виграшу в швидкодії внаслідок його специфіки, що знайшла віддзеркалення, наприклад, в необхідності виконання зсувів на змінне число розрядів. Тому в ряді сучас­ них комп'ютерів до складу АЛП вводять операційні пристрої для обчислення елемен­ тарних функцій.

Багатотактовий АОП (рис. 7.38), що реалізовує метод "цифра за цифрою" відповідно до ітераційних рівнянь, наведених в п. 4.5.2, містить:

РгХ, PrY, PrZ, РгС - регістри для зберігання початкових значень X f l , Y Q , Z Q , та констант С, а також результатів проміжних обчислень X., Y, Z..

С31, С32 - схеми зсуву на і розрядів (і=1,2,...,п); СВ1, СВ2, СВЗ - суматори-віднімачі;

ПЗП - постійний запам'ятовуючий пристрій для зберігання констант; МП - мультиплексор.

З н

PrY

Рис. 7.38. Структура багатотактового АОП обчислення елементарних функцій методом "цифра за цифрою"

Будь-яка з елементарних функцій може бути реалізована на даній структурі за час Т = п (іс в + і с з р [ , де т.св - час затримки на суматорі-віднімачі, і с з - час затримки в схемі зсуву, І г - час запису даних до регістра, п - розрядність операндів. Окрім розглянутої

18 Зам. 371.

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