FR 2629930 A1 19891013 FR 8804809 A 19880412 Description Procédé et unité de gestion de mots d'adresse' L'invention concerne un procédé de gestion de mots d'adresse qui détermine des adresses de destination pour l'aiguillage de données à partir de mots d'adresse d'entrée. Elle concerne également une unité de gestion de mots d'adresse mettant en oeuvre ce procédé. Elle concerne également les calculateurs, micro- processeurs, dispositifs de gestion de données, dispositifs de stockage ou autres dans lesquels un tel procédé ou une telle unité de gestion peuvent opérer, c'est-à-dire lorsqu'il est nécessaire à partir de mots d'adresse de déterminer des adres- ses de destination auxquelles doivent être stockées des don- nées concernées par l'opération. Par donnée il faut entendre ici tout mot destiné à être stocké sans se limiter au sens étroit courant du mot donnée mais en englobant les mots d'ins- truction. En effet dans les langages de programmation par type abstrait, c'est-àdire la forme la plus moderne de la programmation structurée, ou des langages dits d'intelligence artificielle, les formes de conception de logiciels sont: structure de données, structure de programmes, programmation par les données. Dans les langages d'intelligence artificielle il n'existe plus aucune différence de forme entre donnée et programme. Cette tendance générale à la structuration est due à un besoin de méthode de conception et d'augmentation de la lisibilité des logiciels pour en faciliter leur maintenance. Cela se traduit par une augmentation du temps d'accès aux in- formations stockées en mémoire. D'une manière générale la détermination de l'a- dresse de destination d'une donnée va s'effectuer à partir d'une adresse de départ (premier mot binaire) à laquelle on ajoute une valeur de saut (second mot binaire) afin d'en dé- duire l'adresse de destination pour le stockage en mémoire. De la même manière que cela a été indiqué pour le mot 'don- née", de même le mot 'mémoire' va concerner en premier lieu la notion habituelle de mémoire mais également toute struc- ture organisée dans laquelle ses constituants vont pouvoir être adressés. -- Une mémoire est un ensemble fini d'éléments mémoire. Sa structure est une structure de groupe, au sens mathématique de la théorie des groupes, qui est imposée par une loi de translation des adresses. Les modes d'adressage habituels servant au déplacement dans la mémoire utilisent cette loi. La mémoire ne contient pas en elle sa structure, l'adresse associée à chaque élément mémoire n'est qu'un iden- tificateur: il n'existe aucun lien à priori entre les adres- ses notées 00, 01 ou 10. La loi de translation d'adresses, mise en oeuvre généralement dans une unité arithmétique et logique, n'est autre que laloi d'addition des entiers, ce qui confère à la mémoire une structure de groupe cyclique donc commutatif dont le graphe associé est un cercle. La configura- tion de la mémoire centrale détermine les structures des don- nées, et avec la configuration en cercle de la mémoire actuel- le, ces structures sont des tableaux à une dimension. Cette organisation de l'adressage a été détermi- née par J. Von NEUMANN dès le début de l'apparition des calcu- lateurs à programme enregistré. Une représentation très sché- matisée d'une telle organisation est par exemple fournie à la figure 2 de l'article intitulé "Les hyper-ordinateurs" de P. QUINTON dans LA RECHERCHE volume 16 ne 167, juin 1985. Une unité de traitement et une unité de contrôle échangent avec une mémoire des adresses et des données. Les adresses sont des numéros d'ordre qui permettent de stocker ou d'aller cher- cher en mémoire les données. Les instructions fournies par l'unité de contrôle sont décodées puis exécutées. Selon une telle organisation l'instruction suivante est implicitement celle qui suit la précédente en mémoire. Mais les mécanismes d'adressage mis en cause selon de telles conceptions deviennent de très gros consommateurs de temps pour les langages évolués actuels. Le problème posé est donc de réduire les durées d'adressage mises en oeuvre. Aussi selon l'invention une nouvelle conception de l'adressage a été développée qui permet globalement d'abaisser la durée néces- saire à la détermination des adresses de destination. La solution au problème posé consiste en un pro- cédé qui comprend les étapes suivantes: - à partir de deux mots d'adresse d'entrée, séparation de cha- cun de ces mots en deux champs tel que: les M bits de poids fort et les N bits de poids faible du premier mot d'entrée constituent respectivement les champs I et J, les M bits de poids fort et les N bits de poids faible du second mot d'entrée constituent respectivement les champs K et L, combinaison de ces champs selon une loi de composition de groupes non-commutatifs pour délivrer des adresses de desti- nation formées de deux champs F et G constitués respective- ment des M bits de poids fort et des N bits de poids faible issus de la combinaison. Selon une première variante le procédé combine les champs selon une loi de composition de groupes non-commu- tatifs métacycliques et détermine F et G tel que: F = 1 + K modulo 2M et G = L+J*bK+[dépassement de (I+K)],2P modulo 2N o b et P sont des constantes prédéterminées du groupe choisi tel que b2M-1 est un multiple de 2N et b-1 est un multi- ple de 2N-P, et P est un entier positif inférieur à N et o les symboles (+) et (O) représentent respectivement les opé- rations d'addition et de multiplication. Selon une seconde variante mettant en oeuvre un second groupe noncommutatif, les champs I, J, K, L étant formés respectivement des bits (IM...Il), (JN...J1), (KM...K1)., (LN...L1), o l'indice d'ordre 1 se rapporte au bit de poids le plus faible de chaque champ, ledit procédé combine ces champs selon une loi de composition de groupes noncommutatifs et détermine F et G tel que: F = I+K+J1.K1.C*2M-1 modulo 2M et (2) G = L+J*bK+J1.K1*(y-b)+J1.K2.d*2N-1 +[dépassement de (I+K+J1.K1. Ct2M-1)]*2P modulo 2N o les symboles (+), (*) et (.) représentent respectivement l'addition, la multiplication et la fonction ET logique et o C, y, P, b, d sont des constantes prédéterminées du groupe choisi. Ce procédé peut être mis en oeuvre selon la pre- mière variante de l'invention dans une unité de gestion de mots d'adresse d'entrée de (M+N) bits qui détermine des adres- ses de destination pour l'aiguillage de données remarquable en ce qu'elle détermine les adresses de destination à partir de deux mots d'adresse d'entrée en les séparant l'un et l'autre, de la même manière, selon deux champs, les M bits de poids fort et les N bits de poids faible du premier mot d'entrée constituant respectivement les champs I et J, les M bits de poids fort et les N bits de poids faible du second mot d'entrée constituant respectivement les champs K et L, l'adresse de destination étant formée de deux champs F et G constitués respectivement de M bits des poids fort et des N bits de poids faible délivrés par l'unité de gestion qui com- prend - un premier additionneur qui délivre le champ F tel que F = I+K modulo 2M, - un décaleur qui décale de P poids binaires le bit de dépas- sement délivré par le premier additionneur et qui délivre sur N bits un mot de dépassement décalé R, - un second additionneur qui additionne L et le mot de dépas- sement décalé R, - un élément de calcul qui détermine l'expression JbK, - un troisième additionneur qui additionne le résultat déli- vré par l'élément de calcul avec le résultat délivré par le deuxième additionneur et qui délivre le champ G tel que G = L+J*bK+R modulo 2N o b et P sont des constantes prédéterminées du groupe choisi tel que b2M-1 est un multiple de 2N et b-1 est un multiple de 2N-P, et P est un entier positif inférieur à N. Il peut aussi être mis en oeuvre selon la deuxiè- me variante dans l'unité de gestion précédente modifiée de sorte que le premier additionneur opère sur (M+1) bits et dé- livre 2 bits de dépassement qui sont introduits et décalés dans le décaleur et en ce qu'elle comprend en outre un circuit de conditionnement des mots d'adresse d'entrée, les champs 1, J, K, L étant formés respectivement des bits (IM...Il), (JN...J1), (KM...K1), (LN...L), o l'indice d'ordre 1 se rapporte au bit de poids le plus faible de chaque champ, le circuit de conditionnement comprenant: - sur une première voie: une première porte ET qui reçoit J1, K1 et un bit C une seconde porte ET qui reçoit IM et la sortie de la première porte ET 25. un premier sélecteur, actionné par la sortie de la pre- mière porte ET, qui sélectionne IM ou sa valeur logi- que inversée de sorte que le premier additionneur re- çoit sur une entrée: - les M-1 bits de poids faible du champ I du mot d'a- dresse d'entrée, - la sortie du premier sélecteur comme Mième bit, - la sortie de la seconde porte ET comme (M+1)ième bit, et sur l'autre entrée, le champ K positionné sur les M bits les moins significatifs de cette entrée, le (M+1)ième bit étant à zéro, - sur une seconde voie: une troisième porte logique ET qui reçoit J1 et K1 et qui agit sur un deuxième sélecteur qui sélectionne une valeur y-b ou une valeur nulle, À une quatrième porte logique ET, qui reçoit J1, K2 et un bit d, et qui agit sur un troisième sélecteur qui sélec- tionne LN ou sa valeur logique inversée, un quatrième additionneur qui reçoit sur une entrée la sortie du deuxième sélecteur et sur l'autre entrée les (N-1) bits de poids faible du champ L du mot d'adresse d'entrée ainsi que la sortie du troisième sélecteur comme Nième bit, la sortie du quatrième additionneur entrant dans le second additionneur, o C, y, P, b, d sont des constantes prédéterminées du groupe choisi. Lorsqu'un concepteur de logiciels utilise par exemple une structure d'arbre binaire pour décrire la gestion des adresses il peut étre intéressé à parcourir ces arbres à l'aide de sélecteurs droit et gauche. Or, ces sélecteurs ne 20. commutent pas entre eux: l'adressage droit puis gauche n'est pas équivalent à l'adressage gauche puis droit. Pour réaliser un tel mécanisme d'accès non commutatif, il faut au minimum utiliser une structure de groupe à deux générateurs, appelés d'une manière générale s et t, correspondant par exemple aux deux types de déplacement droit et gauche. Un élément mémoire d'adresse a=i,j se notera: siti o s et t sont deux par- ties du champ d'adresse. L'invention concerne préférentiellement un groupe métacyclique à deux générateurs. qui peut être défini par les relations suivantes: {s,tltzN = e; s2M = tzP; ts = stb} (3) o le nombre d'éléments mémoire est 2N*2M et o P et b sont des constantes caractéristiques du groupe choisi tel que b2M-1 est un multiple de 2N et b-1 est un multiple de 2N-P, et P est positif et inférieur à N. Les relations de la forme si=tj s'interprètent de la façon suivante: - si j=0 la propagation du dépassement à la suite d'une opé- ration au niveau i du champ s ne doit pas être prise en compte, - sinon la propagation du dépassement à la suite d'une opéra- tion au niveau i du champ s doit se faire au niveau j du. champ t. La loi de composition du groupe métacyclique est: (sitj)$(sktl) = si+ktl+ j*bk+[dépassement de i+k]*2P o le symbole ($) représente la loi du groupe. Les opérations sur les champs de bits à effectuer par l'unité de gestion sont: pour le champ s: i+k pour le champ t: l+j*bk+[dépassement'de (i+k)]*2P. Pour simplifier l'écriture, lorsque l'unité de gestion reçoit deux mots d'adresse respectivement formés en deux champs (I, J) et (K, L), les mêmes lettres vont représen- ter les valeurs numériques qui sont associées à ces champs. Ainsi la mise en application des relations 3 dans l'unité de gestion va consister à déterminer les champs F et G de l'adresse de destination selon les relations (1). L'invention concerne également le second'groupe non-commutatif à deux champs défini par les relations suivan- tes: {s,tltzN=e; s2M-t2P; I ts2=s2tbZ+d*2N-1; (4) tZs=st2b; ts=sl+C*2M1tY} o P,C,d,b,y, sont des constantes caractérisant la loi du groupe. Ainsi la mise en application de la formule (4) dans l'unité de gestion va consister à déterminer les champs F et G de l'adresse de destination selon les équations (2). On obtient ainsi les adresses de destination qui ne sont plus issues de la loi d'addition des entiers mais d'une loi des groupes non commutatifs ce qui permet de stocker et d'accéder aux données avec des durées réduites. L'invention sera mieux comprise à l'aide des fi- gures suivantes, données à titre d'exemples non limitatifs et OS qui représentent: figure 1: un schéma indiquant le mode habituel d'adressage. figure 2: un schéma montrant l'insertion de l'unité de ges- tion dans une structure pré-existante. figures 3A et 3B: deux organigrammes du procédé de gestion respectivement dans le cas du groupe métacyclique et du second groupe non-commutatif. figures 4A et 4B: deux schémas de l'unité de gestion pour la mise en oeuvre du procédé respectivement selon le groupe métacyclique et selon le second groupe non-commutatif. figures 5A et 5B: un exemple représentant un problème de rotationsymétrie. figure 6: un deuxième exemple représentant un problème de graphe quelconque. figure 7: une modification du schéma des figures 4A et 4B concernant la détermination de J*bK dans le cas o b=-1 modulo 2N par exemple pour une application à un problème de rotation- symétrie. La figure 1 représente un schéma du mode habituel d'adressage. La détermination de l'adresse de destination se fait à l'aide d'un additionneur 10 qui reçoit, sur les bus 11 et 12, généralement une adresse de départ à laquelle il ajoute une valeur de saut. Il délivre une adresse de destination sur le bus de sortie 13 qui adresse une mémoire 14. Celle-ci à l'aide d'un signal de lecture/écriture R/W fournit ou reçoit des données sur un bus 15. La loi mise en oeuvre.est ici la loi d'addition classique des entiers qui permet d'adresser la donnée dans la mémoire. L'additionneur 10 est généralement une partie fonctionnelle d'une unité arithmétique et logique (UAL). La figure 2 représente un schéma montrant l'in- sertion de l'unité de gestion selon l'invention dans une structure préexistante telle que celle de la figure 1. Comme son nom l'indique l'UAL 25, qui renferme l'additionneur 10, effectue des opérations soit arithmétiques soit logiques et ceci sur des données ou sur des adresses. Selon l'invention l'unité de gestion 20 va pren- dre en charge les commandes des opérations arithmétiques sur les adressses qui ne seront donc plus effectuées par l'UAL. Ces opérations sont détectées dans la structure globale à l'aide d'un signal de contrôle S qui aiguille vers l'unité de gestion 20 lesdites opérations et aiguille vers l'UAL 25 toutes les autres opérations dont la totalité apparaît sur le bus 21. Ainsi l'unité de gestion 20 opère directement sur les adresses présentes sur le bus général 22 et agit sur la mémoi- re 14. Selon l'invention les deux mots d'adresse d'en- trée sont séparés l'un et l'autre en deux champs sur lesquels l'unité de gestion applique une loi de composition des grou- pes non commutatifs. Un tel groupe est préférentiellement le groupe métacyclique de la formule 3. Les figures 3A et 3B re- présentent deux organigrammes du procédé de gestion opérant sur ces groupes non-commutatifs. Les deux mots d'entrée sont séparés chacun en deux champs tel que: - le premier mot est séparé en un champ I de M bits, et en un champ J de N bits, - le deuxième mot est séparé en un champ K de M bits, et en un champ L de N bits. La figure 3A concerne le groupe métacyclique. Dans une étape 101 les champs I et K sont additionnés pour fournir le champ F gui est délivré (étape 102). Lors de l'éta- pe 101 l'addition qui est effectuée sur deux champs de M bits peut engendrer un bit de dépassement DE1 apparaissant sur le (M+1)ième bit. Il est utilisé lors de l'étape 103: - lorsque ce bit est à zéro la valeur du champ d'entrée L n'est pas altérée, - lorsque ce bit est à un, la valeur du champ d'entrée L est additionnée à un mot de dépassement de valeur 2P. La géné- ration de ce mot consiste simplement à placer le bit de dé- passement sur le (P+1)ième bit d'un mot de N bits, tous les autres bits du mot étant à zéro. Ce mot de dépassement est ajouté à la valeur de L. La valeur de P est une cons-. tante caractéristique du groupe non-commutatif choisi. L'étape 104 consiste à combiner les champs J et K selon l'expression J*bK. Le champ G est alors déterminé (étape 105) en additionnant J*bK au résultat obtenu après l'étape 103 selon G = L+J*bK. Le champ F constitue les M bits les plus significatifs et le champ G constitue les N bits les moins significatifs du résultat final. La figure 3B concerne le second groupe non-commu- tatif. On retrouve les mêmes étapes 101 à 105 précédentes mais avec certaines modifications. la valeur I pour l'étape 101 et la valeur L pour l'étape 103 ont toutes deux subi un conditionnement, 20. l'étape 101 porte sur une addition effectuée sur (M+1) bits, l'étape 103 porte sur une addition effectuée avec un mot de dépassement obtenu à partir des deux bits de dépassement DE2, soit le (M+1)ième et le (M+2)ième bit, délivrés à l'étape 101. Les champs d'entrée I, J, K, L sont formés res- pectivement des bits (IM...I1), (JN...J.), (KM...K1), (LN...L1), o l'indice d'ordre 1 se rapporte au bit de poids le plus faible de chaque champ. Pour le second groupe non-commutatif le procédé comprend en outre les étapes de conditionnement suivantes: - l'étape 210 opère le ET logique entre les bits Ji, K1 et un bit C qui est une constante prédéterminée du groupe: lorsque le résultat de cette étape est à O la valeur du champ d'entrée I n'est pas modifiée (i=I) (étape 218), 35. lorsque le résultat de cette étape est à 1 la valeur du champ d'entrée I est remplacée par une nouvelle valeur tel que I (nouvelle) = I (ancienne)+2M-1 (étape 213). C'est cette nouvelle valeur sur (M+1) bits qui est uti- lisée pour l'étape 101; - l'étape 211 opère le ET logique entre J1 et K1: lorsque le résultat est à zéro une valeur temporaire H est mise à zéro (étape 214), lorsque le résultat est à un, la valeur temporaire H est chargée avec y-b (étape 215). y et b sont des constantes prédéterminées du groupe; - l'étape 212 opère le ET logique entre J1, K2 et un bit d qui est une constante prédéterminée du groupe: lorsque le résultat est à zéro, la valeur L du champ d'entrée n'est pas modifiée (L=L) (étape 219), 15. lorsque le résultat est à 1, la valeur de L du champ d'entrée est remplacée par une nouvelle valeur L tel que L (nouvelle) = L (ancienne)+ 2N-1 (étape 216); - l'étape 217 opère l'addition de la nouvelle valeur L avec H qui se substitue à L tel que L (nouvelle) = L (ancienne)+H. C'est cette dernière valeur de L qui est utilisée pour l'é- tape 103. La suite des étapes se déroule comme dans le cas décrit pour l'organigramme de la figure 3A. La figure 4A représente un schéma de l'unité de gestion selon l'invention pour la mise en oeuvre du procédé selon le groupe métacyclique. L'unité de gestion comprend un premier addition- neur 30 qui additionne I et K et délivre le champ F sur M bits. Un élément de calcul 31, qui reçoit J et K, détermine l'expression J*bK. Cet élément de calcul est, par exemple, une table qui stocke des valeurs prédéterminées. Cette table est par exemple un réseau à logique programmée PLA. Le dépas- sement de l'additionneur 30, qui apparaît sur la connexion 33, est introduit dans un décaleur 35 et fournit un mot de dépas- sement. Ceci revient à placer le bit de dépassement dans la (P+I)ième position du mot c'est-à-dire à multiplier le bit de dépassement par 2P. Ce mot de dépassement est additionné à L dans un deuxième additionneur 32. Sa sortie est addition- née avec la sortie de l'élément 31 dans un troisième addition- neur 34 qui délivre sur N bits le champ G du résultat final. La figure 4B représente un schéma de l'unité de gestion pour la mise en oeuvre du procédé selon l'invention selon le second groupe non-commutatif. Il comprend les mêmes éléments que ceux de la figure 4A avec les modifications sui- vantes: le premier additionneur 30 opère sur (M+1) bits mais le champ d'entrée I est modifié par un circuit de conditionne- ment 40, le premier additionneur 30 délivre deux bits de dépassement DE2 qui sont introduits dans le décaleur 35, le deuxième additionneur 32 opère avec un champ L modifié par le circuit de conditionnement 40. Le circuit de conditionnement 40 comprend sur une première voie qui modifie le champ d'entrée I: 20. Une première porte -ET 41 qui reçoit J1 et K1 et un bit d. Les bits J1 et K1 sont les bits les moins significatifs res- pectivement des champs J et K et le bit C est une caracté- ristique du groupe choisi; La sortie de la porte ET 41 actionne un premier sélecteur 42 qui sélectionne soit le bit IM le plus significatif du champ I soit son inverse délivré, par exemple, par un inver- seur 43; La sortie de la porte ET 41 entre également dans une deuxiè- me porte ET 44 qui reçoit aussi IM. Le champ I modifié qui entre dans l'.additionneur est ainsi constitué: des (M-1) bits de poids faible du champ I du mot d'entrée, de la sortie du sélecteur 42 comme Mième bit, de la sortie de la seconde porte ET 44 comme (M+1)ième bit. L'additionneur 30 reçoit sur sa seconde entrée, le champ K positionné sur les M entrées les moins significati- ves, la (M+1)ieme entrée étant à zéro. Le circuit de conditionnement 40 comprend égale- ment sur une deuxième voie: - une troisième porte logique ET 45 qui reçoit Jl et K1 et.qui active un deuxième sélecteur 46 qui sélectionne soit une va- leur nulle soit une valeur (y-b) o y et b sont des constan- tes du groupe choisi selon un mot de N bits, - une quatrième porte logique ET 47 qui reçoit J1 et Kz qui est le deuxième bit le moins significatif du champ K du mot d'entrée. La porte ET 47 reçoit également un bit d qui est une constante du groupe choisi, - la sortie de la porte ET 47 qui actionne un troisième sélec- teur 48 qui sélectionne soit le bit LN qui. est le bit le plus significatif du champ L soit son inverse obtenu par exemple par un inverseur 49, -un quatrième additionneur 50 qui reçoit, sur une entrée, la sortie du deuxième sélecteur 46 et sur l'autre entrée les (N-1) bits les moins significatifs du champ L du mot d'en- trée et comme Nième bit la sortie du troisième sélecteur 48. La sortie du quatrième additionneur 50 délivre la valeur du champ L modifié qui entre dans le deuxième additionneur 32. Les autres éléments de l'unité de gestion opèrent de la même manière que celle déjà décrite dans le cas de la figure 4A. L'unité de gestion délivre ainsi en sortie une adresse de destination formée du champ F pour les M bits les plus significatifs et du champ G pour les N bits les moins signi- ficatifs. L'adresse de destination est ainsi formée des deux champs F et G. L'unité de gestion de la figure 4A ou 4B- peut ainsi se substituer pour le calcul des adresses à I'unité arithmétique et logique habituellement utilisée pour cette fonction. Lorsque la loi de composition doit être appliquée plusieurs fois consécutivement, le résultat obtenu lors de la première application est réintroduit à l'entrée de l'unité de -gestion et ainsi de suite. Les valeurs à donner aux constantes C, y, P, b, d du second groupe noncommutatif sont définies préalablement par l'utilisateur selon le type d'application à traiter. L'exemple de la figure 6 indique comment cette détermination est effectuée. Il est présenté sous la forme d'un graphe quel- conque, afin de décrire une application quelconque,. mais il est néanmoins simplifié à quelques noeuds pour ne pas alourdir la démonstration. Le graphe représenté par la figure 6 est décrit selon les indications des flèches à l'aide de deux générateurs appelés s et t. Les flèches en traits continus concernent le générateur t et les flèches en traits discontinus concernent le générateur s. En chaque noeud sont représentées les combi- naisons de s et de t nécessaires pour atteindre les noeuds re- présentés par les points du graphe, l'élément e étant le noeud initial. Lorsque plusieurs trajets sont possibles, il en ré- sulte que des relations propres au graphe apparaissent. Dans l'exemple 4 relations apparaissent: s = t2st2 s2t2 = t2s2 $3 = s2t2St2(5) ts = s3t5. De plus on observe qu'il y a au plus 7 liens con- sécutifs concernant le générateur t et 3 liens consécutifs concernant le générateur s. La taille minimale de l'organe de stockage doit être telle que 2N est supérieur à 7 et 2M est supérieur à 3. Cherchons une solution dans le cas du second groupe non-commutatif défini par les relations générales: t2N = e; s2M = t2P; ts = sl+c*2M-1ty; (6) t2s = st2b; tS2 = s2tb2+d*2N-1. En appliquant aux relations 5 et 6 les calculs habituels propres à la théorie des groupes, le système de relations 5 peut se ramener dans le système intermédiaire: t2s = st-2; st2 = t-2s; ts = s3t5 qui lui-même se réduit à: t2s = st-2; ts = s3t5. En comparant aux relations (6) on obtient: 2b = -2 soit b = -1 ts = s3t5 = sl+C*2M-ltY soit.y=5, c=1 et M=2. A ce stade de calcul les contraintes déterminées sont: b=-1; C=1; M=2; y=5; 2N supérieur à 7; Pour déterminer les paramètres du second groupe non-commutatif il y a lieu de tenir compte des contraintes du tableau 1 suivant: b2M-1 doit être un multiple de'2N-1 b-1 doit être un multiple de 2N-P C vaut O ou 1 bC*2M-1-1 doit être un multiple de 2N-1 d vaut 0 ou 1 20. (y-b)*(b+l)-d2N-1 doit être un multiple de 2P (si C*2M-2 est pair) tester bC*2M-1-2*(b-y)-1 qui doit être un multiple de 2P (si C*2M-2 est impair) tester bC*2M-1-2*(b-y)+d*2N-1-1 qui doit être un multiple de 2P TABLEAU 1 Les paramètres du groupe non commutatif n'étant déterminables qu'à l'aide d'équations implicites, il est né- cessaire d'effectuer cette détermination en vérifiant les équations à l'aide de valeurs possibles jusqu'à ce que toutes les contraintes déjà citées soient respectées. Ceci est réali- sé à l'aide d'un programme d'ordinateur simple, aisément mis en oeuvre par un homme du métier, respectant les contraintes imposées. Il suffit de programmer pour chaque paramètre les valeurs suivantes: Lorsque N n'est pas connu faire N = 1, 2, 3,... Lorsque M n'est pas connu faire M = 1, 2, 3,... Lorsque P n'est pas connu faire P = 1, 2, 3,..., N. 05. Lorsque b n'est pas connu faire b = 1 puis b = 1+2N-P puis b = 1+2*2N-P jusqu'à b = l+(2P1)*2N-? Lorsque d n'est pas connu faire d = O puis d=1; 10. Lorsque C n'est pas connu faire C = O puis C = 1 * Lorsque y n'est pas connu faire y = 1, 3, 5, 7,... 2N-1. Dans l'exemple qui vient d'être décrit les va- leurs déterminées à l'aide des équations sont b=-1, C=1, y=5, M=2, 2N supérieur à 7. On peut choisir N=3 ce qui donne un groupe de taille 2M+N=32. On vérifie que: b2-1 = 0 est un multiple de 2N-1=4 20. bC*2M-1-1 = O est un multiple de 2N-1=4 Il reste les contraintes suivantes: d doit être égal à O ou 1 (y-b)*(b+l)-d*2N-l=-4d doit être un multiple de 2P. avec P compris entre 1 et N. En choisissant par exemple P=2 et d=O on obtient tous les paramètres du groupe non-commutatif qui correspond au graphe de la figure 6. Ces paramètres sont: N=3; M=2; P=2; b=-1; y=5; d=O; C=1. Le procédé préalablement décrit à la figure 3B peut ainsi opérer à l'aide desdits paramètres. De même l'unité de gestion de la figure 4B peut opérer pour adresser les dif- férents noeuds du graphe selon ce groupe non commutatif. Afin de bien mettre en évidence tout l'intérêt de ce mode d'adressage, un exemple simple va être exposé avec un groupe métacyclique. Bien évidemment il ne s'agit que de bien faire comprendre l'invention mais celle-ci concerne également l'adressage de mots d'adresse dans des situations beaucoup plus élaborées. L'exemple est constitué par le problème de rota- tion-symétrie dans le plan. Il s'agit ici de symétrie par.rap- port à l'axe vertical OY et de rotation de 45-. Les parties hautes des figures 5A et 5B correspondent aux rotations avec les huit configurations possibles, l'élément d'origine étant appelé e. Les parties basses des figures 5A et 5B correspon- dent au cas o une symétrie est appliquée aux huit rotations précédentes, ce qui fournit huit configurations nouvelles. La figure 5B représente pour chaque cas indiqué la matrice asso- ciée à l'opération ainsi que les deux champs d'adresse s,t dans le groupe diédral à 16 éléments selon l'exemple soit N=3, M=1, P=3, b=-1. Dans ce problème des rotations-symétries considé- rons le cas d'un point Q de l'objet représenté (une maison) de cote (2, 1) et appliquons lui successivement une rotation de puis une symétrie puis une rotation de 45 . Pour le calcul classique il faut opérer un pro- duit de matrices tel que: Ixi = 2/2 - 12/2 i s1 01 -2/2 - f2l2 2 Q yI 112/2 f2/2 1- 0 1 12/2 - f2/21 111 En effectuant la multiplication de ces trois matrices on obtient Q': 111 Selon l'invention on opère non sur les valeurs des coordonnées mais sur les adresses qui sont séparées en deux champs s et t sur lesquels on effectue deux fois Ies opé- rations préalablement définies représentées par (I,J)$(K,L)= (F,G) soit (I,J)$(K,L)=[(I+K),(L+J*bK+(dépassement de (I+K)*2P))]. Pour les rotations-symétries b=-1 d'o: F = I+K modulo 2M G = L+J*(-1)Kl+[dépassement de (I+K)1*2P. Pour l'exemple choisi considérons les 3 opéra- tions successives suivantes: - rotation de 135 (s,t) = (0,3) - symétrie (s,t) = (1,0) - rotation de 45 (s,t) = (0,1) La loi de composition du groupe appliquée deux fois à ces champs donne pour les 3 opérations successives: (0,3)$(1,0)$(0,1).= (1,5)$(0,1) = (1,6) c'est-à-dire sur la figure 5A le cas st6 pour lequel la matrice est 1 1' 11 01- Il suffit alors d'effectuer un seul produit de la matrice par les cordonnées de Q: soit Q':jO 1 l I 1:= 1.1 Selon l'invention on effectue ainsi des calculs simples sur les champs d'adresses, aisément mis en oeuvre dans l'unité de gestion et non plus des produits de matrices qui nécessitent un traitement beaucoup plus complexe et long. Lorsque la loi de composition doit être appliquée plusieurs fois consécutivement, le résultat obtenu lors de la première application est réintroduit à l'entrée de l'unité de gestion et ainsi de suite. Dans le cas des symétries-rotations la constante b est égale à -1. Dans ce cas la détermination de l'expression J*bK par l'unité de gestion revient à utiliser soit J soit -J selon que K1 est égal respectivement à O ou 1. Dans ce cas l'élément de calcul 31 de la figure 4A est modifié selon le schéma de la figure 7. Il est remplacé par un sélecteur 60 qui sélectionne le complément à 2 de J soit -J lorsque KI est à 1 et J -lorsque Ki est à zéro. Selon l'invention la loi de composition ne né- cessite que des calculs simples et permet de supprimer bon nombre d'appels en mémoire ce qui accroit la rapidité d'adres- sage lorsque les problèmes à traiter deviennent plus comple- xes. De plus la loi inverse permet d'effectuer les opérations dans le sens inverse. L'unité de gestion de mot d'adresse qui vient d'être décrite peut être utilisée dans n'importe quelle struc- ture de traitement de données ou n'importe quelle structure de mémorisation de données pour lesquelles il est nécessaire d'effectuer un adressage de ces données. Revendications: 1. Procédé de gestion de mots d'adresses qui déter- mine dans une unité de gestion des adresses de destination à partir de mots d'adresse d'entrée de (M+N) bits pour l'aiguil- lage de données vers une structure adressable, caractérisé en ce que le procédé mis en oeuvre dans l'unité de gestion com- prend les étapes suivantes: - à partir de deux mots d'adresse d'entrée, séparation de cha- cun de ces mots en deux champs tel que: 10. les M bits de poids fort et les N bits de poids faible du premier mot d'entrée constituent respectivement les champs I et J, les M bits de poids fort et les N bits de poids faible du second mot d'entrée constituent respectivement les champs K et L, - combinaison de ces champs selon une loi de composition de groupes non-commutatifs pour délivrer à la structure adres- sable des adresses de destination formées de deux champs F et G constitués respectivement des M bits de poids fort et des N bits de poids faible issus de la combinaison. 2. Procédé selon la revendication 1, caractérisé en ce qu'il combine les champs dans l'unité de gestion selon une loi de composition des groupes non-commutatifs métacycliques et détermine F et G tel que: F = I + K modulo 2Met G = L+J*bK + [dépassement de (I+K)]*2P modulo 2N o b et P sont des constantes prédéterminées du groupe choisi tel que b2M-1 est un multiple de 2N et b-1 est un multi- ple de 2N-P, et P est un entier positif inférieur à N et o les symboles (+) et (*) représentent respectivement les opé- rations d'addition et de multiplication. 3. Procédé selon la revendication 1, caractérisé en. ce que les champs I, J, K, L étant formés respectivement des bits (IM... I1), (JN...J1), (KM...K1), (LN...L1), o l'indice d'ordre 1 se rapporte au bit de poids le plus faible de chaque champ, ledit procédé combine ces champs dans l'unité de gestion selon une loi de composition des groupes non commutatifs et détermine F et G tel que F = I+K+J1.Ki.C*2M-1 modulo 2M et G = L+J*bK+Ji.Kl*(y-b)+J1.K2.d*2N-1 +[dépassement de (I+K+J1.K1.C, 2M-1)]*2P modula 2N o les symboles (+), (*) et (.) représentent respectivement l'addition, la multiplication et la fonction ET logique et o C, y, P, b, d sont des constantes prédéterminées du groupe choisi. 4. Unité de gestion de mots d'adresse d'entrée de (M+N) bits qui détermine des adresses de destination pour l'aiguillage de données caractériséeen ce qu'elle détermine les adresses de destination à partir de deux mots d'adresse d'entrée en les séparant l'un et l'autre, de la même manière, selon deux champs, les M bits de poids fort et les N bits de poids faible du premier mot d'entrée constituant respectivement les champs I et J, les M bits de poids fort et les N bits de poids faible du second mot d'entrée constituant respectivement les champs K et L, l'adresse de destination étant formée de deux champs F et G constitués respectivement des M bits de poids fort et des N bits de poids faible délivrés par l'unité de gestion qui com- prend: - un premier additionneur (30) qui délivre le champ F tel que F = I+K modulo 2M, - un décaleur (35) qui décale de P poids binaires le bit de dépassement délivré par le premier additionneur (30) et qui délivre sur N bits un mot de dépassement décalé R, - un second additionneur (32) qui additionne L et le mot de dépassement décalé R, - un élément de calcul (31) qui détermine l'expression J*bK, - un troisième additionneur (34) qui additionne le résultat délivré par l'élément de calcul (31) avec le résultat déli- vré par le deuxième additionneur (32) et qui délivre le champ G tel que G = L+J*bK+R modulo 2N o b et P sont des constantes prédéterminées du groupe choisi tel que b2M-1 est un multiple de 2N et b-1 est un multi- ple de 2N-P, et P est un entier positif inférieur à N. 5. Unité de gestion selon la revendication 4, carac- térisée en ce qu'elle est modifiée de sorte que le premier additionneur (30) opère sur (M+1) bits et délivre 2 bits de dépassement qui sont introduits et décalés dans le décaleur (35) et en ce qu'elle comprend en outre un circuit de condi- tionnement (40) des mots d'adresse d'entrée, les champs I, J, K, L étant formés respectivement des bits (IM... I), (JN...J1), (KM...K1), (LN... L1) , o l'indice d'ordre 1 se rapporte au bit de poids le plus faible de chaque champ, le circuit de conditionnement (40) comprenant: - sur une première voie: une première porte ET (41) qui reçoit J1, K1 et un bit C une seconde porte ET (44) qui reçoit IM et la sortie de la première porte ET (41), un premier sélecteur (42), actionné par la sortie de la première porte ET (41), qui sélectionne IM ou sa va- leur logique inversée de sorte que le premier addition- neur (30) reçoit sur une entrée: - les M-1 bits de poids faible du champ I du mot d'a- dresse d'entrée, - la sortie du premier sélecteur (42) comme Mième bit, la sortie de la seconde porte ET (44) comme (M+1)ième bit, et sur l'autre entrée, le champ K positionné sur les M bits les moins significatifs de cette entrée, le (M+I1)ième bit étant à zéro, - sur une seconde voie une troisième porte logique ET (45) qui reçoit J1 et Ki et qui agit sur un deuxième sélecteur (46) qui sélec- tionne une valeur y-b ou une valeur nulle, os05. une quatrième porte logique ET (47), qui reçoit Ji, K2 et un bit d, et qui agit sur un troisième sélecteur (48) qui sélectionne LN ou sa valeur logique inversée, un quatrième additionneur (50) qui reçoit sur une entrée la sortie du deuxième sélecteur (46) et sur l'autre en- trée les (N-l) bits de poids faible du champ L du mot d'adresse d'entrée ainsi que la sortie du troisième sé- lecteur (48) comme Nième bit, la sortie du quatrième additionneur (50) entrant dans le second additionneur (32), o C, y, P, b, d sont des constantes prédétermi- nées du groupe choisi. 6. Unité selon une des revendications 4 ou 5, carac- térisée en ce que l'élément de calcul (31) est une table qui stocke des valeurs prédéterminées. 7. Unité selon la revendication 4 modifiée en ce que, dans le cas o b=-1 modulo 2N, l'élément de calcul (31) est remplacé par un sélecteur (60) qui sélectionne le complé- ment à 2 de J lorsque K1 est à 1 et J lorsque KI1 est à zéro. 8. Structure de traitement de données caractérisée en ce qu'elle comprend une unité de gestion d'adresses selon une des revendications 1 à 7. 9. Structure de mémnorisation de données caractérisée en ce qu'elle comprend une unité de gestion d'adresses selon une des revendications 1 à 7.