RU2767450C1 - Способ определения знака числа в системе остаточных классов - Google Patents

Способ определения знака числа в системе остаточных классов Download PDF

Info

Publication number
RU2767450C1
RU2767450C1 RU2021108953A RU2021108953A RU2767450C1 RU 2767450 C1 RU2767450 C1 RU 2767450C1 RU 2021108953 A RU2021108953 A RU 2021108953A RU 2021108953 A RU2021108953 A RU 2021108953A RU 2767450 C1 RU2767450 C1 RU 2767450C1
Authority
RU
Russia
Prior art keywords
stage
modules
value
sign
residual classes
Prior art date
Application number
RU2021108953A
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 RU2021108953A priority Critical patent/RU2767450C1/ru
Application granted granted Critical
Publication of RU2767450C1 publication Critical patent/RU2767450C1/ru

Links

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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в расширении функциональности путем независимости от порядка модулей. Способ определения знака числа в системе остаточных классов, пригодный для реализации средствами вычислительной техники, включает для системы остаточных классов с модулями
Figure 00000159
,
Figure 00000160
, …,
Figure 00000161
и треугольной матрицы с элементами
Figure 00000162
, где
Figure 00000163
,
Figure 00000164
, на основе входного значения числа
Figure 00000165
), где
Figure 00000166
– остаток от деления числа
Figure 00000167
на модуль
Figure 00000168
, вычисление промежуточных значений
Figure 00000169
вычислительной ступенью, причем
Figure 00000170
я ступень вычисляет выражение
Figure 00000171
для
Figure 00000164
, берут нечетные модули, на основе входного значения
Figure 00000172
) вычисляют вспомогательное значение
Figure 00000173
где
Figure 00000174
и
Figure 00000175
, каждая
Figure 00000170
я ступень дополнительно вычисляет выражение
Figure 00000176
для
Figure 00000164
, после вычисления значений
Figure 00000169
-й вычислительной ступенью значения
Figure 00000177
и
Figure 00000178
сравнивают соответственно с
Figure 00000179
/2 и
Figure 00000180
/2 и если
Figure 00000177
>
Figure 00000179
/2 или одновременно
Figure 00000177
=
Figure 00000179
/2 и
Figure 00000181
/2, то считают, что исходное число

Description

