Brevet FR2062982A1 — publié le 19710702

La présente invention a peur objet un dispositif destiné à convertir un nombre décimal en un nombre binaire. La plupart des utilisateurs d'ordinateurs préfèrent utiliser des nombres décimaux comme données introduites dans 1! ordinateur. Cependant,, 5 dans les petits calculateurs, tels que les calculateurs de tables et dans quelques-uns des gros ordinateursa tels que ceux utilisés pour le partage de temps, les nombres décimaux doivent être traduits en nombres binaires équivalents avant toute autre opération^ peur ebtenir une efficacité de calcul supérieure. Les opérations arithmétiques binaires sont par exemple plus 10 faciles à exécuter que les opérations arithmétiques décimales,car la capacité de registre disponible est utilisée avec plus d'efficacité, et car les corrections et les reports nécessaires en arithmétique décimale codée sous une forme binaire, lorsqu'un chiffre est compris entre les valeurs numériques 10 et 15 comprises, sont éliminés. 15 Les nombres décimaux peuvent être introduits dans un ordinateur à l'aide d'un clavier actionné-par un opérateurs et il est plus pratique d'enfoncer les touches selon une séquence normale, c'est-à-dire que la touche représentant le chiffre décimal le plus significatif doit être enfoncée la première. Le problème qui se pose lors de cette opération est que la machine 20 ne connaît pas d'avance le nombre de chiffres introduit par l'opérateur. Bien que cette entrée classique des nombres par l'intermédiaire de claviers puisse faciliter le problème, l'opérateur a davantage de travail, et la nature anormale d'une autre présentation peut conduire à des erreurs humaines. L'invention a donc peur objet un circuit de conversion d'un 25 nombre décimal en un nombre binaire, de structure simple et, par conséquent3 de prix de revient relativement peu élevé, permettant 1"utilisation d'un clavier normal, c'est-à-dire'-qu'il accepte les nombres décimaux à 1. 'entrée., le chiffre le plus significatif étant introduit le premier. Le circuit délivre alors un nombre binaire qui correspond toujours à la valeur correcte jusqu'au dernier 30 chiffre décimal introduit. Dans le mode de réalisation de l'invention représenté,les nombres binaires à quatre bits successifs représentant successivement des chiffres décimaux dans l'ordre décroissant sont introduits dans une partie d'un registre à décalage. Pendant chaque période comprise entre l'introduction de l'un de 35 ces nombres binaires et le suivant, le nombre introduit est décalé d'étage en étage dans le registre à décalage, et pendant chaque intervalle de décalage un additionneur additionne un groupe de trois bitss relevé 70 34507 2 2062982 dans trois étages sélectionnés du registre à décalage. Les étages sont choisis de manière à obtenir l'addition en série du multiple "2" du nombre binaire enregistré au multiple "8" du nombre enregistré jusqu'au nombre introduit immédiatement après, l'additionneur délivrant alors des bits de sommes successives 5 représentant l'équivalent binaire des chiffres du nombre décimal introduit jusqu'à ce point, sous forme de nombres binaires dans le registre à décalage. D'autres caractéristiques et avantages de l'invention ressortiront de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif, en référence au dessin annexé dans lequel : 10 - la figure 1 est un schéma synoptique d'un mode préféré de réalisation .de l'invention; et " la figure 2 est un schéma logique d'une forme d'additionneur qui peut être utilisé dans le circuit de la figure 1. Le dispositif selon l'invention fonctionne selon le principe 15 qu'un nombre décimal peut être converti en un nombre binaire à la suite de multiplications successives par dix et d'additions successives sur le nombre décimal. Par exemple, la conversion de "387" sous forme décimale en une représentation binaire peut être effectuée en multipliant le chiffre le plus significatif "3" par "10", et en lui ajoutant "8" pour obtenir "38" sous 20 forme binaire. Ce "38" est alors multiplié par "10" puis on lui ajoute "7" pour obtenir "387" sous forme binaire. Dans ce système, la multiplication d'un chiffre par dix est effectuée en le multipliant par deux, et par huit, puis en additionnant les deux produits. La multiplication d'un nombre décimal codé sous une forme binaire ou d'un nombre binaire par deux est effectuée en 1 25 décalant le nombre d'une place vers la gauche, et la multiplication par huit est effectuée en décalant ce nombre de trois places vers la gauche. Bien que l'algorithme ci-dessus soit bien connu, l'invention propose un nouveau système pour obtenir cet algorithme sans décalages ou retards préliminaires du nombre à traduire. Ce système nécessite uniquement un 30 registre à décalage, représenté sous une de ses formés dans la figure 15 comme constitué de plusieurs étages de bascules hydrophones piézoélectriques B^, Bn_l"•••B0' B 1 et B 23 (*'un additionneur tel que 10, d'un générateur d'impulsions de décalage tel que 12, et d'un dispositif d'introduction des données tel qu'un clavier 14. Ce dernier élément est en lui-même un dispositif clas-35 sique. Il peut être constitué de touches représentant les chiffres décimaux "0" à "9", d'une touche de remise à "0" et d'autres touches pour des opérations bien connues, telles que l'addition,, la soustraction, etc. Ces dernières 70 34507 3 2062982 touches ne présentant pas d'intérêt dans la description suivante, elles ne seront pas décrites. Dans le fonctionnement du circuit de la figure 1, lorsqu'une touche numérotée du clavier 14 est enfoncée par un opérateurs un nombre 5 binaire à quatre bits (ou un nombre décimal ccdê sous une forme binaire qui est identique lorsque quatre bits uniquement sont considérés) est introduit dans l'étage le plus significatif des quatre étages Bn_^ du registre à décalage. Dans ce registre particulier, 1?introduction est effectuée en appliquant les bits d'entrée aux bornes S. En cutres dans le mode de réali-10 sation représenté, les quatre bits sont introduits en parallèle. Cependant, il est bien entendu que l'invention, peut également s'appliquer à une structure dans laquelle les bits sont introduits en série dans les quatre étages, comme le cas se présente fréquemment dans les petits calculateurs de bureaux. Chaque fois qu'une touche du clavier est relâchées après avoir 15 été enfoncée, le générateur d'impulsions de décalage 12 est actionné pour engendrer un groupe d'impulsions de décalage en série t^, t2«..«tn, où n, le nombre de ces impulsions, est suffisant pour que le bit le moins signi- 0 ficatif, c'est-à-dire le bit 2 du nombre à quatre bits soit déplacé de -l'étage ^ ^ l'étage B^. Ces impulsions de décalage, comme il apparaît 20 sur le dessin, sont appliquées à toutes les bornes de décalage C du registre, et sont appliquées également à l'additionneur 10. A chaque apparition d'une impulsion de décalage, les bits de tous les étages, sauf les étages ®n 2 et B 2 reSistre» sont décalés d'un étage vers l'avant, c'est-à-dire qu'ils sont respectivement déplacés vers l'étage inférieur le 25 moins significatif. Le bit enregistré dans l'étage Bn^2 est appliqué à l'additionneur 10^ ainsi que le bit compris dans l'étage B o- ^e bit enregistré dans l'étage B^ est décalé d'un étage vers l'avant, et est également appliqué à l'additionneur 10. En réponse à chaque impulsion de décalage, la sortie de 30 l'additionneur 10 est décalée dans l'étage de registre B La sortie de l'additionneur 10 est toujours égale à la somme des trois entrées ( et du "report" engendré pendant l'impulsion de décalage précédente. Comme il sera constaté dans ce qui suit, le "report" est enregistré dans l'additionneur 10 pendant l'intervalle compris entre une impulsion de décalage 35 et la suivante. 34507 4 2062982 L'opération de conversion sera mieux comprise à l'aide d'un exemple non limitatif. Il est supposé dans cet exemple que le nombre décimal 387 est à convertir sous forme binaire. L'opérateur enfonce tout d'abord la touche de remise à zéro. Une impulsion de remise à zéro est alors appliquée à toutes les bornes pour remettre à 0 les étages d'enregistrement. Ensuite, la touche représentant le nombre décimal "3" est enfoncée. L'équivalent binaire du nombre décimal "3", c'est-à-dire 0011,est alors introduit en parallèle dans les étages y Cette introduction est effectuée pendant le temps d'enfoncement de la touche. Lorsque cette touche est relâchée, le générateur d'impulsions de décalage 12 est actionné et engendre ses impulsions de décalage en série. Le bit le moins significatif, c'est-à-dire le bit "1" du nombre binaire 0011, est décalé sous l'effet de ces impulsions de décalage d'étage en étage dans le registre jusqu'à ce qu'il atteigne l'étage Bq. De manière similaire, les trois bits restants 001 sont décalés sous l'effet de ces impulsions en série dans le registre à décalage jusqu'à atteindre respectivement les étages B3, B2 et B . Par conséquent, lorsque la dernière impulsion de décalage est terminée, c'est-à-dire bien avant que la touche suivante ne soit enfoncée par l'opérateur, le nombre qui vient d'être introduit dans les étages Bn"-*Bn_3 se sera déplacé dans les étages B^....B0. Il apparaît que le décalage décrit ci-dessus se produit très rapidement par rapport au temps compris entre l'enfoncement normal de deux touches successives par l'opérateur. Même un opérateur extrêmement rapide ne pourrait pas enfoncer des touches successives du clavier en un temps aussi rapide qù'une fraction de seconde, alors que le générateur d'impulsions de décalage 12 peut engendrer aisément ses groupes d'impulsions en dizaines de microsecondes à l'aide de circuits classiques d'une configuration standard. Après l'opération décrite ci-dessus, l'opérateur enfonce et relâche la touche représentant le nombre décimal "8". Le nombre binaire "1000" à introduire dans les étages Bn....Bn_3 et le groupe d'impulsions de décalage en série t^....tn 3 démarre alors. L'addition représentée dans la partie supérieure (au-dessus de la ligne double) du tableau I ci-dessous est alors commencée. Les chiffres des nombres binaires qui sont additionnés par l'additionneur 10 pendant une période d'impulsion de décalage apparaissent dans le tableau I ci-dessous dans les trois premières rangées horizontales au-dessous de l'impulsion de décalage particulière, et dans la même colonne verticale. 70 34507 5 2062982 TABLEAU I fc8 fc7 C6 t5 Ù3 H 4 impulsions de décalage 5 0 0 1 1 nombre enregistré dans B^ B2 B^ B^ = 3 1 0 0 0 nombre introduit dans B B B B _ = 8 n n-i n-2 n-3 0 0 1 1 nombre décalé vers B^ B^ B_^ B_2 = 3 10 1 0 0 1 1 0 bit de sommes successives délivrés = 38 (binaire) 1 0 0 1 1 0 nombre enregistré dans B^ B^ B^ B^ = 38 0 1 1 1 nombre introduit dans B ....B „ = 7 n n-3 15 1 0 0 1 1 0 nombre décalé vers B^....B 2 = 38 1 1 0 0 0 0 0 1 1 bit de sommes successive délivrés=387 (binaire) Comme il ressort du tableau I ci-dessus, pendant la première 20 impulsion de décalage t^, l'additionneur additionne le bit le moins significatif du nombre binaire représentant le nombre décimal "3" (ce bit est enregistré dans l'étage Bq) au second bit binaire le moins significatif représentant le nombre "8" (ce bit est enregistré dans l'étage Bn 2). Le chiffre binaire à quatre bits équivalent au nombre décimal "8" est donc décalé d'une place vers 25 la droite par rapport à l'équivalent binaire enregistré du nombre décimal "3". C'est-à-dire que la,représentation enregistrée du nombre "3" est décalée ♦V d'une place vers la gauche par rapport à la nouvelle représentation enregistrée du nombre "8"s de manière que "6" sous forme binaire (le multiple "2" de "3") soit additionné à "8" sous forme binaire. 30 Pendant la seconde impulsion de décalage t2, Ie chiffre le moins significatif du chiffre binaire "3" est additionné au troisième chiffre le moins significatif du chiffre binaire "8". Pendant que la troisième impulsion de décalage t^ arrive, le bit le moins significatif du nombre binaire "3" est présent dans l'étage B_2- En même temps, le bit le plus 35 significatif du nombre binaire "8" est présent dans l'étage Bn_2; Concurremment, le troisième bit le moins significatif du nombre binaire "3" se trouve dans l'étage Bq. H apparaît dans la partie supérieure du tableau I ci-dessus qu'à 70 34507 6 2062982 cet instant le nombre binaire "3" décalé de trois places vers la gauche dans le registre à décalage est additionné au nombre binaire "8", puis est additionné au nombre binaire "3" décalé d'une place vers la gauche. En d'autres termes, le nombre binaire *24" (le multiple "8" de "3") est additionné au nombre 5 binaire "6" (lé multiple "2" de "3") et au nombre binaire "8". Ce procédé se poursuit jusqu'à ce que toutes les impulsions de décalage soient terminées. A cet instant, la somme obtenue après les étapes décrites précédemment a été décalée et enregistrée dans les six étages B,. B,....B , comme représenté dans le tableau I ci-dessus. Comme il apparaît H* 0 10 également dans ce tableau, cette somme est "38" sous forme binaire, c'est-à-dire que les deux premiers nombres décimaux ont été convertis en leur équivalent binaire-, La partie inférieure du tableau I (sous la ligne double) représente la fin de la conversion de "387" sous forme décimale en "387" sous forme 15 binaire. D'après l'explication précédente, il ressort que le multiple "2" de "38" doit être additionné au multiple "8" de "38" jusqu'au nombre décimal suivant "7" pour obtenir "387" sous forme binaire. Le générateur d'impulsions 12.délivre un certain nombre d'impulsions qui varie en fonction du nombre d'étages du registre à décalage. 20 Ce nombre d'étages dépend à son tour du nombre de chiffres décimaux que l'on désire convertir ên chiffres binaires. Dans l'exemple décrit, la conversion de "387" sous forme décimale en "387" sous forme binaire, le nombre binaire "387" est enregistré dans neuf étages Be, B ....B . En outre, les deux étages o / u les moins significatifs B ^ et B sont nécessaires. Les autres étages B^, 25 B , et B sont également nécessaires. En général, pour enregistrer un n—1 n-z nombre tel que le nombre décimal ne soit pas supérieur à 10 , le nombre 10X d'étages nécessaire est donné par la relation — 1-8, ou le nombre entier 10X suivant le plus grand, si ■ + 8 n'est pas un nombre entier. L'équivalent binaire du nombre décimal sera enregistré dans les positions du registre lox 30 B , à B„. La valeur de n est donnée par —-— +6. n-6 0 3 Lorsque la valeur de n est déterminée, le générateur d'impulsions de décalage 12 engendre un train d'impulsions de n-3 impulsions, lorsqu'il est déclenché par 1®actionnement d'un bouton placé sur le clavier 14 par un opérateur. Ces générateurs sont bien connus des spécialistes, et ne seront 35 pas décrits en détail. 70 34507 7 2062982 Bien que n'importe quel type d'additionneur puisse être utilisé, celui représenté sur la figure 2 est plus particulièrement adapté à l'inven-tion. Il comprend sept portes ET, 20 à 26, sept portes OU, 30 à 36, quatre inverseurs, 40 à 43, et une bascule hydrophone piézo-électrique 44. 5 Le montage est tel qu'il permet d'utiliser les équations booléennes pour l'addition. C'est un additionneur relativement simple à trois t opérandes qui présente la propriété que pas plus de trois des quatre bits 1^, I2, I^s K ont toujours la valeur binaire "1" en même temps. Un exemple spécifique est donné ci-dessous, pour montrer le fonctionnement du circuit. 10 II sera supposé tout d'abord que 1^ = I^ =~1 et que I et K, le report précédent soit égal à 0. La porte ET 20 reçoit les entrées 1^ et ï25 et est inhibée car I2 - 0. La porte ET 21 reçoit les entrées et I^ et est inhibée car I, = 0. La porte ET 22 reçoit les entrées et K et est inhibée car I^ = 0. La porte ET 23 reçoit les entrées 1^ et K, et est inhibée 15 car K = 0. Par conséquent, les deux portes ET 24 et 25 sont inhibées et S = 0 et S = 1. Le circuit de report effectue l'équation booléenne : K = ( h + \ + V ( h + h + K) ( h + h + K) ( h + h + K) 20 Comme 1^ = "1" est présent dans les trois premières expressions entre parenthèses, les trois premières portes OU 33, 34, 35 sont validées et comme I2 est présent dans la dernière expression entre parenthèses, la porte OU 36 est validée. Par conséquent, la porte ET 26 devient validée, et la bascule 25 44 est excitée et enregistre un "1" à l'impulsion d'horloge suivante. Par conséquent, le circuit a été représenté comme délivrant une sortie S = 0 et C = 1 lorsque dëux des quatre bits d'entrée ont la valeur "1". Il peut aisément être démontré que le circuit fonctionne également convenablement dans les cas restants. 30 Lorsque l'additionneur de la figure 2 fonctionne, la bascule 44 enregistre le report engendré pendant l'impulsion de décalage précédente t^. En réponse à l'impulsion de décalage suivante t^ + la la sommes qui est toujours présente aux bornes S et S, est placée dans l'étage ^ (figure 1), et le Report", qui est toujours calculé en fonction des valeurs 35 précédentes de 1^, I^. I^ et du "report" précédent Ks et qui est présent sur le conducteur 50 (et son complément sur le conducteur 51) est introduit dans la bascule 44. Ce "report" reste alors enregistré dans cette bascule 70 34507 8 2062982 jusqu'à l'impulsion de décalage suivante t^ + 2. Après que le "report" a été enregistré et avant l'impulsion de décalage suivante t^ + 2, les valeurs de *1' *2 6t *3 Peuvent ®£re codifiées. Ceci n'affecte pas le'"report" enregistré car l'information ne peut pas être déplacée dans la bascule 44 jusqu'à ce que 5 l'impulsion de décalage suivante t. + 2 se produise. De façon similaire^ immédiatement après une impulsion de décalage t. + 1 et avant l'impulsion de décalage suivante + 2, la nouvelle somme et son complément sont présents sur les conducteurs 52 et 53, mais n'affectent pas l'étage Ces hits ne sont pas décalés dans la bascule B^ jusqu'à ce que l'impulsion de décalage 10 suivante t^ + 2 se produise. Comme il a été dit précédemment, le concept général de décalage et d'addition pour obtenir le multiple "10" est connu en lui-même. Par exemple, il est utilisé sous une forme différente dans le dispositif de -conversion représenté dans le brevet des E.U.A. n° 3.185.825 de McDonald et al 15 Dans ce dispositif, deux décalages à gauche sont utilisés pour obtenir le" multiple "4"s puis il est additionné au multiple "1" pour obtenir le multiple "5". Le multiple "5" est alors décalé d'une place vers la gauche pour obtenir le multiple "10". Un avantage important du dispositif de l'invention par rapport 20 au dispositif breveté ci-dessus mentionné est sa simplicité. Dans le montage de l'invention, seuls un registre, un additionneur, un générateur d'impulsions de décalage et un dispositif d'introduction de données sont utilisés, tandis que dans le dispositif de McDonald et al, en plus de ces éléments, de nombreuses portes logiques et dispositifs à retard sont nécessaires. Cette 25 différence présente de l'importance dans les calculateurs de bureaux, qui, pour être compétitifs sur le marché, doivent être un matériel peu cher, et occuper une place restreinte. Dans le dispositif de l'invention, étant donné la nouvelle manière de relier entre eux les éléments, leur nombre est réduit à un minimum. En outre, le circuit présente une vitesse de fonctionnement 30 élevée - tous les décalages sont représentés pendant un seul cycle d'addition série. Dans le brevet de McDonald et al, pendant un premier cycle d'addition série, le multiple "5" est obtenu, et un second cycle d'addition série est nécessaire pour obtenir le multiple "10" et pour effectuer l'addition suivante Il va de soi que l'invention décrite est susceptible de 35 nombreuses modifications ou variantes sans sortir de son cadre. 70 34507 9 2062982 REVEND I C A T I 0 K Dispositif pour convertir en nombre décimal en un nombre binaire^ comprenant plusieurs étages de registre â décalage, un dispositif d'introduction dans quatre des étages, pendant des intervalles de temps successifs, de noxbres à quatre bits représentant les chiffres décimaux 5 successifs du nombre décimal, un dispositif de décalage des bits enregistrés dans les moins significatifs des quatre étages3 et dans lés autres étages, d'étage en étage pendant chaque intervalle de temps, un additionneur, et caractérisé en ce qu'il comprend un dispositif pour déplacer pendant chaque décalage des bits d'un étage au suivant, un bit d:un étage vers l'additionneur -10 un bit d'un autre étage vers l'additionneur, et un bit du second étage le moins significatif des quatre étages vers l'additionneur, pour être additionné en série au multiple "2" de la somme précédente délivrée par l'additionneur et au multiple "8" de la somme précédente ainsi qu'au nombre à quatre chiffres venant d'être introduit dans le registre, et un dispositif pour l'introduction 15 pendant chaque décalage des bits d'un étage au suivant du bit de somme délivréepar l'additionneur dans un étage donné du registre.