FR 2072026 A1 19710924 FR 7046329 A 19701222 70 46329 1 207202ô La présente invention concerne un procédé et un -dispositif pour convertir en signaux codés "binaires ordinaires, des signaux d'entrée codés de façon spéciale et consistant en permutations d'un nombre fixe de bits "1" et d'un nombre fixe de 5 bits "0". Le procédé consiste à emmagasiner les signaux d'entrée dans un premier registre et à émmagasiner une constante prédéterminée dans un second registre. ; Dans une société industrielle moderne, il est nécessaire de transmettre de grandes quantités d'informations numériques 10 sur de longues distances et de les utiliser dans des postes é-loignés en vue de traitements arithmétiques ou logiques. Bien que le système de numération binaire classique se soit avéré très apprécié pour le traitement numérique, il n'est guère idéal pour la transmission. En raison de la difficulté de détecter 15 les erreurs qui se manifestent pendant la transmission du code binaire classique, on a conçu des codes binaires modifiés qui simplifient grandement la détection des erreurs. Un exemple de tel code" est le code M-pariai-H dans lequel un nombre M déterminé de positions de bits parmi un nombre total de N positions 20 de bits contiennent toujours des bits "1" tandis que les(îT-M) positions de bits restantes contiennent toujours des bits "0". L'information est codée par les permutations des positions des M bits "1" dans le mot de II bits. Parmi les codes M-parmi-Li , un des plus courants est le code deux-parmi-six. Dans ce cas, 25 deux positions de bits parmi six positions de bits possibles contiennent toujours des bits "1", les quatre autres positions de bits contenant toujours des bits "0". Par suite des règles par lesquelles sont engendrés les codes K-parai-ÎT, il est toujours possible' de détecter les er~ -30 reurs qui font prendre à des bits l'état opposé à celui qu'ils devraient avoir à moins que ces erreurs ne provoquent des modifications complémentaires dans des paires de bits. Il est donc relativement simple de vérifier si les ccdes reçus sont erronés ou non. 35 Quoiqu'ils soient utiles pour la détection et la correc tion des erreurs, les codes I."-parmi-IT ne sont guère très utiles dans les calculs numériques, et c'est la raison pour laquelle h3ad original 70 46329 2072026 la plupart des, calculateurs ou ordinateurs numériques sont organisés pour traiter les informations -numériques en système binaire classique. Aussi le code LI-parmi-N que l'on utilise pour transmettre les informations de manière -fiable.doivent-ils être 5 convertis en code binaire ordinaire avant la phase 'de traitement . ... . Les solutions proposées pour résoudre ce problème consistaient jusqu'à présent en .procédés de recherche dans une table, de décalage à travers, plusieurs étages et de traitement. 10 Ces procédés reauièrent toutefois des équipements complexes et une programmatior non rentable.. ^e temps nécessaire pour la recherche dans une table en vue d'effectuer une conversion de code ou une conversion de procédé de décalage à plusieurs étages est souvent de plusieurs cycles machine, ce qui entraîne -la 15 perte du gain.de rendement r'-sultànt de l'adoption du code M-parmi-ïf pour le contrôle d'erreur. De plus, les procédés de consultation d'une table et les procédés de décalage' à travers plusieurs étages, impliquent un.équipement d'ordinateur complexe - et coûteux,-ce qui entraîne une conversion code M-parmi-ÎT /code 20 binaire ordinaire non économique. Le problème qu'il convenait de résoudre consiste dès lors à améliorer le rendement de la conversion code M-parmi-N/code binaire ordinaire. Ce problème est résolu par le procédé selon l'invention qui se caractérise en ce qu'il consiste à localiser toutes les 25 positions de bits contenant un bit "1" dans un premier registre, à déterminer le déplacement binaire, à partir de la position de bit de plus faible poids dans le premier registre, de chaque position contenant un- bit "1", à décaler le contenu du second registre d'une valeur égale.-au déplacement, à~ partir de la posi-3C tion de. bit de plus faible poids dans le premier registre, de la position de bit d'extrême-gauche contenant un bit "1" , et à additionner ledit déplacement binaire dans le -premier registre et le contenu'décalé du second registre.. : . " • - • - La mise.en oeuvre de ce procédé requiert.un mihimumde 35 circuits et une peiiioae de temps .minimale pour convertir de grandes quantités ue données d'entrée codées en vue du contrôle d'erreur en données codées binaire propre au traitement machine. w bad original 70 45329 3 2072026 L'invention sera: expliquée ci-après en se référant aux dessins joints au présent mémoires sur lesquels; La figure 1 est un schéma synoptique d'un processeur numérique à programme emmagasiné propre à être utilisé dans le 5 système de. conversion selon l'invention ; la figure 2 est un diagramme illustrant le contenu d'un des registres de la figure 1 et de la figure 3 ; la. figure 3 est un schéma fonctionnel d'un circuit digital particulier propre- à être utilisé dans une autre forme de 10 réalisation du système de conversion selon l'invention. L'invention tire parti de certaines propriétés systématiques de chaque bit des codes M-parmi-N. D'une façon plus spécifique, les positions des bits "1" dans un"code M-parmi-N sont liées au code binaire équivalent par une simple relation arithmé 15 tique linéaire. Le code binaire équivalent est obtenu en additionnant les positions des M bits "1" dans le code M-parmi~N, et une constante, décalée d'une valeur égale à la valeur des positions du bit "1" d'extrême gauche dans le code M-parmi-N. Le dispositif et le procédé selon l'invention sont particulièrement 20 avantageux dans les applications qui requièrent que de grands nombres de conversions soient effectuées dans des temps très courts. La figure 1 est un schéma synoptique d'un processeur commandé par programme convenant pour être utilisé dans un 25 système de commutation téléphonique électronique. Il comprend une mémoire de programme 300 et une mémoire temporaire 201. Deux registres à bascules sont associés à la mémoire de programme 300 le registre -304 ou registre- PA à 18 bits et le registre 306 ou registre PSB à 22 bits. Le contenu du registre 304 désigne l'em-30 placement de la mémoire qui doit être consulté et le registre 306 emmagasine les mots d'instructions ou les données extraits de la mémoire de programme 300 ou les données qui doivent y être introduites. Le registre 304 est connecté à la mémoire de programme 300 par l'intermédiaire du c-âble 30? tandis que le régis-35 tre 306 est connecté à la mémoire de'programme 300 par l'intermédiaire du câble 326. Les mots d'instructions sont normalement extraits de la bad original 70 46329 4 2072026 mémoire de programme en séquence. Le contenu du registre 304 est normalement augmenté d'une unité avant que soit lue l'instruction suivante. Cette opération se déroule sous la commande de la logique 305. Occasionnellement, il est nécessaire d'inter-5 rompre la séquence et d'effectuer un branchement vers une adresse non séquentielle. A cette fin, le répertoire d'instructions contient diverses instructions"de transfert qui commandent l'introduction d'une adresse de transfert dans le registre 304. Cette adresse de transfert peut être obtenue de diverses 10 sources au sein du processeur» L'intervalle de temps minimum entre les lectures successives dë la mémoire de programme 300 est fixé par les constantes des circuits. Il est souhaitable que l'entièreté de cet intervalle de temps soit disponible pour exécuter les instruc-15 tions lues dans la mémoire. C'est dans ce but qu'un registre 501 ou registre PO est ajouté au registre 306. A un instant prédéterminé dans le cycle de machine de base, le contenu du registre 306 est introduit dans le registre 501 afin d'être décodé. Le contenu du registre 304 est alors incrémenté d'une uni-20 té et l'adresse de mémoire nouvellement engendrée est transmise à la mémoire de programme 300 afin d'en obtenir 17 instruction suivante 'dans la séquence en cours. Dans le cas où 1:instruction contenue dans ls registre 501 est une instruction de transfert, c'est l'adresse de transfert et non l'adresse suivante 25 dans la séquence qui doit être utilisée pour obtenir l'instruction suivante dans la mémoire de programme 300. Si l'adresse suivante a déjà été lues c'est qu'il s'agit simplement d'effectuer un transfert et le contenu du registre 306 est alors négligé . 30 Une instruction contenue dans le registre 501 est déco dée au moyen du convertisseur 502 qui fournit des signaux qui correspondent de façon biunivoque à l'instruction contenue, dans le registre 501. Ces signaux produits par le convertisseur 502 commandent les opérations de transfert et les opérations de lo-35 gique qui sont exécutées dans le processeur. Comme le montre la figure 1, celui-ci contient plusieurs registres à bascules. En générai, le contenu d'un registre quel bad original 45329 5 2072026 conque peut être transféré dans un autre registre quelconque du processeur. Ce transfert d:information s:effectue par 17intermédiaire d:une ligne de transfert 202. Pour transférer des données d'un registre à 1- autre sur cette ligne 202.- un circuit 5 conditionneur de sortiev connecté au premier registre, et un circuit conditionneur d: entrée., connecté au second r egistre, se trouvent validés. De nombreux registres du processeur sont utilisés principalement pour des fonctions spécifiques j toutefois,, ils ne sont 1C nullement limités à ces fonctions principales. Par exemple,, le registre 302 (registre AA)v le registre 303 (registre CA) et le registre 203 (registre GR) sont tous utilisés principalement pour communiquer avec la mémoire temporaire 201. Une adresse à 15 bits peut être transmise entre les registres 302 et 303et le 15 registre 142 par 1:intermédiaire de la ligne 202. Les données qui doivent être introduites dans la mémoire temporaire 201 peuvent être acheminées vers le registre 141 (registre CSI) à partir du registre 203 (registre GR) ou de tout autre registre par 15 intermédiaire de la ligne 202. 2 0 La mémoire temporaire 201 est une mémoire à lecture des tructive. C:est pourquoi toute donnée lue par le processeur dans cette mémoire doit être régénérée afin que cette donnée soit à nouveau disponible pour les opérations de lecture subséquentes. La mémoire 201 ne contient pas de registres à bascules pour 2 5 emmagasiner les données qui doivent être conservées mais les données lues dans la mémoire sont transférées dans le registre 203 et les données qui doivent être régénérées sont obtenues du registre 141. Entre les opérations de lecture et de régénérations il s'écoule un intervalle de temps suffisant pour que les don-30 nées lues puissent être transférées du registre 203 dans le registre 141. Le registre LR 204 ; le registre LF 205 .. le registre LM 206 et le registre LV 207 sont utilisés pour diverses opérations de logique. D'une façon générale; les contenus du registre 203 35 et du registre 204 sont combinés r. ont ornement à la fonction logique désignée pnr le contenu du registre 205. Le contenu du, registre 206 est utilisé dans le circuit de fonction logique 220 bad original 70 46329 6 207-2026 afin de masquer sélectivement certains bits en sorte que la fonction logique ne soit exécutée que sur les bits des mots d'entrée pour lesquels il existe un "1!' dans le registre 206» et un "0,r est alors engendré pour tous les bits pour lesquels 5 il existe un "0" dans le registre 206 » Ce mot de donnée résultant engendré par le circuit de fonction logique 220 est dirigé . vers le registre"207 'par 1:intermédiaire de la ligne 202. Si l'on désire que les bits sur lesquels une fonction logique a été exécutée soient renvoyés au registre 203 mais sans 10 que les autres bits dans celui-ci soient perturbés,, le circuit de masque d'insertion 208 est utilisé.Cette insertion sélective dans le registre 203 est accomplie par transfert ordinaire du contenu du côté "1" de chaque position de bit du registre 207 dans le registre 203 par 1-intermédiaire de la ligne 202s puis 15 le.s contenus du registre 206 et du côté "0" de chaque position de bit du registre 207 sont combinés et, simultanément, le résultat de cette combinaison est introduit du côté "remise à zéro" de chaque position de bit du registre 203» Un "1" se trouve dès lors introduit dans chaque position de bit du registre 203 pour 20 lesquelles il y avait un "1" dans le registre 207, et un "O" se trouve introduit dans chacune des positions de bits du registre 203 pour lesquelles il y avait un "1" dans le registre 206 et un "0" dans le registre 20V. Il faut rappeler ici qu:un "1" ne peut apparaître que dans les positions de bits du régis-25 tre .20.7 pour lesquelles le registre 206 contenait un Par- conséquent r il se produis un changement- du contenu des seules positions de bits du registre 203 pour lesquelles il existe un "1" dans lè registre 206. Le circuit de sommation et de permutation circulaire 301 30 est un circuit logique servant à des fins diverses. Ce circuit-peut être utilisé pour appliquer une permutation circulaire au contenu du registre 203» Le contenu de celui-"; së trouve transféré dans le circuit 30"! par 1 intermédiaire de la li^ne de transfert de programme.; puis le ré s h ï '.ai trouve réintroduit 35 dans le registre 203. Le circuit 30! 3Id^ci-nne. également les-contenus du registre 2G3 et du registre 302.Le ; résultat se trouve ensuite introduit dans le registre 302. 70 46329 7 2072026 TABLEAU I Programme de conversion 10 15 20 25 AND 77 C0MSG ZAA F1ZT 5 TCNS ERR0R AAXLR PLZT 5 TOUS ERR0R CJZÎMS 'TCNS ERH0R AAXRF . IGR /0/3OOOO RGI0 ADD IRXGR ADD AAXGR AND 17 RENVOI TTSA ERR0R ZGR 30 TR RENVOI PIN Masquer les bits de GR 203 sauf 6 bits d'ordre inférieur Complémenter contenu de GR 203 Vider AA - Emmagasiner va.leur 11 dans AA et établir drapeau test Transfert à ,tERR0R's si drapeau test pas établi Emmagasiner L1 dans LR Emmagasiner.valeur 12 dans AA et établir drapeau test Transfert à "ERR0R"si drapeau ■ test pas établi Complémenter contenu"de GR 203 et établir drapeau test si tous des 1 dans GR 203 Transfert à "ERR0R" si drapeau test pas' établi Charger 12 dans RP Charger constante dans GR 203 Permutation circulaire du contenu de GR 203vers la gauche par contenu de ?F Additionner contenu GR 203 à contenu AA Transférer 11 de 1R dans GR 203 Additionner contenu GR 203 à contenu AA Transférer contenu AA dans GR 203 Masquer les bits de GR 203 sauf 4 bits d ordre inférieur' Renvoi à programme principal. Vider GR 203 Transfert à "'Renvoi' le tableau I illustre une séquence d;instructions de programme permettant de mettre en oeuvre le procédé de conversion 35 selon 1:invention, ces instructions pouvant etre emmagasinées dans la mémoire de programme 300. bad original 70 46329 8 2072026 Les fonctions successives correspondant aux instructions du tableau I peuvent être analysées comme suit r Instruction '"AHIT ; tous les bits du contenu du registre 203 se trouvent masqués à 1!exception des six bits d:or~ 5 'dre inférieur (bits d'extrême droite). Instruction "C$MSG'' s le contenu du registre 203 se trouve complémenté .Cela permet de rechercher lee "0'' au lieu des "1" dans le code deux-parmi-six. Instruction "ZAA" le contenu du registre AA 302 se 1C trouve remis à zéro. Instruction " PLZT" s les six premières positions de bits du registre-203 se trouvent examinées de droite à gauche afin d:y découvrir le premier bit -"0". La position de celui-ci9 qui peut être identifiée comme quantité L1 Instruction "TCNS" ï le processeui commande une phase de vérification afin---de constater si ce signal de drapeau a été établi ou non5 et dans ce dernier cas.,il commande l'exécution 20 de l'instruction "ZGR". Ce transfert indique que le code deux-parmi-six originel ne contenait aucun bit '• 1" et; par conséquent, qu'une erreur s'est produite.Si le signal de drapeau a été effectivement établis le processeur commande le passage à 1'instruction "AAXLR3. 25 - Instruction "AAXLR" i la valeur L1 se trouve transférée du registre 302 dans le registre 204.., de telle sorte que la valeur L1 se trouve conservée en vue d'une utilisation ultérieure. Instruction "PLZT'1 ; le deuxième ''0!t à partir de la droite dans le contenu du registre 2039 lequel deuxième "0" cor-30 respond bien entendu au deuxième vî1:' du code deux--parmi-six. se trouve localisé.La valeur L2 de la position de ce bit est alors emmagasinée dans le registre 302 et'le drapeau de test se trouve établi» Instruction "TCNS'' ; le drapeau est testé afin de véri-35 fier si'le deuxième était présent dans le code deux - parmi-six Originel. S'il n'en est pas airisa.le processeur commande le passage à l'instruction" ZGR". v/bad original 70 46329 ï -20,72026 Instruction :-C0MS'! : le contenu du régis-! 3 se trou ve complémenté et le drapeau de test se trouve t.- . si, avant complémentation ,1e contenu du registre 203 conx : ; uniquement des bits "1'r.Si le code originel contenait par e plus de 5 deux bits "1 un zéro reste dans le registre 2C'-. . rs de l'exécution de cette instruction. Cet état est détecte „ur l'exécution de l'instruction suivante. Instruction ""TCNS" : lorsque l'état d!err^. ir a été détecté comme expliqué c-i-dessus, le processeur commande le passa-10 ge à l'instruction s'ZG-R" A ce stade du procédé,le registre 204 contient un nombre qui correspond à 11 c'est-à-dire à la position du bit "1" d'extrême-droite dans le code deux-parmi-six. Le registre 302.. à son tour,, contient la valeur L2? c'est-à-dire la position du se-15 cond bit "1" à partir de la droite dans le code deux--parmi--six originel.Ces quantités sont utilisées comme décrit plus loin pour calculer l'équivalent binaire du code deux-parml-six.Le tableau Ilpermettra de suivre les opérations arithmétiques nécessaires . pour calculer les équivalents binaires. Ce tableau donne, en 2C regard des clés qui engendrent des codes deux--carmi--six particuliers,les valeurs de L1 et L2S la valeur" C2 que l'on définira plus Ioin5 et la somme de ces valeurs qui représente l'équivalent binaire. On expliquera.plus loin l'utilisation de ces valeurs. 25 Instruction "AAXRF" : la valeur L2 se trouve transférée du registre 302 dans le circuit d'addition et de permutation circulaire 3G1. Instruction " LGR" une valeur constante se. trouve introduite dans le registre 203. Cette constante est un ''3" bi-30 naire déplacé de deux r/coiti^ns de bits à partir de 1 extrême gauche du registre 203. Sur la figure 2. le carré 203 simule le contenu au registre 203. Instruction HGLÊ? " 'le :rntern du registre 203 se • trouve permute : ire uiaireraent p-:ir Le .^ntenu du c::.r;ait 30'. 35 On ce rappellera que cette valeur e.it L2 , c est-à-dire la position du second bit dans _e code deux--parmi-six . bad original 70 46329 ! û 2072026 Le contenu résultant du registre 203 es1: représenté dans la colonne..de- gauche sur la figure 2 pour les valeurs de L2 indiquées dans la colonne de droite. On peut voir que les quatre positions dë bits de "droite dans"le contenu du registre 203 5 contiennent la représentation binaire d'une- valeur 02 qui représente la valeur initiale C. Instruction "ADD *- la valeur C2 qui apparaît ainsi dans le registre 203 est alors additionnée à la valeur L2 emmagasinée précédemment dans le registre 302» 10 Instruction LRXGR1' : la valeur L! contenue dans le re gistre 204 se trouwe transférée dans le registre 203 » Instruction "ALD,! : la valeur L1 se trouve additionnée à la somme C2+L2 contenue dans le registre 302.Le résultat de cette somme représente 1!équivalent binaire du code deux-parmi-six ori-15 ginel, comme on pourra le voir sur le tableau II, Instruction "AAXGR" s l'équivalent binaire du code deux-parmi-six originel se trouve alors transféré du registre 302 dans le registre 203. Instruction "AEFD" : tous les bits du contenu du registre 20 203 se trouvent masqués, à 1:exception des quatre bits d'ordre inférieur. Instruction "TTSA'';le processeur commande à ce moment le renvoi à l'adresse appelante du programme principal. Instruction ZGR";le registre 203 se trouve remis à zéro. 25 Instruction "TR" i le processeur commande le renvoi à I'instruction"ÏTSA"c'est--à-dire le renvoi au programme principal avec remise à zéro du registre 203. Cela indique qu'une erreur a été trouvée dans le code originel à convertir. le tableau II qui suit donne peur chaque code binaire 30 deux-parmi-six figurant dans la deuxième colonne les valeurs binaires (et décimales entre parenthèses) de L1 L2 et C2 définies plus haut ainsi que, dans la dernière colonne, la sorrie L1 + L2 * 02 qui représenté 1 * équ: ---nient binaire qui code de ux-p-'i : £ : • i.:: cr-ijine*.. bad original 70 46329 2072026 TABLEAU Binaire ( Dé cimai") 10 15 Clé Code 2/6 L1 L2 Ç2 Somme 1 000011 0000(0) 0001(1) 0000(0} 0001 M) 2 000101 0000(0; 0010(2) 0000 î.o) 0010(2) 3 000110 0001(1} 00''0(2 ') 0000(0). 0011(3) 4 001001 0000(0) 0011(3) 000"(1. 0100(4) 5 001010 oooi:i) 0011(3 > 0001(1J 0101(5) 6 001100 ■0010(2) 0011(3) 0001 0110(6) 7 010001 0000(0) 0100(4) 0011(3) 0111(7) 8 010010 • 000'' ( 1 ) 0100(4) 0011(3) 1000(8) 9 010100 0010(2) 0100(4) 0011(3) 1001(9) 0 011000 0011(3) 0100(4) 0011(3) 1010(10) ST3P 100001 oooo:o) 0101(5) 0110(6" 1011^11) STP 100010 0001(1) 0101(5} 0110(6) 1100(12) ITP 100100 0010(2) 0101(5) 0110(6) 1101(13) ST2P 101000 0011 "'3 : 0101(5) 0110(6.1 1110(14) ST noooo 0100U) 0101(5) 0110(6) 1111(15) 20 25 30 35 La figure 3 est un schéma fonctionnel d:un montage permettant la mise en oeuvre du procédé de conversion décrit plus haut. Les signaux représentant le code deux--parmi-six sont appliqués à un registre à décalage à six positions 101 par 1 * intermédiaire d'un circuit conditionneur 100. Les signaux binaires contenus dans le registre 101 sont décalés sous la, commande d'impulsions d'horloge reçues à la borne 102 et appliquées par 1 ' intermédiai rts- du circuit d'inhibition 103. Les signaux obtenus à la sortie du registre 101 sont appliqués à un circuit conditionneur 105 par l'intermédiaire d'an circuit de retard 104 * et à un cir---u.Lt condit icnneu re d'un diviseur d:împu; s ion 106 et d'un Les bits "1 " décalés da*;3 le registre '01 se trouvent ainsi appliqués au circuit conditecnne-: 108 par 1'interrnédiai-ircun de retard 107. qui apparaissent a la so; du registre '01 se trouvent appli- "1 bad original 70 46329 2072026 quées au circuit conditionneur . 108. Les impulsions d'horloge reçues-à la "borne 102 sont également appliquées à un diviseur d'impulsions 109 qui fournit une impulsion pour chaque groupe de sept impulsions d'entrée. 5 Le signal de sortie du diviseur 109 est appliqué au circuit d'inhibition 103 afin d'inhiber..le passage de chaque septième impulsion d'horloge. Cette septième impulsion d'horloge forme la division entre les cycles successifs du circuit de la figure 3- Cette septième impulsion d'horloge sert à valider le circuit 10 conditionneur 100 afin qu'il applique au registre à décalage 101 un nouveau code "binaire deux-parmi-six.Cette septième impulsion d'horloge est également appliquée à un compteur 111 et à un registre à décalage 112 par l'intermédiaire du conducteur 110. 15 Le compteur 111 est un compteur binaire à quatre posi tions servant à compter les impulsions d'horloge qui apparaissent sur le conducteur 1n3. Au début de chaque cycle, la septième impulsion d'horloge présente sur le conducteur 110 place tous les étages du compteur 111 dans l'état 1. L'impulsion d'horloge 2C suivante,présente sur le conducteur 113,remet par conséquent le compteur 111 à zéro et les impulsions d'horloge entrantes sont ensuite comptées de la manière ordinaire. La septième impulsion d'horloge,présente sur le conducteur 110,place également dans l'état 1 les deux premiers étages 25 du registre 1129 et la septième impulsion d'horloge, présente sur le conducteur 114,place dans l'état 0 les six derniers étages du registre 112. Chaque impulsion présente sur le conducteur 113 fait donc avancer .le. mot binaire "00000011"- d'une position vers la gauche. 30 Un additionneur-accumulateur 115 additionne les signaux binaires présents sur ]es conducteurs 'M6 au contenu d'un registre accumulateur que comporte le circuit 1159la somme étant ensuite emmagasinée dans oe registre accumulateur» La septième impulsion d'horloge est appliquée à l'additionneur-accumulateur 35 115 par l'intermédiaire d'un circuit de retard 117 afin de remettre ce registre accumulateur à- -léro.La septième impulsion d'horloge est également appliquée au circuit conditionneur de bad original 70 46329 2072026 sortie 118 afin d'envoyer le contenu du registre accumulateur aux circuits de sortie. Le circuit de la figure 3 fonctionne de la manière suivant e s 5 Un code deux-p\rni-six complètement vérifié est représen té par des signaux appliqués au circuit conditionneur d'entrée 100. Ces signaux sont transférés dans le registre à décalage 101 à chaque septième impulsion d:horloge. A ce même moments le compteur 111 et le registre à décalage 112 sont préalablement 10 établis dans les états indiqués plus haut. les résultats antérieurs sont extraits de 1:additionneur-accumulateur 115 et envoyés aux circuits de sortie à travers le circuit conditionneur 118 ets après un retard déterminé par le circuit de retard 117 afin que les données de sortie aient pu être envoyées9 l'addi-15 tionneur~accumulateur 115 est remis à zéro. Les impulsions d'horloge successivess qui sont amenées à la borne 102 et acheminées à travers le circuit î•inhibition 103sdécalent vers la droite les bits contenus dans le registre 101 ets en même tempss incrémentent le contenu du compteur 111- et décalent le contenu 2C du registre à décalage 112. On peut voir que le registre 101,1e compteur 111.et le registre 112 progressent en synchronisme sous la commande des mêmes impulsions d'horloge. Lorsque la première impulsion apparaît à la sortie du registre 10T.; le compteur 111 a compté l'é-25 quivalent binaire L1 de la position du premier bit "1" dans le signal de sortie du registre 101. Après un court délai déterminé par le circuit de retard 1C4 afin de permettre au compteur 111 d:être établi, cet équivalent binaire est introduit dans I:additionneur- accumulateur 115 par l'intermédiaire du circuit 3C- conditionneur 105. Dans i1 additionneur-accumulateur 115r le zéro qu'il contient iorsqu:.ii est /idé est additionné à l'équivalent binaire qu'il reçoit du circuit conditionneur 105 et le résultat de cette addition, c'est à-dire 1:équivalent binaire L1 lui-même, se trouve emmagasiné dans le registre accumulateur du cir-35 cuit 115. A mesure que les impulsions d'horloge sont appliquées au registre à décalage 10'. le second bit 1" du code binaire est pafv original 70 46329 H 2072026 transféré d'une manière similaire à travers le circuit de retard 104 afin d'introduire dans 1'• additionneur-accumulateur 115 l'équivalent "binaire L2 de la position de ce second bit. Cet équivalent binaire.12 est additionné à l'équivalent binaire L1 5 déjà emmagasiné ela somme -(L1+L2) résultante se trouve emmagasinée dans le registre accumulateur du circuit 115» la seconde impulsion de sortie du registre 101 a également pour effet que le circuit diviseur 106 émet une impulsion qui se trouve appliquée au circuit "conditionneur 108 par l'inter-■10 médiaire du circuit de retard 107. Celui-ci a un retard un peu plus long que celui du circuit de retard 104 de manière à permettre au circuit conditionneur 108 d'être validé après le circuit 105 et à empêcher ainsi toute interférence» La configuration de bits qui apparaît dans les quatre positions d'ordre 15. élevé du registre 112 est ainsi transférée dans l'additionneur-accumulateur 115 et y est additionnée à la somme que celui-ci c ntient déjà. La valeur numérique représentée par cette configuration de bits.et cette configuration elle-même sont identiques à celles décrites plus haut lorsqu'on a décrit le procédé 20 et que l'on identifie par 02 dans la cinquième colonne du tableau IL Ainsir par exemple5 si le second bit du code deux-parmi-six apparaît dans la deuxième ou la troisième position de bit (c'est-à-dire si L2 = 1, 2), la valeur numérique C2 est zéro. Si le second bit du code apparaît dans la quatrièmer la 25 cinquième ou la sixième position de bit (L2 = 3- 4 ou 5)9 la valeur numérique C2 est 1; 3 ou 6, respectivement. On remarquera sur le tableau II que la somme des deux positions de bits L1 et L2? fournies par le compteur 111„ et du contenu C2 du registre 112 est égale à l'équivalent binaire du code deux parmi-six en-3C tier. Ce nombre binaire contenu dans 1:additionneur-accumulateur 115 est transféré par le circuit conditionneur 118 au moment d'occurrence de chaque septième impulsion d'horloge. On voit donc que le montage illustré t la figure 3 met en oeuvre le procédé de conversion décrit précédemment. BAD ORIGINAL . r — 70 46329 b 2072026 REVENDICATIONS 1.- Procédé pour convertir en signaux codés binaires ordinaires, des signaux d'entrée codés de façon spéciale et consistant en permutations dfun nombre fixe de bits "1" et d'un 5 nombre fixe de bits "0", selon lequel on emmagasine les signaux d'entrée dans un premier registre et une constante prédéterminée dans un second registre» caractérisé en ce qu'il consiste en outre à localiser toutes les positions de bits contenant un bit "1" dans un premier registres à déterminer le déplacement 10 binaire, à partir de la position de bit de plus faible poids dans le premier registre, de chaque position contenant un bit "1", à décaler le contenu du second registre d-une valeur égale au déplacements à partir de"la position de bit de plus faible poids dans le premier registre, de la position de bit d'extrême 15 gauche contenant un bit "1", et à additionner ledit déplacement binaire dans le premier registre et le contenu décalé du second registre. 2.- Dispositif pour mettre en oeuvre le procédé de conversion selon la revendication 1 « comprenant un circuit c-ondi- 2C tionneur d'entrée et un premier registre à décalage pour recevoir et emmagasiner les signaux d'entrée codés5 et un second registre à décalage pour emmagasiner ladite constante prédéterminée, caractérisé en ce qu'il comprend en outre un circuit de comptage pour déterminer le déplacements à partir de la position 25 de bit de plus faible poids dans le premier registre à décalage, de chaque position de bit contenant un "1"; un circuit de décalage pour décaler la constante emmagasinée, d'une valeur égale au déplacement binaire dans le premier registre à décalage; et un circuit additionneur binaire pour additionner la valeur 30 du déplacement binaire .ans le premier registre à décalage et le contenu du second registre à décalage. 3-~ Dispositif de conversion selon la revendication 2, caractérisé en ce que le nombre fixé de bits "1" est deux et le nombre fixé de bits "G" est quatre, et en ce que la valeur bi-35 naire de ladite constante prédéterminée que décale le circuit à décalage est bad original