Brevet FR2503412A1 — publié le 19821008

Dispositif de commande multiprocesseur L'invention concerne un dispositif de commande multiproces- seur, utilisable dans un système commandé par un ensemble de micro- processeur, notamment un autocommutateur à commande répartie. L'invention est applicable dans les industries de l'électro- nique, des télécommunications et de la télématique. Dans les dispositifs connus de type multiprocesseurs, les machines sont en général reliées à un bus commun qui leur permet de communiquer entre elles et de partager un certain nombre de ressources communes telles que mémoires, consoles, périphériques de stockage sur support magnétique. Malgré les avantages de cette structure, le bus commun a une capacité limitée à un faible nombre de processeurs il a une longueur limitée, et il est très vulnérable. Le but de l'invention est de réaliser un type de liaison simple, donc facilement rendue très fiable, et capable de relier quelques dizaines de processeurs dialoguant en procédure sémaphore par exemple du type HDLC définie par le CCITT norme FS0. Un autre but de l'invention est de banaliser le plus possible les processeurs et les interfaces pour réduire les contraintes d'im- plantation des logiciels et rendre aisées les reconfigurations en cas de panne. L'obJet de l'invention est un dispositif de commande multipro- cesseur, notamment de commande répartie dans un ensemble de micro- processeurs munis de coupleurs de liaison à une liaison série de type canal sémaphore, caractérisé par le fait que la liaison série est reliée en point à point à chacun des coupleurs et constituée d'un réseau d'échanges de messages ledit réseau d'échanges comportant un distributeur de gestion des accès au réseau d'échanges en fonction des demandes des microprocesseurs et de supervision du réseau d'échanges et des liaisons reliées audit distributeur ledit réseau d'échanges comportant pour chaque microprocesseur relié au réseau d'échange des liaisons de demande, des liaisons de transfert d'in- formations et une liaison de synchronisation Suivant une autre caractéristique de l'invention, les données -2- reçues sur les liaisons de transfert sont réémises simultanément vers tous les processeurs à travers un circuit de découplage. Suivant encore une caractéristique, le distributeur comporte - des sélecteurs MX1, MX2, DEX d'accès aux fils DE, AE, DR, - un circuit d'exploration EX pilotant des sélecteurs, - un circuit de synchronisation CSY - un circuit de validation CV des demandes DE - une bascule de régénération des informations transmises BR L'invention va être précisée par la description qui va suivre d'un mode préféré de réalisation de l'invention, donné à titre d'exemple non limitatif à l'aide des figures suivantes: - Figure 1: Diagramme général d'un autocommutateur à réseau de commu- tation temporelle selon l'invention.: - Figure 2: Schéma général d'un réseau d'échanges selon l'invention entre des unités de commande et des marqueurs d'un réseau de connexion dans un autocommutateur temporel Figure 3: Schéma d'un marqueur - Figure 4: Diagramme d'une unité de commande - Figure 5: Diagramme d'une unité de commande gérant des périphé- riques informatiques - Figure 6 Schéma d'un processeur - Figure 7: Schéma d'un distributeur - Figure 8: Schéma d'un coupleur de raccordement au réseau d'échange La description qui suit concerne une application de l'inven- tion à la commande par microprocesseurs d'un autocommutateur temporel à commande par des microprocesseurs répartis dans des unités de commande, dans des marqueurs de commande du réseau de connexion de l'autocommutateur. La figure 1 représente un exemple d'autocommutateur à réseau de connexion temporel dans lequel peut être appliqué le dispositif de commande selon l'invention. L'autocommutateur comporte trois ensembles principaux des groupes d'unités de terminaux, un réseau de connexion et un ensemble de commande: - Des groupes d'unités de terminaux GUT1 à GUTm comportant des ter- -3 - minaux d'abonnés, de circuits analogiques et numériques, et des ter- minaux auxiliaires de signalisation, d'émission de tonalités et de films parlants, d'essais de lignes d'abonnés et de circuits, de circuits de conférence, etc................ - Un réseau de connexion central à un seul étage de commutation, organisé en plans indépendants, par exemple quatre plans RXA à RX. Les chiffres donnés ici et dans la suite sont de simples exemples destinés à préciser un mode de réalisation ou à simplifier la représentation. - Un ensemble de commande à architecture répartie formé de groupes GUC1 à GUCK d'unités de commandes UC1 à UCq identiques, pilotées par exemple par microprocesseur. Les unités de commande proprement dites UC1 à UC sont banalisées. L'ensemble de commande 1 q comporte également des unités UCP1 à UCPp qui gèrent des groupes de périphériques PF1 à PFf: ces unités peuvent être identiques aux précédentes, mais elles ne sont pas banalisées complètement du fait de leurs liaisons physiques avec les périphériques. Les liaisons qui interconnectent ces trois ensembles sont les sui- vantes: - Les unités de terminaux UT (UT1 à UTp) sont reliées à chaque plan du réseau de connexion par une liaison multiplex MX (MXA1 à MXmd) de 32 voies de 8 e.b., d'un débit de 2 M e.b/s. Les UT d'un même groupe sont reliées en parallèle aux mêmes liaisons multiplex (UC1 à UCq) sont également reliées au réseau de connexion par des liaisons multiplex (MX (m+1) A à MXnD, à raison d'une liaison par groupe GUC vers chaque plan. Les messages échangés entre unités de commande et unités de terminaux empruntent des voies temporelles des liaisons MX, reliées par le réseau de connexion d'une manière semi- permanente et reconfigurable. On réalise ainsi des canaux de trans- mission de données d'un débit de 64 K e.b/s qui sont utilisés suivant une procédure du type HDLC, définie par le CCITT, norme ISO. - Les unités de commande UC et UCP sont reliées entre elles par une liaison point à point doublée pour des raisons de sécurité RIT1 RIT2. Il s'agit d'une liaison série utilisant également une procédure HDLC. L'accès à la liaison est géré par un 4 - distributeur DR1, DR2 qui délivre les autorisations d'émission et supervise la durée d'utilisation. La liaison comporte cinq paires de fils vers chaque station raccordée assurant les fonctions d'appel, d'autorisation, d'horloge, d'émission et de réception. Les distributeurs sont décrits plus loin. La figure 2 représente la structure du réseau d'échanges RIT1, RIT2. La commande est répartie dans un ensemble de microprocesseurs qui sont tous reliés par un coupleur ARIT au réseau d'échanges RIT1, RIT2. - Des unités de commandes UC1 à UCk sont reliées aux équipements téléphoniques, par des coupleurs appropriés CPTk; - des unités de commandes UCP1 à UCPb sont reliées à des coupleurs de périphériques CD, CEM de disques DM et de bande magnétique BM - des marqueurs MQ1 à MQc de commande du réseau de connexion sont reliés chacun à un commutateur CX1 à CXc par une interface de cou- plage IDC1 à IDCC Le réseau d'échanges étant doublé (RIT1, RIT2) l'interface ARIT donne accès aux deux réseaux RIT1, RIT2 gérés chacun par un distributeur DR1, DR2. Chaque distributeur gère r liaisons (r = a + b + c) comportant chacune les fils de demande DE1 à DE12, d'autorisation de prise AE1 à AE12, de réception RD1 à RD12 et d'émission DT1à DT12 et d'horloge (H). Un distributeur DE1 comporte des sélecteurs MX1, MX2, DEX gérés par un explorateur EX, une interface de transmission DG per- mettant l'émission des données en parallèle vers tous les calcula- teurs, et un circuit de synchronisation CSY. Les demandes DE sont validées par un circuit CV. Les informations RD1 sont relayées par une bascule BR. Un marqueur MQ1 et l'accès aux liaisons point à point RIT1, RIT2 sont représentés schématiquement sur la figure 2. Le marqueur MQ1 comporte un microprocesseur mPC: par exemple un circuit 8086 associé à un circuit d'horloge 8284 fabriqués par la société INTEL. Un bus interne B alimente un bus d'adresse BA par un registre d'adresse RAD et un bus de données BD à travers une inter- face bidirectionnelle IN contr8lée par le microprocesseur (signal directionnel s issu de la sortie DT/R du microprocesseur, et adresses d'entrée-sortie reçues par une porte "OU" et un décodeur DEC4). Le marqueur comporte une mémoire programme MP, par exemple de type "reprom" et une mémoire vive de données MV. L'organe d'accès aux liaisons RIT1 comporte un circuit de ges- tion des échanges en procédure HDLC, un automate de pilotage AU, et des mémoires tampons intermédiaires d'émission MEM et de réception MRE. Le circuit HDLC1 est par exemple de type 6854 fabriqué par la société MOTOROLA. L'automate AU est formé de manière connue par une logique en mémoire morte associée à une registre d'adresse qui reçoit les in- formations d'entrée, et à un registre de sortie, les deux registres étant pilotés par une horloge (entrée E issue de la sortie OSC du microprocesseur MPC et qui pilote également le circuit HDLC1). En entrée de l'organe d'accès, le bus BD est validé par une porte d'accès PA contr8lée par une adresse bJ issue du décodeur DEC4. Les accès du microprocesseur mPC comportent les commandes et les circuits suivants: - utilisation des commandes WR et RD (fils Ec et Lec du microproces- seur, et d'(un signal de sélection (v'6 à v10) obtenu par décodage (DEC5 d'adresse. - Adressage multiplexé des mémoire MEM et MRE (adressage par le microprocesseur par le bus BA, adressage par l'automate AU par comp- teurs CB4, CB5 suivant le fonctionnement décrit plus loin, multi- plexeurs MX9 et MX10). - Utilisation des circuits complémentaires suivants registre de données entrantes RDE connecté entre une porte PA et le bus BH du circuit HDLC1' registre de données sortantes RDS entre les bus BH et BD, registre tampon d'entrée R23 de la mémoire MRE, 35. registre de commande RC contenant des commandes de remises à -6 - zéro RZ et des commandes des registres internes du circuit HDLC1 (entrée A correspondant aux commandes R/W, RSo, RS1 du circuit 6854) fournies par l'intermédiaire d'un multiplexeur MX,, piloté par l'au- tomate AU (sortie a). Le circuit HDLC1 peut ainsi être piloté soit par le microprocesseur, soit par l'automate AU, registres d'appel RA1, RA2: pour avoir accès à la liaison RIT1, le processeur charge le registre RA, et l'horloge HR de la liaison RIT1 transfère l'information dans RA2 et marque le fil DE1. L'autorisation d'émission en retour AE1 est reçue par l'automate. 10.circuit de reconnaissance d'adresse de station AS: cette adresse qui sert à identifier les stations ou machines reliées aux liai- sons RIT1 RIT2 est câblée dans ce circuit. Elle est comparée, en réception, à l'adresse interne dans les messages. En émission, elle est intégrée au message. 15. circuit programmable PIC1 de gestion des interruptions du micro- processeur permet de prendre en compte les demandes de service de l'automate en émission et en réception. On utilise par exemple le circuit 8259 fabriqué par la socité INTEL. En émission un signal d'interruption ITE est fourni directement par le circuit HDLC (sor- tie RTS) et une bascule B9. En réception un signal d'interruption ITR est fourni par l'automate AU qui active une bascule B10. Ces bascules sont remises à zéro par le microproces- seur (signal RZ donné par le registre RC). Le fonctionnement des circuits est le suivant - Demande d'émission par le microprocesseur chargement de la mémoire MEM par le microprocesseur: la mémoire peut contenir un message complet de n octets. L'adresse du dernier octet est chargée dans un compteur CB4, la mémoire est lue par le circuit HDLC1 sous contrôle de l'automate AU. Le compteur CB4 est activé en mode dégressif sous le contrôle du signal "prêt à émettre" pe fourni par le circuit HDLC1, indiquant que son registre d'émission est vide (sortie TDSR) L'accès au bus BH en sortie de la mémoire est validé par l'automate AU (sortie a et A fournissant un code X de commande - 7 - d'écriture du registre d'émission du circuit HDLC1). Lorsque le compteur CB4 est revenu à zéro, un décodeur de fin de message FM avertit l'automate AU, et celui-ci pilote le circuit HDLC1 pour l'émission des codes de fin de message. - Réception de messages sur la liaison RIT1 RIT2 La détection d'un début de message marque la sortie FD du circuit HDLC1 et prévient l'automate, celui-ci ordonne la lecture du registre de réception du circuit HDLC1, et le circuit AS reconnaît l'adresse de station. Pour chaque octet reçu le circuit HDLC1, active sa sortie RDSR (signal pr "prêt à recevoir"). Le signal pr valide l'en- trée d'horloge d'un compteur CB L'automate commande la lecture du registre de réception et l'écriture de la mémoire MRE (n signal X1). L'automate fait appel au microprocesseur (fils ITR). Plusieurs messages peuvent être mis en file d'attente dans la mémoire MRE. Le microprocesseur vient lire le compteur CB5 et chacun des messages contenus dans la mémoire. Chaque message donne lieu en retour à un message d'acquitte- ment. Fonctions réalisées par le marqueur Le marqueur MQ1 exécute des ordres fournis par l'unité de commande UC à laquelle il est affecté. Certains donnent lieu à un message du compte-rendu, concernant l'établissement, la rupture et le contrôle des connexions établies par le commutateur CX1. Une unité de commande UC1 est représentée schématiquemetn sur la figure 4. Une unité UC comporte les organes suivants, reliés à un bus système S-BUS. - Une carte processeur CPU - Des cartes mémoires telles CM1 à CM4 - Une carte d'interface ARIT avec les liaisons RIT - RIT2 - Une carte d'interface AMIC avec des liaisons MIC qui desservent par exemple des unités de terminaux téléphoniques. Les cartes CPU, ARIT, et le bus S-BUS sont décrits plus loin, 8- ainsi que le distributeur DR1 qui gère l'accès une liaison RIT1. Une unité de commande de périphérique UCP représentée schéma- tiquement sur la figure 5 a une architecture analogue à celle des unités de commande UC1, et elle comporte des coupleurs de périphé- riques tels que: - Coupleur de bandes magnétiques CBM associé à une logique de forma- tage FG qui pilote quatre dérouleurs DB1 à BD4, - Coupleur CD de disque D - Coupleur programmable de liaisons numériques CLP gérant par exemple quatre liaisons exploitables séparément en mode synchrone ou asynchrone Un coupleur CX25 de liaisons LX25 définie par le CCITT La carte processeur CPU et le bus système S-BUS sont détaillés sur la figure 6. Un microprocesseur mPU a accès au bus système S-BUS et à un bus résident BRES pour la gestion des ressources implantées sur la carte CPU: Mémoire morte MLI contenant le logiciel d'initiali- sation, mémoire vive RAM, registres, temporisation. Dans cette application, le microprocesseur mPU (figure 6) est constitué par un circuit 8086 de la société INTEL. On utilise égale- ment des circuits INTEL associés qui sont cités plus loin et repérés sur la figure, naturellement les circuits sont indiqués à simple titre d'exemple. Pour une appréciation claire de l'état de la tech- nique, on pourra se reporter au document de la société INTEL "The 8086 family user's manual octobre 1979", en particulier le chapitre concernant le bus système "Multibus". Les interfaces du bus processeur BP (Sorties ADo à AD19 du circuit 8086) sont les suivantes: - Un registre de bus RBP donne accès à un bus d'adresse BADR. Ce bus est relié aux entrées d'adressage des mémoire vive RAM et morte MLI, à un décodeur DEC7 qui fournit les adresses Xl à Xn de validation des circuits de la carte, et à un groupe de portes de validation à sorties trois états PVA qui alimentent les lignes d'adresses LAO- LA19 du bus S-BUS. - Des groupes de portes à sortie 3 états PV1 à PV6 permettent - 9 - l'accès à double sens des lignes de données LDO à LD15 du bus S-BUS. - PV1 - PV2 accès entre ADO-7 et LDO-7 - PV3 - PV4 accès entre AD8-15 et LDO-7 - PV5 - PV6 accès entre AD8-15 et LD8-15 L'indication de l'octet (poids fort ou poids faible des données) émis ou reçu par les lignes LDO7 est fournie par la sortie BHE du processeur, reliée au registre RBP et à la ligne LHE de S-BUS. - L'accès au bus de données internes à 16 fils (BRES) est réalisé par des groupes de portes 3 états PV7, PV8 Ce bus BRES donne accès aux circuits suivants: - Mémoires RAM (entrée/sortie) et MLI (sortie) - Groupe de registres GRG (entrées, et certaines en entrée/sortie) -Un compteur programmable triple PIT: par exemple un circuit type 8253 dont l'utilisation est la suivante: 15. Sortie S1: contr8le de durée d'utilisation du S-BUS, provoque la libération en cas de dépassement. Sortie S2: crée les interruptions pour le marquage de l'heure. Sortie S3: compteur utilisé en compteur de durée. - Les interruptions sont gérées par un circuit programmable PIC2 par exemple un circuit type 8259 qui reçoit les interruptions provenant du circuit PIT, et des coupleurs (lignes INTo à INT6). Le circuit PIC2 et des circuits analogues situés dans les coupleurs fonctionnent en mode maitre-esclave, le circuit PIC2 étant maître. Ce circuit est relié directement au bus BP (sorties ADo à AD7). Gestion des bus et des circuits de la carte CPU - Les liaisons de commande du microprocesseur mPU (sortie So à S2) sont reliées à des circuits pilotes de bus PB1 et PB2 (type 8288) et à un circuit GB de gestion de l'accès au S-BUS (type 8289). L'horloge des circuits mPU, PB1, PB2 GB est fournie par un oscilla- teur OS et un circuit d'horloge HP (type 8284). Ce circuit reçoit le signal "prêt à transmettre" PRT des coupleurs reliés au bus S-BUS, et le synchronise avec l'horloge pour alimenter l'entrée "READY" du circuit mPU (8086). La sortie de validation "AEN" du circuit GB est reliée au circuit PB1 et aux portes PVA. - Le circuit PB1 fournit: - 10 les commandes d'écriture et lecture en modes accès mémoire ou entrée/sortie pour le bus S-BUS (fils CT), les commandes Y1 à Yn des groupes de portes PV à PV6 d'accès au bus S-BUS: les commandes sont données en sortie d'un décodeur DEC8 qui reçoit les sorties DT/R et DEN du circuit PB1, et le fil de poids faible du bus BADR, - le circuit PB2fournit par décodage (décodeur DEC 9) de l'ensemble de ses sorties et d'informations d'adresse, les commandes de valida- tion internes YR1 à YRn (vers les circuits PIT, PIC2, PV7, PV8, RBP, RAM, MLI, GEG). L'utilisation du bus S-BUS est partagée entre le microproces- seur mPU et des coupleurs, comme on le verra plus loin, par exemple pour un accès direct à la mémoire (mode "DMA"). Les signaux de ges- tion du bus S-BUS sont les suivantes: - Demandes DUB et autorisation AUB d'utilisation du bus: les liai- sons sont en point à point sur les coupleurs et sont gérées par un circuit de codage à priorité et décodage (CPD) de la carte CPU. Ce circuit CPD reçoit sur ses entrées/sorties de priorité la plus grande (n 7) les fils qui concernent le processeur fils "BREQ" et "BPRU" du circuit GB. - L'horloge H-BUS du S-BUS est fournie par une horloge HB qui ali- mente aussi le circuit GB (fil "BCLK"). - Le fil OC indiquant l'état d'occupation du bus est relié au cir- cuit GB (fil "BUSY"). Dans cette application l'art connu a été utilisé puis adapté de manière à obtenir une grande rapidité et une simplicité de gestion dans les échanges intercalculateurs, en particulier en gérant les coupleurs comme des espaces mémoire et en traitant les informations de mise ne relation et d'interruptions en mode point à point. - Les coupleurs AMIC de liaisons MIC comportent des mémoires d'échange accessible pour le microprocesseur mPU. - Les coupleurs ARIT des liaisons RIT1 RIT2 accéde aux mémoires du système en mode DMA. Les distributeurs de liaisons point à point DR1, DR2 sont re- présentés schématiquement sur la figure 7. Dans cette application de l'invention on utilise des distri- buteurs modulaires décrit ci-après. Un module (figure 7) permet de raccorder 12 stations UCB UCP ou marqueurs MQ. Chaque station est reliée à chaque réseau RIT1 RIT2 par cinq paires de fils ayant les fonctions suivantes - DE: demande d'accès au réseau RIT1, RIT2 - AE: autorisation d'accès, -RD: données à transmettre (trajet station n vers le réseau RIT RIT2) - DT données à transmettre (trajet RIT1 RIT2 vers station destina- taire), - H: horloge de synchronisation. Le module comporte des interfaces d'entrées IE1 à IE3 formées d'un adaptateur A et d'un récepteur différentiel RD, des interfaces de sortie IS 1 à Is3 à émetteurs différentiels ED, et des quatre liaisons d'extension IEX permettant de relier plusieurs modules entre eux. Les interfaces d'entrées reçoivent respectivement les paires de liaisons DE1 à DE12, RD1 à RD12 et une horloge à 4 MHz émise par la base de temps générale BT. Les interfaces de sortie IS1, IS2 desservent les liaisons AE1 à AE12 et DT1 à DT12. L'interface IS3 alimente 4 paires HA qui des- servent chacune trois stations en parallèle. Les liaisons DE1 à DE12, AE1 à AE12, RD1 à RD12 validées séquentiellement par un compteur explorateur EX qui adresse des multiplexeurs MX12 et MX13 et un démultiplexeur DX1 (adresses A0 à A3). Les données DT et l'horloge HA sont émises simultanément vers toutes les stations. Le signal HA a une fréquence de 1MHz obtenue par division de l'horloge de base par un compteur CRD. La base de temps émet également un signal de synchronisation de trame SY1 relié à l'entrée de remise à zéro du compteur CRD. Le signal SY1 du premier module est renvoyé (sortie SY2 vers les liaisons IEx) vers l'entrée SY1 des autres modules. La prise de la liaison par une station est mémorisée par une bascule de validation BV qui délivre un signal Lock lequel arrête - 12 - l'explorateur EX par l'intermédiaire du compteur CRS et ouvre l'accès au démultiplexeur DX qui donne l'autorisation d'émission AE. Les données sont régénérées par une bascule BR. Les données reçues par un module peuvent être émises vers une station raccordée à ' un module quelconque. Le multiplexeur MX13 a une sortie 3 états, multiplée (point DE des liaisons IEX) avec celle des autres modules. La durée de prise de réseau RIT, par une station est limitée à 10 ms par un compteur de surveillance CRS qui autorise la progres- sion de l'explorateur EX dans le cas de dépassement de durée. Une sortie Q2 du compteur CRD fournit l'horloge des circuits EX, CRS et BV, avec une opposition de phase pour ce dernier. L'horloge d'émission fournie par la sortie Q1 (1MHz) active en opposition de phase la bascule de régénération BR. Le fonctionnement du distributeur DR1, DR2 est le suivant - Mise en marche: le premier module du distributeur reçoit un signal MM sur une bascule BM pilotée par la sortie Q2 du compteur CRD. La sortie Q de la bascule BM positionne une bascule d'autorisation BA qui libère l'explorateur EX. Prise en compte d'une demande d'émission DE1: lorsque l'explora- teur EX adresse l'entrée correspondante de l'interface IE1, la bascule BV délivre le signal Lock qui a trois actions. Ouverture de la porte P d'accès au démultiplexeur DX1 et émission de l'autorisation AE1. Autorisation de progression du compteur de surveillance CRS. 25. Blocage de l'explorateur EX (fermeture de la porte P). - Fin d'émission: suppression du signal DE1 avant 10 ms, qui entra!ne la remise à zéro des signaux AE1 et Lock et du compteur CRS, et le déblocage de l'explorateur EX. - Fin de temporisation avant une fin d'émission: la sortie du comp- teur CRS ouvre la porte P qui débloque l'explorateur EX. -Fin d'exploration: la sortie de fin de comptage C de l'explorateur EX est reliée à l'entrée D d'une bascule BZ qui commande la remise à zéro de la bascule BA. Celle-ci commande, par l'intermédiaire des liaisons IEX l'entrée d'horloge H de la bascule BA du module suivant: _ 13 - - En fin d'exploration de tous les modules, le cycle recommence. Le coupleur ARIT de liaison aux réseaux RIT Un dispositif de dialogue intercalculateurs va être décrit à titre d'exemple figure 8. Il occupe une carte de circuits imprimés, logée dans l'alvéole du calculateur. Ce dispositif est relié d'une part au bus du calculateur (S-BUS) pour un échange de messages par procédure d'accès direct à la mémoire DMA et d'autre part à 2 réseaux de dialogue RIT pour un dialogue en procédure HDLC, du même type que celui qui a été décrit plus haut dans le cas des marqueurs. Le dispositif suivant l'invention permet un accès simultané aux 2 liaisons RIT et des opérations simultanées de transfert par les circuits DMA et HDLC. Pour cela le dispositif comporte 4 voies internes, et à chaque voie est associé un registre de stockage de type FIFO d'une capacité de 64 octets: - voie de réception associée au RTIo VR 0 (FIFO: FRo) - voie de réception associée au RIT1 VR1 (FIFO:FR1) - voie d'émission assurée au RITo: VT0 (FIFO FT) - voie d'émission assurée au RIT1: VT1 (FIFO: FT1) Ces voies accèdent aux circuits d'échanges avec le calculateur à un bus interne BD", et aux circuits HDLC (HDLQ, HDL1) par un bus BDH. Ces transferts entre chaque registre et les bus BDC, BDH sont synchronisés à l'aide de registre tampons d'émission RTC, RT0, RT1 et réception RRH, RR0, RR1. La description générale en émission et réception. - Procédure générale qui suit comporte les étapes suivantes - Procédure générale en émission et réception. - Description des circuits du dispositif et des fonctions associées. - Logiciel de commande du dispositif par le calculateur. Procédure générale (exemple: échanges sur le RITO) - Emission: le calculateur active les circuits DMA et HDL et le o signal DE0 de demande de prise du RIT. Après réponse AE, du RIT1 le circuit DM commence le transfert depuis la mémoire du calculateur vers le registre FTO de la voie VT, par paquets de 16 octets, jusqu'à remplissage du registre. Le circuit HDLO commence la transmission dès que le premier octet est disponible, jusqu'à ce que le circuit DM indique la fin de message et que le registre soit vide. Le circuit HDL0 termine le message. Le réseau RIT1 est libéré et une interruption est émise vers le calculateur qui peut lire le registre d'état du circuit HDL0. Les différentes interruptions sont gérées sur la carte par un circuit programmable PIC3, par exemple le circuit 8259A fabriqué par la société INTEL. Ce circuit est piloté par le circuit 8259A du calculateur en modemaître-esclave. Le dialogue a lieu soit par interruption INT et accusé de réception INTA, soit par exploration des circuits esclaves par le circuit mattre. - Réception: le calculateur active le circuit DM et le récepteur du circuit HDL0. Après détection d'un "FLAG", l'octet qui suit est com- paré à l'adresse du dispositif. S'il y a concordance, 16 octets sont chargés dans le registre de la voie VR0, et une demande de service est émise vers le circuit DM. Une nouvelle demande est émise à chaque paquet de 16 octets, jusqu'à la fin du message "FLAG" de fin, lorsque le registre FRO est vide 20. Le récepteur est désactivé et une interruption est émise vers le calculateur pour lecture du registre d'état de circuit HDLO, et du registre du circuit DM indiquant la longeur du message et son *adresse en mémoire. La calculateur supervise l'accès DM pour le transfert des pa- quets de 16 octets, mais le circuit DM gère seul le transfert de chaque paquet, et pendant ces transferts le bus S-BUS est piloté par lui. Le dispositif est considéré par le calculateur comme un espace mémoire et les seules commandes utilisées, mise à part la gestion de l'accès DM sont les commandes de lecture Lec et d'écriture (Ec) et la réponse du dispositif adressé (signal "prêt" émis sur le fil PRT du S-BUS défini plus haut). Description des circuits du dispositif. Interface avec le bus S-BUS - Lignes d'adresse LA0 à LA19 _ 15 _ Les 8 lignes de poids faibles (LA, à LA7) sont reliées à un circuit d'accès bidirectionnel ou "driver" DRA. Pendant les transferts vers la mémoire du calculateur en mode d'accès direct, ces lignes sont alimentées par le circuit DM. 5. Lignes LA8 à LA,5: en mode d'accès direct ces lignes sont alimen- tées par le circuit DM à travers un registre de sortie RG1. En entrée les lignes sont reliées aux circuits destinataires. Lignes LA16 à LA19: elles sont alimentées par deux registres RB., RB1 asociés chacun à l'un des réseaux RIT. Les registres sont chargés par le calculateur par l'intermédiaire du bus de données, et indi- quent àla base de l'adresse, c'est-à-dire le bloc de 64 Koctets de la mémoire dans lequel doit être stocké le message reçu. En émission, le circuit DMA lit le message dans le bloc dont l'adresse de base est égale à 0. L'utilisation interne des lignes par le dispositif est décrite plus loin. - Lignes de données: seules 8 lignes (LD à LD7) sont utilisées. Elles sont reliées par des registres bidirectionnels RG2 et RG3 aux bus internes BDL et BDH. Le sens de transfert est commandé par le circuit DM. - Lignes de commande. Commandes de transfert CT et PRT. En entrée les commandes de lecture/écriture sont relayées par un registre RG4 qui permet leur synchronisation par un signal syn émis par un circuit de contrôle de bus BC. En sortie les signaux sont fournis par le circuit DM. Le signal "PRT" est également émis par le circuit BC (à partir du signal syn. Commande de contrôle du bus S-BUS (circuit BC). Les fils suivants permettent la prise et la libération du bus, HBUS (horloge de synchronisation du bus), DUB demande d'utili- sation du bus par le circuit DM, AUB autorisation d'utilisation du bus donnée par le calculateur. Le circuit BC effectue un simple relayage de ces signaux et leur synchronisation avec l'horloge du bus. Circuit de contrôle du dispositif (CCR) Ce circuit décode les informations des lignes AD et CT pour la _ 16 - commande des circuits du dispositif. Le calculateur utilise pour cette commande 64 mots mémoire, dans un bloc de 16 Koctets identifié par câblage sur le connecteur de la carte du dispositif. Ces 64 mots sont adressés par les 6 e.b. de poids faibles des lignes LA. Les 4 e.b. A0 à A3 définissent la commande et les e.b. A 4 - A5 le circuit adressé. Circuit d'accès direct à la mémoire (DM) On utilise ici le circuit programmable 8257 fabriqué par INTEL. Ce circuit peut contrôler 4 voies différentes, et il est utilisé pour le transfert de paquets de 1 à 16 octets. A ce circuit sont associés un registre tampon RTC d'émission vers les registres des voies VT et VTJ, des registres tampons de réception RRE, RR1 reliés aux registres des voies VRO et VR1, et un circuit de supervision SP de la durée de prise du bus S-BUS. Le circuit SP comporte des compteurs qui mesurent la durée de l'accès mémoire, contrôlée par la présence du signal "PRT", et le nombre de caractères transmis, qui ne doit pas dépasser 16 avant libération du bus. En cas de dépassement, le circuit SP émet une demande d'interruption vers le circuit PIC3. Pour les transferts émission et réception les registres FRO, FR1, FTO, FT1 des 4 voies comportent chacun un circuit de contrôle CC formé d'un compteur qui délivre les informations registre vide, 16 caractères chargés, registre plein) nécessaires pour initialiser et stopper les trans- ferts. Fonctionnement des transferts en mode DMA Transfert vers le calculateur (écriture en mémoire) Il est initialisé par le circuit DM (demande de données, sortie D-REO du bottier 8257) Pour la voie VRO, par exemple, le transfert entre FR0 et DM débute lorsque le circuit CC indique que le registre est plein. Le circuit DM pilote le transfert jusqu'à récep- tion du signal registre vide" ou du signal "fin de message" activé lorsque le circuit HDLO à détecté le caractère indicatif de fin FLAG. Transfert depuis le calculateur: Initialisation par le circuit DM, et transfert jusqu'à rem- plissage du registre FT0 ou jusqu'au signal de fin de transfert donné - 17 - cette fois par le circuit DM. Les interruptions gérées par le circuit PIC3 sont respectivement - pour les voies associées aux réseaux RIT1 et RIT2: fin de transfert de paquet (IT0)(IT3) fin de réception de message (IT1)(IT4) fin d'émission de message (IT2)(IT5) - pour le circuit SP: dépassement de durée d'utilisation du bus (IT6). Circuits d'émission-réception (HDLQ- HDL1) Ces circuits sont reliés à leur reseau RIT par une interface INTo, INT1 de conversion électrique et de relayage des signaux de demande et d'autorisation d'émission (AE, DE). Les commandes de pilotage des circuits HDL0-3 sont fournies par un circuit de contrôle CHD, relié aux circuits CCR, RG4, CA, HDL, INT. Le circuit CHD comporte, pour chaque circuit HDLO-1 un multiplexeur d'aiguillage des commandes des registres internes RS0, RS1; R/W (fonction analogue à celle du multiplexeur MX11). Le circuit CHD peut être réalisé sous forme d'une logique câblée, ou sous-forme d'une mémoire de type PROM avec des fonctions comparables à celles de l'automate décrit à la figure 7. Le circuit CHD est également relié à 2 circuits de reconnais- sance d'adresse de station CA0, CA1. Les circuits CA0 et CA1 sont chargés sur le bus BDL par un ordre du calculateur, et reçoivent l'adresse contenue dans le message sur la voie réception en sortie du tampon RRH. Le fonction- nement des échanges entre circuits HDLo_1 et FIFO est le suivant: Emission sur le RIT0 Après la prise du RIT0 et le positionnement en émission des circuits DMA et HDLO par le calculateur, le transfert d'un caractère entre FT0 et HDLO par l'intermédiaire du tampon RT0 est déclenché pour les conditions suivantes: - le circuit CC de FT0 indique qu'un caractère est disponible en sortie de FTO. - Le circuit HDL0 est prêt à émettre (sortie TDSR active). Les caractères sont transmis sous le contrôle du circuit CHD _ 18 Jusqu'à la fin du message, indiquée par les signaux "fin de message (donné par DMA) et "registre vide" donné par le circuit CC. Réception sur le RIT0 Après positionnement des circuits HDLO et DM, le transfert du premier caractère est déclenché pour les conditions - HDLQ prêt à recevoir (sortie RDSR active) - Le tampon RRH est disponible (la voie de réception VE n'est pas active). Le premier caractère est comparé à l'adresse chargée par le calculateur dans le circuit CA, pour reconnaissance de la station destinataire avant transfert des caractères suivants. Si la comparaison n'est pas validée, une seconde comparaison est faite avec un caractère fixe, le même pour toutes les stations (par exemple FF en hexadécimal). Cette procédure permet à un calcu- lateur de diffuser un message vers toutes les stations raccordées au RIT. D'autre part la présence de deux circuits de comparaison CA0 CA1 permet d'avoir une adresse de station différente pour les adresses RIT. La procédure de fin de message est déclenchée lorsque le cir- cuit HDL0 détecte le "FLAG" de fin. 3 - Logiciel de commande Comme on l'a indiqué plus haut, les circuits du dispositif sont pilotés par le calculateur à l'aide des informations suivantes: - Adresses de 0 à 64 données par LA à LA5 - Signaux de lecture/écriture (fils CT) - Données LD0 à LD7. Les principales commandes utilisées sont indiquées à titre d'exemple: Circuits PIC3: utilisation normale des commandes CT reliées aux entrées T/W du circuit 8259A pour la lecture ou l'écriture des registres internes du circuit. Registres RB1, RB2 (base) Chargement des informations D0 à D3 par une commande d'écri- 25034 1 2 - 19 - ture. Adresses de station (circuits CA0, CA1) Chargement des informations D0 à D7 par une commande d'écri- ture. Circuit d'accès DM - Ecriture et lecture de l'adresse mémoire pour l'accès DM (2 octets consécutifs sont lus ou écrits sur les fils D à D7). - Ecriture ou lecture de l'index qui permet le comptage des octets transmis (index à 16 e.b. ou 2 octets consécutifs). Ces commandes sont réalisées séparément pour chacune des 4 voies traitées par le circuit DM. Le calculateur commande également les registres communs aux 4 voies: Lecture du registre d'état - Ecriture du registre de commande, du masque etc... Circuits HDLQ -HDL1 - Ecriture séparée des registres de contrôle, - Lecture séparée des 2 registres d'état. - 20 - REVENDICATIONS 1/ Dispositif de commande multiprocesseur, notamment de commande répartie dans un ensemble de microprocesseurs munis de coupleurs de liaison à une liaison série de type canal sémaphore, caractérisé par le fait que la liaison série est reliée en point à point à chacun des coupleurs (ARIT) et constituée d'un réseau d'échanges de messages (RIT1) ledit réseau d'échanges (RIT1) comportant un distributeur (DR1) de gestion des accès au réseau d'échanges (RIT1) en fonction des demandes des microprocesseurs et de supervision du réseau d'échanges et des liaisons reliées auxdits distributeurs (DR1)? ledit réseau d'échanges. (RIT1) comportant pour chaque microprocesseur relié au réseau d'échange des liaisons de demande (DE1) et d'autorisation (AE 1) d'émission, des liaisons de transfert d'informations (RD1, DT1) et une liaison de synchronisation (H). 2/ Dispositif suivant la revendication 1, caractérisé par le fait qu'il comporte un circuit de découplage (DG) à travers lequel sont réémises simultanément vers tous les microprocesseurs, les données reçues sur les liaisons de transfert (RD1). 3/ Dispositif de commande suivant la revendication 2, caractérisé par le fait que le distributeur comporte - des sélecteurs (MX1, MX 2, DEX) d'accès aux fils de demande (DE1), d'autorisation (AE 1) et de transfert (RA1) - un circuit d'exploration (EX) pilotant les sélecteurs, - un circuit de synchronisation (CSY), - un circuit de validation (CV) des demandes (DE1), - une bascule de régénération des informations transmises (BR). 4/ Dispositif suivant la revendication 3, caractérisé par le fait que la capacité du distributeur peut être augmentée par association de plusieurs distributeurs, les explorateurs (EX) étant reliés en série, et les sélecteurs d'accès aux fils de transfert (RD 1) ayant leurs sorties multiplexées. / Dispositif suivant la revendication 1, caractérisé par le fait que ledit réseau d'échanges est formé de liaisons bifilaires sur lesquelles les informations sont transmises en mode bipolaire. 6/ Dispositif suivant la revendication 1, caractérisé par le fait que ledit réseau d'échanges est dupliqué, chaque réseau d'échantes - 21 - (RIT1, RTI2) étant piloté par un distributeur indépendant (DR1, DR2). 7/ Dispositif suivant la revendication 1, caractérisé par le fait que le coupleur (ARIT) audit réseau d'échanges comporte: - une interface de liaison (RG1 à RG4, CCR, DRA) au bus de processeur (S-BUS), - un circuit de pilotage (DM, BC) du bus permettant l'accès direct à la mémoire du processeur, - un circuit émetteur-récepteur (HDL) relié au réseau d'échange RIT et commandé par le processeur - des registres tampons, - un circuit de commande (CHD). 8/ Dispositif de commande suivant la revendication 7, caractérisé par le fait que le coupleur effectue des échanges de données simulta- nément sur le bus processeur (S-BUS) et sur le réseau d'échanges (RIT1) le coupleur comportant deux bus internes indépendants: - un bus (BDC) reliant ledit circuit de pilotage (DM) l'interface de liaison (RG1, RG2) et les registres tampons, - un bus (BDH) reliant l'émetteur/récepteur (HDL), l'interface ((RB0, RB1, RG3) et les registres tampons, et des circuits de comptage (CC) associés aux registres tampons permettant la gestion des échanges par blocs de caractères. 9/ Dispositif suivant la revendication 8, caractérisé par le fait qu'il comporte: - deux émetteurs/récepteurs (HDLo, HDL1), - deux groupes de registres tampons d'émission 'RTC, FTO, FT1, RT0, RT1), - deux groupes de registres tampons de réception (RRH, FRo, FR1, RR0, RR1), - un circuit de pilotage (DM) capable de gérer plusieurs voies indé- pendantes, le dispositif gérant 2 voies d'émission (VT0, VT1) et 2 voies de réception (VRo, VR1) indépendantes. / Dispositif suivant la revendication 8, caractérisé par le fait que le coupleur comporte un circuit de reconnaissance d'adresse (CAO, CA1) pour chacune des voies de réception.