Изобретение относится к вычислительной технике и предназначено для определения знака числа, представленного в системе остаточных классов.
Известно устройство для определения знаков чисел в системе остаточных классов (патент РФ 2557446, опубл. 20.07.2015), содержащее группу входных регистров для хранения числа, представленного в коде симметричной системы остаточных классов, энергонезависимые регистры для хранения интервально-позиционной характеристики константы - наибольшего положительного числа в симметричной системе остаточных классов, блок вычисления интервально-позиционной характеристики, блок проверки правильности интервально-позиционной характеристики, блок сравнения интервально-позиционных характеристик, двухвходовой двоичный дешифратор.
Недостатком данного устройства является использование ресурсоемких операций деления с числами с плавающей точкой, что снижает скорость работы и требует округлений.
Известно устройство для определения знака модулярного числа (патент РФ 2503995, опубл. 10.01.2014), содержащее входные регистры для хранения разрядов исходного числа, блоки умножения, выполненные в виде памяти для хранения произведений
Figure 00000001
и параллельный сумматор.
Недостатком данного устройства является низкая точность, связанная с представлением чисел в формате с плавающей точкой, а именно с ошибками округления.
Наиболее близким к заявляемому изобретению является способ, на котором основано устройство определения знака числа, представленного в системе остаточных классов с модулями
Figure 00000002
, (заявка на изобретение РФ №2020134778, дата подачи 22.10.2020), содержащее
Figure 00000003
входов остатка, где
Figure 00000003
– количество модулей
Figure 00000004
системы остаточных классов,
Figure 00000003
регистров для хранения разрядов исходного числа,
Figure 00000005
вычислительную ступень, при этом
Figure 00000006
-я вычислительная ступень, где
Figure 00000007
, содержит
Figure 00000008
сумматоров по модулю
Figure 00000009
и
Figure 00000008
блоков умножения на веса
Figure 00000010
по модулю
Figure 00000009
, где
Figure 00000011
и
Figure 00000010
– мультипликативная инверсия модуля
Figure 00000004
по модулю
Figure 00000009
. Старший бит выхода первого блока умножения на веса
Figure 00000012
по модулю
Figure 00000013
является выходом знака устройства.
Работа данного устройства основана на следующем математическом аппарате.
В системе остаточных классов (СОК) любое число
Figure 00000014
однозначно представляется набором остатков
Figure 00000015
от деления числа
Figure 00000016
на взаимно простые модули СОК
Figure 00000004
, где
Figure 00000017
,
Figure 00000018
- рабочий диапазон СОК,
Figure 00000019
. Возьмем систему остаточных классов с модулями
Figure 00000002
. Знак в системе остаточных классов чаще всего вводится разбиением диапазона на две части, тогда с учетом динамического диапазона
Figure 00000020
в СОК можно представить числа
Figure 00000021
, если
Figure 00000020
четное.
Функция определения знака числа, представленного в СОК, определяется следующим образом:
Figure 00000022
Таким образом
Figure 00000023
можно представить в виде:
Figure 00000024
(1)
Используя свойство
Figure 00000025
и формулу (1) определение знака сводится двухэтапному алгоритму: первый этап - деление на
Figure 00000026
, второй этап - деление на
Figure 00000027
, формально математически определяется следующей формулой
Figure 00000028
Запишем процесс определения в виде алгоритма:
Алгоритм 1. Определение знака числа
Вход:
Figure 00000029
– модули СОК
Figure 00000030
– представление числа
Figure 00000016
в СОК
Figure 00000031
- синоптические веса
Выход:
Figure 00000032
– положительное число,
Figure 00000033
– отрицательное число
1. Для
Figure 00000006
от
Figure 00000033
до
Figure 00000005
выполнять:
1.1. Для
Figure 00000034
от
Figure 00000035
до
Figure 00000003
выполнять: \\ деление на
Figure 00000004
1.1.1.
Figure 00000036
2. Возвратить
Figure 00000037
На первом этапе вычисляется
Figure 00000038
с помощью
Figure 00000005
деления на модули СОК
Figure 00000039
соответственно. На втором этапе вычисляется
Figure 00000040
.
Недостатком данного способа являются органичные функциональные возможности, связанные с ограничениями, накладываемыми на модули СОК, а именно упорядоченность модулей по возрастанию и представление наибольшего модуля в виде степени 2.
Техническим результатом заявляемого изобретения является расширение функциональности, а именно независимость от порядка модулей.
Данный технический результат достигается тем, что в способе определения знака числа в системе остаточных классов, пригодном для реализации средствами вычислительной техники, включающем для системы остаточных классов с модулями
Figure 00000041
,
Figure 00000042
, …,
Figure 00000013
и треугольной матрицы с элементами
Figure 00000031
где
Figure 00000007
,
Figure 00000011
на основе входного значения числа
Figure 00000043
), где
Figure 00000044
– остаток от деления числа
Figure 00000016
на модуль
Figure 00000004
, вычисление промежуточных значений
Figure 00000045
вычислительной ступенью, причем
Figure 00000046
я ступень вычисляет выражение
Figure 00000036
для
Figure 00000011
, берут нечетные модули, на основе входного значения
Figure 00000047
) вычисляют вспомогательное значение
Figure 00000048
где
Figure 00000049
и
Figure 00000050
, каждая
Figure 00000046
я ступень дополнительно вычисляет выражение
Figure 00000051
для
Figure 00000011
, после вычисления значений
Figure 00000045
-ой вычислительной ступенью значения
Figure 00000052
и
Figure 00000053
сравнивают соответственно с
Figure 00000054
/2 и
Figure 00000055
/2 и если
Figure 00000052
>
Figure 00000054
/2 или одновременно
Figure 00000052
=
Figure 00000054
/2 и
Figure 00000056
/2, то считают, что исходное число
Figure 00000016
отрицательное, иначе положительное.
Сущность способа основана на следующем математическом аппарате. Берется СОК с нечетными модулями
Figure 00000057
, тогда функция знака имеет вид
Figure 00000058
Чтобы определить знак, рассмотрим две функции,
Figure 00000059
и
Figure 00000060
, где
Figure 00000061
, тогда функцию знака числа
Figure 00000023
можно получить из выражения
Figure 00000062
Рассмотрим пример. Возьмем систему остаточных классов с модулями
Figure 00000063
,
Figure 00000064
,
Figure 00000065
Figure 00000066
. В данной системе динамический диапазон
Figure 00000067
и число
Figure 00000016
будет положительным, если
Figure 00000068
, т.е.
Figure 00000069
, а отрицательным для
Figure 00000070
, т.е.
Figure 00000071
.
Рассмотрим значения на границе перехода от отрицательных к положительным числам.
Figure 00000072
Для числа
Figure 00000073
,
Figure 00000074
,тогда
Figure 00000075
Figure 00000076
Поскольку
Figure 00000077
, а
Figure 00000078
, то
Figure 00000079
и число положительное.
Для числа
Figure 00000080
,
Figure 00000081
,тогда
Figure 00000082
Figure 00000083
Поскольку
Figure 00000084
, а
Figure 00000085
, то
Figure 00000086
и число отрицательное.
Запишем функцию определения знака
Figure 00000087
в виде алгоритма для работы с числами, представленными в системе остаточных классов. Данный алгоритм основан на последовательном приближении значения
Figure 00000088
на основе свойства
Figure 00000025
.
Алгоритм 2. Определение знака числа
Вход:
Figure 00000089
– модули СОК,
Figure 00000004
- нечетные числа
Figure 00000030
– представление числа
Figure 00000016
в СОК
Figure 00000031
- синоптические веса
Figure 00000090
где
Figure 00000050
Выход:
Figure 00000032
– положительное число,
Figure 00000033
– отрицательное число
1. Для
Figure 00000006
от
Figure 00000033
до
Figure 00000003
выполнять: \\ выполняется параллельно
1.1.
Figure 00000091
2. Для
Figure 00000006
от
Figure 00000033
до
Figure 00000005
выполнять:
2.1. Для
Figure 00000034
от
Figure 00000035
до
Figure 00000003
выполнять:
2.1.1.
Figure 00000036
2.1.2.
Figure 00000051
3. Если ((
Figure 00000092
) ИЛИ ((
Figure 00000093
) И (
Figure 00000094
)) то
3.1. Возвратить 1
4. Иначе
4.1 Возвратить 0
Рассмотрим пример данного способа. Для СОК с нечетными модулями
Figure 00000095
, диапазон СОК
Figure 00000096
и
Figure 00000097
.
Синоптические веса
Figure 00000010
равны:
Figure 00000098
,
Figure 00000099
,
Figure 00000100
Figure 00000101
,
Figure 00000102
Figure 00000103
.
Определить знак числа
Figure 00000104
, найдем вспомогательное значение
Figure 00000105
Для удобства запишем вычисления (n-1) вычислительной ступени в виде таблицы, где
Figure 00000106
означает, что берется значение
Figure 00000107
, вычисленное на
Figure 00000006
вычислительной ступени.
Вычислительная ступень Операция
Figure 00000108
17 19 23 31
Figure 00000109
8 9 11 15
Figure 00000110
16 18 22 9
1
Figure 00000111
Figure 00000112
0 1 3 7
Figure 00000113
- 9 11 15
Figure 00000114
Figure 00000115
0 2 6 24
Figure 00000113
- 18 22 16
2
Figure 00000116
Figure 00000117
- 0 2 6
Figure 00000118
- - 11 15
Figure 00000119
Figure 00000120
- 0 4 29
Figure 00000118
- - 22 26
3
Figure 00000121
Figure 00000122
- - 0 4
Figure 00000123
- - - 15
Figure 00000124
Figure 00000125
- - 0 4
Figure 00000123
- - - 15
После вычисления трех вычислительных ступеней сравним значения
Figure 00000126
и
Figure 00000127
с
Figure 00000128
и
Figure 00000129
. Поскольку
Figure 00000130
, а
Figure 00000131
, то число положительное.
Определить знак числа
Figure 00000132
, найдем вспомогательное значение
Figure 00000133
Для удобства запишем вычисления (n-1) вычислительной ступени в виде таблицы, где
Figure 00000106
означает, что берется значение
Figure 00000107
, вычисленное на
Figure 00000006
вычислительной ступени.
Вычислительная ступень Операция
Figure 00000108
17 19 23 31
Figure 00000109
9 10 12 16
Figure 00000110
0 0 0 10
1
Figure 00000111
Figure 00000112
0 1 3 7
Figure 00000113
- 9 11 15
Figure 00000114
Figure 00000115
0 0 0 10
Figure 00000113
- 0 0 17
2
Figure 00000116
Figure 00000117
- 0 2 6
Figure 00000118
- - 11 15
Figure 00000119
Figure 00000120
- 0 0 17
Figure 00000118
- - 0 27
3
Figure 00000121
Figure 00000122
- - 0 4
Figure 00000123
- - - 15
Figure 00000124
Figure 00000125
- - 0 27
Figure 00000123
- - - 16
После вычисления трех вычислительных ступеней сравним значения
Figure 00000126
и
Figure 00000134
с
Figure 00000128
и
Figure 00000129
. Поскольку
Figure 00000130
, а
Figure 00000135
, то число отрицательное.
Реализация данного способа возможна на программируемых логических интегральных схем (ПЛИС) или с использованием ЭВМ.

Claims (1)

  1. Способ определения знака числа в системе остаточных классов, пригодный для реализации средствами вычислительной техники, включающий для системы остаточных классов с модулями
    Figure 00000136
    ,
    Figure 00000137
    , …,
    Figure 00000138
    и треугольной матрицы с элементами
    Figure 00000139
    , где
    Figure 00000140
    ,
    Figure 00000141
    , на основе входного значения числа
    Figure 00000142
    ), где
    Figure 00000143
    – остаток от деления числа
    Figure 00000144
    на модуль
    Figure 00000145
    , вычисление промежуточных значений
    Figure 00000146
    вычислительной ступенью, причем
    Figure 00000147
    я ступень вычисляет выражение
    Figure 00000148
    для
    Figure 00000141
    , отличающийся тем, что берут нечетные модули, на основе входного значения
    Figure 00000149
    ) вычисляют вспомогательное значение
    Figure 00000150
    где
    Figure 00000151
    и
    Figure 00000152
    , каждая
    Figure 00000147
    я ступень дополнительно вычисляет выражение
    Figure 00000153
    для
    Figure 00000141
    , после вычисления значений
    Figure 00000146
    -й вычислительной ступенью значения
    Figure 00000154
    и
    Figure 00000155
    сравнивают соответственно с
    Figure 00000156
    /2 и
    Figure 00000157
    /2 и если
    Figure 00000154
    >
    Figure 00000156
    /2 или одновременно
    Figure 00000154
    =
    Figure 00000156
    /2 и
    Figure 00000158
    /2, то считают, что исходное число
    Figure 00000144
    отрицательное, иначе положительное.
