Brevet FR2461981A1 — publié le 19810206

i 2461981 La présente invention concerne la réalisation de l'opération de division de deux nombres décimaux l'un par l'autre, et elle a plus particulièrement pour objet un dispo- sitif d'élaboration du quotient de cette division. Pour réaliser une division entre deux nombres décimaux, on a généralement recours à la conversion préalable en binaire, la division elle-même s'effectuant en binaire et le résultat étant ultérieurement converti à nouveau en décimal; la division binaire s'effectue soit à l'aide d'un opérateur banalisé et piloté par un programme spécifique, soit à l'aide d'un opérateur spécialisé. Toutefois, ces conversions représentent un inconvénient que la présente invention permet d'éviter en réalisant l'opération de division directement sur des nombres décimaux. Il se pose alors le problème de l'estimation du quotient à chaque étape de la division, il faut estimer un chiffre décimal du quotient, puis multiplier le diviseur par ce chiffre estimé et retrancher ce produit du dividende ou du reste partiel. Suivant le résultat de cette soustraction (positif ou négatif, supérieur ou inférieur au diviseur), il est ou non nécessaire de recommencer cette série d'opérations avec un nouveau chiffre décimal, jusqu'à ce que soit obtenu un reste positif et plus petit que le diviseur. Il apparaît que l'opération de division est d'autant plus longue que les esti- mations sont rarement correctes. La présente invention a paur objet un dispositif d'élabo- ration du quotient tel que le chiffre estimé soit le chiffre correec plus d'une fols sur deux et que, dans les autres cas, ce soit le chiffre qui est inférieur d'une unité au chiffre primitivement estimé qui soit correct. A cet effet, le diviseur selon l'invention comporte trois mémoires: les deux premières ont un contenu identique, et reçoivent un nombre fini (n) de chiffres de poids les plus forts respectivement du dividende et du diviseur.; dans un mode de réalisation, ce nombre n est égal à deux; chacune de ces 2 2461981 mémoires fait correspondre aux chiffres reçus un numéro de zone, c'est-àdire que la suite des nombres formés pour ces n chiffres (de 10 à 99 dans l'exemple précédent) est découpée en un nombre fini de zones; la troisième mémoire reçoit les deux numéros de zones fournis par les deux premières mémoires; dans cette troisième mémoire sont enregistrés les plus grands quotients possibles pour chaque combinaison, ces quotients étant obtenus en divisant le plus grand nombre compris dans la zone contenant le dividende par le plus petit nombre compris dans la zone contenant le diviseur. La définition des zones dans les deux premières mémoires est telle que le chiffre fourni par la troisième soit le quotient correct plus d'une fois sur deux et que, dans le cas o il ne le serait pas, le quotient correct soit le chiffre qui lui est inférieur d'une unité. D'autres objets, caractéristiques et résultats de l'invention 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érai du dispositif selon l'invention; - la figure 2, un tableau explicatif du découpage en zones réalisé dans deux des mémoires utilisées dans le dispo- sitif selon l'invention; - la figure 3, un tableau explicatif du contenu de la troisième mémoire utilisée dans le dispositif selon l'invention. Sur ces différentes figures, les mêmes références se rapportent aux mêmes éléments. Ce dispositif comporte trois mémoires repérées Ml, M2 et M3 qui sont de préférence des mémoires mortes (ou mémoires à lecteure seule ou ROM). La mémoire M1 reçoit un nombre fini n de chiffres décimaux, ce nombre étant égal à deux dans ce mode de réalisation et référencés dil et d12, qui sont les chiffres de poids les plus forts du dividence (ou du reste partiel d'une division en cours) D Ces chiffres décimaux sont de préférence codés en binaire, à l'aide de tout code connu, sur au moins quatre bits; la mémoire M1 comporte donc au moins huit entrées dans le cas o n = 2. De façon analogue, la mémoire M2 reçoit n chiffres décimaux,dans le cas de la figure: d et d codés sur 21 22, oé u quatre bits chacun, qui sont les deux chiffres de poids les plus forts du diviseur D2. Chacune des mémoires Ml et M2 peut donc recevoir un îo nombre quelconque dans la suite des nombres de 10 à 99 si n = 2. Ces mémoires ont pour fonction de découper cette suite de nombres de 10 à 99 en un certain nombre de zones numérotées et d'affecter au nombre reçu le numéro de zone correspondant. La figure 2 illustre un mode de découpage en zones, c'est-à-dire le contenu des mémoires M ou M2, dans le cas o n = 2. L'espace des nombres de 10 à 99 est divisé en seize zones, ce qui représente un compromis satisfaisant entre la complexité et la précision, et qui permet en outre une numérotation (hexadécimale) sur quatre bits. La figure 2 se présente sous la forme d'un tableau dont la première colonne (1) représente les valeurs que peuvent prendre les nombres d'entrée (dil - d12 pour Ml et d21 - d22 pour M2); ces valeurs sont donc divisées en seize tranches et la deuxième colonne du tableau (2) indique en représentantion hexadécimale le numéro de la zone corres- pondante qui est fourni sur la sortie (ml pour Ml et m2 pour M2) de la mémoire. Par exemple,-pour la deuxième zone, si dil est égal à l et d12 est égal à 2, on se trouve dans la deuxième zone du tableau qui porte le numéro 1 et la mémoire M1 fournit en conséquence une sortie m1 égale à 1. Il est par ailleurs à noter que les différentes zones sont de longueur inégale; en effet, le découpage en zones est fait suivant une série géométrique de raison / É, la borne théorique des zones étant toutefois arrondie au nombre entier le plus proche. Le résultat de ces approximations est donné sur le tableau de la figure 2. Si l'on se reporte à nouveau à la figure 1, on voit que la mémoire M1 fournit donc le numéro de zone (ml) dans laquelle sont compris les deux chiffres (dil et d12) de poids les plus forts du dividende (D1) et que la mémoire M2 fournit de la même manière le numéro de zone (m2) dans laquelle est compris le nombre formé par les deux chiffres (d21 et d22) de poids les plus forts du diviseur (D2). Ces deux numéros de zones m1 et m2 sont dirigés vers la troisième mémoire (M3) qui a pour fonction de fournir un nombre Q qui est le quotient estimé de la division de D1 par D2. A cet effet, la mémoire M3 contient -pour chaque valeur possible du couple m l m2 le quotient maximum possible Q, obtenu en divisant le plus grand nombre compris dans la zone contenant le dividende (m1) par le plus petit nombre compris dans la zone contenant le diviseur (m2). La figure 3 illustre le contenu de la mémoire M3 corres- pondant aux contéens des mémoires M1 et M2 décrits figure 2. C'est un tableau à deux entrées dans lequel la première ligne (3) indique les valeurs possibles de la variable m2 et la première colonne (4) indique les valeurs possibles de la variable m. La valeur du quotient maximum Q est obtenue à l'intersection des valeurs correspondantes de m1 et m2. Pour m1 = m2, on a bien entendu Q = 1, ce qui constitue une diagonale du tableau. A droite de cette diagonale, on a m2 > ml c'est-à-dire que le diviseur est plus grand que le dividende: dans ce cas, la mémoire M3 fournit directement deux chiffres du quotient estimé, le premier étant 0. Un important avantage de ce dispositif est que le quotient réel est, du fait de la longueur choisie pour les zones, soit le quotient estimé dans plus d'un cas sur deux, soit le chiffre qui lui est inférieur (du fait qu'il correspond au dividende maximum et au diviseur minimum) d'une unité. Ce dispositif d'estimation du quotient-est destiné à faire partie d'un diviseur décimal, qui comporte en outre au moins un 2461981 multiplicateur, un soustracteur et des registres mémoires, ces éléments permettant, ainsi qu'il est dit plus haut, de calculer le reste partiel de la division, de vérifier que le quotient estimé est correct, de calculer le nouveau reste, ainsi que de conserver les données et les résultats intermédiaires. 6 2461981 R E V E N D I C A T I O N S 1. Dispositif d'élaboration d'un quotient de deux nombres décimaux, caracartérisé par le fait qu'il comporte: une première mémoire (M1) recevant un nombre fini (n) de chiffres (d12, dl,) de poids les plus forts du dividende ou du reste partiel; une seconde mémoire (M 2) recevant le même nombre (n) de chiffres (d21, d22) de poids les plus forts du diviseur, la suite des nombres entiers formée par ces chiffres étant découpée en un nombre fini de zones, chacune de ces mémoires contenant des numéros affectés à chacune de ces zones et four- nissant le numéro de la zone à laquelle appartient le nombre formé par les chiffres d'entrée, ce dispositif comportant en outre une troisième mémoire qui reçoit les numéros de zone fournis par les deux premières mémoires, et qui contient et fournit, pour chaque combinaison possible de ces deux numéros, le plus grand quotient possible. 2. Dispositif selon la revendication 1, caractérisé par le fait que la première (M 1) et la seconde (M2) mémoires reçoivent chacune un nombre (n) égal à deux chiffres d'entrée. 3. Dispositif selon l'une des revendications précédentes, carac- térisé par le fait que les zones comportents un nombre crois- sant de nombres entiers. 4. Dispositif selon la revendication 2, caractérisé par le fait que la suite des nombres entiers de 10 à 99 est découpée en seize zones suivant une progression géométrique de raison v(- 5. Dispositif selon la revendication 1, caractérisé par le fait que les trois mémoires sont des mémoires à lecture seule. 6. Diviseur décimal, caractérisé par le fait qu'il comporte un dispositif d'élaboration du quotient de deux nombres décimaux selon l'une des revendications précédentes.