Version abrégée C ONFINÉS dans le prototypage de systèmes numériques il y a encore quelques années, les FPGA (FieldProgrammableGateArray) concur- rencent aujourd’hui les circuits ASIC (Application-Specific Integrated Circuits) dans certaines applications. Les nouvelles familles de FPGA disposent par exemple de cellules logiques destinées à l’optimisation d’opérateurs arithmétiques ou de mémoires synchrones facilitant le calcul par tables. Les FPGA s’avèrent en outre moins onéreux que l’ASIC pour de petites séries et bénéficient des meilleures technologies degravure. Laconception de systèmes performants nécessite néanmoins uneexploitation judicieuse desressources d’unFPGA. Nous illustrons cette problématique en étudiant quelques coprocesseurs destinés aux algorithmes de cryptage RC6 et IDEA. La principale difficulté de RC6 consiste à calculer la fonction f(X)=(X·(2X+1))mod2w, où X est un nombre entier posi- tif de w bits. Nous proposons un opérateur évaluant efficacement f(X) en exploitant les spécificités architecturales de la famille Virtex de Xilinx. Pour un opérande de 32 bits, notre circuit se révèle 55 % plus compact et 18 % plus rapide que celui pro- posé par la NSA. CryptoBooster, notre premier prototype proposé pour IDEA, offre un débit de 102 Mbits/s sur uncircuit XCV1000-4 dela famille Virtex. L’exploitation du jeu d’instructions multimédias d’Itanium, le nouveau processeur d’Intel et Hewlett Packard,permettoutefoisl’obtentiondemeilleuresperformances. Cetteconstatationa motivéuneétude plusdétaillée desaspects arithmétiques del’algorithme decryptage. Le débit de CryptoBooster II, le système résultant de ce travail, s’avère supérieur à 3Gbits/ssurlemêmeFPGA.Touteslesopérations arithmétiques d’IDEAs’effectuant chiffredepoidsfaibleentête(modeLSDFouLeastSignificantDigitFirst),laconcep- tion d’une unité de calcul sérielle consiste à interconnecter les opérateurs en prenant soin de les synchroniser correctement. Le système obtenu, baptisé CryptoBooster III, constitue unpipelineauniveauduchiffre. Si un système sériel requiert également des opérations débutant par le chiffre de poidsfort(modeMSDFouMostSignificantDigitFirst),tellesladivisionoularacine carrée, l’insertion de registres mémorisant les résultats entre deux circuits travaillant dans un mode différent est indispensable. Ces contraintes réduisent le débit du sys- tème tout en compliquant son contrôle. Une représentation redondante des nombres permet lasuppression delapropagation deretenue survenant lorsdel’addition et,par conséquent, l’évaluation sérielle de n’importe quelle fonction chiffre de poids fort en tête. Cettephilosophie decalcul, appelée arithmétique en-ligne, serévèle trèsefficace i ii Versionabrégée pour des applications de contrôle embarqué, l’analyse de séquences génétiques ou les réseaux deneurones artificiels. M.Ercegovac,lepèredel’arithmétiqueen-ligne,adéfinidesméthodesdeconcep- tion d’opérateurs en-ligne destinés aux fonctions arithmétiques et algébriques. Nous proposons une nouvelle approche de calcul en-ligne de certaines fonctions élémen- taires (sin(x), cos(x), ex, ... ) exploitant des lectures de tables et des évaluations de polynômes. Nous décrivons finalement la bibliothèque VHDL d’arithmétique en-ligne réalisée grâce àcesoutils. Abstract U NTIL RECENTLY restricted to the prototyping of digital circuits, FPGAs (Field-Programmable Gate Arrays) are today capable, for some applica- tions,ofcompetinginperformancewithASICs(Application-Specific In- tegratedCircuits). ThelatestfamiliesofFPGAscontain,forexample,lo- giccellsconceivedspecificallytooptimizetheimplementationofarithmeticoperators and synchronous memories to simplify table-based computation. Moreover, FPGAs can be more cost-efficient than ASICs for small series and can exploit better fabrica- tion technologies. Theconception of high-performance systems requires nevertheless aconsiderable effort inorder toefficiently exploit theresources oftheFPGA. Weillustratetheseissuesthroughthestudyofaseriesofcoprocessors dedicatedto the implementation of the RC6and IDEAencryption algorithms. The main difficulty oftheRC6algorithmresidesinthecomputationofthefunction f(X)=(X·(2X+1)) mod2w, where X is a w-bit unsigned number. We propose an operator that exploits the architectural features of Xilinx’s Virtex family of FPGAs to efficiently evaluate f(X). For 32-bit operands, our circuit is 55 % more compact and 18 % faster that the circuit proposed by NSA. CryptoBooster, our first prototype proposed for IDEA, achieves a throughput of 102 Mbits/s on a XCV1000-4 FPGA of the Virtex family. However, exploiting the multimedia instructions of Intel’s and HP’s latest processor, Itanium, allows the latter to outperform our circuit. This observation motivated us to studyinmoredetailthearithmeticdetailsexploitedbytheIDEAencryptionalgorithm. The throughput of CryptoBooster II,the system wedeveloped following this analysis, exceeds 3Gbits/s on the same FPGA. Since all of IDEA’s arithmetic operations are executed inLSDF(LeastSignificant DigitFirst)mode,aserial processing unitcanbe developed by interconnecting and synchronizing the necessary operators. Thesystem thusobtained, calledCryptoBooster III,implements adigit-level pipeline. IfaserialsystemrequiresoperationsinMSDF(MostSignificantDigitFirst)mode, such as division or square-root, the insertion of registers to memorize intermediate results betweencircuits operating indifferent transmission modesbecomes necessary. These constraints reduce the throughput of the system and complicate its control. A redundant representation of numbers allows the propagation of the carry in a sum to besuppressed, andconsequently theserialevaluation ofanyfunction inMSDFmode. This approach to computation, called on-line arithmetic, has been shown to be very efficient for applications such as embedded control, genome sequence analysis, or artificial neural networks. iii iv Abstract M. Ercegovac, the father of on-line arithmetic, has defined a set of methods for theconceptionofon-lineoperatorsforarithmeticandalgebraicfunctions. Wepropose a new approach for the on-line computation of some elementary functions (sin(x), cos(x), ex, ... ), based on table look-ups and on the evaluation of polynomials. Fi- nally, wedescribe the VHDLlibrary ofon-line arithmetic operators realized using this approach. Remerciements Leshabitantsdelaterresedivisentendeux, Ceuxquiontuncerveau,maispasdereligion, Etceuxquiontunereligion,maispasdecerveau. Aboul-Alaal-Maari M A CARRIÈRE scientifique débuta un jour d’automne 1987, dans un col- lège sis au pied de hautes falaises et à l’ombre de clochers. En ses murssévissaientmalheureusementcertainsenseignantsdonnantraison aupoèteal-Maari. Unprofesseur, promptàtrempersesdoigtsdansun bénitier, informa par exemple mes parents (en imitant fort mal l’accent du Jura dont il n’appréciait vraisemblablement guère les autochtones) de mes capacités intellec- tuelles limitées et leur suggéra de m’orienter vers un truc plus à ma portée (comme le balayage de rues). Je remercie ma famille de m’avoir donné la force d’apprécier, durant plusieurs années, les cours prodigués par de tels personnages. Sans ce soutien constant, jen’aurais peut-être jamaisécrit cettethèse... Une fois mon certificat de maturité acquis, je quittai les austères falaises pour les bordsdulacLémanetl’EcolePolytechniqueFédéraledeLausanne. Durantmesétudes en informatique, j’effectuai deux stages à l’IDIAP où je contractai définitivement les virus de la recherche (pour le plus grand malheur d’Enrico qui, depuis son arrivée au LSL,appréhende mes exposés remplis d’horribles formules) et de la montagne (pour le plus grand malheur de la CNA, l’assurance contre les accidents du personnel de l’EPFL). Merci aux Idiapien(ne)s de l’époque pour cet excellent encadrement scien- tifique et sportif (avec une mention particulière pour Perry, le Hollandais qui me fit découvrir leCatogne). La thèse s’avérant indispensable à la poursuite d’une carrière de chercheur, je m’enquisd’unlaboratoirepartageantmesintérêtsetmeretrouvaiauLSL.Daniel,mon directeurdethèse"officiel",entreprituntravailrelevantdelaquadrature ducercleafin de me garantir un financement et je le remercie d’avoir ainsi sacrifié sa passion pour l’embryonique à d’ennuyeuses tâches administratives. Daniel, merci pour ton chaleu- reux accueil dans ton laboratoire, pour ta confiance absolue et pour l’immense liberté quetum’asofferte dansmontravail scientifique. Si je devais initialement étudier la réalisation de neuroprocesseurs, Eduardo, mon directeur de thèse "officieux", torpilla rapidement mon plan de recherche en me char- geant determiner unprojet industriel jusqu’alors supervisé paruncollègue quittant le v vi Remerciements laboratoire. Latâche consistait simplement à"tester uncoprocesseur cryptographique entièrementdécritenVHDLsurunecartedeprototypage". Lesoutilsdesynthèseetde placement-routage negénérantpasencoredebonsrésultatsàpartird’unespécification informelle criblée d’erreurs, je consacrai plus de temps que les deux mois escomptés aurenflouage duprojet. Christof, Paco,Fabio,mercipour votre aideinestimable dans cette délicate mission. Cette expérience me suggéra toutefois de nouvelles directions derecherche dontlesrésultats constituent l’undeschapitres decemémoire. Jeremer- cie par conséquent Eduardo de,comme ille ditsi bien, "m’avoir écarté d’un domaine sans avenir pour m’aiguiller vers un sujet d’une importance cruciale". Je remercie également l’entreprise Lightning pourlefinancement partiel decestravaux encrypto- graphie. Parallèlement àmesactivités cryptographiques, jepoursuivis monétude delaréa- lisation matérielle de systèmes neuromimétiques et me heurtai à quelques problèmes arithmétiques. Emeka, merci de m’avoir suggéré l’utilisation du calcul en-ligne. Le sujet m’a tellement passionné que j’y consacrai deux chapitres demathèse, abandon- nant définitivement l’univers des neurones artificiels sursilicium. Arnaud, mercipour tes conseils et tes explications qui facilitèrent mes premiers pas en arithmétique des ordinateurs. MerciàGilbert,Dominik,AndrésetJacques,mestémérairesrelecteursquiontin- lassablement corrigé les indices, relevé lesincohérences ou vérifié lesdémonstrations de quelques chapitres. Un merci particulier à ma maman pour sa traque systématique des hérésies orthographiques à travers les versions successives de ce document. Je remercie également Arnaud, Dominique, Pierre, Paolo et Eduardo, tous membres de mon jury de thèse, pour le temps consacré à l’attentive lecture de ce document, les corrections apportées etlesaméliorations suggérées. Si,àquelques exceptions près,mescollègues neportèrentqu’untrèsvagueintérêt à mes travaux scientifiques, ils rendirent mon séjour au LSLinoubliable. Nous trans- formâmesparexempleleLSLen"Laboratoire deSystèmesLudiques" (XBlastdevint rapidementlelogicielleplusutilisé)ouorganisâmesdepetitesrandonnées bucoliques dans les montagnes valaisannes. Si nos pérégrinations alpestres ne s’écartèrent ja- mais des voies classiques, nous réalisâmes quelques premières gastronomiques grâce aux fourmis grillées d’Andrés ou aux repas "diététiques" de Jacques-Olivier dont les apophtegmes provoquent déjàuneindigestion ("avecdelacrèmeetdubeurre,toutest bon","pour maigrir, mangez dufromage", ... ). Bref,merciàcelles etceux quifirent duLSLunlaboextraordinaire toutaulongdemesannéesdethèse:Isis,Valérie,Mar- lyse, Fabio,Andrés, Christof (détenteur du record d’excuses douteuses pour échapper auxrandonnées duweek-end), Jean-Michel, Chico(véritable encyclopédie vivante du jeu de motsfoireux etbricoleur degénie; merci pour ton aide lors de laréalisation du biodule de von Neumann), Jacques-Olivier, Gianluca et Emeka (grands organisateurs de dégustations de bières du monde entier, à l’exception de la Suisse), Paco, Jacques, DJ Eduardo (grâce à qui je découvris Kurtág et Maalouf), Yann, Dominik, Mathieu, Sam (éminent spécialiste du formatage des partitions Linux et de l’installation d’un infâme système d’exploitation fonctionnant parfaitement avec un clavier comportant trois touches), Enrico, André, Ralph (qui ignorait que le tour de Martigny comportait undénivelépositifavoisinantles1500mètres),Carlos(mélomaned’exceptionsachant apprécier Marduk, EmperorouAmorphis; auteur dumémorable "deux plus deux font cinq, pour de grandes valeurs de deux".), Alex et Eric(qui ont préféré quitter l’armée Remerciements vii suisse pour servir le LSL sous les ordres de Chico), Moshe (merci pour tes conseils lors de nos démêlés avec le rédacteur en chef de la revueIEEETransactionsonEdu- cation), Diego et Fabien (qui a décidé d’effectuer sa thèse au LSLafin de ne pas trop s’éloigner d’une certaine cave deSaillon... ). 1 Chapitre Prolégomènes Kidevicesevueltdefendre Estudïerdeiteentendre Egrevoseovrecomencier: Parceos’enpuetplusesloignier Edegrantdolurdelivrer. ... Oreoëzlecommencement! MariedeFrance D EUX HOMMES se préparaient à un bien étrange duel en ce 12 novembre 1945. Armédesa calculatrice électronique, le soldat de deuxième classe de la 240ème section financière du QG des forces US au Japon Thomas NathanWoodsaffrontaitKiyoshiMatsuzaki,lechampiondesoroban1 du bureau de l’Epargne au ministère de l’Administration des postes au Japon. Organisé par les hommes du Général MacArthur, désireux de démontrer la supériorité des mé- thodes occidentales, ce match se déroula en cinq rounds. Bien que considéré comme l’opérateur de calculatrice le plus expert au Japon, Woods ne remporta qu’une seule épreuve (tableau 1.1). Les machines à calculer travaillent généralement dans le système de numération décimal que nous utilisons quotidiennement. Le boulier dispose d’une représentation particulière des nombres permettant d’effectuer toutes lesopérations arithmétiques de gauche à droite. Cette propriété offrit certainement un avantage décisif à Matsuzaki. Lors du concours, les deux candidats inscrivaient le premier opérande sur leurs ma- chines respectives. Pendant que l’arbitre égrenait les chiffres du second opérande, Matsuzaki effectuaitdéjàdescalculsalorsqueWoodsattendait deconnaître lesunités avant d’actionner latouche correspondant àl’opération désirée. L’évolution des calculateurs depuis la finde la seconde guerre mondiale est spec- taculaire et la machine de Woods ne constitue plus qu’une pièce de musée. Outre l’addition et la multiplication, les unités de calcul proposent des circuits effectuant parexemple desdivisions, desracines carrées ouévaluant desfonctions élémentaires. Parmilesapplications bénéficiantdecescaractéristiques, mentionnons l’imageriemé- dicaleoulasimulationnumérique. Lesprogrèsréalisésdanstroisdomainesexpliquent 1Boulierjaponais 1 2 Prolégomènes Epreuve 1èreépreuve 2èmeépreuve 3èmeépreuve 4èmeépreuve composite Additions Soustractions Multiplications Divisions 30additions denombresde denombresde denombresde denombresde 3soustractions 3à6chiffres 6à8chiffres 5à12chiffres 5à12chiffres 3multiplications 3divisions (Nombresde6 à12chiffres) Matsuzaki Matsuzaki Woods Matsuzaki Matsuzaki bat bat bat bat bat Woods Woods Matsuzaki Woods Woods Tableau1.1: RésultatsduduelopposantMatsuzakiàWoods(reprisde[57]). lesperformances desordinateurs actuels: ❏ Architecture desordinateurs Leschercheurs adoptent deuxphilosophies afindedévelopper des architectures toujoursplusperformantes. Lapremièreconsisteàdistribuerlescalculssurplu- sieurs processeurs formant un réseau. Laseconde exploite le parallélisme entre les instructions d’un programme en vue d’une exécution concurrente. Notre laboratoire s’est investi dans cette dernière et nous invitons le lecteur souhai- tant de plus amples informations à consulter deux thèses récemment achevées, consacrées àcetteproblématique [78,96]. ❏ Micro-électronique Outre les traditionnels ASIC (Application-Specific Integrated Circuits), les constructeurs de circuits intégrés offrent depuis quelques années des FPGA (FieldProgrammableGateArray),constitués d’unematricedecelluleslogiques identiques etd’undispositifderoutageconfigurables [108]. Unefoislesystème numérique décrit, nous disposons d’outils déterminant le nombre de cellules requises, leur fonctionnalité etleurs interconnexions. Auterme dece processus nécessitant au plus quelques heures, nous pouvons étudier le comportement du circuit dans des conditions réelles. Les FPGA constituent ainsi un formidable outil de prototypage. Les caractéristiques des nouvelles générations de FPGA élargissent toutefois leur champ d’applications. La famille Virtex dispose par exemple de blocs de mémoire synchrone et de cellules logiques destinées à l’optimisation d’applications arithmétiques. L’ajout d’une carte à FPGA dans un ordinateur personnel permet le développement de coprocesseurs spécifiques àchaque application. Remarquons finalement qu’une constante diminution des tailles degravure per- met des fréquences d’horloge plus élevées. Tous les circuits numériques bé- néficient évidemment de ces progrès technologiques. Le processeur Pentium 4 fonctionne parexempleà1.70GHz(technologie 0.18µm). ❏ Arithmétiquedesordinateurs L’issueduduelopposantMatsuzakiàWoodsindiquequ’unereprésentationjudi- cieuse desnombres permetl’accélération decertains calculs. Cetteconstatation
Description: