IEEE Circuits and Systems Magazine - Q1 2021 - 15
Once a is known, the basis extension is finally computed with (17).
x 2, i =
n1
/ M 1, i G
i=1
M -1,1i
m 1, i
x i H m 1,i - aM 1
(17)
m 2, i
Performing efficient RNS arithmetic requires the selection of the most suitable moduli set for the problem
at hand. The size of the set and the width of the moduli
are mainly defined by the dynamic range and the desired parallelism. Features usually considered to select
the moduli are i) the efficiency of the modular arithmetic for each channel (the term " channel " is usually adopted to designate a residue and the modular arithmetic
units associated with it), which typically leads to values
near a power of two; ii) the balancing of the moduli set,
since the slowest channel defines the overall performance; and iii) the cost of the reverse converters, with
some moduli sets allowing efficient arithmetic channels
at the cost of more complex reverse converters and
others tailored to the result in simple reverse conversion circuits due to the mathematical relations between
the moduli [45]. Altogether, the most used moduli sets
are composed of modulus 2 v ! k, with v ! " n, 2n , and
k ! " -1, 0, +1 , [35].
Alternative binary codings can be explored for modular arithmetic in each RNS channel. Thermometer Coding (TC) and One-Hot Coding (OHC) are among some of
the most used ones [46]. The value of a number in TC
is expressed by the number of 1's in the string of bits
[47], which means that it is a nonpositional redundant
number representation. Typically, for simplicity, a runlength of 1's is placed at one end of the string. For the
OHC, the only valid combinations in a string of bits are
those with only a single bit '1' and all the others '0'. For
the OHC, the bit '1' position directly indicates the value
of the number. k and k + 1 bits are required to represent
integers between 0 and k in TC and OHC, respectively.
For example, for k = 7, the number 4 can be represented
in TC by the stream " 0001111, " while in the OHC, it can
be represented by the combination " 00010000. " The TC
is often used in Digitalto-Analog Converters (DACs), as
it leads to less glitching than binary-weighted codings.
The OHC is used in Finite State Machines (FSMs), as it
avoids the use of decoders: a single '1' bit directly identifies the state. The TC and OHC codings are most advantageous for RNS moduli that result in small and medium
dynamic ranges [46]-[48].
Several RNS-based processors have been developed,
for example, a fully programmable RISC Digital Signal
Processor (RDSP) [167] and hardware/software RNSbased units [49]. The RDSP is a 5-stage pipeline processor with the RNS-based AU partially located in the third
FIRST QUARTER 2021
and fourth pipeline stages, as depicted in Fig. 6. The
most popular 3-moduli set " 2 n - 1, 2 n, 2 n + 1 , is balanced
by extending the binary channel to 2 2n; the reverse converter is distributed by the two aforementioned pipeline stages, while, for the multiply-accumulate (MAC)
unit, the multiplier is located in the third stage, and the
accumulator operates in parallel to the load/store units
in the fourth pipeline stage. The experimental results
obtained for the RDSP in the CMOS 250 nm technology
show that not only are the circuit area and the power
consumption significantly lower but also a speedup is
obtained in comparison to a similar DSP using a data
path based on binary arithmetic.
An AU based on a moduli set that comprises a larger modulus 2 k and all the other moduli of type 2 n - 1
assumes that the selected moduli fit the typical word
size of a Central Processing Unit (CPU), for example,
64 bits [49]. Adopting a hardware-software approach,
RNS adders, subtractors and multipliers are implemented in the hardware, while the reverse conversion and
nonlinear operations are implemented in the software.
A minimum set of instructions includes not only forward
conversion (residue), modular addition (add_m) and
modular multiplication (mult_m) but also instructions
that operate on positional number representations,
such as add, sub, AND and SHR (logical shift right). It
supports changing the dynamic range at runtime in a
simple manner, which in turn can result in a reduction in
both power consumption and execution time.
Although the RNS was proposed mainly for fixedpoint arithmetic, it has also been used for floating-point
units [50], [51]. To operate on FP numbers, the mantissa
and the exponent are individually converted and processed in the RNS domain. For example, to multiply two
FP numbers, both mantissas are multiplied and exponents are added in the RNS domain.
A variant of RNS, the Redundant Residue Number
System (RRNS) addresses different purposes [52] but
is mainly used for error detection and correction. Since
the residues are independent of each other, introducing
redundant moduli in the set of original (information)
moduli, usually called the legitimate, the representation can be extended to the illegitimate range to detect
residue errors and, in some cases, correct them. If a result falls into the illegitimate range, it can be concluded
that i) one or more residue digit errors exist as long
as the number of residue digit errors is not more than
twice the number of redundant moduli and ii) errors
can be corrected by subtracting the error digits from
the residue digits, assuming that the number of residue
errors does not exceed the number of redundant moduli [35]. For example, applying the RRNS 3-moduli set
" 2 n - 1, 2 n + 1, 2 n + 1 , and considering the legitimate
IEEE CIRCUITS AND SYSTEMS MAGAZINE
15
IEEE Circuits and Systems Magazine - Q1 2021
Table of Contents for the Digital Edition of IEEE Circuits and Systems Magazine - Q1 2021
Contents
IEEE Circuits and Systems Magazine - Q1 2021 - Cover1
IEEE Circuits and Systems Magazine - Q1 2021 - Cover2
IEEE Circuits and Systems Magazine - Q1 2021 - Contents
IEEE Circuits and Systems Magazine - Q1 2021 - 2
IEEE Circuits and Systems Magazine - Q1 2021 - 3
IEEE Circuits and Systems Magazine - Q1 2021 - 4
IEEE Circuits and Systems Magazine - Q1 2021 - 5
IEEE Circuits and Systems Magazine - Q1 2021 - 6
IEEE Circuits and Systems Magazine - Q1 2021 - 7
IEEE Circuits and Systems Magazine - Q1 2021 - 8
IEEE Circuits and Systems Magazine - Q1 2021 - 9
IEEE Circuits and Systems Magazine - Q1 2021 - 10
IEEE Circuits and Systems Magazine - Q1 2021 - 11
IEEE Circuits and Systems Magazine - Q1 2021 - 12
IEEE Circuits and Systems Magazine - Q1 2021 - 13
IEEE Circuits and Systems Magazine - Q1 2021 - 14
IEEE Circuits and Systems Magazine - Q1 2021 - 15
IEEE Circuits and Systems Magazine - Q1 2021 - 16
IEEE Circuits and Systems Magazine - Q1 2021 - 17
IEEE Circuits and Systems Magazine - Q1 2021 - 18
IEEE Circuits and Systems Magazine - Q1 2021 - 19
IEEE Circuits and Systems Magazine - Q1 2021 - 20
IEEE Circuits and Systems Magazine - Q1 2021 - 21
IEEE Circuits and Systems Magazine - Q1 2021 - 22
IEEE Circuits and Systems Magazine - Q1 2021 - 23
IEEE Circuits and Systems Magazine - Q1 2021 - 24
IEEE Circuits and Systems Magazine - Q1 2021 - 25
IEEE Circuits and Systems Magazine - Q1 2021 - 26
IEEE Circuits and Systems Magazine - Q1 2021 - 27
IEEE Circuits and Systems Magazine - Q1 2021 - 28
IEEE Circuits and Systems Magazine - Q1 2021 - 29
IEEE Circuits and Systems Magazine - Q1 2021 - 30
IEEE Circuits and Systems Magazine - Q1 2021 - 31
IEEE Circuits and Systems Magazine - Q1 2021 - 32
IEEE Circuits and Systems Magazine - Q1 2021 - 33
IEEE Circuits and Systems Magazine - Q1 2021 - 34
IEEE Circuits and Systems Magazine - Q1 2021 - 35
IEEE Circuits and Systems Magazine - Q1 2021 - 36
IEEE Circuits and Systems Magazine - Q1 2021 - 37
IEEE Circuits and Systems Magazine - Q1 2021 - 38
IEEE Circuits and Systems Magazine - Q1 2021 - 39
IEEE Circuits and Systems Magazine - Q1 2021 - 40
IEEE Circuits and Systems Magazine - Q1 2021 - 41
IEEE Circuits and Systems Magazine - Q1 2021 - 42
IEEE Circuits and Systems Magazine - Q1 2021 - 43
IEEE Circuits and Systems Magazine - Q1 2021 - 44
IEEE Circuits and Systems Magazine - Q1 2021 - 45
IEEE Circuits and Systems Magazine - Q1 2021 - 46
IEEE Circuits and Systems Magazine - Q1 2021 - 47
IEEE Circuits and Systems Magazine - Q1 2021 - 48
IEEE Circuits and Systems Magazine - Q1 2021 - 49
IEEE Circuits and Systems Magazine - Q1 2021 - 50
IEEE Circuits and Systems Magazine - Q1 2021 - 51
IEEE Circuits and Systems Magazine - Q1 2021 - 52
IEEE Circuits and Systems Magazine - Q1 2021 - 53
IEEE Circuits and Systems Magazine - Q1 2021 - 54
IEEE Circuits and Systems Magazine - Q1 2021 - 55
IEEE Circuits and Systems Magazine - Q1 2021 - 56
IEEE Circuits and Systems Magazine - Q1 2021 - 57
IEEE Circuits and Systems Magazine - Q1 2021 - 58
IEEE Circuits and Systems Magazine - Q1 2021 - 59
IEEE Circuits and Systems Magazine - Q1 2021 - 60
IEEE Circuits and Systems Magazine - Q1 2021 - 61
IEEE Circuits and Systems Magazine - Q1 2021 - 62
IEEE Circuits and Systems Magazine - Q1 2021 - 63
IEEE Circuits and Systems Magazine - Q1 2021 - 64
IEEE Circuits and Systems Magazine - Q1 2021 - 65
IEEE Circuits and Systems Magazine - Q1 2021 - 66
IEEE Circuits and Systems Magazine - Q1 2021 - 67
IEEE Circuits and Systems Magazine - Q1 2021 - 68
IEEE Circuits and Systems Magazine - Q1 2021 - 69
IEEE Circuits and Systems Magazine - Q1 2021 - 70
IEEE Circuits and Systems Magazine - Q1 2021 - 71
IEEE Circuits and Systems Magazine - Q1 2021 - 72
IEEE Circuits and Systems Magazine - Q1 2021 - 73
IEEE Circuits and Systems Magazine - Q1 2021 - 74
IEEE Circuits and Systems Magazine - Q1 2021 - 75
IEEE Circuits and Systems Magazine - Q1 2021 - 76
IEEE Circuits and Systems Magazine - Q1 2021 - 77
IEEE Circuits and Systems Magazine - Q1 2021 - 78
IEEE Circuits and Systems Magazine - Q1 2021 - 79
IEEE Circuits and Systems Magazine - Q1 2021 - 80
IEEE Circuits and Systems Magazine - Q1 2021 - 81
IEEE Circuits and Systems Magazine - Q1 2021 - 82
IEEE Circuits and Systems Magazine - Q1 2021 - 83
IEEE Circuits and Systems Magazine - Q1 2021 - 84
IEEE Circuits and Systems Magazine - Q1 2021 - 85
IEEE Circuits and Systems Magazine - Q1 2021 - 86
IEEE Circuits and Systems Magazine - Q1 2021 - 87
IEEE Circuits and Systems Magazine - Q1 2021 - 88
IEEE Circuits and Systems Magazine - Q1 2021 - Cover3
IEEE Circuits and Systems Magazine - Q1 2021 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2023Q3
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2023Q2
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2023Q1
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2022Q4
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2022Q3
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2022Q2
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2022Q1
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2021Q4
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2021q3
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2021q2
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2021q1
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2020q4
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2020q3
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2020q2
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2020q1
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2019q4
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2019q3
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2019q2
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2019q1
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2018q4
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2018q3
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2018q2
https://www.nxtbook.com/nxtbooks/ieee/circuitsandsystems_2018q1
https://www.nxtbookmedia.com