Residue Number Systems: A New Paradigm to Datapath Optimization for Low-Power and High-Performance Digital Signal Processing Applications

Residue Number System (RNS) is a non-weighted number system which was proposed by Garner back in 1959 to achieve fast implementation of addition, subtraction and multiplication operations in special-purpose computations. Unfortunately, RNS did not turn out as a popular alternative to two?s complement number system in those days. The rigidity of instruction set architectures of the market-dominant computers and microprocessors then has been the main barrier to sustain the development of RNS-based applications. In recent years, technological advancement in semiconductor technology has revived the interests to reconsider RNS for application-specific computing. There are at least two unique motivations which make RNS computations more attractive and applicable in modern digital signal processing applications. Firstly, the modular and distributive properties of RNS are used to achieve performance improvements especially in the emerging distributed and ubiquitous computing platforms such as cloud, wireless ad hoc networks, and applications which require tolerance against soft error. Secondly, energy efficiency becomes a key driver in the continual densification of complementary metal oxide semiconductor (CMOS) digital integrated circuits. The high degree of computational parallelism in RNS offers new degree of freedom to optimize energy performance, particularly for very long word length arithmetic such as those involved in the hardware implementation of cryptographic algorithms. Our aim in this paper is to show this revolution by discussing interesting development in RNS and foster the innovative use of RNS for more applications. Different applications of RNS are investigated to demonstrate how this unconventional number system can be leveraged to benefit their implementation.

[1]  Laurent Imbert,et al.  Leak Resistant Arithmetic , 2004, CHES.

[2]  Ronald M. Guffin A Computer for Solving Linear Simultaneous Equations Using the Residue Number System , 1962, IRE Trans. Electron. Comput..

[3]  Balasubramaniam Natarajan,et al.  Performance of Systematic RRNS Based Space-Time Block Codes with Probability-Aware Adaptive Demapping , 2013, IEEE Transactions on Wireless Communications.

[4]  Thanos Stouraitis,et al.  Efficient RNS Implementation of Elliptic Curve Point Multiplication Over ${\rm GF}(p)$ , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[5]  Svetlana Yanushkevich,et al.  Computer Arithmetics for Nanoelectronics , 2009 .

[6]  Thanos Stouraitis,et al.  An RNS Implementation of an $F_{p}$ Elliptic Curve Point Multiplier , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[7]  Laurent Imbert,et al.  Electromagnetic Analysis on RSA Algorithm Based on RNS , 2013, 2013 Euromicro Conference on Digital System Design.

[8]  Janne Heikkilä,et al.  Video filtering with Fermat number theoretic transforms using residue number system , 2006, IEEE Transactions on Circuits and Systems for Video Technology.

[9]  Luiz Carlos Pessoa Albini,et al.  Using the Redundant Residue Number System to increase Routing Dependability on Mobile Ad Hoc Networks , 2011 .

[10]  Leonel Sousa,et al.  RNS-Based Elliptic Curve Point Multiplication for Massive Parallel Architectures , 2012, Comput. J..

[11]  Gian Carlo Cardarilli,et al.  Power efficient design of parallel/serial FIR filters in RNS , 2012, 2012 Conference Record of the Forty Sixth Asilomar Conference on Signals, Systems and Computers (ASILOMAR).

[12]  Chip-Hong Chang,et al.  Area-Power Efficient Modulo 2n-1 and Modulo 2n+1 Multipliers for {2n-1, 2n, 2n+1} Based RNS , 2012, IEEE Trans. Circuits Syst. I Regul. Pap..

[13]  Yong-Bin Kim,et al.  CNTFET-Based Design of Ternary Logic Gates and Arithmetic Circuits , 2011, IEEE Transactions on Nanotechnology.

[14]  W. C. Miller,et al.  Hardware realization of digital signal processing elements using the residue number system. , 1977 .

[15]  Berk Sunar,et al.  Accelerating Fully Homomorphic Encryption in Hardware , 2015, IEEE Transactions on Computers.

[16]  Fred J. Taylor,et al.  Design and Implementation of High-Performance RNS Wavelet Processors Using Custom IC Technologies , 2003, J. VLSI Signal Process..

