Page 91 - 4339
P. 91
6.4.2 Алгоритм множення двійкових чисел із зсувом
суми часткових добутків вправо. Множення двійкових
чисел А і В зводиться до обчислення добутку їх модулів та
присвоєння йому знака. Добуток двох n-розрядних операндів
містить 2n-1 цифрових розрядів і один знаковий.
1. Множене і множник у прямих кодах послідовно
записуються відповідно в регістри А і В. Регістри С і D
обнуляються. У лічильник СТ записується кількість циклів.
2. Для розрядів множника 1, 2, ..., n-1 виконуються такі
дії:
- якщо молодша цифра множника В[1]=1, то до суми
часткових добутків додається модуль множеного, інакше - не
додається;
- вміст регістрів С і В зсувається вправо на один розряд,
причому молодший розряд регістра С передається в старший
розряд регістра В. Після кожного зсуву в молодший розряд
регістра В поступає наступний розряд множеного, за яким
визначається черговий частковий добуток;
- після n-1 циклів виконується додатковий зсув вправо для
передачі в тригер Т знака множника і визначається знак
добутку «додаванням за модулем два» знаків множеного і
множника.
3. Результат подається конкатенацією чисел С і В (в
регістрі С розміщуються старші розряди добутку, а в регістрі
В - молодші розряди).
6.4.3 Функціональна схема АЛП4 для операції
множення. Функціональна схема АЛП для множення цілих
двійкових чисел із зсувом вправо часткових добутків містить
(рис. 6.16):
- регістри А і В для приймання з шини Ш1 множеного та
множника;
- паралельний комбінаційний суматор SM;
- регістр С для приймання часткової суми із SM ;
- регістр D для приймання часткової суми при спаданні
синхросигналу;
- лічильник циклів СТ;
- тригер Т1 для керування ключами SW1,
- тригер Т2 для записування знака множника.
90