RU2021108953A 2021-04-01 2021-04-01 Способ определения знака числа в системе остаточных классов RU2767450C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2021108953A RU2767450C1 (ru) 2021-04-01 2021-04-01 Способ определения знака числа в системе остаточных классов

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2021108953A RU2767450C1 (ru) 2021-04-01 2021-04-01 Способ определения знака числа в системе остаточных классов

Publications (1)

Publication Number Publication Date
RU2767450C1 true RU2767450C1 (ru) 2022-03-17

Family

ID=80737195

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2021108953A RU2767450C1 (ru) 2021-04-01 2021-04-01 Способ определения знака числа в системе остаточных классов

Country Status (1)

Country Link
RU (1) RU2767450C1 (ru)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100030832A1 (en) * 2000-05-12 2010-02-04 The Athena Group, Inc. Method and Apparatus for Performing Computations Using Residue Arithmetic
US20110231465A1 (en) * 2010-03-09 2011-09-22 Phatak Dhananjay S Residue Number Systems Methods and Apparatuses
RU2503995C2 (ru) * 2011-09-26 2014-01-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Устройство для определения знака модулярного числа
RU2503992C2 (ru) * 2011-09-27 2014-01-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Устройство для сравнения чисел, представленных в системе остаточных классов
RU2557446C1 (ru) * 2014-07-22 2015-07-20 Федеральное государственное бюджетное образовательное учреждение высшего образования "Вятский государственный университет" Устройство для определения знаков чисел в системе остаточных классов

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100030832A1 (en) * 2000-05-12 2010-02-04 The Athena Group, Inc. Method and Apparatus for Performing Computations Using Residue Arithmetic
US20110231465A1 (en) * 2010-03-09 2011-09-22 Phatak Dhananjay S Residue Number Systems Methods and Apparatuses
RU2503995C2 (ru) * 2011-09-26 2014-01-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Устройство для определения знака модулярного числа
RU2503992C2 (ru) * 2011-09-27 2014-01-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Устройство для сравнения чисел, представленных в системе остаточных классов
RU2557446C1 (ru) * 2014-07-22 2015-07-20 Федеральное государственное бюджетное образовательное учреждение высшего образования "Вятский государственный университет" Устройство для определения знаков чисел в системе остаточных классов