[17]  Stanislaw J. Piestrak Design of Residue Generators and Multioperand Modular Adders Using Carry-Save Adders , 1994, IEEE Trans. Computers.

[18]  Christian Gamrat Challenges and Perspectives of Computer Architecture at the Nano Scale , 2010, 2010 IEEE Computer Society Annual Symposium on VLSI.

[19]  Vassilis Paliouras,et al.  Variation-tolerant Design Using Residue Number System , 2009, 2009 12th Euromicro Conference on Digital System Design, Architectures, Methods and Tools.

[20]  Said Hamdioui,et al.  Redundant Residue Number System Code for Fault-Tolerant Hybrid Memories , 2011, JETC.

[21]  David H. K. Hoe,et al.  Design and characterization of parallel prefix adders using FPGAs , 2011, 2011 IEEE 43rd Southeastern Symposium on System Theory.

[22]  Chip-Hong Chang,et al.  A New Approach to the Design of Efficient Residue Generators for Arbitrary Moduli , 2013, IEEE Transactions on Circuits and Systems I: Regular Papers.

[23]  Salvatore Pontarelli,et al.  Optimized Implementation of RNS FIR Filters Based on FPGAs , 2012, J. Signal Process. Syst..

[24]  Ricardo Chaves,et al.  Method to Design General RNS Reverse Converters for Extended Moduli Sets , 2013, IEEE Transactions on Circuits and Systems II: Express Briefs.

[25]  Magnos Martinello,et al.  Keyflow: a prototype for evolving SDN toward core network fabrics , 2014, IEEE Network.

[26]  Salvatore Pontarelli,et al.  Totally Fault Tolerant RNS Based FIR Filters , 2008, 2008 14th IEEE International On-Line Testing Symposium.

[27]  François-Xavier Standaert,et al.  Introduction to Side-Channel Attacks , 2010, Secure Integrated Circuits and Systems.

[28]  Tadeusz Tomczak,et al.  Fast Sign Detection for RNS $(2^{n}-1,2^{n},2^{n}+1)$ , 2008, IEEE Transactions on Circuits and Systems I: Regular Papers.

[29]  Gian Carlo Cardarilli,et al.  Multiple Constant Multiplication through Residue Number System , 2009, 2009 Conference Record of the Forty-Third Asilomar Conference on Signals, Systems and Computers.

[30]  Ricardo Chaves,et al.  On the Design of RNS Reverse Converters for the Four-Moduli Set ${\bf\{2^{\mmb n}+1, 2^{\mmb n}-1, 2^{\mmb n}, 2^{{\mmb n}+1}+1\}}$ , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[31]  Chip-Hong Chang,et al.  Radix-8 Booth Encoded Modulo $2 ^{n} -1$ Multipliers With Adaptive Delay for High Dynamic Range Residue Number System , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[32]  Reinhard Posch,et al.  Residue number systems: a key to parallelism in public key cryptography , 1992, [1992] Proceedings of the Fourth IEEE Symposium on Parallel and Distributed Processing.

[33]  Nicholas S. Szabó Sign Detection in Nonredundant Residue Systems , 1962, IRE Trans. Electron. Comput..

[34]  L. Sousa,et al.  MRC-Based RNS Reverse Converters for the Four-Moduli Sets $\{2^{n} + 1, 2^{n} - 1, 2^{n}, 2^{2n + 1} - 1\}$ and $ \{2^{n} + 1, 2^{n} - 1, 2^{2n}, 2^{2n + 1} - 1\}$ , 2012, IEEE Transactions on Circuits and Systems II: Express Briefs.

[35]  Mohammad Umar Siddiqi,et al.  Multiple error detection and correction based on redundant residue number systems , 2008, IEEE Transactions on Communications.

[36]  Mehdi Hosseinzadeh,et al.  Reverse Converter Design via Parallel-Prefix Adders: Novel Components, Methodology, and Implementations , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[37]  Vassilis Paliouras,et al.  Delay-variation-tolerant FIR filter architectures based on the Residue Number System , 2013, 2013 IEEE International Symposium on Circuits and Systems (ISCAS2013).

[38]  T. Bernhardt,et al.  Considering the alternative , 1992 .

