Brevet FR2579343A1 — publié le 19860926

La présente invention a trait en général aux systèmes de traitement de données et plus particulièrement à un procédé et un appareil pour élargir la mémoire disponible pour le stockage de données dans des systè- mes de traitement de données ou d'informatique en général, dans lesquels l'unité de mémoire des données et l'unité de mémoire de programme sont séparées. Il est connu de prévoir des unités de traitement de l'information qui comportent des unités de mémoire de programme et des unités de mémoire de données, lesquelles sont séparées entre elles. Cette architecture, que l'on désigne sous le nom d'Architecture de Harvard, procure certaines améliorations de rendement du fait que l'opération de recherche de l'instruction et l'opération d'exécution de l'instruction peuvent être commodément assurées dans une suite de sous-opérationsou d'éxécutions en cascade. Il est également connu dans l'art de prévoir une modification de l'Architecture de Harvard qui ménage un parcours entre l'unité de mémoire des données du système de traitement de l'information et l'unité de mémoire de programme. Des instructions particulières peuvent être ajoutées au jeu d'instructions du système de traitement des données afin de permettre à ce système d'emprunter ce parcours des données. Un exempletype d'un tel système de traitement des données est représenté par le microprocesseur TMS 32010 de Texas Instruments.Dans ce système de traitement de l'information, l'instruction spéciale qui déclenche la lecture de données contenues dans l'unité de mémoire de programme pour les appliquer à l'unité de mémoire des données comporte un lecteur mnémonique TNLR (lecteur de ligne de base de temps), alors que l'instruction spéciale pour écrire l'information provenant de l'unité de mémoire des données et l'enregistrer dans l'unité de mémoire de programme comporte un scripteur mnémonique TBLW (scripteurde ligne de base de temps).La caractéristique qui consiste à transférer l'information entre l'unité de mémoire des données et l'unité de mémoire de programme s'est révélée particulièrement utile, mais elle a l'inconvénient que les groupes de signaux de données stockées dans l'unité de mémoire de programme, lorsqu'ils sont ajoutés aux groupes de signaux qui constituent le programme du système, sont limités par la capacité de la mémoire de programme, ce qui impose des limites complémentaires aux dimensions et à la souplesse du programme. Il existe par conséquent une demande pour un système de traitement des données qui, tout en étant construit conformément à l'Architecture de Harvard, puisse exploiter la souplesse d'instructions spéciales pour le transfert de groupes de signaux de données entre l'unité de mémoire de programme et l'unité interne de mémoire des données sans imposer de limites aux dimensions du programme. Par conséquent, l'un des buts de la présente invention consiste à prévoir un système perfectionné de traitement des données. Un autre but de la présente invention consiste à prévoir un système perfectionné de traitement des données comportant une Architecture de Harvard de type modifié. En outre, la présente invention a pour but de prévoir un espace complémentaire de données dans une unité de traitement des données ayant une Architecture de Harvard modifiée. Par ailleurs, l'invention a pour but de prévoir une mémoire auxiliaire de données que l'on peut utiliser pour transférer des groupes de signaux entre la mémoire de données d'une unité de traitement des données et l'unité auxiliaire de mémoire. Ces différents buts, ainsi que d'autres encore, sont réalisés, suivant la présente invention, grâce à un système de traitement des données dans lequel l'unité interne de mémoire des données et l'unité de mémoire de programme sont utilisées essentiellement de façon distincte, tout en ménageant un parcours des données, sous le controle d'instructions particulières, afin de transférer des données entre les deux unités de mémoire. Une unité auxiliaire de mémoire est ajoutée, cette unité ayant une configuration d'adresses identique à celle de l'unité auxiliaire de mémoire. On décrira ci-après un appareil destiné à activer l'unité auxiliaire de mémoire de données et à mettre au repos l'unité de mémoire de programme lorsque les instructions spéciales ont été identifiées.Ainsi, les groupes supplémentaires de signaux de données stockés dans l'unité auxiliaire de mémoire de données pourront être mis à la disposition de l'unité interne de mémoire de données de l'unité de traitement des donnees. Ces différentes caractéristiques de l'invention, ainsi que d'autres encore, ressortiront davantage à la lecture de la description ciaprès qui se réfère au dessin annexé, sur lequel la FIGURE 1 est un schéma synoptique montrant l'appareil auquel la présente invention est appliquée, La FIGURE 2 est un chronogramme relatif aux différents signaux de l'appareil suivant la présente invention, et La FIGURE 3 est un chronogramme relatif aux signaux produits dans le système et indiquant le transfert de données. Si l'on se réfère tout d'abord à la Figure 1, on voit qu'une unité de traitement de données 10 comportant une unité interne de mémoire de données 101 peut être couplée à un bus des données 15 ainsi qu'à un bus des adresses 14 du système. L'unité de traitement des données 10 applique également un signal d'horloge à une borne d'entrée d'un amplificateur inverseur 27 -ainsi qu'à une borne de base de temps d'un multivibrateur 23 du type D. La borne de sortie de l'amplificateur inverseur 27 est reliée à une borne d'horloge de synchronisation du multivibrateur 22 du type D, ainsi qu'à une borne de base de temps d'un autre multivibrateur 24 du type D.Une porte logique ET 20 reçoit un signal inversé d'autorisation désigné par le sigle COMSEN sur la Figure 1, à une borne inversée de la porte ET 20. Le signal inversé de sortie de la porte ET 20 est appliqué à une borne inversée d'autorisation de l'unité 16 d'identification d'instructions ainsi qu'à une borne inversée d'entrée de l'unité 17 d'identification d'instructions. La borne inversée de sortie de l'unité d'identification d'instructions 16 est reliée à une borne inversée de la porte logique OU 21, tandis qu'une borne inversée de sortie de l'unité d'identification d'instructions 16 et l'unité d'identification d'instructions 17 sont sont reliées toutes deux au bus 15 des données du système.La borne de sortie de la porte logique OU 21 est reliée à la borne D du multivibrateur 22 du type D, tandis que la borne de sortie Q du multivibrateur 22 applique le signal Q1 à la borne D du multivibrateur 23 du type D. La borne inverse de sortie du multivibrateur 22 du type D, désignée en Q1, est reliée à à une première borne d'entrée d'une porte logique ET 26. La borne de sortie du multivibrateur 23 du type D est reliée à une borne D d'un multivibrateur 24 du type D ainsi qu'à une première borne d'entrée d'une porte logique OU 25. Une borne de sortie Q du multivibrateur 23 applique un signal Q3 à une seconde borne d'entrée de la porte logique OU 25, tandis que la la borne inversée de sortie Q du multivibrateur 24 applique un signal Q3 à la mémoire auxiliaire de données 12. Le signal inverse de sortie de la porte logique OU 25 est appliqué à une borne inversée de la porte logique ET 20 ainsi qu'à une seconde borne d'entrée de la porte logique ET 26. Un signal inversé de sortie provenant de la porte logique ET 26 est appliqué à l'unité de mémoire de programme 11. L'unité auxiliaire de mémoire de données 12 et l'unité de mémoire de programme 11 sont reliées toutes deux au bus des données 15 ainsi qu'au bus des adresses 14 du système. Si l'on se réfère maintenant à la Figure 2, on y voit un chronogramme relatif à trois cycles d'une opération de lecture. Le signal COMPEN passe à un niveau logique négatif, ce qui active les unités d'identification 16 et 17. En réponse à l'identification d'une instruction appropriée par les unités 16 et 17, le signal de sortie de la porte OU 2f passe à l'état positif. Pendant le cycle de synchronisation suivant, le signal Q1 atteint un niveau logique positif et Q1 se trouve à un niveau enlevé, ce qui empêche l'unité de mémoire de programme de répondre tant au groupe de signaux d'adresses qu'au groupe de signaux du code d'o- opération sur le bus des données.En même temps, pendant le changement de cycle d'horloge qui se produit au milieu de la période, le signal de sortie Q2 du multivibrateur 23 du type D parvient à une valeur logique positive au cours de la transmission intermédiaire de synchronisation et conserve une valeur positive pendant la totalité de l'intervalle de synchronisation. Le signal de sortie du multivibrateur 24 du type D reçoit un signal logique positif pendant la troisième période de synchronisation et conservera une valeur logique négative pendant le restant de l'opération.La sortie de la porte OU inversée 25 atteint un niveau logique négatif pendant la troisième période de synchronisation. la mémoire de programme est mise au repos par le signal de sortie de la porte inverse ET 26 au cours des second et troisième cycles, tandis que la mémoire auxiliaire des données 12 est activée pendant le troisième cycle de synchronisation. Si l'on se reporte à la Figure 3, on y voit : le signal PROG CS qui met au repos le programme de mémoire et le signal DATER CS qui rend active la mémoire des données. Pour faciliter la compréhension, on a représenté les signaux sur la ligne d'adresses ainsi que les signaux sur la ligne des données, relatifs à cette opération, dans le cas d'une opération de lecture Fonctionnement du mode préféré de réalisation Ainsi qu'il a été indiqué plus haut, dans une unité de traitement de données qui fait partie d'une Architecture de Harvard, l'unité de mémoire des données et l'unité de mémoire de programme sont séparées. Cette séparation peut améliorer le rendement du système de traitement de données d'une manière bien connue des spécialistes.Si l'on se reporte de nouveau à la Figure 1, on voit que la mémoire de programme 11 et l'unité de mémoire interne des données 101 de l'unité 10 de traitement des données constituent des unités distinctes, l'unité interne de mémoire des données 101 étant reliée au restant de l'unité de traitement des données (ALU) 10 par des bus distincts d'adresses et de données. D'autres connexions électriques sont également prévues, telles que les bus pour signaux de syn chronisation et de contrôle; cependant, pour ce qui concerne la compréhension de la présente invention, il n'est pas nécessaire d'exposer en détail la nature de ces composants auxiliaires de transmission de signaux.Pour pouvoir accroître l'espace ou le domaine de mémoire disponible pour les groupes de signaux de données, l'unité auxiliaire 12 de mémoire de données est reliée au bus d'adresses 14 et au bus des données 15. Pour assurer l'usage de l'instruction spéciale de lecture et de l'instruction spéciale d'écriture, il faut activer l'unité auxiliaire de mémoires de données 12 et rendre inactive l'unité de mémoires de programmes 11 qui est normalement accessible. Pour réaliser cette condition, le bus des données 15 est piloté par une unité 16 d'identification d'instructions et par une unité 17 d'identification d'instructions afin d'identifier l'une ou l'autre des instructions spéciales, à savoir soit l'instruction de lecture, soit l'instruction d'écriture.Une ligne de contrôle reliée à la porte logique ET 20 met en service l'unité auxiliaire de mémoires en actionnant les unités 16 et 17 d'identification des instructions à l'aide d'une porte logique ET 20. Cette ligne de contrôle permet le fonctionnement normal de l'instruction spéciale de lecture et de l'instruction spéciale d'écriture selon la nécessité. Lorsqu'une de ces instructions spéciales est en cours de détection par l'unité de mémoires 11, les unités 16 et 17 d'identification des instructions sont actionnées, de manière à appliquer un signal à travers la porte de l'unité à multivibrateur 22 du type D. Les trois multivibrateurs 22, 23 et 24 du type D fournissent des signaux destinés à rendre inactive l'unité de mémoires de programmes 11 et à activer au contraire l'unité auxiliaire de mémoires de données 12 pendant le troisième cycle d'horloge de l'instruction spéciale.Ainsi, la donnée est transférée entre la mémoire des données de l'unité 10 de traitement des données et l'unité auxiliaire 12 de mémoire des données, mais ne comprend pas l'unité de programme de mémoire dé- signée en 11, comme cela se passerait dans le mode normal de fonctionnement. La porte 20 est rendue inactive pendant le troisième cycle d'horloge de l'instruction spéciale afin d'empêcher un conflit éventuel dans l'accession à l'unité auxiliaire 12 de mémoire des données ou à l'unité 11 de mémoire de programme. Après le troisième cycle d'horloge de l'instruction spéciale, le circuit est rétabli à son état initial et la porte logique 20 peut de nouveau être mise en service afin d'assurer une identification ultérieure d'instructions spéciales de lecture et d'écriture. La description qui précède est destinée à illustrer le mode de fonctionnement du mode préféré de réalisation de l'invention sans limiter de quelque façon que ce soit la portée de l'invention. Bien entendu, de nombreuses variantes et modifications pourront venir à l'esprit de tout spécialiste dans l'art sans s'écarter cependant des principes de base de l'invention. REVENDICATIONS 1. Système de traitement de données, comprenant une unité de mémoire de données (101), une unité de mémoire de programme (11)-capable de transférer des données entre ladite unité de mémoire de programme (11) et ladite unité de mémoire de données (101) en réponse à, au moins, une instruction particulière, et une unité auxiliaire de mémoire (12), ce système étant caractérisé par le fait qu'il comprend des dispositifs (16, 17) sensibles à ladite instruction particulière pour activer l'unité auxiliaire de mémoire de données (12) et rendre inactive ladite unité de mémoire de programme (11). 2. Le système de traitement de données selon la Revendication f, caractérisé par le fait qu'il comprend un dispositif (20) pour activer des moyens de sélection (16, 131 en réponse a un signal exterieur. 3. Le système de traitement de données selon la Revendication t, caractérisé par le fait qu'il comprend des dispositifs (22, 23, 24) destinés à désactiver la réponse du système å une seconde instruction lorsqu'une donnée est en cours de transfert entre l'unité auxiliaire de mémoire de données (12) et l'unité interne de mémoire de données (101). 4. Système de traitement de données selon la Revendication 1, comprenant une unité centrale de traitement, caractérisé par le fait que: a) l'unité de mémoire de données comprend un premier moyen de stockage (101) pour emmagasinner des groupes de signaux ayant une premitre fonction dans ce système de traitement de données; b) l'unité de mémoire de programme comprend un second moyen de stockage (11) pour emmagasinner des groupes de signaux ayant ladite première fonction et une seconde fonction dans ledit système de traitement de données; c) un premier moyen de transfert (14) pour transférer des groupes de signaux entre le premier moyen de stockage (101) et le second moyen de stockage (11) en réponse à des premières conditions sélectionnées;; d) un troisième moyen de stockage (12) dans ladite unité auxiliaire de mémoire, ayant ladite première fonction, et e) un second moyen de transfert (15) pour transférer des groupes de signaux entre le premier moyen de stockage (101) et le troisième moyen de stockage (12) en réponse à des secondes conditions sélectionnées. 5. Système de traitement de données selon la Revendication 4, caractérisé par le fait que le second moyen de transfert (15) comprend des dispositifs (16, 17) destinés à identifier la première desdites conditions sélectionnées. 6. Système de traitement de données selon la Revendication 5, caractérisé par le fait que le second moyen de transfert (15) comprend un dispositif (20) sensible à un signal logique pour rendre actif lesdits moyens d'identification (16, 17). 7. Système de traitement de données selon la Revendication 6, caractérisé par le fait que le second moyen de transfert (15) comprend des dispositifs (22, 23, 24) destinés à désactiver ledit premier moyen de transfert (14) 8. Système de traitement de données selon la Revendication 7, caractérisé par le fait que le second moyen de transfert (15) rend inactifs lesdits dispositifs d'identification (16, 17) lorsque des groupes de signaux de données sont en cours de transfert entre le premier moyen de stockage (101) et le troisième moyen de stockage (12). 9. Système de traitement de données selon la Revendication 1, caractérisé par le fait qu'il comprend a) des dispositifs d'identification (16, 17) destinés à identifier ladite instruction spéciale; b) b) des moyens de couplage (14, 15) reliés aux dispositifs d'identification (16, 17) pour activer ladite unité auxiliaire de mémoire (12) par rapport à ladite unité de mémoire de données (101), et c) des dispositifs de désactivation (22, 23, 24) reliés auxdits dispositifs d'identification (16, 17) pour empêcher le transfert de groupes de signaux entre l'unité de mémoire de données (10) et l'unité de mémoire de programme (11). 10. Système de traitement de données selon la Revendication 9, caractérisé par le fait que les dispositifs de désactivation (22, 23, 24) sont sensibles à un signal de commande ayant un premier état qui indique l'utilisation de ladite unité de mémoire de programme (11) et un second état qui indique l'utilisation de ladite unité auxiliaire de mémoire (12). 11. Système de traitement de données selon la Revendication 9, caractérisé par le fait que lesdits dispositifs d'identification (16, 17) sont désactivés pendant le transfert de groupes de signaux de données entre l'unité auxiliaire de mémoire (11) et l'unité de mémoire de données (101). 12. Système de traitement de données selon la Revendication 11, caractérisé par le fait que les adresses de ladite unité de mémoire de programme (11) correspondent aux adresses de ladite unité auxiliaire de mémoire (11). 13. Système de traitement de données selon la Revendication 12, caractérisé par le fait que les dispositifs de désactivation (22, 23, 24) comprennent des multivibrateurs du type D, une première borne de sortie (Q3) de ce multivibrateurs étant couplée à ladite unité de mémoire de programme (11), tandis qu'une seconde borne de sortie (Q3) de ces multivibrateurs est reliée à ladite unité auxiliaire de mémoire (12). 14. Procédé destiné à accrottre la capacité de stockage disponible pour des groupes de signaux de données dans le système de traitement de données suivant la Revendication 1, lequel consiste à a) fournir lesdites instructions spéciales pour permettre le transfert de groupes de signaux entre ladite unité de mémoire de programme (11) et ladite unité de mémoire de données (12); b) coupler ladite unité auxiliaire de mémoire de données (12) avec un champ d'adresses correspondant à un champ d'adresses de ladite unité de mémoire de programme (11); c) identifier lesdites instructions spéciales, et d) activer ladite unité auxiliaire de mémoire de données (12) et désactiver ladite unité de mémoire de programme (11) lorsque lesdites instructions spéciales ont été identifiées. 15. Procédé suivant la Revendication 14, caractérisé par le fait que ladite phase d'identification comprend en outre l'utilisation de moyens (16, 17) reliée à un bus de système (15) pour identifier des groupes de signaux qui sont destinés à mettre en oeuvre lesdites instructions spéciales. 16. Procédé selon la Revendication 15, caractérisé par la phase qui consiste à déclencher lesdits moyens (16, 17) à l'aide d'un signal logique prédéterminé.