Brevet FR2026700A1 — publié le 19700918

• • 69 44113 2026700 La présente invention concerne un convertisseur "binaire-décimal d'un ordinateur, en particulier d'un- - calculateur de conduite de processus qui n'est pas complètement équipée pour des 'opérations aritîimétiques telles que la multiplication et la 5 division. Quand on travaille avec des calcultateurs il est souvent nécessaire de pouvoir lire rapidement un nombre "binaire "en clair", c'est-à-dire de transformer ce nombre "binaire en nombre décimal. Un opérateur de calculateur expérimenté lit facilement . 10 les nombres binaires constitués par un petit nombre de chiffres, tandis qu'il lui faut un certain temps pour traduire les nombres binaires longs» Dans le cas d'un calculateur équipé complètement pour des calculs arithmétiques, une conversion peut êtrô effectuée par exemple par des divisions successives par 15 10." Un calculateur destiné' à la conduite de processus n'a pas's toutefois, dans la plupart des cas, cette possibilité, ce qui signifie qu'une division par 10 doit être exécutée en programmant un certain nombre de soustractions et de décalages qui sont relativement longs, au mieux de l'ordre de 0,25 20' à 0,50 milliseconde. Selon l'invention, cette division est remplacée .pas une multiplication approchée qui est réalisée par un circuit conforme à l'invention* L-'-invention est décrite ci-après à titre non limitatif par une forme de réalisation qui se rapporte 25 aux dessins ci-annexés, sur lesquels : La figure 1 est un schéma représentant, le début de la conversion d'un nombre binaire en un nombre décimal et La figure 2 est un schéma représentant le stade final de la même opération de conversion, l'ensemble de ces figures re-50 présentant schématiquement l'appareil selon l'invention. Un registre, dans lequel:le nombre binaire qui doit être transformé est enregistré, est désigné par RA. Selon cette forme de. réalisation, ce registre comprend 16 positions de chiffres, qui rendent possible l'enregistrement de nombres 16 55 binaires jusqu'à 2 -10 S'il est nécessaire de convertir des nombres binaires plus importants, le nombre de positions de chiffres doit être augmenté de manière correspondante» Plusieurs ensembles additionneurs binaires A1, A2, A5 , A4- 69 44113 2 2026700 et A5 sont branchés en cascade de manière que la sortie des résultats de chaque additionneur d'un ensemble soit raccordée à chaque entrée d'addition de deux additionneurs séparés de l'ensemble situé en aval. L'ensemble additionneur A1 comprend 5 autant d'additionneurs, à savoir-16, qu'il y a de positions de,chiffres dans le registre RA ; lrensemble additionneur A2 comporte deux additionneurs de plus, dont l'utilité sera expliquée ci-après. En partant de l'ensemble additionneur de numéro . d'ordre n = 3, le nombre d'additionneurs est. augmenté de 10 2n~^ pour chaque nouvel ensemble additionneur, autrement dit l'ensemble additionneur A3 comporte, quatre additionneurs de plus que A2, l'ensemble additionneur A4 comprend 8 additionneurs de plus que A3, l'ensemble additionneur A 5 doit'comporter 16 additionneurs en plus mais, selon la figure il comporte 15 seulement le même nombre d'additionneurs que A4, puisque d'autres, additionneurs ne présentent aucun intérêt pratique en ce qui concerne le résultat de la conversion. Il suffit en effet que les ensembles additionneurs aient un nombre d'additionneurs suffisant pour que les quatre chiffres signi-20 ficatifs décimaux de rang le plus élevé du quotient soient , corrects, comme on l'expliquera ci-après. Les deux additionneurs différents sus-mentionnés auxquels la même sortie des résultats d'un additionneur de l'ensemble additionneur situé en amont est raccordée,sont placés dans l'ensemble additionneur A2, côte à dans 25 cote-, mais/1'ensemble additionneur situé en aval, ils sont placés à une distance égale à 2n~^, c'est-à-dire la distance de 4 additionneurs dans l'ensemble A3, de huit additionneurs dans A4 et de seize additionneurs dans A5. Eans l'ensemble additionneur A1, une unité est ajoutée au 30 nombre binaire à transformer, c'est-à-dire au nombre enregistré dans le registre RA„ Le résultat provenant de l'ensemble additionneur A1 est multiplié par 3 dans l'ensemble additionneur A2 et, pour chaque nouvel ensemble additionneur, le résultat provenant du précédent ensemble est multiplié par (2^n 1), 4 35 c'est-à-dire par 2+1 dans l'ensemble additionneur A3, par 2^ + 1 dans l'ensemble additionneur A4 et par 2^ + 1 dans l'ensemble additionneur A5. 69 44113 3 2026700 Si le nombre de positions do chiffres du registre RA ou le nombre d'additionneurs de l'ensemble Aî eut désigné par? p, I on obtiendra aux sorties des résultats des p-3 additionneurs les plus significatifs (correspondant aux chiffres significatifs do 5 rang le plus élevé) do l'ensemble additionneur A5 un nombre binaire qui représente le 1/10 du nombre binaire originel, comme on l'explique ci-après. Le résultat provenant desdits p-3 additionneurs les plus significatifs de l'ensemble additionneur A5, par conséquent treize selon l'exemple, est introduit 10 sous forme d'un nombre binaire dans un circuit comparateur J, tandis que les sorties des résultats de chacun des quatre additionneurs immédiatement suivants sont reliées séparément aux -quatre additionneurs les moins significatifs de l'ensemble additionneur A6 comprenant cinq additionneurs et une entrée supplé-15 mentaire des deux additionneurs les moins significatifs de l'ensemble additionneur mentionné en dernier comporte encore une autre entrée raccordée aux additionneurs de numéro d'ordre p-2 (= 14-) et p-1 (=15) de l'ensemble additionneur A5o S désigne un commutateur qui a un nombre de positions égal au nombre 20 maximal de chiffres binaires, fonction du nombre d'emplacements de chiffres binaires correspondant au nombre décimal cherché, cinq dans le présent exemple. Oe commutateur est, dans sa position initiale, placé en position 1 et avance pas-à-pas vers les autres positions dans un ordre approprié à partir du circuit com-25 parateur à la fin de chaque comparaison. Cinq registres binaires, comportant chacun quatre positions de chiffres binaires, sont désignés par RB1 , RB2...RB5. Le circuit comparateur détermine-si le résultat mentionné antérieurement,'provenant de l'ensemble additionneur A5, est supérieur à 0 et, si c'est le cas, le nombre 20 est introduit dans le registre RA et ensuite le processus recommence à l'aide des ensembles additionneurs connectés en cascade et une nouvelle comparaison est effectuée.. Dès'que le résultat est zéro, on observe une déviation d'un indicateur I. Comme on l'a signalé dans l'introduction, la conversion 35 d'un nombre binaire en un nombre décimal est exécutée de manière à réaliser une série de divisions par 10. Si l'on considère par exemple le nombre décimal 34 567, une division par 10 donne un quotient de 3456 et un reste égal à 7. Si l'on divise ensuite le quotient 3456 par 10, on obtient un nouveau quotient 345 40, et un nouveau reste 6. Si on continue ainsi, on obtient la 69 44113 4 2026700 fois suivante le quotient et le reste 5j ensuite le quotient 3 et le reste 4- et finaleméùt le quotient est 0 et le reste 3. Le premier reste obtenu constitue le dernier chiffre du nombre décimal, 6 constitue l'avant dernier etc.,et le dernier reste 5 obtenu représente le premier chiffre. Comme indiqué ci-:dessus, une division dans un calculateur qui n'est pas spécialement prévu pour des divisions est une opération assez longue. Si, au lieu d'une série de divisions par 10,1e calculateur - peut exécuter une série de multiplications par 1/10 ou 0,1, on peut 10 obtenir le résultat beaucoup plus rapidement. Cependant, 0,1 exprimé sous forme binaire est une fraction périodique incomplète de forme 0,000110011001100110011 o. Par conséquent, il est nécessaire de former un nombre binaire qui, avec une approximation ^ suffisante, contient la même série de "uns"' et de "zéros" que les chiffres binaires après la virgule (ou décimales binaires) sus-mentionnés, ce qui, cependant, n'est possible qu'en ayant recours à certains artifices. En multipliant des nombres binaires choisis de manière appropriée, un certain nombre de fois 20 l'un par l'autre, il est possible d'obtenir avec une bonne approximation la période de ladite fraction périodique incomplète. On à observé qu'en partant du nombre binaire 11 (3, décimal), une multiplication par le nombre 10001 (17j décimal) conduit au nombre 110011 (51 j décimal). En continuant la multiplication 25' par le nombre binaire 100000001 (2®+1 = 257» décimal) on obtient le résultat 11001100110011 avec déjà une approximation assez bonne. Après une nouvelle multiplication par 10000000000000001 (2^ +• 1 décimal) on obtient 110011001100110011001100110011 . qui constitue une approximation suffisante pour la fraction 50 périodique dans l'expression indiquant un 1/10 , si l'on a opéré avec une "virgule flottante". Cependant, on comprend facilement qu'il soit possible d'augmenter le nombre de uns et de zéros autant que cela est nécessaire par'une multiplication par (2^ ) + 1) dans laquelle n = 6, 7, 8.... ^ Comme on 11'a indiqué ci-dessus, l'addition de un au nombre binaire à transformer est exécutée dans l'ensemble additionneur A10 Ceci est une correction qui est'nécessaire, car . il est évident, d'après le tableau 1 ci-après, où l'on divise les nombres 1 à 11 par 10 : 44113 5 2026700 10 Système décimal 1/10 = 1.1/10 2/10 = 2.1/10 3/10 = 3.1/10 4/10 = 4.1/10 5/10 = 5.1/10 6/10 = 6.1/10 7/10 = 7.1/10 8/10 = 8.1/10 9/10 = 9.1/10 10/10 =10.1/10 11/10 =11.1/10 TABLEAU 1 1.0,0001 10.0,0001 11.0,0001 100,0,0001 101.0,0001 110.0,0001 111.0,0001 1000.0,0001 1001.0,0001 1010.0,0001 1011.0,0001 Système binaire 1001100110011. 1001100110011. 1001100110011. 1001100110011. 1001100110011. 1001100110011. 1001100110011. 1001100110011. 1001100110011. 1001100110011. 1001100110011. .= 0 .= 0 .= 0 .= 0 .= 0 .= 0 .= 0 .= 0 .= 0 .= 0 .= 1 ,0001100110. ,0011001100. ,0100110011. ,0110011001. ,0111111111. ,1001100110. ,1011001100. ,1100110011. ,1110011001. ,1111111111. ,0001100110. 15 20 25 30 55 Comme on le voit sur ce tableau, le quotient est incorrect quand le dividende est 10. Ceci s'applique à tous les multiples de 10, puisque les décimales binaires sont les mêmes pour le même chiffre final d'un nombre décimal arbitraire. Ce nombre est corrigé en ajoutant 1 au dividende avant la division par 10, c'est-à-dire la multiplication par 0,1. On obtient, en même temps, que les décimales binaires représentent le résultat final, comme cela est manifeste d'après ce qui suit. Si les quatre premiers chiffres binaires après la virgule sont multipliés , .conformément au tableau ci-dessus, par le nombre binaire 101 (5* décimal) et si on supprime les trois derniers chiffres du résultat, on obtient les relations ci-après : TABLEAU 2 "Division Quatre Après multiplication Suppression 40 premières décimales binaires par 5 des trois . dernières décimales 1/10 0001 ■0000101 0000 0 2/10 0011 0001111 0001 1 3/10 0100 0010100 0010 2 4/10 0110 0011110 0011 3 5/10 0111 0100011 0100 4 6/10 1001 0101101 0101 5 7/10 1011 0110111 0110 6 8/10 1100 0111100 0111 ? 9/10 1110 1000110 1000 8 10/10 1111. 1001011 1001. 9 69 44113 6 2026700 Comme l'indique le tableau, après avoir multiplié les valeurs de la seconde colonne par le chiffre "binaire 101 et après avoir supprimé les trois derniers chiffres "binaires, on obtiendra les valeurs des restes de la division d'un nombre 5 décimal correspondant au nombre binaire originel. On a tenu compte de ces observations dans l'appareil selon.l'invention. Le mode de fonctionnement de cet appareil peut maintenant être expliqué facilement à l'aide des figures, dont la figure 1 représente le stade initial de la conversion en un nombre décimal 10 du nombre binaire 10110111Q1111100 qui a été enregistré dans le registre RA, Dans l'ensemble additionneur A.1 , on ajoute un à ce nombre3 dans l'ensemble additionneur A2, on réalise une multiplication par 3 à l'aide d'un décalage d'un échelon suivi de l'addition de ce nombre à la valeur décalée, on exécute une mul-15 tiplication par 2^ + 1 dans l'ensemble additionneur A3 à l'aide d'un décalage de quatre échelons suivi de l'addition du nombre au chiffre résultant du décalage, dans l'ensemble additionneur Q A4-, on exécute une multiplication par 2 + 1 en utilisant un décalage de 8 échelons et une addition du nombre avant décalage, 20 et dans l'ensemble additionneur A5, on réalise une multiplication -par 2 + 1 à l'aide d'un décalage de seize échelons suivi d'une addition» Les treize additionneurs les plus significatifs de l'ensemble additionneur A 5 contiennent maintenant le nombre binaire 1001001011001 qui est le quotient obtenu par division 25 par 10 et les quatre additionneurs suivants de l'ensemble additionneur contiennent le nombre binaire 0100 qui constitue les quatre décimales les plus significatives du résultat, voir tableau 2. Par un décalage de deux.échelons suivi de l'addition du nombre décalé à la valeur ainsi obtenue par décalage, on réalise 30 une multiplication par 5.dans l'ensemble additionneur A6. Comme on le voit sur la figure , les trois derniers chiffres qui auraient été obtenus dans le résultat provenant de l'ensemble additionneur A6 doivent disparaître comme indiqué sur le tableau 2o Les quatre premiers additionneurs de l'ensemble additionneur 35 A6 contiennent alors sous forme binaire le reste 0010 de la première division par 10. Le commutateur S est alors en position 1 et l'information 0010 est transmise au registre RBl. Le quotient 1001001011001 est transmis de l'ensemble additionneur au circuit comparateur 69 44113 7 2026700 les mêmes opérations un certain nombre de fois, les restes obtenus par des déplacements successifs du commutateur S étant enregistrés les uns après les autres dans les registres RB2, RB3 et RB4 , respectivement, tandis que les quotients formés dans chaque boucle après comparaison avec zéro sont transférés 5 au registre RA. On admet maintenant (voir figure 2) qu'une seule boucle subsiste. Dans le registre RA, on enregistré le nombre 0000000000000100. Quand ce nombre a été traité dans les ensembles additionneurs A1 à A5, les treize'premiers additionneurs de l'ensemble A5 contiennent maintenant uniquement 10 des zéros, autrement dit le quotient est maintenant zéro, ce qui est indiqué par le circuit comparateur J, et l'indicateur I indique que la conversion a été achevée. En même temps, les quatre premières décimales 0111 des 14° au 17° additionneurs de l'ensemble additionneur sont multipliées par 5 et les quatre 15 premiers chiffres binaires du résultat sont transmis par le commutateur S, qui est maintenant en position 5j au registre RB5. Les registres RB5 à RB1 indiquent maintenant le résultat sous forme de chiffres décimaux codés en binaire. » Gomme l'indique la figure 2, on lit le résultat ci-après : 20 0100, 0110, 1001.3 0111 j 0010, c'est-à-dire le nombre 46<>972o - Le temps-nécessaire pour convertir le nombre binaire 1011011103 111100, en le nombre décimal 46.972 sous forme de chiffres décimaux codés en binaire doit être beaucoup moins long que si la conversion est réalisée de manière classique à 25 l'aide d'un programme > à savoir de l'ordre de 10 %, ou moins, du temps nécessaire pour travailler avec un programme, puisque chaque circuit additionneur exécute l'opération à effectuer en environ 0,5 microseconde tandis qu'un additionneur à programme exécute l'opération correspondante en 5 microsecondes 30. . environ. 69 44113 8 2026700 REVENDICATIONS 1. Circuit d'ordinateur, en particulier de calculateur de conduite de processus, pour réaliser une conversion rapide " d'un nombre "binaire en un nombre décimal, caractérisé en ce qu'il-comprend, en conformité avec la précision .exigée de la 5 conversion, un nombre d'ensembles additionneurs ayant des numéros' d'ordre n = 1 ,2,3..... et est constitué par des additionneurs binaires, lesdits ensembles additionneurs étant.interconnectés en cascade de manière que le circuit de sortie des résultats de chaque additionneur faisant partie d'un ensemble soit relié 10 à chacune des entrées d'addition de deux additionneurs séparés de l'ensemble additionneur situé en aval, le premier ensemble additionneur comportant un nombre d'additionneurs au moins égal au nombre p de rangs de chiffres du nombre binaire à convertir, le second ensemble additionneur comportant deux additionneurs 15 de plus que le premier et à partir de l'ensemble additionneur de numéro d'ordre n = 3, le nombre d'additionneurs augmente de n-1 2 pour chaque ensemble additionneur consécutif, lesdits deux additionneurs séparés, auxquels le même circuit de sortie des résultats d'un additionneur de l'ensemble d'additionneurs situé 20 en amont est connecté, étant placés dans l'ensemble additionneur de numéro d'ordre n = 2, à côté l'un de l'autre, et dans l'ensemble additionneur suivant, à une distance l'un de l'autre correspondant à 2n_'' additionneurs, si bien que lors de l1 «•>*--régistrement du nombre binaire qui est à convertir dans le 25 premier ensemble additionneur et après addition d'une unité dans les autres ensembles additionneurs, la valeur du nombre binaire originel augmentée de 1 est obtenue multipliée par 3 > et pour chaque ensemble additionneur ultérieur, le résultat provenant de l'ensemble additionneur précédent est multiplié par (2^ + 1) 30 un circuit comparateur étant branché et conçu de manière à comparer les nombres représentés par les résultats obtenus aux sorties des additionneurs les plus significatifs de numéros d'ordre p-3 dans le dernier ensemble additionneur et dans le cas où ce nombre est'supérieur à 0, à l'introduire dans le pre-35 additionneur mier ensemble additionneur, et de plus un autre ensemble/est incorporé avec cinq additionneurs auxquels chaque entrée des quatre additionneurs les moins significatifs est raccordée séparément aux sorties donnant les résultats des additionneurs de numéro d'ordre p-2, p-1, p et p+ 1, comptés à-partir de 4-0 l'additionneur le plus significatif du dernier ensemble 69 44 T T 3 9 2026700 additionneur et une entrée supplémentaire de chacun des deux additionneurs les moins significatifs est raccordée aux additionneurs de numéro d'ordre p-2 et p-1, respectivement, dans le dernier ensemble additionneur et de façon qu'un commutateur 5 soit incorporé pour chaque opération de comparaison dans le circuit comparateur, ledit commutateur étant connecté dans l'ordre approprié aux différents registres, chacun d'eux étant destiné à la présentation de chiffres décimaux codés en binaire du nombre calculé afin d'introduire dans ces derniers 10 le résultat provenant des quatre additionneurs les plus significatifs du.clit autre ensemble.