[39]  Omid Kavehei,et al.  Efficient Reverse Converter Designs for the New 4-Moduli Sets $\{2^{n} -1, 2^{n}, 2^{n} +1, 2^{2n + 1}-1\}$ and $\{2^{n} -1, 2^{n} +1, 2^{2n}, 2^{2n} +1\}$ Based on New CRTs , 2010, IEEE Transactions on Circuits and Systems I: Regular Papers.

[40]  Meyer Tannenbaum,et al.  Division and Overflow Detection in Residue Number Systems , 1962, IRE Trans. Electron. Comput..

[41]  Jian-Hao Hu,et al.  A Novel Modulo Adder for Residue Number System , 2013 .

[42]  Ricardo Chaves,et al.  Arithmetic-Based Binary-to-RNS Converter Modulo ${\{2^{n}{\pm}k\}}$ for $jn$ -bit Dynamic Range , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[43]  Satoshi Sugahara,et al.  Spin-Transistor Electronics: An Overview and Outlook , 2010, Proceedings of the IEEE.

[44]  W. Kenneth Jenkins,et al.  The use of residue number systems in the design of finite impulse response digital filters , 1977 .

[45]  Haridimos T. Vergos,et al.  RNS assisted image filtering and edge detection , 2013, 2013 18th International Conference on Digital Signal Processing (DSP).

[46]  Chip-Hong Chang,et al.  Base Transformation With Injective Residue Mapping for Dynamic Range Reduction in RNS , 2015, IEEE Transactions on Circuits and Systems I: Regular Papers.

[47]  Leonel Sousa,et al.  Randomised multi-modulo residue number system architecture for double-and-add to prevent power analysis side channel attacks , 2013, IET Circuits Devices Syst..

[48]  L. Sousa,et al.  A universal architecture for designing efficient modulo 2/sup n/+1 multipliers , 2005, IEEE Transactions on Circuits and Systems I: Regular Papers.

[49]  Victor P. Nelson Fault-tolerant computing: fundamental concepts , 1990, Computer.

[50]  Jason Cong,et al.  Customizable Domain-Specific Computing , 2009, IEEE Design & Test of Computers.

[51]  G.C. Cardarilli,et al.  Residue Number System for Low-Power DSP Applications , 2007, 2007 Conference Record of the Forty-First Asilomar Conference on Signals, Systems and Computers.

[52]  Chip-Hong Chang,et al.  Simple, Fast, and Exact RNS Scaler for the Three-Moduli Set , 2011 .

[53]  Alessandro Leonardi,et al.  Improving Energy Saving and Reliability in Wireless Sensor Networks Using a Simple CRT-Based Packet-Forwarding Solution , 2012, IEEE/ACM Transactions on Networking.

[54]  Luc Jaulmes,et al.  Fast modulo 2n−1 and 2n;1 adder using carry-chain on FPGA , 2013, 2013 Asilomar Conference on Signals, Systems and Computers.

[55]  Thibault Hilaire,et al.  ρ-Direct Form transposed and Residue Number Systems for Filter implementations , 2011, 2011 IEEE 54th International Midwest Symposium on Circuits and Systems (MWSCAS).

[56]  Shang Ma,et al.  A Novel Modulo $2^{n}-2^{k}-1$ Adder for Residue Number System , 2013, IEEE Transactions on Circuits and Systems I: Regular Papers.

[57]  Jing Wang,et al.  Efficient Arithmetic-Residue-Based SEU-Tolerant FIR Filter Design , 2013, IEEE Transactions on Circuits and Systems II: Express Briefs.

[58]  Giorgos Dimitrakopoulos,et al.  On Modulo 2^n+1 Adder Design , 2012, IEEE Transactions on Computers.

[59]  Kamesh Namuduri,et al.  HORNS: A homomorphic encryption scheme for Cloud Computing using Residue Number System , 2011, 2011 45th Annual Conference on Information Sciences and Systems.

[60]  K. A. Gbolagade,et al.  RNS Overflow Detection by Operands Examination , 2014 .

[61]  Chip-Hong Chang,et al.  A non-iterative multiple residue digit error detection and correction algorithm in RRNS , 2016, IEEE Transactions on Computers.

