RU2653263C1 - Арифметико-логическое устройство для умножения чисел по модулю - Google Patents

Арифметико-логическое устройство для умножения чисел по модулю Download PDF

Info

Publication number
RU2653263C1
RU2653263C1 RU2017126519A RU2017126519A RU2653263C1 RU 2653263 C1 RU2653263 C1 RU 2653263C1 RU 2017126519 A RU2017126519 A RU 2017126519A RU 2017126519 A RU2017126519 A RU 2017126519A RU 2653263 C1 RU2653263 C1 RU 2653263C1
Authority
RU
Russia
Prior art keywords
input
output
bit
control unit
unit module
Prior art date
Application number
RU2017126519A
Other languages
English (en)
Inventor
Вячеслав Иванович Петренко
Николай Юрьевич Свистунов
Игорь Владиславович Стручков
Original Assignee
федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" filed Critical федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Priority to RU2017126519A priority Critical patent/RU2653263C1/ru
Application granted granted Critical
Publication of RU2653263C1 publication Critical patent/RU2653263C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/722Modular multiplication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах, а также в устройствах цифровой обработки сигналов и в криптографических приложениях. Техническим результатом является реализация умножения чисел по модулю. Устройство содержит n-разрядные регистры, n-разрядный электронный ключ, n-разрядный мультиплексор, n-разрядные накапливающие сумматоры по модулю, модуль управляющего блока, входную и выходную n-разрядные шины. 2 ил.

