Brevet FR2694828A1 — publié le 19940218

La présente invention concerne de façon générale les architectures des bus d'ordinateur, et plus précisément, elle concerne un bus à paquets virtuels destiné à la mise en paquets de communications, par mise en oeuvre d'une technique d'arbitrage distribué avec un ordre hiérarchique souple. Dans les systèmes numériques d'ordinateurs ayant plusieurs modules, par exemple des modules processeurs, des modules d'organes de commande, des modules d'interfaces de communications (relais, etc), un support est utilisé de manière que ces modules puissent transférer des données entre eux Habituellement, le support utilisé est un canal physique de données appelé "bus" Le bus est connecté à une voie de communications de chaque module Dans des exemples d'architectures de bus de données, les informations sont transportées sur le bus à raison un mot à la fois En outre, comme il existe de multiples modules qui partagent le même bus, les modules doivent lutter pour l'accès au bus à chaque mot transmis. Un bus d'ordiniateur comprend habituellement de multiples lignes de transfert et de commande de transfert des différents types d'informations entre les modules fixés au bus Les architectures à bus classiques comprennent une structure à bus parallèle de données et à multiples lignes de commande Le bus de données a par exemple une largeur de N bits, N étant le nombre de bits par mot. Dans le temps, le bus est divisé en une série de tranches temporelles appelées "cycles de bus" Un cycle de bus est la période pendant laquelle un module se voit' accorder l'accès au bus Dans les architectures à bus classiques, le cycle de bus a la même durée qu'un cycle d'horloge Ainsi, dans les systèmes classiques, un mot à N bits est transféré par un module à chaque cycle d'horloge. On décrit maintenant un scénario courant dans un système d'ordinateur ayant une architecture de bus clas- sique Un premier module possède un mot ou une série de mots qu'il veut émettre (ou transférer) vers un second module par le bus de données Le premier module signale qu'il veut avoir accès au bus Un dispositif d'arbitrage d'accès au bus détermine si le premier module se voit accorder l'accès au cycle suivant du bus Si l'accès n'est pas accordé au premier module, celui-ci doit répéter sa demande jusqu'à ce que llaccès lui soit donné Lorsque l'accès au bus a été donné au premier module, il peut transmettre le premier mot au second module par le bus La même opération doit se répéter à nouveau pour chaque mot suivante que le premier module veut transmettre Dans certains cas, des formes limitées de transfert de plusieurs mots par un module peuvent être permises. Les architectures de bus classiques sont limitées à deux égards D'abord, elles sont limitées car elles ne permettent que les transferts d'un seul mot (ou des trans- ferts limités à plusieurs mots) à chaque cycle de bus. Deuxièmement, elles sont limitées dans les techniques d'arbitrage utilisées pour la commande de l'accès au bus par les divers modules. Ces architectures de bus classiques ayant un accès au bus par un seul mot donnent au système d'ordinateur une flexibilité limitée de communication, et ne donnent pas des performances optimales au système dans toutes les condi- tions Dans certaines conditions, le système d'ordinateur peut nécessiter une interface avec divers réseaux de télécommunications Par exemple, le système d'ordinateur peut être réalisé sous forme d'un organe de commande de communications qui commande les communications entre des réseaux interfacés à un noeud Dans un autre exemple, le système d'ordinateur peut être utilisé pour des applica- tions scientifiques ou d'affaires et peut être simplement interfacé à des réseaux pour l'obtention de données. Indépendamment de -la fonction sous-jacente de l'ordinateur dans ces conditions, l'ordinateur doit tirer les données des divers réseaux de télécommunications avec lesquels il est interfacé et parfois placer des données dans ces réseaux Ces réseaux de télécommunications travaillent habituellement au niveau du paquet, c'est-à- dire que les réseaux transfèrent des données en unités appelées "paquets" Les caractéristiques du paquet sont définies par la norme particulière de communication utili- sée Les paquets sont habituellement définis par une longueur d'un nombre particulier de bits ou d'un nombre particulier d'octets Par exemple, la spécification des communications en mode de transfert asynchrone (ATM) a défini un paquet de cinquante-trois octets. Decs schémas de transmission d'un seul mot ou d'un nombre limité de mots mis en oeuvre dans les architectures de bus classiques ne sont pas directement compatibles avec ces normes de communications au niveau des paquets Par exemple, si un paquet de données est reçu par une carte d'interface de réseau, ce paquet ne peut pas être transmis directement au bus classique d'ordinateur Au contraire, les données doivent être tirées du paquet, transmises au bus par un seul mot de N bits à la fois et, lorsqu'elles sont destinées à d'autres communications par un autre réseau, réassemblées sous forme de paquets Cette incompa- tibilité nécessite un circuit supplémentaire dans les modules d'interface Ce circuit supplémentaire doit per- mettre aux cartes d'interface de retirer les données des paquets, de réassembler les données en paquets et de traiter à la fois au niveau des paquets et au niveau des mots. Les architectures de bus classiques sont limitées dans leurs techniques d'arbitrage Dans de nombreux sys- tèmes classiques, l'arbitrage du bus est géré par un arbitre central Dans ces systèmes, chaque module a une ligne de demande d'accès au bus et une ligne signalant au module le moment o l'accès est donné Souvent, d'autres lignes de commande sont ajoutées afin qu'elles donnent des informations supplémentaires, telles que l'état du système d'arbitrage Dans les systèmes utilisant un arbitrage centralisé, chaque module transmet une demande d'accès au bus à l'arbitre central A chaque période d'accès, l'arbitre zentral donne accès au bus à un module en fonction cs l'ordre hiérarchique des modules qui demandent l'accès. D'autres schémas d'arbitrage ont distribué la fonction d'arbitrage aux modules fixés au bus Dans ces systèmes, un circuit d'arbitrage est contenu dans chaque module et permet ainsi aux modules eux-mêmes de déterminer si l'accès au bus leur est donné Les systèmes nécessitent souvent aes bus d'arbitrage pour permettre un arbitrage e 10 distribué Ces bus d'arbitrage ont par exemple une largeur de Y ou C lignes, Y étant le nombre de modules Dans un système centralisé, la contention est résolue par évalua- tion de l ordre hiérarchique des systèmes transmettant une demande e par attribution de l'accès au module demandeur ayant 1 '&rdre hiérarchique le plus élevé. Le S techniques classiques d'arbitrage sont limitées dans l'af ectation de l'ordre hiérarchique des modules si bien que la souplesse des opérations du bus d'ordinateur est limiêée Cette limitation est présente à la fois dans les schémas d'arbitrage centralisés et distribués Dans les systèmes classiques, des ordres hiérarchiques sont affectés de divetrrs manières D'abord, des ordres hiérarchiques peuvent itre affectés d'après une adresse physique, un emplacement de bus ou un emplacement de logement de carte du module Ces ordres hiérarchiques sont fixés et ne peuvent pas être changés à moins que le module ne change d'adresse ou que son adresse soit modifiée Des schémas classiques d'arbitrage utilisant ce premier type de tech- nique de détermination d'ordre hiérarchique permettent parfois fine certaine souplesse par rotation de l'ordre hiérarch 4 que parmi les emplacements des modules. U#' second procédé d'affectation de l'ordre hiérar- chique lns les systèmes classiques est une affectation initiale, puis une rotation de l'ordre hiérarchique à chaque module au début de chaque cycle suivant de bus Dans ce procim, chaque module commence avec un ordre hiérar- chique initial Chaque fois que l'accès est donné à un module, les ordres hiérarchiques des modules sont décalés. Dans certains schémas, les ordres hiérarchiques de chaque module progressent ou régressent tous de manière fixe. Ainsi, les architectures des bus classiques sont limités à deux égards Elles sont limitées en ce qu'elles ne permettent que le transfert d'un seul mot de données à chaque cycle de bus Elles sont aussi limitées en ce que les techniques d'arbitrage utilisées donnent une souplesse limitée d'affectation et de révision des priorités des modules En outre, les techniques classiques d'arbitrage distribuées nécessitent des bus d'arbitrage ayant plusieurs trajets de signaux, ou un nombre de trajets de signaux proportionnel au nombre de modules du bus. Ainsi, les architectures de bus classique présentent des restrictions relatives à la souplesse qu'elles donnent pour l'interfaçage avec des réseaux externes de communi- cations, et elles sont limitées au point de vue de leurs techniques d'arbitrage et d'affectation d'ordre hiérar- chique aux modules. La présente invention concerne un système et un procédé de communication par un bus au niveau du paquet, mettant en oeuvre un arbitrage distribué souple du bus Le bus selon la présente invention a une structure telle qu'il transfère des données par unités formées de paquets, les paquets comprenant plusieurs mots de N bits de longueur, N étant la largeur du bus de données. Le schéma d'arbitrage selon la présente invention est une technique d'arbitrage distribué, si bien que chaque module luttant pour l'accès au bus possède une logique d'arbitrage de bus Une seule ligne d'arbitrage de bus est utilisée pour l'interfaçage avec tous les circuits d'arbi- trage des modules Le circuit logique d'arbitrage de bus -comprend un circuit logique de détermination de l'ordre hiérarchique du module et de détermination du moment o le module doit avoir accès au bus en fonction de l'ordre hiérarchique des modules. Selon la présente invention, le bus est divisé dans le temps en périodes de cycle de bus connues sous le nom de "paquets de bus" ou tranches temporelles "BUP" Une tranche temporelle BUP détermine la période pendant laquelle le module dispose de l'accès L'accès pour chaque tranche temporelle BUP est arbitré par le circuit d'arbitrage La tranche temporelle BUP est en outre divisée en tranches temporelles d'accès à l'aide d'un signal d'horloge de temps d'accès. Selon la présente invention, un compteur numérique est remis à zéro au début de la tranche temporelle BUP à l'aide d'une horloge BUP Le compteur numérique commence à compter les impulsions de l'horloge de temps d'accès et compte ainsi les tranches temporelles d'accès La valeur du signal de sortie du compteur est transmise à un comparateur. Un automate fini indique l'ordre hiérarchique du module et transmet une valeur d'ordre hiérarchique au comparateur Le comparateur compare la valeur d'ordre hiérarchique à la valeur du compteur et, lorsque ces valeurs sont égales, le comparateur transmet une impulsion de temps de comparaison L'impulsion de temps de comparai- son est utilisée pour revendiquer finalement l'accès au bus. Le comparateur de chaque module compare le nombre de tranches temporelles d'accès compté à la valeur d'ordre hiérarchique du module Ainsi, une impulsion de temps de comparaison est créée plus tôt pour un module ayant un plus faible nombre hiérarchique (c'est-à-dire un ordre hiérar- chique plus élevé) Le premier module à demander l'accès au bus et à créer une impulsion de temps de comparaison, fait finalement passer la ligne d'arbitrage à un faible niveau et empêche ainsi l'accès aux autres modules. Lorsqu'un module d'ordre hiérarchique supérieur (plus faible numéro d'ordre hiérarchique) n I'y, pas déjà demandé accès au bus et n'a pas fait passer la ligne d'arbitrage à un faible niveau, l'impulsion de temps de comparaison d'un module demandeur est utilisée pour la création d'un signal de disponibilité de bus lorsque ce module demande le bus Ce signal de disponibilité de bus est alors utilisé pour faire passer la ligne d'arbitrage à un faible niveau qui empêche l'accès au bus par les autres modules. L'arbitrage du bus est réalisé pendant une tranche temporelle BUP actuelle pour la détermination du module qui a accès au bus pour la tranche temporelle BUP suivante Au début de chaque tranche temporelle BUP, une valeur de compteur est remise à sa valeur initiale et l'ordre hiérar- chique du module peut être remis à jour d'après un certain nombre de schémas d'hiérarchisation Un certain nombre de schémas d'hiérarchisation peut être utilisé pour l'établis- sement de l'ordre hiérarchique des modules pour chaque tranche temporelle BUP La possibilité de la réalisation de schémas hiérarchiques différents donne une souplesse maximale au système. D'autres caractéristiques et avantages de l'inven- tion ressortiront mieux de la description qui va suivre d'exemples de réalisation, faite en référence aux dessins annexés sur lesquels: la figure 1 est un diagramme synoptique représentant un système d'ordinateur fonctionnant à la manière d'un noeud de communications d'un réseau qui est un exemple de condition de mise en oeuvre de la présente invention; la figure 2 A est un diagramme synoptique représen- tant la structure d'un bus à paquets virtuels selon la présente invention; la figure 2 B est un diagramme des temps représentant la division du bus à paquets virtuels en tranches tempo- relles BUP; - la figure 3 est un schéma d'un circuit d'un mode de réalisation de la présente invention; les figures 4 A et 4 B sont des ordinogramqes illus- trant le fonctionnement selon l'invention; la figure 5 est un diagramme des temps représentant la disposition dans le temps de signaux de synchronisation de codes d'un circuit d'arbitrage dans un mode de réali- sation de l'invention; la figure 6 est un schéma d'un autre mode de réalisation de l'invention, ne comportant pas de compteur; la figure 7 est un diagramme synoptique représentant un arbitrage entre des modules disposés par groupes de modules; et la figure 8 est un schéma représentant la réalisa- tion d'un circuit d'arbitrage selon l'invention avec une ligne d'arbitrage à fibre optique. 1 Généralités La présente invention concerne un système et un procédé de communications par bus à paquets comprenant un arbitrage souple à bus distribué Le bus selon l'invention a une structure lui permettant de gérer les transferts de données par unités formées de paquets Les paquets com- prennent M mots, chacun des M mots ayant une longueur de N bits N est la largeur du bus de données. Le bus utilise un schéma d'arbitrage distribué grâce auquel chaque module qui peut demander accès au bus a une logique d'arbitrage de bus Cette logique d'arbitrage de bus comprend un circuit logique destiné à déterminer l'ordre hiérarchique du module et à déterminer le moment o le module se voit affecter l'accès au bus d'après l'ordre hiérarchique du module. La logique d'arbitrage de bus peut donner des schémas souples d'hiérarchisation Selon la présente invention, un certain nombre de schémas différents d'hié- rarchisation peuvent être utilisés Grâce à ces schémas, la souplesse et les possibilités d'adaptation du système sont accrues. Ainsi, l'arbitrage selon la présente-invention peut être réalisé uniquement avec une seule ligne d'arbitrage de bus connectée à chaque module Cette ligne d'arbitrage de bus qui est unique est utilisée pour indiquer si un autre module a déjà eu accès au bus pendant le cycle voisin du bus. 2 Conditions d'échantillonnage La présente invention a été mise au point pour être utilisée dans un système d'ordinateur qui est utilisé comme commutateur de paquets d'un réseau La figure 1 est un diagramme synoptique illustrant un système d'ordinateur ayant une configuration de commutateur 100 de paquets de réseau et des interfaces correspondantes On se réfère à la figure 1 pour la description des conditions d'échantillon- nage Un commutateur 100 de paquets de réseau dans les conditions d'échantillonnage comprend deux bus séparés Un bus de paquets virtuels 102 (appelé bus VPB 102) est un bus à mode de transfert asynchrone virtuel à grande vitesse (VATM) selon la présente invention Un bus normal VME 104, destiné à la gestion des informations locales, d'état à faible vitesse et de commande est aussi présent. Des modules 106 à relais de blocs T-1 acceptent jusqu'à quatre canaux de relais de blocs T-1 et mettent en paquets les données de ces canaux sous forme de paquets ATM (mode de transfert asynchrone) Des modules d'interface 108 de ligne interurbaine acceptent les paquets ATM du bus VPB 102 Les modules d'interface de ligne interurbaine assurent l'interfaçage des paquets ATM avec les formats normalisés T-3 ou SONET pour le transport -Les modules processeurs 110 assurent la gestion des éléments du réseau et l'interfaçage avec un réseau externe "Ethernet" 114 Le réseau externe "Ethernet" 114 forme le noeud avec un circuit d'interface de gestion de réseau Un module redondant double 112 d'alimentation transmet l'énergie au système. La fonction du commutateur 100 de paquets du réseau est de recevoir des paquets de données provenant d'utilisa- teurs de services de données de réseau tels qu'un service de relais de blocs et un service commuté -de -données à plusieurs mégabits (SMDS), et d'acheminer ces paquets de données vers d'autres noeuds du réseau en fonction de l'adresse des paquets En outre, jle commutateur 100 de paquets du réseau reçoit les paquets de données d'autres noeuds adressés à l'emplacement du commutateur de paquets. Le bus VPB 102, qui est l'objet de l'invention, assure la formation du trajet de communications internes pour les paquets de données entre les modules d'accès des utilisa- teurs tels que le module 106 à relais à blocs T-1 et des liaisons de communications entre les noeuds, appelées habituellement "lignes interurbaines" telles que les modules 108 d'interface de ligne interurbaine Les paquets apparaissant à l'interface d'un utilisateur par l'un de plusieurs modules 106 de relais de blocs peuvent être acheminés par le bus vers l'un quelconque des modules 108 de ligne interurbaine ou vers d'autres utilisateurs locaux par les modules 106. 3 Le bus La figure 2 A représente le bus VPB 102 selon l'in- vention Comme l'indique la figure 2 A, le bus VPB 102 comprend un bus 202 de données, une ligne commune 204 d'arbitrage de bus et une ligne 206 d'horloge de paquets de bus (BUP) Dans un mode de réalisation préféré, le bus VPB 102 est un bus de fond de panier auquel sont interfacés plusieurs modules 208 Les modules 208 peuvent être des cartes de circuit qui sont enfichées dans le bus VPB 102 de fond de panier à l'aide de connecteurs placés au bord des cartes Les modules 208 peuvent comprendre des modules tels qu'un module processeur 110, et un module d'interface de ligne interurbaine 108, comme décrit dans le chapitre relatif aux conditions d'échantillonnage. Dans un mode de réalisation préféré, le bus de- données 202 a une largeur de soixante-quatre bits (c'est-à- dire que N = 64) Cette largeur rend le bus VPB 102 compa- tible à une norme de paquets à cinquante-trois octets et permet l'utilisation de bits supplémentaires pour d'autres fonctions du système Le mode de réalisation préféré du bus de paquets virtuels utilise des paquets ATM à cinquante- trois octets Dans le cas d'un bus de données ayant une largeur de soixante-quatre bits, sept ( 7) transferts de bus sont nécessaires pour chaque paquet, et il reste trois octets disponibles comme bits supplémentaires (sept trans- ferts sur le bus multipliés par huit octets par transfert moins cinquante-trois octets) Ces bits supplémentaires peuvent être utilisés dans divers buts, par exemple pour la transmission d'informations de parité pour la correction d'erreurs permettant la détection d'erreurs dans les paquets, pour la transmission d'informations d'état, etc. D'autres modes de réalisation sont envisagés, dans lesquels un bus 202 de données a une largeur différente de soixante- quatre bits. Une caractéristique originale du bus VPB 102 selon l'invention est qu'il permet le transfert de données par groupes de mots (paquets) Un paquet est défini comme ayant une longueur de M mots Dans un mode de réalisation pré- féré, la longueur du paquet est de sept mots (c'est-à-dire que M est égal à sept) La longueur du cycle de bus est définie afin qu'elle recouvre la longueur du paquet lors de la gestion du transfert des données par unités formées de paquets Ainsi, le bus VPB 102 selon la présente invention utilise un principe de synchronisation de paquets pour la délimitation du cycle de bus. La figure 2 B représente le principe de synchroni- sation de paquets du bus VPB 102 selon l'invention On décrit maintenant le principe de la synchronisation des paquets en référence aux figures 2 A et 2 B La ligne d'hor- loge BUP 206 transmet un signal d'horloge BUP 226 à tous les modules 208 par le bus VPB 102 Le signal 226 d'horloge BUP sépare temporairement le bus VPB 102 en périodes de- cycle de bus Ces périodes de cycle de bus sont appelées tranches temporelles BUP Le signal d'horloge BUP 226 est une impulsion de synchronisation qui marque le début de chaque tranche temporelle BUP La longueur L de la tranche temporel-le ^BUP suffit pour la gestion de la longueur M du paquet de bus La longueur L du paquet de bus est l'unité de temps du transfert minimal de données du bus VPB 102. Tous les transferts de paquets par le bus VPB 102 sont réalisés dans la tranche temporelle BUP telle que définie par le signal d'horloge BUP 226. Ainsi, dans un mode de réalisation préféré dans lequel M = 7, la longueur L du paquet de bus est choisie de manière que sept mots de bus 228 à N bits puissent être transférés pendant ce temps Ainsi, le bus de données 202 peut être défini sous forme d'une largeur de N bits et de période déterminée par la longueur L du paquet de bus. 4 Arbitrage de bus Selon l'invention, l'arbitrage du bus est géré de manière distribuée Chaque module du bus a un circuit d'arbitrage qui détermine, pendant la tranche temporelle actuelle BUP, si son module peut avoir accès au bus pendant la tranche temporelle BUP suivante Le circuit d'arbitrage comporte des éléments logiques destinés à déterminer l'ordre hiérarchique actuel du module et à déterminer si l'accès au bus est permis en fonction de cet ordre hiérar- chique Un circuit est aussi destiné à la remise à jour de l'ordre hiérarchique des modules Un circuit d'arbitrage possède une horloge BUP 226 et une horloge de temps d'accès. Pendant la tranche temporelle actuelle BUP, le circuit d'arbitrage commence à compter les impulsions du signal d'horloge de temps d'accès Le circuit d'arbitrage compare la valeur comptée à l'ordre hiérarchique actuel des modules Lorsque la valeur comptée est égale à l'ordre hiérarchique des modules, le module se voit affecter l'accès au bus pendant la tranche temporelle BUP suivante lorsque deux conditions sont remplies Ces deux conditions sont les suivantes: (i) le module doit demander l'accès, et (ii) le bus ne doit pas avoir déjà été demandé par un module d'ordre hiérarchique plus élevé Lorsqu'un module a eu accès au bus, ce module fait passer la ligne d'arbitrage à un faible niveau jusqu'à l'expiration de la tranche temporelle actuelle BUP Lorsque la ligne d'arbitrage est à un faible niveau, aucun autre module ne peut avoir accès à la tranche temporelle BUP suivante. La figure 3 est un schéma représentant un circuit d'arbitrage selon l'invention On se réfère maintenant à la figure 3; un organe 300 d'arbitrage de bus est interfacé avec une ligne commune 204 d'arbitrage de bus, à une horloge 308 de temps d'accès et au signal 226 d'horloge BUP. L'organe 300 d'arbitrage de bus comprend plusieurs éléments logiques On décrit maintenant ceux-ci L'organe 300 d'arbitrage de bus comprend un automate fini 302 Cet automate fini 302 est utilisé pour l'indication de l'ordre hiérarchique du module sous forme numérique L'organe 300 comporte aussi un compteur 304 et un comparateur 306 Le compteur 304 compte les flancs de l'horloge de temps d'accès 308 Dans un mode de réalisation préféré, le compteur 304 commence à une valeur initiale, il fait progresser sa valeur à chaque transition positive du signal d'horloge de temps d'accès 308, et la valeur du compteur est transmise comme signal 354 de valeur du compteur Le compteur 304 est remis à sa valeur initiale par le signal d'horloge BUP 226 D'-àutres modes de réalisation peuvent être envisagés, dans lesquels le compteur 304 présente une régression et non une progression, et le compteur 304 est sensible aux transitions négatives. Le comparateur 306 compare l'ordre hiérarchique du module indiqué par l'automate fini 302 à un signal 354 de valeur du compteur. Un circuit tampon 310 est utilisé pour le contrôle de la ligne d'arbitrage 204 et la détermination du fait que l'accès au bus est encore disponible pendant la tranche temporelle suivante BUP Si la ligne d'arbitrage 204 est à un niveau élevé, le bus est encore disponible pour la tranche temporelle BUP suivante Cependant, si la ligne d'arbitrage 204 est à un faible niveau, un autre module a déjà demandé le bus pour la tranche temporelle suivante. Une bascule 314 est établie lorsque le compteur 304 atteint l'ordre hiérarchique du module comme indiqué par l'automate fini 302 lorsque le bus est encore disponible dans la tranche temporelle BUP suivante Lorsque la bascule 314 est établie et le module demande l'accès au bus pour la tranche temporelle BUP suivante, un transistor 316 est mis à l'état conducteur Lorsque le transistor 316 est à l'état conducteur, la ligne d'arbitrage 204 est mise à un faible niveau si bien que les autres modules ne peuvent plus avoir accès au bus pendant la tranche temporelle BUP suivante. L'automate fini 302 est chargé d'une valeur initiale indiquant l'ordre hiérarchique initial du module, par l'intermédiaire d'un signal 366 de valeur initiale La valeur d'ordre hiérarchique du module peut être remise à jour pour chaque tranche temporelle BUP par un signal 368 de remise à jour. Les figures 4 A et 4 B forment un ordinogramme illus- trant le fonctionnement de l'organe 300 d'arbitrage de bus selon l'invention La figure 5 est un diagramme des temps représentant les relations dans le temps entre les divers signaux au niveau de l'organe 300 d'arbitrage de bus selon l'invention On décrit maintenant le fonctionnement de l'organe 300 d'arbitrage de bus en référence aux figures 3, 4 A, 4 B et 5 Le fonctionnement de l'organe 300 d'un module d'échantillonnage est décrit dans le cas d'événements se produisant dans les organes 300 d'arbitrage de bus d'autres modules Tous les organes 300 d'arbitrage de bus de tous les modules travaillent de la même manière. Au pas 402, au temps t = O, une impulsion d'horloge BUP 502 du signald'horloge BUP 226 marque le début d'une tranche temporelle actuelle BUP Le temps de cette tranche temporelle actuelle BUP est utilisé pour la détermination du module qui aura accès au bus pendant la tranche tempo- relle BUP suivante La tranche temporelle BUP suivante commence au temps t = 2 En outre, l'impulsion d'horloge BUP 502 remet le compteur 304 à une valeur initiale et rétablit la bascule 314 En outrez l'impulsion d'horloge BUT 502 met l'automate fini 302 à sa valeur hiérarchique initiale déterminée par le signal 366 de valeur initiale ou à une valeur hiérarchique remise à jour déterminée par le signal remis à jour 368. Au pas 404, le compteur 304 commence à compter les impulsions 504 de l'horloge 308 de temps d'accès L'horloge 308 de temps d'accès travaille à une fréquence supérieure à celle de l'horloge BUP 226 Ainsi, le compteur 306 divise essentiellement chaque tranche temporelle BUP en un nombre distinct de plus courtes tranches temporelles comme repré- senté sur la figure 5 La durée de ces tranches temporelles est définie par la période de l'horloge 308 de temps d'accès Par exemple, si l'horloge 308 de temps d'accès a une fréquence seize fois supérieure à celle de l'horloge BUP 226, le compteur 304 progresse (ou régresse) seize fois dans la tranche temporelle BUP Ainsi, dans cet exemple, le compteur 304 divise la tranche temporelle BUP en seize segments. Le compteur 304 commence à compter les impulsions 504 de l'horloge 308 de temps d'accès à partir d'une valeur initiale et transmet un signal 354 de valeur du compteur au comparateur 306 Le compteur 304 continue à compter les impulsions 504 jusqu'à ce que l'impulsion d'horloge BUP suivante 502 remette le compteur 304 à sa valeur initiale. Après remise à sa valeur initiale, le compteur 304 recom- mence à compter depuis cette valeur Dans un mode de réalisation préféré, le signal 304 de valeur initiale est sous forme d'un mot numérique La largeur du mot est choisie afin qu'elle prenne en compte la valeur maximale atteinte par le compteur 304 Cette valeur maximale peut être définie par le rapport de la fréquence 308 d'horloge de temps d'accès à la fréquence de l'horloge BUP 226. L'automate fini 302 indique l'ordre hiérarchique du module de façon continue pendant toute la période de la tranche temporelle BUP L'automate fini transmet un signal 352 de valeur hiérarchique du module (appelé état d'accès temporel 352) au comparateur 306 Chaque module qui est connecté au bus a un état original d'accès temporel 352 pour une tranche temporelle BUP donnée quelconque Dans un mode de réalisation préféré, l'état 352 d'accès temporel du module est indiqué sous forme d'un mot numérique La largeur de ce mot numérique est choisie afin qu'elle soit suffisamment grande pour permettre la représentation d'un état original d'accès temporel 352 pour chaque module. Lorsque le compteur 304 compte les impulsions 504, le comparateur 306 compare le signal 354 de valeur du compteur à l'état d'accès temporel 352 comme indiqué par l'automate fini 302. Au pas 406, lorsque le signal 354 de la valeur du compteur est égal à l'état d'accès temporel 352 (c'est-à- dire la valeur hiérarchique), le comparateur 306 transmet une impulsion de temps de comparaison 306 par le trajet 356 des signaux de sortie du comparateur L'impulsion 506 indique que l'état 352 d'accès temporel du module a été atteint par le compteur 304 L'apparition de cet événement est indiqué par le temps r = 1 sur la figure 5. Lorsque l'horloge 308 de temps d'accès divise la tranche temporelle BUP en seize segments comme dans l'exemple précité, seize nombres distincts sont produits par le compteur 304 dans une tranche temporelle BUP Ainsi, dans cet exemple, seize modules peuvent avoir des états originaux d'accès temporel 352 Chacun de ces états origi- naux 352 détermine une fenêtre originale d'accès temporel de la tranche temporelle BUP. Au pas 408, lorsqu'un autre module d'ordre hiérar- chique supérieur à celui du module concerne a demandé l'accès au bus pour la tranche temporelle BUP suivante, la ligne d'arbitrage 204 est déjà à un faible niveau (comme décrit dans la suite), et l'opération d'arbitrage est terminée Le module concerné n'a pas accès à la tranche temporelle suivante L'opération d'arbitrage commence à nouveau au pas 402 avec l'impulsion d'horloge BUP suivante 502 de l'horloge BUP 226 D'autre part, si le -bus est disponible dans la tranche temporelle BUP suivante, l'or- gane 300 d'arbitrage de bus continue l'opération au pas 410 Le pas 408 est décrit plus en détail dans la suite. Au pas 410, l'impulsion 506 de temps de comparaison est transmise à la bascule 314 à la voie d'entrée S. L'impulsion 506 de temps de comparaison met à un niveau élevé la voie de sortie Q de la bascule 314 En consé- quence, le signal de sortie 360 de la bascule passe à un niveau élevé. Au pas 412, si le module ne demande pas l'accès au bus pour la période suivante d'arbitrage, un signal 362 de demande de bus a un faible niveau et l'opération d'arbi- trage de ce module est terminée L'arbitrage commence à nouveau au pas 402 avec l'impulsion suivante d'horloge BUP 502 de l'horloge BUP 226. Cependant, si le module demande l'accès au bus pour la période suivante d'arbitrage, le module affecte un signal élevé 362 de demande de bus Au pas 414, le signal élevé 360 de sortie de bascule et le signal élevé 362 de demande de bus transmis à la porte ET 320 provoquent le passage à un niveau élevé du signal 364 de bus disponible. Lorsque ce signal 364 a un niveau élevé, le transistor 316 est mis à l'état conducteur Le collecteur du transistor 316 est connecté à la ligne 204 d'arbitrage de bus et la source est connectée à la masse La ligne 204 d'arbitrage de bus reste à un niveau élevé parce qu'une résistance élévatrice 322 est à la tension Vcc Ainsi, lorsque le transistor 316 est mis à l'état conducteur par le signal 364 de bus disponible à sa base, la ligne d'arbitrage de Ibus 204 est mise à la masse Lorsque la ligne 204 est à un niveau élevé, aucun autre module ne peut avoir accès au bus. En outre, le signal 364 de bus disponible indique au module que celui-ci a accès au bus pour la tranche tempo- relle suivante BUP. Dans le mode de réalisation préféré, le transistor 316 est un transistor bipolaire Comme peuvent le noter les hommes du métier, n'importe quel type de dispositif de commutation électrique suffisamment rapide peut avoir la même fonction que le transistor 316 D'autres dispositifs de commutation comprennent des dispositifs à transistor à effet de champ MOS ou des portes logiques normales qui peuvent faire passer la ligne d'arbitrage au potentiel de la masse. Au pas 416, au temps r = 2, le module ayant gagné l'accès transmet son paquet par le bus A ce moment, l'opération d'arbitrage commence à nouveau au pas 402. L'impulsion 502 d'horloge BUP 226 remet le compteur 304 à sa valeur initiale, remet à jour (ou remet à l'état ini- tial) l'ordre hiérarchique de l'automate fini 302 et rétablit la bascule 314 Lorsque la bascule 314 est réta- blie, son signal de sortie 360 est à un faible niveau Ceci provoque le passage à un faible niveau du signal 364 de bus disponible et l'arrêt de la conduction du transistor 316. Lorsque le transistor 316 ne conduit plus, la ligne 204 d'arbitrage est mise à un niveau élevé par la résistance élévatrice 322. Comme décrit précédemment au pas 408, le module concerné n'a pas accès au bus à moins qu'aucun module d'ordre hiérarchique plus élevé ne demande l'accès On décrit maintenant en détail comment cette détermination est exécutée Le compteur 304 de chaque module compte des impulsions 504 d'horloge 308 de temps d'accès Dans un exemple de mode de réalisation, le compteur 304 est sous forme d'un compteur croissant et il commence à compter à une valeur initiale égale à zéro Ainsi, un module ayant un état d'accès temporel inférieur 352 crée son impulsion de temps de comparaison 506 avant un module ayant un état d'accès temporel plus élevé 352 Le premier module à créer l'impulsion 506 de temps de comparaison et à demander le bus avec un signal élevé 362 de demande de bus fait passer la ligne d'arbitrage 204 à un faible niveau comme décrit précédemment L'accès est donné à ce module pour la tranche temporelle BUP suivante En conséquence, l'accès à tous les autres modules doit être interdit. Lorsqu'un module a fait passer la ligne d'arbitrage 204 à un faible niveau, un circuit tampon 310 de chaque circuit 300 d'arbitrage de bus affecte un signal d'occupa- tion de bus 358 de faible niveau à une entrée d'une porte ET 318 Ce signal 358 d'occupation de bus de faible niveau empêche l'établissement de la bascule 314 par l'impulsion 506 de temps de comparaison Ainsi, lorsqu'un module fait passer la ligne d'arbitrage 204 à un faible niveau, aucun autre module ne peut mettre le signal de sortie de sa bascule 360 à un niveau élevé, créer un signal de bus disponible de niveau élevé 364, et avoir accès au bus pour la tranche temporelle BUP suivante. D'autres modes de réalisation peuvent être envisagés dans des variantes de réalisation de l'organe 300 d'arbi- trage de bus Par exemple, la bascule 314 peut être une bascule JK commandée par l'impulsion de temps de compa- raison 506 L'entrée J est constituée par le signal de demande de bus 362 dans ce mode de réalisation Ainsi, lorsque ce signal 362 a un niveau élevé et une impulsion de temps de comparaison 506 apparaît, la sortie Q est un signal de niveau élevé La bascule JK est encore rétablie par l'horloge BUP 226. Une variante d'organe 300 d'arbitrage de bus peut être réalisée par remplacement du compteur 304 par un automate fini et par élimination de l'automate fini 302 La figure 6 est un schéma représentant cette variante d'organe 300 d'arbitrage de bus Comme l'indique la figure 6, un numéro 652 d'accès de module est câblé dans le comparateur 306 Ce numéro 652 est propre à chaque module Chaque module initialise un automate fini 602 avec une valeur originale 656 d'initialisation Les impulsions de l'horloge 308 de temps d'accès font progresser l'automate fini 602 A chaque impulsion de l'horloge de temps d'accès 308, le signal de sortie 654 de l'automate fini progresse Le comparateur 306 compare le signal 654 de sortie de l'auto- mate fini au numéro 652 d'accès au module Lorsque les numéros correspondent, une impulsion 506 de temps de comparaison est créée L'impulsion 506 est utilisée pour faire passer la ligne 204 d'arbitrage de bus à un faible niveau, comme dans le mode de réalisation préféré Une impulsion 502 du signal 226 d'horloge BUP fait progresser l'automate fini à un nouvel état au début de chaque nou- velle tranche temporelle BUP. On se réfère à nouveau à la figure 3; on peut envisager un autre mode de réalisation dans lequel le signal 358 de bus occupé est directement acheminé au compteur 304 (et non à la porte ET 318 comme représenté). Dans ce mode de réalisation, le compteur 304 ne peut pas compter lorsque le signal 358 d'occupation de bus a un faible niveau La porte ET 318 n'est donc pas nécessaire. Dans un autre mode de réalisation d'organe 330 d'arbitrage de bus, le signal 362 de demande de bus est transmis à une porte ET 318 permettant l'accès au bus ou l'empêchant sans que la porte ET 320 ne soit nécessaire. Ces variantes sont des exemples des nombreux modes de réalisation fonctionnellement équivalents du circuit d'arbitrage de bus selon l'invention. Techniques d'hiérarchisation L'arbitrage de bus selon l'invention donne de la souplesse pour l'affectation et la remise à jour des ordres hiérarchiques des modules De nombreuses techniques d'hié- rarchisation sont envisagées, pour la détermination des ordres hiérarchiques des modules Divers schémas d'hiérar- chisation peuvent être mis en oeuvre en fonction des conditions fixées par le système d'ordinateur, si bien que les performances du système sont optimisées Des exemples de telles techniques d'hiérarchisation sont schématisées dans le texte qui suit. On se réfère à nouveau à la figure 3; comme indiqué précédemment, l'ordre hiérarchique d'un module est commandé par l'automate fini 302 Celui-ci transmet un état 352 d'accès temporel indiquant l'ordre hiérarchique du module. Dans sa configuration la plus simple, l'automate fini 302 est un numéro fixe câblé Dans cette configuration, chaque module se voit affecter un numéro original fixe d'ordre hiérarchique (état d'accès temporel 352) L'ordre hiérarchique peut être affecté suivant un certain nombre de stratégies différentes Par exemple, le numéro d'ordre hiérarchique de chaque module peut être affecté d'après *l'emplacement du module sur le bus. Dans un mode de réalisation préféré, l'automate fini 302 est réalisé de manière qu'il soit remis à jour à chaque impulsion d'horloge BUP 502 Ceci permet la modification de l'ordre hiérarchique de chaque module dans chaque tranche temporelle BUP Les automates finis 302 de tous les modules doivent être synchronisés et identiques afin que l'état d'accès temporel 352 soit propre à chaque module. Divers schémas d'ordre hiérarchique destinés à déterminer l'ordre hiérarchique des modules à chaque impulsion d'horloge BUP 502 peuvent être réalisés La réalisation de ces divers schémas est obtenue par change- ment de la réalisation de l'automate fini 302 Dans un exemple, un simple schéma hiérarchique peut être réalisé par utilisation d'un compteur modula N comme automate fini 302 Dans ce schéma, le compteur modulo N est initialisé avec le numéro du module L'initialisation est réalisée par transmission d'un signal d'initialisation 366 à l'automate fini 302 Après initialisation, tous les compteurs modulo N des modules régressent à chaque tranche BUP sous la com- mande de l'impulsion 502 d'horloge BUP Ainsi, après chaque tranche temporelle BUP, l'ordre hiérarchique de chaque module est augmenté d'une unité Si un module demande l'accès au bus et l'obtient pendant une tranche temporelle BUP, la fenêtre 352 d'accès temporel du module est décalée d'un temps d'accès plus tard lorsque l'impulsion d'horloge BUP 502 diminue d'une unité le compteur modulo N Le module qui a l'état d'accès temporel de plus faible ordre hiérar- chique est décalé à l'état temporel d'ordre hiérarchique le plus élevé et tous les autres modules présentent une réduction de l'ordre hiérarchique. Dans une variante, un schéma circulaire peut être réalisé par décalage de l'état d'accès du module qui a accès au bus VPB à l'ordre hiérarchique le plus faible (dernier accès temporel) et par augmentation de l'ordre hiérarchique de tous les modules qui ont un ordre hiérar- chique plus faible Dans ce cas, un module quelconque ayant un état d'accès postérieur à celui du module qui a l'accès au bus fait progresser les états, ceux qui ont un ordre hiérarchique plus élevé restant à l'état actuel et l'utili- sateur le plus récent du bus passant au dernier temps d'accès La ligne de remise à jour de l'automate fini commande l'automate fini. Un générateur de séquence pseudo-aléatoire (PRS) peut aussi être utilisé pour la création de l'état de temps d'accès Si tous les modules ont des générateurs PRS identiques et si chaque module initialise le générateur à un état original, par exemple par son numéro de module, tous les générateurs PRS progressent à chaque tranche BUP et donnent à tous les modules le même ordre hiérarchique moyen à long terme L'automate fini peut être une machine quelconque qui produit un état unique pour chaque module et qui peut être synchronisée par l'initialisation Il peut aussi utiliser des procédés de consultation de tables. 6 Extension de la capacité des modules Dans la technique d'arbitrage décrite précédemment, le nombre de modules qui peuvent demander l'accès au bus est limité par le rapport de l'horloge de temps d'accès à l'horloge BUP En d'autres termes, le nombre de modules qui peuvent demander l'accès au bus est limité au nombre de fenêtres de temps d'accès qui peuvent être créées dans une tranche temporelle de bus. Au point de vue de la réalisation, il est souhai- table de réduire au minimum le rapport de l'horloge de temps d'accès à l'horloge de temps BUP Ceci a cependant pour effet de limiter le nombre de modules qui peuvent être incorporés à la configuration du système. Cette restriction peut être supprimée par réalisa- tion des modules par groupes Dans cette réalisation, une seule ligne d'arbitrage est utilisée pour chaque groupe de modules Les lignes d'arbitrage sont utilisées pour la détermination de l'ordre hiérarchique des groupes ainsi que de l'ordre hiérarchique des modules individuels. La figure 7 représente deux modules, un pour chacun de deux groupes Le principe d'ordre hiérarchique des groupes est décrit avec deux groupes de modules Il est évident pour l'homme du métier que ce principe peut être étendu à un nombre quelconque de groupes de modules Comme l'indique la figure 7, un module Ai est représenté comme appartenant à un groupe A Un module Bl est représenté comme appartenant à un groupe B Deux lignes d'arbitrage 704 A, 704 B forment une interface avec tous les modules du groupe A et du groupe B Un seul module est représenté dans chaque groupe, par raison de simplicité. Chaque module comporte un circuit logique 702 d'ordre hiérarchique de groupe Ce circuit 702 est utilisé pour la solution des conflits d'accès au bus parmi les groupes. Un signal 732 d'ordre hiérarchique est transmis au circuit logique 702 d'ordre hiérarchique de groupes Le signal 732 indique l'ordre hiérarchique du groupe Chaque groupe a une valeur originale d'ordre hiérarchique repré- sentée par le signal 732 d'ordre hiérarchique. Tous les modules du groupe B peuvent avoir accès au bus de la manière décrite dans les modes de réalisation préférés précités Dans l'hypothèse o le groupe B a l'ordre hiérarchique le plus élevé, lorsqu'un module du groupe B a accès au bus, la ligne d'arbitrage 704 B passe à un faible niveau sous l'action du transistor 706 Lorsque la ligne d'arbitrage 704 B est mise à un faible niveau, un signal de faible niveau est reçu par un circuit tampon 708 A du groupe A, et ce signal de faible niveau est transmis au circuit logique 702 A d'ordre hiérarchique de groupe à une entrée Q Ce faible signal à l'entrée Q du circuit logique 702 A d'ordre hiérarchique de groupe a pour effet d'empêcher la mise à l'état conducteur du transistor 706 A par un module du groupe A et la mise à un faible niveau de la ligne d'arbitrage 704 A. 7 Fonctionnement aux vitesses élevées La vitesse de la ligne d'arbitrage est un facteur primordial pour la vitesse globale du bus à paquets vir- tuels selon la présente invention La ligne d'arbitrage peut être réalisée avec une fibre optique pour l'augmenta- tion de la largeur de bande La figure 8 représente une réalisation de ligne d'arbitrage ayant une fibre optique. On décrit maintenant la réalisation à fibre optique en référence à la figure 8 La ligne d'arbitrage 802 est réalisée avec une fibre optique La fibre optique peut être sous forme d'une fibre optique non cohérente ou sous forme d'un tube de lumière La ligne 802 d'arbitrage à fibre optique est connectée au circuit d'arbitrage par un cou- pleur optique 804 Une photodiode 808 (diode photoémissive) transforme le courant électrique en un signal optique 810. Ce signal 810 est couplé à la ligne d'arbitrage 802 par un coupleur optique 804 Ainsi, lorsque le transistor 316 est mis à l'état conducteur par un signal de bus disponible 364 de niveau élevé (comme dans le mode de réalisation précé- dent), le courant circule dans la diode photoémissive 808. La lumière provenant de cette diode 808 est couplée à la ligne d'arbitrage 802 En conséquence, lorsqu'un module a accès à la tranche temporelle BUP suivante, la lumière est présente dans la ligne d'arbitrage 802. Une photodiode 812 reçoit l'énergie optique du coupleur optique 804 L'absence de lumière dans la ligne d'arbitrage 802 provoque une réduction du courant de la photodiode 812 à un niveau connu comme étant le niveau du courant d'obscurité A ce niveau du courant d'obscurité, le courant dû à Vcc ne peut pas être transmis à la masse, et un signal logique élevé est présenté à l'entrée du circuit tampon 310. D'autre part, si la lumière est présente dans la ligne d'arbitrage 802, la photodiode 812 transmet la tension Vcc à la masse et présente un signal de faible niveau à l'entrée du circuit tampon 310. Il est bien entendu que l'invention n'a été décrite et représentée qu'à titre d'exemples préférentiels et qu'on pourra apporter toute équivalence technique dans ses éléments constitutifs sans pour autant sortir de son cadre. Légende des figures Figure 4 A 402 l'impulsion d'horloge BUP marque le début de la tranche temporelle BUP et remet à l'état initial les organes d'arbitrage de bus 404 compte les impulsions 504 d'horloge 308 de temps d'accès et compare à l'ordre hiérarchique du module 406: crée une impulsion de temps de comparaison 506 lorsque la valeur comptée est égale à l'ordre hiérarchique du module 408: le bus est-il encore disponible ? 410: l'impulsion de temps de comparaison 506 établit le signal de sortie Q de la bascule à un niveau élevé Figure 4 B 412: le module demande-t-il l'accès ? 414: indique au module que le bus est disponible et met la ligne d'arbitrage 204 à un faible niveau 416: au temps z = 2, le module transmet son paquet au bus et l'arbitrage recommence au pas 402. i M Il. & 2694828 REVENDICATIONS 1 Bus d'ordinateur destiné à transférer des données entre plusieurs modules qui lui sont couplés, caractérisé en ce qu'il comprend: (a) plusieurs lignes ( 202) de données couplées à chaque module ( 208) et destinées au transfert de bits de mots, (b) une ligne unique d'arbitrage ( 204) couplée à chaque module, (c) une horloge de paquets de bus BUP ( 226) couplée à chaque module et destinée à diviser temporellement le bus en périodes de cycle appelées tranches temporelles BUP, (d) une horloge ( 308) de temps d'accès, couplée à chaque module et destinée à diviser les tranches tempo- relles BUP en tranches de temps d'accès, et (e) un circuit d'arbitrage ( 300) pour chaque module du bus, couplé à l'horloge BUP, à la ligne d'arbitrage et à l'horloge de temps d'accès et ayant une configuration permettant l'arbitrage des demandes d'accès au bus entre les modules. 2 Bus d'ordinateur selon la revendication 1, caractérisé en ce que les tranches temporelles BUP ont une durée suffisante pour qu'un paquet contenant plusieurs mots puisse être transféré entre les modules ( 208) pendant une tranche temporelle BUP. 3 Bus d'ordinateur selon la revendication 1, caractérisé en ce que le circuit d'arbitrage ( 300) de chaque module comprend: ( 1) un automate fini ( 302) ayant une entrée couplée à l'horloge BUP, et une sortie couplée à un comparateur, ( 2) le comparateur ( 306) ayant une entrée couplée à l'automate fini et une sortie couplée à -une bascule et ayant une configuration transmettant une impulsion de temps de comparaison, ( 3) la bascule ( 314) ayantune première entrée couplée au comparateur et commandée par un signal d'occupation de bus donné par la ligne d'arbitrage, et une sortie destinée à transmettre un signal de bus disponible, et ( 4) un transistor ( 316) ayant une base couplée à la sortie de la bascule, un émetteur couplé à la masse et un collecteur couplé à la ligne d'arbitrage, le transistor étant destiné à mettre la ligne d'arbitrage à un faible niveau lorsque le module affecte le signal de bus disponible. 4 Bus d'ordinateur selon la revendication 3, caractérisé en ce que: le circuit d'arbitrage ( 300) comporte en outre un compteur ( 304) ayant une première entrée couplée à l'hor- loge BUP, une seconde entrée couplée à l'horloge de temps d'accès, et une sortie couplée au comparateur, le compteur ayant une configuration telle qu'il compte les impulsions de l'horloge de temps d'accès, qu'il est réinitialisé lors d'impulsions de l'horloge BUP et qu'il donne un signal de valeur de compteur, et l'automate fini ( 302) a une configuration donnant un signal de valeur d'ordre hiérarchique au comparateur. Bus d'ordinateur selon la revendication 4, caractérisé en ce que le circuit d'arbitrage comporte en outre une porte ET ( 320) couplée à la bascule ( 314), commandée par un signal de demande de bus et par le signal de sortie de la bascule et destinée à transmettre le signal de bus disponible uniquement lorsque le module demande J.'accès au bus. 6 Bus d'ordinateur selon la revendication 4, dans lequel le comparateur ( 306) est couplé à la bascule ( 314) par une porte ET ( 318), et la porte ET a une entrée couplée à la ligne d'arbitrage ( 204). 7 Bus d'ordinateur selon la revendication 3, comprenant en outre un circuit tampon couplé à la ligne d'arbitrage ( 204) avec une configuration donnant le signal de bus occupé. 8 Bus d'ordinateur selon la revendication 3, caractérisé en ce que le comparateur ( 306) a en outre une entrée dont la configuration permet la réception d'un numéro d'accès de module, et l'automate fini ( 302) a une configuration donnant un signal de sortie qui progresse, et l'automate fini a en outre une configuration telle qu'il reçoit une valeur d'initialisation. 9 Bus d'ordinateur selon la revendication 8, caractérisé en ce que le circuit d'arbitrage ( 300) comporte en outre une porte ET ( 320) couplée à la bascule ( 314) et au transistor ( 316), commandée par un signal de demande de bus et commandée par un signal de sortie de la bascule afin qu'elle transmette le signal de bus disponible uniquement lorsque le module demande l'accès au bus. Bus d'ordinateur selon la revendication 8, caractérisé en ce que le comparateur ( 306) est couplé à la bascule ( 314) par l'intermédiaire d'une porte ET ( 318), et la porte ET a une entrée couplée à la ligne d'arbitrage. 11 Bus d'ordinateur selon la revendication 8, caractérisé en ce qu'il comprend en outre une résistance élévatrice ( 322) couplée entre la ligne d'arbitrage et une tension Vcc' et ayant une configuration telle que la ligne d'arbitrage ( 204) est maintenue à un niveau élevé à moins que le transistor ne soit mis à un état conducteur. 12 Bus d'ordinateur selon la revendication 3, caractérisé en ce que la ligne d'arbitrage ( 802) est un câble à fibre optique, et le circuit d'arbitrage comporte en outre: ( 5) une première photodiode ( 808) couplée entre la tension Vcc et le transistor ( 316) et ayant une configura- tion telle qu'elle émet de la lumière lorsque le transistor est mis à l'état conducteur par le signal de bus disponible, ( 6) une seconde photodiode ( 812) couplée entre la tension Vcc et la masse et ayant une configuration donnant un signal de bus occupé de faible niveau lorsque la seconde photodiode conduit un courant sous l'action de la lumière dans la ligne d'arbitrage de la fibre optique, et ID O ( 7) des coupleurs optiques ( 804) destinés à coupler la lumière de la première photodiode à la ligne d'arbitrage à fibre optique et à coupler la lumière sortant de la ligne d'arbitrage à fibre optique à la seconde photodiode. 13 Bus d'ordinateur selon la revendication 1, caractérisé en ce qu'il comprend plusieurs lignes d'arbi- trage ( 704 A, 704 B) couplées à chacun des modules et desti- nées à assurer l'arbitrage entre des groupes (A, B) de modules, et le circuit d'arbitrage comporte en outre un circuit logique ( 702 A, 702 B) d'arbitrage de groupe couplé à l'une au moins des lignes d'arbitrage. 14 Procédé d'arbitrage de l'accès de plusieurs modules à un bus d'ordinateur ayant une ligne d'arbitrage ( 204), caractérisé en ce qu'il comprend les étapes suivantes: ( 1) la division dans le temps du bus en cycles de bus appelés tranches temporelles BUP, la durée de la tranche temporelle BUP étant définie par utilisation d'une horloge BUP, ( 2) la division supplémentaire de la tranche tempo- relle BUP en plusieurs tranches de temps d'accès à l'aide d'une horloge de temps d'accès, la fréquence de l'horloge de temps d'accès étant un multiple de la fréquence de l'horloge BUP, ( 3) pour chaque module ( 208), la comparaison d'une valeur d'ordre hiérarchique du module à une valeur repré- sentant le nombre de tranches temporelles d'accès qui se sont écoulées, ( 4) la transmission d'une impulsion de temps de comparaison lorsque la valeur d'ordre hiérarchique est égale à la valeur représentant le nombre de tranches temporelles d'accès qui se sont écoulées, ( 5) la création d'un signal de bus disponible en fonction de l'impulsion de temps d'ordinateur, de la disponibilité du bus et du signal de demande de bus, et ( 6) la mise à un faible niveau de la ligne d'arbi- trage ( 204) avec le signal de bus disponible. Procédé selon la revendication 14, caractérisé en ce qu'il comporte en outre la remise à jour de la valeur hiérarchique de chaque module ( 208) au début de la tranche temporelle BUP. 16 Procédé selon la revendication 14, caractérisé en ce que la tranche temporelle BUP est suffisamment longue pour permettre un transfert de données par paquets. 17 Bus d'ordinateur destiné au transfert de données entre plusieurs modules qui lui sont couplés, caractérisé en ce qu'il comprend: (a) plusieurs lignes de données ( 202) couplées à chaque module et destinées à transférer des bits de mots, (b) une seule ligne d'arbitrage ( 204) couplée à chaque module, (c) une horloge ( 226) de paquets de bus (BUP) couplée à chaque module et destinée à diviser temporelle- ment le bus en périodes de cycle appelées tranches tempo- relles BUP, (d) une horloge de temps d'accès ( 308) couplée à chaque module et destinée à diviser les tranches tempo- relles BUP en tranches de temps d'accès, et (e) un dispositif d'arbitrage des demandes des modules d'accès au bus d'ordinateur, couplé à l'horloge BUP, à la ligne d'arbitrage et à l'horloge de temps d'accès. 18 Bus d'ordinateur selon la revendication 17, caractérisé en ce que le dispositif d'arbitrage comprend ( 1) un premier dispositif ( 304) de comptage d'impul- sions d'horloge de temps d'accès, destiné à transmettre un premier signal représentant le nombre d'impulsions comptées, ( 2) un second dispositif ( 306) de comparaison du premier signal à un nombre représentant un ordre hiérar- chique du module, et à transmettre une impulsion de temps de comparaison, ( 3) un troisième dispositif ( 314) destiné à trans- mettre un signal de bus disponible, couplé au second 1 I-21 2694828 dispositif et commandé par un signal de bus occupé et par l'impulsion de temps de comparaison, et ( 4) un quatrième dispositif ( 316) destiné à mettre à un faible niveau la ligne d'arbitrage, couplé au troisième dispositif et à la ligne d'arbitrage et commandé par le signal de bus disponible. 19 Bus d'ordinateur selon la revendication 18, caractérisé en ce que le dispositif d'arbitrage comporte un cinquième dispositif ( 602) d'initialisation et de remise à jour du numéro d'accès du module, couplé au second dispositif.