FR 2490434 A1 19820319 FR 8019751 A 19800912 - 1 - DISPOSITIF DE RESOLUTION DES CONFLITS D'ACCES ET D'ALLOCATION D'UNE LIAISON DE TYPE BUS INTERCONNECTANT UN ENSEMBLE DE PROCESSEURS NON HIERARCHISES La présente invention concerne les systèmes multiprocesseurs à structure répartie, parallèles et asynchrones et dont la liaison d'in- terconnexion est un bus. Dans les systèmes de ce type, chaque processeur est raccordé au bus par une interface logicielle et matérielle: ce coupleur assure d'une part la gestion des protocoles d'échange des données entre le processeur expéditeur (ou demandeur) et le processeur destinataire (ou serveur)et d'autre part, réalise les fonctions de l'invention. Il y a autant de coupleurs que de processeurs, ils sont tous identiques et on conviendra d'appeler station, l'association d'un processeur et du coupleur rattaché. Dans tout système de processeurs parallèles et asynchrones orga- nisé autour d'une ressource ou de ressources communes, ici le bus, les situations de conflit sont inévitables lorsque deux ou plusieurs stations tentent d'accéder simultanément au bus afin de transmettre des infor- mations vers d'autres stations ainsi qu'à la libération du bus, à la prise duquel deux ou plusieurs stations s'étaient portées candidates tandis qu'il était indisponible parce qu'y transitaient des informations. Pour éviter les collisions d'accès nuisibles au bon fonctionnement de l'ensemble du système, on fait appel aux dispositifs d'arbitrage qui ont pour rôle de ne sélectionner qu'une station parmi celles qui sont en conflit (parce que simultanément candidates) puis d'allouer le bus à celle-ci le temps nécessaire pour qu'elle y propage un message d'in- formations. A l'issue de ce temps, les stations provisoirement rejetées tentent de nouveau l'accès au bus activant les dispositifs d'arbitrage et ainsi de suite... On notera également que les systèmes multiprocesseurs organisés autour d'une liaison bus réalisent facilement la technique de l'adressage logique par diffusion. Une station demanderesse d'un service, d'une tâche, d'une fonction... exécutable par une station du système peut ignorer l'implantation géographique et le nom (ou étiquette physique) de cette station ou des stations dans le cas d'une multiplication de la fonction pour des raisons de partage de travail ou de sûreté de fonction- nement. Il lui suffit en effet de diffuser le nom logique de la fonction - 2 - 2490434 (ou du service, ou de la tâche) sur le bus de DONNEES pour que la ou les stations capables de la traiter prennent la demande en compte à l'issue d'un seul message. Les avantages sont importants: 1. il n'y a pas de tables logicielles associant le nom logique de la fonction aux adresses des stations pouvant l'éxécuter à consulter au préalable. 2. accès immédiat à une station disponible sans avoir recours à une recherche en séquence dans le cas o la première station adressée physiquement était ou surchagée ou défaillante. 3. reconfiguration rapide, car il n'y a plus la mise à jour des tables logicielles mentionnées au point 1. 4. possibilité pour chaque station de reconnaître plusieurs adresses logiques. La difficulté à résoudre consiste à ne sélectionner qu'une station parmi éventuellement toutes celles qui sont capables d'exécuter la fonction. Un dispositif d'arbitrage des serveurs réalise cette opération. L. NISNEVICH & E. STRASBOURGER dans "DECENTRALIZED PRIORITY CONTROL IN DATA COMMUNICATION", Second Annual Symposium on Computer Architecture, Houston, Texas, 20 - 22 janvier 1975, page 1 à 6, ont proposé un dispo- sitif d'arbitrage consistant à émettre une information sur un bus commun et à comparer celle-ci à l'état réel de ce bus; en cas de divergence, la station émettrice se retire d'elle-même. Dans le dispositif de l'invention, il y a, comme dans le dispositif de NISNEVICH, une station qui prend la maîtrise du bus de DONNEES lors d'un conflit, car on alloue à chaque station une priorité dynamique. Mais le dispositif de l'invention diffère du mécanisme de NISNEVICH par les points suivants: 1. il utilise un principe de codage des arbitres original (tempo- risation) qui, à performances égales, ne nécessite qu'une liaison fonc- tionnelle (au lieu de 2), le bus d'ARBITRAGE et le bus d'OCCUPATION peu- vent en effet être confondus. 2. il est plus économique en matériel que les allocateurs du type NISNEVICH à liaisons parallèles tout en étant plus rapide, car il permet le parallélisme allocation-transmission dans le cas o l'on dis- tingue le bus d'ARBITRAGE du bus d'OCCUPATION. 3. enfin, il permet la sélection des serveurs sans liaison spé- cialisée supplémentaire. - 3 - Le dispositif de l'invention apporte une solution économique, performante et sûre, aux problèmes liés aux conflits d'accès aux liaisons bus, c'est-à-dire: - qu'il assure la maîtrise du bus de données à un seul demandeur à la fois, quelle que soit l'importance du trafic; - qu'il garantit un service équitable des demandes d'accès par l'absence de hiérarchie, régulant de cette manière l'écoulement des flux de données sans avoir recours aux techniques de type contrôleur centralisé ou au surdimensionnement; - qu'il permet l'allocation dynamique et provisoire d'une priorité d'accès; - qu'il garantit le rendement maximum des échanges inter-stations grâce à la possibilité de recouvrement des phases d'allocation et de transmission; - qu'il permet l'arbitrage et la sélection des candidats serveurs sans avoir recours à un dispositif particulier. L'invention va être maintenant décrite en détail en relation avec les dessins annexés dans lesquels: - la Fig. 1 représente sous la forme d'un diagramme de blocs le système de processeurs en parallèle reliés à un bus de DONNEES commun les interconnectant et montre l'existence dans chaque station d'un allocateur conforme à l'invention; - la Fig. 2 représente sous la forme d'un diagramme de blocs un allocateur; - les Figs. 3, 4 et 5 sont des chronogrammes d'arbitrage entre candidats "demandeurs" simultanés,candidats "serveurs" simultanés et candidats "demandeurs" et "serveurs"; - les Figs. 6 et 7 expliquent la différence entre un système de processeurs en parallèle avec phases d'allocation et de transmission en série et phases d'allocation et de transmission en parallèle, le système de l'invention appartenant au second type; - la Fig. 8 représente un circuit d'arbitrage "demandeurs" - la Fig. 9 représente un circuit d'arbitrage "serveurs"; et - les Figs. 10 et 11 sont relatives à la détermination de la différence minimale entre les durées de deux signaux de temporisation d'arbitrage. - 4 - En se référant à la Fig. 1, plusieurs processeurs 11, 12... N sont reliés par l'intermédiaire de connexions 1101, 1102,... 110N, de coupleurs 21, 22,... 2N et de connexions 401, 402 -... 40N à un bus de TRANSMISSION DE DONNEES 4. Ces processeurs sont également reliés par l'intermédiaire de connexions (1111 - 1151), (1112 - 1152)... (111N 115N), d'allocateurs 31, 32'... 3 et de connexions 501, 502' N et 601, 6023... 60N respectivement à un bus ARBITRE 5 et à un bus d'OCCCUPATION 6. Les allocateurs 31 32 3N sont des automates câblés dont la structure est représentée sur la Fig. 2. Un allocateur 3 est cons- titué d'un oscillateur piloté par quartz 301, d'un générateur de tempo- risations d'arbitrage 300, d'un arbitre "demandeurs" 3000 et d'un arbitre "serveurs" 3500. Le générateur d'arbitrage 300 est activé par un signal "départ" émis soit sur le fil 3010 par l'arbitre "demandeurs" 3000, soit sur le fil 3510 par l'arbitre "serveurs" 3500 et qui lui parvient par la porte OU 307 et le fil-310. Ce signal "départ" provoque la délivrance sur le fil 311 d'un signal "test" après décomptage, dans un décompteur 302 de la temporisation prise au hasard dans le champ de codes binaires 303. Un signal "forçage priorité" peut par le fil 325 positionner le générateur de temporisations 300 sur la temporisation la plus forte par commande du processeur. L'allocateur comprend en outre un décodeur 304 qui reçoit des informations binaires de commande générées par le processeur de la sta- tion et dont la signification apparait sur le tableau I ci-après qui n'est autre que le tableau en légende de la Fig. 2. - 5 - 24PO434 TABLEAU I Codage de signaux de commande Des circuits d'interface 305 avec le bus ARBITRAGE 5 et 306 avec le bus d'OCCUPATION 6 connectent respectivement aux bus 5 et 6 le circuit d'ARBITRAGE "demandeurs" 3000 et le circuit d'ARBITRAGE "serveurs" 3500. Un allocateur est donc un organe autonome, indépendant physi- quement de la liaison 40 au bus de transmission de données, inter- connecté d'une part à ses homologues par 2 liaisons bus spécialisées 5 et -6 et d'autre part, au processeur de la station à laquelle il appartient par 5 liaisons point à point 111 - 115. Le bus ARBITRE 5 et le bus OCCUPATION 6 sont des liaisons physiques multipoints et monofilaires pouvant atteindre une longueur de plusieurs dizaines de mètres; l'un supporte les codes d'arbitrage, l'autre indique la disponibilité ou l'occupation du bus de DONNEES. Ils présentent tous deux 2 niveaux électriques OV,+ 3V correspondant aux niveaux logiques O et 1. Le Bus ARBITRAGE 5 Le niveau 1 (marquage) interdit la capture du bus de DONNEES à une station demanderesse ou une station serveur, la première doit attendre son démarquage (ou libération); la seconde est immédiatement rejetée. Le marquage à 1 est provoqué: - soit par un candidat demandeur ou serveur dans sa phase d'allocation A1 A2 A3 O O O O activation de l'arbitre demandeur 1 O O 1 libération de l'arbitre demandeur O 1 O 2 marquage de l'arbitre demandeur 1 1 O 3 activation del'arbitre serveur O O 1 4 Libération de l'arbitre serveur O 1 1 6 Forçage d'une temporisation prioritaire 6 - par l'émission de sa temporisation d'arbitrage; - soit par le demandeur maître et le serveur maître dans leur phase d'échange d'informations. Le Bus d'OCCUPATION 6 Il est à 1 durant toute phase d'échange entre un demandeur et un serveur. Il est à O lorsque le bus de TRANSMISSION DE DONNEES est au repos. La combinaison des états des bus ARBITRE et OCCUPATION autorise ou non les tentatives d'accès des allocateurs des stations demandeurs et serveurs. TABLEAU II BUS ARBITRE BUS OCCUPATION ARBITRE DEMANDEURS ARBITRE SERVEURS 6} 3000 3500 i. I 0 O autorisé rejeté O 1 attend autorisé I 0 attend rejeté 1 1 attend rejeté Les mécanismes d'arbitrage 3000 et 3500 se déroulent de la mnème manière entre des candidats demandeurs ou des candidats serveurs, mais l'un 3000 est activé lorsque le bus d'OCCUPATION 6 est à O, et l'autre 3500,1orsqu'il est à 1. Les chronogamnes des Figs. 3 et 4 explicitent le principe de résoluticn des conflits d'accès entre successivement des candidats demandeurs et serveurs. Les chronogammes de la Fig. 6 représentent une synthèse. En se référant a la Fig. 3 qui représentent des chronogammes d'arbitrage des stations "demandeurs" au temps tO,les stations 11, 12 et 1N activent simultanément leurs allocateurs 31, 32 et 3N en appliquant aux fils 1131 1151, 1132 - 1152 et 113N - 115N le signal 000. Le bus ARBITRE 5 est à O et le bus OCCUPATION 6 est à O. D'après le tableau I, les trois stations sont autorisée à émettre leur signal de temporisation d'arbitrage A1 pour 11, A2 pour 12 et AN pour 1N. On suppose que A1 AN > A2 En tl, finde la temporisation d'arbitrage A2 de 12. La station 12 teste l'état du bus ARBITRE. Il est occupé. La station 12 est re- jetée mais maintient sa candidature. En t2, fin de la temporisation d'arbitrage AN de la station 1N. Le bus ARBITRE est testé; il est occupé. La station 1N est rejetée mais maintient sa candidature. En t3, fin de la temporisation d'arbitrage A1 de la station 11 (c'est la plus longue des temporisations d'arbitrage). Le bus ARBITRE est testé; il est libre. La station 11 prend la maîtrise du bus de DONNEES. En t4 = t3 + T, les stations 12 et 1N activent de nouveau leurs allocateurs, un temps T après avoir détecté la libération du bus ARBITRE en t3. En t5, la station 12 est rejetée mais maintient sa sa candidature. En t6, la station 1N trouve le bus ARBITRE libre et prend la maîtrise du bus de DONNEES mais elle doit attendre la libération du bus d'OCCUPATION avant d'émettre son message. En t7, la station 1p tente la capture du bus de DONNEES; elle est immédiatement rejetée car le bus d'OCCUPATION est à 1. En t8, libération du bus d'OCCUPATION par la station 11. Les stations 12 et 1p activent leurs allocateurs (on suppose Ap En t9, marquage du bus d'OCCUPATION par la station 1N En t10, la station 1p est rejetée. En t11, la station 12 prend la maîtrise du bus de DONNEES mais n'émettra qu'en t13. On voit clairement qu'en to il y avait trois stations candidates simultanément et qu'elles ont été autorisées dans l'ordre 11, 1N, 12 de leurs temporisations d'arbitrage A1 > AN > A2. De même en temps t8, il y avait deux stations candidates simultanées et elles ont été auto- risées dans l'ordre 12, lp de leurs temporisation d'arbitrage A2 > AP' Une station demandeur, après avoir activé son allocateur, exprimant ainsi son désir d'accéder au bus de TRANSMISSION DE DONNEES, peut présenter les états suivants: - émission immédiate de la temporisation d'arbitrage, les bus ARBITRE et OCCUPATION étant à 0. - rejet par un allocateur plus prioritaire se soldant par une attente de libération du bus ARBITRE, laquelle provoque -8- l'émission de la temporisation d'arbitrage. - capture du bus de DONNEES avec émission imédiate d'un message ou attente de la liberation du bus de DDNNEES si celui-ci est occupé. - marquage du bus ARBITRE lorsqu'elle a trouvé un serveur. Un demandeurpeutcbnc attendre soit comme candidat a la prise, soit comme maître, procédure qui permnnet de réaliser le parallélisme allocation- transmission. En se référant maintenant à la Fig. 4 qui représente des chro- nogrammes d'arbitrage des stations "demandeurs" et "serveurs", on voit que: en to0, la-station 11 est candidat demandeur et émet sa tempori- sation d'arbitrage A1 en t1, la station 11 prend la maîtrise du bus de DONNEES. en t2, la station 11 marque le bus OCCUPATION et émet un pré- message contenant l'étiquette logique TRAD voulant dire TRADUCTION. en t3, les stations lx, 1y, susceptibles de remplir la fonction TRAD présentent simultanément leur candidature en serveur en activant leurs allocateurs qui émettent les temporisations AX et Ay. en t4, la station 1z susceptible de remplir également la fonction TRAD présente sa candidature mais trop tard, le bus ARBITRE étant pris par 1X et ly; la station Z est rejetée. en t5, la station 1X est rejetée, le bus ARBITRE étant à 1. en t6, 1Y libère le bus ARBITRE; elle est sélectionnée en serveur; elle émet un accusé de réception et marque le bus ARBITRE interdisant sa prise par un autre serveur. en t7, 11 a reçu l'accusé de réception indiquant la disponibilité de 1y comme serveur, 11 marque également le bus ARBITRE. en t8, 11 émet son message d'information à destination du ser- veur 1y. en t9, iy a reçu le message et libère le bus ARBITRE. en t10, 1y émet un nouvel accusé de réception vers 11. en t11, 11 a reçu l'accusé de réception; le message est parvenu à destination; elle libère les bus ARBITRE et OCCUPATION. Une station serveur ayant reconnu une adresse fonctionnelle (ici TRAD) dans le pré-message émis par le demandeur et, activant son allo- cateur, peut présenter les états suivants - rejet immédiat soit parce que le bus ARBITRE est à 1, soit parce que le bus OCCUPATION est à O émission de la temporisation d'arbitrage au terme de laquelle il y a: rejet si le bus ARBITRE reste à 1 - prise si le bus ARBITRE est à O Le chronogramme d'arbitrage entre candidats-serveurs fait apparaître la nécessité de la procédure d'échange de type "hand-shaking" entre une station "demandeur" et une station"serveur'. L'enchaî- nement étant le suivant: - le demandeur émet un pré-message contenant son adresse et une étiquette fonctionnelle - le serveur sélectionné renvoie un accusé de réception - le demandeur émet son message d'information - le serveur achève l'échange par un nouvel accusé de réception Un intervalle de temps T est réservé entre 2 marquages des bus ARBITRE et OCCUPATION. Il est nécessaire pour que le front de démarquage soit décelable pour toutes les stations candidates en attente du bus. Un signal trop bref serait en effet trop altéré à l'issue de sa propagation sur un bus de plusieurs mètres de longueur. Le parallélisme allocation-transmission Les chronogrammes des Figs. 3, 4 et 5 mentionnent cette possi- bilité du dispositif proposé, la comparaison entre la Fig. 6 et la Fig. 7 en souligne l'intérêt. En effet, la Fig. 6 de l'art antérieur qui présente l'enchaînement des opérations d'allocation et de transmission met en évidence les pertes de temps provoquées par les phases d'allocation, d'autant plus importantes que le trafic est élevé et que le rapport entre le temps d'allocation et le temps de transmission est élevé. S'il est possible de réduire les temps d'allocation à quelques microsecondes, cet "overhead" cumulé représente néanmoins une perte représentant dans certains cas jusqu'à 50 % du taux d'occupation utile du bus. La Fig. 7 représente la simultanéité entre phases d'allocation et phases de transmission, le bus de D0NNEES pouvant travailler ainsi à son rendement maximum. Les critères de sélection et l'allocation dynamique de priorité -Un conflit étant toujours résolu au profit de l'allocateur qui possède la temporisation la plus longue, il est indispensable que cette priorité tourne à travers les allocateurs afin que ceux-ci aient en moyenne la même chance d'accéder au bus lorsqu'ils présentent leur candidature. Pour cela, le dispositif de l'iînvention consiste à allouer à chaque allocateur un champ de codes binaires dans lequel est tiré au hasard le code qui fixera la temporisation d'arbitrage. Les codes seront nécessairement différents d'un allocateur à l'autre mais ils seront répartis de telle manière que la somme arith- métique des codes d'un champ soit la même pour chacun de ces champs, algorithme de répartition qui garantit un service en moyenne équitable. En régime de surcharge, le hasard peut cependant faire qu'une station candidate attende le bus au-delà d'une.durée qu'elle estime anormale, il se peut également qu'une station souhaite transmettre un message de caractère urgent, dans ces cas, la possibilité de forcer une priorité élevée est indispensable. Celle-ci sera une temporisation plus longue que toutes celles qui appartiennent aux champs de codes des allocations. C'est le signal FORCAGE PRIORITE qui active ce code prioritaire. Si l'application l'exige, il est également possible d'allouer à certaines stations des champs de codes ayant une valeur moyenne plus élevée que celle des autres stations. Les temporisations d'arbitrage Nécessairement toutes différentes, leur nombre total NT sera égal au nombre de stations Ns multiplié par leur nombre par station Nc NT = xs x Nc 11- La durée des phases d'allocation est variable, sa valeur maximum A max étant fonction de NT et de l'écart minimum Z entre deux tempo- risations. Sa valeur minimum A min doit être supérieure à Z et sa valeur moyenne est A max + A min Calcul de-l'écart Z La Fig. 10 représente trois stations 11, lp, et 1N, 1N étant la station extrême reliée au bus ARBITRE 5. La station 11 émet et les stations lp et 1N sont en attente de pouvoir émettre. La propagation des signaux sur le bus se fait à une vitesse O donnée, égale par exemple à 5 ns par mètre. La distance 11 à 1p est t et le temps de propagation est r=/6 La distance de lp à 1N est L et le temps de propagation est R = L/O La Fig. 11, ligne a représente l'instant de libération du bus ARBITRE par la station 11. La Fig. 11, lignes b et c montrentles instants de test en lp et en 1N en supposant la vitesse de propagation infinie. Le délai de temporisation de 1p est de (n+1) Z et le délai de tempo- risation de 1N est nZ. Le délai de temporisation de 1p étant plus grand que celui de 1N, le conflit d'accès se règle en faveur de lp. La Fig. 11, lignes d et e tiennent compte de la vitesse de propa- gation finie et montrent respectivement le tests de 1p à l'instant tp = T + r + (n+1) Z et le test de 1N à l'instant tN = T + r + R + nE Le test de lp parviendra à 1N à l'instant t'p= T + r + R + (n+1)E et le test de 1N parviendra à lp à l'instant t'N = T + r + 2R + nE L'allocateur de 1p comparera tp et t'N et l'allocateur de IN comparera tN et t'p et pour que le conflit soit réglé en faveur de 1p qui a la plus longue temporisation, il faut en 1p tp > t'N Et en 1iN t'p> tN - 12 - la seconde équation est toujours vérifiée. Le premier donne r > 2R Si Z est inférieur à 2R, on peut avoir selon le signe de Z, un règlement de conflit en faveur de ip voire un règlement du conflit au détriment des deux stations 1pet 1,qui se retirent toutes deux. Fonctionnement des arbitres Si dans le principe de résolution des conflits, les arbitres demandeurs et serveurs sont identiques, il diffèrent sur quelques points: les conditions d'autorisation liées aux états des bus ARBITRE et OCCUPATION et le fait que l'un mémorise l'état candidat et l'autre non. 1. Arbitre "demandeurs" (Fig. 8) Dès qu'elle est candidate demanderesse, une station émet sur sa borne 320 un signal ACTIVATION qui est mémorisé dans la bascule 3015. Plusieurs possibilités se présentent: 1,1. le bus ARBITRE 5 et le bus d'OCCUPATION 6 sont tous deux libres - 1,11. le détecteur d'ARBITRE LIBRE 3001 génère un signal S1 qui, à travers la porte OU 3002 et la porte ET3903 provoque le marquage du BUS ARBITRE 5 par l'intermédiaire de la bascule 3004. Un signal S3 également généré par le détecteur d'arbitre libre 3001 dé- clenche à travers la porte OU 3005,le fil 3010, la porte OU 307 et le fil 310 la temporisation d'arbitrage par l'intermédiaire du signal DEPART. Cette temporisation achevée, le décompteur 302 génère un signal TEST mémorisé dans la bascule 3006. Le signal TEST démarque également la bascule 3004 à travers la porte OU 3007 et active un comparateur 3008 dont le rôle est de comparer l'état de 3004 avec l'état du bus ARBITRE 5. Deux possibilités: 1,111. Il y a une différence signalée par le signal REJET. Ceci signifie qu'une station plus prioritaire maintient le BUS ARBITRE à 1. Le signal REJET remet 3006 au repos à travers la porte OU 3009 et génère à travers la porte OU 3011 un signal PRISE vers le générateur de tem- porisations 300 dont le rôle est de puiser au hasard une temporisation d'arbitrage dans le champ de codes binaires 303. 1,112. Il n'y a pas de différence; le comparateur génère le signal OK signifiant que le bus ARBITRE 5 est à O donc que l'allocateur est maître. Le signal OK est appliqué à la porte ET 3016 et donne à sa - 13 - sortie du signal MA signifiant que l'allocateur est maître. Le signal MA positionne la bascule 3013.à 1. Cet état est comparé à l'état du bus d'OCCUPATION. Deux possibilités 1,1121. Le bus d'OCCUPATION est libre: le signal ME est généré par la bascule 3013; il signifie la capture du bus de DONNEES par le fil 111. La station peut émettre son message. Le signal ME mémorisé dans la bascule 3014 marque également l'occupation du bus OCCUPATION. A l'issue de ses échanges avec un serveur, la station génére un signal LIBERATION qui met au repos les bascules 3004 et 3014 et par suite, les 2 bus ARBITRE 5 et OCCUPATION 6. Le signal MARQUAGE est généré par le processeur de la station dès que celle-ci a reçu l'accusé de réception du pré-message (Cf. Fig. 5). 1,1122. Le bus d'OCCUPATION est déjà pris: l'état maître MA est mémorisé en 3013 jusqu'à la libération du bus qui entraîne le processus 1,11121. 1,2. le bus ARBITRE 5 est libre et le bus d'OCCUPATION 6 est Lmargue 1,21. l'activation est mémorisée en 3015, rien ne se passe jusqu'à la libération du bus OCCUPATION qui va générer le signal S1 de marquage du bus ARBITRE 5 par l'intermédiaire du détecteur d'arbitre libre 3001. Le processus se déroule ensuite comme ci-dessus. 1,3. le bus ARBITRE est occueé Dans ce cas, quelque soit l'état du bus OCCUPATION 6, il y a attente de libération du bus ARBITRE. Celle-ci va activer le dispositif détecteur de libération 3017, si à ce moment-là, le bus d'OCCUPATION est libre. Les deux signaux S2 et S4 sont générés par 3017. S2 a le même rôle que Si, S4 ayant celui de S3. 2. Arbitre."serveur" (Fig. 9) N'ayant aucune fonction mémoire, son fonctionnement est très simple. Une station s'étant "reconnue" candidat serveur par suite du décodage de l'étiquette fonctionnelle du pré-message qu'elle vient de recevoir, fonction qu'elle est en mesure de traiter, elle active l'arbitre serveur par le signal ACTIVATION sur la borne 323. Plusieurs possibilités 2,1. le bus ARBITRE 5 est à 1 et le bus d'OCCUPATION 6 à O ou à 1 Rien ne se passe, le rejet est immédiat. La station abandonne sa qualité de serveur. 2,2. le bus ARBITRE 5 est à O et le bus d'OCCUPATION 6 est à O Rien ne se passe, rejet immédiat. 2,3. le bus ARBITRE 5 est à O; le bus d'OCCUPATION 6 a 1 Les portes ET 3501 et 3502 sont passantes. La bascule 3503 marque le bus ARBITRE et le-signal DEPART (borne 310) active le géné- rateur de temporisations d'arbitrage 300. Celui-ci génère le signal TEST (borne 311) après écoulement de la temporisation. Le signal TEST libère la bascule 3503 à travers la porte OU 3504 et active le comparateur 3505. Deux possibilités: 2,31. le bus ARBITRE est à 0. Sa capture est effective; la station devient "serveur", elle peut émettre un accusé de réception. Le comparateur 3505 remarque le bus ARBITRE aussitôt à travers la porte OU 3506. La LIBERATION sera effectuée à l'issue de la réception des données. 2,32. le bus ARBITRE reste à 1: il y a rejet, un serveur plus prioritaire maintient le bus ARBITRE. Dans la description qui précède, on a supposé le bus ARBITRE et le bus OCCUPATION distincts et ayant chacun deux signaux respectivement de marquage et de démarquage; on pourrait, bien entendu, remplacer ces deux bus par un bus unique ayant quatre valeurs représentatives des marquages et des démarquages combinés d'ARBITRAGE et d'OCCUPATION. R e v e n d i c a t i o n s 1 - Dispositif permettant le règlement des conflits d'accès à un bus d'une pluralité de stations émettrices - réceptrices de données comprenant chacune un processeur asynchrone et non hiérarchisé, les- dites stations étant reliées en parallèle à un bus de TRANSlIISSIOII DE DONHEES ainsi qu'à un bus d'ARBITRAGE (5) d'accès et à un bus d'OCCUPATION (6), ce dernier étant marqué quand le bus de TRANSMISSION DE DONNEES transmet des données, caractérisé en ce que chaque station comprend, outre le processeur, une mémoire et un sélecteur de signaux de temporisation (300) ayant dans chaque station des durées différentes, des moyens de marquer (305; fil "marquage') quand la station se porte appelante le bus d'ARBITRAGE pendant un temps égal à la durée du signal de temporisation sélecté,des moyens de tester (305; fil "état") le bus d'ARBITRAGE à la fin du signal de temporisation sélecte, des moyens de prendre le contrôle du bus de TRANSMISSION DE DONNEES si le test indique la disponibilité du bus d'ARBITRAGE et des moyens de prise effective (borne 111) du bus de TRANSMISSION DE DONNEES quand le bus d'OCCUPATION devient démarqué. 2 - Dispositif permettant le règlement des conflits d'accès à un bus d'une pluralité de stations conforme à'la revendication 1, carac- térisé en ce que la sélection d'un signal de temporisation par une station appelante est aléatoire et que la moyenne des durées des signaux de temporisation d'une station est la même pour toutes les stations. 3 - Dispositif de règlement des conflits d'accès à un bus d'une pluralité de stations conforme à la revendication 1, caractérisé en ce que chaque station comprend des moyens Lécodeurs durée maximale. 4 - Dispositif de règlement des conflits d'accès à un bus d'une pluralité de stations conforme à la revendication 1, caractérisé en ce que les stations sont munies de moyens de recommencer l'appel en appli- quant le signal de temporisation sélecté au bus d'ARBITRAGE libre, un certain délai après la libération dudit bus d'ARBITRAGE. - 15 -