FR 2463452 A1 19810220 FR 7920524 A 19790810 O3NT.BOU 2463452 La présente invention a pour objet un dispositif addition- neur et soustracteur de nombres binaires ou décimaux, comportant au moins un opérateur binaire. L'invention a également pour objet un opérateur décimal, comportant un tel dispositif addi- tionneur et soustracteur. On connait de nombreux circuits électroniques qui réalisent l'addition et la soustraction de nombres binaires, mais seule- ment de nombres binaires. Par ailleurs, on connait également des circuits réalisant addition et soustraction de nombres décimaux, mais en général encore seulement de nombres décimaux. Dans les deux cas, l'obtention du résultat sous une autre forme nécessite une conversion en sortie du dispositif. La présente invention a pour objet un dispositif de réali- sation simple, permettant notamment d'additionner ou de sous- traire des nombres qui soient exprimés sous forme binaire ou codés en décimal, selon un certain nombre de codes prédéfinrs. A cet effet, ce dispositif comporte au moins un opérateur binaire susceptible de réaliser une addition ou une souszrat- tion bit à bit de chiffres d'entrée, ceux-ci étant exprimai a l'aide d'un nombre déterminé (m) de bits, et au moins uae mémoire et qui fournite, sur commande extérieure, pour chaque SLite de bits en provenance de l'opérateur binaire précédent une valeur qui est le résultat de l'opération considérée, addition ou soustraction par exemple, exprimée sous firms binaire ou sous forme de l'un des codes décimaux précédent. L'invention a également pour objet un opérateur déoi.l -onportant un tel dispositif additionneur et soustracteur. D'autres objets, caractéristiques et résultats de li.ten- tion ressortiront de la description suivante, donnée à titre d'exemple non limitatif et illustrée par les dessins annexés, qui représentent - - la figure 1, le schéma général d'un mode de réalisation du dispositif selon l'invention; - la figure 2, le contenu des mémoires utilisées dans le dispositif selon l'invention; - la figure 3, un tableau indiquant certaines des fonctions 2 - 2463452 qui sont réalisées par le dispositif selon l'invention. Sur ces différentes figures, les mêmes références se rapportent aux mêmes éléments. Sur la figure 1, on a représenté un opérateur binaire OB qui reçoit deux chiffres décimaux 0ln et 02n appartenant respectivement à deux nombres décimaux. Ces chiffres décimaux sont exprimés en binaire selon un code défini; à titre d'exemple, le dispositif selon l'invention est décrit ciaprès pour le traitement de nombres décimaux codés selon le codage DN (pour Décimal Normal) ou selon le codage DT (pour Décimal Transcodé). Dans le premier type de codage (DN), les chiffres décimaux sont représentés par leur valeur dans la base 2 et sont donc exprimables à l'aide de m = 4 bits, comme illustré sur les figures. Dans le codage DT, les chiffres décimaux sont représentés par leur valeur en base 2 augmentée de 3;-le résultat est également exprimable sur m = 4 bits. L'opérateur binaire reçoit également des commandes COB qui seront décrites plus loin. En fonction des chiffres D1 et 02 et des commandes COB reçues, l'opérateur binaire OB fournit d'une part un chiffre Sn de sortie sur m bits, qui est le résultat de l'opération demandée par les commandes C.., et'd'autre part l'indication d'une éventuelle retenue C A titre d'exemple, l'opérateur binaire OB peut être constitué par un circuit électronique fabriqué par la Société TEXAS-INSTRUMENTS sous la référence 745S 181. Le chiffre S est transmis à une mémoire M. La mémoire M reçoit par ailleurs l'indication de la retenue CD(n) ainsi que des commandes C1 et C2 et une entrée E i(n) L'ensemble de ces indications constitue une adresse (sur huit bits) de la mémoire M à laquelle se trouve une valeur Rn, que la mémoire M fournit en réponse. L'opérateur binaire OB et la mémoire M appartiennent tous les deux à un même sous-ensemble noté Bn, qui donc fournit à partir de deux chiffres 0ln et 02n un résultat Rn, l'indice n caractérisant le sous-ensemble. Le dispositif selon l'invention comporte une pluralité de tels sous-ensembles: autant de sous- ensembles que les nombres à traiter par le dispositif compor- tent de chiffres. A titre d'exempIe, on a schématisé sur la figure deux autres sous-ensembles appelés B n-1 et Bn+1 se situant, dans la chaine, de part et d'autre du sous-ensemble Bn. Chacun de ces sous-ensembles reçoit deux chiffres décimaux n exprimés sur m = 4 bits (01(n-1) et 02(n- l) pour Bn-l' 01(n+l) et 02(n+1) pour Bn+1) et fournit un résultat (Rnl et Rn+l respectivement) sur le même nombre de bits.Les inter- connexions entre les sous-ensembles B sont réalisées de la façon suivante: - la retenue d'un sous-ensemble est dirigée vers l'étage suivant, C'est-à-dire que la retenue CO(n_1) de Bn1 est diri- gée vers Bn, o elle est désignée par Cin) et ajoutée 2n n i(n)etajuéà 2 par exemple, et-la retenue CO(n).de Bn est dirigée- vers Bn+l, o. elle est désignée Ci(n+l), etc... - le bit de poids le moins fort (Eo) du nombre S fourni par l'opérateur binaire OB constitue l'entrée Ei du sous-ensemble précédent: le bit Eo(n) de Bn est fourni à l'entrée Ei(n-i) de Bn_1; le bit EO(n+l) est fourni à l'entrée El(n) de Bn, etc... La figure 2 illustre un contenu possible pour la mémoire M, c'est-à-dire la valeur de R se trouvant à l'adresse constituée par les informations Cl, C2, E, CO et S. Par souci de simpli- fication, les valeurs de R et de S sont représentées sous forme hexadécimale. La mémoire M est de préférence une mémoire morte (ou mémoire à lecture seule ou ROM) d'une capacité minimale de 1024 bits. On a représenté, à titre d'exemple, quatre modes de fonc- tionnement possibles pour la mémoire M, à savoir sortie - directe (SD), décalage à droite (DD), transcodages de type I (TI) et de type II (TII). Ces quatre modes de fonctionnement sont différenciés à l'aide des bits de commande C1 et C2. La première ligne du tableau de la figure 2 représente le premier mode de fonctionnement, 5D, dans lequel le résultat est désiré-sous forme binaire, c'est-à-dire que le résultat R est identique à la sortie S de l'opérateur binaire. Ce mode de fonctionnement est par exemple caractérisé par C1= O et C2 = ; les valeurs de Ei et de CO ne sont pas indiquées parce qu'elles sont indifférentes. On constate que les valeurs de R indiquées sur la première ligne du tableau sont identiques aux valeurs de S fournies par l'opérateur OB à la mémoire M. Le deuxième mode de fonctionnement possible (DD) corres- pond à un décalage d'une position binaire vers la droite. Dans l'exemple de la figure, les valeurs correspondant pour C1 et C2 sont respectivement O et 1. Les valeurs de R fournies par la mémoire-M ne sont pas ici les mêmes selon que le bit de poids le plus faible (E) de l'étage précédent est égal à 0 ou à 1. Le tableau de la figure 2 comporte à cet effet deux lignes: - la première ligne correspond au cas o le bit reçu sur l'entrée EI est égal à O; la suite de la ligne indique les valeurs de R correspondant aux différentes valeurs de S: à titre d'exemple, pour S = 5, R = 2; - la deuxième ligne de ce second mode de fonctionnement corres- pond au cas o le bit reçu sur l'entrée E. est égal à 1; à titre d'exemple, pour S = 3, R = 9. Dans l'un et l'autre cas, la valeur de la retenue CO est indifférente. Le troisième mode de fonctionnement indiqué sur le tableau de la figure 2 (T) .correspond à un premier type de transcodage, pour lequel la valeur des bits de commande C1 et C2 est respectivement 1 et 0. Dans ce mode de fonctionnement, la valeur (R) fournie par la mémoire M dépend de l'existence d'une retenue (CO) et la valeur du bit reçu sur l'entrée Ei est indifférente. La première ligne de ce mode Ti correspond à une valeur nulle de la retenue CO; dans ce cas, le résultat R fourni par la mémoire est égal à S - 3; pour les valeurs 0, 1 et 2 de S, cette opération n'est pas possible: c'est ce qui est indiqué par des tirets dans les cases correspondantes. Lorsque la retenue C0 est égale à 1, la ligne suivante indique les valeurs correspondantes de R * elles sont égales à S + 3; les valeurs A, B, C, D, E et F sont impossibles pour S dans ce cas, ce qui est indiqué par des tirets dans les cases corres- pondantes. Le quatrième mode de fonctionnement,- TI,, correspond à des bits de commande C1 et C2 égaux à 1. Comme pour Ti, la valeur du bit reçu sur l'entrée Ei est indifférente mais la valeur de la retenue C0 donne lieu à deux fonctionnements différents: - lorsque la retenue C0 est nulle, la valeur R fournie par la mémoire est égale à S - 6, ce qui est indiquée par l'avant dernière ligne du tableau; par exemple pour S = 8, R _ 2; pour S inférieur à 6, ce mode de fonctionnement n'est pas possible, ce qui est indiqué par les tirets dans les cases correspondantes; - lorsque la retenue C0 ést égale à 1, la valeur R est égale à celle S; toutefois, les valeurs de S égales à A, B, C, D, E ne correspondent à aucun cas de fonctionnement réel, ce qui est indiqué par des tirets dans les cases correspondantes. La figure 3 représente à titre d'exemple des fonctions qui sont réalisées par le dispositif selon l'invention en utilisant les modes de fonctionnement TI et TI, particuliers décrits sur la figure 2. La première colonne de ce tableau représente différentes fonctions qui peuvent être réalisées par l'opérateur binaire OB et qui sont sélectionnées par l'intermédiaire des commandes COB. A titre d'exemple, on a représenté sept de ces fonctions, ce qui peut être exprimé à l'aide de mots binaires de trois bits appliqués sur les entrées COB. La deuxième colonne de ce tableau indique le mode de codage décimal dans lequel sont exprimés les chiffres d'entrée 1 et 02 pour chacune des fonctions précédentes. La troisième colonne représente le mode de fonctionnement choisi pour la mémoire M, selon le tableau de ia figure.2, pour chacune des fonctions précédentes. Les dernières colonnes illustrent le résultat R obtenu dans chaque cas, la première colonne indiquant la valeur de ce résultat et la seconde, le codage dans lequel est exprimé le résultat. Les deux premières lignes (L1 et L2) du tableau repré- sentent des fonctions de transcodage (T): - la première ligne (L1) représente un transcodage du décimal normal (DN) au décimal transcodé (DT) . Pour cela, on fournit à l'opérateur OB un chiffre (par exemple 02) exprimé en décimal normal (DN) et on lui ajoute 6. La mémoire M fonctionne alors en transcodage Ti et le résultat obtenu est le chiffre initial (02) exprimé en codage DT. - la deuxième ligne (L2) de ce tableau représente un trans- codage du décimal transcodé (DT) au décimal normal (DN); pour cela, l'opérateur binaire OB reçoit un chiffre (02 par exemple) exprimé en décimal transcodé (DT); le résultat (S) de l'opé- ration est fourni à la mémoire M qui fonctionne en transcodage TIet le résultat obtenu à la sortie de la mémoire est le chiffre initial (02) mais exprimé en décimal normal (DN). Le dispositif fonctionne également en additionneur, ce qui est représenté dans les lignes suivantes (L3 à L6) du tableau de la figure 3, repérées globalement A. La première ligne (L3) illustre le cas o les deux chiffres 01 et 02 sont exprimés en décimal normal (DN). Dans ce cas, l'opération s'effectue en deux phases. Au cours de-la première phase, il est ajouté 6 au chiffre 0', (ou 02); l'opérateur OB est utilisé en additionneur binaire et la mémoire M en mode sortie directe SD. Puis lors de la seconde phase l'autre chiffre d'en- trée 02 (ou 01) est ajouté au résultat précédent. Selon le trans- codage opéré par la mémoire M (TI ou Tii), le tableau de la fi- gure 3 montre que le résultat obtenu est la somme des chiffres 350 1 02 exprimée soit en décimal transcodé (ligne L3) soit en décimal normal (L4). Lorsque les chiffres 01 et 02 sont exprimés en décimal transcodé (DT), la commande COB est telle que soit réalisée par l'opérateur OB la simple addition de 01 + 02; selon que le transcodage opéré par la mémoire M est du type TI (ligne L5) ou TII (ligne L6), le résultat 01 + 02 est obtenu en codage DT ou DN, respectivement. Une autre fonction qu'est susceptible de réaliser le dispo- sitif selon l'invention est la soustraction (ST) 01 - 02. Lorsque les chiffres 01 et 02 sont fournis à l'opérateur OB en codage DN, le résultat est fourni en codage DT ou DN (respectivement lignes L7 et L8 du tableau) selon que le mode de fonctionnement de la mémoire M est du type TI ou Tii. Lorsque les chiffres 01 et 02 reçus par l'opérateur OB sont codés en décimal transcodé (DT), le résultat 01 - 02 est fourni en codage DT (ligne L9 du tableau) ou DN (ligne Llo) selon que, de la même façon; la mémoire M a fonctionné en transcodage du type Ti ou Tii. Les dernières lignes du tableau (L1l et L12) représentent la fonction de conversion d'un chiffre représenté en hexadécimal en un nombre décimal Cette opération nécessite deux sous-ensem-' bles reliés de la façon décrite précedemment et repérés para-et b. Le premier dispositif (a) ?reçoitúla valeur zéro sur l'une des entrées, 02a par exemple, le second reçoit le chiffre hexadécimal à convertir sur l'entrée 02b. Ceci est représenté par la notation (0,02) dans la première colonne du tableau de la figure 3. Les autres entrées O.a et Ob, dans l'exemple, reçoivent la cons- tante 6,et les opérateurs effectuent l'opération d'addition de- mandée par la commande COB. Le résultat final, noté (OD, ODb) dans la.quatrième colonne du tableau, est un nombre décimal formé de deux chiffres. Le premier, ODa, est nul pour les chiffres hexadécimaux inférieurs ouégaux à 9 et vaut 1 pour les chiffres hexadécimaux supérieurs à 9. Le second chiffre, ODb, est la partie décimale du chiffre hexadécimal. Selon le transcodage opéré par la mémoire M (TI ou TI),les chiffres ODa et ODb se trouvent respectivement codés en DT pour la ligne Lll ou en DM pour la ligne L12. 8 2463452 Le dispositif décrit ci-dessus permet donc de réaliser un certain nombre d'opérations, notamment addition et soustraction, sur des nombres décimaux, exprimés selon des.codes décimaux différents ainsi que de réaliser un-certain-nombre de transco- dages, d'un code dans l'autre. Bien entendu, l'invention n'est pas limitée à l'exemple décrit et, en particulier, il est possible de faire varier le nombre de bits sur lequel sont exprimés les commandes et les chiffres d'entrée. Ce dispositif additionneur et soustracteur décimal est susceptible de faire partie d'un opérateur décimal comprenant notamment un multiplicateur et un diviseur décimal, ce dernier pouvant comporter un dispositif d'estimation du quotient tel que décr-it dans la demande de brevet français NI 79.19083.au nom de SEMS. R E V E N D I C A T IO N S 1. Dispositif additionneur et soustracteur, caractérisé par le fait qu'il comporte au moins un opérateur binaire (OB) et une mémoire (M), l'opérateur binaire (OB) recevant des chiffres (O1, 02) exprimés sur un nombre déterminé de bits selon un code représentant un nombre binaire ou décimal, et réalisant une opération, définie par une commande extérieure (COB), sur les chiffres d'entrée, bit à bit; la mémoire (M) recevant le résultat (S) fourni par l'opérateur binaire (OB) et four- nissant sur commande extérieure (C1, C2) une valeur (R) qui est le résultat de l'opération précédente, exprimée sur un nombre déterminé de bits selon un code représentant un nombre binaire ou décimal. 2. Dispositif selon la revendication 1, caractérisé par le - fait qu'ilcomporte une pluralité de sous-ensembles (B), chacun de ces sousensembles traitant deux chiffres décimaux appartenant respectivement à deux nombres décimaux, le dispositif comportant autant de sous-ensembles que les nombres à traiter comportent de chiffres, chacun des sousensembles comportant un opérateur binaire (OB) et une mémoire (M), l'opérateur binaire recevant en outre l'indication (Ci) de la retenue de l'étage préc6dent et fournissant à l'étage suivant l'indication (CO) de la retenue des opérations qu'il effectue. 3. Dispositif selon la revendication 2, caractérisé par le fait que la mémoire (M) de chacun des sous-ensembles (B) reçoit l'indication (Ei) du bit de poids le plus faible du a résultat (S) fourni par l'opérateur binaire (OB) de l'étage suivant, et fournit une valeur (R) qui est le décalage à droite d'une position binaire du nombre d'entrée. 4. Dispositif selon l'une des revendications précédentes, caractérisé par le fait que les mémoires (M) sont des mémoires mortes. 5. Opérateur décimal, caractérisé par le fait qu'il comporte un dispositif selon l'une des revendications précédentes.