Brevet FR2588397A1 — publié le 19870410

La présente invention concerne des systèmes pour optimiser la performance de microprocesseurs et plus par- ticulièrement des systèmes permettant d'améliorer l'effica- cité d'un microprocesseur accouplé à une pluralité de dis- positifs de traitement de données par l'intermédiaire d'un bus. Dans de nombreux systèmes de traitement de don- nées, il est typique d'accoupler un microprocesseur à une pluralité de dispositifs de traitement de données, comme par exemple des imprimantes, des mémoires RAM, des disques magnétiques et analogues, par l'intermédiaire d'un bus du système. Comme cela est bien connu, le microprocesseur com- prend un circuit numérique qui exécute les opérations logi- ques conformément à des signaux d'horkloge envoyés par un géné- rateur de signaux d'horloge. Le générateur de signaux d'hor- loge peut être formé par un oscillateur à quartz disposé soit sur la microplaquette même du microprocesseur, soit extérieur à la microplaquette. Le générateur de signaux d'horloge envoie des signaux numériques répétitifs cycli- ques possédant une fréquence fixe au microprocesseur. Tou- tes les opérations du microprocesseur sont synchrones avec les signaux du générateur de signaux d'horloge qui sont appliques. Bien que les opérations du microprocesseur soient commandées par la fréquence des signaux d'horloge, le temps d'acquisition pour la communication avec d'autres disposi- tifs de traitement de données accouplés au bus commun est fonction de la vitesse du dispositif particulier. Par exem- ple, bien que le microprocesseur puisse fonctionner à une vitesse maximale (par exemple 33,3 MHz) correspondant au pilotage par le signal d'horloge, d'autres dispositifs tels qu'une mémoire à accès direct (RAM), ne peuvent en général pas fonctionner à la vitesse du microprocesseur. Dans le cas o le microprocesseur envoie un ordre de lecture afin d'acquérir des données mémorisées dans une mémoire RAM ac- couplée au bus, le processeur doit en général attendre que des données valables soient envoyées aux lignes de trans- mission de données du bus par la mémoire RAM afin de per- mettre l'exécution de l'opération de transfert des données. Pendant cette période d'attente, le microprocesseur doit interrompre ses opérations pendant les cycles d'horloge né- cessaires à la mémoire RAM pour envoyer des données vala- bles au bus. D'autres dispositifs de traitement de données, tels que des disques magnétiques et analogues, imposent éga- lement au microprocesseur de retarder les opérations de trai- tement jusqu'à ce que le transfert des données soit achevé. Comme cela sera décrit, la présente invention fournit un procédé et un appareil permettant d'accroître la performance de fonctionnement d'un microprocesseur accou- plé à des dispositifs de traitement de données, qui fonc- tionnent plus lentement. Un incrément fractionnel d'un in- tervalle de temps prédéterminé peut être ajouté à des cy- cles d'horloge particuliers,de manière à retarder suffisam- ment longtemps des cycles ultérieurs pour permettre à un dispositif fonctionnant plus lentement d'exécuter l'opéra- tion demandée. Avec les vitesses actuelles de fonctionne- ment des processeurs, les économies de temps correspondant à des incréments fractionnels, permis par la présente inven- tion, sont importantes comparativement à l'attente du cycle d'horloge standard complet. La présente invention fournit un appareil et un procédé permettant d'accroître la performance de fonction- nement d'un microprocesseur (unité centrale de traitement CPU) utilisé dans un système de traitement de données accou- plé, par l'intermédiaire d'un bus, à une pluralité de dis- positifs de traitement de données. L'invention inclut un système d'automate fini branché entre la source de signaux d'horloge et l'unité CPU en vue de produire le signal d'hor- loge de l'unité CPU et d'ellonger d'un incrément fraction- nel prédéterminé les cycles prédéterminés d'horloge. Les opérations logiques utilisées par le circuit numérique si- tué dans l'unité CPU sont maintenues dans un état d'attente pendant l'intervalle de temps pendant lequel le signal d'hor- loge est allongé. Le retard induit des signaux d'horloge prédéterminésapparaît uniquement pendant les opérations met- tant en oeuvre des transmissions de signaux entre un dispo- sitif de traitement de données et l'unité CPU par l'inter- médiaire du bus. Pour les opérations internes de l'unité CPU ne mettant pas en oeuvre un accès au bus, l'unité CPU est pilotée à sa cadence maximale autorisée. Par conséquent les performances de fonctionnement de l'unité CPU sont accrues étant donné que l'unité CPU n'a pas besoin d'être maintenuependant des cycles d'horloge completsdans un état d'attente avant que le dispositif de traitement de données a fonctionnement plus lent, qui demande l'accès, exécute son opération. D'autres caractéristiques et avantages de la pré- sente invention ressortiront de la description donnée ci- après prise en référence aux dessins annexés, sur lesquels: - la figure 1 est un schéma-bloc illustrant d'une manière générale l'architecture de la présente invention; - la figure 2(a) est un diagramme de cadencement illustrant un système typique de l'art antérieur, dans le- quel les données sont envoyées à l'unité CPU aussitôt après l'achèvement d'un cycle d'horloge, ce qui entraîne le retar- dement de l'acquisition des données jusqu'au cycle suivant; et - la figure 2(b) est un diagramme de cadencement illustrant l'utilisation de la présente invention en vue d'accroitre,parincréments fractionnels, la durée de cycles d'horloge prédéterminés. On va décrire un appareil et un procédé pour ac- croître la performance de fonctionnement d'une unité cen- trale de traitement (CPU) utilisée dans un système de trai- tement de données accouplé à un bus raccordé à une plurali- té de systèmes de traitement de données. Dans la descrip- tion qui va suivre, pour l'explication on mentionne des nom- bres, durées de cycles, dispositifs de mémoire, unités CPU, etc.spécifiques afin de permettre une compréhension complè- te de la présente invention. Cependant il apparaîtra au spé- cialiste de la technique que la présente invention peut être mise en oeuvre sans ces détails spécifiques. Dans d'autres cas, on a représenté des circuits et dispositifs bien con- nus sous la forme d'un schéma-bloc afin de ne pas obscur- cir inutilement la compréhension de la présente invention. En se référant à la figure 1, on y voit repré- sentée la présente invention sous la forme d'un schéma-bloc généralisé. Une unité CPU 10 est accouplée à une pluralité de dispositifs de traitement de données DP I A... DP f N) par l'intermédiaire d'un bus 12. Les dispositifs de trai- tement de données comprennent par exemple une mémoire RAM 14 (DP f A) ainsi que d'autres dispositifs tels que des uni- tés de disques, des imprimantes et d'autres ressources de traitement de données. Une source de signaux d'horloge 16 délivre un signal numérique cyclique répétitif possédant une fréquence prédéterminée, comme cela est connu dans la technique. Dans la forme de réalisation actuellement préfé- rée, le générateur de signaux d'horloge 16 délivre des si- gnaux numériques possédant une fréquence égale à 33,333 MHz et est piloté par un oscillateur à quartz. Le signal de sor- tie de la source de signaux d'horloge 16 est accouplé à un automate fini 18 qui, comme cela sera décrit, réalise un retard du signal d'horloge du système (ligne 20) sur des cycles prédéterminés, afin de permettre une utilisation ma- ximale du temps de traitement de l'unité CPU. Bien que dans la forme de réalisation actuellement préférée, les fonc- tions de la présente invention soient assurées par un auto- mate fini disposé dans un dispositif à réseau logique pro- grammable (PAL), le spécialiste de la technique notera que l'automate fini (FSM) 18 peut comporter une variété de cir- cuits numériques utilisant différentes formes de matériel ainsi que de logiciel. L'automate fini envoie un signal d'horloge du système à l'unité CPU 10 par l'intermédiaire d'une ligne 20 de transmission du signal d'horloge du sys- tème. Comme cela est représenté, la ligne 22 de commande cyclique du bus est prévue entre l'unité CPU 10 et l'auto- mate FSM 18 de manière à permettre une communication en re- tour entre l'unité CPU 10 et l'unité FSM 18. On notera que la forme de réalisation représentée sur la figure 1 est re- présentée schématiquement et indique les signaux utilisés uniquement en rapport avec la présente invention. Cependant d'autres signaux de commande et d'autres lignes, telles que des lignes de transmission de données, des lignes de trans- mission d'adresses et analogues, ne sont pas représentées pour conserver la clarté du dessin. Bien que ceci ne soit pas décrit dans la présente description, ces autres lignes, signaux et analogues seront évidents pour un spécialiste de la technique. En se référant maintenant aux figures 1 et 2, on va décrire le fonctionnement de la présente invention. Com- me cela a été décrit précédemment, la source de signaux d'horloge 16 délivre un signal d'horloge numérique possé- dant une fréquence prédéterminée et qui pilote l'automate fini 18. Lorsque l'unité CPU 10 exécute des opérations lo- giques qui ne mettent pas en oeuvre des transferts de don- nées par l'intermédiaire du bus 12, l'unité CPU 10 fonction- ne a sa fréquence maximale. Le signal d'horloge de fréquen- ce maximale est délivré par l'unité FSM 18 par l'intermé- diaire de la ligne 20 de transmission de signaux d'horloge. Comme cela est bien connu, les microprocesseurs exécutEitdes opérations logiques conformément à des cycles complets d'hor- loge, de sorte que chaque séquence d'opérations logiques exécutées de façon interne apparaît conformément à des cy- cles d'horloge complets tels que ceux représentés sur la figure 2(a). Dans les cas o l'unité CPU 10 a accès à des dispositifs de traitement de données accouplés au bus 12 (par exemple dans un mode de lecture ou d'enregistrement), bon nombre de ces dispositifs fonctionnent à des vitesses différentes de celles des microprocesseurs. Par exemple, dans le cas o il est demandé à l'unité CPU 10 de lire des données mémorisées dans la mémoire RAM 14, l'unité CPU en- voie un ordre de lecture par l'intermédiaire du bus 12. Lors de la réception de cet ordre ainsi que d'une information d'adresse valable, la mémoire RAM 14 a accès à cette par- tie de sa mémoire et envoie les données valables dans les lignes de transmission de données dans le bus 12. L'inter- valle de temps nécessaire à la mémoire RAM 14 pour accéder aux données et répondre à l'ordre de lecture de l'unité CPU correspond d'une manière générale à une vitesse de fonc- tionnement beaucoup plus faible que la vitesse de fonction- nement du microprocesseur. Pendant l'intervalle de temps pendant lequel la mémoire RAM 14 exécute l'opération de lec- ture, l'unité CPU 10 serait maintenue, dans des systèmes de l'art antérieur, dans un état d'attente pendant un nom- bre entier de cycles d'horloge jusqu'à ce que les données valables soient envoyées aux lignes de transmission de don- nées du bus 12. Par exemple si une demande de lecture est envoyée par l'unité CPU 10 pendantladurée0 de l'impulsion d'horloge et que les données valables sont envoyées juste après la durée de l'impulsion d'horloge7, l'unité CPU 10 ne peut pas avoir accès à de telles données valables avant le cycle d'horloge entier immédiatement suivant, étant donné que le microprocesseur est incapable d'attendre pendant des fractions de périodes des signaux d'horloge (voir figure 2(a)). En se référant maintenant à la figure 2(b), on y voit représenté le fonctionnement de la présente inven- tion. Dans le cas o il est demandé à l'unité CPU 10 de com- muniquer avec des dispositifs de traitement de données ac- couplés au bus 12, un signal indicateur du cycle du bus est envoyé à la ligne 22 de transmission des cycles du bus et est reçu par l'automate FSM 18. Dans la présente forme de réalisation, l'automate FSM 18 retarde, d'un incrément frac- tionnel prédéterminé de la durée du cycle, l'état ou la du- rée de la quatrième impulsion d'horloge à partir du début du cycle d'accès au bus du système; Dans la présente forme de réalisation, l'automate FSM 18 "allonge" de 100 % l'état ou la durée de la quatrième impulsion d'horloge pendant le cycle d'accès au bus, comme cela est mieux représenté sur la figure 2(b). L'allongement de la durée de la quatrième impulsion d'horloge retarde toutes les opérations logiques internes du microprocesseur pendant une moitié supplémentai- re d'un cycle. Ainsi, bien que l'unité CPU 10 ne soit pas apte à fonctionner sur la base de fractions de périodes de signaux d'horloge, l'effet produit par la présente inven- tion consiste à retarder toutes les opérations internes du microprocesseur pendant une périoded'allongement supplémen- taire afin de permettre à des dispositifs à fonctionnement plus lent, teisque la mémoire RAM 14, d'achever l'opération demandée sur les données et de délivrer des données vala- bles dans le bus 12 pendant la durée correspondant & l'im- pulsion d'horloge 7. Du point de vue de l'unité CPU 10, cet- te dernière reçoit des données valables de la part des li- gnes de transmission de données du bus 12 à la fin de la durée de la sixième impulsion d'horloge et par conséquent ceci supprime la nécessité de maintenir l'unité CPU 10 dans un état d'attente pour des multiples entiers du cycle d'hor- loge. Par exemple, dans les opérations représentées sur la figure 2(a), en l'absence de la présente invention, l'unité CPU 10 ne serait pas à même de lire les données valables pendant la présence de l'état 8 (début de l'état 9). Cepen- dant, grâce à la mise en oeuvre du système de retardement conforme à la présente invention, les données valables sont lues par l'unité CPU 10 à la fin de l'état correspondant à l'impulsion d'horloge 6 au cours du cycle du bus. On no- tera que, bien que la présente invention soit illustrée et décrite en référence à des états ou durées particulières de l'impulsion d'horloge devant être "étirées" et en rap- port avec des dispositifs particuliers de traitement de don- nées accouplés au bus 12, la présente invention peut être utilisée d'un nombre quelconque de manières afin d'accroi- tre la performance de l'unité CPU 10. Par exemple, lors- qu'on utilise la présente invention, les états ou durée des impulsions d'horloge peuvent être étirés sur n'importe quel incrément fractionnel prédéterminé du cycle donné, et que n'importe quelle combinaison d'états ou de durées multiples des impulsions d'horloge peut être étendue, comme cela s'a- vère requis par l'application particulière et la configura- tion du système. Lorsqu'on utilise la présente invention, la per- formance du système est accrue grâce à l'élimination d'un temps système perdu de cycles d'horloge "d'état d'atten- te" de l'unité CPU. Comme cela est représenté sur les fi- gures 2(a) et 2(b), les économies de temps faites en utili- sant la présente invention peuvent être mesurées comme étant égales à la différence du nombre des cycles d'horloge pour l'achèvement d'un cycle complet du bus. Dans la présente forme de réalisation, un dispositif communiquant avec l'uni- té CPU 10 envoie un signal DSACK avant la fin du cycle du bus. Lors de la détection du signal DSACK (qui doit apparai- re au niveau d'un bord négatif), l'unité CPU 10 s'attend à recevoir toutes les données valables devant être présen- tes dans les lignes, un cycle d'horloge plus tard. Comme représenté sur les figures, la présente invention permet d'achever plus rapidement le cycle du bus et par conséquent rend maximale la performance de fonctionnement du système. Par conséquent on a décrit un appareil et un pro- cédé permettant d'accroître la performance de fonctionne- ment d'une unité centrale de traitement utilisée dans le système de traitement de données accouplé par l'intermédiai- re d'un bus ou une pluralité de dispositifs de traitement de données. Etant donné que la vitesse des processeurs aug- mente, on notera que les avantages de la présente invention deviennent plus prononcés. Etant donné que la présente in- vention a été décrite de façon particulière en référence a la forme de réalisation représentée sur les figures 1 et 2, un spécialiste moyen de la technique peut envisager d'ap- porter bon nombre de modifications et d'utiliser différents matériaux, durées de cycles et architectures, sans pour au- tant sortir du cadre de l'invention. REVENDICATIONS 1. Appareil permettant d'accroître la performan- ce de fonctionnement d'une unité centrale de traitement CPU (10) utilisée dans un système de traitement de données ac- couplé à une pluralité de dispositifs de traitement de don- nées (DP 4 A,. DP 4 N), caractérisé en ce qu'il comporte - des moyens formant horloge de cadencement (16) servant à produire un signal numérique cyclique répétitif possédant une fréquence prédéterminée,..CLMF: - des moyens de retardement (18) accouplés aux- dits moyens formant horloge de cadencement (16) et à ladite unité CPU (10) de manière à allonger des cycles prédéterminés desdits signaux numériques cycliques produits par lesdits moyens formant horloge de cadencement (16), et ce d'un incrément fractionnel prédéterminé des- dits signaux, de telle sorte que les opérations logiques exécutées par ledit circuit numnrique dans ladite unité CPU sont bloquées en suspens pendant l'intervalle detemps pendant lequel lesdits signaux sontallongés, lesdits moyens de retardement (18) allongeant lesdits signaux prédéterminés uniquement pendant des opérations mettant en oeuvre des transmissions de si- gnaux entre un dispositif de transmission de données et la- dite unité CPU, ce qui permet d'accroître la performance de cette unité. 2. Appareil selon la revendication 1, caractéri- sé en ce que lesdits moyens formant horloge de cadencement (16) produisent des signaux à une fréquence de 33,3 MHz. 3. Appareil selon la revendication 1, caractéri- sé en ce que ladite unité CPU (10) est constituée par une unité connue sous la désignation Motorola 68020. 4. Appareil selon la revendication 1, caractéri- sé en ce que ledit incrément fractionnel est égal à la moi- tié d'un cycle d'horloge produit par lesdits moyens (16). formant horloge de cadencement (16). 5. Appareil selon la revendication 4, caractéri- sé en ce qu'au moins un desdits dispositifs de traitement de donnée (DP f A..., DP N) inclut une mémoire numérique. 6. Appareil selon la revendication 5, caractéri- sé en ce que ladite unité CPU (10) et ledit dispositif de traitement de données (DP # A,... DP + N) sont accouplés à un bus (12) et qu'un cycle du bus inclut en général huit états ou durées d'impulsions d'horloge. 7. Procédé pour accroître la performance de fonc- tionnement d'une unité CPU (10) située dans un système de traitement de données comprenant ladite unité CPU accouplée à une pluralité de dispositif de traitement de données (DP t A,... DP t N), caractérisé en ce qu'il inclutles phases opératoiresconsistant à: - produire un signal numérique cyclique répéti- tif possédant une fréquence prédéterminée, - allonger des cycles prédéterminés desdits si- gnaux numériques cycliques, d'un incrément fractionnel pré- déterminé desdits signaux, de telle sorte que les opérations logiques exécutées par le circuit numérique dans ladite uni- té CPU sont bloquées en suspens pour l'intervalle de temps pendant lequel lesdits signaux sont allongés, lesdits signaux étant étendus uniquement pendant des opérations mettant en oeuvre des transmissions de signaux entre un dispositif de traitement de données et ladite unité CPU, et envoyer lesdits signaux numériques cycliques à ladite unité CPU, ce qui permet d'accroître la performan- ce de fonctionnement de cette unité CPU. 8. Procédé selon la revendication 7, caractérisé en ce que lesdits signaux numériques cycliques sont produits à une fréquence de 16,67 MHz. 9. Procédé selon la revendication 7, caractérisé en ce que ladite unité CPU (10) est constituée par une uni- té connue sous la désignation Motorola 68020. 10. Procédé selon la revendication 7, caractéri- sé en ce que ledit incrément fractionnel est égal à la moi- tié d'un cycle d'horloge produit par des moyens (16) for- mant horloge de cadencement. 11. Procédé selon la revendication 10, caracté- risé en ce qu'au moins l'un desdits dispositifs de traite- ment de données inclut une mémoire numérique. 12. Procédé selon la revendication 11, caracté- risé en ce que ladite unité CPU (10) et lesdits dispositifs de traitement de données (DP * A,..., DP f N) sont accou- plés à un bus (12), un cycle du bus comprenant d'une maniè- re générale huit états ou durées d'impulsions d'horloge.