Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП_Комп'ютерна схемотехніка_2011.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.83 Mб
Скачать

3.5 Реалізація операції множення двійкових чисел

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

першим способом (із зсувом множника та суми часткових добутків вправо та нерухомому

множеному). Операндами є 8-розрядні двійкові числа без знаку. Функціональна схема

обчислювального пристрою, що реалізує операцію за таких умов, показана на рисунку 3.5.1

Рисунок 3.5.1 – Функціональна схема обчислювального пристрою, що виконує множення

двійкових чисел без знаку

На схемі RGA – регістр, в якому накопичуються часткові добутки (по одному на кожен

розряд множника), а в кінці операції множення – старший байт результату. Перед початком

множення цей регістр встановлюється в нуль керуючим сигналом CLR(y1). Регістр RGQ – це

регістр, в якому знаходиться множник, що записується туди за керуючим сигналом WR1(y2).

Множене записується в регістр RGM за керуючим сигналом WR2(y3). Підрахунок кількості

циклів множення виконується за допомогою лічильника СТ, відповідно до чого вибирається його

розрядність q. В лічильник перед початком операції за керуючим сигналом WR3(y4) записується

кількість циклів, що дорівнює розрядності множника n. Для формування суми часткових

добутків використовується комбінаційний суматор (SM). Тригер С, який перед початком операції

скидається в 0 керуючим сигналом CLR(y1), використовується для зберігання потенційного біту

переносу з старшого розряду суматора, який може виникнути в процесі підсумовування.

Цифрово-буквенними індексами на умовно-графічних позначеннях зазначені номери розрядів суматора,

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

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

автомат аналізує розряди множника по одному, починаючи з молодших. Якщо Q0 дорівнює

одиниці (логічна умова Х1), керуючий автомат виробляє управляючий сигнал ADD(y5), за яким

множене додається до вмісту регістра RGA і результат зберігається в цьому ж регістрі за

керуючим сигналом WR4(y6), причому тригер С використовується для зберігання біту

переповнення суматора. Потім вміст тригера С, всі розряди регістрів RGA та RGQ за керуючим

сигналом SHR(y7) зсуваються на одну позицію вправо: вміст тригера С записується в An-1, А0

переписується в Qn-1, а значення Q0 втрачається. Якщо ж Q0 дорівнює нулю, додавання не

29

відбувається, а керуючий автомат виробляє управляючий сигнал SHR(y7), за яким вміст тригера

С, всі розряди регістрів RGA та RGQ зсуваються на одну позицію вправо. Зміст лічильника

циклів СТ зменшується на одиницю за керуючим сигналом DEC(y8). Цей процес виконується для

всіх розрядів множника. Циклічний процес відбувається доти, поки в лічильнику СТ не

встановиться нуль (логічна умова Х2). В результаті в регістрі RGA формується старша, а в RGQ –

молодша частина 2n-розрядного добутку.

Змістовний мікроалгоритм виконання операції множення двійкових чисел без знаку із

зсувом множника та суми часткових добутків вправо показаний на рисунку 3.5.2.

Рисунок 3.5.2 - Змістовний мікроалгоритм виконання операції множення двійкових

чисел без знаку першим способом.

30