Summary: | Στα σύγχρονα ψηφιακά συστήματα η ανάγκη για γρήγορους υπολογισμούς είναι πλέον από τους πιο καθοριστικούς παράγοντες. Άλλοι ιδιαίτερα κρίσιμοι παράγοντες είναι η απαιτούμενη επιφάνεια του κυκλώματος και η κατανάλωση ενέργειας. Ωστόσο, ο χρόνος παραμένει ένας από τους πιο σημαντικούς για πλήθος εφαρμογές. Τα αριθμητικά κυκλώματα, όπως αθροιστές, πολλαπλασιαστές και κυκλώματα ύψωσης στο τετράγωνο, είναι πλέον αναπόσπαστο κομμάτι των ψηφιακών κυκλωμάτων, γι’ αυτό η επιτάχυνση των λειτουργιών αυτών είναι ένας στόχος στην κατεύθυνση του οποίου πολλές διαφορετικές αρχιτεκτονικές έχουν προταθεί. Η μείωση της καθυστέρησης στις αριθμητικές μονάδες θα δώσει μεγάλη βελτίωση στη συνολική απόδοση των συστημάτων, μιας και οι περισσότερες εφαρμογές εμπεριέχουν πλήθος αριθμητικών πράξεων.
Η πράξη της ύψωσης στο τετράγωνο αποτελεί ειδική περίπτωση της πράξης του πολλαπλασιασμού, στην οποία ο πολλαπλασιαστέος ισούται με τον πολλαπλασιαστή. Ο λόγος για τον οποίο χρησιμοποιούμε εξειδικευμένα κυκλώματα για την πράξη αυτή είναι η εκμετάλλευση του γεγονότος ότι τα δύο έντελα είναι ίσα, κάτι που οδηγεί σε ελαχιστοποίηση του χρόνου που απαιτείται για την ολοκλήρωση της πράξης, αλλά και μείωση της απαιτούμενης επιφάνειας. Η πράξη της ύψωσης στο τετράγωνο χρησιμοποιείται σε πολλές εφαρμογές των υψηλής απόδοσης επεξεργαστών ψηφιακού σήματος (digital signal processors – DSP). Τέτοιες εφαρμογές συμπεριλαμβάνουν φιλτράρισμα σήματος (signal filtering), επεξεργασία εικόνας (image processing), και διαμόρφωση για τηλεπικοινωνιακά συστήματα. Η πράξη της ύψωσης στο τετράγωνο μπορεί, επίσης, να χρησιμοποιηθεί αποδοτικά στην υλοποίηση κρυπτογραφικών αλγορίθμων για την αποφυγή της χρονοβόρας διαδικασίας της ύψωσης σε δύναμη.
Το Σύστημα Αριθμητικής Υπολοίπων (RNS), είναι ένα αριθμητικό σύστημα το οποίο παρουσιάζει σημαντικά πλεονεκτήματα στην ταχύτητα με την οποία μπορούν να γίνουν οι αριθμητικές πράξεις. Στο RNS οι αριθμοί αναπαρίστανται σαν ένα σύνολο από υπόλοιπα. Για να αναπαραστήσουμε έναν αριθμό ορίζουμε ένα σύνολο από πρώτους μεταξύ τους ακεραίους που ονομάζεται βάση του συστήματος P={p1,p2,…pk}. Η αναπαράσταση ενός αριθμού X στο RNS ορίζεται ως το σύνολο των υπολοίπων του Χ ως προς τα στοιχεία της βάσης Ρ. Προκύπτει, έτσι, ότι X={x1,x2,…,xk} όπου το xi είναι το υπόλοιπο της διαίρεσης του X με το στοιχείο της βάσης pi και συμβολίζεται με Xi=|X|pi. Κάθε ακέραιος Χ που ανήκει στο εύρος τιμών 0<=X<M, όπου Μ είναι το γινόμενο όλων των στοιχείων της βάσης P, έχει μοναδική αναπαράσταση στο RNS. Μια αριθμητική πράξη δύο εντέλων, η οποία μπορεί να είναι πρόσθεση, αφαίρεση ή πολλαπλασιασμός, ορίζεται ως εξής: {z1,z2,…,zk} = {x1,x2,…,xk}*{y1,y2,…,yk}, όπου zi = (xi*yi) modpi. Συνεπώς, κάθε αριθμητική πράξη εφαρμόζεται σε παράλληλες μονάδες (μία για κάθε στοιχείο της βάσης), καθεμία από τις οποίες διαχειρίζεται μικρούς αριθμούς (υπόλοιπα), αντί μιας μονάδας που θα χρειαζόταν να διαχειριστεί μεγάλους αριθμούς.
Ένα από τα πιο δημοφιλή σύνολα βάσης είναι αυτά της μορφής {2^n, 2^n -1, 2^n+1}, λόγω του ότι προσφέρουν πολύ αποδοτικά κυκλώματα με κριτήριο το γινόμενο της επιφάνειας επί το τετράγωνο της καθυστέρησης (area * time^2), καθώς επίσης και αποδοτικούς μετατροπείς από και προς το δυαδικό σύστημα. Για το λόγο αυτό η υλοποίηση αποδοτικών modulo(2^n-1) και modulo(2n+1) κυκλωμάτων είναι σημαντική. Το πρόβλημα που παρουσιάζεται είναι ότι ενώ οι modulo(2^n) και modulo(2^n-1) αριθμητικές χρειάζονται το πολύ n δυαδικά ψηφία για την αναπαράσταση όλων των δυνατών υπολοίπων, στη modulo(2^n+1) αρχιτεκτονική χρειάζονται (n+1) ψηφία. Το πρόβλημα αυτό λύνεται με τη χρήση diminished-1 αναπαράστασης. Στη diminished-1 αναπαράσταση, κάθε αριθμός Χ αναπαρίσταται ως X-1=X-1. Έτσι, απαιτούνται n δυαδικά ψηφία για την αναπαράσταση, χρειάζονται, όμως, κυκλώματα μετατροπής από και προς την diminished-1 αναπαράσταση. Όταν χρησιμοποιείται η diminished-1 αναπαράσταση η τιμή εισόδου ίση με 0 χειρίζεται ξεχωριστά.
Στα πλαίσια της εργασίας αναλύονται υπάρχουσες αρχιτεκτονικές και προτείνονται νέες για κυκλώματα ύψωσης στο τετράγωνο στο Σύστημα Αριθμητικής Υπολοίπων (RNS). Οι προτεινόμενες αρχιτεκτονικές βελτιώνουν την καθυστέρηση και, ταυτόχρονα, μειώνουν τις απαιτήσεις σε επιφάνεια. === Fast computations are of major importance in modern digital systems. Other critical factors are the area and the energy consumption. However, delay is still one of the most important ones for a variety of applications. Due to the fact that arithmetic circuits, such as adders, multipliers and squarers, have been integral components of most digital systems, many schemes have been proposed in the direction of accelerating arithmetic operations. As most applications contain a big number of arithmetic operations, delay reduction in arithmetic units will lead to significant improvement in the total system’s performance.
Squaring is a special case of multiplication, where the multiplier equals the multiplicand. The reason for using a special circuit for squaring is to benefit from the fact that the two operands are equal, which reduces the delay and the area needed for the calculation of the square. The squaring operation is used in many applications of high performance digital signal processors. Such applications include signal filtering, image processing and modulation of communication components. Squarers can also find applicability in several cryptographic algorithms for the implementation of modular exponentiations.
The Residue Number System is an arithmetic system in which arithmetic operations can be calculated in high speed. In the RNS numbers are represented as a set of residues. In order to represent a number we define a set of pairwise relative prime integers P={p1,p2,…pk}, which is the system’s base. Every number X is represented with the set of the residues occurred after the division of X by each element of the base, P. Thus, X={x1,x2,…,xk}, where xi stands for the residue of the division of X by the ith element of the base, pi, which is denoted as Xi=|X|pi. In the RNS there is a unique representation for every integer X that 0<=X<M, where M is the product of all the elements of the base. A two-operant arithmetic operation, which can be an addition, a subtraction or a multiplication, is defined as {z1,z2,…,zk} = {x1,x2,…,xk}*{y1,y2,…,yk}, where zi = (xi*yi) modpi. Consequently, arithmetic operations are performed to parallel units (one unit for each element of the base) each one handling small residues, instead of a single unit that handles large numbers.
One of the most popular base sets is those of the form {2^n, 2^n -1, 2^n+1}, due to the fact that they offer very efficient circuits when considering the area*time^2 criterion and efficient converters from/to the binary system. Thus, the design of efficient modulo (2^n-1) and modulo (2^n+1) circuits is of high importance. The problem that arises is that while in modulo(2^n) and modulo(2^n-1) arithmetic n bits are sufficient for the representation of all possible residues, in modulo(2^n+1) arithmetic (n+1) bits are needed. This can be solved by the use of the diminished-1 representation. In the diminished-1 representation every number X is represented as X-1=X-1. Therefore, n bits are sufficient for the representation, but converters from/to the diminished-1 representation are needed. In cases that the diminished-1 representation is used, operands with value 0 is treated separately.
For the needs of this thesis, existing architectures of squaring circuits in the RNS are studied and new ones are proposed. The proposed architectures improve the system’s delay, while, in parallel, reduce the area needs.
|