FR 2522232 A1 19830826 FR 8301563 A 19830201 1 2522232 La présente invention concerne un disposi- tif de traitement de signaux numériques destiné au traitemtent en temps réel do signaux nupériques com- portant un grand nombre de bits par mot et un grand nombre de mots par unúté de tenps, par exemple des signaux de son modulés par impulsions codées Plus particu Lièrement, l'invention concerne un dispositif de traitement de signaux num 4 riques de ce genre ap- pliqué à un correcteur graphique ou une chambre d'échoô avec une caractéristique de retard de signaux numériques. Depuis que Lques années, des signaux de son et d'image sont convertis en des signaux numériques qui sont ensuite soumisà diverses opérations de traite- ment ou de calcul numérique, commne un traitelient des filtres numériques, une transformation de Fourier rapide ou un calcul de fonction de corrélation sur une base en temps réel Divers processeurs de sig- naux numériques ont donc été proposés pour effectuer ces opérations de traitement en temps rée L Ces pro- cesseurs comportent généralement des unités arithméti- ques et logiques de haute précision, des multiplica- teurs ou autres unités de circuit et sont commandés par dos microprogrammes Dans de nombreux cas, ce trai- itement de signaux numériques est commandé ou géré par un calculateur principal utilisant unn microprocesseur. Ces processeurs de signaux nu Lériques com- portent des mémoircsinternes, c'est-à-dire une mémoire de rlicroprogramm::os et une:,lémoire de coefficients. L'opération de traitement de signaux dans le processeur est généralement effectuéede manière que des micro- instructions rréiorisées dans la mémoire de microprogram- mes soient lues séquentiellement par des adresses spéci- fiées par des circuits séquentie Ls ou des compteurs de programmes. La souplesse de l'ensemble est accrue en uti:Lisant des mémoires à accès direct pour les mémoires précitées de =-icroprogrammes et de coefficients et Les données à introduire dans ces mnémoircs peuvent être transférées à ta com;marnde du ca Lcu Lateur prin- cipal. En général, Le traitement en temips réel des signaux numériques convertis à partir de ces signaux analogiques de son ou d'inage nécessite des op 6 ra- tions arithmétiques rapides co lnre des additions et des,,ultip Lications, des retards de signaux et autres opérations de traitement similaires Il est courant d'utiliser des registres à décalage à étages multiples conmme circuits introduisant un retard dans les signaux numériques Dans ce cas, Le temps de retard est expri- mé par un produit du nom Dre des étages du registre à décalage et de la période ou l'interva Lle d'échanti L- lonnage, c'est-a-dire la période des impulsions d'hor- loge de décalage. Cependant, un circuit à retard de signaux nuiériques conçu pour un traitement en te:imps réel et utilisant ces registres à décalage ne convient pas pour changer à volonté le temps de retard pendant un traite- ment en temps réel en raison de La nécessité de changer le nombre des registres à décalage. En outre, des chambres à échos ou des ma- chines constituées par plusieurs lignes ou circuits de retard de signaux tendent à être compliquées en leur structure En particulier, avec des circuits à retard utilisant des registres à décalage, il est pratiquement impossible d'effectuer un change* ent dynamique du temps de retard des lignes à retard respectives En outre, l'utilisation d'uncertain nombre de registres à déca- Lage n'est pas économique. Dans les processeurs de signaux numériques courants, la réécriture des données de coefficients des micro-instructions etc pendant L'exécution d'un microprogramme est un souhait visant à augmenter l'ef- ficacité du traitement en temps réel t Mais cela n'est pas faisable rapidement en raison des oscillations provoquées par les données devenant discrètes, spéciale- menr t au cours de la réécriture des données de coeffi- cients. De plus, quand les données de signaux numé- riques sont multipliées dans le processeur par des don- nées de coefficients fournies par la mém oire de coeffi- cients, une longueur de mot insuffisante des données de coefficient peut nuire à la précision voulue du produit, spécialement en fonction des caractéristiques des filtres numériques prévus dans le processeur Par ailleurs, les circuits multiplicateurs peuvent être extr&mement com- plexes lorsque le nombre des bits du multiplicateur et du multiplicande est augmenté jusqu'à vingt ou da- vantage. Un objet de linvention est donc de proposer un nouveau dispositif de traitement de signaux numéri- ques -qui pallie ces inconvénients. Un autre objet de L'invention oet de proposer un dispositif de traitement de signaux numériques dans lequel plusieurs circuits de retard de signaux peuvent Atre réalisés sous une façon simple. Un autre objet encore de l'invention est de proposer un dispositif de traitement de signaux numéri- ques dans lequel le nombre et le retard des circuits à retard peuvent àtre réglés par programmation, à volonté. Un autre objet de l'invention est de proposer un dispositif de traitement de signaux numériques dans lequel des données mémorisées dans la mémoire de coeffi- cients ou la mémoire de microprogranmmes peuvent être mo difiées par le calculateur principa L pendant l'exécu- tion du microprogramme dans le processeur. Un autre objet encore de l'invention est de proposer un dispositif de traitement de signaux numéri- ques dans lequel des données de coefficients discrets ne sont pas produites. Un autre objet encore de l'invention est de proposer un dispositif de traitement de signaux numériques 4 2522232 dans lequel l'apparition d'oscillation ou autres effets indésir Ubles peut 8 tre évitée. Un autre objet encore de t'invention est de proposer un dispositif de traitement de signaux numné- _i riques qui permet que les données de coefficients puis- sent être corrigées pendant le traitement de signaux numériques. Un autre objet encore de l'invention est de proposer un dispositif de traitement de signaux numnéri- ques avec un rendement accru dans la multiplication des données des signaux numériques par les données de coefficients. Un autre objet encore de l'invention est de proposer an dispositif de traitement de signaux numéri- 1 J que& prévu avec un multiplicateur de plus petites dimen- sions et dans lequel une multiplication de haute préci- sion relativement rapide peut être effectuée sans pro- longer indûment le temps de traitement m 8 me dans le cas o la multiplication doit être effectuée avec un mot d'une grande longueur ou des données de coefficient de haute précision. A cet effet, l'invention concerne donc un dis- positif de traitement de signaux numériques comprenant au moins une mémoire de microprogrammes mémorisant une série de micro-instructions pour commander une procédure de traitement de signaux numériques et une; :iémoire de coefficients mémorisant des données de coefficients né- cessaires pour effectuer une opération arithmétique sur les données de signaux numériques, des données pouvant être transférées et écrites dans la mémoire de micro- programmes et dans la mémoire de coefficients par un calculateur principal, la mémoire de coefficients com- portant au moins deux pages correspondant à la zone to- tale de mémoire adressable par Les micro-instructions pendant le traitement des signaux nurériques par les micro-instructions, et La sélection de page pouvant ttre effectuée par une commande provenant du calculateur prin- cipal. j 5 2522232 D'autres caractéristiques et avantages de L'invention seront mieux compris à la lecture de la description qui va suivre de plusieurs exe,mples de réalisation et en se référant aux dessins annexés sur lesquels: ia Figure 1 est un schéma simplifié illustrant la configuration de base utilisant un processeur de sig- naux numériques, la Figure 2 est un schéma simplifié de La structure interne du processeur de signaux numériques, la Figure 3 est un topogramme de la mémoire de microprogrammnes et de la mémoire de coefficients, la Figure 4 montre les modes de transfert de données depuis le calculateur principal et Le contenu des bits de données, La Figure 5 est un schéma simplifié d'un cir- cuit d'interface, d'une mémoire de micro-programmes et d'une mémoire de coefficients avec les circuits voisins du processeur de signaux numériques, la Figure 6 est un diagramme de temps qui il- lustre le fonctionnement du circuit de la Figure 5, La Figure 7 est un diagramme illustrant l'opé- ration de multiplication effectuée dans un mu Ltiplicateur du processeur de signaux numériques, la Figure 8 est un schéiaa simplifié d'un exeil- ple d'une chambre ou d'une machine d'écho constituée par plusieurs circuits à retard de signaux numériques, la Figure 9 est un topor-7 amme de mémoire de retard de signaux, o la Yigure 10 est un diagramme illustrant la structure d'une mémoire de-gestion d'adresses, la Fi,ùre 11 est un sch Sma simplifié de la structure interne de la mémoire de gestion d'adresses de la Figure 8, la Figure 12 est un diagralme de teu Lps de différents signaux qui sont produits au 1 moment de l'ex 6 é- cution des instructions de Lecture et d'écriture de microprogrammne s, la Figure 13 est un organigraine illustrant un programme d'introduction de retard de signaux par une programmation, la Figure 14 est un organigramme montrant une variante du programme de la Figure 13, la Figure 15 est un schéma si:mplifié des parties essentielles d'une chambre ou d'une machine d'écho modifiée, la Figure 16 est un diagranme illustrant le mouvement des adresses de lecture et d'écriture incrém:nen- tées de la mémoire. La Figure 1 est donc un schéma simplifié d'un mode de réalisation d'une structure de base utilisant un processeur de signaux numériques Dans ce mode de réa- lisation, au moins certaines parties du processeur 1 et d'une; unité 2 de commande de Mémoire, qui sont des élé- ments ou des composants électroniques sont colnstituees par des circuits d'intégration poussés Une mémoire de signaux numériques 3 a une capacité de mémoire de par exemple 16 K mots ( 16 384 mots) ou 64 K mots (b 5 536 mots) de signaux numériques, chaque mot consistant en 24 bits Une mémoire dynamique à accès direct par exemple est utitisée pour cette mémoire de signaux numériques. Un calculateur principal 4 comnporte un microprocesseur conçu pour gérer et contrb Ler te traitement de signaux numériques exécuté par le processeur 1 et l'unité de com- mande 2 Dans le présent mode de réalisation, L'écriture peut être faite par le calculateur principal 4 dans une mémoire de microprogrammes 6 et une mémoire de coeffi- cients 7 par l'intermédiaire d'un circuit d'interface 5 dans le processeur 1. Une unité 8 de commnande d'adresse est prévue dans Al'unité de commande de mémoire 2 pour adresser les mots respectifs mémorisés dans la mémoire de signaux nu- mériques 3 L'unité 8 de cormmande d'adresses comprend un circuit d'incrémentation, uncomparateur, etc et elle est commandée par différents signaux de commande fournis 7 2522232 par une unité 9 de commande de séquence du processeur 1 D'autres éléments de l'unité de colmnande de mémoire 2 comprennent un circuit d'interface 10 pour transmettre et recevoir des signaux vers et depuis le calculateur principal 4 et une mémoire de travail 11. Les signaux numériques qui doivent Otre traités par le dispositif de la Fig I peuvent étre par exemple des signaux de son modulés en impulsions codées ou des signaux numériques dimages, etc, et les signaux analogiques sont quantifiés de manière que chaque valeur échantillonnée du signal analogique corresponde à un mot du signal numérique constitué par exemple par 14 ou 16 bits Il faut noter que le dispositif utilisant le pro- cesseur 1 est réalisé pour traiter des signaux numériques à 24 bits par mot, en raison de l'accroissement du nombre des bits et du débordement qui en résulte, provoqué par la multiplication de signaux numériques à quartorze ou seize bits par mot par des données de coefficients. La-Figure 2 est un schéma plus détaillé de la structure de circuit du processeur de signaux numériques 1 Selon les figures 1 et 2, le processeur 1 comporte une ligne omnibus de données DB à 24 bits Cette ligne omni- bus de données DB est connectée à une unité 20 de traite- ment arithmétique, à un registre d'entrée 12, à un regis- tre de sortie 13 et à une connexion 16 d'entrée/sortie de signaux numériques Le registre d'entrée 12 convertit des données en série provenant d'une borne d'entrée de données 14 en des données à 24 bits en parallèle et il émet les données résultantes vers La ligne omnibus de données DB Le registre 13 convertit les données à 24 bits en parallèles provenant de la ligne omnibus de données DB en des données en série et il émet les données résultantes par une borne de sortie de données L 5 L'uni- té de traitement arithmétique 20 comporte auoins une unité arithmétique et logique 21 et un multiplicateur 22, et un multiplexeur 23 est connecté à l'unité arith- métique et logique 21 et au multip Licateur 22 Une mémoire 8 2522232 de données 31 et un registre temporaire 32 sont prévus comme mémoire de travail dans une unité 30 de mémoire de données, dans Laquelle des données intermédiaires produites au cours du traitement de données par l'uni- té de traitement arithmétique 20 sont mémorisées momen- tanément La mémoire de données 31 a une capacité de par exemple 256 mots, chaque mot consistant en 24 bits. La mémoire de coefficients 7 prévue pour mémoriser les données de coefficients comme un multiplicateur consis- tant en un mot de 12 bits a une capacité de deux pages contenant chacune 512 mots à seize bits (seize bits x 1024 mots), 'L'accès peut tre donné à chaque mot dans cette mémoire de coefficients 7 par des informations d'adresses provenant d'un indicateur de coefficients 72. La sortie de la mémoire de coefficients 7 est connectée aux bornes du multiplicateur 22 et dumultiplexeur 23 pour introduire des données de coefficients X et à la' ligne omnibus de données à 24 bits DE par une porte tampon bidirectionnelle 41 La ligne omnibus de données DB est également connectée par une porte tampon bidirec- tionnelle 42 à une entrée du multiplicateur 22 pour y introduire les données de multiplicande Y De plus, la ligne omnibus de données est connectée à une sortie de la mémoire de données 30 et à une entrée d'un registre temporaire 32 En plus de l'entrée pour les données de coefficient X, le multiplexeur 23 comporte une entrée pour des données de sortie TP provenant du registre tem- poraire 32, une entrée pour des données de produit P provenant du multiplicateur 22 et une enttée pour des données pp qui sont obtenues par un décalage logique à 12 bits (ou décalage arithmétique à 11 bits) vers la droite ou le cetté inférieur des données de produits P. La sortie du multiplexeur 23 est transmise à l'unité arithmétique et logique 21 associée avec un circuit lo- gique à décalage de bits 24 Un registre d'état 25 mémo- rise le contenu d'un indicateur qui peut être changé avec 6 le traitement arith Métique effectué dansl'unité arithmétique et logique 21 Les données nu*i 6 riques à 24 bits résultant de l'opération arithm étique sont ap- pliquées à la ligne omnibus de domnnées DB par une porte tampon 43 et à la mémoire de données 31 par le multi- plexeur 33 Les données de sortie Ti P provenant du regis- tre temporaire 32 sont fournies à l'autreentréedu multi- plexeur 32. La mémoire de microprqgrarimes ô mémorise un microprogramme pour commander une séquence de traitement des circuits respectifs du processeur de signaux numéri- ques 1 Une série de micro-instructions qui constitue un microprogramme est lue séquentiellement par des sig- naux d'adresses fournis par un circuit séquentiel 91. Ces micro-instructions ont une longueur de mot de par exemple 32 bits et sont fournies par un registre en cas- cade 61 à une ligne imnibus do données d'instructions IDB Il faut noter que les 32 bits d'un mot de r;icro- instruction sont divisés en plusieurs zones, par exemple l'une pour des données immédiates,l'uno pour commander la mémoire de données 31, l'une pour commander ltunité aritlmétiqueet logique 21 et l'une pour commander le circuit séquentiel 91 Les données immédiates que con- tiennent les micro-instructions sont fournies par les portes tampon 44 à la ligne omnibus de données 44 tandis que les données de commande pour la mémoire de données 31 sont fournies par le mu Ltiplexeur 34 à une connexion d'entrée d'adresse inférieure de la mémoire de données 31 Dans le circuit séquentiel 91,l'adresse de La mlémoi- re de microprograimmie 6 qui doit 8 tre lue à l'instant suivant est déterminée par des données de commande de circuit séquentiel que contiennent les micro-instructions et les données d'état provenant du registre d'état 25 comme un état de marqueur Un circuit logique 92 de cor;- mande de sortie comm ande l'unité de commande de mémoire 2 et il est lui:ntme commandé par les micro-instructions avec le circuit Logique de commande 92 et le circuit sé- quentiel 91 constituant l'unité 9 de commande de séquences (Fig 1) Les micro-instructions contiennent également des bits pour incrémenter un indicateur de données 35 spécifiant t'adresse supérieure de La mémoire de données 30 et pour incrémenter l'indicateur de coeffi- cients 71. Les données B provenant du calculateur prin- cipal, dans un format a huit bits par mot, peuvent être écrites dans la mémoire de microprogramme b et La mné- moire de coefficients 7 par l'intermédiaire du circuit d'interface 5. La Figure 3 représente un topogramme de la mémoire de microprogranmme 6 et de la mémoire de coeffi- cient 7, telle que vue du calculateur principal 4 Comme le montre la Fig 3, les mémoires 6, 7 peuvent être con- sidérées par Le calculateur principal comme une mémoire 4 R avec une capacité totale de 4096 (ou 212)mots, chaque mot consistant en huit bits (un mu Ltiplet) L'acces peut être donné à la mémoire 1 ' multiplet par mu Ltiplet avec une adresse A à douze bits Cette mémoire 'IR est divisée en deux parties égales comprenant chacune 2048 multiplets. L'une des parties avec les adresses $ 000 à É 7 FF en code hexadécimal est une zone:PM pour la mémoire de topo- gramme 6 tandis que l'autre partie avec les adresses de $ 800 à $FFF est une zone CF?l pour la mémoire de coeffi- cients 7 Les 2048 multiplets de La zone de Mémoire de coefficients CFI 4 sont divisés en deux parties égales. Une partie pour les adresses $ 800 à $Br FF est la page O tandis que l'autre partie pour les adresses $COO à $FF est la page 1 De cette manière, l'accès peut être obtenu par le calculateur principal aux 4096 multiplets de % 000 à FFF, multiplet par multiplet, par adressage avec l'adresse A à douze bits Dans le processeur 1, la zone de mémoire de programme l MPM peut 8 tra adressée par le circuit séquentiel 91 pour lire simultanément les données I de microinstructions à 32 bits tandis que la zone de mémoire de coefficients CF? 4 peut être adressée par un in- dicateur de coefficients 71 afin de lire simu Ltanément des données K de coefficients à douze bits Si l'adresse A est désignéepar a O a 11, 9 bits a 2 a 10 sont utili- sés comme une adresse par le circuit séquentiel 91 pour accéder aux 512 mots à 32 bits tandis que neuf bits a a 9 sont utilisés comme une adresse par l'indica- teur de coefficients 71 pour accéder aux 512 mots de la page 1 Un bit 10 est utilisé pour le changement de page. Les signaux à huit bits provenant du calcula- teur principal 4 sont transmis au processeur de signaux numériques 1 comme quatre signaux de type différent, par des signaux de changement de mode I 50, R 51 à deux bits La Figure 4 montre le contenu des signaux à huit bits pour les quatre modes Les signaux de changement de mode RSO, R 51 peuvent avoir quatre états différents 00 à 11, à savoir un mode de données 140, un mode d'adresse supérieure,1, un mode d'adresse inférieure M 2 et un mode de commande M 3 Comme le montre la Figure 4, dans le mode de données M 0, les bits b O à b 7 des don- nées B à huit bits du calculateur principal 4 sont les bits respectifs do à d 7 des données C à huit bits dé- crites pratiquement dans les zones MP I et CFM Dans le mode dtadresse supérieure M 1, les bits b O à b sont les quatre bits d'adresse supérieure à a 11 de l'adresse à douze bits pour accéder à la mémoire 'MR Dans le mode d'adresse inférieure, 112, les bits b à b sont les bits O 7 d'adresse a à a 7 de l'adresse inférieure à huit bits. 2.5 Dans le mode de commande _ 43, les bits respectifs bo à b 7 des données supérieures B à huit bits sont utilisés comme lrs signaux de commande respectifs Par exemple, le bitb 7 est utilisé comme signal de commande de change- ment de page PAGE ponr la zone de:nérioire de coefficients CFY,l. Il y a lieu de se référer aux figures 5 et 6 pour illustrer l'opération d'écriture de données par le calculateur principal 4 dans la mémoire t-R. La Figure v est un schéma simplifié du cir- cuit d'interface 5, de la mémoire de programme 6, de la mémoire de coefficient 7 et des éléments de circuit voisinsdans le processeur 1 représenté sur les Fig 1 12 2522232 et 2 Les données B précitées à huit bits, le signal CS de sélection de pastille et les signaux précités de changement de mode RSO, R 51 sont appliqués sélec- tivement à une entrée de données 17, une entrée de sélection de pastille 18 et des entrées de signaux de changement de mode 19 Ro, 19 R 1 comme le montre la Figure 5 Comme le montre la Figure 6, les impulsions d'horloge CP sont appliquées à une entrée d'horloge CLK représentée sur la Figure 5 pour synchra-orser le fonctionnement de l'élément de circuit compris dans le processeur 1. Il sera maintenant supposé que pour transférer des données depuis le calculateur principal 4, le signal C-S de sélection de pastille est changé au niveau bas (B) puis à nouveau au niveau haut (HI) à l'instant t 1. Le premier registre 51 est alors autorisé à cet instant t 1 à conduire les données B à 8 bits depuis l'entrée de données 17 et à transmettre Les données comme signal de sortie Le signal CS de sélection de pastille est changé à un instant indépendant de l'impulsion d'horloge CP La sortie Q du circuit basculeur 53 est changée de "H" à "B" à un instant t 2 correspondant à la premiere production de l'impulsion d'norloge CP depuis l'instant t 1 Cette sortie Q est maintenue au niveau bas "B" jus- 2 qu'à l'instant t 3 correspondant à l'arrivée suivante de l'impulsion d'horloge CP, et elle est transférée à une borne G 1 d'un décodeur de mode j 2 Le décodeur de mode 52 réagit aux signaux de changement de mode RSO, R 51 aux bornes 19 R O pour marquer seulement l'une des lignes de signaux correspondant respectivement aux modes l, t, M 2, T 3 et seulement pendant l'intervalle de temps t 2 à t 3 Ainsi, pour le mode de dor néesfo, un circuit de registre de données J 4 à huit bits est com- mandé pour mémoriser les bits b à b 7 et, dans le mode o b 7 de co mmande; 13, un circuit 56 de registre de données de commande est commandé pour ne mémoriser que ceux néces- saires des bits b O à b 7 Un compteur d'adresse 55 uti- lise les trois compteurs à quatre bits à prépositionne l ment correspondant aux bits d'adresses a O à aj, a a 7 et a 8 à a 11 respectivement Dans le mode d'adresse supérieure 741, les bitsb O à bj sont mé- * morisés par un compteur à positionnement à quatre bits correspondant aux bits d'adresse a 8 à a 11 * Dans le mode d'adresse inférieure N 2 ' les bits b O à b 3 et b 4 à b 7 sont mémorisés par deux compteurs à posi- tionnement à quatre bits correspondant aux bits d'adresse a O à a 3 et a 4 à a respectivement Ces op 6- rations de mémorisation sont prévues pour se dérouler à l'instant t. Comme cela apparait sur le topogramme de mémoire décrit en regard de La Fig 3, Les huit bits d à d 7 de données D d'un multiplet provenant du cir- cuit 54 de registre de données peuvent ttre utilisés occasionnellement comme un multiplet i O à i 7, i 8 à i 15, i 1 t à i 2 D ou i 24 à i 31 compris dans les données I de micro-instructions, un multiplet k V à k 7 ou multiplet k 8 à k 15 des données de coefficient K. Celui de ces multiplets qui correspond aux huit bits doà d 7 est déterminé par les bits d'adresse ao, a 1 et al de l'adresse A Ainsi, le bit d'adresse a 11 détermine s'il s'agit de données de micro-instructions ou de données de coefficient Dans le cas o il s'agit de données de micro-instructions, L'un correspondant des quatre multiplets e( 32 bits) peut être spécifié par les bits d'adresse a O, alet dans le cas o il s'agit de données de coefficient, celui correspondant des deux multiplets (seize bits) peut tre spécifié par le bit d'adresse a O Ainsi, les bits d'adresse a O,, a 1 a 11 sont fournis par Le compteur d'adresse 35 à un décodeur d'adresse 57 par lequel six sorties cor- respondant aux bits i O à i 7, i 8 à, ia 1, 5 à i 23, i 24 à i 31, k O à k 7 et k 8 à k 15 sont délivrées pour autori- ser l'une de six portes tampon à huit bits connectées à la sortie du registre de données 54 Quatre de ces six portes tampon à huit bits sont prévuesdans un cir- cuit 62 de sélection de mu Ltip Let pour los données de 14 2522232 micro-instructions et les deux autres portes sont pré- vues dans un circuit 72 de sélection de multiplet pour les coefficients de dornées. La mémoire de micro-programmes 6 et la,némoire 7 de données de coefficients sont configurées avec des multiplets comme des unités de structure Ainsi, la mé- moire de microprogrammes 6 est formée par une connexion en parallèle de quatre unités de mémoire à 512 multi- plets et par conséquent, elle a une capacité de 512 mots consistant chacun en 32 bits La mé:oire de coefficients 7 est constituée par la connexion en parallèle de deux unités de mémoire à 1024 multiplets et elle a donc la capacité de 512 mots en deux pages consistant chacun en seize bits Les sorties des quatre portes tampon à huit bits du circuit 62 de sélection de multiplets sont ap- pliquées aux quatre unités de diémoire à 512 multiplets de la mémoire de microprogramnes ô tandis que les sor- ties des deux portes tampon à huit bits du circuit 72 de sélection te multiplets sont appliquées aux deux unités à 1024 multiplets de la mémoire 7 de données de coefficients En ce qui concerne la sortie d'adresses A à douze bits du compteur d'adresses 55, neuf bits a à a 10 sont fournis à une ligne omnibus d'adresses de la mémoire de microprogrammes 6 par une porte tampon 63 2 j à neuf bits tandis que dix bits a 1 à a 1 e sont fournis à une ligne omnibus d'adresses de coefficients de la mémoire de coefficients 7 par une porte tampon 73 à dix bits. Ces portes tampons 63, 73 sont des ta: pons à troisétats, c'est-à-dire ils sont établis par un sig- nal de regénération formé à l'exécution des instruc- tions de regénération de mnicroprogramnes et autrement, ils restent dans l'état flottant ou de haute imp 6 dance. Le décodeur d'adresse 55 fonctionne également en réponse au signal de regénération pour activer l'une des six sorties de décodeurs afin de n'autoriser que celles correspondantes des portes tanpons à huit bits des cir- cuits 62 et 72 de sélection de multiplets Les portes 1 5 2 52522232 tampon de ces circuits de sétection 62 et 72 sont également réalisées comme des tampons à trois états. L'adresse de mémoire de programie à neuf bits correspondant aux bits d'adresses a 2 à a 10 est alors émise par le circuit séquentiel 91 pour adresser séquentiellement les mots dans la mémoire de micro- programmes 6 afin d'y lire les micro-instructions. La Figure 6 montre les micro-instructions 'I Pl lues séq 1 entiellement dansla mémoire de microprogrammes 6. Les nombres, n-1, n, nt 1 sont affectés à une série d'instructions utilisées pour commander l'tunité de commande de mémoire 2 et les circuits respectifs du processeur de signaux numériques 1 Il faut noter que la Ni me instruction contient une instruction de regénération à 32 bits dans laquelle lo bit de commande de regénération est actif et que l'instruction qui suit immédiatement la Rième instruction est négligée dans le processeur 1 à cause de l'opération de regénération qui. en résulte Par conséquent, une instruction non-opéra- tion (instruction NOP) est intercalée entre la Ntème et la (N + 1)'me instruction qui sont destinées à com- mander en fait l'opération du traitement de signaux. Toujours en regard de la Figure 6, la Nteéle instruction contenant L'instruction de regénération est lue dans la mémoire de microprogrammes 6 à t'in- stant t 1 déterminé par les impulsions d'horloge CP. Cette N' e instruction est retardée d'un in tervalle d'impulsions d'horloge, en passant par un registre en cascade 61 et elle est exécutée dclans l'intervalle dtim- pulsions d'horloge suivant t 12 t 13 Pendant cet inter- valle t 12 t 13, La mémoire de microprogrammes 6 et la ménmoire de coefficients 7 sont dans le mode d'acces ou d'adressage, de sorte que L'accès ou l'adressage par le circuit séquentiel yl et l'indicateur de coefficient 71 résultant du fonctionnement interne du processeur 1 sont inhibés et les données à huit bits provenant du registre de données 34 peuvent tre décrites dans le mot à huit bits adressé par l'adresse À provenant du 16 2522232 16) compteur d'adresse 55 En plus, pendant cet intervalle t 12 à t 13, l'état est tel qu'un maintien par le registre en cascade 61 des données à 32 bits tues dans la mémoire de microprogrammes 6 est inhibé, Le signal d'autorisation de registre en cascade étant au niveau haut Par conséquent, l'instruction NOP qui fait partie de l'instruction >Pl tue dans la mémoire de microprogramrnes 6 (c'est-à- dire l'instruction suivant directement L'instruction de regénération) n'est pas mémorisée par le registre en cas- cade 61 et la sortie de ce dernier est telle que la N'ème instruction persiste pendant l'intervalle de temps. t 12 t 14 De cette manière, une opération de regénéra- tion est effectuée pendant l'intervalle de temps tl-t 13, le signal de regénération étant actif de sorte que les portes tampon 63 et 73 sont autorisées et que l'accès est donné à un mot mémorisé dans la mémoire de mnicroprogrammes 6 ou la mémoire de coefficients 7 L'une des portes tam- pon dans les circuits 62, 72 de sélection de multiplets est ouverte pour écrire des données d'un multiplet cor- respondantes parmi les 40 06 mu Ltiplets mémorisés dans la mémoire 1 R. Un indicateur de coefficients 71 destiné à adresser la mémoire de coefficients 7, réagissant à l'exé- cution du mnicroprogramme dans le processeur 1 est prévu pour émettre une sortie d'adresse à neuf bits correspon- dant aux bits d'adresse a 1 à a vers une ligne omnibus 1 9 d'adresses de coefficients afin d'adresser l'une des deux pages à 512 mots de la mémoire de coefficient 7, et le signal correspondant aux bits d'adresses a 10 spécifiant la page O ou la page 1 est émis en fonction du bit b 7 dans les données à huit bits fournies par le calculateur principal 4 dans le mode de commande 113 Ainsi, dans le mode de commande M 3, les données à huit bits sont mnémnori- sées par le circuit 56 de registre de données de comnmande pendant que le signal de changement de page émis en fonc- tion du bit b 7 est fourni à l'entrée de données D du cir- cuit basculeur 74 du type D Un signal de regénération inversé pendant l'exécution d'une instruction spécifiée 1. 7 2522232 du microprograrime, commne une instruction de regenération, est appliquée à une entrée de déclenchement T du circuit bascu Leur 74 du type B, les données à l'entrée de données D étant introduites à l'instant de regénération et émises par la borne de sortie Q Cette sortie Q est appli(luée comme un bit d'adresse a 10 à la ligne omnibus d'adresses de coefficient par la porte tampon 75 Par conséquent, le changement de page est effectué seu Lelent à l'exécution d'une instruction spécifiée, commne une instruction de re- génération qui contient le microprogramme et en fonction du contenu des données de commande provenant du calcula- teur principal 4. Dans lc présent dispositif de traiterent de signaux numétiques, la mémoire du microprogramme 6 et la mémoire de coefficients 7 apparaissent comme une mémoire continue 'R, vue du calculateur principal 4 corme le mon- tre la Fig 3 et elle peut 9 tre adressée avec une série prédéterminée de bits d'adresses ao à a 11 De cette maniè-. re, un transfert de données peut se faire de façon facile et positive De plus, la mémoire de coefficient 7 comporte au noins deurpages correspondant à la zone totale de mné- moire adressable pendant l'exécution du microprogramme par le processeur 1 et Le changement de page est commandé par des données de commande provenant du calcu Lateur principal 4 (par exemple le contenu du bit de données b 7 pour le mode de commande M 3 précité) De cette manière, une partie d'une série de coefficients n'a pas'à 8 tre décrite à nou- veau comme dans la pratique courante, de sorte que Les effets adverses causés par des bruits ou des oscillations peuvent 8 tre évités De plus, étant donné que la synchroni- sation d'écriture des données par le calculateur principal 4 dont la mémoire IR et le changement de page sont prévus dans un cycle spécifié qui est indépendant du traitement des signaux numériques, cormme des opérations logiques ou des multiplications effectuées au cours de l'exécution d'un microprogranme, comme par exemple un cycle de regéné- ration accompagnant l'exécution d'une instruction de regé- nération, il n'y a aucun risque que par exemple des ooef- ficients soient changés en cours de multiplication. Il y a lieu de se référer maintenant à la Figure 7 qui illustre une multiplication de données de coefficients à double précision, effectuées par le 3 multiplicateur 22. Un coefficient X à douze bits est appliqué à une entrée de coefficient X du multiplicateur 22, cotmme mentionné ci-dessus, et il est multiplié par un signal numérique Y à 24 bits fourni àunee entrée de multiplicande Y pour obtenir un produit à 36 bits. Les 24 bits supérieurs sont prélevés comme données de produit P et sont fournis asu multiplexeur 23 Quand la double précision à 24 bits est nécessaire pour le coefficient, ces 24 bits sont divisés en une dormnnée 13 supérieure 12 bits (d'une Longueur d'unr mot) XH et une donnée inférieure à douze bits (d'une longueur d'un mot) XL Ces données XI et XL sont respectivement mul- tipliées par le multiplicande Y et les produits respec- tifs sont positionnés ensemble pour obtenir un produit à coefficient à 24 bits Dans ce cas, étant donné que les douze bits supérieurs du produit à 36 bits XL Y b obtenus par te multiplication des L 2 bits inférieurs XL par le multiplicande Y correspondent aux douze bits inférieurs du produit P à 24 bits, il est nécessaire d'utiliser un second produit PP dans lequel le produit XL.Y est décalé d'un mot ou de douze bits vers le coté inférieur, et les douze bits supérieurs sont étendus de 12 bits vers le côté supérieur pour obtenir une don- née à 24 bits. Plus particulièrement, et en regard de la Fig 7, quand le signal numérique de *nultiplicande Y à 24 bits est multiplié par le coefficient en double précision de 24 bits, un coefficient 1 correspondant aux douze bits supérieurs du coefficient à 24 bits est multiplié par le 'nultiplicande Y dansune première phase d'opération pour obtenir un produit Y XH à 36 bits, et les 24 bits supérieurs du produit Y XH sont prélevés au multiplica- 1 g 2522232 teur 22 comme premier produit P Dans une seconde phase d'opération, le coefficient XL correspondant auc douze bits inférieurs du coefficient précité à 24 bits est multiplié par Y pour obtenir un produit à 36 bits qui est ensuite décalé de 12 bits vers le ctté inférieur de sorte que le produit Y, Xr est maintenant placé en une série représentée par le trait mixte sur la Figure 7. Les douze bits supérieurs du produit sont soumis à une expansion de signes et les 24 bits résultants sont pré- levés comme produit:P au multiplicateur 22: L'expansion de signa désigne l'opération dans laquelle ies bits de signe des données numériques représentées en complément à deux, sont additionnés dans le c 8 té supérieur en un hombre égale au nombre total des bits de la nouvelle série de données, tmoins le nombre des bits du prpduit initial. Tableau 1 Nombre Nombre binaire en comptlément à décimlal format à 4 bits Format à 8 bits 7 O i 1 1 O O O OO 1 1 6 O 1 1 O O O O O O 1 10 o I 1 1 I O O O O O 1 O 1 4 O O O O O 1 O O 3 O O 1 1 O O O O O O 1 1 2 O O 1 O O O O O O O 1 O 1 O O O 1 O D O O O O O 1 O O O O O 00 O O O O O O -1 1 1 O 1 1 1 1 1 1 1 -2 1 1 O 1 1 1 1 I 1 O -3 1 1 O 1 1 1 1 1 1 O 1 -4 1 1 O O 1 1 1 1 1 O O -5 O 1 1 1 1 1 1 O 1 1 -, 1 O 1 O 1 1 1 O 1 O -7 1 O O 1 1 1 1 1 1 O O 1 -R i 1 O O 011 O O O 3 O Dans l'exemple du tableau 1 ci-dessus, par exemple quatre bits égaux et bits supérieurs (bits de signe) O ou 1 des données binaires à quatre bits à re- présentation en comp Lément à deux sont additionnés au cbté supérieur pour donner des données à huit bits, qui correspondent au même nombre Les circuits peuvent être réalisés de manière que la ligne de signauxdb données entre le multiplicateur 22 et le multiplexeur 23 soient connectées comme le montre la Fig 2, afin que le pre- mier produit P et te second produit PP puissent être obtenus sans aucun changement de L'opération de m ulti- plication dans le multiplicateur 22 Le mnu Ltiplexeur 23 émet les données P vers l'unité arithmétique et logique 21 au moment de la première phase de rmultiplication et les données PP vers l'unité arithnétique et logique 21 au moment de la seconde phase de multiplication de sorte que les données P et PP sont additionnées ensemb Le dans l'unité arithmétique et Logique 21 Au moins les douze bits supérieurs du produit peuvent *tre transférés à l'entrée PP du multiplexeur et Le déca Lage des bits ainsi que l'extension de signe peuvent se faire dans l'unité arithmétique et logique 21. Il apparait ainsi suffisant pour Lcmultiplexeur 22 d'avoir une capacité de 24 x 12 bits pour une long- longueur de signaux numériques de 24 bits et une lon- gueur de mots de données de coefficient de douze bits et que, pour un algorithme nécessitant une longueur de mots de coefficient de double précision de 24 bits, le mot de coefficient de double précision est divisé en douze bits supérieurs de douze bits inférieurs qui sont pultipliés respectivement par le signal numérique, le produit résul- tant de la seconde multiplication étant décalé d'unmot ou de douze bits par un décalage logique ou des onze bits par un décalage arithmétique sur le cité inferieur pour 33 obtenir un second produit épais qui est ensuite addition- né avec le produit P de la première multiplication, en complétant -a multiplication de 24 bits par 214 bits. L'augmentation dunnombre des cycles à exécuter n'est que d'environ un seul, réalisant ainsi une opération extrêmement rapide comparativement à l'opération clas- sique dedouble précision. En plus, une opération rapide de simple pré- cision peut *tre choisie pour des composants qui ne nécessitent une précision de coefficient de douze bits et la double précision peut 9 tre choisie pour des comu- posants nécessitant une précision de coefficient supé- rieure, par exemple dans un filtre numérique Il en ré- sulte un dispositif de traitement des signaux avec un taux amélioré d'exploitation du circuit. L'invention n'est pas limitée à l'exemple ci-dessus Par exemple, les longueurs des nots des sig- naux numériques ou des données de coefficients peuvent être choisi préalablement de toute manière voulue. L'instant des opérations d'écriture de données ou de changement de page n'est pas nécessairement prévue dans le cycle de regénération mais peut également se trouver dans le cycle d'exécution d'instructions telles que d'instructions sans opération de d'instructions transi- toires (instructions de pause) qui sont indépendantes du degré de ptraitement réel des signaux numériques. De nombreuses autres variantes peuvent être conçues dans 2 J le cadre de L'invention. Un circuit à retard de signaux numériques qui utilise le dispositif de traitaenent de signaux nu- mériques pour former une chambre ou une machine à échno, et particulièrement la structure de l'unité de commande 3 de mémoire, seront maintenant décrits en regard des des- sins. Sur les Figures, la référence 3 désigne une mémoire de retard de signaux, ayant une capacité de par exemple 64 K ( 65 536) signaux numériques à 24 bits. 3 j Chaque mot mémorisé dans la mémoire de regard 3 est adreessé par exemple par une adresse de mémoire 'i A à 1 l bits provenant de l'unité de gestion d'adresses q, faisant partie de l'tuni té de commande de mémoire 2. Com e le montre par exempte La Figure 9, les 64 K mots mémorisés dans la mémoire de retard 1 sont divisés en m cellules de mémoire C 1 à Cn Une mémoire 8 ' de gestion d'adresse fait partie de L'unité de ges- tion d'adresse R pour mémoriser des adresses limites (adresse supérieure TA et adresse inférieure DA) des premières àr ne cel Lu Les C 1 à Cn et les adresses des cellules étant en opération d'acces ou des adresses en cours CA Les cellules C 1 à C de la mémoire de retard 1 N 3 peuvent contenir des mots qui se Chévauchent, comme les cellules C 2 et C 3 ou peuvent avoir une zone d'adresses interrompue, com ie la premiere cellule C 1 et la seconde cellu Le C 2 Pour chacune des cellules de mémoire C 1 à Cn, la:némoire de gestion d'adresses 81 comporte une zone 81 B pour mémoriser une adresse exté- rieure B 3 A qui est la valeur d'adresse minimale, une zone R 1 li pour mémoriser une adresse supérieure TA qui est La valeur d'adresse maximale et une zone 91 C pour mémoriser des adresses en cours CA en fonctionnement et en classe- ment à partir de L'adresse BA jusqu'à l'adresse Ta. Chaque zone 811 81, 81 T, 81 C peut mémoriser des mots dont les nombres sont liés aux nombres de cellules et qui peuvent être adressés par des numéros de cellules en série. l.'écriture des adresses HA, TA et CA (initia- Lisation ou changements suivants) peut se faire par Le calculateur principal 4 comine dans le cas du processeur de signaux numériques 1 Le calculateur 4 émet par exemple des données à six bits pour spécifier les numé- ros en série des cellules de mémoire et des données d'adresse à seize bits pour identifier les adresses HA, TA et CA Les données de numéros de ce Llules en série et les données d'adresse sont fournies à l'unité de ges- tion d'adresses 8 par un multiplexeur 81 utilis 6 'é comme un dispositif de commutation et de sélection dansl'unité l'unité de commande de mémoire 2 et par le registre 23 2522232 d'adresse 11 respectivement Il faut noter que pour des données de numéros de cellules en série à six bits, la mémoire de retard 3 peut Stre divisé en 64 cellules de mémoire maximum. La Figure 11 représente un exemple de circuits pour l'unité de gestion d'adreses 8 Sur cette figure 11, un additionneur 83 est destiné à additionner " 1 " ou à incrémenter l'adresse en cours CA lue dans la zone 81 C de la mémoire de gestion d'adresse 81 Le résultat de l'addition de l'additionneur 83, c'est-à-dire l'in- formation d'adresses en cours incrémentée, est fournie à un opérateur 84 et un multiplexeur 85 Le résultat de l'addition et l'adresse supérieure TA lue dans La zone 81 T de La mémoire de gestion 81 sont comparées dans le 1 j comparateur 84 et le résultat de la comparaison est transmis en une borne de commande de commutation du multiplexeur 85 Ce dernier a pour fonction de sélec- tionner et d'émettre l'adresse inférieure DA de La zone 81 B de la mémoire de gestion 81 ou le résu Ltat de l'ad- dition de l'additionneur 83 en vue du résultat précité dans la comparaison Ainsi, l'adresse inférieure B 4 est sélectionnée et émise quand le résuttat de l'addition est supérieur à l'adresse supérieure TA Les données d'adresses des sorties du multiplexeur 85 sont fournies par le multiplexeur 86 à la zone 81 C de la mémoire de gestion 81 et sont écrites en réponse à l'instruction d'écriture WT provenant de la mémoire de microprogrammes 6 Do cette manière, l'adresse en cours CA dans la zone de mémoire 810 est incrémentée chaque fois que l'in- struction d'écriture WT est émise vers la mémoire de retard 3 par le microprogramme et l'adresse CA est à nouveau incrémentée en partir de l'adresse infgérieure BA quand L'adresse supérieure est atteinte. Il faut noter que le processeur 1 représenté sur la Fig 1 correspond aux parties de circuits repré- sentées sur la Figure 8, à l'exclusion de l'unité de commande de mémoire 2, de la mémoire de retard 3 et du oalculateur principal. Dans le présent mode de réalisation, la micro- instruction contient une zone pour com ander l'unité de gestion d'adresses 8, pour gérer la mémoire de retard 3 Pour 64 cellulos de mémoire au maximum de la mémoire de retard 3, six bits sont nécessaires pour spécifier les numéros de cellu Les en série et 2 bits sont égale- ment nécessaires pour commander les opérations de Lec- ture et d'écriture de la mémoire de retard 3 Ainsi, la zone est une zone de commande d'unité de gestion d'adres- ses ou de mémoire de retard à huit bits Ce signal de zone de commande d'unité de gestion à huit bits est four- ni à l'unité de gestion 8, dans laquelle l'adresse en cours CA à 16 bits est produite pour adresser la mémoire t 5 de retard 3 à partir de ta zone d'adresse en cours 81 C de la mémoire de gestion d'adresse 81. Lorsque par exemple la première cellule de mé- moire C 1 de la mémoire de retard 3 est utilisée coune un circuit à retard, il est nécessaire d'écrire à l'avance 2 O l'adresse inférieure DA 1 et l'adresse supérieure BA 1 pour la cellule de méoire C 1 ainsi que t'adresse en cours CA 1 situé entre 3 A 1 et TA 1 dont les mots respectifs mémorisés dans les zones 81 B 81 IT et 810 de la mémoire de gestion d'adresse 81 et ayant Lesx adresses des numé- ros de cellu Ies en série égales par exemple à " 1 " (phase d'initialisation) Pendant cette initialisation, Le mul- tiplexeur 82 de t'unité de commande de mémoire 2 est comnuté sur le calculateur principal 4 qui trans-'et alors un signal spécifiant le numéro de cellule en série ( 1) et Les données d'adresses pour les adresses ii A 1,e TA 1 et CA 1, séquentiellement vers la métioire de gestion d'adres- ses 8 En émettant séquentiellement les adresses BA 1, TA 1 let CA 1, le calculateur 4 émet aussi Les codes d'iden- tification d'adresse qui sont utilisées pour identifier ces adresses Les données ainsi transmises sont décritles dans les zones 81 I, 81 T et 81 C. Après cette initialisation des cellules de mémoire à utiliser, le multiplexeur 82 est conmmuté sur la mémoire de microprogramme 6 de sorte que l'unité de gestion d'adresses 2 est cootmandée par le microprogranmme Dans ce cas, la commande passe à la boucle de retard de signal numérique, après que tous les mots dans la mémoire de retard 3 ont été effacés ou placés à " O ". Dans cette bouc Le de retard, des opé:ations de lecture et d'écriture sont effectuées pour' les mots dans la mérmoire de retard 3, adressés par l'adresse en cours CA pendant que cette dernière est incrémen- tée Dans le microprogramme, il suffit de désigner les numéros de série des ceilules de mémoire et démnet- tre des instructions de Lecture et d'écriture et les opérations telles que lincrélmentation de l'adresse en cours CA ainsi que la commutation sur l'adresse infé- rieure 13 A après avoir atteint l'adresse supérieure sont effectuées automatiquement dans l'unité de ges- tion d'adresses 2. Quand le numéro de cellule en série dans la mémoire de retard 3 est spécifié dans la boucle de re- tard de signaux numériques par microprogrammes, l'adros- se en cours CA du mot correspondant au numéro de cel- lu Le de la mémoire de gestion d'adresse 81 est lu et l'accès est donné à La mémoire de retard 3 par cette * adresse CA Si la mémoire de regard 3 à un temps d'ac- cès de l'ordre d'un cycle d'instructions de::iicropro- gram;les ou moins, le contenu du mot adressé peut être introduit ou sorti par la micro-instruction suigante, auquel cas des sig naux numériques peuvent être lus ou écrits dans la mémoire de retard 3 Dans le mode de lecture, l'adresse en cours CA n'est pas corrigée dans L'unité de gestion d'adresse 2 et les données lues : dans la mémoire de retard 3 dans le cycle d'instruc- tions suivant la désignation du numéro de cellule on série peuvent atre transmises par la ligne omnibus de données DU vers tes registres ou les éléments de circuit effectuant les phases de traitement suivantes, comme un multiplicateur et un convertisseur numérique- analogique Dans le mode d'écriture, une impulsion décriture est émise en réponse à la micro-instruction, après l'accès à la mémoire, de sorte que les données numériques sur la ligne omnibus de données DB sont écrites dans le mot adressé mémorisé à la mémoire de retard 3 tandis que l'adresse en cours CA est corrigée dans l'unité de gestion d'adrosse 8, c'est-à-dire que les données d'adresses provenant du multiplexeur 85 sont prélevées dans l'unité de gestion 8. La Figure L 2 illustre la temporisation de fonctionnement dans le mode d'écriture Selon la Fig. 12, l'intervalle de temps T correspond & un cycle d'instructions dans la microprogramme Le numéro de cellule en série est désigné en fonction de l'instruc- tion d 9 criture pendant le temps t 1-t 2 et des données sont échangées entre la mémoire de retard 3 et la ligne omnibus de données DB pendant le temps tt-t 3 Quand le numéro de ceiluie en série est spécifié avec son adresse en cours CA lue dans la zone d'adresse en cours 81 C de la mémoire de gestion d'adresse 81 est déterminée à l'instant t 11 après l'écoulement d'un temps d'accès prédéterminé Depuis l'instant t 12 tout juste après l'instant tll, une impulsion d'échantii- lonnage d'adresse pour la mémnoire de retard 3 est pro- duite pour permettre l'accès à cette m 6 dioire La lec- tare et l'écriture dans la mémoire de retard 3 est autorisée après l'écoulement d'un temps d'adressage qui est déterminé par les caractéristiques de la mémoire utilisée et qui est de l'ordre d'nne centaine et quel- ques dizaines de nanosecondes avec une mémoire dynamique à accès direct Des impulsions d'écriture et de lecture sont é-iises à l'instant t 12, directement avant l'écoule- ment du temps t 2-t 3 pour le cycle d'instructions sui- vant ou directement avant l'instant t 3 pour l'échange 27 2522232 de signaux numériques entre le mot adressé et la ligne omnibus de données DB 3 Pendant l'intervalle de temps à partir de l'instant t 1,, l'adresse en cours CA est déterminée jusqu'à l'instant t 13, l'im- pu Lsion d'écriture ci-dessus est émise par la mémoi- re de retard 3, incrémentant l'adresse CA par L'addi- tionneur 83, sa comnparaison avec l'adresse supérieure TA par le comparateur 84 et la sélection pour le mul- tiplexeur 85 sont effectuées dans l'unité de gestion d'adresses 3 L'adresse provenant du multiplexeur 85, c'est-à-dire l'adresse suivante NA nécessairepour accéder à La mémoire de retard 3 dans la boucle de re- tard de signaux suivants, est émise par le multiplexeur 86 vers la zone d'adresse en cours 81 C 'adresse ui- vante NA est écrite dans la zone d'adresse en cours 81 C, seulement à l'instant t 13 et l'impulsion d'écri- ture est émise dans le mode d'écriture Ainsi, dans un cycle de la boucle de retard de signaux de micro- programmes, le signal numérique est écrit dansle même mot de la mémoire de retard 3 auquel l'accès a été donnné pendant la lecture de l'adresse acutelle Cl. et cette d'rnière dans la zone d'adresses en cours 810 de la mémoire de gestion d'adresses 81 est écrite dans l'adresse suivante à ce moment seulement Apr 6 S que l'ensemble des mots dans la cellule de mémoire utili- sée comne ligne à retard (c'est-à-dire la première cellule de mémoire C 1) ont été adressés, le mot dans lequel le signal numérique a été écrit est lu une se- conde fois, Le retard étant en produit du nombre total de mots inclus dans les cellules de mémoire ou la dif- f 6 rence entre l'adresse supérieure TA et l'adresse in- férieure DA et la durée du cycle pour la boucle en re- tard du signal de microprogramme,a durée du cycle de la boucle peut étro égal à la période d'échantillon- nage Lorsqu'un programme est introduit dans la boucle de retard de signaux pour contrbler répétiive:'ent la ter,inaison de l'opération d'échantillonnage 2 A au convertisseur anatogique-nu:érique jusqu'à la fin de l 'échanti Llonnage. Pour une fréquence dhorloge d'échantillon- nage de 50 kilz (période d'échantillonnage de 20 pes) et un nombre de mots dans la ce Llu Le de mémoire uti- lisée cornme une ligne à retard égale à 000 o mots, le temps de retard est 20 ms l Pour une augmentation d'un mot dans ia cellule de mémoire, le retard est augmnien- té de 20 ps et pour une diminution d'un mot dans la cellule de mémoire, le retard est réduit de 20 me. Le nombre des mots peut tre facilement augmenté et diminué en réécrivant au moins l'une de l'adresse in- férigure BA et de l'adresse supérieure TA de la cellule de mémoire, à la commande du calcu Lateur principal. La Figure 13 représente un exemple d'un or- ganigramme pour réaliser cette procédure de retard de signaux par un microprogramme Avant de passer à la boucle de retard de signal, des " O " sont écrits dans tous les mots de la mémoire de retard 3 à la phase 201 (tous les " O " ou mise au repos initiale) Cette phase est suivie par la boucle de retard de signal com mençant à la phase 202 qui effectue un contr 8 le vérifiant si la conversion analogique-numérique est terminée Chaque fois que l'opération d'échantillonnage est exécutée 23 dans le cornvertisseur ana Logique-numérique 100, les sig- naux numériques sont lus ou écrits dans La mémoire de re- tard 3 tandis que l'adresse en cours CA dans ta zone d'adresse en cours 810 de La mém-oire de gestion d'adresses 81 est automatiquement réécrite dans 1 'znité de gestion d'adresses 8 (phase 203 et suivantes) A La phase 2 u 3, les données numériques qui sont passées par la conver- sion analogique-numérique sont mémorisées par la ligne omnibus de données D 13 dans par exempte La zone de regis- tre Ra de la mémoire de données 30 Aux phases 204 et 205, les numéros des cellules de m 6:noire en série sont affectés à la mémoire de retard 3 pour lire Les données numériques Ainsi, à la phase 204, l'instruction de Lire la première cellule de mémoire C 1 est émise vers l' uni- té de gestion 8 qui émet alors une adresse en cours CA correspondant à La première cellule de mémoire cette adresse CA étant uti Lisée pour accéder à La mémoire de retard 3 Desddonnées de sortie peuvent 8 tre va Lides et lues dans La méi;oire de retard 3 après un temps d'ac- cès déterminé par les caractéristiques des éléments de mémroire utilisés dans cette mé,noire Les données de sortie peuvent devenir valides en général en une cen taine et quelques dizaines de nanosecondes dans La cas d'utilisation d'une mémoire à accès direct dyna'lique comme mémoire de retard A la phase 20 j, avec les,don- nées de sortie fixées de cette manière, Les données fournies par ia mémoire de retard 3 à la ligne omnibus 1, jde données EDU sont mémorisées, par exemple dans la zone de registre Rb de l'unité de mémoire de données Par conséquent, la lecture dans La mnéloire de retard 3 est réalisée en deux phases do micro-instructions Mais 1 a lecture dans la mémoire de retard 3 peut aussi être réa- lisée en une phase de micro-instructions quand le temps d'exécution d'une phase (cycle d'instructions) est long ou lorsque le temps d'accès à la mémoire de gestion 81 ou 'La mémoire de retard 'j peut tre réduit au minimum. A la phase 206, qui est la phase d'instructions d'écriture ou la première cellule de la meémoire de retard 3, une instruction d'écriture et un numéro de cellule en série sont emis vers l'unité de gestion 8, de sorte que l'adresse en cours CA correspondant à la première cellule est lue pour l'adressage de la mémoire de retard 3. Le signa L d'écriture pour la,lémoire de retard j est émis à la phase 207 suivante A ce moment, le contenu de la zone de registre Ra mémorisant Les données du con- vertisseur analogiques-nur,érique 100 O est fourni à la ligne omnibus de données DU et écrit dans La mémoire de retard 3. Les données Lues dans La cellule de mli,,6 oire C 1 de la,émoire de retard 3 et m 6 mnorisées dans la zone de registre Rb sont fournies au convertisseur numérique- analogique 101 à la phase 208 Ainsi, la co, inande re- vient à la phase 202 pour co:upléter la boucle de base de retard de signal. ,La machine ou la chambre d'écho précitée peut 8 tre réalisée à partir de p lusieurs lignes à re- tard sans changement de circuit, en introduisant à la phase 209 (ou dans la position indiquée en pointillés sur la Fig t 2) un programme dans lequel d'autres zones de mémoire sont spécifiées pour des opérations de lecture et d'écriture ou un programme dans lequel des données lues dans des cellules respectives de la mémoire de re- tard 3 sont multipliées par un coefficient et l e produit résultant est additionné aux données pré-retardées (com- me des données ayant passé par la conversion ana Logique- numérique et mémorisées dans La zone de registre Ra). En outre, le numéro de ce Llule de mémoire en série peut être spécifié par le calculateur principal 4, par exen-. ple pendant le temps d'accord de conversion analogique- numérique à la phase 201 pour réécrire L'adresse infé- rieure BA ou l'adresse supérieure BA précitée afin de changer dynamiquement le retard des circuits à retard correspondant aux cellules respectivess. Ies données provenant du convertisseur 101 peuvent être écrites directement dans la mémoire de re- tard 3 ou les données lues dans la mémoire de retard 3 peuvent être directement transmises à'a un convertisseur numérique-analogique 100 sans utiliser Les zones de re- gistres Ra, Rb de l'unité de mémoire de données 30 La Figure 14 montre un organigra ime correspondant à cette procédure Sur la Figure 14, les phases 201, 202 sont les mêmes que sur la Fig 13 Cependant, une phase 301 de lecture de par exemple la première cellu Le de mémoire C 1 de la mémoire de retard 3 (correspondant à la phase 204 de la Fig 13) est placée après la phase 202 Si les données ainsi lues sont valides sur la ligne omnibus de données Dli, elles sont transmises directement au uonver- tisseur nunérique-analogique 100 à la phase 302 A la phase 303, qui est équivalente à ta phase 206 de la Fig 13, l'accès est donné à l'adresse d'écriture donc à La première cellute de mémoire C 1 dde la mé:ioire de retard j A La phase 304, les données provenant du con- vertisseur 10 OA sont décrites par la Ligne omnibus de données DU à t'adresse à laquelle l'accès a été donné à la phase sprécédente Les phases constituent par la phase 202 pour Juger la condition Jusqu'à la phase 304 constituent un cycle complet de la boucle de retard. Il faut noter que la phase de condition 202 peut ltre placée entre les phases 302 et 303 Dans ce cas, les phases 301, 302, 202 ' 303 et 304 constituent un cycle complet de la boucle de retard. Un mode modifié de réalisation du processeur li de signaux numérique selon l'invention, dans son appli- cation à une machine ou chambre à écho sera décrit en regard de ta Fig 15. Dans le présent mode de réalisation, une adresse d'écriture WA et une adresse de lecture lu ap- paraissant sur la Figure LO sont utilisées au lieu de l'adresse en cours CA Ces adresses sont mémorisées res- pectivement dans des zones 81 W, 81 R de la mémoire de gestion d'adresse 81. Dans l'unité de gestion d'adresse 8 sont pré- vus un circuit 8 W de mémoire Wi B pour mémoriser les don- nées d'écriture WB à fournir à l'adresse d'écriture WA, un circuit de mémoire RD 8 R pour mémoriser des données de lecture D à fournir à ltadresse de lecture IA et un additionneur 83 ' pour additionner l'adresse d'écriture WA provenant de la zone 8 OAW de la mémoire de gestion 81 et les données d'écriture 1 l% provenant du circuit de ménoire 8 W, l'un avec l'autre pendant l'écriture et l'addition de L'adresse de lecture RA provenant de la zone 81 IR de la mé, -oire de gestion 81 et les données de 33 lecture RD provenant du circuit de mémoire 81 pendant la lecture. La somme provenant de l'additionneur 83 t est fournie en un comparateur 84 et à un mnultiplexeur utilisé com e un dispositif de comu Iutation et de séLection La somme et l'adresse supérieure TA prove- nant de la zone de mémoire 81 T sont comparées contre elles dans le comparateur 84 et le résu Ltat de cette couparaison est é liis vers une boine de commande de commutation du multip Lexeur 85 Le m'ultiplexeur 85 séLectionne et émet L'adresse inférieure i BA provenant de la zone 8 lii de la,nénoire de gestion 81 ou la soruei provenant de L'additionneur 83 ' en fonction du résu Ltat de la comparaison Ensuite, il sélectionne et émet L'adresse inférieure A sur La somme supéri- eure à l'adresse supérieure TA et là so:1-xe s'il en est autrement Les données de sortie du multiplexeur sont l'adresse suivante 14 A spécifiant L'adresse de lecture ou d'écriture à laquelle l'accès doit tre don- né la prochaine fois Ces données de sortie sont émises vers la zone 81 W de la mémoire de gestion 81 par le multiplexeur 86 W pendant lt'criture et vers la zone 81 R de la ménoire de gestion 81 par le multiplexeur 86 R pendant la Lecture Des données dtécriture " 1 " ou des données d'écriture provenant du ca Lcu Lateur prin- cipal 4 comme des " O " ou des " 2 " ont été fournies à ce moment au circuit de mémoire 8 PW pour écrire les données 1 B à L'adresse d'écriture WA après la commuta- tion et la sélection dans le mltipl exeur Sb'W, tandis que des données de lecture " 1 " ou des donn 6 es dt lec- ture provenant du calculateur principal 4 ont été four- nies de façàn similaire au circuit de r:ér 6 oire 8 R pour la lecture de données à l'adresse de lecture l U après La commutation et la sélection par le multiplexeur 8 b 1 R. Si le temps de retard est constant, les données d'écri- ture " 1 " et les données de lecture " 1 " sont fournies par les multiplexeurs 86 'W, 86 'R aux circuits de mé- moire 8 W, 8 R de sorte due les données d'écriture et de lecture WD, RD provenant de ces circuits de mémoire 8 xî, 8 rt sont " 1 " Par conséquent, dans l'additionneur 831, l'adresse d'écriture l WA est auaner:té 6 e d'une unité :33 ou incrémentée à chaque opération dd'écrliture et l'adresse de lecture RA est également incrémentée d'une unité à chaque opération de lecture. Il y a lieu de se référer maintenant à La Figure 12 pour illustrer les relations de temps de la lecture det de l'écriture do signaux nu 1 ériques par rapport à la,6 émoire de retard 3 Pendant L'opé- ration de lecture, Le numéro de coe L Lules est spéci- fié à l'instant t 1 et L'instruction de lecture est donnée à l'unité de gestion 8 Le,mot dans la zone d'adresses de lecture 81 R de la mémoire de gestion 81 correspondant au numéro de cellule spécifié est adressé et les données de sortie (adresse de lecture lu) sont valides à l'instant rll après l'écoulement d'un temps d'accès pr 6 d 6 termin 6 Un signal d'échan- tillonnage d'adresse est éris depuis L'instant t 12 après l'instant t 11 de sorte que la mémoire de retard 3 est adressée avec l'adresse de lecture RA* Dans le cycle d'instruction do l'instant t 2 t 3 de la Figure 12, une impulsion de Lecture est émise à l'instant t 13 si le temps d'accès s'est écou- lé et si les données de sortie sont devenues valides, ouvrant ainsi une porte de sortie de la mémoire de re- tard 3, pour fournir le contenu des mots adressés sur la ligne omnibus de données DB en vue des traitements ultérieurs dans des registres ou autres circuits asso- ciés conmme un multiplicateur, un additionneur ou un convertisseur numérique-ana Logique. Pendant cette opération de Lecture, l'adresse de lecture RA est corrigée automatiquement dans L'unité de gestion 8 Lorsqu&elle est fixée à l'instant t 11, l'adresse de lecture RA provenant de la zone 81 TR est émise vers l'additionneur 83 ' dans lequel elle est addi- tionnée avec les données de lecture provenant du circuit cde:mémoire Al R Pendant un ret:rd constant, la doruée lu L est " 1 " et l'adresse de lecture a est incrémentée et fournie au comparateur 84 et au multiplexeur 85. Quand l'adresse de lecture ainsi incrémentée est inf'é- rieure à l'adresso supérieure TA, elle est sélectionnée au mu Ltiplicateur 85 com:ue adresse suivant ' A et trans- mise par te multiplexeur So R à la zone 811 ó de la mémoire de gestion 81 ','opération ci-dessus se déroule auto- riatiqu"oent jusqu'à L'instant t 13 Les données d'adresse suivantes sont ensuite prélevées dans la zone R 1 paire en fonction de Lt'irpulsion de lecture produite à 1 'in- stant t 13 pour écrire à nouveau ou corriger L'adresse de Lecture IA Quand L'adresse incré-ie;tée provenant de l'additionneur 83 ' est supérieure à l'adresse supérieure TA, l'adresse inférieure LA est sélectionnée par le p multiplexeur 85 comme adresse suivante TIA. Le fonctionnement pendant La phase d'écri- ture du microprogramme pounrrait être le même que L'opération de lecture décrite ci-dessus si L'adresse de lecture RA, La zone 81 R, Le circuit de, moir 8 R, les données de lecture RD et le multip Lexeur 86 R 1 men- tionnés en regard de l'opération de Lecture étalent rem-, placées par L'adresse WTA, La zone 3 w I, Le circuit de mé- moire 8 W, Les données d'écriture W'D et le multiplexeur 86 W respective nent. Ainsi, en fonction de l'impulsion d'dcriture à l'instant t 13, l'adresse d'écriture WA est corrigée pendant que les données numériques provenant des regis- tres et des circuits de sortie de données, etc, sont écrites dans la mémoire de retard 3 par la ligne omni- bus de données DU. La Figure lb illustre le mouvement de 1 'l l'adresse de lecture Fa et de l'adresse d'écriture W'A sur La ce Llu'e de la mémoire de retard 3 utilisée comme un circuit à retard Si L'on suppose que l'adresse de lecture RA et l'adresse d'écriture WA apparaissant sur la Fig 16 en A sont déplacées pour cl:aque incré;: ent de la direction de la flèche ou a partir de l'adresse 3 j inférieure 13 A vers ltdresse supérieure TA, Le produit de la période d'échandtilonnage par le monomro des mots N est égat à la différence entre les adresses l A, IWA (N WA RA) représentant le temps de retard La Iigure 16 montre en B l'état de la cellule de;:; énoire danslaquelle l'adresse d'écriture WA a atteint l'adres- se supérieure ou elle est transférée à l'adresse infé- rieure 13 A à partir de laquelle elle est incrémentée à nouveau Le retard n'est pas changé car la somme du nombre de mots provenant de l'adresse de lecture RA jusqu'à l'adresse supérieure TA, et du nombre de mots depuis l'adresse inférieure BA jusqu'à l'adresse d'écriture WA est égale à la différence du nnombre de mots N. Auçcours de la description faite ci-dessus, il a été supposé que le retard est constant et n'est pas changé La description sera faite notamminent de la manière dont le retard peut 8 tre changé pendant l' ex 6- cution du microprogramme' Lorsqu'il:eat souhaité prolonger le retards des données d'écriture " O " sont écrites dans le circuit de mémoire R par Le calculateur principal 4, par l'in- 2 Q termédiaire du multiplexeur 86 t'1, à un moment du dé- roulement de la boucle de retard précédant largement l'adressage della mémoire de retard 3, par exemple pen dant le temps d'un temps de conversion analogique- numérique (phase 202 de le Fig 13 A) Dans ce cas, étant donné que des "O" sont additionnés à l'adresse de lecture l IA pendant la phase de lecture dans le même cycle de la boucle de programme (phases 204, 205), 1 l'adresse de lecture n'est pas incrétmetée et sontdé- placement dans le sens de la flèche dde la Figure 16 est inhibé Par contre, l Padresse d'écriture ie A est in- crérientée pendant la phase d'écriture dans Le méme cycle de la boucle de programme, de sorte que la différence de numéro de mots incrémentée et le temps de retard sont prolongées d'une période dtéchantillonage A par- tir du cycle suivant, l'adresse de Locture IM et l'adres- so d'écriture IWA sont incrém entées de sorte que la dif- férence de numéro de mots égal e à AN '1) est maintenue. S'il est souhaité prolonger le retard de N période d'échantillonnage, l'opération précitée déécriture de " O " dans le circuit de mémoire 8 R est répétée N fois aux intervalles de la période d'échantillonnage préci- tée (une durée de cycle de la boucle au progeamme). Le retard peut aussi être prolongé en écrivant les " 2 " ou des valeurs supérieures comme données d'écriture dans le circuit de mémoire 8 W L ais cela n'est pas pré- férable car l'adresse d'écriture l WA de la mémoire de retard 3 est incrémentée de deux unités ou davantage à a fois, de sorte que le contenu des mots interiné- diaires reste inchangé et une lecture de données comp Lè- tement discrète. Lorsqu'il est souhaité raccourcir le retard, des données d'écriture " O " sont écrites dans le circuit de mémoire 8 W par le calculateur principal 4, par l'in- termédiaire du multiplexeur 86 'W pour réduire le retard duune période d'échantillonnage Cette opération peut naturellement être répétée N fois pour raccourcir le re- tard de de N périodes d'léchantillonnage. De cette manière, il est possible de changer le retard réglé initialement, pas à pas à des intervalles égaux à un multiplet entier de l'intervalle d'échantil- lonnage en écrivant des " O " dans les circuits de mémoire 8 R ou PW, un nombre voulu de fois Dans cette procédure, l'adresse de lecture R Aou L'adresse d'écriture WA n'est inhibée que momentanément pour être incrémentée, de sorte que la continuité dans le temps des données de lec- ture peut être maintenue et i L peut être évité que des O parasites n'apparaissent. Il apparait aussi que plusieurs lignes à re- tard de signaux nupériques peuvent être réalisées en uti- lisant une seule mémoire de retard de signaux 3 et par conséquent, les circuits peuvent ttre simplifiés car il peut être évité que des circuits séparés soient nécessai- res pour les lignes en retard respectives en utilisant des registres à décalage En outre, La gestion d'adresses réel Le pour la mémoire de retard 3 est priseen charge dans l'unité de gestion S et les adresses d'écriture et de tecture (adresses en cours) peuvett 8 tre incré- mentées ou traitées de toute autre manière dans cette unité de gestion d'adresse, de sorte que par exemple l'unité arithbnétique et logique 21 peut prendre en charge et exécuter d'autres taches, le rendement de l'unité de traitement de signaux numériques pouvant être améliorée dans son ensemble Le retard de la ligne à retard de chaque cellule de mémoire peut Otre changé facilement par une commande logicielle, par L'intermédiaire du calculateur principal 4 tandis que le retard peut ainsi être changé de façon dynamique au cours du traitemnent das signaux en temps réel. REVENDICATION S 1 Dispositif de traitement de signaux numé- riques, caractérisé en ce qu'il colmporte au moins une mémoire de microprogramwes ( 6) pour mémoriser une série de micro-instructions, destinées à commander une procé- dure de traitement de signaux numériques et une némoire de coefficients ( 7) destinée à mémoriser des données de coefficients nécessaires pour effectuer une série d'opé- rations arithmétiques sur' les données de signaux numéri- ques, les données pouvant être transférées et écrites dans ladite mémoire de microprogrammes et ladite mémoire de coefficients à partir d'un calculateur principal ( 4), ladite mémoire de coefficients comprenait au moins deux pages correspondant à la zone totale de mérnoirc à la- quelle l'accès peut 8 tre donné pendant un traitement de signaux numériques à effectuer par lesdites mnicro-instruc- tions, ladite sélection de page de la mémoire de coeffi- cients pouvant être effectuée sous la commande dudit cal- culateur principal. 2 Dispositif de traitement de signaux numé- riques selon la revendication 1, caractérisé en ce que ledit traitement de signaux numériques est effectué en fonction de micro-instructions lues séquentie Llement dans une mémoire de microprogramme ( 6), et comprenant au moins un multiplicateur ( 22) destiné à multiplier des données de signaux numériques par des données de coefficient fournies par ladite mémoire de coefficients, Ledit mul- tiplicateur fonctionnant au moment de la multiplication desdites données de signaux numériques et de données de coefficient de doubleprécision pour émettre une première donnée de produit qui représente un produit de la moitié supérieure d'un mot de données desdites données de coef- ficients de double précision et desdites données de sig- naux numériques, et émettant ensuite un second produit de la moitié inférieure d'un mot de données desdites données de coefficient de double précision et desdites données de signaux numériques, et étant décalées par des D 9 bits équivalents à une longueur d'un mot, lesdites première et seconde données de produit étant addition- nées ensemble pour effectuer la multiplication dos données de signaux numériques par lesdites données de 3 coefficient de double précision. 3 Dispositif de traitement des signaux numériques, caractérisé en ce qu'il comporte une unité de traitement de signaux numériques comprenant au moins une mémoire de microprogrammes ( 6) destinée à mémoriser une série de micro-instructions pour commander une pro- cédure de traitement de signaux numériques et une mnémoire de coefficients ( 7) destinée à mémoriser des données de coefficient nécessaires pour effectuer une série dtopé- rations arithmétiques sur les données de signaux numéri- 13 quese une unité de commande de mémoire (t; cu) au moins un bloc de mémoire pour mémoriser des signaux numériques et un calculateur principal ( 4), les données pouvant être transf 6 rées et écrites dans ladite mémoire de micro- programmes et ladite mémoire de coefficients par ledit caloulateur principal, ladite mémoire de coefficients comportant au moins deux pages correspondant à la zone totale de mémoire à laquelle l'accès peut 8 tre donné pen- dant un traitement de signaux numériques à effectuer par lesdites microinstructions, la sélection de page de la 2.5 mémcirs de coefficients étant effectuée par une commande provenant dudit calculateur principal, ladite unité de commande de mémoire(-; CU) oomlportant une m,émoire de gestion d'adresses (Alr 4) pour diviser ledit bloc de mémoire en plusieurs cellules de mémoire identifiées par des adresses respectives, Les dispositions étant prises pour écrire un en avance des adresses limites desdites ceilules de mémoire par le calculateur principal dans ladite mémoire de gestion d'adresses, ledit accès à la mé:ioire étant accorde avec des numéros de cellule de mémoire en série, spécifiées par la- dite unité de traitement de signaux numériques.