[62]  A. Benjamin Premkumar,et al.  Improved memoryless RNS forward converter based on the periodicity of residues , 2006, IEEE Transactions on Circuits and Systems II: Express Briefs.

[63]  Earl E. Swartzlander,et al.  Computer arithmetic implemented with QCA: A progress report , 2010, 2010 Conference Record of the Forty Fourth Asilomar Conference on Signals, Systems and Computers.

[64]  Gian Carlo Cardarilli,et al.  Twenty years of research on RNS for DSP: Lessons learned and future perspectives , 2014, 2014 International Symposium on Integrated Circuits (ISIC).

[65]  Harvey L. Garner,et al.  RESIDUE NUMBER SYSTEM ENHANCEMENTS FOR PROGRAMMABLE PROCESSORS , 2008 .

[66]  Ron Schneiderman DSPs Evolving in Consumer Electronics Applications [Special Reports] , 2010, IEEE Signal Processing Magazine.

[67]  Lajos Hanzo,et al.  Adaptive redundant residue number system coded multicarrier modulation , 2000, IEEE Journal on Selected Areas in Communications.

[68]  Wei Zhang,et al.  A New RNS based DA Approach for Inner Product Computation , 2013, IEEE Transactions on Circuits and Systems I: Regular Papers.

[69]  R. W. Watson,et al.  Self-checked computation using residue arithmetic , 1966 .

[70]  Wei Wang,et al.  RNS application for digital image processing , 2004 .

[71]  Stanislaw J. Piestrak,et al.  Design of Reverse Converters for General RNS Moduli Sets $\{ 2^{k}, 2^{n}-1, 2^{n}+1, 2^{n+1}-1 \}$ and $\{ 2^{k}, 2^{n}-1, 2^{n}+1, 2^{n-1}-1 \}$ ($n$ even) , 2014, IEEE Transactions on Circuits and Systems I: Regular Papers.

[72]  Tao Zhang,et al.  Arithmetic unit design using 180nm TSV-based 3D stacking technology , 2009, 2009 IEEE International Conference on 3D System Integration.

[73]  Dilip K. Banerji,et al.  On Translation Algorithms in Residue Number Systems , 1972, IEEE Transactions on Computers.

[74]  Jianhao Hu,et al.  Energy-Efficient Digital Signal Processing via Voltage-Overscaling-Based Residue Number System , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[75]  Aviral Shrivastava,et al.  Exploiting residue number system for power-efficient digital signal processing in embedded processors , 2009, CASES '09.

[76]  Said Boussakta,et al.  Fast Parallel-Prefix Architectures for Modulo 2n-1 Addition with a Single Representation of Zero , 2007, IEEE Transactions on Computers.

[77]  Minas Dasygenis,et al.  A unique network EDA tool to create optimized ad hoc binary to residue number system converters , 2014, 2014 24th International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS).

[78]  Chip-Hong Chang,et al.  New algorithm for signed integer comparison in four-moduli superset {2n, 2n −1, 2n +1, 2n+1−1} , 2014, 2014 IEEE Asia Pacific Conference on Circuits and Systems (APCCAS).

[79]  Chip-Hong Chang,et al.  A VLSI Efficient Programmable Power-of-Two Scaler for $\{2^{n}-1,2^{n},2^{n}+1\}$ RNS , 2012, IEEE Transactions on Circuits and Systems I: Regular Papers.

[80]  Richard Conway,et al.  Improved RNS FIR filter architectures , 2004, IEEE Transactions on Circuits and Systems II: Express Briefs.

[81]  P. A. Lyakhov,et al.  Digital filtering of images in a residue number system using finite-field wavelets , 2014, Automatic Control and Computer Sciences.

[82]  Mohammed Benaissa,et al.  Error detecting AES using polynomial residue number systems , 2013, Microprocess. Microsystems.

[83]  Chip-Hong Chang,et al.  An efficient reverse converter for the 4-moduli set {2/sup n/ - 1, 2/sup n/, 2/sup n/ + 1, 2/sup 2n/ + 1} based on the new Chinese remainder theorem , 2003 .