Description

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах, а также в устройствах цифровой обработки сигналов и в криптографических приложениях.
Известно устройство для умножения чисел по произвольному модулю (Патент РФ №2316042, МПК G06F 7/523, G06F 7/72, Бюл. №3, 2008 г.), содержащее (m-1) сумматоров, (m-1) мультиплексоров, m ключей, (m-2) блоков сдвига, инвертор и сумматор по модулю, где m - количество разрядов в двоичном коде второго множителя.
Недостатком данного устройства является пропорциональная зависимость количества оборудования от разрядности второго множителя.
Наиболее близким по технической сущности к заявляемому изобретению является арифметико-логическое устройство для выполнения операции умножения, содержащее три n-разрядных регистра, где n - разрядность умножаемых чисел, электронный ключ, входную и выходную n-разрядные шины, модуль управляющего блока (Бабич Н.П., Жуков И.А. Компьютерная схемотехника. Методы построения и проектирования: Учебное пособие. - К.: МК-Пресс, 2004. - 576 с. рис. 9.16, стр. 299-308).
Недостатком данного арифметико-логического устройства для умножения являются ограниченные функциональные возможности, а именно невозможность выполнения операции умножения по модулю.
Техническим результатом данного изобретения является расширение функциональных возможностей устройства за счет введения операции умножения по модулю.
Для достижения технического результата в арифметико-логическое устройство для выполнения операции умножения, содержащее три n-разрядных регистра, n-разрядный электронный ключ, входную и выходную n-разрядные шины, модуль управляющего блока, причем информационные входы первого и второго n-разрядных регистров соединены со входной n-разрядной шиной, управляющий вход первого n-разрядного регистра соединен с первым выходом модуля управляющего блока, второй управляющий вход второго n-разрядного регистра соединен с седьмым выходом модуля управляющего блока, на первый вход которого подается одноразрядный код команды умножения, введены n-разрядный мультиплексор и два n-разрядных накапливающих сумматора по модулю, причем первый информационный вход мультиплексора соединен со входной n-разрядной шиной, второй информационный вход соединен с информационным выходом первого накапливающего сумматора по модулю, управляющий вход соединен со вторым выходом модуля управляющего блока, информационный выход соединен с информационным входом третьего n-разрядного регистра, управляющий вход которого соединен с четвертым выходом модуля управляющего блока, а информационный выход соединен со вторыми информационными входами первого и второго n-разрядных накапливающих сумматоров по модулю, первые информационные входы которых соединены с выходом первого n-разрядного регистра, а первые управляющие входы соединены с первым выходом модуля управляющего блока, второй управляющий вход первого n-разрядного накапливающего сумматора по модулю соединен с пятым выходом модуля управляющего блока, второй управляющий вход второго n-разрядного накапливающего сумматора по модулю соединен с шестым выходом модуля управляющего блока, информационный выход соединен с информационным входом n-разрядного ключа, информационный выход которого соединен с выходной n-разрядной шиной, а управляющий вход соединен с восьмым выходом модуля управляющего блока, первый управляющий вход второго n-разрядного регистра соединен с третьим выходом модуля управляющего блока, младший разряд второго n-разрядного регистра соединен с третьим входом модуля управляющего блока, на второй вход которого подаются тактовые импульсы.
Сущность изобретения заключается в реализации следующего способа нахождения произведения чисел А и В по модулю Р. Операндами являются числа А и В, значения которых находятся в диапазоне от 0 до (Р-1) включительно.
Числа А и В, имеющие разрядность n, могут быть представлены в двоичном виде:
Figure 00000001
Figure 00000002
где a i и bi - коэффициенты в двоичном представлении чисел А и В,
Figure 00000003
.
В случае различной разрядности чисел А и В за n принимается большая из разрядностей, а старшие разряды числа с меньшей разрядностью дополняются нулевыми.
Произведение А⋅В(mod P) можно записать в виде:
Figure 00000004
где ri - i-й частичный остаток.
Таким образом, операция умножения чисел А и В по модулю Р может быть выполнена путем последовательного нахождения n частичных остатков вида:
Figure 00000005
где
Figure 00000006
, и последующего сложения по модулю Р тех из них, для которых коэффициент bi=1.
Частичные остатки могут быть вычислены по следующему рекуррентному правилу:
Figure 00000007
Нулевым частичным остатком r0 является само число А. Для последовательного формирования остальных (n-1) частичных остатков может быть использован n-разрядный накапливающий сумматор по модулю, на вход которого на первом такте поступает число А, а на каждом последующем такте - значение, которое на предыдущем такте было на его выходе. Операция умножения предыдущего частичного остатка ri-1 на 2 по модулю Р в таком случае осуществляется как сложение ri-1 по модулю Р с самим собой.
На фиг. 1 представлена схема арифметико-логического устройства для умножения чисел по модулю.
Арифметико-логическое устройство для умножения чисел по модулю содержит три n-разрядных регистра 3, 4, 5, где n - разрядность умножаемых чисел, n-разрядный электронный ключ 8, входную n-разрядную шину 1, выходную n-разрядную шину 9, модуль управляющего блока 10, n-разрядный мультиплексор 2 и два n-разрядных накапливающих сумматора 6, 7 по модулю. На вход 11 подается одноразрядный код команды умножения по модулю, на вход 12 подаются тактовые импульсы. На вход 13 модуля управляющего блока 10 подается сигнал с младшего разряда n-разрядного регистра 4.
Информационные входы n-разрядных регистров 3, 4 соединены со входной n-разрядной шиной 1, управляющий вход первого n-разрядного регистра 3 соединен с первым выходом модуля управляющего блока 10, второй управляющий вход второго n-разрядного регистра 4 соединен с седьмым выходом модуля управляющего блока.
Первый информационный вход n-разрядного мультиплексора 2 соединен со входной n-разрядной шиной 1, второй информационный вход соединен с информационным выходом первого n-разрядного накапливающего сумматора 7 по модулю, управляющий вход соединен со вторым выходом модуля управляющего блока 10, информационный выход соединен с информационным входом третьего n-разрядного регистра 5, управляющий вход которого соединен с четвертым выходом модуля управляющего блока 10, а информационный выход соединен со вторыми информационными входами n-разрядных накапливающих сумматоров 6, 7 по модулю, первые информационные входы которых соединены с выходом первого n-разрядного регистра 3, а первые управляющие входы соединены с первым выходом модуля управляющего блока 10. Второй управляющий вход первого n-разрядного накапливающего сумматора 7 по модулю соединен с пятым выходом модуля управляющего блока 10. Второй управляющий вход второго n-разрядного накапливающего сумматора 6 по модулю соединен с шестым выходом модуля управляющего блока 10, информационный выход соединен с информационным входом n-разрядного электронного ключа 8, информационный выход которого соединен с выходной n-разрядной шиной 9, а управляющий вход соединен с восьмым выходом модуля управляющего блока 10. Первый управляющий вход второго n-разрядного регистра 4 соединен с третьим выходом модуля управляющего блока 10, младший разряд второго n-разрядного регистра 4 соединен с третьим входом 13 модуля управляющего блока 10.
На фиг. 2 представлена схема модуля управляющего блока 10 арифметико-логического устройства для умножения чисел по модулю.
Модуль управляющего блока содержит два двухвходовых элемента И 10.1, 10.10, двухвходовый элемент ЗАПРЕТ 10.2, r-разрядный счетчик 10.3, где r=⎡log2(2n+4)⎤, r-входовый дешифратор 10.4, RS-триггер 10.5, три n-входовых элемента ИЛИ 10.6, 10.7, 10.8, (n-1)-входовый элемент ИЛИ 10.9. Первый вход первого двухвходового элемента И 10.1 является первым входом модуля управляющего блока 10, второй вход является вторым входом модуля управляющего блока 10, а выход соединен со счетным входом r-разрядного счетчика 10.3 и с запрещающим входом двухвходового элемента ЗАПРЕТ 10.2, выход которого соединен с управляющим входом r-разрядного счетчика 10.3, выходы которого соединены с соответствующими информационными входами r-входового дешифратора 10.4, первый выход которого является первым выходом модуля управляющего блока 10, а также соединен с R-входом RS-триггера 10.5, выход которого является вторым выходом модуля управляющего блока 10. Второй выход r-входового дешифратора 10.4 соединен с первым входом первого n-входового элемента ИЛИ 10.6, выход которого является четвертым выходом модуля управляющего блока 10. Третий выход r-входового дешифратора 10.4 является третьим выходом модуля управляющего блока 10 и соединен с S-входом RS-триггера 10.5 и с первым входом второго n-входового элемента ИЛИ 10.7, выход которого является пятым выходом модуля управляющего блока 10. Каждый 2k-й выход r-входового дешифратора 10.4, где k=2, 3, …, n, соединен с k-м входом второго n-входового элемента ИЛИ 10.7 и с (k-1)-м входом третьего n-входового элемента ИЛИ 10.8, выход которого соединен со вторым входом второго двухвходового элемента И 10.10, первый вход которого является третьим входом 13 модуля управляющего блока 10, а выход является шестым выходом модуля управляющего блока 10. Каждый (2k+1)-й выход r-входового дешифратора 10.4, где k=2, 3, …, n, соединен с k-м входом первого n-входового элемента ИЛИ 10.6 и с (k-1)-м входом (n-1)-входового элемента ИЛИ 10.9, выход которого является седьмым выходом модуля управляющего блока 10, (2n+2)-й выход r-входового дешифратора 10.4 соединен с n-м входом третьего n-входового элемента ИЛИ 10.8, (2n+3)-й выход r-входового дешифратора 10.4 соединен с разрешающим входом двухвходового элемента ЗАПРЕТ 10.2, а также является восьмым выходом модуля управляющего блока 10.
Арифметико-логическое устройство для умножения чисел по модулю работает следующим образом.
Умножение n-разрядных чисел А и В по модулю Р осуществляется за (2n+3) тактов. В исходном состоянии r-разрядный счетчик 10.3 обнулен, на вход 11 подается логический «0». Для начала работы устройства и на протяжении всего цикла умножения на вход 11 устройства подается сигнал логической «1». При этом тактовые импульсы, поступающие на вход 12, начинают подсчитываться r-разрядным счетчиком 10.3. Результат подсчета подается на вход r-входового дешифратора 10.4, и на его выходах с номерами 1, …, (2n+3) последовательно появляются импульсы.
С приходом первого тактового импульса на вход 12 на первом выходе r-входового дешифратора 10.4 появляется сигнал логической единицы, который поступает на выход y1 модуля управляющего блока 10, а также на R-вход RS-триггера 10.5. Сигнал с выхода y1 модуля управляющего блока 10 поступает на первые управляющие входы (входы сброса) первого и второго n-разрядных накапливающих сумматоров 6, 7 по модулю, вызывая их обнуление, а также на управляющий вход первого n-разрядного регистра 3. В результате этого происходит считывание кода модуля Р со входной n-разрядной шины 1 в первый n-разрядный регистр 3, с выхода которого код модуля подается на первые информационные входы (входы модуля) первого и второго n-разрядных накапливающих сумматоров 6, 7 по модулю. В результате сброса RS-триггера 10.5 на выходе y2 модуля управляющего блока 10 появляется сигнал логического «0», который поступает на управляющий вход n-разрядного мультиплексора 2, подключая тем самым информационный вход третьего n-разрядного регистра 5 к входной шине 1.
С приходом второго тактового импульса на вход 12 сигнал логической «1» появляется на втором выходе r-входового дешифратора 10.4 и подается через первый n-входовый элемент ИЛИ 10.6 на выход y4 модуля управляющего блока 10. Этот сигнал поступает на управляющий вход третьего n-разрядного регистра 5, в результате чего происходит считывание в данный регистр кода множителя А, являющегося нулевым частичным остатком.
С приходом третьего тактового импульса на вход 12 сигнал логической «1» появляется на третьем выходе r-входового дешифратора 10.4, откуда поступает на S-вход RS-триггера 10.5, переводя его в единичное состояние. Также этот сигнал поступает на выход y3 и через второй n-входовый элемент ИЛИ 10.7 на выход y5 модуля управляющего блока 10. В результате перевода RS-триггера 10.5 в единичное состояние на выходе y2 модуля управляющего блока 10 появляется сигнал логической «1», который поступает на управляющий вход n-разрядного мультиплексора 2, подключающего информационный вход третьего n-разрядного регистра 5 к выходу первого n-разрядного накапливающего сумматора 7 по модулю до окончания текущего и начала следующего цикла умножения. Сигнал с выхода y3 модуля управляющего блока 10 поступает на первый управляющий вход второго n-разрядного регистра 4, в результате чего происходит считывание в данный регистр кода множителя В. Сигнал с выхода y5 модуля управляющего блока 10 поступает на второй управляющий вход первого n-разрядного накапливающего сумматора 7 по модулю (вход тактовых импульсов), в результате чего в первый n-разрядный накапливающий сумматор 7 по модулю записывается код множителя А.
С приходом 2k-го тактового импульса, где k=2, 3, …, n, сигнал логической «1» появляется на 2k-м выходе r-входового дешифратора 10.4, откуда подается через второй n-входовый элемент ИЛИ 10.7 на выход y5 модуля управляющего блока 10. Этот сигнал поступает на второй управляющий вход первого n-разрядного накапливающего сумматора 7 по модулю, в результате чего к значению, хранимому в первом n-разрядном накапливающем сумматоре 7 по модулю, прибавляется значение, находящееся в третьем n-разрядном регистре 5, и на выходе первого n-разрядного накапливающего сумматора 7 по модулю формируется следующий частичный остаток. Если значением младшего разряда второго n-разрядного регистра 4 является «1», то на выход y6 модуля управляющего блока 10 через третий n-входовый элемент ИЛИ 10.8 и второй двухвходовый элемент И 10.10 подается сигнал логической «1», который поступает на второй управляющий вход (вход тактовых импульсов) второго n-разрядного накапливающего сумматора 6 по модулю, в результате чего хранимое в нем значение складывается по модулю Р с текущим частичным остатком, находящимся в третьем n-разрядном регистре 5.
С приходом (2k+1)-го тактового импульса, где k=2, 3, …, n, сигнал логической «1» появляется на (2k+1)-м выходе r-входового дешифратора 10.4, откуда подается через первый n-входовый элемент ИЛИ 10.6 на выход y4 модуля управляющего блока 10, а также на выход y7 модуля управляющего блока 10 через (n-1)-входовый элемент ИЛИ 10.9. Сигнал с выхода y4 модуля управляющего блока 10 поступает на управляющий вход третьего n-разрядного регистра 5, в результате чего происходит считывание в данный регистр с выхода первого накапливающего сумматора 7 по модулю частичного остатка, который будет использован на следующем такте. Сигнал с выхода y7 модуля управляющего блока 10 поступает на второй управляющий вход второго n-разрядного регистра 4, что приводит к сдвигу находящегося в нем значения на один разряд вправо.
С приходом (2n+2)-го тактового импульса сигнал логической «1» появляется на (2n+2)-м выходе r-входового дешифратора 10.4, откуда поступает на n-й вход третьего n-входового элемента ИЛИ 10.8. Если значением младшего разряда второго n-разрядного регистра 4 является «1», то на выход y6 модуля управляющего блока 10 через третий n-входовый элемент ИЛИ 10.8 и второй двухвходовый элемент И 10.10 подается сигнал логической «1», который поступает на второй управляющий вход (вход тактовых импульсов) второго n-разрядного накапливающего сумматора 6 по модулю, в результате чего хранимое в нем значение складывается по модулю Р с частичным остатком, записанным в третьем n-разрядном регистре 5.
С приходом (2n+3)-го тактового импульса сигнал логической «1» появляется на (2n+3)-м выходе r-входового дешифратора 10.4, откуда поступает на выход y8 модуля управляющего блока 10 и на разрешающий вход двухвходового элемента ЗАПРЕТ 10.2. С выхода y8 модуля управляющего блока 10 сигнал поступает на управляющий вход n-разрядного электронного ключа 8, и результат умножения А на В по модулю Р поступает с выхода второго n-разрядного накапливающего сумматора 6 по модулю на выходную n-разрядную шину 9. После спада (2n+3)-го тактового импульса на запрещающий вход двухвходового элемента ЗАПРЕТ 10.2 поступает логический «0» и на его выходе устанавливается сигнал логической «1», который подается на управляющий вход (вход сброса) r-разрядного счетчика 10.3 и, таким образом, обнуляет счетчик. Цикл умножения завершен.
Рассмотрим работу арифметико-логического устройства для умножения чисел по модулю на конкретном примере.
Пусть n=4, А=7, В=9, Р=13. Умножение по модулю выполняется за (2n+3)=11 тактов.
На первом такте производится считывание с входной n-разрядной шины 1 кода модуля Р=1310=11012.
На втором такте с входной n-разрядной шины 1 считывается код множителя А=710=01112.
На третьем такте с входной n-разрядной шины 1 считывается код множителя В=9=10012, а код множителя А=7=01112 записывается в первый n-разрядный накапливающий сумматор 7 по модулю.
На четвертом такте происходит вычисление первого частичного остатка: 7+7≡1 (mod 13). Поскольку младший разряд В=10012 равен 1, к содержимому второго n-разрядного накапливающего сумматора 6 по модулю прибавляется значение нулевого частичного остатка: 0+7≡7 (mod 13).
На пятом такте сдвигается на один разряд вправо содержимое второго n-разрядного регистра 4, в котором хранится значение множителя В=10012, т.е. В/=01002, а также происходит запись первого частичного остатка, равного 1, в третий n-разрядный регистр 5.
На шестом такте происходит вычисление второго частичного остатка: 1+1≡2 (mod 13). Младший разряд В/=01002 равен 0, поэтому первый частичный остаток, хранящийся в третьем n-разрядном регистре 5, не прибавляется к содержимому второго n-разрядного накапливающего сумматора 6 по модулю.
На седьмом такте сдвигается на один разряд вправо содержимое второго n-разрядного регистра 4, в котором хранится значение В/=01002, т.е. В//=00102, а также происходит запись второго частичного остатка, равного 2, в третий n-разрядный регистр 5.
На восьмом такте происходит вычисление третьего частичного остатка: 2+2≡4 (mod 13). Младший разряд В//=00102 равен 0, поэтому второй частичный остаток, хранящийся в третьем n-разрядном регистре 5, не прибавляется к содержимому второго n-разрядного накапливающего сумматора 6 по модулю.
На девятом такте сдвигается на один разряд вправо содержимое второго n-разрядного регистра 4, в котором хранится значение В//=00102, т.е. В///=00012, а также происходит запись третьего частичного остатка, равного 4, в третий n-разрядный регистр 5.
Поскольку младший разряд В///=00012 равен 1, на десятом такте к содержимому второго n-разрядного накапливающего сумматора 6 по модулю прибавляется значение третьего частичного остатка, хранящегося в третьем n-разрядном регистре 5: 7+4≡11 (mod 13).
На одиннадцатом такте содержимое второго n-разрядного накапливающего сумматора 6 по модулю подается на выходную n-разрядную шину 9. Таким образом, результат операции умножения по модулю равен 11. Умножение выполнено корректно, поскольку 7⋅9≡11 (mod 13).

