FR 2569288 A1 19860221 FR 8503613 A 19850312 "Dispositif de calcul d'adresse pour un appareil de traitement numérique". La présente invention concerne un appareil de traitement numérique et en particulier un dispositif pour cal- culer l'adresse du prochain opérande à appeler à partir d'une mémoire en même temps que le traitement sur le dernier opérande appelé. Dans un appareil de traitement à organisation cellulaire, il est fréquemment nécessaire d'effectuer une opération sur un ensemble ordonné, ou rangée, de données par un autre ensemble ordonné de données de manière répétitive, en démarrant avec un nouveau point de données dans le premier ensemble pour chaque opération successive. Par exemple, dans le filtrage numérique d'un signal représenté par un ensemble d'échantillons d'une forme d'onde de signal, on effectue de manière usuelle un produit de composition. Uie expression gé- nérale représentant le produit de convolution du signal x par la caractéristique h du filtre est la suivante P y (i) = > h (i). x (i+n) n =0 dans laquelle P est le nombre de coefficieni de la caractéris- tique du filtre et i le nombre de points de données, ces deux nombres obéissant à la relation suivante 0 données représentant la forme d'onde x est tout d'abord mul- tiplié par un coefficient correspondant de h et la somme des produits est additionnée; ensuite, les coefficient sont déca- lés d'une position et ce processus est répété. Cette multipli- cation et cette addition pour chacun des coefficients repré- sentant la caractéristique du filtre sont répétées jusqu'à ce que l'ensemble des données représentant la forme d'onde du signal ait été traité par produit de composition avec tous les coefficientsreprésentant la caractéristique du filtre, 2. Pendant chaque passage par l'ensemble des coefficients, il faut calculer les adresses des données et des coefficients dans la mémoire des données après chaque opération successive de mul- tiplication et d'addition. Après chaque passage de ce type par l'ensemble des coefficients représentant la caractéristique du filtre, le système doit revenir à une adresse de départ pointant sur le début de l'ensemble des coefficients dans la mémoire de données et à une adresse de départ pointant sur le nouveau point de données dans l'ensemble des points de données représentant la forme d'onde, l'indicateur original ayant été modifié d'une unité. Undes buts qui est ordinairement recherché dans le traitement à organisation cellulaire, en particulier dans le traitement de signaux, est de réaliser un calcul à grande vi- tesse. Ceci est particulièrement important quand on désire faire un traitement en temps réel. Lorsque, comme dans l'exemple pré- cédent, des passages répétitifs par des ensembles dEpoints de données sont nécessaires, il faut calculer de nouvelles adres- ses pour chaque opération successive, c'est-à-dire que l'on doit prévoir un certain dispositif pour faire avancer les adresses d'opérande pendant chaque passage et pour réinitiali- ser les pointeurs au début de chaque passage, ce qui inclut le fait de faire avancer la valeur pour laquelle un pointeur est initialisé. Dans les appareils du type microprocesseur de l'art antérieur, le calcul de l'adresse de départ requiert de manière typique que les adressesde départ et la quantité dont on doit faire avancer les adresses de départ soient stockées dans une mémoire, que ces valeurs soient appelées à chaque fois qu'il faut faire le calcul d'une nouvelle adresse de départ, c'est-à-dire pour réinitialiser l'adresse courante au début de chaque passage par un ensemble d'opérandes et que l'on calcule la nouvelle adresse de départ. Ce processus est accompli par une série d'étapes de programmes, c'est-à-dire des instructions. Des appareils qui fonctionnent de cette manière sont représentés, 3. par exemple par le microprocesseur TMS320 fabriqué par la Société TEXAS INSTRUMENTS CORPORATION, le microprocesseur F9445 fabriqué par la Société FAIRCHILD et le microprocesseur ATMAC fabriqué par la Société RADIO CORPORATION OF AMERICA. Ces étapes de programme nécessitent du temps d'unité centrale ce qui augmente le temps nécessaire pour réaliser une opération de traitement à orga- nisation cellulaire. Par conséquent, il serait désirable de fournir un dispositif qui garderait une trace des adresses de départ et des adresses courantes, qui calculerait de nouvelles adresses lorsque l'opération de traitement passe par les ensembles de données et qui calculerait de muvelles adresses de départ pour chaque passage successif par une nouvelle séquence de calcul simultanément avec l'opération sur les opérandes adressées de manière à maximiser la vitesse des opérations de traitement. La nécessité d'éliminer des temps d'unité centra- le utilisés de manière conventionnelle pour calculer de nouvelles adresses et réinitialiser des pointeurs est réalisée selon la présente invention par la fourniture d'une architecture de sys- tème qui remplace un fonctionnement traditionnel par programme. On fournit un premier ensemble de registresd'adresse pour mémo- riser les pointeurs sur les adresses de départ d'ensembles de données. On prévoit un second ensemble de registres d'adresse pour mémoriser les adresses courantes associées avec ces données et on prévoit un troisième ensemble de registres pour mémoriser la page et la mémoire sur lesqoelles ces adresses se présentent, L'adresse fournie à la mémoire de données est un chaSnagede la sortie des registres de pages et de la sortie de chacun des premier et second registres d'adresse. Initialement, le premier ensemble de registre avec le registre de pages fournit les adresses de départ à la mémoire de données. Au même moment, les adresses de départ dans le premier ensemble de registre sont changées d'une valeur pré- déterminée et sont mémorisées de nouveau dans le second aussi bien que dans le premier ensemble de registre selon les nécessité 4 2569288 Cela constitue non seulement une mise à jour du premier ensemble de registresaux adresses de départ pour la boucle suivante mais, cela avance aussi les adresses dans le second ensemble de registres pour la secondeétape de la boucle. En'suite, pendant que le système progresse par un calcul, le second registre est changé pour Chaque étage successif. Après l'accomplissement d'un passage par une boucle de calcul, le premier ensemble de registresfournit de nouveau les adresses de départ qui sont également de nouveau mises à jour et le second ensemble de registres fonctionne comme précédemment. Ce- ci se produit jusqu'à ce que le traitement entier soit réalisé. La mise à jour est réalisée par une logique combinatoire qui reçoit la sortie de l'un des premier, second ou troisième ensembles de registres et la combine dans une unité logique arithmétique conformément à une fonction prédé- terminée avec une valeur prédéterminée. Le résultat est en- suite mémorisé de nouveau dans le registre respectif. Une valeur sélectionnée peut être fournie pour changer les sorties et produire le résultat mentionné ci-dessus. L'adressage de la mémoire de données, le calcul des nouvelles adresses et le chargement des nouvelles adresses dans les registres d'adresses se produisent pendant un cycle d'opération d'instruction de l'appareil de traitement de données. C'est donc un objet principal de l'invention de fournir un nouveau dispositif de calcul d'adresse destiné à l'utilisation dans un appareil de traitement de données. C'est encore un autre objet de la présente in- vention de fournir un dispositif de calcul d'adresse dans lequel les données peuvent être appelées et les adresses de départ peuvent être mises à jour simultanément avec les opérations de calcul sur l'opérande de données précédent. D'autres caractéristiques et avantages de l'in- vention ressortiront de la description qui suit et des dessins ci-annexés sur lesquels; la Fig. 1 représente des exemples d'ensembles points de données et de coefficients qui doivent être employés dans un calcul de traitement à organisation cellulaire. -La Fig. 2 représente un exemple général d'une partie de la structure d'un processeur à organisation cellu- laire avec lequel on peut avantageusement utiliser le dispo- sitif de calcul d'adresse conforme à la présente invention et, - la Fig. 3 est un schéma synoptique d'un mode de réalisation préféré du dispositif de calcul d'adresse selon la présente invention. Sur les figures 1 et 2, les points de données D1-D12 représentent une forme d'onde de signal échantillonné qui doit être traitée par la fonction représentée par les coef- ficients C1-C6. Ces ensembles de points de données et de coef- ficients représentent des rangées devant être traitéeset corres- pondent à des valeurs mémorisées dans une mémoire de données 10 du système généralisé représenté à la figure 2, chaque valeur ayant une adresse de mémoire respective. Dans une application typique, on réalise un produit de composition sur la rangée de données avec la rangée de coefficients. Par conséquent, on appel- le D1 et Cl de la mémoire en se basant sur des adresses fournies par l'unité d'adressage 14 et ces valeurs sont multipliées dans l'unité arithmétique 12 qui sauvegarde le résultat. D2 et C2 sont ensuite appelés et multipliés et ainsi de suite jusqu'à ce que D6 et C6 soient appelés et multipliés, opération pendant laquelle on fait le total des produits respectifs. Le total final est sauvegardé dans la mémoire de manière normale bien que cela ne soit pas nécessaire. Ensuite, on répète la même séquence en commencant avec le second point de données dans la rangée de données, c'est- à-dire que D2 est multiplié par Cl, D3 par C2 et ainsi de suite jusqu'à que D7 soit multiplié par C6. Le processus sera répété de nouveau autant de fois que cela sera nécessaire pour multi- plier un nombre prédéterminé de points de données par tous les coefficients. Le processus de multiplication des points de 6. 2569288 données par des coefficients respectifs et de totalisation des produits comprend une série d'étapes qui doivent être réalisées de manière répétitive, c'est-à-dire une boucle, Pendant chaque passage dans la boucle, l'unité d'adressage doit fournir à la mémoire de données les adresses de données courantes et des valeurs de coefficient à multiplier. De ce fait, ces adresses doivent être changées pour chaque opération successive d'appel en mémoire,de multiplication et d'addition. Au début de chaque passage successif par la boucle, l'unité d'adresse doit pointer les adresses du coefficient de départ et des nouvelles données de départ. Cet exemple de traitement à organisation cellulaire est fourni en vue d'expliquer la présente invention et il est connu que beaucoup d'autres algorithmesde traitement à organi- sation cellulaire nécessitent des étapes répétitives dont une ou plusieurs séries d'adresses correspondant à des rangées de données en commencant par une ou plusieurs nouvelles adresses pour chaque série successive d'opérations; par conséquent la présente invention s'applique à de nombreux algorithmesde ce type. Dans le dispositif généralisé représenté sur la figure 2, le calcul d'adresse s'effectue dans l'unité d'adresse 14 dans la période de temps que nécessite l'unité arithmétique 12 pour réaliser une opération arithmétique, pendant un cycle d'instruction d'opérations de l'appareil de traitement de don- nées. Dans l'exemple précité, pendant que l'on multiplie un point de données et un coefficient, l'adresse pour le prochain point de données est envoyée à la mémoire et l'adresse pour le point de données suivant est calculée par l'unité d'adressage. Pendant que l'on fait l'addition du produit précédent, l'adresse du prochain coefficient est envoyée à la mémoire et on calcule l'adresse pour le coefficient suivant. Ceci suppose que la mémoire de donnéesenvoie de manière automatique son contenu à l'unité arith- métique après réception d'une adresse et que l'unité arithmétique contient des registres pour mémoriser de manière temporaire son opérande comme cela est connu de manière générale dans la 7' 2569288 technique. Il y a lieu de noter que le dispositif de calcul d'adresse selon la présente invention peut être utilisé avec une grande variété d'architecturesde processeurs; on préfère cependant que l'on fournisse des mémoires séparées de données et d'instructions de programme et que le circuit d'instructions de programme, l'unité arithmétique et l'unité d'adressage fonc- tionnent tous de manière simultannée et indépendante pour béné- ficier au maximum des avantages de la présente invention. Si on se réfère maintenant à la figure 3 qui re- présente un mode de réalisation préféré du dispositif de calcul d'adresse selon la présente invention, l'adresse de départ de chaque ensemble de données auquel on doit accéder est mémorisée dans une première mémoire d'adresse 16 qui est de préférence en réalité un ensemble de registres destinés à mémoriser les adres- ses de départ des ensembles respectifs de rangées de données. Les adresses courantes de données sont mémorisées dans une se- conde mémoire d'adresse 18 qui est également de préférence un ensemble de registresdestinésà mémoriser les adresses courantes. Les adresses dans les mémoires 16 et 18 sont reçues par des ports d'entrée 20 et 22 respectivement et proviennent d'une source de nouvelles données ou de données mises à jour. Lorsque des données sont mémorisées dans une mé- moire sous forme de "pages", le dispositif comprend également de préférence une mémoire d'adresse de pages 24 destinée à gar- der les bits de poids le plus élevé de l'adresse qui doit être envoyée à la mémoire de données, les mémoires 16 et 18 gardant les bits de poids le plus faible de leurs adresses respectives. De même que les mémoires 16 et 18F la mémoire 24 comprend effec- tivement de préférence une pluralité de registres destinés à mémoriser des parties d'adresse représentant des pages dans les- quelles des rangées respectives de données sont mémorisées- Comme les mémoires 16 et 18, la mémoire 24 reçoit ses bits d'a- dresse d'une source d'adresses nouvelles ou mises à jour sur un port d'entrée 26. Le registre particulier dans les mémoires 16, 18 et 24 à partir duquel ou vers lequel une adresse est transfé- rée pendant toutes opérations particulières est fourni par une 8. entrée 28 d'index de registre qui est une partie du code d'ins- truction du processeur fourni par un circuit d'instruction de programme de toute conception appropriée (non représenté). L'adresse fournie à la mémoire de données à la sortie 30 est un chainage de la sortie 32 de la mémoire 24 et de la sortie 34 provenant d'un multiplexeur d'adresse 36. Initialement, le multiplexeur 36 sélectionne à sa sortie la sortie 38 provenant de la mémoire 16. Ensuite le multiplexeur d'adresse 36 sélectionne la sortie 40 provenant de la mémoire 18, c'est-à-dire jusqu'à ce qu'une série d'étapes ou boucle soit complète. Au moment même o la sortie provenant de la mé- moire 16 est envoyée au multiplexeur 36, elle peut être modi- fiée, c'est-à-dire mise à jour, et placée de nouveau dans le registre correspondant de la mémoire 16 par l'intermédiaire du port d'entrée 20. De manière similaire, lorsque la sortie de la mémoire 18 est envoyée au multiplexeur d'adresse 36, elle peut également être mise à jour, le résultat étant de nouveau placée dans le registre correspondant de la mémoire 18 par l'intermédiaire du port d'entrée 22. Il est particulièrement important que lorsque la sortie provenant de la mémoire 16 est envoyée à la mémoire de données et mise à jour, l'adresse mise à jour soit chargée non seulement dans la mémoire 16 mais également dans la mémoire 18, ce qui fait avancer la mémoire 18. De manière typique, les adresses sont simplement incrémentée d'une unité; mais elles pourraient être incrémentées d'une manière plus grande ou diminuées d'une certaine valeur, ou encore elles pourraient ne pas être modifiées du tout. Dans tous les cas, le dispositif destiné à modifier ces valeurs est décrit plus bas. La sortie 38 de la mémoire 16 est envoyée à un premier multiplexeur intermédiaire 44 qui reçoit également en tant que entrées un ensemble de 0 (zéro) provenant de l'en- trée 46, un ensemble de 1 (un) provenant de l'entrée 48, la sortie 50 (généralement une valeur décalée) provenant d'un registre en X 52 et la sortie 54 provenant d'un registre en Y 56. Un autre multiplexeur intermédiaire 58 reçoit en tant qu'entrées la sortie 40 de la mémoire 18, la sortie 32 de la mémoire 24 un ensemble de 0 (zéro) provenant de l'entrée 60 et la sortie 5. 50 provenant du registre en X 52. Une unité logique arithmétique 62 qui est capable de réaliser de manière sélective des opéra- tions mathématiques ou logiques est munie de deux entrées, c'est-à-dire l'entrée 64 provenant du premier multiplexeur in- termédiaire 44 et la sortie 66 provenant du second multiplexeur intermédiaire 58. Ces deux entrées parvenant à l'unité logique arithmétique 62 sont combinées par cette dernière pour fournir une sortie résultante 68. La sortie 68 provenant de l'unité logique arith- métique 62 est envoyée en tant qu'entrée à une autre multiple- xeur 70 dont la sortie fournit des entrées aux mémoires 16 18 et 24, au registre en X 52 et au registre en Y 56. De cette manière la sortie provenant du multiplexeur 70 peut être utilisée pour mettre à jour les adresses dans les mémoires 16,18 et 24 et pour modifier les valeurs dans les registres en X et en Y, Par exemple, la sortie provenant de la mémoire 16 peut être sélectioné par le multiplexeur 44 pour être envoyée comme va- leur d'entrée à l'unité logique arithmétique 62 avec la valeur provenant d'une des entrées sélectionnées par le multiplexeur 58,si bien que les deux valeurs peuvent subir une opération logique ou méthématique dans l'unité logique arithmétique en vue de produire une nouveile valeur à la sortie 68. Une adresse de départ dans la mémoire 16 peut être incrémentée de 1, en placant un 1 dans le registre X 52 et en sélectionnant ce der- nier en tant qu'entrée provenant du multiplexeur 58 pour l'ad- ditonner à la valeur se trouvant dans un registre sélectionné de la mémoire 16. La sortie provenant de l'unité logique arith- métique 62 représentela valeur se trouvant dans le registre sélectionné de la mémoire 16 augmentée de 1, La valeur de la mémoire 16 augmentée de 1 est sélectionnée par le multiplexeur 70 et envoyée au'port d'entrée 20 de la mémoire 16 ce qui la 10. mémorise de nouveau dans le registre sélectionné de la mémoire 16 en incrémentant ce registre de la mémoire 16 de la valeur 1. Cette valeur de la mémoire 16 augmentée de 1 est également en- voyée au port d'entrée 22 de la mémoire 18 pour y remplacer l'adresse courante correspondante, ce qui fait avancer l'adresse courante correspondante à l'ensemble de données pour lequel l'adresse de départ avait été mise à jour. Dans l'exemple de produit de composition qui a été donné ci-dessus, cela revient à décaler l'adresse de départ de la rangée de données de un point de données et à avancer l'adresse courante de la rangée de don- nées à la seconde étape d'une nouvelle boucle. De manière similaire, à chaque fois que l'on envoie une adresse à la mémoire de données à partir d'un regis- tre sélectionné de la mémoire 18, cette adresse peut également être envoyée à l'unité logique arithmétique 62 par l'intermédiaire du multiplexeur intermédiaire 58. Simultanément, un nombre peut être sélectionné par le multiplexeur intermédiaire 44, par exem- ple en provenance du registre en X,pour l'additionner à l'adres- se et la faire avancer de cette valeur, le résultat étant mémorisé de nouveau dans le registre sélectionné de la mémoire 18. Dans l'exemple de produit de composition, ceci revient à faire avancer jusqu'à un nouveau point de données ou un nouveau coefficient. Le registre en X 52 sert ainsi à fournir une valeur avec laquelle les valeurs se trouvant dans les mémoires 16,18 ou 24 peuvent être modifiées. Le registre en Y 56 peut être utilisé, de manière alternative pour fournir une valeur pour modifier les valeurs dans la mémoire 18 ou dans la mémoire 24. Ces registres en X et Y sont chargés à partir d'un bus de registre 72 par l'intermédiaire du multiplexeur 70, les valeurs à charger dans les registres en X et Y venant d'autres unités de calcul, telles que le circuit d'instruction mentionné ci-dessus, ce trouvant dans l'appareil complet de traitement de données. Par exemple le registre en X peut être chargé avec une valeur avec laquelle on doit incrémenter un registre se trouvant dans la mémoire 16 pour réinitialiser l'adresse de départ d'une rangée 11. au début d'une boucle, alors que le registre en Y sera chargé avec une autre valeur avec laquelle un registre se trouvant dans la mémoire 18 serait incrémenté lors du calcul de l'adres- se courante d'une autre rangée pendant un passage dans une boucle. La sortie 68 provenant de l'unité logique arith- métique peut également être placée sur le bus de registre 72 par l'intermédiaire d'un amplificateur tampon 74 en vue de l'utilisation par d'autres unités de calcul se trouvant dans l'appareil. Dans certaines circonstances, il peut être dési- rable de déterminer lorsqu'une adresse calculée est égale à O (zéro), ce qui peut être détecté directement à partir de la sortie 68 de l'unité logique arithmétique. Il faut recon- naître que les éléments fonctionnels mentionnés ci-dessus de l'unité de calcul1d'adresse comprennent un logique de commande associée (non représentée). La conception et la structure du circuit spécifique destinée à mettre en oeuvre l'architecture du dispositif décrit ci-dessus sont bien connues dans la technique et il n'est pas nécessaire de prévoir une conception particu- lière pour la présente invention à l'exception qu'il faut uti- liser une logique combinatoire de telle manière que la sortie d'une adresse et le nouveau calcul de cette adresse pour la présentation aux entrées des mémoires 16,18 et 24 se produisent toutes en une seule étape et que la mémorisation du résultat dans la mémoire 16,18 et 24 se produiseen une seconde étape. Il en résulte que la présentation d'adresse à la mémoire de données et la mise à jour de ces adresses peuvent être accom- plies en un seul cycle d'instruction d'opération de l'appareil de traitement de données, ctest-à-dire pendant le temps néces- saire pour que l'unité arithmétique exécute complètement une seule instruction d'opération. Ordinairement, ceci comporterait le processus suivant: prendre un opérande à partir d'un em- placement de mémoire tel qu'un registre temporaire de mémoire compris dans l'unité arithmétique faire une opération sur cette opérande et sauvegarder le résultat. La description ci-dessus d'un exemple de réalisa- tion n'a été fournie qu'à titre illustratif et nullement li- mitatif et il est évident que l'on peut y apporter des modi- fications ou variantes sans pour autant sortir du cadre de la présente invention. 13. REVENDICATIONS 1 ) Dispositif de calcul d'adresse destiné à être utilisé dans un appareil de traitement de données compor- tant une mémoire de données (10) et des moyens (12) pour exé- cuter une instruction d'opérations pendant un cycle d'instruc- tions, caractérisé en ce qu'il comprend: a) un premier registre d'adresse (16) destiné à mémoriser une partie pré-déterminée d'une adresse de données devant être fournie à ladite mémoire d'adresse (10). b) un second registre d'adresse(18) destiné à mémo- riser une partie prédéterminée d'une adresse de données devant être fournie à ladite mémoire de données. c) un multiplexeur de sortie (36) agissant en réponse auxdits premier et second registres d'adresse (16,18) et à une instruction d'opérations en vue de présenter de manière sélective à la mémoire de données {10) soit une partie d'adres- se de données emmagasinée dans le premier registre d'adresse (16), soit une partie d'adresse de données emmagasinée dans le second registre d'adresse (18), et d) un organe logique de mise à jour (44,52,56,58, 62) agissant en réponse audit premier registre d'adresse (16) et à une instruction d'opérations en vue de nmdifier une partie d'adresse de données mémorisée dans ledit premier registre d'a- dresse (16) d'une valeur prédéterminée lorsqu'elle est présentée à la mémoire de données (10) et a charger la partie d'adresse de données modifiée à la fois dans le premier (16) et le second (16) registres d'adresse pour sa mémorisation, lesdites opérations de modification et de chargement se produisant pendant un cycle d'instruction dudit appareil de traitement de données. 2 ) Dispositif de calcul d'adresse selon la re- vendication 1, caractérisé en ce que les parties d'adresses de données emmagasinées dans lesdits premier et second registres d'adresse (le,18) comprennent un. nobre prédéterminé des bits de poids le plus faible d'adressesbinairesrespective% ledit dis- positif de comptage d'adresse comprenant en outre un troisième 14. 69288 registre d'adresse (24) destiné à mémoriser les bits restant desdites adresses binaires et un organe agissant en réponse audit troisième registre (24) et audit multiplexeur de sortie (36) en vue de présenter une adresse binaire complète à la mémoire de données (10). 3 ) Dispositif de calcul d'adresse selon la re- vendication 1, caractérisé en ce que ledit organe logique de mise à jour comprend des moyens destinés à modifier une partie d'adresses de données dont ledit second registre d'adresse (18) d'une valeur prédéterminée. 4 ) Dispositif de calcul d'adresse selon la re- vendication 1, caractérisé en ce que ledit organe logique de mise à jour comprend une unité logique arithmétique (62) des- tinée à réaliser de manière sélective des opérations arithmé- tiques ou logiquessur l'une ou les deux de deux opérandes d'en- trée et à produire un résultat, un premier multiplexeur inter- médiaire (44) destiné à fournir en tant que l'un des opérandes d'entrées de ladite unité logique arithmétique (62) une partie d'adresse de données provenant dudit premier registre d'adresse (16), des moyens pour fournir en tant que second opérande d'en- trées pour ladite unité logique arithmétique (62) une valeur prédéterminée, et des moyens pour mémoriser ledit résultat dans l'un ou les deux registres d'adresse (16,18). ) Dispositif de calcul d'adresse selon la re- vendication 4, caractérisé en ce que lesdits moyens pour fournir une valeur prédéterminée comprennent un registre de décalage (52) destiné à mémoriser ladite valeur prédéterminée et un se- cond multiplexeur intermédiaire (58) destiné à sélectionner en tant qu'un opérande d'entrée de ladite unité logique arith- métique (62) la valeur mémorisée dans ledit registre de déca- lage (52). 6 ) Dispositif de comptage d'adresse selon la re- vendication 5, caractérisé en ce que ledit second multiplexeur intermédiaire (58) agit en réponse audit second registre d'a- dresse (18) en vue de sélectionner en tant qu'entrée de l'unité 15. 25692O8 logique arithmétique (62) une partie d'adresse de données mémorisée dans ledit second registre d'adresse (18) et en ce que ledit premier multiplexeur intermédiaire (44) agit en réponse audit registre de décalage (52) en vue de sé- lectionner en tant qu'entrée de ladite unité logique arith- métique (62) la valeur mémorisée dans ledit registre de dé- calage (52). 7 ) Dispositif de calcul d'adresse selon la revendication 1, caractérisé en ce que lesdits premier et second registred'adresse (16,18) comprennent chacun une pluralité de registres de mémoire et des moyens pour mémo- riser de manière sélective dans lesdits registres de mémoire ou pour lire à partir de ces dits registres de mémoire une partie d'adresse. 8 ) Dispositif de calcul d'adresse selon la revendication 7, caractérisé en ce que les parties d'adresse de données mémorisées dans lesdits premier et second regis- tres d'adresse (16,18) comprennent un nombre prédéterminé des bits de poids le plus faible des adresses binaires res- pectives, ledit dispositif de calcul d'adresse comprenant en outre une troisième pluralité de registres de mémoire (24)( destiné à mémoriser les bits restant desdites adresses bi- naires, des moyens pour mémoriser de manière sélective pour lire dans ou à partir desdits troisièmes registres de mé- moire (24) et des moyens agissant en réponse auxdits troi- sième registre de mémoire (24) et multiplexeur de sortie (36) en vue de présenter une adresse binaire complète à la mémoire de données (10).