Brevet FR2561429A1 — publié le 19850920

DISPOSITIF D'ADRESSAGE POUR FOURNIR A UNE MEMOIRE DES CODES D'ADRESSE. La présente invention concerne un dispositif d adressage pour fournir à une mémoire-des codes d'adresse provenant d'un regis-ri-e principal a contenu variable auquel sont associés d'une part un circuit d'incrémentation pour faire évoluer Le contern du registre principal et d'autre part un circuit de chargement: dispositif comportant deux recisres auxillaires L9un pour contenir La valeur minimum cue p-ut atteindre Le contenu du registre principal et :aui"e pour- contenlir La valeur maximum que peut atteindre ie con';eiu du reaistre principal et aussi un circuit de cor;parason pour tester le conirenu du registre principal. UJn -. eL di sDosi tf trouve des applicati ons impo rant-es noftainrnT Losqu'on veut remplir Les fonctions i u.-.ltre ransversl jie ou adaptatif en transmission ie Jonn es, La mimo, oire con iener sous forme numérique à des adreses successives df érents échantillons du signal à fil.er e'l or 'i at'er le signal il importe d'adresser c/ci.lque:ini' Le_ epiL- acements de La mémoire contenant ces =ciea.ntiLlon-s,4, ócçon à simuLer un registre à décalage dans La memoire qui esS - u ?'/pe memoire viveo r.; ri disgosi' i f es! décrit dans l'artlcle hit-lJ:,Sn LSI Signai Processor7 de [!i.YANO, K, 1INOUE et TS-IMF paru d3ns le volume. de!EEE NTERNATIONAL COw.ERi:E s ACOUSTCI CS SPEECH AND S IGNAL PROCESS I NG, Co:fér'ence des 3, 4, 5 mai 1982 tenue à Paris, France. Dans ce dispositif connu Le circuit de cormparaison compare le contenu du registre principal avec celui du registre auxiLiaire contenant la valeur maximum. On es' alors contraint pratiquement de faire évoluer le contenu du registre principal toujours dans le même sens. La présente invention propose un dispositif d'adressage mentionné dans le préambule qui permet une évoLution du registre principat dans Les deux serrs. Pour cela, il est remarquable en ce que le circuit de chargement coopérant avec Le circuit de comparaison est prévu pour charger Le registre principal avec la valeur minimum lorsqu'il contient la vaLeur maximum et avec la valeur maximum lorsqu'il contient la vaLeur minimum. - 1D0 Un avantage important de l-'invention est qLe le dispositif d'adressage devient particulièrement bien adapté pour fonctionner avec des processeurs travaitlant selon Le mode "pipe-line". En effet dans ce mode de travaiL'les résultats d'opération arrivent avec un i retard dû au "pipe-Line". L'utiLisation du mode "pTipe-line" dans les atgorithmes de filtrage nécessite de réaliser deux opérations différentes sur La même donnée à deux i.sants différents, ce qui entraîne que L'on doit incrAémenter et décrémenter à votonté le registre principal, ce que permet la présen+e invention même au voisinage des vaLeurs maximum et minimum des codes d'adresse. Une caractéristique importante de L'invention selon laquelle le dispositif d'adressage prévu pour coopérer avec un système à microprocesseur comportant l-e liane de bus d'instructions et une ligne de bus de données est pourvu de moyens de connexion entre La ortie du registre principal et le bus de données afin de sauvegarder dans La mémoire du système à microprocesseur le contenu du registre principal> permet de réaltiser les fonctions de pLusieurs filtres transversaux indépendants au moyen du même système. La description suivante faite en regard des dessins annexés, Le tout donné à titre d'exemple non limitatif fera bien comprendre comment l'invention peut être réalisée. La figure 1 représente un dispositif d'adressage conforme à L'invention. La figure 2 représente Le format de quelques instructions faisant fenctionner Le dispositif d'adressage de La figure. La figure 3.est un diagramme temps utilisé pour expLiquer le fonctionne.ent du dispositif d'adressage de La figure 1. Le dispositif d'adressage 1 montré à La figure 1 est destné à coopérer avec un système à microprocesseur 2. Ce système opère staLon des instructions véhiculées par une Ligne bus BUSI, issues d'un registre RI; des dcnnées, résultats de caLcuLs effectués par Le système 2 apparaissent sur une Ligne bus EUSD. Le dispositif d'adressage 1 fournit sur sa sortie 5 un code d'adresse pour une mémoire 10. Ce code provient d'un reglst-e 20 dit registre principal dont Le contenu est susceptible d'évoLuer sous la commande d'un circuit de chargemen, 22. A cei effet La commande de chargement du rs2sre 20 est retiée au circuit 22 par L'iniitermédiaire f2un rit LAD. Le sost dadressage 1 comporte deux - registres euxi!a'ires, Ltun portant La référence 30 pour contenir la va3=ur mJnimum a Darlir de Lacuelle le contrenu du registre princ7pai esi susceptible d'évoLuer et L'autre portant La reference 35 pcur c-cntenir la valeur maximum que peui atesindre Le resre principaL. IL est prévu aussi un circuit de comoaraison 37 coopîrant avec Le circuit de chargesent 22, Une entre de ce circuit 37 est connectée aux sorties sn paraiLèle du registre 20. Un circuit d incrémentation consti ué essent ieLsement par un add;iti'onneur 38 es- utiLisé pour faire varier de A a vaLeur conseuer dans Le rsgis-re 20. Un registre 39 de type registre o LC sert -"interface entre Les sorties du registre 20 et la sortie 5 reLiée à L'entree pour code d'adresse de La mémoire 10. Ce registre 39 est mis à l'état passant par la valeur "0" d'un signal 1. Conformément à L'invention, le circuit de chargement 22 coopérant avec le circuit de comparaison 37 est prévu pour charger le registre principal 20 avec la valeur minimum (contenue dans le registre 30) lorsqu'il contient la valeur maximum et avec la valeur maximum (contenue dans le registre 35) lorsqu'il contient la valeur minimum. Les opérations de chargement et d'incrémentation s'effectuent par l'intermédiaire d'un premier multiplexeur muni de quatre entrées El, E2, E3 et E4. L'entrée El est reliée àla sortieS d'un multiplexeur 44 à deux entrées, l'entrée E2 à la ligne BUSI, l'entrée E3 au bus BUSD et l'entrée E4 à la sortie du circuit additionneur 38. La connexion entre une de ces entrées El à E4 et la sortie S du multiplexeur 40 est déterminée par deux commandes MUX 41, MUX 42. Les entrées E1 et E2 du multiplexeur 44 sont communes avec les entrées El et E2 d'un autre multiplexeur 46. Les entrées El de 44 et 46 sont reliées aux sorties en parallèle du registre 35 et les entrées E2, de 44 et 46 aux sorties du registre 30. Les entrées en parallèle des registres 20, 30 et-35 sont toutes reliées à la sortie S du multiplexeur 40. Les multiplexeurs 44 et 46 sont commandés par un signal C3 pour le multiplexeur 46 et par le signal C3 obtenu par L'inverseur de signaux logiques 49. Ainsi pour une valeur de C3 on a une connexion entre l'entrée El et la sortie S du multiplexeur 46 aLors qu'une connexion entre l'entrée E2 et la sortie S du multiplexeur 44 est effectuée pour l'autre valeur de C3. Les sorties en parallèle du registre 20 sont reliées comme il l'a été dit à une première entrée du comparateur 37 dont la deuxième entrée est reliée à la sortie S du multiplexeur 46. L'invention fournit donc les moyens pour adresser cycliquement des adresses c'est-à-dire que par de simples instructions d'incrémentation A de pointeur de mémoires on passe de La valeur d'adresse maximum ADM à la valeur d'adresse minimum ADm soit séquentiellement: ADm, ADm + A,... ADM U, ADM, ADm, ADm + A..o ou de la valeur d'adresse minimum ADm à La vaLeur d'adresse maximum ADM soit séquentiellement: ADM, ADM - A,... ADm + A, ADm, ADM, ADM - A. A peut avoir les valeurs typiques 0, 1.. Le circuit additionneur 38 dont les opérandes sont, par exemple définis par 7 bits est muni d'une entrée pour retenue "RP". Une valeur A2 est appliquée à "R" et aux - six entrées de poids fort pour un opérande et la septième entrée est reliée à La valeur Al, alors que les sept enTrées de l'autre opérande sont reliées aux sorties paralI.èles du registre 20. i5 Les sorties en parallèle du registre 20 sont aussi reliées au bus BUSD par l'intermédiaire d'un ensemble 52 d'amplificateurs à trois états munis d'une commande SVG. Ainsi le contenu du registre 20 peut être sauvegardé dans un empLacemeilt d'une mémoire MEM faisant partie du micr.oprocesseur 2. Cette sauvegarde offre la possibilité d'effec-tuer plusieurs traitements indépendants. Dans L',.ppLication envisagée, on peut remplir les fonctions de pLusieurs filtres t-ansversaux. Une horloge 70 fournit les signaux qui règlent La vitesse d'exécution du système 2. De cette horloge 70, on dérive deux signaux périodiques, le signal ó1 qui Hiéermine la cadence d'apparition des instructions sur la Ligne BUSI et un signal F0 de fréquence double du précédent. Ces signaux sont utilisés par le circuit de chargement 22. Le circuit de chargement 22 est formé par un réseau de logique programmée 80 qui,à partir des informations véhiculées par La ligne BUSI et- le signal FO, fournit les signaux 51 à S6, C3- SVG, àl et A2. Trois portes "ET" 81, 82 et 83 fournissent les commandes de chargement LMAX, LMINet LAD.pqur les registres 35,30 et 20, Deux des trois entréesde cesportes reçoiventlessignaux Le signal 56. Le réseau 80 est programmé de façon à ce que Les équations logiques ci-dessous soient réaLisées. i 1 Y 012. 13'14 53 =0.1 ii2-'28'129'131 0113 ) = = 10. III I 1S 4 1' 3'3125 = t0.1t.2. + tO.i1 -5 O '= 1 1 C3 = t0 1.124 v$: =(I S l 5' 16 '8' 9 A1i i0'1'1i25'124 + 1o.11l'125124 2 0 1.24 Dans ces équations Le symboLe "" signifie l'opération ET Logique tandis que Le symbole "-e" signifie l'opération OU Logique. Les variables 1i représentent Les valeurs des éléments binaires transmis par la Ligne BUSI. Pour fixer les idées Le tableau -ci-dessous donne les connexions établiespar lesmultipLexeurs 44et 46en fonctionde La vaLeur deC3et le tableau II donneen fonction des codes MUX 41 et MUX42 les connexions établies par le multiplexeur 40. TABLEAU I C3 Connexions Connexions Multiplexeur 46 Multiplexeur 44 0 1- E2 - S E1- E2 - S 7 2561 429 TABLEAU II MUX 41 MUX 42 Connexion 0 0 El-S V 1 E2-S 1 0 E3-S 51 1 E4-S Afin d'expLiquer le fonctionnement du dispositif d'adressage conforme à l'invention on fera appel à différentes instructions JO, JI, J2, J3 etJ4dont la structure est montrée à la figure 2. Toutes les instructions dont il sera question, sont formées de trente deux éléments binaires repérés par I0 a 131o Pour initialiser le dispositif d'adressage 1, il faut utiliser des instructions JO et J1 qui se caractérisent pour JO par 1 = 12 = 1 13 = 14 = 0 et pour Ji, par 10 = 1 13 = 0 14 = 1. Les instructions JO et J1 permettent de charger les registres 30 et 35 respectivement par les valeurs "MIN" et "MrA," déterminées au moyen des éléments binaires 113 à 1i19. Pour charger le registre 20 on utilise L'instruction J2 qui est caractérisée par i 1 I = I = 1 2 i 0 ci I = =1 128 29 e 131 = La valeur chargée dans le registre 20 arrive par le bus BUSD et au début de tra!tement peut être n'importe quelle valeur comprise entre ADMIN et ADMAX. Dans le cas ou le même système est appelé à réaliser en temps partagé Les fonctions de plusieurs filtres transversaux, pour chaque filtre la valeur du registre 20 es. rappelée de la r1émoire MEM du microprocesseur et à la fin du tra:tement cn mémorise te contenu du registre 20 dans la memoire pour La période suivante. L"instruction J3 apporte des valeurs d'incrément L dont la valeur est déterminée par l'élément binaire 125 et dont le signe positif ou négatif est fourni par la valeur de l'élément binaire 124. L'instruction J4 est utilisée pour la sauvegarde du contenu du registre 20 dans la mémoire MEM. Les instructions J3 et J4 sont caractérisées par 10 et 11 égaux à "0" pour J3,et 10 = 1 11= 0 12 = 1 13 = 14 = 0 = 1 16 = 0 pour J4. S On peut maintenant expliquer Le fonctionnement du dispositif d'adressage à l'aide du diagramme-temps de La figure 3. Les instructions JO, J1, J2... J3... J4 arrivent dans Le registre RI peu de temps après Le front descendant du signal 1. A L'instant to, L'instruction JO est décodée et Les signaux MUX 41, MUX 42 prennent une valeur teLLe que La connexion E2 - S est étabLie à L'intérieur du muLtiplexeur 40 et à L'instant tl, Le registre 30 est chargé par Les informations de sortie du multipLexeur 40. Au cycle suivant, L'instruction J1 est décodée et La position du muLtiplexeur 40 reste sur E2 - S. Puis, à L'instant t2 Le registre 35 est chargé par La valeur maximum que peut atteindre Le registre 20. C'est au cycle suivant que La connexion E3 - S est étabLie par Le muLtiplexeur 40, provoquée par le décodage de L'instruction J2. A L'instant t3 Le registre 20 est chargé par Les informations de sortie du multiplexeur 40. Le dispositif d'adressage est initialisé pour fournir des adresses à partir de t3. Le décodage de L'instruction J3 provoque L'étabLissement d'un code MUX 41 et MUX 42 tel que La connexion E4 - S est étabLie. Dans L'exempLe décrit on admet que Le registre 20 s'incrémente par vaLeurs positives. Après un certain nombre de pas d'incrémentation, à L'instant t4 Le registre 20 contient une vaLeur égale à La valeur contenue dans le registre 35 et le signal CMP prend la valeur 1. A l'instruction suivante on suppose que l'incrémentation demandée est toujours positive. Cette condition, compte tenu leur "1" du signal CMP, provoque, à l'instant t5, de La vateur "1" du signal. CMP, provoque, à&L'instant t5,' 2561 429 te chargement du registre 20 par La vaLeur contenue dans le registre 30. Pour ceLa Le muLtipLexeur 40 effectue La connexion E1 - S et Le muLtipLexeur 44 E2 - S, aLors que La connexion E1 - S est effectuée à L'intérieur du muLtipLexeur 46. Lorsque L'on veut réaLiser Les fonctions d'un autre fiLtre iL faut sauvegarder Le contenu du registre 20, comme iL a été déjà dit, dans La mémoire du microprocesseur 2. A cette fin on fait appeL à L'instruction J4 qui, décodée, provoque La vaLeur 1 du signal SVG à L'ihstant t6; Les sorties du registre 20 sont mises en relation avec Le bus BUSD par L'intermédiaire du registre 39 et L'ensembLe 52. REVENDICATIONS: 1. Dispositif d'adressage pour fournir à une mémoire des codes d'adresse provenant d'un registre principal à contenu variable auquel sont associés d'une part un circuit d'incrémentation pour faire évoluer le contenu du registre principal et d'autre part un circuit de chargement, dispositif comportant deux registres auxiliaires L'un pour contenir la valeur minimum que peut atteindre le contenu du registre principal et l'autre pour contenir ta valeur maximum que peut atteindre le contenu du registre principal et aussi un circuit de comparaison pour tester le contenu du registre principal, caractérisé en ce que le circuit de chargement coopérant avec le circuit de comparaison est prévu pour charger Le registre principal avec La valeur minimum lorsqu'il contieLnt La valeur maximum et avec La valeur maximum lorsqu'il contient La valeur minimum. 2. Dispositif d'adressage selon ta revendication 1 prévu pour coopérer avec un système à microprocesseur comportant une Ligne de bus d'instructions et une Ligne de bus de données, caractérise en ce qu'il comporte un circuit pour charger lesdits registres auxiliaires à partir du bus d'instructions et le registre principal à partir du bus de données. 3. Dispositif d'adressage selon la revendication 2, caractérisé en ce qu'il est pourvu de moyens de connexion entre la sortie du registre principal et le bus de données afin de sauvegarder dans la mémoire du système à microprocesseur te contenu du registre principal.