Изобретение относится к цифровой вычислительной технике и предназначено для умножения и сдвига чисел, представленных в двоичной системе счисления, и может найти применение в качестве операционного блока в высокопроизводительных вычислительных машинах и системах.
Целью изобретения является расширение функциональных возможностей устройства за счет выполнения операции сдвига. . В устройстве операнды положительные
п
числа, представляются в виде А ai2 .
i 1
ai Ј. {О, 1}, где А ai32...ап двоичный п-раз- рядный код числа А. Выполнение операции умножения в предлагаемом устройстве, так же как и в известном, основано на таблично-алгоритмическом методе умножения, од- Иако в отличие от известного в предлагаемом устройстве процесс умножения конвейеризован за счет совмещения во времени получения элементарных произведений и накопления суммы частичных произведений.
пп
Пусть Х Јх|2 и Y V y,2 множимое
i 1i 1
и множитель соответственно, где х:, yi - значение 1-х разрядов кодов сомножителей. Тогда для представления точного результата Z X-Y требуется 2п-разрядный двоичный код.
Процесс вычисления произведения Z запишется в виде
п/р п/р Z Z(Y,2Xi(2p) W
1 1
i 1
(1)
(Л
С
о
vj
ю
t
где% xi XH-I...XI+P-I - 1-я двоично-кодированная цифра кода множимого в канонической позиционной системе счисления с основанием q 2Р;
У У) двоично-кодиро- ванняа цифра кода множителя
Таким образом, процесс умножения состоит из однотипных повторяющихся циклов. Во время очередного j-ro цикла j-e
п/р
частичное произведение YI Х| 2 рг выi 1
числяется на - К умножителях, выполняющих операцию умножения р-разрядного двоичного кода Y на р-раз- рядный двоичный код Xi с образованием произведения разрядности 2р и собирается в р двоично-разрядный код частичного произведения X-Yj на сумматоре.
Наличие регистра частичных произведений при соответствующем управлении позволяет организовать конвейер при вычислении Z, когда в один и тот же момент времени на одном сумматоре формируется частичное произведениде XYj-м, а на другом сумматоре формируется сумма частичных произвдений Zj Zj-i 2 р + XYj, причем Z0 О, Z Zk.
Выполнение операции сдвига в устройстве основано на том, что операция сдвига влево аналогична умножению сдвигаемого двоичного кода на соответствующую степень числа 2.
Пусть d - число сдвигов (т.е. число разрядов, на которое необходимо сдвинуть двоичный код). Тогда сдвиг влево будет аналогичен умножению сдвигаемого кода на число 2 . При большом d умножение производить не выгодно из-за большого числа циклов умножения. Поэтому двоичный код числа сдвигов дешифрируется и полученный унитарный код разбивается на группы по р разрядов. Пусть в r-й группе р разрядов
(г , - ближайшее к а целое,
такое, что а а, С- разрядность числа сдвигов d) есть I (назовем эту группу р разрядов параметром сдвига С), тогда производится умножение на r-ю группу р разрядов с помощью аппаратуры умножителя и г-1 (это число назовем параметром сдвига М, М г- 1) аппаратный сдвиг на р разрядов.
Число сдвигов М на р разрядов отслеживается с помощью счетчика и выполняется на сдвиговом регистре, который может быть реализован, например, с помощью косой передачи.
Сдвиг вправо аналогичен сдвигу влево повернутого кода. Поворотом кода бдует называть преобразование следующего вида. Пусть двоичный n-разрядный код числа В имеет вид В bib2...bn, тогда после поворота он имеет вид ...b2 bi.
Поэтому при сдвиге вправо сдвигаемый код необходимо повернуть, произвести
0
5
0
5
0
5
0
5
0
5
сдвиг влево и снова повернуть полученный код.
На фиг.1 приведена структурная схема вычислительного устройства; нафиг,2 - пример реализации блока поворота кода: на фиг.З - пример реализации блока формирования параметров сдвигов: на фиг.4-6 - относительные временные диаграммы сигналов на выходах блока микропрограммного управления при работе устройства
Устройство содержит (см. фиг.1) регистры множимого 1 и множителя 2. умножители Зг-Зк, сумматор 4 элементарных произведений, сумматор 5 частичных произведений, блок 6 формирования параметров сдвига, блок 7 микропрограммного результата, счетчик 8, второй блок 9 поворота кода, коммутатор 10 регистры 11 и 12 частичного произведения и результата соответственно, первый блок 13 поворота кода, выходы 14- 24 блока 7, входы 25 адреса первой микрокоманды, тактовый вход 26 и вход 27 окончания операции блока 7, вход 28 числа сдвигов устройства.
Блок поворота кода 9 (13) содержит (см.фиг.2) содержит первую 29 и вторую 30 группы элементов И, группу элементов ИЛИ 31.
Блок 6 формирования параметров сдвига (см. фиг.З) содержит дешифратор 32, первую 33 и вторую 34 группы элементов ИЛИ, шифратор 35.
Счетчик 8 предназначен для подсчета выполняемых сдвигов на р разрядов и циклов умножения и выдачи сигнала о завершении выполнения операций.
Блок 9 поворота кода предназначен для передачи на регистр множимого 1 множимоп
го или сдвигаемого кода Х х) в норi 1
мальном виде или с поворотом в зависимости от направления сдвига.
Коммутатор 10 предназначен для передачи на регистр множителя 2 множителя или параметра сдвига С.
Регистр множимого 1 предназначен для хранения множимого или сдвигаемого кода X.
Регистр множителя 2 сдвиговый, п-рэз- рядный, причем сдвиг осуществляется в сторону младших рдазрядов на р разрядов. Предназначен для хранения множителя Y или параметра сдвига С.
Умножители Зт.-.Зк предназначены для вычисления очередного элементарного произведения XiYj, i 1К, имеют два р-разрядных входа и 2р-разрядный выход.
Сумматор 4 элементарных произведений -двуухвходовый, n-разрядный, предназначен для формирования старших п разрядов частичных произведений Y|X, j - 1. 2К.
n + p-разрядный регистр частичных произведений 11 предназначен для хранения частичного произведении YjX, n разрядов которого поступают из сумматора А и младшие р разрядов из умножителя 3i.
Сумматор 5 частичных произведений двухвходовый, п р-разрядный. предназна- чен для сложения двух слагаемых
Регистр результата 12 - п+р-разрядный сдвиговый, причем сдвиг осуществляется в сторону старших разрядов. Предназначен для хранения результатов умножения или сдига.
Блок поворота кода 13 предназначен для выдачи результата выполнения операции умножения и сдвига клево и нормальном виде или с поворотом если сднш осуществлялся вправо.
При выполнении оппоации умножения устройство работает слпдч ющим образом,
В исходном состоянии регистры 1,2. 11, 12 обнулены (на фиг.1 Ц Тпи сброса и пита- ния не показаны). По сигналам блока 7 (на выходах 16, 17, 13, 24. 18) множимое X через блок 9 поворота кода принимается на ре гистр множимого 1, множитель Y через коммутатор 10 принимается на регистр множителя 2 и из блока 7 в счетчик 8 принимается число циклов умножения
В каждом цикле умножения X на очередные р разрядов на управляющие входы поступают сигналы гак, как это показано на фиг.4. Число циклоь умножения равно К ; п/р.
В первом (j т 1) цикле по сигналу на выходе 21 блока 7 на умножителях Зь..3к происходит формирование К элементарных произведений XiYr, i -- 1, 2,....К, а по сигналу наа выходе 20 блока 7 они собираются на сумматоре 4 и частное произведение записывается на регистр 11, одновременно происходит сдвиг множителя на р разрядов в регистре множит.-/-; 2.
В последующих циклах происходит умножение X на очередные р разрядов Y с одновременным сложением частичного произведения с содержанием регистра 12. сдвинутым на р разрядов в , шрону младших разрядов с помощью косой передачи на сумматоре 5 по сигналу на выходе 21 блока управления, затем сборка очередного частичного произведения на сумматоре 4 и прием его на регистр 1 1 с одновременным сдвигом на р разрядов, содержимого регистра 2, а затем прием в старшие р разрядов регистра 2 младших р разрядов регистра 12 по сигналу на выходе 19 блока управления.
В кахдом цикле . множения одновременно с cm налом на выходе 21 блока 7 по сигналам на выходе 15 происходит счет циклов на счетчике.
После завершения сложения на сумматоре 5 п последнем цикле (j : К) на регистре 12 оказывается ггр старших разрядов кода произведения а на регистре 2 n-р младших разрядов кода произведения.
Об окончании операции умножения сигнализирует счетчик.
При выполнении операции сдвига влево устройство работает следующим образом.
В исходном состоянии регистры 1,2, 11, 12 обнулены. На управляющие входы поступают сигналы так. как. это показано на фиг.5.
По сигналам блока 7 на выходах (16, 17.18, 23, 24) сдвигаемый код через блок поворота кода 9 в нормальном виде принимается на регистр 1. на регистр 2 через коммутатор 10 принимается параметр сдвига С и в счетчик 8 - параметр сдвига М.
Затем по сигналу на выходе 21 блока управления 7 на умножителях З1...3к происходит формирование К элементарных произведений Xj C. i 1. 2К. а по сигналу на
выходе 20 блока 7 они собираются на сумматоре 4 и частичное произведение запоминается на регистре 1 1. Затем по сиг налу на выходе 2 1 происходит сложение частичного произведения с нулем и запоминание результата на регистре 12.
По сигналам на выходе 15 происходит необходимое число сдвигов влево на р разрядов с одновременной подачей сигналов на счетный вход счетчика по сигналам на выходе 22 блока 7. По окончании сдвига результат оказывается в п младших разрядах регистра 12.
При выполнении операции сдвига вправо на управляющие входы поступают сигналы гак. как это показано на фиг.6. Отличие от сдвига влево заключается в том, что по сигналам (16. 17. 23, 24. 18) (.двигаемый код через блок 9 поворота кода с поворотом принимается в регистр 1
Далее процесс повторяется аналогично сдвигу влево.
По окончании операции сдвига результат снимается с регистра 12 через блок 13 попорота кода и с поворотом кода.
Формула изобретения
Устройство для умножения содержащее регистры множимого и множителя. К умножителей (К п/р, где п разрядность операндов, р - количество одновременно обрабатываемых разрядов операнда), сумматор элементарных, произведений, регистр частичных произведений, сумматор частичных произведений, регистр произведения и блок микропрограммного результата, причем вход первого сомножителя каждого умножителя соединен с выходом соответствующих р разрядов регистра множимого, а вход второго сомножителя - с выходом р младших разрядов регистра множителя, входы разрядов первого слагаемого сумматора элементарных произведений соединен соответственно с выходами р старших разрядов каждого умножителя, выходы р младших разрядов j-ro умножителя Q 2....К) соединены соответственно с входами (pj - p)-x разрядов второго слагаемого сумматора элементарных произведений, выходы р младших разрядов первого умножителя соединены соответственно с входами р младших разрядов регистра частичных произведений, входы последующих разрядов которого соединены с выходами соответствующих разрядов сумматора элементарных произведений, а выход - с входом первого слагаемого сумматора частичных произведений, вход второго слагаемого которого соединен с выходом регистра результата, информационный вход которого соединен с выходом сумматора частичных произведений, вход разрешения суммирования которого соединен с входом записи регистра результата, управляющим входом К умножителей и первым выходом блока микропрограммного управления, второй выход которого соединен с входом записи регистра множимого и первым входом записи регистра множителя, вход сдвига которого соединен с входом записи регистра частичных произведений, входом разрешения суммирования сумматора элементарных произведений и третьим выходом блока микропрограммного управления, четвертый выход которого соединен с входом сдвига регистра результата, отличающееся тем, что, с целью расширения функциональных возможностей за счет выполнения операции сдвига, в него введены блок формирования параметров сдвига, первый и второй блоки поворота кода, коммутатор и
счетчик, вход установки которого соединен с пятым выходом блока микропрограммно - го управления и первым выходом блока фор- мирования параметров сдвига, второй выход которого соединен с первым информационным вводом коммутатора, второй информационный вход которого соединен с входом множителя устройства, а выход - с первым информационным входом регистра множителя, второй информационный вход
которого соединен с выходом р младших разрядов регистра результата, а второй вход записи - с шестым выходом блока микропрограммного управления, второй выход которого соединен с информационным вхоДом счетчика, счетный вход и выход которого соединены соответственно с седьмым выходом и входом окончания операции блока микропрограммного управления, восьмой и девятый выходы которого соединены
соответственно с первым и вторым управляющими входами коммутатора, выход регистра результата соединен с информационным входом первого блока поворота кода, выход которого соединен с выходом устройства, а
первый и второй управляющие входы - соответственно с десятым и одиннадцатым выходами блока микропрограммного управления и первым и вторым управляющими входами второго блока поворота кода, информационный вход которого соединен с входом множимого устройства, а выход - с информационным входом регистра множимого, вход кода операции и управляющий вход устройства соединены соответственно
с входом адреса первой микрокоманды и тактовым входом блока микропрограммного управления, вход блока формирования параметров сдвига соединен с входом числа сдвигов устройства.
Автоматическое Время Фиг.Ь
Автонатное Креня
Фиг 5
название | год | авторы | номер документа |
---|---|---|---|
Вычислительное устройство | 1988 |
|
SU1532917A1 |
Устройство для умножения чисел | 1990 |
|
SU1714595A1 |
Устройство для умножения | 1990 |
|
SU1753471A1 |
Устройство для умножения | 1988 |
|
SU1615706A1 |
Устройство для умножения | 1985 |
|
SU1305667A1 |
Устройство для умножения | 1985 |
|
SU1290301A1 |
Арифметическое устройство | 1984 |
|
SU1236473A1 |
Десятичное множительное устройство | 1972 |
|
SU468239A1 |
Устройство для умножения чисел с плавающей запятой | 1985 |
|
SU1280624A1 |
Устройство для умножения | 1985 |
|
SU1309019A1 |
Изобретение относится к цифровой вычислительной технике и предназначено для умножения и сдвига чисел, представленных в двоичной системе счисления, и может найти применение в высокопроизводительных вычислительных машинах и системах. Цель изобретения состоит в расширении функциональных возможностей за счет выполнения операции сдвига путем введения блока формирования параметров сдвига, двух блоков поворота кода, коммутатора, счетчика и изменения связей. 6 ил.
ЛКтоматичсско( брепя t
-aff
Устройство для сдвига информации | 1978 |
|
SU798820A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторское свидетельство СССР № 754412.кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1991-08-23—Публикация
1989-04-04—Подача