Claims (1)

  1. Арифметико-логическое устройство для умножения чисел по модулю, содержащее три n-разрядных регистра, где n - разрядность умножаемых чисел, n-разрядный электронный ключ, входную и выходную n-разрядные шины, модуль управляющего блока, причем информационные входы первого и второго n-разрядных регистров соединены со входной n-разрядной шиной, управляющий вход первого n-разрядного регистра соединен с первым выходом модуля управляющего блока, второй управляющий вход второго n-разрядного регистра соединен с седьмым выходом модуля управляющего блока, на первый вход которого подается одноразрядный код команды умножения по модулю, отличающееся тем, что в него введены n-разрядный мультиплексор и два n-разрядных накапливающих сумматора по модулю, причем первый информационный вход мультиплексора соединен со входной n-разрядной шиной, второй информационный вход соединен с информационным выходом первого накапливающего сумматора по модулю, управляющий вход соединен со вторым выходом модуля управляющего блока, информационный выход соединен с информационным входом третьего n-разрядного регистра, управляющий вход которого соединен с четвертым выходом модуля управляющего блока, а информационный выход соединен со вторыми информационными входами первого и второго n-разрядных накапливающих сумматоров по модулю, первые информационные входы которых соединены с выходом первого n-разрядного регистра, а первые управляющие входы соединены с первым выходом модуля управляющего блока, второй управляющий вход первого n-разрядного накапливающего сумматора по модулю соединен с пятым выходом модуля управляющего блока, второй управляющий вход второго накапливающего сумматора по модулю соединен с шестым выходом модуля управляющего блока, информационный выход соединен с информационным входом n-разрядного ключа, информационный выход которого соединен с выходной n-разрядной шиной, а управляющий вход соединен с восьмым выходом модуля управляющего блока, первый управляющий вход второго n-разрядного регистра соединен с третьим выходом модуля управляющего блока, младший разряд второго n-разрядного регистра соединен с третьим входом модуля управляющего блока, на второй вход которого подаются тактовые импульсы, причем модуль управляющего блока содержит два двухвходовых элемента И, двухвходовый элемент ЗАПРЕТ, r-разрядный счетчик, где
    Figure 00000008
    r-входовый дешифратор, RS-триггер, три n-входовых элемента ИЛИ, (n-1)-входовый элемент ИЛИ, причем первый вход первого двухвходового элемента И является первым входом модуля управляющего блока, второй вход является вторым входом модуля управляющего блока, а выход соединен со счетным входом r-разрядного счетчика и с запрещающим входом двухвходового элемента ЗАПРЕТ, выход которого соединен с управляющим входом r-разрядного счетчика, выходы которого соединены с соответствующими информационными входами r-входового дешифратора, первый выход которого является первым выходом модуля управляющего блока, а также соединен с R-входом RS-триггера, выход которого является вторым выходом модуля управляющего блока, второй выход дешифратора соединен с первым входом первого n-входового элемента ИЛИ, выход которого является четвертым выходом модуля управляющего блока, третий выход дешифратора является третьим выходом модуля управляющего блока и соединен с S-входом RS-триггера и с первым входом второго n-входового элемента ИЛИ, выход которого является пятым выходом модуля управляющего блока, каждый 2k-й выход r-входового дешифратора, где k = 2,3,…,n, соединен с k-м входом второго n-входового элемента ИЛИ и с (k-1)-м входом третьего n-входового элемента ИЛИ, выход которого соединен со вторым входом второго двухвходового элемента И, первый вход которого является третьим входом модуля управляющего блока, а выход является шестым выходом модуля управляющего блока, каждый (2k+1)-й выход r-входового дешифратора, где k=2,3,…,n, соединен с k-м входом первого n-входового элемента ИЛИ и с (k-1)-м входом (n-1)-входового элемента ИЛИ, выход которого является седьмым выходом модуля управляющего блока, (2n+2)-й выход r-входового дешифратора соединен с n-м входом третьего n-входового элемента ИЛИ, (2n+3)-й выход r-входового дешифратора соединен с разрешающим входом двухвходового элемента ЗАПРЕТ, а также является восьмым выходом модуля управляющего блока.