[84]  Laurent Imbert,et al.  a full RNS implementation of RSA , 2004, IEEE Transactions on Computers.

[85]  Berk Sunar,et al.  Exploring the Feasibility of Fully Homomorphic Encryption , 2015, IEEE Transactions on Computers.

[86]  Chip-Hong Chang,et al.  Radix-4 and Radix-8 Booth Encoded Multi-Modulus Multipliers , 2013, IEEE Transactions on Circuits and Systems I: Regular Papers.

[87]  L. Sousa,et al.  On the Design of RNS Reverse Converters for the Four-Moduli Set { 2 n + 1 , 2 n − 1 , 2 n , 2 n + 1 + 1 } , .

[88]  Said Boussakta,et al.  Novel Power-Delay-Area-Efficient Approach to Generic Modular Addition , 2007, IEEE Transactions on Circuits and Systems I: Regular Papers.

[89]  Reinhard Posch,et al.  Modulo Reduction in Residue Number Systems , 1995, IEEE Trans. Parallel Distributed Syst..

[90]  Roy D. Merrill Improving Digital Computer Performance Using Residue Number Theory , 1964, IEEE Trans. Electron. Comput..

[91]  Warren J. Gross,et al.  The Mixed-Radix Chinese Remainder Theorem and Its Applications to Residue Comparison , 2008, IEEE Transactions on Computers.

[92]  Philip W. Cheney A Digital Correlator Based on the Residue Number System , 1961, IRE Trans. Electron. Comput..

[93]  Chip-Hong Chang,et al.  Area-efficient and fast sign detection for four-moduli set RNS {2n −1,2n, 2n +1,22n +1} , 2014, 2014 IEEE International Symposium on Circuits and Systems (ISCAS).

[94]  Leonel Sousa 2n RNS Scalers for Extended 4-Moduli Sets , 2015, IEEE Trans. Computers.

[95]  Chip-Hong Chang,et al.  An Efficient Reverse Converter for the 4-Moduli Set 2 n 1 , 2 n , 2 n + 1 , 22 n + 1 Based on the New Chinese Remainder Theorem , 2001 .

[96]  Ning Ge,et al.  Simplified fault tolerant FIR filter architecture based on redundant residue number system , 2014 .

[97]  Evangelos Vassalos,et al.  CSD-RNS-based Single Constant Multipliers , 2012, J. Signal Process. Syst..

[98]  Vassilis Paliouras,et al.  Considering the alternatives in low-power design , 2001 .

[99]  Chip-Hong Chang,et al.  A Residue-to-Binary Converter for a New Five-Moduli Set , 2007, IEEE Transactions on Circuits and Systems I: Regular Papers.

[100]  A. Omondi,et al.  Residue Number Systems: Theory and Implementation , 2007 .

[101]  Antonio Puliafito,et al.  Adding long-term availability, obfuscation, and encryption to multi-cloud storage systems , 2016, J. Netw. Comput. Appl..

[102]  Chip-Hong Chang,et al.  Simple, Fast, and Exact RNS Scaler for the Three-Moduli Set $\{2^{n} - 1, 2^{n}, 2^{n} + 1\}$ , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[103]  Leonel Sousa,et al.  Corrections to “MRC-Based RNS Reverse Converters for the Four-Moduli Sets and ” [Apr 12 244-248] , 2012 .

[104]  Craig Gentry,et al.  A fully homomorphic encryption scheme , 2009 .

[105]  Xinming Huang,et al.  Accelerating leveled fully homomorphic encryption using GPU , 2014, 2014 IEEE International Symposium on Circuits and Systems (ISCAS).

[106]  David W. Archer,et al.  Computing with Data Privacy: Steps toward Realization , 2015, IEEE Security & Privacy.

[107]  Akio Sasaki Addition and Subtraction in the Residue Number System , 1967, IEEE Trans. Electron. Comput..

[108]  Leonel Sousa,et al.  The CRNS framework and its application to programmable and reconfigurable cryptography , 2013, TACO.

[109]  Thanos Stouraitis,et al.  Multifunction Residue Architectures for Cryptography , 2014, IEEE Transactions on Circuits and Systems I: Regular Papers.