устройство для умножения чисел по модулю
Классы МПК: | G06F7/49 для вычислений, выполняемых над числами с основанием, отличным от 2, 8, 16 или 10, например с троичным отрицательным или мнимым основаниями, комплексными основаниями G06F7/72 с помощью арифметического остатка |
Автор(ы): | Ирхин В.П., Глазков Е.Б., Лукьянов И.М., Гульбин С.С. |
Патентообладатель(и): | Воронежский государственный университет |
Приоритеты: |
подача заявки:
1998-05-26 публикация патента:
10.09.1999 |
Изобретение относится к области автоматики и вычислительной техники и может быть использовано в вычислительных машинах и устройствах, функционирующих в системе остаточных классов. Технический результат выражается в уменьшении количества оборудования для выполнения модульных операций. Технический результат достигается введением табличного вычислителя первого и второго преобразователей двоичного кода числа в унитарный код по первому внутреннему модулю устройства, первого и второго преобразователей двоичного кода числа в унитарный код по второму внутреннему модулю устройства, с третьего по девятый блоков элементов И и второго регистра. Сущность изобретения состоит в совмещении операций по двум внутренним модулям устройства на одном табличном вычислителе за несколько тактов работы, ввиду чего происходит уменьшение числа логических элементов, необходимых для реализации устройства. 1 ил., 5 табл.
Рисунок 1, Рисунок 2, Рисунок 3
Формула изобретения
Устройство для умножения чисел по модулю, содержащее первый и второй блоки элементов И, первый регистр и шифратор, отличающееся тем, что в него введены табличный вычислитель, первый и второй преобразователи двоичного кода числа в унитарный код по первому внутреннему модулю устройства, первый и второй преобразователи двоичного кода числа в унитарный код по второму внутреннему модулю устройства, с третьего по девятый блоки элементов И, второй регистр, причем первый информационный вход устройства соединен с входами первых преобразователей двоичного кода числа в унитарный код соответственно по первому и второму внутренним модулям устройства, выходы которых соединены с первыми входами соответственно первого и второго блоков элементов И, выходы которых соединены с соответствующими информационными входами табличного вычислителя, выходы которого соединены с соответствующими входами пятого, шестого и седьмого блоков элементов И, второй информационный вход устройства соединен с входами вторых преобразователей .двоичного кода числа в унитарный код соответственно по первому и второму внутренним модулям устройства, выходы которых соединены с первыми входами соответственно третьего и четвертого блоков элементов И, выходы которых соединены с соответствующими управляющими входами табличного вычислителя, выходы пятого и шестого блоков элементов И соединены со входами соответственно первого и второго регистров, выходы которых соединены с первыми входами соответственно восьмого и девятого блоков элементов И, выходы которых соединены с соответствующими информационными и управляющими входами соответственно табличного вычислителя, первый тактовый вход устройства соединен со вторыми входами первого, третьего и пятого блоков элементов И, второй тактовый вход устройства соединен со вторыми входами второго, четвертого и шестого блоков элементов И, третий тактовый вход устройства соединен со вторыми входами восьмого, седьмого и девятого блоков элементов И, выход седьмого блока элементов И соединен с входом шифратора, выход которого является выходом устройства.Описание изобретения к патенту
Изобретение относится к области автоматики и вычислительной техники и может быть использовано в вычислительных машинах и устройствах, функционирующих в системе остаточных классов. Известно устройство (аналог) (авт. св. СССР N 1615714, МКИ G 06 F 7/72, Б. И. N 47, 1990 г.), содержащее два дешифратора, три труппы элементов ИЛИ, два блока элементов И, коммутатор, шифратор, блок инвертирования, вычитатель по модулю, две группы элементов И, сумматор по модулю два. Недостаток устройства - большое количество оборудования. Известно также устройство (аналог) (авт. св. СССР N 1775721, МКИ G 06 F 7/49, 7/72, Б.И. N 42, 1992 г.), содержащее два дешифратора, группы элементов ИЛИ, элементы ИЛИ и И, элементы НЕ, блоки элементов И, элемент запрета, коммутатор, сумматор по модулю два, шифраторы. Недостаток устройства - большое количество оборудования. Наиболее близким по технической сущности (прототипом к предполагаемому изобретению) является устройство (авт. св. СССР N1667055, МКИ G 06 F 7/49, 7/52, Б.И. N 28, 1991 г.), содержащее дешифратор, две группы элементов ИЛИ, два элемента ИЛИ, пять элементов И, две группы элементов И, шифратор, регистр и коммутатор. Общее количество логических элементов И коммутатора составляет m2/8, где m - модуль устройства, что обуславливает основной недостаток устройства. Недостаток прототипа - большое количество используемого оборудования, ввиду того, что количество логических элементов коммутатора пропорционально квадрату модуля. Задача, на решение которой направлено заявляемое устройство, состоит в повышении надежности перспективных образцов вычислительной техники. Технический результат выражается в уменьшении количества оборудования для выполнения модульной операции умножения. Технический результат достигается тем, что в устройство, содержащее первый и второй блоки элементов И, первый регистр и шифратор, отличающееся тем, что в него введены табличный вычислитель, первый и второй преобразователи двоичного кода числа в унитарный код по первому внутреннему модулю устройства, первый и второй преобразователи двоичного кода числа в унитарный код по второму внутреннему модулю устройства, с третьего по девятый блоки элементов И, второй регистр, причем первый информационный вход устройства соединен с входами первых преобразователей двоичного кода числа в унитарный код соответственно по первому и второму внутренним модулям устройства, выходы которых соединены с первыми входами соответственно первого и второго блоков элементов И, выходы которых соединены с соответствующими информационными входами табличного вычислителя, выходы которого соединены с соответствующими входами пятого, шестого и седьмого блоков элементов И, второй информационный вход устройства соединен с входами вторых преобразователей двоичного кода числа в унитарный код соответственно по первому и второму внутренним модулям устройства, выходы которых соединены с первыми входами соответственно третьего и четвертого блоков элементов И, выходы которых соединены с соответствующими управляющими входами табличного вычислителя, выходы пятого и шестого блоков элементов И соединены со входами соответственно первого и второго регистров, выходы которых соединены с первыми входами соответственно восьмого и девятого блоков элементов И, выходы которых соединены с соответствующими информационными и управляющими входами соответственно табличного вычислителя, первый тактовый вход устройства соединен со вторыми входами первого, третьего и пятого блоков элементов И, второй тактовый вход устройства соединен со вторыми входами второго, четвертого и шестого блоков элементов И, третий тактовый вход устройства соединен со вторыми входами восьмого, седьмого и девятого блоков элементов И, выход седьмого блока элементов И соединен с входом шифратора, выход которого является выходом устройства. Сущность изобретения состоит в совмещении операций по двум внутренним модулям устройства на одном табличном вычислителе за несколько тактов работы, ввиду чего происходит уменьшение числа логических элементов, необходимых для реализации устройства. Обозначим через m - модуль устройства, m1 - первый внутренний модуль устройства, m2 - второй внутренний модуль устройства (m1 > m2, m1![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/8773.gif)
A
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/945.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/946.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/945.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/946.gif)
где
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/945.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/946.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/945.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/946.gif)
Исходя из минимизации количества используемого оборудования, целесообразно выбирать m1
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137035/8776.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137181/2137181-2t.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137181/2137181-3t.gif)
т.е. пропорционально модулю устройства. Преобразователи 2, 11 двоичного кода числа реализуют табл. 4. Преобразователи 3, 12 двоичного кода числа реализуют табл.5. Блоки, реализующие табл. 4 и 5 могут быть выполнены, например, на программируемых логических матрицах. Первый 15 регистр содержит четыре разряда (с нулевого по третий), второй 16 регистр содержит три разряда (с нулевого по второй). Следует отметить, что предварительный анализ операндов А и В на равенство нулю позволит упростить схемотехническое решение предлагаемого устройства за счет уменьшения количества оборудования при построении его отдельных узлов. Возможность достижения положительного эффекта от использования данного изобретения состоит в уменьшении количества оборудования, применяемого при построении табличных вычислителей устройств модулярной арифметики. Отметим, что с ростом модуля устройства эффективность предлагаемого устройства существенно возрастает. На чертеже представлена структурная схема, где: 1 - первый информационный вход устройства, 2 - первый преобразователь двоичного кода числа в унитарный код по первому внутреннему модулю устройства, 3 -первый преобразователь двоичного кода числа в унитарный код числа по второму внутреннему модулю устройства, 4 - первый блок элементов И, 5 - второй блок элементов И, 6 - табличный вычислитель, 7 - пятый блок элементов И, 8 - шестой блок элементов И, 9 - седьмой блок элементов И, 10 - второй информационный вход устройства, 11 - второй преобразователь двоичного кода числа в унитарный код по первому внутреннему модулю устройства, 12 - второй преобразователь двоичного кода числа в унитарный код по второму внутреннему модулю устройства, 13 - третий блок элементов И, 14 - четвертый блок элементов И, 15 - первый регистр, 16 - второй регистр, 17 - восьмой блок элементов И, 18 - девятый блок элементов И, 19 - первый тактовый вход устройства, 20 - второй тактовый вход устройства, 21 - третий тактовый вход устройства, 22 - шифратор, 23 - выход устройства. Первый 1 информационный вход устройства соединен с входами первых преобразователей 2, 3 двоичного кода числа в унитарный код соответственно по первому и второму внутренним модулям устройства, выходы которых соединены с первыми входами соответственно первого 4 и второго 5 блоков элементов И, выходы разрядов которых соединены с соответствующими информационными входами табличного 6 вычислителя, выходы которого соединены с соответствующими первыми входами разрядов пятого 7, шестого 8 и седьмого 9 блоков элементов И, второй 10 информационный вход устройства соединен с входами вторых 11, 12 преобразователей двоичного кода числа в унитарный код соответственно по первому и второму внутренним модулям устройства, выходы которых соединены с первыми входами соответственно третьего 13 и четвертого 14 блоков элементов И, выходы разрядов которых соединены с соответствующими управляющими входами табличного 6 вычислителя, выходы пятого 7 и шестого 8 блока элементов И соединены со входами соответственно первого 15 и второго 16 регисторов, выходы которых соединены с первыми входами соответственно восьмого 17 и девятого 18 блоков элементов И, выходы разрядов которых соединены соответственно с соответствующими информационными и управляющими входами табличного 6 вычислителя, первый 19 тактовый вход устройства соединен со вторыми входами первого 4, третьего 13 и пятого 7 блоков элементов И, второй 20 тактовый вход устройства соединен со вторыми входами второго 5, четвертого 14 и шестого 8 блоков элементов И, третий 21 тактовый вход устройства соединен со вторыми входами восьмого 17, седьмого 9 и девятого 18 блоков элементов И, выход седьмого 9 блока элементов И соединен с входом шифратора 22, выход которого является выходом 23 устройства. Работа устройства происходит на три такта. При первом такте работы поступает сигнал на первый 19 тактовый вход устройства. Одновременно этот сигнал поступает на вторые входы первого 4, третьего 13 и пятого 7 блоков элементов И. Операнд А в двоичном коде поступает с первого 1 информационного входа устройства на вход первого преобразователя 2 двоичного кода числа в унитарный код по первому внутреннему модулю устройства, с выхода которого A mod m1 в унитарном коде поступает на первый вход
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/945.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/946.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/945.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/946.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/945.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137026/946.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
![устройство для умножения чисел по модулю, патент № 2137181](/images/patents/334/2137023/183.gif)
Класс G06F7/49 для вычислений, выполняемых над числами с основанием, отличным от 2, 8, 16 или 10, например с троичным отрицательным или мнимым основаниями, комплексными основаниями
Класс G06F7/72 с помощью арифметического остатка