RU2017126519A 2017-07-24 2017-07-24 Арифметико-логическое устройство для умножения чисел по модулю RU2653263C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017126519A RU2653263C1 (ru) 2017-07-24 2017-07-24 Арифметико-логическое устройство для умножения чисел по модулю

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017126519A RU2653263C1 (ru) 2017-07-24 2017-07-24 Арифметико-логическое устройство для умножения чисел по модулю

Publications (1)

Publication Number Publication Date
RU2653263C1 true RU2653263C1 (ru) 2018-05-07

Family

ID=62105462

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017126519A RU2653263C1 (ru) 2017-07-24 2017-07-24 Арифметико-логическое устройство для умножения чисел по модулю

Country Status (1)

Country Link
RU (1) RU2653263C1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2711051C1 (ru) * 2019-05-24 2020-01-14 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Арифметико-логическое устройство для сложения, вычитания и умножения чисел по модулю
RU2748744C1 (ru) * 2020-08-07 2021-05-31 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-воздушных сил "Военно-воздушная академия имени профессора Н.Е. Жуковского и Ю.А. Гагарина" (г. Воронеж) Министерства обороны Российской Федерации УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ЧИСЕЛ ПО МОДУЛЮ m

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1617439A1 (ru) * 1988-12-13 1990-12-30 Предприятие П/Я Г-4190 Устройство дл умножени чисел по модулю
RU2018936C1 (ru) * 1991-07-08 1994-08-30 Краснобаев Виктор Анатольевич Устройство для умножения чисел по модулю
RU2023290C1 (ru) * 1992-01-22 1994-11-15 Краснобаев Виктор Анатольевич Устройство для умножения чисел по модулю
US20030212729A1 (en) * 2002-05-01 2003-11-13 Sun Microsystems, Inc. Modular multiplier
US20040215686A1 (en) * 2003-04-25 2004-10-28 Samsung Electronics Co., Ltd. Montgomery modular multiplier and method thereof using carry save addition
US20050198093A1 (en) * 2004-03-02 2005-09-08 Hee-Kwan Son Montgomery modular multiplier
RU2316042C1 (ru) * 2006-08-07 2008-01-27 ГОУ ВПО Ставропольский государственный университет Устройство для умножения чисел по произвольному модулю

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1617439A1 (ru) * 1988-12-13 1990-12-30 Предприятие П/Я Г-4190 Устройство дл умножени чисел по модулю
RU2018936C1 (ru) * 1991-07-08 1994-08-30 Краснобаев Виктор Анатольевич Устройство для умножения чисел по модулю
RU2023290C1 (ru) * 1992-01-22 1994-11-15 Краснобаев Виктор Анатольевич Устройство для умножения чисел по модулю
US20030212729A1 (en) * 2002-05-01 2003-11-13 Sun Microsystems, Inc. Modular multiplier
US20040215686A1 (en) * 2003-04-25 2004-10-28 Samsung Electronics Co., Ltd. Montgomery modular multiplier and method thereof using carry save addition
US20050198093A1 (en) * 2004-03-02 2005-09-08 Hee-Kwan Son Montgomery modular multiplier
RU2316042C1 (ru) * 2006-08-07 2008-01-27 ГОУ ВПО Ставропольский государственный университет Устройство для умножения чисел по произвольному модулю

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2711051C1 (ru) * 2019-05-24 2020-01-14 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Арифметико-логическое устройство для сложения, вычитания и умножения чисел по модулю
RU2748744C1 (ru) * 2020-08-07 2021-05-31 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-воздушных сил "Военно-воздушная академия имени профессора Н.Е. Жуковского и Ю.А. Гагарина" (г. Воронеж) Министерства обороны Российской Федерации УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ЧИСЕЛ ПО МОДУЛЮ m

