Brevet FR2135570A1 — publié le 19721222

15^86 1 2135570 la présente invention se rapporte aux multiplicateurs numériques électroniques. la multiplication des nombres binaires peut être effectuée d'une manière relativement simple. la solution classique consiste à utiliser un registre accumulateur dont la longueur est double de la longueur n des termes, car la longueur du produit peut approcher le double de celle des ternies. Le multiplicateur est mémorisé dans la moitié la moins significative du registre accumulateur. la moitié la plus significative de l'accumulateur et le contenu d'un registre de multiplicande sont introduits dans un additionneur. La sortie de l'additionneur représente la somme des produits partiels accumulés et du produit partiel potentiel qui consiste en une fois le multiplicande.. Une série de n cycles est démarrée. A. chaque cycle, l'élément binaire de moindre poids de l'accumulateur est examiné et la'sortie de l'additionneur est mémorisée ou non dans la moitié la plus significative de l'accumulateur suivant que cet élément binaire est un "1" ou un "0". l'accumulateur est décalé d'une position vers la droite et le cycle est répété Jusqu'à ce que le multiplicateur entier soit examiné, le multiplicande a donc été multiplié par 2n à chaque élément binaire "1" du multiplicateur, et les produits partiels ont été cumulés dans l'alignement correct grâce aux décalages cycliques qui divisent le résultat par 2 à chaque cycle. 13. existe plusieurs procédés de traitement des différentes combinaisons de signes des termes, des différents types de représentations des. nombres, c'est-à-dire de leur signe et de leur valeur absolue, du complément à 1 et du complément à 2. les algorithmes de multiplication sont décrits dans l'ouvrage "Digital Computer Design Fundamentals" de Yaohan Chu, Me Graw-Hill 1962, pages 24 à 35. Dans le cas de termes de 36 éléments binaires, ce processus nécessite 36 cycles comportant chacun une opération d'addition à chaque "1" du multiplicateur. Chacune de ces opérations d'addition implique un temps de propagation de retenues dans l'additionneur. Un moyen d'accélérer la multiplication consiste à examiner deux par deux les éléments binaires du multiplicateur et à additionner ou soustraire dans l'accumulateur des multiples du multiplicande. Des exemples de ce type de multiplication sont décrits I- Co- 72 15486 2135570 dans "The Logic of Computer Arithmetie" de Ivan Flores, Prentice-Hall, Inc. 1963» pages'164 à 174. Selon ce procédé, un "11" est considéré comme impliquant une soustraction du multiplicande et le report d'une retenue qui est mémorisée, et provoque l'addition 5 de quatre fois le multiplicande pendant le cycle suivant.Une variante de cet algorithme est décrite dans "Proceedings of the IRE", Janiver 1961, pages 73 à 75 par O.L. Mac Sorley sous le titre "High Speed Arithmetie in Binary Computers". Selon cet algorithme, la table de décision est la suivante : 10 Eléments binaires du Multiple du multiplicateur multiplicande 0 00 0 0 01 + 2 : O 10 + 2 15 *0 11 + 4 1 00 - 4 1 01 - 2 1 10 - 2 111 0 20 Cet algorithme présente la particularité qu'à l'examen de chaque paire d'éléments binaires de la droite vers la gauche, il est supposé que, pour les valeurs impaires, le cycle précédent a effectué un produit partiel trop faible d'une fois le multiplicande. Si en outre la paire suivante est impaire, un produit par-25 tiel est formé à cause duquel le produit partiel cumulé est trop faible d'une fois le multiplicande. Mais si au premier cycle, la position de moindre poids contient un "1", un traitement spécial doit être appliqué. Mac Sorley préconise l'utilisation d'un cycle supplémentaire consistant à additionner deux éléments binaires 30 "0" fictifs au multiplicateur, ou une modification du premier cycle selon laquelle une soustraction du multiplicande est effectuée si l'élément binaire de moindre poids est un "1". Dans les applications pratiques, la nécessité de traiter des multiples doubles ou quadruples du multiplicande pose égale-35 ment des problèmes de réalisation. En effet, l'additionneur doit comporter deux circuits en plus du circuit de base nécessaire aux opérations du type de l'addition directe. En outre, les circuits .. 72 15486 5 2135570 logiques doivent fournir des résultats corrects pour toutes les 'l combinaisons de signes du'multiplicande et du multiplicateur. la présente invention concerne un dispositif de multiplication en complément à 2 comportant des multiplicateurs à n élé-5 ments binaires et qui ne nécessite que n/2 cyclcs. Ce dispositif comporte un additionneur qui forme la somme algébrique binaire d'un premier et d'un second terme . Un accumulateur est connecté à l'additionneur dont il mémorise la sortie et lui fournit le premier terme d'entrée. Un registre de multiplicande est connecté 10 à 1*additionneur auquel il fournit le second terme d'entrée. Un registre de multiplicateur mémorise un facteur multiplicateur de m éléments binaires. Un circuit logique est connecté au registre de multiplicateur et, en fonction de llétat de n + 1 positions consécutives déléments binaires du multiplicateur, il sélection-15 ne un facteur multiple algébrique'Hu multiplicande devant être introduit dans l'additionneur et dont la valeur algébrique est celle des éléments binaires examinés, modifiée de manière que le signe du facteur soit négatif si l'élément binaire de plus grand poids est un ."1", et que la valeur absolue du facteur soit augmen-20 tée d'une unité si l'élément binaire de moindre poids est un "1". Un circuit de commande de cycles commande la mémorisation de la sortie de l'additionneur dans l'accumulateur, et décale de n éléments binaires les contenus du registre de multiplicateur et de l'accumulateur. Un circuit d'arrêt bloque le circuit de commande 25 de cycles après m/n cycles. Selon un mode de réalisation, la multiplication est effectuée de la manière suivante. le multiplicateur.est chargé dans un registre de multiplicateur et multiplié par deux avant le commencement de la multiplication. C'est-à-dire que le multiplicateur 30 est mémorisé décalé d'un élément binaire vers la gauche et qu'un "0" est placé dans la position de l'élément binaire de moindre poids, le cycle normal adopté est le suivant : le produit partiel accumulé est décalé de deux éléments binaires.vers la droite, c'est-à-dire qu'il est divisé par quatre. les facteurs du multi-35 plicande sont ensuite sélectionnés selon le tableau ci-après : i" C0PY W" 72 15486 2135570 Eléments binaires du Facteurs du multiplicateur multiplicande 0 00 0 0 01 1/2 5 0 10 1/2 0 11 1 1 00 - 1 1 01 - 1/2 1 10 - 1/2 10 1 11 0 Lorsque la paire d'éléments binaires dont l'élément de signe est le même que celui de la paire qui doit être examinée ensuite, le tableau ci-dessus est appliqué et les cycles de multiplication sontîterminés. C'est-à-dire que l'élément de signe in-15 tervient dans la commande de traitement des deux éléments voisins du multiplicateur, mais sinon, il est ignoré. Il en résulte exactement n/2 cycles. Ltinvention sera décrite plus en détail en regard des dessins annexés à titre d'exemple non limitatif et sur lesquels : 20 la figure 1 est le diagramme synoptique d'un mode de réa lisation de l'invention et montre les registres, les commutateurs et les additionneurs qui constituent une unité opérationnelle associée à un calculateur numérique binaire en complément' à 2 ; la figure 2 est le diagramme synoptique des éléments logi-25 ques qui constituent une unité de commande du dispositif de la figure 1 ; et la figure 3 est le schéma logique d'un mode de réalisation d'un commutateur du dispositif de la figure 1. La figure 1 représente les éléments_ essentiels nécessaires 30 pour l'unité arithmétique et les interconnexions d'un mode de réalisation de l'invention. Le brevet des Etats-Unis d'Amérique N0 3 413 613 décrit plus en détail le dispositif de traitement de données. Les mots d'instruction sont aiguillés de la mémoire princi-35 pale 10 vers le commutateur ZY 88 et le registre d'instructions I 78 par l'intermédiaire du commutateur ZI 11, et les mots de données sont aiguillés par le commutateur ZA 13. Deux mots de don 72 15486 5 2135570 nées sont aiguillés par le commutateur ZA 13 et le commutateur ZP 12 vers un registre M 14 à 72 éléments binaires qui conserve le terme multiplicateur. Le commutateur ZJ 20 applique sélectivement les mots de données provenant, du registre M à un registre 5 H 35 à 72 éléments binaires constituant l'un des deux registres de termes de l'additionneur A 38 principal. Ce circuit de données sert à différentes opérations telles que le chargement d'instructions. Le second registre de termes est un registre I 40 à 72 éléments binaires qui est chargé par l'intermédiaire du commutateur 10 ZQ 42. L'additionneur A est un additionneur à 72 éléments binaires qui effectue sélectivement les opérations arithmétiques d'addition et de soustraction sur des nombres complémentés à deux et les opérations logiques OU, ET et OU-exclusif. Les entrées de l'additionneur A sont sélectionnées par la porte ZH 37 qui consti-15 tue une première entrée de termes provenant, du registre H 36 et par la porte ZIT 41 constituant une seconde entrée de termes provenant du registre 2T 40. Dans le cas de multiplication, le registre H constitue un accumulateur de produits partiels et lé registre IT conserve le produit partiel formé par le facteur de multi-20 plicande sélectionné. La sortie de l'additionneur A est mémorisée dans un registre AS 55 de 72 éléments binaires, ou elle peut être aiguillée sélectivement vers le registre H par le commutateur ZJ 20 et vers le registre H par le commutateur ZQ 42. Le contenu du registre AS est dirigé sélectivement vers la mémoire par le 25 commutateur ZD 32 ou vers un registre accumulateur AQ 56 général à 72 éléments binaires par le commutateur ZL 48. Par l'intermédiaire du commutateur ZR 46, le contenu de l'accumulateur général peut être aiguillé vers les registres H ou 13" par le commutateur ZJ 20 ou le commutateur ZQ 42. 30 Les parties entières des mots provenant de la mémoire 10 et qui passent par le commutateur ZI 11 sont également aiguillées sélectivement, justifiées à droite, vers un registre D 22 à 10 éléments binaires par l'intermédiaire d'un commutateur ZU 16, afin de séparer la partie entière d'un nombre à virgule flottante, 35 ou vers un registre ACT 28 par le commutateur ZC 27 en vue de maintenir le comptage de décalages et autres. Un additionneur E 34 de parties entières est destiné à effectuer le traitement des 72 15486 6 2135570 parties entières et à remplir des fonctions auxiliaires. les entrées de l'additionneur dè parties entières sont prélevées au commutateur ZE 25 et au commutateur ZG 26. la sortie de l'additionneur de la partie entière est connectée au commutateur ZÎT 5 24, au commutateur ZU 16 et au commutateur ZC 27. Le commutateur ZE aiguille les termes provenant du registre D et de la sortie de l'additionneur de parties entières vers un registre E 30. Le dispositif représenté sur la figure 1 est constitué par une combinaison de commutateurs, de registres et dradditionneurs. 10 La présente invention ne concerne pas la réalisation particulière de ces dispositifs. L'additionneur A 38 peut être constitué par 72 additionneurs à 3 entrées auxquels sont appliqués un élément binaire de la position correspondante de . chaque terme et une retenue prévenant de l'additionneur à trois entrées immédia-15 tement inférieur-. Le dernier additionneur à trois entrées est agencé de manière à recevoir un 1 ou un 0 comme retenue en fonction des signaux de commande. Les sorties somme des additionneurs à trois entrées constituent les sorties des positions d'éléments binaires correspondantes et leurs sorties de retenue cons-20 tituent chacune l'entrée de retenue de l'additionneur à trois entrées immédiatement supérieur. La sortie de retenue de l'additionneur à trois entrées le plus significatif est connectée à un circuit basculeur de retenue d'addition. Un circuit logique est également prévu pour détecter un débordement qui fait passer à 25 l'état 1 le circuit basculeur 0V 92. En pratique, il est souhaitable que l'additionneur simple qui vient d'être décrit soit modifié de manière à réduire le temps de propagation-de retenue, au moyen d'un circuit logique de prévision de retenue, un circuit logique de somme conditionnelle, etc. en .fonction des performan-30 ces voulues pour le calculateur. Les registres peuvent être des circuits basculeurs LC commandés par des signaux de commande. Les commutateurs sont constitués par des groupes d'étages de portes logiques en parallèle tels que le premier étage du commutateur ZQ 42 représenté sur la figure 3. Les entrées aiguillées 35 aux portes ET 301, 302, 303 et 304 proviennent de l'additionneur A 38, du commutateur ZR 46 vrai et de son complément, et d'un zéro permanent. Ces entrées sont commandées par des signaux de QOPY 72 15486 7 2135570 commande correspondants fik, szfeR, fiZR et ^OQ. Les signaux de sortie de ces portes ET sont appliqués à une porte NON-OU 306 dont la.sortie est inversée par la porte NON-ET 307. La figure 2 représente les éléments essentiels d'une unité 5 de commande destinée à décoder les codes d'opération, à déclencher et à arrêter les cycles de machine et à produire différents signaux de commande. A partir du registre d'instructions 1,78 de la figure 1, la partie code opération des instructions, à savoir les éléments "binaires 18- 26 ou 54- 62, est aiguillée sélecti-10 vement vers un registre tampon B1 96 par le commutateur ZOR 94. Le registre B1 applique une entrée à un registre P 97 qui,à son tour, applique une entrée au registre S 98 et au circuit de décodage 95. ie circuit de décodage commande le chargement du terme multiplicateur dgns le registre M,. 14. le registre B1 délivre éga-15 lement un signal B1 -E indiquant qucil a été chargé par le registre I et qui fait passer à l'état "1" le circuit basculeur 101 de marqueur B1 lorsqu'il est déclenché par une impulsion d'horloge CZ appliquée à la porte ET 201. A son tour, ce circuit basculeur fait passer en "1" un circuit basculeur 102 de marqueur P qui 20 ramène à "0" le circuit basculeur de marqueur B1 et déclenche un cycle GIN d*opérations préliminaires en positionnant un circuit basculeur RS GIN 121. Pendant ce cycle, l'instruction mise en place apparaît et le contenu du registre B1 est transféré au registre P. Le positionnement du circuit basculeur GIN 121 fait 25 passer le contenu du registre P au registre S qui, à son tour, fait passer à l'état "1" le circuit basculeur 103 de marqueur S et applique une entrée au circuit 99 de décodage d'opération,, En général, les cycles opérationnels de la machine sont délimités par un signal d'horloge 0G provenant d'un générateur 30 d'horloge 100. Ce générateur comporte un circuit de réaction et un élément de retard tel qu'un registre à décalage. Grâce à un retard variable, la durée de chaque cycle de machine peut être réglée au minimum nécessaire pour le type d'opération à effectuer et les instructions sont exécutées avec un rendement maximal. 35 Pendant le cycle de machine, lorsque GOS est en "1", le multiplicande est décalé du registre accumulateur AQ vers le registre de termes N. Le signal de commande de ce cycle est délivré *V ^ppy " 72 15486 " " 2135570 par le circuit basculeur RS GOS 123 qui se trouve à l'état "1". Le circuit logique 122 commande ce circuit "basculeur GOS de la manière ci-après : GOS —> 1 = 0G.GIK.GOF 1 5 GOS —5» 0 = ?G. GOS Lorsque le registre de termes N" est positionné, l'accumulation de produits partiels est effectuée pendant le cycle GOM.Le signal de commande de ce cycle est délivré par le circuit "basculeur RS GOM 125 qui est commandé par le circuit logique 124 de 10 la manière suivante : GOM 1 = 0G.GOS.MPY GOM —0 = 0G.GOM.MPY(ACT = 1 ) le signal MPY est délivré par le circuit 99 de décodage de code d'opération. 15 Pendant le dernier cycle de machine d'une exécution d'ins tructions, GOF, le terme arrondi est ramené au registre AQ. Le signal de commande de ce cycle est délivré par le circuit "basculeur RS GOP 129 qui se trouve à l'état "1". Le circuit logique 128 commande le circuit "basculeur GOP de la manière suivante : 20 GOP 1 = 0G. (GOM.MPI. (ACT = 1)) GOP 0 = fSG. (GOM.MPÏ. (ACT = 1)) Sur les figures, les signaux de commande des registres sont représentés avec un préfixe et les autres signaux de commande sont représentés avec un préfixe Les sources des signaux 25 du second type sont représentées explicitement en fonction de leur cycle correspondant GIU, GOS, GOM et GOP. Les signaux de commande des registres sont également produits pendant ces cycles mais leur flanc avant est retardé jusqu'aux environs de la fin du cycle au moyen d'une fonction ET avec le signal d'horloge $G. 30 Cela donne le temps nécessaire à la propagation des retenues, à la stabilisation en ligne, etc. Les signaux de commande de registre ne servent qu'à les verrouiller en fonction des signaux d'entrée produits. L'exécution de l'instruction de multiplication fraçtionnai-35 re s'effectue de la manière ci-après, par l'intermédiaire'des quatre étages successifs GIN", GOS, GOM et GOF qui sont commandés par les circuits basculeurs correspondants du circuit logique de 72 15486 9 2135570 commande de la figure 2. Avec GIN en "1", le prélèvement du terme *1 multiplicateur est terminé, le signal de commande faisant passer le terme par le commutateur ZP 12 dans le registre M 14 commandé par les signaux 0N. Ce terme est un nombre de 36 éléments 5 binaires compléments à deux et il est mémorisé dans les positions 35 à 70 du registre M. le commutateur ZP 12 charge un "0" dans la position 71 la moins significative du registre M lorsque le multiplicateur est aiguillé par le signal de commande jéZF. .qui Avec GOS en "1" le registre H 36/sert à accumuler les pro-10 duits partiels est vidé par le signal de commande /0J appliqué au commutateur ZJ 20. En même temps, le registre ACT 28 est déclenché, avec un contenu de 18, par le signal de commande ^ 18 appliqué au commutateur ZC 27 au moment où le signal $ ACT est appliqué au registre ACT. Le facteur de multiplicande approprié 15 est également chargé dans le registre N par l'application du si- ■ . * gnal de commande approprié ^OQ, $ZR, ou ^ZR, au commutateur ZQ 42 et par la commande du registre N par le signal $EN. Le multiplicande est prélevé dans le registre AQ 56 par le commutateur ZR 46 à l'application du signal de commande /AQ., ou il est déca-20 lé d'un élément binaire à droite par l'application du signal de commande /R1. Dans ce dernier cas, l'élément binaire de signe du multiplicande est également aiguillé vers la position la plus significative de la ligne de sortie afin de produire une propagation de signe. 25 Après le cycle de positionnement de termes, 18 cycles de multiplication sont effectués avec GOM en "1". Ainsi que noté précédemment, ces cycles sont identiques à l'exception du dernier. Pendant chaque cycle, l'additionneur A produit la somme des produits partiels accumulés provenant du registre H et du fac-30 teur de multiplicande provenant du registre N, en réponse aux signaux de commande 0E et ^RiT appliqués aux commutateurs ZH et ZN. Cette somme est ensuite mémorisée dans le registre H, décalée de deux positions vers la droite, en réponse au signal de commande ^SR2 appliqué au commutateur ZJ et au signal p?H appliqué au 35 registre H. Le signe du produit partiel cumulé est sélectionné par une fonction OU-exclusive de la sortie d'éléments binaires de signe de l'additionneur A et du circuit basculeur de déborde- ogpy 72 15486 10 2135570 ment, le signe résultant est introduit dans la position voulue du commutateur ZJ. En même temps, le multiplicateur du registre M est décalé de deux positions vers la droite en réponse aux signaux de commande /$M2 et$M appliqués respectivement au commuta-5 teur ZP et au registre M. En même temps également, l'additionneur E réduit d'une unité le contenu du registre ACT par l'application d'un signal ^-1 au commutateur ZP, d'un signal ^ZF au commutateur ZE, d'un signal ^ACT au commutateur ZG, d'un signal jz£e au commutateur ZF et d'un signal $ACT au registre ACT. 10 En ce qui concerne le dernier des 18 cycles, le cycle GOM est simplifié si le contenu du registre ACT est égal à un. L'accumulation de produits partiels provenant de la sortie de l'additionneur A est mémorisée sans décalage dans le registre ÏT. Le signal de commande ^A est donc appliqué au commutateur ZQ. Le dé-15 calage du registre M est évité maiç. le contenu du registre ACT est réduit de la même manière. L'arrêt de l'opération de multiplication est effectué avec GOF en "1", ce qui consiste à transférer simplement le produit partiel cumulé vers le registre accumulateur général AQ 56. Les 20 signaux de commande ^BIT, $AS, ^AS, et $AQ provoquent le transfert du contenu du registre IT dans le registre AQ par le commutateur ZN, l'additionneur A, le registre AS, et le commutâteur ZL. Du fait qu'aucun signal de commande n'est appliqué au commutateur ZH, la sortie de l'additionneur A est la somme de zéro et du pro-25 duit final provenant du registre H. Le facteur de multiplicande est sélectionné en fonction des trois derniers éléments "binaires du registre M dè multiplicateur et la table de décision a été donnée dans le préambule de la présente description. Les trois éléments binaires les moins signi-30 ficatifs du registre M 14 sont appliqués à l'entrée du circuit logique 150 qui détermine le facteur de multiplicande 0, + 1/2, + 1. Ces facteurs peuvent être constitués par un signal de signe et deux signaux qui déterminent la valeur absolue. Le circuit logique 155 délivre les signaux de commande ^OQ, ^ZR, ^ZR, /R1, 35 ^AQ, en réponse aux signaux de facteurs de multiplicande provenant du circuit logique 150 et des signaux GOS et GOM provenant de l*unité de la figure 2. -Y 72 15486 11 2135570 Dans son principe, le cycle de multiplication comporte deux opérations essentielles, la première consistant à sélectionner le facteur de multiplicande en fonction des trois éléments binaires les moins significatifs du multiplicateur et à produire un 5 décalage arithmétique de deux positions vers la droite du produit partiel cumulé. La seconde opération consiste à additionner le facteur de multiplicande au produit partiel cumulé et à décaler le multiplicateur de deux positions vers la droite. Un point par lequel ce cycle diffère du cycle habituel de multiplication est 10 que le décalage est effectué avant l'addition. Cette différence ne ressort pas de la description ci-dessus car le premier décalage n'est pas réalisé explicitement. Le produit partiel cumulé initial est zéro,de sorte qu'il n'est pas nécessaire de décaler physiquement le registre H. La première et la seconde opération M 15 sont ensuite combinées de manièré^-que les produits partiels cumulés soient mémorisés, décalés de deux positions vers la droite, par anticipation sur le cycle suivant, à l'exception du dernier. La sélection du facteur de multiplicande et le décalage du multiplicateur s'effectuent en même temps. Si le décalage était effec-20 tué après l'addition, le dispositif devrait comporter deux circuits spéciaux pour le double et le quadruple du multiplicande. Dans le cas de données fractionnaires, le résultat voulu pour des termes de n éléments binaires est un produit de 2n-1 éléments binaires, c'est-à-dire un élément binaire de signe et deux 25 fois le nombre. Selon le présent mode de réalisation, le multiplicateur à 36 éléments binaires est initialement doublé, constituant un terme de 37 éléments binaires. Du fait que l'opération comporte 18 cycles, l'élément binaire de signe n'est pas utilisé directement comme élément binaire multiplicateur. Il n'intervient 30 que dans le choix du signe positif ou négatif du facteur de multiplicande pendant le dernier cycle. Si l'opération conventionnelle de multiplication fractionnaire est considérée comme une opération de multiplication de nombre entier, modifiée par une détermination de terminaison d'un décalage d'une position à gau-35 che, la modification initiale du multiplicateur effectuée dans le présent mode de réalisation peut être considérée comme un décalage anticipé d'une position à gauche du produit. • r .-y COPY 72 15486 " 2135570 Si l'opération de multiplication est considérée sous l'angle des nombres entiers, les termes multiplicateur et multiplicande peuvent être considérés comme étendus à un nombre binaire modulo 22n car le produit est modulo 22n. l'élément binaire de 5 signe peut être considéré comme décalé de n positions à gauche, le produit voulu de deux nombres positifs peut donc être considéré comme l'accumulation élémentaire de produits partiels en fonction des positions d'éléments binaires "1" du multiplicateur. Ainsi que décrit dans le préambule, le décalage du signe peut 10 être considéré comme effectué implicitement par la phase de dé-calage, élément binaire par élément binaire. Dans le cas d'un multiplicateur négatif, le processus est le même, le signe étant passé à un et les produits partiels cumulés étant effectivement limités au modûlo 22n. Dans le cas de multiplicateurs négatifs, 15 les résultats voulus peuvent être obtenus en multipliant les termes comme s'ils étaient des nombrespositifs, modulo 22n. Il n'est ni pratique, ni nécessaire d'effectuer 2n cycles pour des termes de n éléments binaires. lorsque le multiplicateur est examiné de la droite vers la gauche et que le nième "élément binaire est 20 atteint, l'opération peut être terminée. Dans le cas d'un multiplicateur positif, les éléments binaires décalés sont tous des zéros, de sorte que le produit n'est pas modifié par les autres cycles. Si le multiplicateur est négatif, les éléments binaires de signes décalés sont tous des uns,de: sorte que la soustraction 25 du produit partiel et la terminaison équivalent au traitement de tous les uns. Selon le présent mode de réalisation, dans le cas de multiplicateurs négatifs, le facteur de multiplicande est soustrait au dernier cycle, de manière telle que le- résultat obtenu est 30 le même qu'avec un cycle de multiplication supplémentaire sur le (n+1)ième élément binaire qui a provoqué la soustraction du multiplicande. Il a été constaté que la modification du terme multiplicateur au début de l'opération de multiplication, jointe aux considérations de combinaisons de signes, réduit au minimum les 35 circuits logiques de commande et les opérations de traitement. L'invention peut également être appliquée au traitement de multiplicateurs, trois éléments binaires à la fois. La table de décision est la suivante : • COPY ^ 72 15486 Eléments binaires du multiplicateur 13 2135570 Facteur de multiplicande 0 1/4 1/4 1/2 1/2 3/4 3/4 1 - 1 - 3/4 - 3/4 - 1/2 - 1/2 - .1/4 - 1/4 0 0 000 0 001 5 0 010 0 011 0 100 0 101 0 110 10 0 111 1 000 1 001 1 010 1 011 15 1 100 - 1 101 1 110 1 111 Mais les facteurs 3/4 et - 3/4 imposent la formation initiale 20 d'un "triple", c'est-rà-dire trois fois le multiplicande,et le dispositif doit comporter un registre destiné à mémoriser cette valeur. Des commutateurs et des circuits logiques supplémentaires sont également nécessaires pour remplir les fonctions imposées par la table de décision. 25 II faut également noter que l'opération de multiplication fractionnaire décrite est transformée en une opération de multiplication de nombres entiers, simplement par l'incorporation d'un décalage arithmétique d'une position à droite du résultat mémorisé dans l'accumulateur général AQ, pendant la terminaison de 30 l'opération. L'opération de multiplication fractionnaire s'applique aussi directement à la multiplication des parties fractionnaires de nombres à virgule flottante. Selon l'invention, il est possible de modifier la structure traditionnelle de traitement décrite dans le préambule, en utili-35 sant le registre accumulateur général à la fois comme accumulateur de produits partiels et comme registre de multiplicateur. Cependant, cette solution conduit à des complications plus grandes X- CJOPY 72 15486 U 2135570 lorsqu'il y a lieu d'effectuer des opérations en virgule flottante sur des termes avec deè parties fractionnaires dont la longueur dépasse la moitié de l'accumulateur général. Il va de soi que de nombreuses modifications peuvent être 5 apportées au dispositif décrit et représenté sans sortir du cadre de l'invention. En effet, l'invention s'applique de manière générale aux calculateurs numériques qui effectuent les multiplications en traitant plusieurs éléments binaires multiplicateurs à la fois. Par exemple, selon le mode de réalisation décrit, des 10 paires d'éléments binaires multiplicateurs sont traitées de droite à gauche mais l'ordre de traitement n'est pas important. Ces paires peuvent être traitées dans n'importe quel ordre ou en parallèle, mais ces modifications ont tendance à augmenter le prix du dispositif de traitement. OOPY 72 15486 15 " 2135570 REVENDICATIONS 1. Dispositif multiplicateur associé à un calculateur binaire, caractérisé en ce qu'il comporte un additionneur qui produit la somme algébrique binaire d'un premier et d'un second ter-5 sic d'entrée, un accumulateur connecté audit additionneur de manière à en mémoriser la sortie et à lui introduire ledit premier terme d'entrée, un registre de multiplicande connecté audit additionneur auquel il fournit ledit second terme d'entrée, un registre de multiplicateur destiné à mémoriser un facteur.multi-10 plicateur de m éléments binaires, un circuit logique connecté audit registre multiplicateur et qui, en fonction de l'état de n + 1 positions d'éléments binaires consécutifs du multiplica-- teur, sélectionne un facteur multiple algébrique dudit multiplicande destiné à être appliqué audit additionneur, la valeur algé-15 brique du facteur multiple étant, celle des éléments binaires examinés modifiée de manière que le signe du facteur soit négatif si l'élément binaire le plus significatif est un "1" et que la valeur absolue du facteur soit augmentée d'une unité si l'élément binaire, le moins significatif est un "1", ledit dispositif 20 multiplicateur comportant également un circuit de commande de cycle qui.provoque la mémorisation de la sortie dudit additionneur dans ledit registre accumulateur et qui décale de n positions d'éléments binaires le contenu dudit registre de multiplicateur et dudit registre accumulateur, et un circuit de terminaison qui 25 arrête le circuit de commande de cycle après m/n cycles. 2. Dispositif selon la revendication 1, caractérisé en ce qu'il comporte également un dispositif destiné à associer initialement un zéro à l'élément binaire le moins significatif dudit registre multiplicateur. 30 3. Dispositif multiplicateur, caractérisé en ce qu'il com porte un additionneur destiné à produire la somme binaire de deux termes et comportant une entrée de retenue, un registre accumulateur de produits partiels connecté audit additionneur et destiné à mémoriser les produits partiels cumulés et à fournir le premier 35 terme d'entrée, un registre de multiplicande destiné à mémoriser un multiplicande et à en appliquer sélectivement un multiple par 1/2, 1 ou 0 comme second terme audit additionneur, un registre de y._ v'Oi-y 72 15486 " 2135570 multiplicateur destiné à mémoriser un multiplicateur de m_éléments "binaires et comportant une position supplémentaire, un circuit de démarrage destiné à charger dans ledit registre de multiplicateur un multiplicateur multiplié par deux et justifié à droite, 5 un circuit logique qui, en fonction des deux positions d'éléments "binaires les moins significatives dudit registre de multiplicateur et de la position d'élément "binaire voisine, .commande le cycle de multiplication en fonction de règles selon lesquelles un multiple non nul du multiplicande est soustrait lorsqutun chiffre 10 1 se trouve dans ladite position d'élément binaire voisine, un multiple 0 du multiplicande est sélectionné si tous les éléments binaires examinés sont les mêmes, un multiple 1 du multiplicande est sélectionné si les deux éléments binaires du multiplicateur sont les mêmes1' et diffèrent de l'élément binaire voisin, et un mul-15 tiple 1/2 deejfoultiplicandes est sélectionné si les deux éléments binaires du multiplicateur diffèrent, ledit dispositif multiplicateur comportant également un circuit de commande de cycle qui produit exactement m/2 cycles de multiplication et qui, à "chaque cycle, mémorise la sortie dudit additionneur dans ledit registre 20 accumulateur de produits partiels, décalé de deux positions vers la droite sauf au dernier cycle, effectue l'opération d'àddition et décale ledit registre de multiplicateur de deux positions vers la droite. 4. Dispositif multiplicateur associé à un calculateur binai-25 re et caractérisé en ce qu'il comporte un additionneur qui produit la somme binaire d'un premier et d'un second terme , un registre accumulateur connecté audit additionneur et destiné à en mémoriser la sortie et à lui fournir ledit premier terme d'entrée, un registre général destiné à mémoriser un nombre multiplicande 30 binaire, un registre de facteurs de multiplicande destiné à mémoriser un multiple dudit nombre multiplicande, un circuit commutateur de multiplicandes qui relie ledit registre général audit registre de facteurs de multiplicande de manière à lui appliquer sélectivement, soit ledit nombre multiplicande, soit son cpmplément 35 à 1 et à appliquer sélectivement un facteur de zéro, une 'demi ou une fois ledit nombre multiplicande, un registre de multiplicateur destiné à mémoriser un nombre binaire de m éléments binaires, % 72 15486 17 2135570 un circuit commutateur de termes destiné à charger dans ledit registre multiplicateur un nombre dans lequel un zéro est associé à l'élément binaire le moins significatif, un circuit de décalage de multiplicateur destiné à interconnecter les posi-5 tions d'éléments binaires de manière que le contenu dudit registre de multiplicateur soit décalé de deux positions vers la droite, un circuit de décalage de produit partiel qui interconnecte ledit additionneur audit registre accumulateur de manière à décaler arithmétiquement la sortie dudit additionneur de deux 10 positions vers la droite, un circuit de comptage qui commande le nombre de cycles de multiplication et qui comporte un circuit de démarrage avec un contenu de m/2, un circuit de sélection de facteur de multiplicande qui, en fonction des trois éléments binaires les moins significatifs dudit registre de multiplicateur, 15 sélectionne la forme vraie dudit nombre multiplicande ou son complément à 1 et une retenue d'addition en fonction du plus significatif des trois éléments binaires, et qui sélectionne un multiple dudit multiplicande en fonction des deux éléments binaires les moins significatifs arrondis par excès, modulo huit, et un 20 circuit de commande de cycle qui, à la commande dudit circuit de comptage, commande cycliquement lesdits registres de termes, décale ledit registre de multiplicateur, et réduit le contenu dudit circuit de comptage jusqu'à ce qu'il atteigne zéro.