Brevet FR2681706A1 — publié le 19930326

La présente invention concerne un dispositif de couplage de bus pour système informatique comportant plusieurs bus reliés entre eux, qui permet en particulier l'amélioration des performances de systemes informatiques et calculateurs industriels à bus dit "en fond de panier. Les délais d'accès entre deux circuits intégrés connectés à deux bus différents eux mêmes interconnectés par un bus "en fond de panier" sont actuellement beaucoup plus longs que s'ils étaient connectés au même bus. Les trois bus étant utilisés pendant ces délais, les autres circuits connectes à ces bus ne peuvent pas fonctionner, ce qui ralentit le fonctionnement de l'ensemble du système informatique. La présente invention a pour but de permettre de ne pas occuper le bus auquel est connecté le circuit effectuant la demande d'accès pendant la durée totale de l'accès, en améliorant ainsi les performances globales d'un système à multiples bus, tout en évitant les blocages qui se produisent dans les systèmes complexes comportant plusieurs bus. La présente invention a également pour but de permettre l'extension de calculateurs sur double bus fond de panier comportant chacun seize bits de données, ces systèmes etant plus performants que ceux réalisés sur un bus à seize et même trente-deux bits. A cet effet, la présente invention a pour objet un dispositif de couplage entre un bus local et un bus externe caractérisé en ce qu'il comporte une mémoire qui, pour chaque signal de demande d'accès au bus externe arrivant sur le bus local, est adaptée à mémoriser les informations concernant cette demande d'accès, en ce qu'il est susceptible d'activer un signal d'arrêt de l'émission desdites informations sur le bus local, et en ce qu'il réalise l'accès au bus externe avec lesdites informations mémorisées et, dès que l'accès est terminé sur le bus externe, il désactive ledit signal d'arrêt et émet sur le bus local des informations d'acquittement de cet accès. La description qui va suivre, faite en regard du dessin annexé dans un but explicatif et nullement limitatif, permettra de mieux comprendre les avantages, buts et caractéristiques de la présente invention. Dans le dessin annexé - la figure 1 représente un schéma d'architecture d'un système dans lequel est incorporé un dispositif selon l'invention. - la figure 2 représente un schéma d'architecture d'une carte processeur-mémoire pouvant être incorporée dans l'architecture présentée dans la figure 1 et comportant le dispositif selon l'invention. - la figure 3 représente un dispositif de couplage selon l'invention incorporé dans les systèmes représentées aux figures 1 et 2. Si on se réfère d'abord à la figure 1, on voit sur cette figure l'architecture d'un système informatique 1 comprenant deux cartes processeur-mémoire 2 et 3, comportant chacune deux dispositifs de couplage 4 et 5 les reliant à deux bus externes 6 et 7. Le bus externe 6 est relié à deux cartes d'entrees-sorties 8 et 9, et le bus externe 7 à deux cartes d'entrées-sorties 10 et 11. L'architecture du calculateur 1 est symétrique, mais les bus externes 6 et 7 peuvent être identiques ou différents et leurs protocoles d'utilisation également identiques ou differents. Les moyens de couplage 4 et 5 sont decrits en détail ci-après, à l'appui de la figure 3. Les cartes processeurs-mémoire 2 et 3 comportent chacune au moins une unité centrale de traitement, communément appelée CPU, et une mémoire. Un mode de réalisation de ces cartes processeurs-mémoires 2 et 3 est represente à la figure 2. Les cartes d'entrées-sorties 8, 9, 10 et 11 peuvent être, par exemple, des cartes contrôleurs d'entrées analogiques, des cartes contrôleur d'entrées-sorties "tout ou rien'l, des unites d'acquisition de signal ou d'images, des unités de stockage de programmes et de données. Si on se réfère à la figure 2 on voit que la carte processeur-mémoire 2 comporte les deux dispositifs de couplage 4 et 5 la reliant aux bus externes 6 et 7, une mémoire locale 12, un circuit intégré à microprocesseur 13, un circuit intégré d'accès direct à la mémoire 14, un contrôleur 15 de deux lignes series connectées à des terminaux 16 et 17, un contrôleur 18 d'une ligne spécialisée pour la connexion de disques 19 et 20 et d'un lecteur de bandes magnétiques 21, un contrôleur 22 de réseau local 23 comportant deux terminaux 24 et 25. Les moyens de couplage 4 et 5, la mémoire 12, le circuit integre à microprocesseur 13, le contrôleur de ligne série 15, le contrôleur de ligne spécialisée 18 et le contrôleur de réseau local 22 sont reliés entre eux par un bus local 26 supportant les échanges entre ces éléments. Il est à noter que le circuit intégré accès direct à la mémoire 14 est communément appelé DMA, initiales des mots "direct memory access" qui le désignent en anglais. Lorsque le circuit intégré à microprocesseur 13 et le circuit intégré d'accès direct à la mémoire 14 n'utilisent que le bus local 26, leurs performances sont proches des limites théoriques. Par contre, lorsqu'un accès à un circuit connecté aux bus externes 6 ou 7 doit être effectué, plusieurs délais sont imposés - d'une part, et de manière prépondérante, une phase d'arbitrage d'acces au bus externe 6 ou 7, d'autant plus longue que ledit bus est souvent utilisé. - d'autre part le délai de transfert des données sur ledit bus, souvent beaucoup plus court que le précédent. Le dispositif selon l'invention permet, en libérant le bus local 26 des signaux de demande d'accès, que ces délais n'entraînent pas une impossibilité d'utilisation de ce bus local 26. Il permet également d'éviter les interblocages entre les demandes d'accès aux bus effectués par des circuits connectés à des bus différents. A cet effet, et conformement à l'invention, les moyens de couplage 4 et 5 utilisent des signaux de retrait. Ainsi, lorsque l'un des circuits intégres 13 ou 14 effectue une demande d'accès à un des bus externes 6 ou 7, il émet sous forme de signaux, sur le bus local 26, des informations correspondant aux parametres de cette demande d'accès. Le moyen de couplage 4 ou 5 concerné effectue la mémorisation de ces paramètres et émet un signal de retrait des informations emises par le circuit intégré 13 ou 14 qui a effectué la demande d'accès. Ce signal de retrait est émis sur une liaison du bus 26 directement connectée, pour chacun des circuits intégrés 13 ou 14, à une entrée de signal de retrait. Cette demande de retrait permet de libérer le bus local 26 des signaux de demande d'accès. La mémorisation du signal de demande d'accès effectuée par le moyen de couplage 4 ou 5 lui permet, sur le bus externe 6 ou 7, de poursuivre la demande d'accès, avec les mêmes paramètres que ceux utilisés par le circuit demandant effectivement l'acces. Des que l'accès sur le bus externe 6 ou 7 est terminé, le moyen de couplage 4 ou 5 relâche le signal de retrait et transmet au circuit intégré 13 ou 14 les informations d'acquittement de telle manière que l'accès demandé est terminé rapidement sur le bus local 26. De cette manière, le bus local 26 ne porte pas les signaux de demande d'acces pendant les délais d'attente de cet accès. A titre d'exemple, lorsque le circuit intégré d'accès direct à la mémoire 14 effectue une demande d'accès sur un bus externe 6, en émettant un signal sur le bus local 26, le circuit de couplage 4 reconnaît que ce signal correspond à une demande d'accès au bus externe 6. Simultanément, le circuit de couplage 4 mémorise ce signal et les informations associées à cette demande d'accès. Ces informations correspondent à l'ensemble des informations nécessaires à l'exécution de l'acces au bus externe 6. Le circuit de couplage 4 envoie une demande d'arbitrage sur le bus externe 6 en utilisant ces informations et émet simultanément sur le bus local 26 un signal de retrait vers le circuit intégre d'accès direct à la mémoire 14, qui retire l'ensemble des signaux qu'il émettait sur le bus local 26. A ce moment, le circuit intégre à microprocesseur 13 ou l'un des moyens de couplages 4 ou 5 peuvent accéder au bus local 26 et, par exemple, à la mémoire locale 12. De cette manière, il y a élimination des interblocages et des attentes générées par les demandes d'accès dans les systemes informatiques actuellement connus. Lorsque le circuit de couplage 4 reçoit du bus externe 6 l'acquittement de l'accès, et si le bus local 26 est libre, il désactive le signal de retrait pour le circuit intégré d'accès direct à la mémoire 14. Le circuit 14 reprend alors son cycle d'accès au bus externe 6 et revoit immédiatement du circuit de couplage 4 l'acquittement d'accès. Si, pendant l'acces du circuit intégré d'acces direct à la mémoire 14, le circuit intégré à microprocesseur 13 émet un signal de demande d'accès au bus externe 6, le fonctionnement du circuit de couplage 4 envers le circuit intégré à microprocesseur 13 est identique à celui décrit pour le circuit integre d'accès direct à la mémoire 14. A cet effet, et comme représenté en figure 3, la mémoire incorporée au circuit de couplage 4 est de type "premier enture, premier sorti", plus connu sous le nom de "FIFO", initiales de sa désignation anglaise "first in, first out". Si on se refere maintenant à la figure 3, on voit sur cette figure le bus externe 7 et le bus local 26 auxquels est relié le moyen de couplage 5 comportant une première mémoire "premier entré, premier sorti" 27, une seconde mémoire "premier entré, premier sorti" 28, un moyen 29 d'accès à la mémoire locale 12 et de pilotage des memoires 27 et 28, par l'intermédiaire de liaisons électriques 30. Le moyen d'accès et de pilotage 29 est d'une part adapté à piloter le fonctionnement des mémoires 27 et 28 comme décrit ci-dessous, de manière synchronisée avec les signaux transitant sur les bus local 26 et externe 7, d'autre part à effectuer des accès à la mémoire locale 12, et d'autre part encore à transférer sur les bus local 26 et externe 7, et selon leurs protocoles respectifs, des informations et des signaux lui parvenant. Un tel moyen 29 est connu de l'homme de l'art et réalisable en fonction du fonctionnement exposé ci-après. Il comporte notamment un circuit électronique réalisant les protocoles de communication des bus local 26 et externe 7. La première mémoire 27 conserve les informations nécessaires à l'exécution de l'accès sur le bus externe 7. Ces informations peuvent notamment concerner l'adresse, les signaux de commande, la donnée en demande d'écriture et elles sont données par le bus local 26. La seconde mémoire 28 conserve les informations d'acquittement transmises par le bus externe 7 en réponse au transfert d'informations au cours de l'accès d'une carte connectée au bus externe 7, une fois ce transfert effectué, informations concernant notamment la donnée en lecture et les signaux de validité du transfert. La première mémoire 27 possède une profondeur égale au nombre total de circuits intégres à microprocesseur 13 ou d'accès direct à la mémoire 14, ce nombre étant egal à deux dans le circuit représenté à la figure 2. La seconde mémoire 28 possède une profondeur de un, compte tenu de la vitesse d'accès au bus local 26. Cependant, en variante, et pour permettre le transfert de blocs de donnees, ces profondeurs peuvent être augmentées, la profondeur d'une mémoire "premier entré, premier sorti" étant égale, on le sait, au nombre de mots d'informations binaires qui peuvent être conserves simultanément. Le signal de retrait de la carte demandant l'accès est génére par le moyen d'accès et de pilotage 29, dès que les informations concernant la demande d' acces sont mémorisées dans la première memoire 27. Selon une variante de l'invention, le dispositif de couplage n'utilise qu'un seul signal de retrait pour tous les circuits pouvant réaliser une demande d'accès, ici les circuits intégres 13 et 14. Cette variante est notamment intéressante pour connecter plusieurs bus externes 6 et 7 de type bus fond de panier à l'aide d'un bus local 26 de type en nappe. Selon cette variante, le signal de retrait n'est activé que s'il arrive au bus local 26, pendant la demande d'accès en cours, une autre demande d'accès effectuée par un des moyens de couplage 4 ou 6 ou par un des circuits intégrés 13 ou 14. Cette variante permet une amélioration des performances, dans le cas où le bus externe 6 ou 7 répond rapidement et où aucun circuit n'utilise le bus local 26. A titre d'exemple, une première demande d'accès au bus externe 7 ayant été effectuée par le circuit intégré à microprocesseur 13, lorsqu'une demande d'accès à la memoire locale 12 est effectuée par le circuit intégre d'accès direct à la mémoire 14, le signal de retrait est activé par le moyen de couplage 5, le circuit intégré à microprocesseur 13 se retire et le circuit intégré d'accès direct à la mémoire 14 utilise le bus local 26 et le signal de retrait est relâche par le moyen de couplage 5. Dès que cette utilisation est achevee, le circuit intégré à microprocesseur 13 redispose du bus local 26 et le moyen de couplage 5 ne reprend pas en compte une seconde fois la demande d'accès répétée par le circuit intégre à microprocesseur 13. Egalement à titre d'exemple, une première demande d'accès au bus externe 7 ayant eté effectuée par le circuit intégré à microprocesseur 13, lorsqu'une demande d'accès au bus externe 7 est effectuée par le circuit intégré d'accès direct à la mémoire 14, le signal de retrait est activé par le moyen de couplage 5, le circuit intégré d'accès direct à la mémoire 14 se retire de telle manière que l'ordre des demandes d'acces est conservé par le moyen de couplage 5. Les moyens de couplage 4 et 5 decrits ci-dessus utilisés dans des architectures de systèmes informatiques à plusieurs unités présentent de nombreux avantages. D'une part, ces architectures sont' utilisables avec la majorité des circuits intégrés à microprocesseur 13 et des circuits intégrés d'acces direct à la mémoire 14, utilisant un signal de retrait. D'autre part, les problèmes d'interblocages sont solutionnés. Par ailleurs, les performances de ces architectures sont très élevees. En effet, les signaux de retrait permettant la libération du bus local 26, le dispositif selon l'invention assure un accès pratiquement immédiat à la mémoire locale 12. Cet avantage est très important dans les applications en temps reel, pour lesquels les délais de transfert doivent être garantis. REVENDICATIONS 1) Dispositif de couplage (5) entre un bus local (26) et un bus externe (7) d'un système informatique, caractérisé en ce qu'il comporte une mémoire (27) qui, pour chaque signal de demande d'accès au bus externe (7) arrivant sur le bus local (26), est adaptée à mémoriser les informations concernant cette demande d'accès, en ce qu'il est susceptible d'activer un signal d'arrêt de l'émission desdites informations sur ledit bus local (26), en ce qu'il réalise l'accès au bus externe (7) avec lesdites informations memorisees et, dès que l'accès est terminé sur le bus externe (7), il desactive ledit signal d'arrêt et émet sur ledit bus local (26) des informations d'acquittement de cet accès. 2) Dispositif selon la revendication 1, caractérisé en ce qu'il est adapté à commander à tous les circuits intégrés (13, 14) pouvant émettre un signal de demande d'accès l'arrêt de l'émission dudit signal de demande d'accès au bus externe (7), en utilisant un signal de retrait commun auxdits circuits intégrés (13, 14), de manière que le bus local (26) soit libéré desdits signaux de demande d'accès. 3) Dispositif selon la revendication 2, caractérisé en ce que le signal de retrait commun est émis sur une liaison du bus directement connectée, pour chacun des circuits intégrés (13, 14), à une entrée de signal de retrait 4) Dispositif selon l'une quelconque des revendications précédentes caractérisé en ce qu'il est adapté à commander aux circuits intégrés à microprocesseur (13) ou d'accès direct à la mémoire (14) l'arrêt de l'émission du signal de demande d'accès au bus externe (7), en utilisant un signal de retrait différent pour chacun desdits circuits integrés (13, 14) de telle manière que le bus local (26) soit libéré. 5) Dispositif selon la revendication 4, caractérisé en ce que le signal de retrait est émis sur une liaison du bus directement connectée, pour chacun des circuits intégrés (13, 14), à une entrée de signal de retrait. 6) Dispositif selon la revendication 1, caractérisé en ce qu' il comporte en outre une seconde mémoire (28) adaptée à mémoriser les signaux d'acquittement provenant du bus externe (7) en réponse à l'accès, de manière à emettre ces signaux sur le bus local (26). 7) Dispositif selon l'une des revendications 1 ou 6, caractérisé en ce que la ou les mémoires (27, 28) sont de type "premier entré, premier sorti". 8) Dispositif selon la revendication 7, caractérisé en ce qu'il comporte en outre un circuit de pilotage (29) des mémoires (27, 28). 9) Dispositif selon la revendication 8, caractérisé en ce que le circuit de pilotage (29) est adapté à réaliser un accès à une mémoire locale (12). 10) Dispositif selon la revendication 8, caractérisé en ce que ledit circuit de pilotage (29) des memoires (27, 28) permet le transfert d'informations entre le bus local (26) et le bus externe (7), en réalisant les protocoles de fonctionnement de ces bus.