Brevet FR2824647A1 — publié le 20021115

La présente invention concerne le décodage d'adresses de mémoire pour bus d'interconnexions de composants périphériques (PCI). Un bus d'interconnexions PCI est habituellement utilisé pour connecter une unité centrale de traitement (CPU) à des composants périphériques, par exemple un adaptateur graphique ou un appareil périphérique audio. L'architecture du bus d'interconnexions PCI a été développée par la société Intel pour réaliser un transfert efficace de données en direction de composants périphériques et entre de tels composants et est adoptée en tant qu'architecture standard. Le standard d'interconnexions PCI est révisé périodiquement, par exemple pour accroître la vitesse autorisée de fonctionnement. L'architecture d'interconnexions PCI fournit trois espaces adressables séparément. Il s'agit d'un espace de configuration, d'un espace d'entrée/sortie (espace 10) et d'un espace de mémoire. Chaque composant ou dispositif à interconnexions PCI requiert que des régions de mémoire et/ou un espace 10 lui soient affectés exclusivement de manière à lui permettre d'assumer sa fonction prévue. Cette affectation est placée sous la responsabilité du logiciel d'initialisation du système, qui agit dans un contrôleur du système, souvent désigné comme étant le "système central"; Chaque dispositif à interconnexions PCI occupe une région fixe d'un espace de configuration et dans cette région utilise un ensemble de registres, désigné comme étant l'en-tête de configuration du dispositif. Les contenus de certains de ces registres sont préprogrammés pendant le fonctionnement du dispositif avec différents attributs du dispositif, par exemple le vendeur et le type de dispositif, en particulier la quantité de mémoire et l'espace I/O requis par le dispositif pour exécuter sa fonction de post-initialisation. L'agencement des registres dans l'entête de configuration de chaque dispositif est défini par la spécification d'interconnexions PCI, tandis que la plate-forme matérielle interconnectant le système central aux dispositifs à interconnexions PCI forme un système câblé garantissant que chaque en-tête de configuration est situé à une adresse différente dans l'espace de configuration d'interconnexions PCI. Ceci permet au système central d'adresser aisément tout registre dans l'en-tête de configuration de n'importe quel dispositif dès la mise sous tension du système, par exemple lors du démarrage le système central est capable de déterminer quels dispositifs à interconnexions PCI sont présents, par exploration de toutes les adresses d'espaces de configuration possibles. L'espace de mémoire et/ou l'espace 10, qui est nécessaire à un dispositif à interconnexions PCI pour lui permettre d'effectuer sa fonction, est spécifié dans des registres d'adresses de base (BAR) situés dans l'en-tête de configuration. Le dispositif d'interconnexions PCI peut comporter jusqu'à 6 registres BAR séparés. Le nombre de registres BAR dépend du nombre de zones séparées de l'espace de mémoire et/ou de l'espace 10, qui sont requises par le dispositif. Chaque registre BAR définit la taille et les attributs d'une région demandée de mémoire et/ou de l'espace 10. Pendant l'initialisation du système, le système central lit le contenu du registre BAR et détermine l'endroit où il faut situer l'espace de mémoire demandé et/ou l'espace 10 demandé, en tenant compte des exigences d'autres dispositifs. Le système central écrit ensuite dans chaque registre BAR l'adresse de base de l'espace de mémoire et/ou l'espace 10 affecté en réponse à la demande provenant de ce registre BAR. Le dispositif à interconnexions PCI n'exerce aucune commande ni aucune influence sur l'adresse de base allouée. Pour simplifier la réalisation du registre BAR, la spécification d'interconnexions PCI spécifie que l'espace de mémoire 10 puisse seulement être requis dans des tailles modulo 2, c'est-à-dire 4 KB, 8 KB, 16 KB, etc., et que l'adresse de base affectée doit être alignée sur la taille demandée de l'espace (par exemple si 2 MB sont requis, l'adresse de mémoire allouée se situe sur une limite à 2 MB). Les ressources affectées ne peuvent pas se chevaucher entre le dispositif à interconnexions PCI (c'est-à-dire que les ressources utilisées par tous les dispositifs dans le système doivent être mutuellement exclusives). Le nombre de dispositifs à interconnexions PCI, qui peuvent être connectés à un bus d'interconnexions PCI, est limité par la spécification d'interconnexions PCI de manière à garantir la performance électrique du bus. Pour supprimer cette limitation, on a développé un pont d'interconnexions PCI-PCI. Le pont d'interconnexions PCI-PCI est un dispositif matériel (plaquette) qui forme un pont logiquement transparent entre les deux segments "de bus d'interconnexions PCI séparés électriquement". Un système à interconnexions PCI de grande taille peut comporter de nombreux segments et, dans certains cas, plus d'un niveau de ponts (c'est-à-dire qu'un pont est connecté à un segment de bus auquel est rattaché un autre pont qui comporte luimême un pont qui lui-même est raccordé à un autre pont raccordé à un autre segment de bus, etc.). Un système d'interconnexions PCI comprenant plusieurs segments supporte un grand nombre de dispositifs à interconnexions PCI, dont chacun peut nécessiter un espace 10 et/ou un espace de mémoire. La quantité totale d'espaces de mémoire/IO disponible est limitée par la gamme d'adressages du bus d'interconnexions PCI lui-même. Dans un système étendu contenant de nombreux dispositifs PCI, qui requièrent chacun des quantités importantes d'espaces de mémoire/d'espaces 10, la quantité totale d'espace de mémoire/IO devant être affectée peut commencer à se rappro- cher de l'espace maximum disponible. Une autre complication apparaît dans le fait que les ponts d'interconnexions PCI-PCI eux-mêmes, bien que ne requérant pas de ressources pour leur propre utilisation (étant donné qu'elles n'effectuent aucune fonction autre qu'une interconnexion) doivent fournir des "fenêtres" pour permettre les transactions de manière à lire les dispositifs à interconnexions PCI, sur lesquels elles établissent un pont. Cela signifie que les ponts d'interconnexions PCIPCI eux-mêmes doivent inclure des registres BAR pour les espaces 10 et les espaces de mémoire. De la même manière que les ressources affectées à chaque dispositif d'interconnexions PCI ne peuvent pas se chevaucher, chaque pont d'interconnexions PCI-PCI peut seulement "fenêtrer" une région unique de chaque espace de données. Les contraintes du standard d'interconnexions PCI peuvent conduire à un problème d'adressage de mémoire lorsqu'on utilise un pont d'interconnexions PCI-PCI. Chaque pont d'interconnexions PCI-PCI comporte uniquement un seul registre BAR pour définir la fenêtre qui s'ouvre dans l'espace de mémoire. Cela signifie qu'une quantité importante d'espace de mémoire est perdue lorsque deux dispositifs à interconnexions PCI, qui requièrent des tailles très différentes de ressources sont situés tous deux en arrière d'un pont d'interconnexions PCI-PCI. Par exemple un premier dispositif à interconnexions PCI, qui requiert une quantité 1 MB d'espace de mémoire et un second dispositif à interconnexions PCI, qui requiert 64 MB d'espace de mémoire, peuvent être situés en arrière d'un pont d'interconnexions PCI-PCI. Le pont d'interconnexions PCI-PCI possède un seul registre BAR pour définir la fenêtre qu'il ouvre dans l'espace de mémoire. Etant donné que le registre BAR dans le pont d'interconnexions PCI-PCI peut seulement demander des tailles modulo 2 de mémoire, il doit demander 128 MB pour couvrir les 65 MB requis. Aucun autre dispositif ne peut chevaucher cette fenêtre de 128MB, et les 63 MB non utilisés sont effectivement perdus pour le système sauf si d'autres dispositif PCI peuvent être situés derrière le pont pour utiliser une partie de l'espace de mémoire (dans de nombreux cas ceci peut ne pas être possible en raison de l'absence de fentes disponibles ou d'autres contraintes du système). Dans un système étendu comportant plusieurs agencements de ce type de dispositifs de ponts d'interconnexions PCI-PCI et de dispositifs à interconnexions PCI, cette perte d'espace de mémoire utilisable peut finalement conduire à l'occupation de l'ensemble de l'espace de mémoire, ce qui empêche l'addition dans le dispositif d'interconnexions PCI au système. Un but de la présente invention est de supprimer cette limitation. Selon un premier aspect de l'invention, il est prévu un système d'adressage de mémoire pour bus d'interconnexions de composants périphériques (PCI), caractérisé en ce qu'il comporte un décodeur d'adresses de mémoire et des moyens de débranchement connectés à un bus PCI d'interconnexions PCI, les moyens de débranchement étant agencés de manière à déconnecter un ou plusieurs signaux du bus d'interconnexions PCI d'un premier dispositif à interconnexions PCI, et que le décodeur d'adresses de mémoire est agencé de manière à activer sélectivement les moyens de débranchement de telle sorte qu'une adresse, qui se situe dans une gamme d'adresses identifiées dans un registre d'adresses de base du premier dispositif d'interconnexions PCI et dans un registre d'adresses de base d'un second dispositif à interconnexions PCI, est reçue par le second dispositif à interconnexions PCI, mais pas par le premier dispositif à interconnexions PCI. L'invention permet également d'affecter des adresses de chevauchement à des registres d'adresses de base des premier et second dispositifs à interconnexions PCI. Ceci est particulièrement utile lorsque les gammes d'adresses des premier et second dispositifs à interconnexions PCI ont des tailles très différentes et que les dispositifs sont tous deux situés en arrière d'un pont d'interconnexions PCI-PCI qui comporte seulement un registre d'adresses de base, étant donné que ceci évite que le pont d'interconnexions PCI-PCI n'affecte une gamme d'adresses de mémoire qui est nettement supérieure à la somme des gammes d'adresses de mémoire requises par les premier et second dispositifs à interconnexions PCI. De façon appropriée, les moyens de débranchement comprennent un interrupteur agencé de manière à déconnecter le signal PCI~FRAME* du premier dispositif à interconnexions PCI. De façon appropriée, l'interrupteur est fermé lorsqu'aucune transaction de données n'est exécutée, l'interrupteur étant ouvert lorsque le décodeur d'adresses de mémoire décode une adresse qui se situe dans la gamme d'adresses identifiée à la fois dans le registre d'adresses de base du premier dispositif à interconnexions PCI et dans le registre d'adresses de base du second dispositif à interconnexions PCI. De façon appropriée, l'interrupteur reste ouvert pendant une transaction avec le second dispositif à interconnexions PCI, et est fermé lorsque cette transaction s'achève. De façon appropriée, l'interrupteur est un interrupteur à retardement zéro et le décodeur d'adresses de mémoire est agencé de manière à décoder une adresse et à ouvrir l'interrupteur avant une incrémentation d'horloge, qui intervient immédiatement à la suite du signal d'adresse. De façon appropriée, les moyens de débranchement comprennent un interrupteur agencé de manière à déconnecter le signal PCI~FRAME*, le signal PCI~AD [31... 0] et d'autres signaux de commande provenant du premier dispositif à interconnexions PCI. De façon appropriée, l'interrupteur est ouvert lorsque aucune transaction de données ne s'effectue, l'interrupteur étant fermé lorsque le décodeur d'adresses de mémoire décode une adresse qui se situe dans la gamme d'adresses identifiée dans le registre d'adresses de base du premier dispositif à interconnexions PCI et qui ne se situe pas dans le registre d'adresses de base du second dispositif à interconnexions PCI. De façon appropriée, en plus de l'ouverture de l'interrupteur, le décodeur d'adresses de mémoire transfère l'adresse PCI~FRAME* et d'autres signaux de commande au premier dispositif à interconnexions PCI. De façon appropriée, l'adresse, le signal PCI~FRAME* et d'autres signaux de commande sont transférés au premier dispositif à interconnexions PCI après l'incrémentation d'horloge qui suit immédiatement le signal d'adresse. De façon appropriée, l'interrupteur reste fermé jusqu'à ce que la transaction avec le premier dispositif à interconnexions PCI soit terminée, à la suite de quoi l'interrupteur est ouvert. De façon appropriée, l'interrupteur est un interrupteur à 39 bits. De façon appropriée, l'interrupteur est un interrupteur à retard zéro. De façon appropriée, les autres signaux de commande incluent au moins les signaux PCI~IRDY*, PCI PAR et PCI~CBE[3...0]*. De façon appropriée, les premier et second dispositifs à interconnexions PCI, les moyens de décodage d'adresses de mémoire, l'interrupteur et le bus d'interconnexions PCI sont tous situés derrière un pont PCI-PCI. De façon appropriée, le décodeur d'adresses de mémoire est programmable et est programmé avec des gammes d'adresses allouées pour les premier et second dispositifs à interconnexions PCI. Conformément à un second aspect de l'invention, il est prévu un procédé d'adressage de mémoire pour bus d'interconnexions PCI comprenant la détermination des exigences d'espace de mémoire d'un premier dispositif d'interconnexions PCI et d'un second dispositif à interconnexions PCI connectés à un bus d'interconnexions PCI, la limitation des sources de mémoire utilisées par le premier dispositif à interconnexions PCI et l'affectation de la gamme d'adresses de l'espace de mémoire économisé résultant au second dispositif à interconnexions PCI, ce procédé comprend en outre la connexion d'un décodeur d'adresses de mémoire et de moyens de débranchement aux bus d'interconnexions PCI, le décodeur d'adresses de mémoire étant agencé de manière à activer sélectivement les moyens de débranchement de telle sorte qu'une adresse qui se situe dans une gamme d'adresses identifiées dans un registre d'adresses de base du premier dispositif à interconnexions PCI et dans un registre d'adresses de base d'un second dispositif à interconnexions PCI, est reçue par le second dispositif à interconnexions PCI, mais pas par le premier dispositif à interconnexions PCI. Le procédé peut incorporer toutes les caractéristiques mentionnées précédemment du premier aspect de l'invention. D'autres caractéristiques et avantages de la présente invention ressortiront de la description donnée ciaprès prise en référence aux dessins annexés, sur lesquels : - la figure 1 est une illustration schématique d'une première forme de réalisation de l'invention; - la figure 2 montre une illustration graphique du fonctionnement de la première forme de réalisation de l'invention; - la figure 3 montre une illustration graphique d'une seconde forme de réalisation de l'invention ; - la figure 4 montre une illustration schématique d'une forme de réalisation de la seconde forme de réalisation de l'invention. En référence à la figure 1, deux dispositifs, à savoir le dispositif A et le dispositif B, sont connectés à un bus d'interconnexions PCI désigné d'une manière générale par la référence 1. Le bus d'interconnexions PCI n'est pas représenté complètement, mais au lieu de cela seuls des composants spécifiques du bus d'interconnexions PCI sont représentés : PCI~FRAME* 2 et PCI~AD[31...0] 3. PCI~FRAME* est un signal qui indique qu'une transaction est sur le point de se produire ou est déjà en cours. PCI~AD[31...0] est un signal qui indique l'adresse du destinataire prévu d'une transaction pendant un premier cycle de cette transaction et véhicule des données pendant des cycles suivants de la transaction. Le bus d'interconnexions PCI 1 est situé en arrière d'un pont d'interconnexions PCI-PCI 4. Le dispositif A requiert 1 MB d'espace de mémoire et le dispositif B requiert 64 MB de l'espace de mémoire. Ces exigences sont indiquées dans les registres de base (BAR) des dispositifs. Le pont d'interconnexions PCI-PCI comporte un seul registre BAR pour définir la fenêtre qui est ouverte dans l'espace de mémoire. De façon typique, il est établi que le dispositif B ne requiert pas 64 MB de mémoire et en réalité fonctionne correctement avec seulement 63 MB de mémoire. C'est pourquoi le dispositif B est forcé de demander (par l'intermédiaire de ces registres BAR) un espace de mémoire plus important que ce dont il a réellement besoin en tant que conséquence de la limitation de l'espace de mémoire modulo 2 mentionnée précédemment. Le dispositif B peut être une unité centrale CPU. Lorsque c'est le cas, la limitation de la quantité de l'espace de mémoire affectée a pour effet de rendre une partie de la mémoire de l'unité centrale CPU invisible à partir de l'interconnexion PCI. Si le logiciel agissant sur l'unité centrale CPU n'utilise pas cette partie invisible (c'est-à-dire met en oeuvre une plus grande quantité de mémoire que ce qui est requis par le logiciel), alors la limitation de la quantité de mémoire affectée n'a aucun impact. Si le logiciel fonctionnant dans l'unité centrale CPU utilise la partie invisible, alors l'effet de la limitation de l'espace de mémoire peut être de rendre une partie du logiciel d'exécution invisible à partir de l'interconnexion PCI. Si l'on sait par avance quel logiciel doit être appliqué au dispositif B, il est facile de déterminer la quantité d'espace de mémoire dont il a besoin, et ce qu'est l'effet probable de la limitation de l'espace de mémoire. L'espace de mémoire requis par le dispositif B est réduit à 63 MB, de sorte que l'espace de mémoire total requis par le dispositif A et le dispositif B est égal à 64 MB. Ceci permet d'ouvrir une fenêtre de 64 MB dans l'espace de mémoire au niveau du pont d'interconnexions PCI-PCI, qui est suffisamment large pour permettre un fonctionnement correct à la fois du dispositif A et du dispositif B. Il serait préférable de programmer le registre BAR du dispositif B sur 63 MB plutôt que sur 64 MB, de telle sorte que les registres BAR du dispositif A et du dispositif B se combinent pour remplir la fenêtre de 64 MB fournie par la fenêtre au niveau du pont d'interconnexions PCI-PCI. Malheureusement le registre BAR du dispositif B ne peut pas être programmé sur 63 MB étant donné que la norme PCI spécifie que seules des tailles modulo 2 de mémoire peuvent être programmées. Par conséquent le registre BAR du dispositif B reste programmé sur 64 MB, et le premier 1 MB des 64 MB affectés au dispositif B possède la même adresse que le registre BAR du dispositif A. Une adresse entrant dans ce premier 1 MB active à la fois le dispositif A et le dispositif B, ce qui conduit à une défaillance du système. Pour éviter la défaillance du système, un matériel supplémentaire doit décoder l'adresse et activer le dispositif A uniquement lorsque la gamme d'adresses se situe dans le premier 1 MB des 64 MB affectés au dispositif B. Le matériel utilisé est représenté sur la figure 1 et comporte un dispositif 5 de décodage d'adresses d'interconnexions PCI et un interrupteur à retard zéro 6, qui sont ajoutés au bus d'interconnexions PCI. Le décodeur d'adresses 5 est connecté à PCI~AD[31...0] et PCI~FRAME*. L'interrupteur 6 est connecté à PCI~FRAME* du bus d'interconnexions PCI. L'interrupteur 6 est situé "en aval" de la liaison du signal PCI~FRAME* aboutissant au dispositif A, de sorte que l'interrupteur n'interrompt pas des signaux PCI~FRAME* transmis au dispositif A. Le fonctionnement de l'interrupteur 6 est commandé par le décodeur d'adresses 5. L'interrupteur 6 est choisi de manière à posséder une faible valeur résistive lorsqu'il est fermé et une faible capacité de sorte qu'il n'affecte pas les caractéristiques électriques du bus d'interconnexions PCI. La figure 2 illustre le fonctionnement du matériel d'interconnexions PCI. Un signal d'horloge 10 forme un signal d'entrée périodique envoyé à chaque dispositif PCI connecté au pont d'interconnexions PCI. Chaque flanc montant du signal d'horloge est interprété en tant qu'incrémentation du signal d'horloge, et habituellement toutes les opérations des dispositifs à interconnexions PCI sont synchronisées sur ces flancs montants. Une nouvelle transaction dans le bus d'interconnexions PCI est marquée par le signal PCI~FRAME 11a qui passe au niveau bas. Lors de la détermination du fait que le signal PCI~FRAME* est passé au niveau bas, chaque dispositif à interconnexions PCI est configuré de manière à recevoir et décoder une adresse. L'adresse est indiquée par le signal PCI~AD [31...0] 12. Si le signal tombe dans la gamme d'adresses d'un dispositif à interconnexions PCI donné, alors le dispositif à interconnexions PCI reçoit cette transaction. En référence à la figure 1 et à la figure 2, le décodeur d'adresses 5 est configuré de manière à recevoir et décoder le signal PCI~AD[31...0] 12 lorsque le signal PCI~FRAME* 11a passe au niveau bas. Lorsque le signal décodé PCI~AD[31...0] 12 correspond à une adresse qui se situe dans la gamme de 1 MB du dispositif A, le décodeur d'adresses 5 ouvre l'interrupteur 6 (indiqué en tant que INTERRUPTEUR 13 sur la figure 2). L'actionnement du décodeur d'adresses 5 et de l'interrupteur 6 n'est pas synchronisé sur les incrémentations de signaux d'horloge. Au lieu de cela, le décodeur d'adresses 5 contrôle continûment le signal PCI~FRAME* et, lorsqu'il est établi que le signal PCI~FRAME* est passé au niveau bas, décode immédiatement le signal PCI~AD[31...0]. De façon similaire, l'interrupteur 6 est ouvert immédiatement lorsque le décodeur d'adresses 5 établit que l'adresse décodée se situe dans la gamme de 1 MB du dispositif A. Le dispositif A et le dispositif B échantillonnent le signal PCI~FRAME* et le signal PCI~AD[31...0] lors de chaque incrémentation du signal d'horloge. Les incrémentations du signal d'horloge sont numérotées sur la figure 2. Pour l'incrémentation numéro 1, le signal PCI~FRAME* est au niveau haut et le dispositif A et le dispositif B n'effectuent par conséquent aucune action. Lors de l'incrémentation numéro 2, le signal PCI~FRAME* est passé au niveau bas, mais l'interrupteur 6 a été actionné de sorte que le dispositif B est déconnecté du signal PCI~FRAME*. Cela signifie que le dispositif A établit que le signal PCI-FRAME* est au niveau bas (comme indiqué par 11a) et est par conséquent configuré de manière à recevoir et décoder un accès. Le dispositif B détermine que le signal PCI~FRAME* est au niveau haut (comme indiqué par llb) et par conséquent n'entreprend aucune action. Une résistance élévatrice 7 est connectée au signal PCI~FRAME* directement adjacent au dispositif B pour garantir que le signal PCI~FRAME* reste au niveau haut lorsque l'interrupteur 6 est actionné. Le dispositif A demande la transaction en cours en commandant le signal DEVSEL 14 au niveau bas. Ceci indique que le dispositif A est prêt à recevoir des données. Une fois que le signal DEVSEL a été activé, l'auteur de la transaction sait que le dispositif A écoute et transfère par conséquent des données. On notera qu'une incrémentation du signal d'horloge se déroule avant que le signal DVSEL passe au niveau bas. Ceci est dû à la vitesse limitée de réponse du dispositif A. Un dispositif qui répond à cette vitesse est désigné comme étant un dispositif "moyen". Un dispositif qui répond au bout de deux incrémentations du signal d'horloge, est désigné comme étant un dispositif "lent", et un dispositif qui répond avant incrémentation du signal d'horloge, immédiatement à la suite du signal d'adresse, est désigné comme étant un dispositif "rapide". A la fin de la transaction, l'interrupteur 6 est fermé dans un état prêt pour la transaction suivante (non représentée sur la figure 2). Ceci permet au dispositif B de recevoir (ou de délivrer) une fois de plus le signal PCI FRAME*. On notera pour que la forme de réalisation représentée de l'invention fonctionne correctement, l'actionnement de l'interrupteur doit s'effectuer avant l'incrémentation du signal d'horloge, qui se produit juste après que le signal PCI~FRAME* est passé au niveau bas. Le temps qui s'est écoulé entre l'arrivée de l'adresse dans le décodeur d'adresses 5 et l'incrémentation ultérieure du signal d'horloge, est indiqué sur la figure 2, et est égal à environ 15 ns pour des incrémentations du signal d'horloge à 33 MHz. Certains bus d'interconnexions PCI utilisent une horloge à 66 MHz, en particulier des bus mezzanines (sur puce). En référence à la figure 2, on estime que l'intervalle de temps qui s'écoule entre une adresse délivrée au bus et une horloge suivante est d'environ 5 ns pour un signal d'horloge à 66 MHz. Il est difficile d'activer le décodeur d'adresses 5 et l'interrupteur 6 d'une manière fiable pendant un intervalle de temps aussi bref. Ce problème est résolu grâce à la seconde forme de réalisation de l'invention, qui est illustrée sur la figure 3. Le dispositif représenté sur la figure 3 comprend un dispositif A et un dispositif B, un décodeur d'adresses 5a et un interrupteur 6a qui sont tous connectés à un bus d'interconnexions PCI indiqué d'une manière générale par la. Le bus d'interconnexions PCI est situé en arrière d'un pont d'interconnexions PCI-PCI 4a. Le décodeur d'adresses 5a et l'interrupteur 6a sont plus complexes que ceux représentés sur la figure 1. De façon spécifique, le décodeur d'adresses 5a est configuré de manière à verrouiller les adresses (conjointement avec les signaux de commande) à l'intérieur du décodeur et de les appliquer au dispositif B avec un retard d'incrémentation d'un signal d'horloge. L'interrupteur 6a est un interrupteur à 39 bits qui, en plus de réaliser la commutation du signal PCI~FRAME*, réalise une commutation également d'autres signaux de commande et du signal PCI~AD[31...0]. L'interrupteur 6a est maintenu ouvert lorsqu'aucune transaction ne s'effectue dans le bus d'interconnexions PCI la. Lorsque le signal PCI~FRAME* passe au niveau bas, le décodeur d'adresses 5a décode le signal PCI~AD[31...0]. Si l'adresse décodée se situe dans la gamme d'adresses affectée au dispositif B, alors le signal PCI~FRAME*, PCI~AD[31...0] et des signaux de commande sont transmis au dispositif B. Un retard d'incrémentation de 1 signal d'horloge est appliqué de sorte que les signaux PCI~FRAME* et PCI~AD[31...0] arrivent dans le dispositif B avec un retard correspondant à une incrémentation d'un signal d'horloge plus tard que ce n'aurait été le cas en l'absence du décodeur d'adresses 5a et de l'interrupteur 6a. En même temps que les signaux PCI~FRAME* et PCI~AD[31...0] sont transmis au dispositif B, l'interrupteur 6a est fermé. Le dispositif B décode le signal PCI~AD[31...0] puis positionne le signal DEVSEL au niveau bas, ce qui indique qu'il est prêt pour recevoir des données. L'activation du signal DEVSEL* informe l'initiateur du fait que la transaction a été demandée par le dispositif B, et permet un transfert de données par l'intermédiaire de PCI~AD[31...0]. L'interrupteur 6a est ouvert une fois que la communication avec le dispositif B est achevée. Le dispositif B peut désirer déclencher la communication par l'intermédiaire du bus d'interconnexions PCI. A cet effet, le dispositif B émet habituellement un signal DEMANDE. Un dispositif d'arbitrage séparé (non représenté) détermine le moment où le dispositif B peut utiliser le bus, et renvoie un signal GRANT (accordé) qui permet au dispositif B de s'approprier le bus et de déclencher une transaction. Le décodeur d'adresses 5a reçoit un signal d'entrée à partir du signal GRANT du dispositif B. Lorsque ce signal est activé, l'interrupteur 6a est fermé de manière à permettre au dispositif B de communiquer. Si le décodeur d'adresses établit que l'adresse située dans la gamme d'adresses du dispositif A, alors l'interrupteur 6a reste ouvert. L'adresse et les signaux de commande ne sont pas transmis au dispositif B. Le dispositif A communique avec le bus d'interconnexions PCI de façon classique. Comme cela a été indiqué précédemment, la réponse du dispositif B à un signal PCI~FRAME* et un signal PCI AD[31...0] est plus lente, d'une incrémentation d'un signal d'horloge, que ce ne serait le cas dans un système d'interconnexions classique, le retard étant introduit par le décodeur d'adresses 5a. Cela signifie que lorsque la seconde forme de réalisation de l'invention est utilisée, le dispositif qui répond normalement à un signal PCI~FRAME* et PCI~AD[31...0] à la troisième incrémentation d'un signal d'horloge (c'est-à-dire le dispositif "lent") ne répond pas avant la quatrième incrémentation d'un signal d'horloge. Malheureusement dans la norme d'interconnexions PCI, l'initiateur d'une transaction attend pendant seulement 3 incrémentations d'horloge pour une réponse après la délivrance d'un signal PCI~FRAME* et d'un signal PCI~AD[31...0]. Si aucune réponse n'a été reçue au bout de trois incrémentations d'horloge, l'initiateur de la transaction interprète l'absence d'une réponse comme une erreur. Par conséquent, lorsqu'on utilise la seconde forme de réalisation, le dispositif B ne peut pas être un dispositif lent. De la même manière, si le dispositif B est en soi un dispositif "rapide", il devient "moyen" en raison de l'addition du décodeur d'adresses 5a, alors que s'il est en soi "moyen", il devient "lent". La seconde forme de réalisation de l'invention introduit un coût temporel d'un cycle uniquement pendant la phase d'adressage au début de la transaction - il n'existe aucun retard additionnel pendant la phase de données ou pendant les phases qui suivent. La communication avec le dispositif A s'effectue de façon classique et n'introduit aucun coût temporel. La figure 4 représente l'application de la seconde forme de réalisation de l'invention. Un bus d'interconnexions PCI Mezzanine (sur puce) à 66 MHz, désigné d'une manière générale en 21, interconnecte deux ponts d'alimentation Motorola MPC107 PowerPC 22,23, un site d'expansion de cartes mezzanines d'interconnexions PCI 24 et un pont d'interconnexions PCI-PCI 25 relié à un système de bus d'interconnexions PCI d'arrière-plan du système central. Un dispositif logique programmable (PLD) 26 de "commande de carte d'adresses" (AMC) correspond aux décodeurs d'adresses 5, 5a représenté sur les figures 1 et 3. Le dispositif de commande AMC est responsable du décodage d'adresses dans le bus d'interconnexions PCI local 21 et d'une interruption sélective du signal PCI~AD[31...0] et de signaux de commande provenant du second pont Motorola MPC107 PowerPC 23 moyennant l'utilisation d'un interrupteur 27 à 39 bits. Ceci permet de diviser un seul bloc de l'espace de 64 MB d'espaces d'adresses entre le MPC107 et le dispositif installé dans le site PMC 120. Dans cet exemple, le système central peut écrire dans un registre situé dans le dispositif de commande AMC pour définir la fente requise entre des espaces d'adresses affectés, de sorte que différents dispositifs peuvent être installés dans le système PC et être correctement traités. REVENDICATIONS 1. Système d'adressage de mémoire pour bus d'interconnexions de composants périphériques (PCI), caractérisé en ce qu'il comporte un décodeur (5) d'adresses de mémoire et des moyens de débranchement (6) connectés à un bus PCI d'interconnexions PCI, les moyens de débranchement étant agencés de manière à déconnecter un ou plusieurs signaux du bus d'interconnexions PCI (1) d'un premier dispositif à interconnexions PCI (A), et que le décodeur (5) d'adresses de mémoire est agencé de manière à activer sélectivement les moyens de débranchement de telle sorte qu'une adresse, qui se situe dans une gamme d'adresses identifiées dans un registre d'adresses de base du premier dispositif à interconnexions PCI (A) et dans un registre d'adresses de base d'un second dispositif à interconnexions PCI (B), est reçue par le second dispositif d'interconnexions PCI, mais pas par le premier dispositif d'interconnexions PCI. 2. Système d'adressage de mémoire pour bus d'interconnexions PCI selon la revendication 1, caractérisé en ce que les moyens de débranchement (6) comprennent un interrupteur agencé de manière à déconnecter le signal PCI~FRAME* du premier dispositif à interconnexions PCI (A). 3. Système d'adressage de mémoire à bus d'interconnexions PCI selon la revendication 2, caractérisé en ce que l'interrupteur (6) est fermé lorsque aucune transaction de données n'est exécutée, l'interrupteur étant ouvert lorsque le décodeur (5) d'adresses de mémoire décode une adresse qui se situe dans la gamme d'adresses identifiée à la fois dans le registre d'adresses de base du premier dispositif à interconnexions PCI (A) et dans le registre d'adresses de base du second dispositif à interconnexions PCI (B) . 4. Système d'adressage de mémoire pour bus d'interconnexions PCI selon la revendication 3, caractérisé en ce que l'interrupteur (6) reste ouvert pendant une transaction avec le second dispositif à interconnexions PCI (B), et est fermé lorsque cette transaction s'achève. 5. Système d'adressage de mémoire pour bus d'interconnexions PCI selon l'une quelconque des revendications 2 à 4, caractérisé en ce que l'interrupteur (6) est un interrupteur à retardement zéro et que le décodeur (5) d'adresses de mémoire est agencé de manière à décoder une adresse et à ouvrir l'interrupteur avant une incrémentation d'horloge, qui intervient immédiatement à la suite du signal d'adresse. 6. Système d'adressage de mémoire pour bus d'interconnexions PCI selon la revendication 1, caractérisé en ce que les moyens de débranchement (6) comprennent un interrupteur agencé de manière à déconnecter le signal PCI~FRAME*, le signal PCI~AD[31...0] et d'autres signaux de commande provenant du premier dispositif d'interconnexions PCI. 7. Système d'adressage de mémoire pour bus d'interconnexions PCI selon la revendication 6, caractérisé en ce que l'interrupteur (6) est ouvert lorsque aucune transaction de données ne s'effectue, l'interrupteur étant fermé lorsque le décodeur d'adresses de mémoire décode une adresse qui se situe dans la gamme d'adresses identifiée dans le registre d'adresses de base du premier dispositif à interconnexions PCI et qui ne se situe pas dans le registre d'adresses de base du second dispositif à interconnexions PCI. 8. Système d'adressage de mémoire pour bus d'interconnexions PCI selon la revendication 7, dans lequel en plus de l'ouverture de l'interrupteur (6), le décodeur (5) d'adresses de mémoire transfère l'adresse PCI~FRAME* et d'autres signaux de commande au premier dispositif à interconnexions PCI. 9. Système d'adressage de mémoire pour bus d'interconnexions PCI selon la revendication 8, caractérisé en ce que l'adresse, le signal PCI~FRAME* et d'autres signaux de commande sont transférés au premier dispositif à interconnexions PCI après l'incrémentation d'horloge qui suit immédiatement le signal d'adresse. 10. Système d'adressage de mémoire pour bus d'interconnexions PCI selon l'une quelconque des revendications 7 à 9, caractérisé en ce que l'interrupteur (6a, 27) reste fermé jusqu'à ce que la transaction avec le premier dispositif à interconnexions PCI soit terminée, à la suite de quoi l'interrupteur est ouvert. 11. Système d'adressage de mémoire pour bus d'interconnexions PCI selon l'une quelconque des revendications 6 à 10, caractérisé en ce que l'interrupteur (6a, 27) est un interrupteur à 39 bits. 12. Système d'adressage de mémoire pour bus d'interconnexions PCI selon l'une quelconque des revendications 6 à 11, caractérisé en ce que l'interrupteur (6a, 27) est un interrupteur à retard zéro. 13. Système d'adressage de mémoire pour bus d'interconnexions PCI selon l'une quelconque des revendications 6 à 12, caractérisé en ce que les autres signaux de commande incluent au moins les signaux PCI~IRDY*, PCI~PAR et PCI~CBE[3...0]*. 14. Système d'adressage de mémoire pour bus d'interconnexions PCI selon l'une quelconque des revendications 1 à 13, caractérisé en ce que les premier et second dispositifs à interconnexions PCI, les moyens de décodage d'adresses de mémoire, l'interrupteur et le bus d'interconnexions PCI sont tous situés derrière un pont PCI-PCI (4). 15. Système d'adressage de mémoire pour bus d'interconnexions PCI selon l'une quelconque des revendications 1 à 14, caractérisé en ce que le décodeur (5) d'adresses de mémoire est programmable et est programmé avec des gammes d'adresses allouées pour les premier et second dispositifs à interconnexions PCI. 16. Procédé d'adressage de mémoire pour bus d'interconnexions PCI comprenant la détermination des exigences d'espace de mémoire d'un premier dispositif à interconnexions PCI et d'un second dispositif à interconnexions PCI connectés à un bus d'interconnexions PCI, la limitation des sources de mémoire utilisées par le premier dispositif à interconnexions PCI et l'affectation de la gamme d'adresses de l'espace de mémoire économisé résultant au second dispositif à interconnexions PCI, caractérisé en ce que le procédé comprend en outre la connexion d'un décodeur d'adresses de mémoire et de moyens de débranchement au bus d'interconnexions PCI, le décodeur d'adresses de mémoire étant agencé de manière à activer sélectivement les moyens de débranchement de telle sorte qu'une adresse qui se situe dans une gamme d'adresses identifiées dans un registre d'adresses de base du premier dispositif à interconnexions PCI et dans un registre d'adresses de base d'un second dispositif à interconnexions PCI, est reçue par le second dispositif à interconnexions PCI, mais pas par le premier dispositif à interconnexions PCI.