- •Оглавление
- •Вступление
- •Реализация cpu для выполнения команд сложения и вычитания алгебраических чисел
- •Начальные данные
- •Состав и описание структурной схемы cpu для выполнения команд add и sub
- •Описание алгоритма операций сложения и вычитания машинных чисел
- •Состав и описание узлов модуля операционного блока (моб) для выполнения операций сложения и вычитания машинных чисел
- •Реализация моб для выполнения операции деления чисел
- •Начальные данные
- •Обоснование алгоритма деления чисел
- •Реализация моб для выполнения операции умножения чисел
- •Начальные данные
- •Обоснование алгоритма умножения чисел
- •Состав и описание операционных элементов функциональной схемы (фс) моб для выполнения операции умножения чисел
- •Синтез по заданному элементному базису минимальных реализаций функциональных узлов моб для выполнения умножения чисел
- •Синтез регистров (ра, рв, рс)
- •Синтез регистра ра на базе к155тм8:
- •Синтез коммутатора (кома):
- •Синтез регистра ра
- •2)Синтез регистра рв на базе к155тм8:
- •Синтез коммутатора (комв):
- •Синтез регистра рb
- •Синтез регистра рc на базе к155тм8:
- •Синтез коммутатора (комc):
- •Синтез регистра рc
- •Синтез коммутатора (ком)
- •Синтез сумматора (sm)
- •3.4.3 Синтез счетчика (сt)
- •Синтез триггера знака (тзн)
- •Список литературы
-
Реализация моб для выполнения операции умножения чисел
-
Начальные данные
-
Согласно техническому заданию необходимо выполнить операцию умножения по алгоритму «В» Мак-Сорли 2 в ДК.
Операнды для выполнения примеров машинных операций:
А = 101012 = 2110
В = 100012 = 1710
Формат подачи операндов и результата int в ДК
Рисунок 3.13 Формат подачи операндов и результата
Для синтеза минимальных реализаций функциональных узлов МОБ для выполнения умножения чисел необходимо использовать следующие микросхемы:
-
Регистр ТМ8
-
Триггер ТМ2
-
Сумматор типа ИМ3
Элементная база – серия К155;
Логические элементы: ЛА1, ЛА2, ЛА3, ЛА8, ЛР3, ЛД1, ЛА4, ЛП5, ЛН1, ЛП8, КП5, ИД4.
-
Обоснование алгоритма умножения чисел
В данном алгоритме проверяется младший разряд и умножение выполняется так же с младших разрядов.
МС(В)
где
А4 = МА b4; А3 = МА b3; А2 = МА b2; А1 = МА b1.
Особенности умножения в ДК:
-
ДК – однообразный код, в котором все разряды однозначны.
-
В результате умножения – результат в ДК.
-
Если самая младшая пара множителя заканчивается на «1» - значит следует сделать «–А».
-
(для нечетного количества цифровых разрядов) : умножение всегда заканчивается сдвигом «С» на один разряд вправо.
Метод Мак-Сорли 2:
В устройствах умножения чисел с групповым двухпозиционным алгоритмом Мак-Сорли в каждом цикле умножения чисел выполняется анализ трех цифр множителя, которые образует текущая пара х2х3 и младшая цифра Х1 старшей пары (рис.3.2). При этом младшая цифра Х3 текущей пары условно по Мак-Сорли всегда считается нулем. Комбинация цифр Х1 Х2 указанной триады множителя подается кодом Бута2. Младшая цифра Х3 младшей группы х2х3 множителя используется для исправления (коррекции) суммы частичных произведений по алгоритму Мак-Сорли (таблица 3). Частичное произведение в процедуре коррекции результата по алгоритму Мак-Сорли определяется с использованием обычного «одноразрядного» алгоритма Бута с учетом нулевого состояния разрядов за пределами разрядной сетки множителя. Отсюда следует, что цифра Х3 = 1 в младшей паре х2х3 множителя в процедуре коррекции должна иметь вес 1 (таблица 3).
Таблица 1 Машинный алгоритм умножения чисел с двухпозиционным групповым алгоритмом Мак-Сорли 2 для старшей и внутренних пар множителя
Десятичный эквивалент текущей группы (х1х2х3) цифр МК |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Значение текущей группы (х1х2х3) цифр |
0 00 |
0 01 |
0 10 |
0 11 |
1 00 |
1 01 |
1 10 |
1 11 |
Таблица 2 Машинный алгоритм умножения чисел с двухпозиционным групповым алгоритмом Мак-Сорли 2 для старшей и внутренних пар множителя (продолжение)
Код Бута текущей пары (Х1Х2) цифр МК (Х3 = 0) |
0 00 |
0 +0 |
+ -0 |
+ 00 |
- 00 |
- +0 |
0 -0 |
0 00 |
Код Мак-Сорли (Х3 = 0) текущей трипозиционной группы х1х2х3 МК |
0 00 |
0 +0 |
0 +0 |
+ 00 |
- 00 |
0 -0 |
0 -0 |
0 00 |
Частичные произведения в текущем цикле по двухпозиционным алгоритмом Мак-Сорли 2 |
(+0) |
(+2РА) |
(+2РА) |
(+4РА) |
(-4РА) |
(-2РА) |
(-2РА) |
(+0) |
Х2Х3 – текущая пара множителя (по алгоритму Мак-Сорли условно считается, что Х3 = 0); Х1 – младшая цифра старшей пары множителя.
Таблица 3 Машинный алгоритм умножения чисел с двухпозиционным алгоритмом Мак-Сорли 2 для младшей пары множителя
Десяткові еквіваленти най-молодшої групи (Х1Х2Х3) цифр МК |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|||
Значення наймолодшої групи (Х1Х2Х3) цифр МК
|
0 00 |
0 01 |
0 10 |
0 11 |
1 00 |
1 01 |
1 10 |
1 11 |
|||
Код Бута наймолодшої групи (Х1Х2Х3) цифр МК
|
0 00 |
0 +- |
+ -0 |
+ 0- |
- 00 |
- +- |
0 -0 |
0 0- |
|||
Часткові до-бутки при множенні на наймолодшу пару (Х2Х3) МК |
За методом Мак-Сорлі2 |
(+0) |
+2РА |
+2РА |
+4РА |
-4РА |
-2РА |
-2РА |
(+0) |
||
Корекція до-бутку «Мак-Сорлі2» (за Х3=1) |
(+0) |
(-РА) |
(+0) |
(-РА) |
(+0) |
(-РА) |
(+0) |
(-РА) |
(Х2Х3) – цифровые разряды младшей пары множителя;
Х1 – значение младшей цифры старшей пары множителя;
Х3 – младшая цифра множителя.
А = – 101012 = + 2110 В = + 100012 = – 1710
PC →2р |
PB →2р |
PA |
±±±.ххххх ххххх |
±± ххххх |
± ххххх xxxxx |
000.00000 00000
000.00001 01010 000.00001 01010
000.00101 01000 111.11101 01100 000.00010 10100
000.01010 10000 000.00001 01010 111.11111 01011 000.01011 00101 |
11.10001 +0 00.10001 +2A
1.000100 –4A
0.010000 +2A –A
|
0.00000 10101 NC=1 0.00000 10101 1.11111 01011 |
Рисунок 3.2 Пример операции умножения чисел по алгоритму "В" МС2 в ДК
Проверка:
PА = 21; PВ = 17
PС = PA×PB = 21×17 = 35710 = 1011001012