FR 2474199 A1 19810724 FR 8001213 A 19800121 2474 199 DISPOSITIF POUR SUPERPOSER LES PHASES SUCCESSIVES DT TRANSFERT DES INFORMATIONS ENTRE PLUSIEURS UNITES D'UN SYSTEME DE TRAITEMENT DE L'INFORMATION La présente invention concerne un dispositif pour superposer les phases successives du transfert des informations entre plusieurs unités d'un système de traitement de l'information. Elle concerne plus particulièrement un système de traitement de l'information comportant plusieurs processeurs individiuels et au moins une mémoire centrale à laquelle chaque processeur est con- nectable par un système de voies de transmission d'informations encore dénommées bus, la liaison entre chaque processeur et une mémoire s'effectuant sans l'intermédiaire d'un autre processeur. Dans un système de traitement de l'information du type spécifié, le bus de transfert a pour but de transmettre les informations entre une unité émettrice et une unité réceptrice du système. Le système comprend une logique de commande du bus qui prend en charge toutes les demandes êmanants des unités et relatives a l'utilisation du bus de transfert. L'utilisation de ce bus :' s'effectue selon une priorité fixe. Chaque unité reçoit une priorité fixe et en cas de demandes simultanées, le circuit prioritaire prend en charge la demande émanant de l'unité ayant 2- la priorité la plus élevée. La logique de commande du bus peut communiquer avec toutes les unités du système afin de fournir certaines informations et certains signaux sur l'état et l'historique du système. Ce système connu présente au moins deux inconvénients. En cas de panne de la logique de commande du bus qui est unique, l'ensemble des autres unités du système s'arrêtent de fonctionner. D'autre part, la mise en communication des unités émettrices et réceptrices s'exécute par un échange de signaux d'adresse et d'accusé de réception qui prend du temps. Une solution à ces problèmes consiste à disposer les logiques de commandes du bus de transmission dans chaque unité importante du système en raison d'une seule par unité. Chaque logique de com- mande prend en charge toutes les demandes émanant des unités connectées au bus de transmission ainsi que les demandes prove- nant de l'unité particulière dans laquelle elle se trouve située et relatives à l'utilisation du bus de transmission. Chaque unité reçoit une priorité fixe lui permettant d'utiliser le bus de transmission selon un ordre prioritaire. Toutes les logiques de commande sont munies du même circuit de priorité pour localiser la demande émanant de l'unité ayant la priorité la plus élevée. Ainsi, toutes les unités ont connaissance de l'ensemble des unités demanderesses et chaque unité peut à l'aide de sa logique de commande se reconnaître comme étant la plus prioritaire pour obtenir la maîtrise du bus de transmission. Grâce à ce disposi- tif, la panne d'une logique de commande n'entrave plus le fonc- tionnement des autres unités. Seule, l'unité en panne interrompt ses échanges avec les autres.-Il n'est plus nécessaire d'attendre l'accusé de réception de l'unité interrogée, puisque l'autorisation de transfert est à la fois produite localement et -3 - connue par l'ensemble des autres unités. Seulement pour obtenir de bonnes performances au niveau du nombre des échanges des informations sur le bus de transmission, il est nécessaire de trouver une solution permettant de multiplexer les informations échangées entre unités à 1-1 fois dans l'espace et dans le temps. La présente invention apporte une solution à ce problème. Selon l'invention chaque opération entre deux unités peut demander une à deux phases et les opérations entre les différentes unités sont réalisées par un multiplexage de ces phases sur le bus de transmission. Le dispositif de l'invention permet de superposer les phases concernant des unités différentes pourvu qu'il n'y ait pas utilisation simultanée du même champ du bus. (champs adresse, commande et données). Pour piloter cette superposition, chaque unité envoie à l'avance un statut qui définit la façon dont elle compte utiliser les champs pour les cycles suivants. L'attribution du bus sera faite à telle ou telle unité en fonc- tion de ces statuts. La présente invention sera mieux comprise à l'aide de la descrip- tion faite au regard des dessins qui va suivre. La figure 1 est un schéma de principe de l'organisation d'un système selon l'invention. -; La figure 2 montre l'organisation d'un système particulier dans lequel s'applique l'invention. -4 La figure 3 est une représentation des éléments constitutifs d'une logique de commande selon l'invention. La figure 4 est une représentation du circuit de priorité consti- - tuant la logique de commande. La -tigure 5 est une représentation des liaisons de la logique de commande avec l'organe de commande d'une unité quelconque consti- tuant le système de traitement de l'information. - La figure 6 représente le séquenceur pour exécuter une séquence START. utilisé dans chaque unitê de - La figure 7 représente le séquenceur utilisé dans chaque unité pour réexécuter une séquence REPONSE. - La figure 8 est un diagramme montrant l'information successives nécessaires dans une unité en fonction du type de les étapes de traitement de à l'élection d'une demande cette unité.- Les figures 9 "* 13 représentent les circuits T de chaque logique -- de commande. La figure 14 est un diagramme des temps montrant les opérations effectuées lors d'une opération d'écriture d'un mot en mémoire centrale MMU de la figure 2. 24-74199 -5- La figure 15 est un diagramme des temps montrant les opérations d'écriture de deux mots dans un cache MCU de la figure 2. La figure 16 est un diagramme des temps représentant les opérations effectuées lors de l'écriture de quatre mots dans une mémoire MMU de la figure 2. La figure 17 est un diagramme des temps représentant les opérations effectuées lors de la lecture de quatre mots dans la mémoire MMU de la figure 2. La figure 18 donne un exemple de multiplexage dans le temps et dans l'espace des lignes d'adresses et de données du bus de transmission pour 2 phases START sucessives suivies d'une phase REPONSE. Le système représenté à la figure 1 est composé des unités 1, 2 et 3 reliées chacune à un bus B qui leur est commun, par les liaisons 11, 12, 13. Chaque unité possède une logique de commande munie d'un même circuit de priorité P. Les demandes de chaque unité de prise de la maîtrise du bus B sont transmises à l'ensemble des autrès unités par les circuits de priorité P. Ainsi l'unité 1 avertit les unités 2 et 3 qu'elle est deman- deresse par les liaisons 12 et 15, l'unité 2 avertit les unités 1 et 3 par les liaisons 11 et 13 et l'unité 3 avertit les unités 1 et 2 par les liaisons 14 et 16. Naturellement, à un instant donné, seule l'unité demanderesse qui 1i 247419e -6- est la plus prioritaire prend la maîtrise du bus B. Les unités utilisées peuvent être de différents types comme ceci est représenté à la figure 2. Sur cette figure, le-bus B relie des unités de commande de mémoire MMUl2, 13 à différentes antémémoires ou caches MCU6 8, ou mémoires tampon MTU4 et MTU10. Les mémoires tampons MTU4 et MTU10 relient les contrôleurs d'entrée-sortie IOC 5 et ll au bus B alors que les caches 6 et 8 relient respectivement les organes de traitement de l'information ou processeurs 7 et 9 au bus B. :15v La logique de commande qui est incorporée selon l'invention dans chaque unité est représentée à la figure 3. Cette logique se com- pose d'un circuit de priorité P12, d'un circuit d'éligibilité T13 de la demande locale de l'unité dans laquelle le circuit P est situé, et d'un registre STATRl4. Le registre STATR14 reçoit sur son entrée 1 les signaux STAT dont les états représentent la disponibilité des lignes de données du BUS B. La sortie 2 du registre STATR est reliée à l'entrée 1 du circuit d'éligibilité T13 dont l'entrée 2 reçoit la demande RQiL locale. Le circuit T délivre sur sa sortie 3 le signal RQiE lorsqu'il a pu déterminer que la demande locale était éligible. Le signal RQiE est à la fois transmis vers l'entrée i du circuit de priorité P12 et vers les autres logiques de commandes des autres unités du système sur la ligne RQk. Le circuit de priorité Pl2 délivre sur sa sortie P un signal RQiP lorsque la demande locale qui est devenue éligible se trouve être la plus priori- taire, ce signal est alors transmis à l'organe de commande de 24741 9} -7 - l'unité locale qui reçoit ainsi l'autorisation de prendre la maîtrise du bus B. La fonction de la logique de commande est donc de transformer une demande locale en une demande éligible après avoir analysé la disponibilité du bus B de transmission. La logique de commande reçoit toutes les demandes externes RQk sur les entrées 1 à k du circuit de priorité P12. Les priorités de toutes les demandes externes sont analysées et comparées au niveau de priorité de la demande locale par le cir- cuit de priorité P12. Comme l'analyse s'opère de la même manière dans chaque unité, toutes les unités connaissent ainsiau même instant la demande de l'unité qui est la plus prioritaire. L'unité qui se reconnaît comme étant la plus prioritaire peut prendre la mattrise du BUS B par le signal RQiP émis par le cir- cuit de priorité P. Le circuit de priorité P12 est représenté à la figure 4. Dans l'exemple, ce circuit peut analyser jusqu'à 5 demandes RQ1 à RQ5, mais ce nombre pourrait être facilement généralisé à n. Il se compose de 4 portes non ET 16, 18, 20 et 22, les portes 18 et 20 n'étant pas représentées et de 5 portes 'ET" 15, 17, 19, 21 et 23, les portes 19 et 21 n'étant pas représentées. La demande RQ1 est appliquée a l'entrée 1 d'une porte 15 dont la sortie délivre le signal RQ1P. Le signal RQlP est applique à l'entrée 1 de toutes les portes "non et" 16 à 22. La sortie 2 de ,. -8- la porte "non et" 16 est appliquée à l'entrée 1 de la porte "et" 17 qui reçoit sur son entrée 2 la demande RQ2 et dont la sortie 3 transmet le signal RQ2P. Ce signal RQ2P est ensuite transmis a toutes les entrées 2 des portes "non et" 18 à 22. Un cablage identique est à réaliser pour la prise en compte des signaux RQ3 et RQ4 par les circuits non représentés. Le signal RQ3P obtenu doit être transmis à l'entrée 3 des portes "non et" 20 à 22 et le signal RQ4P doit être transmis à l'entrée 4 de la porte "non et" 22. La sortie 5 du circuit "non et" 22 est reliée à l'entrée 1 de la porte "et" 23 dont I'entrée 2 reçoit le signal RQ5. La sortie 3 de la porte ET 23 délivre le signal RQ5P. Avec ce circuit, la demande RQ5 est prioritaire dans la mesure o une demande quelconque RQ1 à RQ4 n'est pas présente. Cette con$ition est vérifiée par l'équation logique: RQ5P = RQ5. (RQ1P* + RQ2P* + RQ3P* + RQ4P*) Pour les signaux RQIP à-RQ4P les équations suivantes doivent être vérifiées. RQ4P = RQ4. (RQ1P* + RQ2P* + RQ3P*) RQ3P = RQ3. (RQ1P* + RQ2P*) RQ2P = RQ2 À (RQ1P*) RQ1P = RQ1 Les liaisons de la logique de commande avec les organes de com- mande d'une unité quelconque du système sont représentées à la figure 5. Sur cette figure, l'organe de commande est représenté en 12bis. L'unité qui la contient s'organise autour d'un bus d'adresse (BUSA), d'un bus de commande (BUSC) et d'un bus de données (BUSD). Ces différents BUS sont communs avec les éléments correspondants du BUSB. L'organe de commande 24 délivre les signaux de commande nécessaires à la gestion du transfert des informations sur le BUSB lorsque l'unité est devenue maîtresse. Il peut être constitué d'une mémoire morte dans laquelle on aura inscrit le microprogramme nécessaire au séquencement des infor- -9- mations sur le bus B, il sera possible d'utiliser un organe de commande du type de celui qui est décrit dans le livre intitulé "Microprogramming Principles and Practices" Samir S HUSSON - Prentice Hall Inc (1970) Page 189. L'organe de commande délivre les signaux CMD et STAT sur le BUSC, les commandes C1 et C2 ainsi que le signal de demande locale RQiL. Il est synchronise à partir d'une horloge HO commune à tout le système mais non représentée. Un registre d'instruction RI 25 connecte entre l'entrée 1 de l'organe de commande et le bus D permet le branchement sur l'adresse de début des microprogrammes contenus dans l'organe de commande. Cette adresse de début est calculée a partir du code opération de l'instruction contenue dans le registre d'instruction RI. Les signaux STAT transitent sur le bus C et sont reçus a l'entrée du registre STATR de la logique de commande 12 bis. La demande locale RQiL est également transmise à l'entrée 2 du circuit T13 de la logique de commande 12bis. Sur le BUSC transitent aussi toutes les demandes RQ faites par les autres unités du système, celles-ci sont appliquées aux entrées 1 à k du circuit de priorité P12 de la logique de commande 12bis. Lorsque l'unité se reconnaît comme étant la prioritaire vis-i-vis des autres deman- deresses sa logique de commande délivre le signal RQiP qui est alors appliqué à l'entrée 1 de la porte ET33. Le signal RQiP est ensuite pris en compte par un basculeur START par action du signal de commande C1 sur l'entrée 2 de la porte ET33 ou par un basculeur REPONSE par action d'un signal C2 sur l'entrée 2 de la porte ET34. Les basculeurs START et REPONSE ser- vent à initialiser un transfert d'information entre le BUSB et 2474 i99 - 10 - l'unité dans laquelle ils se trouvent. Ces basculeurs sont remis a zéro respectivement par les signaux RS et RR transmis sur le BUSC. Les signaux START et REPONSE correspondant sont naturelle- ment émis sur le BUSC. Le registre RDE30-est un registre de données; dans l'exemple, ce registre peut contenir 4 bytes. Ces 4 bytes sont chargés directement à partir du BUSD et peuvent être déchargés sur une longueur quelconque sur le BUSD par le multiplexeur MUX28 commandé par des signaux de cycle 52 S3 S4 et S5émis par un séquenceur interne à l'unité du type représenté à la figure 6. Le déchargement a lieu au cours d'une phase de transfert START et est commandé par le signal START appliqué sur l'entrée 2 d'une porte 29 dont l'entrée 1 se trouve reliée à la sortie 5 du multiplexeur MUX28. Comme une instruction contient toujours une adresse, l'adresse contenue dans le registre RI est transférée sur le bus d'adresse BUSA au travers de la porte ET26 dont l'entrée 2 est reliée à la zone d'adresse du registre d'instruction, cette porte est commandée par un signal de cycle Sl émis par le séquenceur interne à l'unité du type représenté à la figure 6 et le signal START. Les phases START et REPONSE ont lieu au cours de l'exécution d'opérations élémentaires d'échange d'informationsesur le BUS B. Une opération peut être définie comme un travail élémentaire que doit exécuter une unité, ce peut être par exemple une opération de lecture ou d'écriture de mémoire. Suivant sa nature, une opération peut s'exécuter en une ou deux phases séparées. Lorsqu'une opération demande deux phases la première est la phase "START" et la deuxième est la phase "REPONSE". Ces phases sont déclenchées à l'aide des basculeurs correspondant de la figure 5. L'intervalle de temps qui sépare une phase START d'une phase REPONSE d'une même opération pourra judicieusement être utilisée - il - pour effectuer d'autres opérations. Naturellement une phase START ou une phase REPONSE nécessite pour son exécution un temps plus ou moins grand suivant la nature de l'opération correspondante, ce temps est mesuré à partir du cycle élémentaire de l'horloge Ho du système. Les phase STAPT et REPONSE vont donc s'exécuter en fonction du type d'opération effectué en un nombre de cycles d'horloge du système plus ou moins important. Cette exécution est donc synchronisée à-l'aide des séquenceurs des figures 6 et 7. La figt&re 6 représente le séquenceur utilisé dans chaque unité pour exécuter une séquence START. Il se compose d'un compteur binaire 36 à 3 basculeurs. Ce compteur progresse au rythme du signal d'horloge Ho du système appliqué sur son entrée CK. Sa progression est commandée par le signal START émis par le bascu- leur START. Les états de ce compteur sont transmis a l'entrée des portes ET 45 à 49 qui décodent de façon classique les cycles Sl à S5 de la phase START. Dans une phase START, l'unité émet des données à destination d'une autre unité. Cette émission peut avoir lieu sur un ou plusieurs mots. Pour une émission de un ou deux mots le basculeur B12 est positionné et active l'entrée 1 de la porte ET39. Pour une émission sur quatre mots, la bascule B4 est positionnée et active l'entrée 1 de la porte ET38. Les sor- ties 3 des portes 39 et 38 sont appliquées respectivement aux entrées 1 et 2 d'une porte OU 37 dont la sortie 3 délivre le signal R5 de remise à zéro du compteur 36. Les entrées 2 des portes 38 et 39 reçoivent respectivement les signaux S5 et S3 délivrés par les portes 47 et 49. Ainsi, une séquence START qui nécessite un transfert de 1 ou 2 mots se ter- minera à la fin du cycle S3 alors que celle qui aura nécessité un transfert de 4 mots prendra fin à la fin du cycle SS. La décision de la longueur du transfert est naturellement prise par l'organe de commande qui délivre les signaux CMD. - 12 - L'état des signaux CMD détermine la mise en position du basculeur Bl2 ou du basculeur B4, lorsque CMD3 = 1 le basculeur B4 prend l'état 1 alors que lorsque CMD3 = O c'est le basculeur B12 qui prend l'état 1, cette commande a lieu pendant le cycle S2 du séquenceur. La figure 7 représente le séquenceur utilisé dans chaque unité pour exécuter une séquence REPONSE. Il se compose d'un compteur binaire 50 à 3 basculeurs. Ce compteur progresse au rythme du signal d'horloge Ho appliqué sur son entrée Ck. La progression est commandée par le-signal REPONSE émis par le basculeur REPONSE. Les états de ce compteur sont transmis à l'entrée des portes ET 51 à 54 de façon a décoder les cycles R1 a R4. Dans une séquence REPONSE, l'unité reçoit des données provenant d'une autre unité. La réception peut porter sur un ou plusieurs mots suivant la longueur du transfert défini par le champ CMD. Ce champ CMD a été transmis par l'unité qui a initialisé la séquence START et a été mémorisé dans le registre BCMD62. L'unité qui exécute une séquence réponse, répond a l'unité demanderesse en lui retournant son numéro d'identification UNID, ce qui permet à l'unité demanderesse d'identifier le message REPONSE qui lui est transmis. Cette identification a lieu dans le comparateur 56 qui compare pendant le cycle R1 le numéro UNID transmis par le répondeur au numéro i d'identification de l'unité. S'il y a identité entre les numeros, le message REPONSE concerne l'unité, le basculeur 55 est positionné à l'état 1, l'entrée des portes ET 58 et 59 ainsi que l'entrée 5 du registre de données RDL sont validées. Pour une réponse portant sur une mot, le compteur 50 est remis à zéro à la fin du cycle R1 par la sortie de la porte OU 57 dont l'entrée 1 est commandée par la sortie 4 de la porte ET 59 dont les entrées sont commandées par le champ CMD le signal R1 et la sortie Q du basculeur 55. Le mot DT transmis est alors - 13 - mémorisé dans la zone 1 du registre RDL 60. Pour une réponse por- tant sur quatre mots, les mots sont successivement mémorisés dans les zones 1 à 4-du registre RDL 60 au rythme des cycles R1 à R4, au travers du multiplexeur 61. Le compteur 50 est remis à zéro à la fin du cycle R4 par l'action de la porte 58 sur la porte OU 57. Le diagramme de la figure 8 illustre les opérations qu'une unité doit necessairement effectuer pour élire une demande locale en fonction de sa spécialisation dans le système. Si la demande locale se produit au cours du cycle 1 d'une phase (étape 63) la demande locale sera éligible si elle satisfait aux conditions logiques représentées sur la figure 9 (Etape 64). Puis elle devra nécessairement satisfaire aux conditions logiques représentées à la figure 10. Dans les autres cycles, autres que le cycle 1, l'étape 64 n'est pas à effectuer, par contre l'étape 65 est toujours réalisée quel que soit le cycle d'une phase. Ensuite en fonction du type de demandeur l'une ou l'autre des étapes 67, 68 ou 69 est exécutée. Si le demandeur est un contrôleur d'entrée- sortie, la demande doit satisfaire les conditions logiques montrées a la figure 11. Si le demandeur est un cache une différenciation est faite suivant le cas o ce cache est tenant ou non. S'il est tenant; la demande doit satisfaire les con- ditions logiques de la figure 12, par contre s'il n'est pas tenant il doit satisfaire celles de la figure 13. On remarquera suivant le diagramme de la figure 8 qu'une demande locale d'une unité de mémorisation MMU est toujours éligible sans conditions. Les conditions logiques et leur cablage correspondant illustrés par les figures 9 à 13 ne sont donnés qu'à titre d'exemple et ne revêtent pas un, caractère absolu, elles dépendent en fait de la structure physique des unités constituant le - 14 - système de la figure 2. Sur la figure 9, le circuit OU 71 et la- porte ET 72 indiquent que les demandes locales, d'écriture en mémoire MMU (WM) de (SWAPPING) (SW) ou d'écriture dans des registres (WR) ne sont éligibles sans condition s'il s'agit d'une phase REPONSE. Les circuits 73 et 74 indiquent que les demandes locales d'Interruption (INT) de TRAP (TRAP), d'invalidation (INV) , de lecture de mémoire (RM) de l'écriture et d'effacement (R/C) de test (T/S), de lecture de registre (R/R), de lecture sans com- paraison ne sont éligibles s'ilns'agit de phase START, que pen- dant le cycle 1 d'une REPONSE. Les circuits 75 et 76 indiquent que les demandes locales d'écriture en mémoire WM, d'écriture dans des registres WR et de SWAPPIeG ne sont éligibles, s'il s'agit d'une phase START que pendant le cycle 1 d'une réponse d'écriture. Les circuits 77 et 78 indiquent que les demandes locales de lecture en mémoire (RM), de lecture et d'effacement (RC) de test (T/S) de lecture de registre (R/R) et de lecture dans comparaison (RWC) ne sont éligibles s'il s'agit de REPONSE que durant le cycle 1 d'une réponse d'écriture. Les circuits de la figure 10 réalisent les conditions nécessaires pour rendre éligible les demandes locales en fonction de l'état des lignes de données. L'état des lignes de données est.connu par la valeur du contenu du registre STATR. Ce registre est constitue de deux basculeurs. L'état de ce registre est lu pendant n'importe quel cycle, un état 00 un cycle n signifie que les lignes de données deviennent disponibles au cycle n + 1, l'état 01 les rend disponible au cycle n + 2, l'état 10 les rend dispo- nible au cycle n + 3 et l'état 11 les rend disponible au cycle n + 4. Le cablage des circuits de la figure 10 correspond à la table de vérité suivante: - 15 - Type de demande STATR 0:2 Ig locale I I I I I II Réponse -Ecriture mémoire (WM) Swapping (SW) Indifférent I Ecriture de registre(WR) _ I I I I START Interruption (INT) Indifférent |I TRAP (TRAP) I| Invalidation (INV) I " I._I _ I L III START Lecture de mémoire (RM) Indifférent Lecture effacement(RC) I " Test et Marquage (TS) N " |I Lecture de registre (RR) I " Lecture sans compa-- j t raison (RWC) III I I. I START Ecriture. mémoire icycle différent Ecriture registredu cycle No 2 O X I{ Swapping d'un START I. |I cycle No 2 d'un Jamais |I |START | éligible I.*. I I I - 16 - RESP I ! Lecture mémoire (RM) Lecture et effacement(RC) Test et marquage T/S Lecture de registre Lecture sans comparaison La table de vérité suivante permet de rendre éligible des locales d'un contrôleur d'entrée sortie (MTU). les deman- Le circuit logique correspondant est montréa la figure 11. I I! ij Type de demande STINR J CABYR I, .* I I I I: I ! | START Interruption (INT) 0 t. - I I, I I.I I i |START Lecture de J. J mémoire (RM) J Test et mar- (T/S) t 0 quage J I Lecture de registre(RR) I I Lecture sans compa- |I raison (RWC) J. I 1- I l -..DTD: START Ecriture en mémoire(WM) |I Ecriture en registre(WR)j - 0 J 1 - - 17 - STINR = 1 interdit l'émission des signaux START. La table de vérité suivante permet de rendre éligible les deman- des locales émises par une unité de mémoire cache lorsqu'elle est tenante. Le circuit logique correspondant est représenté à la figure 12. Type de demandes STINR CABYR RESP Ecriture Mémoire (WM) Lecture Mémoire (RM) X X |j Lecture et effacement (RC) i Test et marquage (T/S) I _ l START 1START Interruption TRAP Invalidation (INT) (TRAP) (INV) Lecture Mémoire (RM) Lecture et effacement (RC) Test et marquage (T/S) Lecture de registre(RR) Lecture sans compa- raisoo (RWC) o0 1- o o - 18 - I I I I I START Ecriture Mémoire (WM) I I I I Ecriture de registre(WR)| 0 I 0 | I Swapping (SW) I 1 I I La table de vérité suivante permet de rendre éligible les deman- des localesémises par une unité de mémoire cache non tenante. Le circuit logique correspondant est représenté sur la figure 13. I.1 , II |I Type de demandes STINR CABYR RESP Ecriture Mémoire (WM) Lecture Mémoire (RM) 0 X Lecture et I| effacement (RC) Test et marquage (T/S) START Interruption (INT) TRAP (TRAP) 0 0 Invalidation (INV) I. I, 1 START 1 ' 1 - Lecture Mémoire (RM) Lecture et effacement (RC) Test (T/S) Lecture de registre(RR) Lecture sans compa- O O 1 - 2474 199. - 19 - | raison (RWC) | l I I II I III START Ecriture Mémoire (WM) - I I Ecriture de registre(WR)> 0 I 0 I Swapping (SW) I I l I. l I e Le fonctionnement du dispositif selon l'invention est illustré par les diagrammes de temps des figures 14 à 17. Sur la figure 14, l'unité prioritaire effectue une écriture d'un mot de données dans une unité de mémoire MMU. Sa logique de commande démarre une phase START comprenant les cycles élémentaires So à S3. Èurant le cycle S1 l'adresse de la mémoire est envoyée par l'unité élue sur les lignes d'adresse du BUSA et le mot de commande CMD est également émis par l'organe de commande de l'unité pour signaler a l'unité de mémoire qu'une opération d'écriture est demandée. ' Durant le cycle S2, le champ CMD est de nouveau émis sur les lignes de commande du BUS B pour signaler à l'unité de memoire qu'une opération d'écriture d'un mot est demandée et le mot de donnée DT est transmis par l'unité prioritaire vers l'unité de mémoire MMU. La réponse de l'unité de mémoire MMU intervient lorsque celle-ci devient à son tour prioritiare. Elle s'effectue selon la figure 14 en deux cycles Ro et R1. Durant le cycle R1, le mot UNID d'identification de l'unité qui attend la réponse est émis sur les lignes de commandes et un code de contrôle d'erreur est envoyé afin de vérifier que l'écriture s'est effectuée dans de bonnes conditions. - 20 - La figure 15 représente un cycle d'écriture de deux mots dans une unité cache. Comme il s'agit d'une écriture de deux mots le signal STAT à la valeur 01 au cycle S1 puis la valeur 00 au cycle S2, le transfert des données a lieu pendant les cycles S2 et S3. La réponse a lieu comme précédemment. La figure 16 correspond à une opération d'écriture dans une mémoire MMU de 4 mots. Dans ce cas, STAT a la valeur 11 du cycle S!, 10 au cycle S2, 01 au cycle-S3 et 00 au cycle S4, le trans- fert des 4 mots a lieu pendant les cycles S2 à S5. La réponse a lieu comme précédemment. La figure 17 représente un cycle de lecture d'une unité de mémoire MMU. La phase STAT est exécutée pour adresser la mémoire- pendant le cycle S1, et commander la lecture au cycle S1 ainsi que la longueur du transfert pendant le cycle S2. Dans l'exemple de la figure 17, il s'agit d'une lecture de 4 mots en mémoire. Ces 4 mots sont transférés vers l'unité demanderesse pendant l'exécution de la phase REPONSE de la mémoire MMU. Au cycle R1, STAT est placé dans l'état 10 pour signaler que les lignes de données seront disponibles après le cycle R4. Un exemple de multiplexage dans le temps et dans l'espcace des - lignes d'adresse et de données est représente à la figure 18. Sur cette figure la première phase (Phase 1) représentée est une phase START d'écriture de 3 mots de données. Le cycle 1 est utilisé pour l'émission du champ d'adresse et les 3 cycles suivants sont utilisés pour l'émission des 3 champs de données. A - 21 - la fin du cycle 4 les lignes de données vont être disponibles, l'ensemble des unités en sera averti par l'état des lignes STAT. Dans ces conditions, une autre phase pourra être exécutée, ce sera par exemple une phase START d'écriture d'un mot. Cette phase START pourra commencer par l'envoi du champ d'adresse pendant le cycle 4 de la phase précédente puisqu'à cette époque les lignes d'adresse correspondantes sont libres. A la fin du cycle 2 de la deuxième phase représentée les lignes de données sont à nouveau disponibles, il sera alors possible d'exécuter une phase 3 REPONSE de lecture de 3 mots, etc. On voit donc que grâce à la superposition des phases START et RESPONSE il est possible d'obtenir des cycles jointifs de transfert de données sur le bus de transmission. L'exemple qui vient d'être donné d'une réalisation préférée de l'invention n'est nullement limitatif. Il va de soi que tout homme de l'art bien au fait des techniques de traitement de l'information pourra concevoir d'autres modes de réalisation de l'invention sans pour autant sortir de son cadre. REVENDICATIONS 1. Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unités d'un système de traitement de l'information, les unités pouvant être constituées par des processeurs individuels ainsi que par des mémoires auxquelles chaque processeur est connectable caractérise en ce que chaque unité possède une logique de commande 12bis, munie d'un même circuit de priorité P12 recevant sur une entrée les demandes locales éligibles RQiL de l'unité elle-même et sur ses autres entrées des demandes externes RQk émises par les autres unités de façon à accorder la maîtrise du bus de transmission reliant chaque unité a l'unité que lorsque son circuit de priorité la reconnaît comme etant la plus prioritaire parmi les autres unites - et d'un circuit d'éligibilite T13 des demandes locales pour élire celles-ci en fonction de l'état d'occupation des lignes de données reliant les unités du système entre elles. 2. Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unités d'un système de traitement de l'information caracterise en ce que chaque unité comprend un premier générateur de cycle (fiq. 6) pour déclencher une opération (START) dans une autre unité et un deuxieme genérateur (fig. 7) pour déclencher une opération de réponse à destination de l'unité qui l'a précedemment interrogée, chacun des générateurs de cycle étant déclenché par le circuit de priorité P12 de ladite unité. 3. Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unités d'un -23- systc i:e- de traiteient de 1' in format i on selon les r.v=:ndications 1 c-t 2 caractérise en ce que le cycle 1 cdu rer,;ier gcnErateur,e cycle est utilisé à la localisation de 1'inform.ation dans 1'unité a)reele et la définition du type qu'oration que l'unite appelIe doit effectuer. Dispositif prcur superposer les phases successives du transfert des i n formations entre plusieurs unites d'un syst trl.e de traitement (le l'information selon les revendications 1, 2 et 3 caractérisé en ce que le cycle 2 du r)rem:ier gqnérateur de cycle est utilisé cour l'énission de la longjueur des informations a transmettre sur l]- bus de transr.ission. 5. Dispositif peur superposer les phases successives du transfert les informations entre plusieurs unités d'un systrn.e de traitement de l'information selon la revendication 2 caractérise en ce que chaque unit_ comprend un organe de commande qui délivre dclans chaque cycle d'une phase START ou RLEPO0SE, l'état (TAW) d'occupation des lignes de dJonnees pour les cycles suivants. 6. Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unités d'un systemie de traitement de l'information selon la revendication 2 caractérisé en ce cTue le premier cycle du deuxième generateur de cycle est utilisa à l'émission de l'adresse de l'unité pour laquelle la réponse est destinée.