Similar Documents

Publication Publication Date Title
US3508038A (en) Multiplying apparatus for performing division using successive approximate reciprocals of a divisor
US3515344A (en) Apparatus for accumulating the sum of a plurality of operands
EP0040279A2 (en) Binary divider
RU2653263C1 (ru) Арифметико-логическое устройство для умножения чисел по модулю
RU2500017C1 (ru) Накапливающий сумматор по модулю
US3535498A (en) Matrix of binary add-subtract arithmetic units with bypass control
RU2696223C1 (ru) Арифметико-логическое устройство для формирования остатка по произвольному модулю от числа
CN113032723B (zh) 一种矩阵乘法器的实现方法及矩阵乘法器装置
RU2639645C1 (ru) Арифметико-логическое устройство для сложения и вычитания чисел по модулю
US3290493A (en) Truncated parallel multiplication
US3249745A (en) Two-register calculator for performing multiplication and division using identical operational steps
RU2711051C1 (ru) Арифметико-логическое устройство для сложения, вычитания и умножения чисел по модулю
RU2628175C1 (ru) Арифметико-логическое устройство для вычитания чисел по модулю
US8417761B2 (en) Direct decimal number tripling in binary coded adders
Nakano et al. RSA encryption and decryption using the redundant number system on the FPGA
RU2661797C1 (ru) Вычислительное устройство
RU2797164C1 (ru) Конвейерный умножитель по модулю
RU2626654C1 (ru) Умножитель по модулю
RU2755734C1 (ru) Устройство для умножения чисел по произвольному модулю
Murali et al. An optimized implementation of vedic multiplier using barrel shifter in FPGA technology
RU2485574C1 (ru) Способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов
RU2595906C1 (ru) Устройство для вычисления функций
RU2804380C1 (ru) Конвейерный вычислитель
RU2799035C1 (ru) Конвейерный сумматор по модулю
US3500383A (en) Binary to binary coded decimal conversion apparatus