(19)
(11) EP 0 023 185 A1

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
28.01.1981  Bulletin  1981/04

(21) Numéro de dépôt: 80401099.9

(22) Date de dépôt:  24.07.1980
(51) Int. Cl.3G06F 7/52
(84) Etats contractants désignés:
BE CH DE GB IT LI LU NL SE

(30) Priorité: 24.07.1979 FR 7919083

(71) Demandeur: SEMS - SOCIETE EUROPEENNE DE MINI-INFORMATIQUE ET DE SYSTEMES
F-38130 Echirolles (FR)

(72) Inventeur:
  • Bolatre, Daniel
    F-75360 Paris Cedex 08 (FR)

(74) Mandataire: Benoit, Monique et al
THOMSON-CSF SCPI B.P. 329 50, rue Jean-Pierre Timbaud
92402 Courbevoie Cédex
92402 Courbevoie Cédex (FR)


(56) Documents cités: : 
   
       


    (54) Dispositif d'élaboration du quotient de deux nombres décimaux et diviseur comportant un tel dispositif


    (57) Dispositif d'élaboration du quotient de la division de deux nombres décimaux.
    Ce dispositif comporte deux mémoires (M1 et M2) recevant les deux chiffres (d", d12) (d21, d22) de poids les plus forts respectivement du dividende (D1) et du diviseur (D2), et une troisième mémoire recevant les nombres (m1, m2) fournis par les deux mémoires précédentes. Les deux premières mémoires (M1, M2) réalisent un découpage de la suite des nombres de 10 à 99 en un nombre fini de zones, et fournissent à partir du nombre reçu le numéro (m1, m2) de la zone à laquelle il appartient; la troisième mémoire (M3) contient les plus grands quotients possibles correspondant à chaque zone, c'est-à-dire le quotient obtenu en divisant le plus grand nombre compris dans la zone contenant le dividende (D1) par le plus petit nombre compris dans la zone contenant le diviseur (D2); ce nombre fourni par la troisième mémoire (M3) ou le nombre qui lui est inférieur d'une unité est le quotient réel des nombres d'entrée.




    Description


    [0001] 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 dispositif d'élaboration du quotient de cette division.

    [0002] 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.

    [0003] 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 estimations sont rarement correctes.

    [0004] La présente invention a pour objet un dispositif d'élaboration du quotient tel que le chiffre estimé soit le chiffre correct plus d'une fois 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.

    [0005] 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 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é.

    [0006] 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éral 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 dispositif 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.



    [0007] Sur ces différentes figures, les mêmes références se rapportent aux mêmes éléments.

    [0008] Ce dispositif comporte trois mémoires repérées M1, M2 et M3 qui sont de préférence des mémoires mortes (ou mémoires à lecture seule ou ROM).

    [0009] 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 d11 et d121 qui sont les chiffres de poids les plus forts du dividende (ou du reste partiel d'une division en cours) Dl. 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.

    [0010] De façon analogue, la mémoire M2 reçoit n chiffres décimaux, dans le cas de la figure : d21 et d22, codés sur quatre bits chacun, qui sont les deux chiffres de poids les plus forts du diviseur D2.

    [0011] Chacune des mémoires M1 et M2 peut donc recevoir un 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.

    [0012] La figure 2 illustre un mode de découpage en zones, c'est-à-dire le contenu des mémoires M1 ou M2, dans le cas où n = 2.

    [0013] 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 (d11 - d12 pour M1 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ésentation hexadécimale le numéro de la zone correspondante qui est fourni sur la sortie (m1 pour M1 et m2 pour M2) de la mémoire. Par exemple, pour la deuxième zone, si d11 est égal à 1 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.

    [0014] 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 16√10, 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.

    [0015] 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 (dll et d12) de poids les plus forts du dividende (Dl) 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.

    [0016] A cet effet, la mémoire M3 contient pour chaque valeur possible du couple m1, 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).

    [0017] la figure 3 illustre le contenu de la mémoire M3 correspondant aux contenus des mémoires M1 et M2 décrits figure 2.

    [0018] 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 ml. La valeur du quotient maximum Q est obtenue à l'intersection des valeurs correspondantes de m1 et m2.

    [0019] Pour m1 = m2, on a bien entendu Q = 1, ce qui constitue une diagonale du tableau. A droite de cette diagonale, on a m2 > m1 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.

    [0020] 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é.

    [0021] Ce dispositif d'estimation du quotient est destiné à faire partie d'un diviseur décimal, qui comporte en outre au moins un multiplicateur, un sous- tracteur 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.


    Revendications

    1. Dispositif d'élaboration d'un quotient de deux nombres décimaux, caractérisé par le fait qu'il comporte : une première mémoire (Ml) recevant un nombre fini (n) de chiffres (dll, d12) de poids les plus forts du dividende ou du reste partiel ; une seconde mémoire (MZ) 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 fournissant 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 (Ml) 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, caractérisé par le fait que les zones comportent un nombre croissant 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 1 6 progression géométrique de raison 10.
     
    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.
     




    Dessins










    Rapport de recherche