Similar Documents

Publication Publication Date Title
US20210349692A1 (en) Multiplier and multiplication method
CN109284824B (zh) 一种基于可重构技术的用于加速卷积和池化运算的装置
US8805914B2 (en) Method and apparatus for performing numerical calculations
US20200201602A1 (en) Converting floating point numbers to reduce the precision
CN107766031B (zh) 分段式除法器、分段式除法运算方法、以及电子设备
CN101216753A (zh) 一种用于浮点除法和平方根运算的预处理电路结构
CN113377332A (zh) 一种基于线性分段的softmax硬件实现方法
US9519457B2 (en) Arithmetic processing apparatus and an arithmetic processing method
KR20080010285A (ko) 알씨피, 에스큐알티, 이엑스피 및 로그 함수의 단일데이터패스 부동 소수점 실행 및 이에 기반한 저지연알씨피
RU2767450C1 (ru) Способ определения знака числа в системе остаточных классов
Isupov et al. Fast power-of-two RNS scaling algorithm for large dynamic ranges
US8862647B2 (en) Semiconductor integrated circuit and exponent calculation method
US20180203669A1 (en) Digit recurrence division
Kuchukov et al. The application of modular arithmetic for matrix calculations
RU2318239C1 (ru) Нейронная сеть для деления чисел, представленных в системе остаточных классов
Teja Design of radix-8 booth multiplier using koggestone adder for high speed Arithmetic applications
RU2747371C1 (ru) Устройство определения знака числа, представленного в системе остаточных классов
RU2751992C1 (ru) Устройство сравнения чисел, представленных в системе остаточных классов
RU2559771C2 (ru) Устройство для основного деления модулярных чисел
US11281428B2 (en) Conversion circuitry
RU2559772C2 (ru) Устройство для основного деления модулярных чисел в формате системы остаточных классов
US20140052767A1 (en) Apparatus and architecture for general powering computation
RU2780400C1 (ru) Устройство для вычисления ранга модулярного числа
EP1452959B1 (en) Random number string output apparatus
Wang et al. All Nontrivial Solutions Of A Complex Dynamical System Are Periodic With Prime Period 9 Or 18