Brevet FR2547082A1 — publié le 19841207

I I présente invention se rapporte à un système de traitement par multiprocesseurs dans lequel des modules de processeurs interconnectés assurent un imultitraitement (traitement en simultanéité dans des modules de processeurs séparés) et une multiprogrammation (traitement imbriqué dans un seul module de processeur). La présentc invention concerne,' en particulier, un système capable de supporter des débits élev 6 és de donn 6 es de mouvements vers d'importants fichiers centraux en liaison directe 10 avec l'ordinateur, et dans lequel une défaillance d'un composant unique ne peut ni arrêter ni affecter le fonctionnement du syst&ème. De nombreuses applications exigent un traitement en direct avec l'ordinateur de quantités importantes de données à 15 des d Sbits élevés de mouvements Ce traitement est, par exemple, nécessaire dans les applications relatives au commerce de d 4 tail en ce qui concerme les points de vente automatisés, les inventaires et e* 'optrations de crédit et dans les 6 tablissements financiers our les virements automatisés de fonds et les.20 opérations de c',ditl Dans des applications de calcul de ece genre il est important, et souvent critique, que le traitement des données ne soit pas interrompu Une défaillance d'un système de traitement en liaison directe avec tlordinateur peut paralyser une partie de la geetion concene et causer des pertes importante E de données et d'arsente Ainsi, un système de ce genre en liaison directe avec l'ordinateur doit fournir non seulement une puissance suffisan te de calcul qui permet d'effectuer de nombreux calculs simul30 tanément, mais également un mode d'exploitation qui permet de continuer sans interruption le traitement 'des données en cas d défaillance d'un composant du -syst&me Le système doit être conçu soit pour fonctionner même en ca d'incident grave (auquel cas l'incident ne donne lieu à aucune perte de capacité de traitement) soit pour fonctionner en mode "d Segradé' (dans lequel il se produit un certain ralentissement mais la capacité totale de traitement est maintemnue) en cas de dlfaillance G. En outre, le système doit galèment fonctioner de telle 40 manière qu'une défaillance d'un composant unique ne peut affec 2 * 2547082 ter l'exploitation du système Ie système doit fournir un calcul qui tient oompte des erreurs Dans le cas d'un calcul qui tient compte des erreurs, toutes les erreurs et défaillances du système doivent être corrigées automatiquement ou bien, si elles ne peuvent être corrigées automatiquement, elles doivent être détectées ou bien, si elles ne peuvent être détectées, elles doivent être limitées et ne doivent pas affecter le reste du système. Comme un module unique de processeur peut avoir une d 610 faillance, il est évident qu'un système fonctionnant sans interruption en liaison directe avec l'ordinateur doit comporter plus d'un module de processeur O Les systèmes qui comprennent plus d'un module de processeur peuvent done satisfaire à l'une des conditions nécessai15 res à une exploitation non interruptible Cependant, l'utilisation de plus d'un module de processeur dans un système ne réunit pas, par elle-même, toutes les conditions suffisantes au maintien dem capacités requises de traitement en cas de défaillance d'un composant, comme le montrera clairement la descrip20 tion qui va suivre Les systèmes de calcul qui sont prévus pour des calculs. en liaison directe avec l'ordinateur, de grand volume et orientés vers les données de mouvements, et qui doivent fonctionner sans interruption, nécessitent donc des multiprocesseurs comme point de départ Mais l'utilisation-de multiprocesseurs ne garantit pas que toutes les conditions suffisantes seront satisfaites et l'accomplissement des conditions suffisantes supplémentaires pour les systèmes de ce genre en liaison directe avec l'ordinateur a présenté un certain nombre de difficultés 30 dans l'art antérieur. L'art antérieur a abordé le problème du traitement ininterrompu des données en suivant g 6 néralement deux méthodes: soit en adaptant deux ou plusieurs gros ordinateurs monolithiques universels pn vue d'une exploitation en commun, soit en 35 interconnectant plusieurs miniordinateurs afin de fournir des capacités de multitraitement. Dans le premier cas, c'est-à-dire l'adaptation de deux gros ordinateurs monolithiques universeis en vue d'une exploitation en commun, une méthode classique d'approche suivant -l'art antérieur consiste à faire partager aux deux ordinateurs 3 25470821 une mémoire coommune Mais dans un système de multitraitement d E ce type, une d 4 faillance de la mémoire commune peut paralyser tout le système Ia mémoire commune soulève également un certain nombre d'autres difficultés, y compris la mise en séquen5 ce des accès à eette mémoire commune Bien qu'il satisfasse à certaines des conditions nécessaires à un traitement non interruptible, ce système ne répond pas à toutes les conditions suffisantes. En outre, les systèmes de multitraitement qui utilisent 10 de gros ordinateurs un Liversels sont plutôt coûteux car chaque ordinateur est construit sous la forme d'un ensemble monolithique dans lequel tous les composants (y compris l'ensemble des programmes, le système de refroidissement, etc) doivent être doublés chaque fois qu'un autre processeur est adjoint au sys5 tème, môme si de nombreux composants doublés ne sont pas nécessaires. L'autre approche du problème suivant l'art antérieur, qui consiste à utilieer plusieurs miniordinateursq présente (en coi mun avec la solutioi qui consiste & utiliser de gros ordinatew universels) l'inconvénient de devoir adapter une liaison entre des ordinateurs universels, l'inconvénient de devoir adapter une liaison entre des ordinateurs qui, au départ n'ont Jamais été constituas pour assurer une telle liaison En conséquence, les liaisons nécessaires sont habituellement établies par l'in 25 termédiaire du canal d'entrées-sorties Lesa liaisons par l'inti mêdiaire du canal d'entrées-sorties sont nécessairement plus lentes que les échanges à l'intérieur du processeur lui-même'eces liaisons entre processeurs assurent donc des communication: relativement lentes entre les processeurso 30 3 O:ln outre, les liaisons entre processeurs exigent des cartes spéciales d'adaptation qui augmentent Sensiblement le coût de l'ensemble du système et qui introduisent la possibilité de défaillances de composants uniques qui pourralent immobiliser le syst&ème Le fait de doubler les liaisons entre processeurs et les cartes d'adaptation afin d'éviter les probl&mes de défaillances de composants critiques uniques, augmente encore pli sensiblement le cout de l'ensemble du systèmeo Là doublement des liaisons St des cartes d'adaptation ent tous les processeurs est devenu très'encombrant et plutôt com40 plexe du point de vue de l'exploitation. 4 2547082 1 Une autre difficulté de l'art antérieur réside dans la manière dont les oonexions sont faites aux appareils périphériques. Si plusieurs appareils périphériques sont connectés à une ligne*unique d'entrées-sorties d'un processeur faisant partie d'un système de traitement par multiprocesseurs et si ce processeur a une défaillance, les apparoils péLrphérique B seront alors indisponibles pour le syst me 5 m me si le processeur défaillant est connecté par une liaison entre processeurs à un 10 ou plusieurs autres processeurs du systèmeo Afin d'éviter cette difficulté, on a prévu dans l'art antérieur un commutateur de lignes d'entrées-sorties qui permet d'interconnecter les lignes d'entrées-sorties, afin d'assurer des accès continus aux appareils périphériques en cas de d 615 faillance d'un processeur relié aux appareils périphériques par une ligne particulière d'entrées-sorties Les commutateurs de lignes sont coûteux et ils présentent également le danger de défaillances individuelles qui pourraient provoquer la coupure d'une partie sensible de l'ensemble du système. la fourniture du logiciel aux systèmes de traitement par multiprocesseurs de l'art antérieur constitue également un important problème. Le logiciel des systèmes d'exploitation conçus pour ces systèmes de nultitraitement tendent à être inexistants lors25 qu'un logiciel est réalis-pour ces systèmes de traitement par multiprocesseurs, il est tr&s souvent limité à un petit nombre de processeurs et il n'est pas adapté à ladjonction de processeurs supplémentaireso Dans de nombreux cas, il faut soit modifier le système d'exploitation, soit inclure certaines des fonctions du système d'exploitation dans le programme de l'utilisateur, ce qui constitue une opération longue et coûteuse. Dans l'art antérieur, un système d'exploitation standard et satisfaisant de liaisons des processeurs fait défaut De même, on ne dispose pas d'un syst&ème d'exploitation permettant d'ad Joindre automatiquement des processeurs supplémentaires dans un système de multitraitement constitué pour recevoir une adjonction modulaire de processeurs, lorsqu'un accroissement de la puissance de calcul est nécessaire. Un premier objet êe la présente invention est de fournir 254708 2 1 un système de traitement par multiprocesseurs, en vue d'applications en liaison directe avec l'ordinateur et orientées vers les donn 6 es de mouvements 9 qui élminq les difficultés rencontrées dans 1 lart antérieur. Un objet fondamental de la présente invention est d'assurer qu'aucune d 6 faillanoe individuelle ne peut immobiliser le système ni affecter de manière significative l'exploitation du système A cet égard 9 le système qui fait l'ob Jet de la présente invention est construit de telle sorte qu'aucun composant unique n'est connecté à une partie du système, mécaniquement ou électriquement la garantie que toute erreur qui se produit peut être corrigîe, détectée ou empêchée d'affecter le système est un objet en étroite relation avec la présente invention. 1 La présente invention a encore pour objet important de úou:nir une structure de système et un mode fondamental d'exploitation qui libèrent l utilisateur de la nécessité d'intervenir dans le matériel composant le système et dans le protocol de liaison entre les processeurs Dans la présente invention, chaque composant principal se présents sous une forme modulaire de manière à pouvoir être démonté ou remplacé sans qu'il soit nécessaire d'immobiliser le systèmes En outre, ce dernier peut ûtre élargi sur place (soit horizontalement par l'adjonction de modtules standards de processeurs, soit verticalement dans la plupart des cas par l'adjonction d'appareils périphriques, san interruption dua système ni modification du matériel ou du logiciel. Le système de traitement par multiprocessesurs qui fait l'c jet de la présente invention se compose de plusieurs modules de : processeurs indépendants et de plusieurs circuits indépendants de donnéese Dans un exemple particulier de réalisation de la présente invention 9 16 modules séparés de processeurs sont interconnectés par l'nter-m aire d'une ligne entre processeurs en vue d multitraitement et de la multiprogrmation, Dans cet exemple partioulier de réalisation 9 chaque module de processeur suppor âusq 7 â 32 organes de commande d'appareils et chacun d'eux peu comand-er Jusqu m huit appareils périphériqueso Plusieurs circuits et sorties indépendants sont prévus entre tous les composants principaux du système pour assurer qu'une communication est toujours possible, par l'intermédiaire de deux circuits au moins, entre les modules de processeurs et entre ceux-ci et les appareils pépiphériques, et pour assurer également qu'une défaillance unique n'arrêtera pas l'exploita5 tion du système. Ces multiples circuits de liaison comprennent des lignes multiples interconnectant chacun des modules de processeurs, dessorties multiples dans chaque organe de commande des appareils et des lignes d'entréessorties connectant chaque organe de commande des appareils pour permettre l'accès par deux modules différents de processeurs au moinso Chaque module de processeur est un module standard et il comprend une mémoire centrale, un appareil de commande entre processeurs et un canal d'entrées- sorties oui font partie du module d'une unité centrale. Chaque module de processeur comporte un microprocesseur alimenté et exploité au moyen de microinstructions incluses sous la forme d'un jeu d'instructions fondamentales dans chaque module de processeur. Le jeu d'instructions fondamentales incorporé dans chaque module de processeur implique le fait d'une liaison entre processeurs et, lorsqu'un module de processeur supplémentaire est adjoint au système, le système d'exploitation (dont une copie se trouve dans chaque module de processeur) est informé de la 25 disponibilité d'une nouvelle ressource exploitable au sein du système d'exploitation existants sans qu'il faille modifier ni le matériel ni le logiciel du systèmeo Pour augmenter ses performances et maintenir des débits très élevés de mouvements, chaque module de processeur comprend 30 un deuxième microprocesseur qui est consacré aux opérations d'entrées-sorties. Un accès à double entrée à la mémoire centrale, par l'intermédiaire de l'unité centrale et du canal d'entrées-sorties, permet un accès direct à la mémoire pour les transferts-d'en35 trées-sorties afin d'augmenter également leurs performances. Chaque module de processeur est matériellement constitué pour s'adapter sur un nombre minimal de grandes plaquettes à circuits imprimés Le fait de n'utiliser que quelques plaquettes pour chaque module de processeur ménage une place pour l'ensemble des programmes et réduit au minimum la longueur de 7 2547082 la liaison entre processeurs, requise pour interconnecter tous les modules de processeurs Une liaison relativement courte ent: processeurs réduit au minimum la 'storsion des signaux dans la liaison entre processeus et permet une vitesse élevée de commu5 nication entre les processeurs. Chaque ligne entre processeurs est une ligne synchrone à grande vitesse qui réduit au minimum la servitude dans les communications entre processeurs et qui permet au système de réali. ser des débits élevés. Un contrôleur séparé de ligne surveille toutes les transmissions sur la ligneo Le contrôleur de ligne inclut une logiqu de sélection de processeur pour déterminer la priorité d'échang de données entre deux mbdules quelconques de processeurs sur la ligne entre processeurso Le contrôleur de ligne comprend égale15 ment un é 8 tat logique de commande de la ligne afin de constituer une paire émettrice-réceptrice de modules de processeurs et une base de temps pour un échange d O informations sur la ligne entre la paire émettrioeréceptrice de modules de processeurs. Chaque contrôleur de ligne comprend une horloge de ligne 20 et chaque unité centrale de chaque module de processeur possède sa propre horloge Il n'y a donc pas de système d'horloge-mère susceptible de subir une défaillance individuelle qui pourrait immobiliser l'ensemble du système de traitement par multiproces seurs Chaque module de processeur comprend dans le contrôleur entre proceseurs dua module de processeur, un certain nombre d E circuits montés sur des plaquettes à circuits imprimées et qui sont consacres aux communications par les lignes entre processeurs. Chaque commande entre processeurs comprend également des mémoires-tampons à accès rapide (mêmoires-tàmpons en file d'attents et une mémoire-tampon hors de la file d'attente) qui peuvent être vidées et remplies par l'unité centrale sans perturb 4 la ligne entre les processeurso Ceci permet de maintenir dans 35 ligne entre processeurs un débit de données supérieur à celui pourfait maintenir N importe quelle paire unique de processeur Plusieurs échanges de données entre les paires de modules de p ceaseurs peuvent être imbriqués sur une base apparemment simu tané e Dlu fait que la ligne entre processeurs fonctionne de mani asynchrone par rapport à chaque unité centrale particulière, chaque mémoire-tampon en file d'attente et hors de la file d'attente est rythmée par le module de processeur ou par le contrôleur de ligne, mais pas par les deux simultanémento Par conséquent, à chaque mémoiro-tampon en file d'attente et A chaque mémoire-tampon hors de la file d'attente sont associées, dans la commande entre Dprocesseurs, une logique qui fonctiomnne en synchronisme avec l'horloge de ligne et une autre logique qui fonctionne en synchronisme avec l'horloge de l'unité centrale Les verrouilla Eges logiques déterminaent certains passages de la logique d'un état à un autre afin d'empêcher une perte de données dans les échanges entre les lignes asynchrones entre processeurs et le module de processeur. la logique est également disposée pour qua O dans le cas o l'alimentation d'un module de processeur baisserait, il n'y ait aucun effet transitoire sur les lignes entre processeurs parce que le module de processeur est en train de perdre le contrôle O Une baisse d'alimentation du modul Je de processeur sur une ligne entre processeurs ne troublera donc pas l'activité 20 d'une autre ligne entre processeurs O Le contrôleur de ligne et la commande entre processeurs de chaque module de processeur agissent donc conjointement pour effectuer la gestion de toutes les lignes entre processeurs Simultanément au traitement par les unités centrales, de sorte * 25 qu'il n'y a aucun gaspillage de la puissance de traitement Cet te gestion des lignes est réalisée avec une f Lible servitude envers le protocole du fait qu'il faut très peu de cycles de lignes entre processeurs pour établir un échange de lignes (quels que soient le module de processeur qui est emetteur et le module 30 de processeur qui est récepteur) relativement à la quantité d'informations réellement transmises. la logique de sélection des processeurs du contrôleur de ligne comprend une ligne individuelle de sélection qui relie la logique de sélection des processeurs à chaque module de proces35 seur Les lignes de sélection sont utilisées de trois manières dans le protocole d'établissement d'une paire émettrice-rceptrices de modules de processeurs et d'une base de temps pour 1 ' échange d ' informations sur la ligne entre la paire émettrioréceptrice Les lignes de sélection sbnt utilisées a) en balaya40 ge pour déterminer quel module particulier de processeur est 9 2547082 2 désireux d'émettre, b) en réception pour interroger un module de processeur et savoir si ce module particulier de processeur veut recevoir et c) en combinaison avec une instruction d' émission pour faire connaître au module du processeur émetteur la base de temps afin d'émettreo Le module du processeur récepteur est qualifié pour recevoi: des données nen entrée" nlon sollicitées par lui et sans instriuction d u programme. Les blocs de données entre une paire émettrice-réceptrice 10 de modules de processeurs sont transmis en paquets par la ligne roliant les processeur SA la fin de chaque transmission de pa la commande entre processeur d'un module de processeur récepten r est déconnectée logiquement de la ligne entre processeur pour prfettreà la lgique de l'état de contrôle des lignes de 15 mettre aen S 6 quence une paire difféSrente émettrice-réceptrice de modules de processeurs ainsi qu Vune base de temps 9 afin d'effectuer une transmission de paquet entre l utre paire émettricereóeptrice de modules de processeurso Ainsi, comme on l'a noté ci-dessus 9 plusieurs -transmissions de blocs de données entre différentes paires émettrices-rceptrices de modules de processeurs peuvent donc être imbriquées dans la ligne reliant les pro. cesseurs sur une base apparemment simultanée, du fait de la fréquence de base plus rapide de la ligne entre processeurs 9 comparativement à la vitesse plus faible de la mémoire des modules de 25 processeurs. Chaque mémoire de module de processeur comprend une mémoire tampon spar, ée pour chaque combinaison d'un module de processeur et d'une ligne entre processeurs. Cheaque mémoire inclut 8 galement une table de réception de 30 ligne pour diriger les donmnes seu entree venant d'une ligne entre processeurs vers une position détermin Se d'une mémoiretalpo courrespondante de la memoire d'un module de processeur r cepteur Chaque table de réception de ligne fournit une entrée de table de réeeption de lisgne qui contient l'adresse dans la35 Gruala doivent âtre mémorisées les données en entrée" et le nombre de mots attendus du module de processeur émetteur O L'entrêe de la table de réception des lignes est mise à jour par des microirnctctions dans le module du processeur après la réception de chaque paquet et elle opere avec les micro-instructions 40 soit pour fournir une interruption de programme lorsque le bloc 2547082 l entier de données a été reçu avec succès soit pour fournir une interruption au programme du logiciel en cours de déroulement dans le module de processeur, en réponse à la détection d'une erreur de transmission des donnxe dans la ligne entre proces5 seurs La production d'une interruption du programme à la fin seulement de la transmission du bloc de données permet de rendre la transmission de données transparente au programme du logiciel en cours de déroulement dans le module de processeur. L'interruptlon en réponse à la détection d'une erreur fournim A( un contrôle d'intégrité de la transmission des données * Le sous-système d'entrées-sorties du système de traitement par multiprocesseurs qui fait l'objet de la présente invention est constitué de manière telle qu'aucune défaillance individuelle de module de processeur ne peut gâner l'e:xploitation du sys15 tèime. En outre, le sous-système dentres-sorties est constitué 6 pour traiter des données à des débits très élevés de souvements, pour optimiser la capacité de traitement et pour réduire au minimum les perturbations des programmes en cours de déroule20 ment dans les modules de processeursComme on l'a noté ci-dessus, chaque module de processeur comprend un microprocesseur qui est consacré aux opérations d'entrées- sorties. Le système d'entrees-sortics est un système A interruptions 25 et il ne fournit une interruption de programme que lorsque la transmission des données est terminée Ceci libère l'unitê centrale de son rôle vis-à-vis de l'appareil pendent la transmission des données. Chaque canal d'entrées-sorties est multiplexé par blocs 30 pour traiter plusieurs transmissions de données par blocs depuis plusieurs organes de commande sur une' base apparemment simultanée Pour accomplir cette fonction, on imbrique des tranches de données de longueur variable dans les transmissions entre le canal d'entrées-sorties et les mémoirestampons des or35 ganes de commande, sensibles aux contraintes, Comme on l'a noté ci-dessus, chaque organe de commande comprend plusieurs entrées et une ligne séparée d'entréessorties est connectée à chaque entrée 1 de sorte que chaque organe de commande est connecté par l'intermédiaire d'au moins 40 deux modules de processeurs différents. Il 2547082 1 Les entrées de chaque organe de commande Sont constitu 6 es de telle sorte que chacune d'elles est logiquement et matériellement indépendante de l'autreo Aucune partie de composant d'une entrée ne constitue en même temps un composant d'une autre entrée, de sorte qu'aucune défaillance individuelle d un composant d'iue entrée ne peut asffecter le fonotionnement d'une autre entréee Chaque ogane de commande inclut une logique qui assure la sélection d'Ume Etre d'accès seulement à la lois O de sorte que 0 ( la itranission de données erronées à une entrée ne peut jamais af'ecte:f une ântre entrée. L@ systme dqentréess ortius q i fait l'objet de la présen t r imen tion relio les appareils périphériques en mode '"dgradé%. Il:xiste plusieurs circuits conduisant & chaque appareil parti'15 oulir 3 po le cas d'une défaillance dans un circuito Et une dfailliance de l'appareil ou une défaillance du module de proces-. seur si tu le long d'un circuit n'affecte pas l'exploitation d'a module de processeur sur un autre circuit conduisant à laep pareilo Le syst&me dentressortis qui fait l'objet de la priaente invetion est' gale 7 ment constitué de telle sorte que h'importe quel 'bpe d'appareil petb âtre placé dans le système et le systoe d'entérea=sorties@ utilisera' encore au Maimum la la 1 ' gerl de b=d A 2 du canal aentr essortie 50 Z Le organes de commae sont équipés d'une m"oire-tampon do sor 30 te ue toutes les transmissions entre les organes de Com mi e et le cl entréessortis s'effectuent au débit ma:ximalÉ dg canal O L'o-rgae de cooiande peut transmettre entre luimême et u 30 p'areit p,érp Lriequ 9 des données sous forme de multiplets ma.is l oraue de commande doit condenser et sépaer les données a:fi de transmettre des mots entre lui-même et le canal d'entréeú sorties$ Coomle le méoires tempons sot disposées dans les organes de ûooande Pl Ut SM que dans le canal d'entressorties la présente 1 en'ion l-ite la ise en moire=mpon cell qui est equise par une composition particu lire du syst&meo La présente iventior ne né óesite pas 'n m Smoire-tpon séparée pour chaqu appareil p Siriphnqu a f, A èiter' des surcharges comme ce se40 rait nécessaire si tes mémoires- tmpons étaient situées dans le 254708 2 canal d'entrées-sorties plutôt que dans les organes de commande comme cela était souvent le cas dans lart antérieur. Comme on l'a noté ci-dessus, chaque Mmoire-tampon est sensible aux contraintes et ceci procure un double avantage. Tout d'abord, chaque mémoire-tempon peut être constituée de manière à posséder une profondeur totale en relation avec le type et le nombre d'appareils à deservir O Chaque organe de commande peut donc comporter une mémoire-ta Mpon dont la capacité est fonction du type d'appareils à cii Mnero Ensuite 9 la constitution des m&ooirestapons sensibles aux contraintes et le mode de fonctionnement de la présente invention permettent aux mémoires-tampons de combiner leur action sans comiuniquer entre elleso cette caractéristique permet, à son tour, une utilisation efficaoe et optimale de la largeur de bande du canal d'entrées-sortieso La contrainte appliquée à une mémoire-tampon particulière est déterminée par le degré de remplissage ou de vide de la mémoire-taâpon en combinaison avec le sens de la transmission par rapport au module de processe ur La contrainte augmente lors20 que l'appareil périphérique a accè&s à la mémoire-tmpon et elle diminue lorsque c'est le moyen de canal d'entrées-sorties qui a accès à la mémoire-tampon. Chaque mémoire-tampon a une profondeur qui est la somme d'une profondeur de seuil et d'une profondeu d'attente La pro25 fondeur de seuil est fonction du temps ncessaire pour deservir les organes de commande fortement prioritaires tandis que la profondeur d'attente est liée au temps nécessaire pour desservir les organes de commande faiblement prxioritaires connectés au même canal d'entrées-sorties O La mémoiretampon sensible auxa controaintes iclut une logique de commande afin de garder la trace de la contrainte appliquée à la mémoire-tampon la logique de command est efficace pour effectuer des demandes de remise N service au canal d'entrées-sorties lorsque la contrainte traverse une profondeur de seuil de la mémbire-tampon. Chaque mémoire-tampon qui a une demande de remise en service en cours, est connectée individuellement au canal d'entréesorties conformément à un programme de balayage qui résout la priorité parmi tous les organes decommande qui ont une demande 40 de remise en service en cours O 2547082 1 Iorsque l'organe de commande est connecté au canal d'entrêes-sortiesg les données sont transmises entre la mémoiretampon et le canal d'entrées-sort es en une tranche à ou au voisinage de la vitesse de la Mémoire. Ainsi, parce que les mmoirs-tampons transmettent les données allant vers et venant des appareils périphériques à la vitesse relativement faible des appareils et parco qu'ils peuvent transmettre mes données allant vers et venant des module, de processeurs à ou au voisinage de la vitesse de la mémoire 10 sous fore de transmissions par tranches, et en réponse à la contraimte appliquée à la mémoire-tamponú les transmissions par tranches peuvant être multiplexées par une division du temps, de sorte que des trnches uindividuelles venant de plusieurs organes de commande peuvent tre imbriquées afin d'opti15 miser l utisation efficace de la largeur de bande du c 1 al d 6 enréss-sortie 5 et afin également de pouvoir esffsectuer plusieurs transmissions de blocs à partir de différents org nes de commande sur une base apparemment simultanée. Des contrôles complets d'erreurs et des moyens de limita20 tion d'erreurs sont prévus pour toutes les transmissions de données dans les circuits de données du système de traitement par multiprocesseurs. Des contrôles complets d'erreurs et des moyens de limita tiou d'erreurs sont prévus pour toutes les transmissions de données dams les circits dé données du système de traitement par multiprocesseurs. Les contrôles d'erreurs comprennent la totalisation des eontr 11 es d'erreurs et des contrôles de parités dans les ciro-uius da données correction daerreurs dans le système de la me30 noire centrale o les contrôles d Uerreurs concernant également les limita'tloa des imtezvalles de blocage dans l canal d'entrées-sorties la limitation des erreurs e prévue dans le système d'enties-aorties par une table de commande des entrées-sorties comportant une c 11 de deux mots pour chaque appareil périphérique afin da défini r une zone d méoi pon dans la mémoire entrale et la longueur de comptage du multiplet restant à transmettre à n'importe quel moment particulier pour une transmission particulière de données à un appareilo La table de commande d'entrées-sorties est placée dans chaque prooesseu 2547082 l au lieu de se trouver dans les organes de commande, afin de limiter les résultats d'une défaillance dans le mot de comptage ou le mot-adresse au seul module de processeur dans lequel le mot de comptage ou le mot-adresselest matériellement position5 N 6 é Chaque module de proce sseur qui est connect pour accéder aux organes communs de commande et au appareils connexes, contient sa propre copie de la table de commande d'entrées-sorties Ia défaillance d'une clé de table dans un module de processeur n'affecte pas l'autre module de processeur car ce der1 l nier possède sa propre copie correcte de la clé de la table. Le système de traitement par multipro 6 esseurs i fait l'objet de la présente invention comprend un système d'alimentation électrique qui alimente séparent les modules de processeurs et les organes de commande de manière à assurer une 15 exploitation ininterrompue du reste du système de traitement par multiprocesseurs, en cas de déSfaillance dans l'alimentation électrique d'une partie du système de traitement par multiprocesseurs. L'alimentation d'une module quelconque de processeur ou d'un organe de o Qmmande peut être couple de manière à permettre l'entretien direct hors tension, alors que le reste du système de traitement par multiprocesseurs reste alimenté et opérationnel. L'alimentation électrique comprend une alimentation séparée 25 pour chaque module de processeur et deux alimentation séparées pour chaque organe de commande. Les deux alimentations électriques séparées sont opérationnellement associées à l'organe de commaunde par l'intermédiaire d'un commutateur qui permet à une alimentation de fournir toute 30 la puissance nécessaire à l'organe de commande en cas de défaillance de l'autre alimentation. L'alimentation électrique qui fait l'objet de la présente invention crée également un signal d'alarme en cas de panne d'alimentation, qui a pour effet de canser er l'état logique du 35 module de processeur en cas de psane d'une alimentation associée à ce module de processeur lorsque la tension est rétablie, le module de processeur est remis en fonctionnement dans un état qui est connu et sans pertes de donnéeso La mémoire du système de traitement par multiprocesseurs qui fait l'objet de la présente invention est divisée en quatre zones logiques, & savoir les données de l'utilisateur, les données du système, le code de l'utilisateur et le code du systèm E Cette division de la mémoire en quatre zones séparées d'adresses l Igiques sépare le code des dodnnées de sorte que le code 5 peut être rendu non modifiableg et elle sépare également les programmes du système d'exploitation des programmes de l'utilisateur de sorte que les utilisateurs ne peuvent pas détruire par inadvertance le système d'exploitation. le système de traitement par multiprocesseurs qui fait lob'jet de la présente invention comprend ln topogramme de mémoire qui accomplit plusieurs fonctions Une fonction du topogramme consiste à fournirun syst&ème à mémoire virtuelle dans lequel tous les codes et toutes les données sont translatables de manière inhérente, de sorte que 15 l'itilisateur n'a pas à se préoccuper de l'emplacement physique réel du système ou des programmes de l'utilisateur, ni de l'6 tendlle de la mé&moire physique connectée au syst neo Ma topogr&m? raduit les adresses logiques en adresses plysiques pour contituer des pages de la mémoire centrale et 20 il fournit des interruptions pour fautes de pages pour les pages qui ne sont pas dans la mémoire centraleo lie système d'exploitation extrait les pages d'une mémoire auxiliaire (c'est-à. dire ue mémoire implantée dans les appareils périphériques) e' les introduit dans la mémoire centrale disposée dans le module 25 /de rocesseur comle cela est nécessaire pour mettre en oeuvre un système à mémoire virtuelle dans lequel les adresses des pa ges physiques sont invisibles aux utilisateurs et dans lequel il n'est pas nécessaire que les pages logiques soient implanté, dans des pages physiques contiguës ni qu'elles se trouvent dan -0 la mémoire centrale physique, mais dans lequel elles peuvent ê dans une mémoire auxiliaireo Le topogramme fournit également une fonction de protectio et une fonction de gestion de la mémoireo Le topogramme fournit un topogramme séparé pour chaque zo 35 ne logique sparée de Smémoireo ce topogramme fournit une protection en séparant le code des données et également en séparant les programmes de l'utili sateur des programes du système, comme on l'a fait remarquer cidessuso Il fournit également une protection entre les utilisateux dans le cadre d'une exploitation en multiprogrammation car le topogramme qui est opérant pour un utilisateur particulier indique uniquement les pages physiques en mémoire du programme de cet utilisateur, ce qui empêche un utilsateur d'écrire dans une page du-programme d'un autre utilisateuro cette caractéristique d'un topogramme d'utili Bateur empêche donc un utilisateur de détruire le programme d'un autre utilisteur sans qu il soit N 6 eessaire de recourir à des registres de protectiono En' liaison avec-le système d 9:eloitationq le topogramme ac0 complit une fonction de gestion de la mémoire de manière à réduire la servitude dans la gestion du système de mémoire a) en rendant disponibles des pages de la mémoireauxiliaire, b) en gardant une trace de la fréquence d'utilisation des pages physiques dans la mémoire centrale, c) en réduisant les transmissions d'en15 trées-sorties des pages de la mémoire virtuelle 9 et d) en réduisant les interruptions apportées au système d'e:ploitation La manière dont le topogramme accormplit ces fionctions fournit un oystème à mémoire virtuelle efficaceo le nombre des pg Ses disponibles duans la mémoire physique 20 centrale est limité$ Des pages physiques doivent donc parfois être extraites de la mémoire auxiliaire et introduites dans 1 l. mémoire physique centraleo Un aspect important 'd'une gestion efficace de la mémoire est de garder une trace des pages de la mémoire physique centraÀ 25 le qui sont utilisée 1 suffisamment fréquemmet pou devoir tre retenues dans la mémoire physique centrale O Un autre aspect important est de savoir si des pages particulières de la mémoire physique centrale peuvent être écrites (recouvertes) sans devoir être d'abord transférées sur une m AéMoi30 re auxiliaire. Le topogramme inclut des bits historiques qui font partie de l'entrée du topograme pour chaque page Ces bits historiques (qui se trouvent physiquement dans l'entrée du topograemme) donnent un histogramme de l'utilisation de la page physique donnée 35 pendant une certaine période de tempso Et, dans la présente invention, les bits historiques sont périodiquement mis à jour par l'ordinateur sans la nécessité d intervention des programmes. Chaque entrée de topogramme oomprend également un bit-clé qui indique si une page particulière a été extraite de la mémoi40 re auxiliaire. Dans le topogramme même est donc incluse une information qui permet au système de gestion de la mémoire de déterminer si une page particulière de la mémoire physique centrale est un box candidat au recouvrement (lorsqu'il est nécessaire d'extraire une page de la mémoire auxiiaire et qu aucune page vide ou page de code de la mémoire physique centrale n'est disponible pour Un reco ement) et pour déterminer également, si un recouvrement est nécessaire, s'il faut ou non transférer la page recouverte sur une mémoire auxiliaire avant que la page puisse être 10 recouverte o Comme des copies de toutes les pages sans bit-clé sont conservées dans la mémoire auxiliaire aucune introduction en mémoire n'est nécessaire si le bit-clé n'est pas sur la page. Le topogramme est contenu dans une partie de la mémoire qui est séparée de la mémoire centrale Chaque topogramme est e Ostit U de manière à fournir un acc&ès significativement plus apide Que laccès à la mémoire physique centrale, de sorte que le topograe peut être récrit pendant le temps o un accès à lt àlémoire physique est en train de s'effeotuer La ré-écriture du topogramme N 1 arg Wente donc pas la durée du cycle de la mémoire. 20 Comme on l'a noté ci dessus, la mémoire comprend un double accès d'entrée pour l'unité centrale et pour le canal d'entrées. sorties Ce dernier peut donc accéder directement & la mémoire, sans avoir à-traverser l'unité centrale, pour des transmissions de donn 6 es allant vers et venant d'un organe de commande Les 25 accè&s de l'unité entle ài la mémoire et les accls du canal dentrees-sortles à ce'tte même mémoire peuvent donc être imbriqués dans le temps. T Ioutes les transmissions de données venant de ou allant ve: la mëmoire en passant par le canal dentrées-sorties sont effec 30 -xees par l'ineediare du topogramme des données du syst&me. e topogrsme des doneres du système ajoute des bits supplémenaisa couros de la traduction des adresses logiques en dres ses pz y yquss ce qui permet d'accéder à un plus grand nombre de moi da la mémoire physique en utilisant une adresse logique 5 -plue courte pour acéder à un espace physique plus grand que la lon eur m Sme des mots le permettrait normalement La présente invention fournit également une méthode de décodage de syndrome afin de décoder et de corriger les erreurs dans les modules de mémoires à semiconducteurs. las zone de mémorisation du module de mémoire à semi- 2547082 1 conducteurs comprend des mots de 22 bits Chaque mot comprend une zone de 16 bits d'information et une zone de six bits de contrôle. Chaque module de mémoire comprend un détecteur d'erreurs 5 pour corriger simultanément chaque bit unique, détecter toutes les erreurs de bits doubles et un grand nombre des erreurs de bits triples ou davantage en n'importe quel point du mot de 22 bits La correction des erreurs inclut un générateur de bits de controle, un comparateur de bits de contrôle et un décodeur 1 C de syndrome. Le générateur de bits de contrôle fournit un code dans lequel chaque bit de controle est une combinaison linéaire de huit bits d'information et dans lequel chaque bit d'information est un composant d'exactement trois bits de contrôle. Le comparateur de bits de contrôle fournit six bits de syndrome de sortie L'entrée de chacun des bits de syndrome de sortie comprend huit bits d'information et un bit de contrôle. Le décodeur 4 e syndrome interprète la valeur des six bits de syndrome de sorties et identifie la présence ou l'absence d'erreurs et le type d'erreurs, le cas échéant, dans le mot de 22 bits. Un complémentateur de bits d 9 information est également prévu pour inverser une erreur de bit unique d'information, détectée par le décodeur de syndrome, et ainsi pour corriger l'erreur. 25 Le système de mémoire à semi-conducteurs tolère donc des erreurs de bits uniques et il peut être exploité malgré ces erreurs de bits uniques jusqu'au moment qui convient pour réparer la mémoire. Le système et les méthodes de traitement par multiproces30 seurs qui incorporent la structure et les techniques décrites ci-dessus et qui sont opérationnels suivant la description cidessus, constituent d'autres objets particuliers de la présente invention 1 La présente invention sera bien comprise à la lecture de la description suivante faite en relation avec les dessins ci-joints dans lesquels: la figure 1 est un schéma de fonctionnement, en perspective isométrique, d'un système de traitement par multiprocesseurs constitué suivant un exemple de réalisation de la présente inven40 tion La figure 1 représente plusieurs modules 33 de processeurs connectés par deux lignes 35 entre processeurs (une ligne X et une l Lgne Y), chaque ligne étant contrôlée par un contrôleur de ligne 57 La figure q représente également plusieurs organes de commande 41 à double entree 9 chaqua organe de commande étant co 5 necté aux lignes 59 d entrées- sorties de deux modules de processeurs 9 la figure 2 est un schéma de fonctionnement représentant leo détails des con xions du contrôleur de la ligne X et du Cotr&leur de la ligne Y au modules individuels de processeurs. 10 La figure 2 représente sous forme schématique, les connexions reliact chaque contrôleur de ligne à la commande 55 d une module individuel de processeur la figure 3 es-t une vue schématique détaillée de la logique de l'un des contrôleurs de ligne 37 représentés à la figure 15 2 la figure 4 est une vue schématique détaillée de la logique prévue pour la mémoire-tampon de sorti'e t la commande 67 - communes dans la commande 55 d'un module de processeur représentée à la figure 2 la figure 5 est une vue similaire à la figure 49 remais représentant la logique prévue pour une mémoire-tampon dans la file d'attente et une commande 65 de la commande 55 d'U module de processeur $ la f ig re 6 est un schéma d état de la logique 8 I prévue 25 Pour un Contrleur de ligne 37 et elle illustr la manière dont la logique repond aux lignes du protocole entrant dans le con,rôs 1 eur de ligne et crée les lignes du protocole allant du contr,ô 1 eur de ligne aux odules de processeur la figure 7 est un schéma d'état similaire à la figure 6, 30 7 mais représentant les logiques 7 et 75 prévues pour la mémoireÀ bon hors de la file d'attente et la commnde 67 communes de la figre 4 la figure 8 est un schéma dt tat similaire aux figures 6 et 7, mais représentant les logiques 95 et 101 prévues pour 35 la aoiret ondns file deattente et la commande 65 de la figure 5; la figure 9 est une vue schématique représentant la S 6quece chronologique utilisée pour la transmissison d'un paquet donn entre un module de processeur émetteur et un module de 40 processeur récepteur 2547082 1 la figure 10 est un schéma logique de la partie logique de l'état de vide de la ligne et de la partie logique 73 de l'état de remplissage de la mémoireatampon hors de la file d'attente et de la commande 67 représehtêes à la figure 4 la figure 11 est une -liste d équations logiques utilisées pour le schéma logique représenté à la figure 10 la figure 12 est un sehma de fonctionement du système d'entrées-sorties du système de traitement par multiprocesseurs représenté à la figure I; arr - 1 la figure 13 est un schéma de fontionnement du canal 109 dlentrées- sorties d'un module de processeuro La figure 13 r:eprésente les composants prncipaux du canal d'entrées-sorties et le circuit des données reliant à ces composants e la figure -14 est une vue détaillée représentanlt les con15 ducteurs individuels de la ligne 39 dentrées=sorties de la fiare 1 $ la figure 15 est un schéma de protocole de canal d'entrêes sorties MO ant les changements d>état da la ligne T 153 pour ue t stie d'exécution causées par le micro program20 me 115 dans l'unit centrtale 1050 a séqẻn e illustrée est déclenchée par l'unité centrale 105 et elle est transmise, par l'intermédiairer du canal d'entrées-sorties 109 du module de proCesseur 33 et la ligne T 1539 à u organe de commande 41 représenté à la figure 1; la-figure 16 est un scheéma de protocole de canal dentrées-sorties montrant les chagements d O état de la ligne T 153 pour une séquence de reconnexion et de transeission de donaées déclenchée par le micropoogr Imme 121 du canal d Ientrées-sorties en réponse à un signal de demande émis pa -u organe de commande 30 41; la figure 17 est un schéa de protocole de canal d'entréessorties montrant les changements d'état de la ligne T 153 pour une instruction d'entrée-sortie d interrogation ou une instruction hautement prioritaire d'interrogation déclenchée par le 35 microprograme 115 de l'unité centrale la séquence illustrée est transmise par la ligne T 153 à un organe de commande 41; la figure 18 est une table identifiant les fonctions auxc quelles font référence les mnémoniques des figures 15 à 17; la figure 19 est un schéma de fonctionnement montrant la 40 structure générale des entrées 43 d"uu organe de commande 41 2547082 1 représenté à la figure 1 1 figure 20 est-un schéma de fonctionnement d'une entrée 43 représentée & la figure 19 o Cete figure 20 représente princi palement les circuits de données au sein d'une entrée 43; la figure 21 est un achéma de fonctionnement représentant les détails des circuits de données de la logique commune 181 J'iunte 3 ace de l organe de commande 41 représenté & la figure 19 la figure 22 est un schéma de fonctionnement montrant le 5 paiez éoenstitutsves dune mémoire-tampon 189 de données située 10 dans la partie comande dun organe de commande 41 représenté à la figure 19; a figure 23 et un graphique illustrant le fonctionnement de la m moire-rampon 189 de données illustrée aux figures 22 et 19; la gure 24 est un chronogramme illustrant la relation ent 2 le signal d i ED$l POIBILITE venant du canal 109 et le chargement desz données dans le registre de-données 213 de l entrée, représenté à la fisgure 21 et elle illustre la manière dont le contrÈle de pexité est démarré avant que les données ne soient charghez 20 dans le registre et comment il se continue jusqu â ce que les doz nées aient été complêtement chargées dans le registre; la figure 25 est une vue schématique montrant les détails du cirouit de mise sous tension représenté aux figures 19 et 21; la figure 26 est un schéma logique de la logique 243 de 25 command de la mémoire-tampon 89, représentée à la figure 22, dln organe de commainde 41 la figure 26 montre comment la logi3 ue 2 de commande de la mémoire- tampon commande les liaisons dans 1 a ligne de données et commande les indicateurs d'entrées et de sorties -a fgigure 27 est une liste des equations logiques utilisée pour le registre 173 de sélection représenté à la figure 20 la figure 28 est u dronograme montrant le fonctionnement Cr la liaison A deux lignes entre le canal des entrées-sorties 193 et les entrées,; la figure 29 est un schéma logique montrant la logique das le cs gens ral de la liaison repr&sentée à la figure 28 La logique pmrêee bee à la figure 29 fait partie dé la machine 143 de Iîg 9 v 2 du anal 109 d L 8 etréessor-ies représenté à la figure 1; la figure 30 est u schéma de fonctionnement d'un système 40 d'alimentation électrique la -figure 30 montre comment plusieurs alimentations indépendantes et séparées 30 sont réparties et associées aux organes de commande 41 à double entrée afin d'assurer à chaque organe de commande une alimentation principale et une deuxième alimentation en varian e la figure 31 est une vue détaillée à grande échelle de l'agencement de commutation prévu pour commuter un organe de commande entre une alimentation principale et une deuxième alimentation en variante La structure de commutation représentée à la figure 31 permet à la lois une commutation automatique dans le 10 cas d'une défaillance de l'alimentation principale et une commutation manuelle suivant trois modes différents, à savoir hors circuit, automatique et en bascule 9 la figure 32 est un schéma de fonctionnement montrant les détails de l'une des alimentations sparées et indépendantes 303 15 illustrées à la figure 30 ? la figure 33 est un scheéma de fonctionnement montrant le détail des lignes verticales et horizontales d'alimentation électrique connectant lea sources 303 sépares d'alimentation, représentées à la figure 30, aux organes individuels 41 de comman 120 de La disposition particulière des lignes, représentée à la fi Sure 33, permet une sélection facile de deux quelconques des alimentations individuelles qui serviront d'alimentation principale et de deuxième alimentation en variante d'un organe particulier de commande; la figure 34 est un schéma de fonctionnement du système de mémoire et elle montre les détails de la mémoire 107 du module de processeur 33 représenté à la figure 1; la figure 35 est un schéma de fonctionnement montrant les détails de la partie 407 du topograme de la mémoire 107 repré30 sentie à la figure 34; la figure 36 est un schéma de fonctionnement montrant l'organisation de la mémoire logique en quatre zones d'adresses logiques et quatre parties séparées de topogramme correspondant aux quatre zones d'adresses logiques la figure 36 montre éga35 lement les détails des bits et des zones dans une entrée unique d'une partie de topogramme; la figure 37 est un schéma de fonctionnement montrant les détails des modules de mémoire 403 illustr Ss à la figure 34 Le module de mémoire 403 représenté à la-figure 37 est un module 40 de mémoire à semiconducteurs; 470-02 la figur: 8 est un schéma du générateur de bits de contrôle utilisé d le module 403 de mémoire à semiconducteurs représenté à la figure 37 La figure 38 donne également une liste d'éqeations logiques de deux des structures arborescentes de parité de huit bits, utilisées dans le registre de bite de contrôle la figure 59 est u schéma du comparateur de bits'de contrôle utilisé dans 1 e module 403 de mémoire à semiconducteurs representée à la fige 37 La figure 39 inclut léqguation logi10 que do le structure arborescente de parité de neuf bits pour létat g Sro des bits de sydrome la figure 40 est un schéma du décodeur de syndrome utili$sé das le module 403 de mémoire à semiconducteurs représente à la figzre 357 La figure 40 donne également une liste déquation 15 logiq es utilisées poux l'eploitation de la partie logique 511 du décodeur de syndr-ome la figure 41 est un schéma logique d'un complémenteur de bitla utilisé dal le module 403 de mémoire à semi-conducteurs rein 9;éesr 1 é à la fi Gire 575 et l fsigure reprsente les divers états d'un système de $ 1.aitement par deou processeurs exécutet un programme d/appliat ion qcui doit âtre exécuté en continuo Les schémas illustrest les des processeurs successivement en état de défaillanoe et en cours de réiaratiou et le progr amme d'application modifiant son 25 mïode de fonctionnement en conséquence O 0 N 'e re:portera maintenant à la i U Le 'qui est une -eu schmatiquoq en perspectivwe isométrique 9 d'une partie d'un systme de tdai et par multiprocesseurs conformément à un exemple de réalisation de la presente in Ventiono Le système de trai30 tement par uitiprocesseurs est indiqué de manire géné&rale à la cg L_ e I Pa la référence 31 o G système 315 de traitement par multiprocesseurs comprend dez ules idiiduels 3355 de processeurso Chaque module 33-de procassasd comprend une unité centrale 105 % ue mémoire I 07, un 35 a 09 d ntréeee osores et une commande 55 entre processeurs. Lea modules individuels de processeurs sont interoonneotés d Ge lignes 35: rattant les échanges entre processeurs. Ns Ms i_ exemi e paticulier de réalisation du syst&me 31 de t,ema unt par mu Ltxiro seeurs âusqu'à seize modles 3355 de 40 processers sont ïJtâronnectés pa % O interm&daire de deux lignes 35 entre proesseurs, indiquées à la figure 1 comme étant la ligne X et la ligne YO Chaque ligne entre proceseurs 9 comporte un contr 181 eur 37 de ligne associé à cette 'ligmeo lés contrôleurs de ligne 37, las lignes 35 entre prooesseurs et les commandes 55 entre po Osseur 59 représentés à la figure 1, de même que les miroproeeur 1139 les microprogram= mes 115 et les tables 150 de epteion des lignes qui leur sont axxociés, représentés à la figure 2 fouissent un syst&me de lignes entre processeurs Liarchitecture et le fonctionement de ea système de lignes entre processeurs sont illustrés aux figures 2 à 11 et 42 et sont décrits plus en détail ci-après. Le système 31 de traitement par multiprocesseurs comporte un systèm d'entres sorties prév pour tra Usmettre les données 15 entre les modules 33 de processeurs et les appareils pêriphéri. Ces, tels que les disques 45 e 1 S postes terminaux 47, les dérouleurs 49 de bandes magnétiques> les lecteurs de cartes 51 et les imprimantes llzne par ligne 53, représents à la figure 1. Le système d'ntrées-sorties comprend une ligae 39 d'en20 trées-sorties aseoi 4 e à chaque canal 109 daet Tes-sorties d'un module de processeur et une ou plusieurs organes de commande 41 à entrées multiples peuvent être coectés à chaque 'ligne 39 d' entrées-sorties. Dans l'exemple particulier de réalisation illustré, chaque 25 organe de commande 41 comporte deu entrées 43 prves pour les connexions à deux modules différents 3 $ de processeurs de sorte que chaque organe de commande est connecte pour donner acc&s à deux modules de processeurs O Le système d'entrées-sorties comprend un microprocesseur 119 et un microprogra:me 121, inclus dans le canal 109 4 'entr 4 essorties comme le montre la figure 129 -et qui sont consacrés aux transferts d'entréessorties Comme le montre également schématiquement la figure 12, le microprocesseur 113 et le microprograe 115 de l'unitê oentrale -35 105 et de la table'140 de commande de entressorties dans la mémoire centrale 107 de chaque module 33 de processeur sont oprationnellement associés au canal 109 dlentréessorties. L'architecture et le fonctionnement de ces composants et d'autres composants du système d etrém-sories sont illustr As 40 aux figures 12 à 29 et ils sont décrits en détail ci-après. 25470 '82 Le système de traitement par multiprocesseurs inclut un système 301 de répartition de lalimenta'ion qui répartit les alimentations séparées entreles modules 33 de processeurs et les organes de commande 41 de manière & permettre un entretien en ligne et également à fournir une réserve de puissance &à. chaque organe de commande. Comme le montre la figure 309 l système de répartition de l'alimentation inclut des soources d'alimentation séparées et indépendantes 303. Une alimentation S 8 épaée 303 est prévue pour chaque modu.le 53 de processeur et une ligne 305 connecte la source 503 d'alimentation à l'unité centrale 105 à la mémoire 105 d'un module 533 de processeur associées Gomme 1 'illustre dgalement la figure 509 chaque organe de commande 4 est connecté à deu sources 303 d'alimentation séparée pr Lintermédiaire d'un commutateur automatique 311. Si une soumce 303 d'alimentation d'un organe de commande parti.:culier 41 a une défaillance, cet organe de commande sera aliment par l'autre source 303 d'alimentation et la commutation 20 s',ffeotuera régzliêresient et sans interruption ni pulsation de l'alimentation fournie à l'organe de commande, Ie système de répartition de l'alimentation agit conjointement avec le syst&ème' à double entrée de l'organe de commande pour assurez une exloitation et un accès ininterrompus aux 25 appareils périphriques en cas de défaillance d'une entrée indiriduelle 43 o Ru d'une alimentation individuelle 3031 Ie système de traitesment par multiprocesseurs inclut un circuit 182 de mise sous tension, dont les détails sont donnés a la fîgura 25, de plusieurs composants du système afin d'éta30 bliê que llalimentation de ce composant particulier se trouve dans certaines limites acceptables. 2 ?a exemple le circuit 182 de mise sous tension est implant dans chaque unité centrtale 105 dans chaque organe de command 41 et dans chaque contrôleur de ligne 37. 3.5 L 9 objet du ceircuit de mise sous tension est de présenter un signal tablissant le niveau d'alientation appliqué à ce composant particulier si lalimentation ne S' situe pas dans certines limites acceptables prédéterminées, la sortie du signal est utbilse pour invalider le signal de ligne approprié 40 du composant dans lequel le circuit de mise sous teion est implant é. Le circuit de mise SO Us tension fonctionne dans quatre états: état hors tension; passage de l'état hors tension à l'état sous tension; état sous teasion; et passage de l'état sous tension à l'état hors tension, Le circuit de mise sous tension initialise tous les états logiques du système lorsque l'alimentation est brusquement coupée et, dans la présente vtiton, e circuit' de mise soue tension assure une fonction supplémentaire et très importante 10 qui consiste à fournir un système conu pour fonctionner même: en cas d'incident grave, ainsi qu'un entretien en ligne Pour ce faire, le circuit de mise sous tension qui fait partie de la présente invention est utilisé de manière unique pour commander les circuits d'interface qui commandent toutes les lih 15 gnes d'intercommunications du système O L'architecture et le fonctiouanement du système de répartition de l 'alimentation sont illustrés aux figures 5 O à 33 et ils sont décrits en dttail ci-après. Le système de traitement par multiprocesseurs comprend un système de m 4 poire dans lequel la mémoire physique est divisée en quatre zones d'adresses logiques, à savoir: données de l'utilisateur, données du système, code da l'utilisateur et code du système A ce sujet, on se reportera à la figure 36. Le système de mémoire comprend m topogramme 407 et une 25 logique de commande 401, comme le montre la figure 4, afin de traduire toutes les adresses logiques en adresses physiques et indiquer les pages absentes du bit de la mémoire centrale et présentes dans la mémoire auxiliaire, comme cela est nécessaire pour mettre en oeuvre un système de mémoire virtuelle 30 dans lequel les adresses physiques des pages sont invisibles aux utilisateurs. Le système de mémoire comprend un accès à double entrée à la mémoire par l'intermédiaire de l'unité centrale 105 et du canal 109 d'entréessortieso Ce dernier peutb donc accéder di35 rectement à la mémoire 107 v sans devoir traverser l'unité centrale 105, pour des transferts de donnes' venant de et allant vers un organe de commande 410 L'architecture et le fonctionnement du système de mémoire sont illustrés aux figures 54 à 41 et ils sont décrits en dé40 tail ci-après Un système de détection d'erreurs est incorporé au système de mémoire afiu de corriger tous les bits uniques et de détecter toutes les erreurs de bits doubles lorsqu'une mémoire à semiconducteurs est utilisée d&Us le système de mémoireo Ce systme de détoction derrurs utilise unes zone de données de 16 bits et un zone de coutr Sle de 6 bits O comme le montre la isigu e 57, et il C Qmprmnd u complémenteur 487 de bits de données Z également eprêsenté à la figure 57 pour corriger toutes les erreus de bit uniques et détecter toutes les erreurs de 10 bits doubles lorsqu'une mémoire à semiconducteurs est utilisée dena le système de mémoireo C système de détection d'erreurs utilise une zone de données de 16 bits etune zone de contrôle e 6 bits, comm le montre la figure 37 et il comprend un cemplienteur -$ 7 de bits de données comme le montre également 15 la figure 79 ain de corriger les erreurs de bits unique, Les figures 37 à 4 et la description qui les concerne donneut les détails du système de détection d'erreurso Aveat d$entrer dans une description détaillée des syst&mes et des composants m bionnés d'une ifaon générale ci=dessus, l. 20 faut noter les sificaoins suivantes de la terminologie ut A lisée daus la presente demande de brevet. le terme,logiciel" se rapporte à un système d exploitation ou ax instructions du programme d'un utilisate ur le te me ó'mi roinstrctions S se rapporte à un microprogramme ere25 gistr 8 lans une mémoire mortes et le terme 'matéril se réfère à lae logique électronique réelle et à la mémorisation des données Le S stme d' exploitation est un programme principal de gestion se déroulant dans chaque module_ de processeur qui com30 pore e gestion centrale de l O affectation de toutes les ressources du système accessibles à ce module de processeuro le sys-tème d exploitation fournit une fonction d ordonnancement et il deteknine le traitement qui utilisera ce module de processeu D Le sytème dl exploitation affecte également l'utilisation 35 de la mémoire centrale (gesrion de la mémoire) et il exploitse le syst'E& de fichiers an vue de la gestion de la mémoire a Mxiliaie, Le système d'exploitation &ère également le système de messages, ce qui facilite la transmission des informations pe la lig En entre processeurso I a dispositio dua systême d O epqloitation est compatible 28 2547082 avec la disposition modulaire des composants du système de traitement par multiprocesseurs décrit ci-dessus, par le fait qu'ils ne comportent aucun composuant I Sgloalao Au niveau le plus bas du systè&e de logiciels deux entit 6 s 5 fondamentales sont mises en oeuvres à savoir les traitements et les messages. Un traitement est l'entitê fondomentale de gestion au sein d'un système s Chaque traitement comprend ue zsone p Soaliae de données 10 et de valeurs de registre, ainsi qu un ensemble de codes évent'uellement communs Un traitement peut galeim ao 4 cier à une zone commune de données. Plusieurs traitements coexistent dans un module 33 de processeur. Les traitements peuvent résulter ide plicatn de programmes rédigés par l'utilisateur ou ils peuvent avoir des fo netions consacrées telles que, par exemple la gestion d'un appareil d'entrées-sorties ou la création et lélimiination d'autres traitements. Un traitement peut nécessiter les services d'un autre trai-. tement et cet autre traitement peut ê 8 tre localisé dans le même module 33 de processeur qu'un traitemenb demandeur, ou l'autre traitement peut être localisé dans un autra module de proces25 Les traitements fonctionnent de façon asychrone et, par conséquent, ils nécessitent une méthode d'éch ges qui permettra de placer une demiede de service en file d'attente sans "courses" (une condition suivant laquelle le résultat dépend de la séquence du traitement qui aura été mis an route le pre30 miler), d'o la nécessité de 'messages S (un système ordonné d'échanges entre modules de processeurs décrit plus en détail ci-après). De même, tous'les échanges entre les modules de processeurs doivent apparaitre les mêmes aux traitements 3 que ces derniers 35 soient localisés dans le même module de proceaseur ou dans des modules différents. comme le montrera plus clairement la deseription ci-aprè&s, l'architecture du logiciel est compatible avec G le matériel et différents traitements peuvent être oonsidrés comme étant êqui40 valents à certains composants du matériel au point de rue dis- position et fonction. Par exemple, exactement comme le canal 109 d'entrées-sorties communique par la ligne 39 d'?ntrées-sorties avec l'organe de commande 41, un traitement de lutilisateur peut faire une demande (en utilisant le système de message) au procédé associé à cet organe de commande 41; ensuite, le traitement de l'organe signale à nouveau un état de la même manière que l'organe de commande 41 renvoie l'information au canal 109 d'entrées-sorties par la ligne 39 d'entrées-sorties. L'autre entité fondamentale du système de logiciel, le message, se compose d'une demande de service aussi bien que d' une demanude de données Lorsque la demande sera terminée touts les valeurs demandées seront renvoyées au traitement demandeur. iorsqu Aun message doit être envoyé entre des traitements dans de Zx modules différents 533 de processeurs on utilise les. lignes 55 entre processeurs Cependant, comme on l'a noté cidiessus, tous les êchages entre les traitements apparaissent les mêmes au= autraitements, que ces dermiers soient localisés dans le même module de processer 3 ou dans des modules différents. 20 Cette organisation du logiciel présente plusieurs avantages. la présente méthode de structuration du logiciel fournit également un logiciel significativement plus fiable E permettant de compartimenter la structure du logiciel, on peut obtenir 25 des modules d'un plus faible volue et les interfaces entre les modules sont bien définiso le système est également d'un entretien plus facile, du fait de la compartimentation de fonction. Les modules et les interfaces bien définis dans le système 3 o de logi Lciel présenten également l avëntage de pouvoir êtrea facilement e tensibles comme dns l cas de l'adjonction de modules supplémentaires 33 de processeurs ou d'organes supplêment Oaires de commde 41 au systeme de traitement par multipro35 Th E outre, la 'ait que l'utilisateur, en rédigeant son programme, ne doit pas connaître l architecture réelle de la machine ni 1 lïmplantation physique d'autres traitements constitue un avantage pour liutilisateur du système de traitement par multiprocesseurs et dna système de logiciel. Ie logiciel fou-mit de nombreux modules fonctionnellement 3 o équivalents avec des interconnexions redondantes, exactement comme le fait le matériel. Par exemple, des messages circulant entre des traitements dans différents modules 33 de proẻsseurs peuvent utiliser l'une ou l'autre ligne 35 entre processeurs De même, des organes de commande 41 peuvent être exploit 6 és par des traitements dans l'un ou l'autre des nodules 33 de processeurs connectés à l'organe *de commande 41. Le système de matériel et le système de logiciel de traite10 ment par multiprocesseurs, décrits cidessus permettent à l'utilisateur de mettre au point un système d'application qui tient compte des erreurs en raison de ses modules répétés avec des interconnexions redondantes. Comme on l'a fait remarquer ci-dessus les modules indi 15 viduels 33 de processeurs sont interconnectés par l'intermédiaire de deux lignes 35 entre processeurs, une ligne X et une ligne Y, Chaque ligne 35 entre processeurs, en combinaison ave' son contrôleur 37 de ligne et une commande connexe 55 entre processeurs prévue dans chaque module 35 de processeurs fournit. 20 un circuit d'échange multimodulaire entre un module de processeur et n'importe quel autre module de processeur du système. L'utilisation de deux lignes assure que deux circuits indépendants existent entre tous les modules de processeurs du système. Par conséquent, une défaillance d'un circuit (d'une ligne) n'empêche pas les échanges entre les modules de processeurs. Le contrôleur 37 de ligne de chaque ligne 35 entre processeurs est un contrôleur gui, dans un exemple préféré de réalisation de la présente invention, est séparé et distinct des modules 33 de processeurs. Chaque ligne 35 entre processeurs est une ligne synchrone, la synchronisation étant fournie par une horloge de ligne localisée dans les contrôleurs 37 de ligne Les parties 55 de la commande entre processeurs de tous les modules associés à la ligne effectuent des changements d'état en synchronisme avec cette horloge de ligne pendant les échanges par l'intermédiaire de la ligne. Comme on le décrira plus en détail ci-dessous, l'unité de contrôle 105 fonctionne sur une horloge différente de l'horloge de ligne entre processeurs Pendant le remplissage d'une mé40 moire-tampon hors de la file d'attente ou le vidage d'une mé- 254 ? 7082 moire-tmpon en file dattente de la commande 55 entre procasseurs par le'unité centrale, le fonctionnement se fait à la fréquence de llhoxloge de l'unité centraleo O ependant, la transmission de groupes de bits par la ligne entre processeurs s'effectue à la fréquence de l'horloge de la ligne Une cract 6 rgstique importante de la présente invention r Aide dans le fait que li oation transise par la ligne entre processeurs l'est à des vitesses élevées sans aucune correpondance requise avec les fr Séquences d horloge des diverses unités centrales 105 o la vitesse de transmission de luinforxa-tion par la ligne entre processeurs est également sensiblement plus é 1 evée que ne le permettraient des accès directs d'entrée et de sortie des parties 107 de la mémoie à la vitesse de la m&oire o cette caractéristique assure lexistence dune lar15 geur de bande de ligae appropriées même lorsqu'un grand nombre de modules de processeurs sont connectés dans un système de traitement par multiprocesseurso S'avautage d'une utilisation dhorloge séparées pour cha. 'quo îuit 8 centrale i 05 réside dans le fait quune horlosgemè&re 20 'lt ' pas nécessaire@ ce qui élimine une source possible de défaillance de composant uique qui pourrait immobiliser tout le syst Ze, la Commeade 55 entre processeurs comprend des verrouilla' ges logiques qui permettent dexploiter les lignes 35 entre 'p Pcesers à une fréquence dehorloge et chaque unité centrale & sa féequence indépendante propre d'horloge sans pertes de dounéeso ilinformation transmise par la ligne l'est sous forme de groupes de bits comportant plusieurs mots Dans un exemple préfwré de réalisation de la présente invention chaque groupe de bits se oompose de seize mots dont quinze $ont des mots contenant des données et dont un est un mot de contr 8 le O a losique de commande iplantée dans le contrôleur 37 de lines et dans les commandes 55 entre processeurs des modu35 les idividuels 33 suit un protocole détailléo Le protocole r& 6 voit l' tablissemeut d une paire &ettric E réceptrice et de base de temps pour la transmission des 'groupes' de bits de do Sées A la fin du système de base de temps prâvu pour la transissio du groupe de bits de données@ le contrêleur 37 de 40 lignes est lib&ré A?w me autre séquenceu façon' prticulièr dont ces fonctions sont remplies sera mieux comprise après la description ci-dessous des caractéristiques de structure des figures 3 à 9. La ligne X 35 est de structure identique à la ligne Y 35, c'est pourquoi on ne décrira qu'une seule ligne an détail, Comme le montre la figure 2, chaque ligne 35 comprend seize conducteurs individuels 57 de données de ligne 9 cinq conducteurs individuels 59 de protocole de ligne 9 un conducteur 61 de signaux d'horloge et un conducteur 63 de sélection pour chaque 10 module 33 de processeur. Comme 1 'illustre également la figure 2, la commande 55 entre processeurs de chaque module 33 de processeur comprenid' deux organes 65 en file d'attente (représentis à la figure 2 sous la forme d'un organe X en file d'attente et d'un organe Y 15 ea file d'attente) et un organe commun 67 hors de la file d'at%Pente. En se reportent particulierement à la figure 4, on verra que l'organe commun 67 hors de la file d attente comprend une -émoire-tampon 69 hors de la file d'attente qui accomplit une 20 fonction de mémorisation Dans un exemple préféré de réalisation de la présenté invention 9 la méMoire=tampon 69 comporte seize mots de seize bits chacuno La mémoiraetpon 69 est chargeée par l'unité centrale et elle retient les données jusqu'au moment de la tranusmission du groupe de bits & ce momentlà, les 25 données sont libérées dans la ligne comme on l décrira plus en détail ci-dessous L'organe 67 hors de la fil duattente comprend également un registre récepteur 71 qui 9 dans un exa:emple préféré de réalisation de la présente invention 9 est un registre de quatre bits Ce registre est chargé par l'unité centrale qui lui indique le numéro du module de processeur auquel les données seront envoyées. Ia partie de commande de 1 organe 67 hors de la file d'attente comprend une partie logique 75 de l'état de remplis35 sage des processeurs qui fonctionne N synchronisme avec l'horloge de l'unité centrale, une partie logique 75 de l'état de vidage des lignes qui fonctionne en sychronisme avec l'horloge de la ligne X ou Y, et un compteur 77 hors de la file d'attente. Pendant le remplissage de la mémoire-=tmpon 69 hors de la file 40 d'attente par l'unité centrale 9 le compteur 77 hors de la file 2547082 - d'attente explore la mémoire-tampon 69 afin de diriger l'introduction des données dans chacun des seize mots de la mémoiretampon etlorsque le seizième mot test mémorisé dans la mémoire5 tampon-69 hors de la file d'attente, le compteur 77 hors de la file d'attente temins l O 'état de remplissage. organe 67 en dehors de la file d'attente comprend égale"nit un indieateur 79 en dehors de la file d'attente, qui connecte l'enmemble de la partie hors de la file d'attente & la ligne 10 X ou Y 35 Lindicateu 79 hors de la file d'attente permet aux parties logiques 73 et 75 et à la mmoire-tampon 69 d'être c Qmmunes aux lignes X et Y 35 entre processeurs. omme le montre la figre 39 le contrôleur de ligne 37 coremprend une partie logique 81 de létat de commande de ligne, 15 un compteur émettet 85, partie logique 85 de sélection de lcesseu Q O un registre récep teur 879 un compteur de groupe de bits 89 et une horloge de ligne 91 On se reportera maintenant à la figure 5 o Chaque organe -65 en file d'attente comprend une partie logique 93 de l'état de 20 remplissage des lignes qui fonctionne en synchronisme avec l'hon loge de ligne, un registre émetteur 95, une mémoire-tampon 97 en file d'attente, un compteur 99 en file d'attente et une partie logique 101 de l'état de vidage des processeurs qui fonctionne en synchronisme avec l'horloge de l'unité centtale. L Ia figure 6 est un schéma d'état de ila logique 81 prévue pour le contrôleur de ligne 37 e La figure 7 est un schéma d'état des parties logiques 73 et 75 de la partie 67 hors de la file d'attente. La figure 8 est un schéma d'état des parties logiques 93 30 et 101 des parties 65 en file d'attenteo On se reportera à la figure 7 o la partie logique 73 de l'état de remplissage des processeurs comporte fondamentalement quatire états, à savoir: VIDE REM Pi LISSAGE, COMIET et ATENTE, comre l'indiquent les légendes respectiveso la partie logique de l'état de vidage des lignes comporte fondamentalement çuate $tats, à savoir g EZ MSERVE: SITNRONIMATION, EMISSION e-t MEGCUTE, comme l'illustrent les légendes, Continuant la description de la notation de la figure 7, on notera que les lignes en traits fleins terminées par des flèches indiquent des passages de l'état actuel à l'état suivan Les flèches en traits interrompus se terminant aux flèches en traits pleins indiquent les conditions qui doivent être satisfaites pour que le passage indiqué puisse avoir lieu. La synchronisation de machines qui créent ces états et qui 5 fonctionnent A partir d'horloges relativement asyncbhrones exige une structure soigneusement étudiée du système de verrouillage. Ces verrouillages importants sont indiqués sur -les schémas d'état par les flèches en traits interrompuso Oes verrouillages accomplissent une synchronsation de deux machines relativement asynn chrones qui créent les états les flè&ches N traits interrompus, reliant aux figures 7 et 8 les machines qui créent ces états, représentent des signaux qui synchronisent les changements d'état des machines. En ce qui concerne l'état de remplissage pour la partie lo15 gique 73, on doit bien noter que la condition hors de la file d'attente de la mémoire ne produira pas de fin de l'état de remplissage aussi longtemps que le compteur 77 heos de la file d'attente n;'aura pas atteint le compte 15 (pour un compte qui part de zéro); à ce mpment-là, l'état de PEMPLISSAGE sera rem20 placé par l'état CO O IPIET. De même, on doit noter que l'état d'ENISSION de la partie logique 75 ne prendra pas fin avec la condition d'instruction de sélection et d'émission aussi longtemps que le compteur 77 hors de la file d'attente n'aura pas atteint le compte de 15; 25 à ce moment-là, l'état d'EMISSION sera remplacé par l'état EXEOCUTE. L'astémrsque qui apparait dans la notation de la figure 7 indique un pas de progression du compteur 77 hors de la file d'attente. l Ia figure 6 représente le schéma d'état de la logique 81 du contrôleur de ligne et elle illustre les quatre états fondamentaux de la logique, à savoir: EN RESERVE, BALAYAGE, RECEPTION et EMISSION. Ia notation utilisée à la figure 6 est la même que celle qui a été décrite ci-dessus pour la figure 7 Une ligne en traits pleins terminée par une flèche indique un passage d'un état à un autre et une ligne en traits interrompus se terminant par une flèche sur la ligne en traits pleins, indique une condition qui doit être réalisée pour permettre au passage indiqué (ligne 40 en traits pleins terminée par une flèche) de se produire Un 2547 082 astér Lsque placé sur uoeligne de passage d'un état à un autre indique dans ce cas que le compteur émetteur 83 est avancé dun pas de progressions simultanément au passage indiqué. Les lignes de sortie en trais interrompus se terminant par ne flèche à la figure 69 indiquent les instructions du protocole e:voyées par le régulateur de lignes à la ligne entre procegseurs O -t Lc figures et 6 une fl&èche en traits interrompus quittat = état indique une sortie logique 9 tel qu'un si l de so:r'e ogique, allut de cet état à une ligne de protocole (dans le cas de la logique 75 dl état de vidage de la ligne) ou 'à une ligne d état du module de processeur (dans le cas de la logique 73 de létat de remplissa Ege du processeurs la figure 8 représente les schémas d état de la partie 95 de la logique de l'état de remplissage des lignes et de la partie 101 de la logique de létat de viadage des processeurso Le schéma d état de la partie 93 de la logique comprend quatre états, & savoir Sni T O HROZI 8 T IO, AOGEPTATIO 1 RE CEPTION et oc OyipT La schéma duétat de la partie log: que I O Q comprend quatre tat s, à savoir: HISE A ZER 09 PET 9 I ERRUPTIO et VIDAGE. la notation (flèches en traits pleins et flèches en traits 7 %terromnus) est la mêe que celle qui a été décrit' ci-dessus ee qui concere les figures 6 et 7, L'ast Srique à la figure 8 indî&iq un pas de progression dans le compteur 99 en file &uattenteo I figure 9 est un chronogrómm representant la séquence chronologique selon laquelle se prof uisent les changements d'état mentiozxmés aux figures 6, 7 et 8 B La séqe mnc représentée à-la f,Mre 9 efiectue la transmission dun groupe de bits, d'un molule de processeur à un autre module de processeur à la firéquence duhorloge de la ligne (le module récepteur prévu e 8 trnt supposé prêt à recevoir le groupe de bitb "a figure 9 représente les -sq uences chronologiques d'une transmission de groupe de bits ef 1 ctuée avec succès les reprêsentations des signaux individ'iels étant indiquées de haut en bas à la figure 9 et les periceles de temps d'une horloge de li ge étant représantées chaci Mie de gauche à droite à la 40 cire 9 dans l'ordre croissant îes tempso La ligne supérieure de la figure indique 1 6 état du contrôleur de ligne et chaque repère de division représente une période d'horloge ou cycle de l'horloge 91 de ligne représentée à la figure 53 Chaque division du tdmps à la ligne supérieure se reporte verticalement vers le bas afin de couper les représentations des divers signaux indiqués par les lé 6 gendes portées à g Spche de la figure. Si l'on consid&re les signaux équentiels présentés de haut en bas & la figure 9 let premier signal (en des sous de la 10 ligne d'état du contrôleur de ligne 3) est le signal de DEMANDE D'EMISSDN(un signal du groeupe du protocole repéré prar la réfrence 59 à la figure 3)$ ce signal est, N particulier, le signal qui peut être validé par la partie logique 67 de commande hors de la file d'attente de n"importe quel modale 35 de proces15 meur Le signal est transmis à la partie logique 81 de l'état de co Mande de ligne du contrôleur 57 de lignes comme le montre la figure 3. Z Le signal suivanteprésenté à la figue 99 cest-à-dire le signal de SDECTION, représente un signal qui provient de la 20 partie logique 85 de sélectio N de processeur du contrôleur 37 de ligne et qui est transmis par une seule à la fois des lignes de sélection à un module 55 connexe de p 2 ocesseur. Le signal suivant représenté à la figure 9, cest-à-dire le signal d'ACCEPTATION Df EH'I 8 SIO ne peut ôtre validé que par 25-, -m processeur particulier 53 lorsque ce dezrnier est sêlectionné et lorsque sa partie logique 75 de 1 état de vide de la ligne se trouve dans l'état di ENISSIO O N comme le montr e troisieme état de la figure 7 Ce signal d ACCEP 3 TAIO O DIEMISBION est utilisé par le contrôleur 37 de ligne pour établir l'identité d'un 30 module 33 de processeur désireux denvoyer un groupe de bits. Le signal suivant, c'estàdirre le signa 1 de COMFMDE DE RECEPTION, représente un signal venant du rgulateur 57 de ligne et transmis par une des lignes 59 de p Loto'ole Laction de ce signal est double. Tout d'abord, ea combinaison avec le signal de ELECTION du récepteur, ce si Enal interroge le module 35 du processeur récepteur pour s'ass rer que ces module de récepteur est prêt & recevoir, commee l'indique 1 étt G,&CCEATITO à la figure 8). Ensuite, ce signal a comme deuxième fonction d'invalider 40 la jartie logique 75 de l'é 1 tat de vidage de la ligne du module 37 2547003 récepteur, de sorte que ce dernier ne peut envoyer un numéro prévu de récepteur duns la ligne de données si la partie hors de la file d'attente du module récpteur pr Svu 30 a également un groupe de données en propre prêtes'à être env Toyes. A ce sujet, pendant que le processeur émetteur impose le sina O l & ACEPTATION D'ENISSIOW 9 il envoie également le numéro :Pzv de r 6 cepteurdans la ligne pour qus le régulateur 37 de li ligne puisse l'utiliser la ligne 35 elle-même est, bien entendt une igne non directionnelle de sorte que 1 information peut êta env royée vers la ligne 57 de données par un module queloonque en de te utilisee soit par le controleur 37 de ligne pour une onotion de commande, soit par un autre processeur pour une oronrtion de transfert d&infommationo On doit noter qu'un module 3 D ne peut envoyer des données dans la ligne que lorsque sa li5 ge de SEIECTIO 1 est validée et que le signal de O AN DE ECX 9 TION n'est pas validé O Peàan:t le temps que le signal de 00 E DE EEEPTIONI est valideé, le contrôleur 57 de ligne transmet le numéro du récepteilr à la ligne 57 de données pour sa saisie par le module d 20 processetr récepteur sélectionné. la ligne du signal suivat, c'est-àdire la ligne d'&AOEPTATION DE BEECPTIO à la figure 9, représente un signal qui est transmis de la partie 93 de la logique détat de remplissage de ligne du module récepteur slectionné à la partie 81 de la logi que d'état de commande de ligne du contrôleur 37 de ligne, par 25 l'une des lignes 59 de protocole, afin d'indiquer que le modul récepteuv sélectionné se trouve a ld'at d'ACCEPTATION, comme indique la légende à la figure 8, et ainsi quail est prêt à x cevoir le groupe de bits que le module émetteur est prêt à trar mettre. Si le signal d'ACCEPTA Ti Oe DE EEGEPTION n'est pas validé 1 le module récepteur, la SEIECTION de l'émetteur, la OOMLDE DIEHI 3 i O O et la transmission par la base de temps du groupe mi me de bits de données ne se produiront paso Bl l signal 'ACGOEPTATIO DE EIEOPTIOU est validé, la sé. queince idiquée par la ligne de O OM&k TDE D'Ei 3 U Si ON se produira alors O La ligne de COói ME,: D"ENSBION représente un signal qui émis par la partie logique 81 de il état de commande de la lisn du contrôleur 3 ? de ligne et qui est transmis à la partie logi 254708 Z 2 que 75 de l'état de vide de ligne du module 33 du processeur émetteur, par l'intermédiaire de lune des lignes 59 de protocole. En combinaison avec un signa de SEIECTION du module du 5 processeur émetteur, le signal de 00 DE DXEDITION permet au module du processeur metteur denvoyer un groupe de bits au mod ule récepteur pendaent les eiza cycoles d'horloge délimités par le signal de COMAMDE D'EMISI Oo K Ia dernière ligne, o'est-à=dire la ligne 16 de données, représente l'infommation présente dans les lignes 57 de données pendant la séquence décrite ci-dessus O Les données sont envoyées à la ligne pcar le module de processeur émetteur sélectionné et elles sont transmises au module de processeur récepteur dans la mémoire-tampon 97 hors de la 15 tfile d'attente, représentée à la figure 5, pendant la base de temps de ce seizième cycle dhologo eoi suppose que le signal dl'ACCEPTATION DE IECEPTION a été reçu par le régulateur de ligne en réponse au signal de COMMANDE DE PMCEPTIO No Si le signal d'ACCEP 2 ATION DE RECEP 2 ION n'avait pas été reçu par le contrôleur de ligne, le signal de CO Mi AE D'EMISSION n'aurait pas été alors valide et le contrôleur 37 de ligne aurait repris l'état de BAIAYAGE comme le montre la figure 6. En se reportant aux figures 29 7, 10 et 11, on décrira maintenant une opération caractéristique de la mémoire-tampon 25 et de la commande 67 hors de la file d'attente-d'un module 33 de processeur. Comme le montre la figure 10, la partie 73 de la logique de l'état de remplissage du processeur comprenda deux bascules istables A et B, tandis que la partie 75 de la logique de l'630 tat de vide de ligne comprend deux bascules bistables C et D. En résumé des affectations d'états représentées par les tables AB et CD de la figure 10, l'état de VIDE est défini par A = o, B = o L'état de rem PLISSAGE est défini par A = 1 B = 0. L'état COMPIET est défini par A = 1, B = 1 et l'état d'A Tf EE 35 est défini par A = o, B = 1 o De même, les combinaisons correspondantes des variables des états O et D sont définies respectivement par les états EN REEERVE, SYNCHRONISATION, EMISSION et EOECUTION Ies affectations d'états énumérées précédemment pourraient également être 40 données sous la forme d'équations logiques Par exemple, l'état 254708 2 de V Id E peut être représenté par l'équation A B et cette notation est utilisée dans les listes d'équations logiques de la figure 1 l. En fonctionnement et avec und référence particulière à la 5 figue-7, l'état initial atteint par lintermédiaire d'initialisation de Mise sous tension ou la remise manuelle & zéro est l'état VIDE représenté à la partie supérieure gauche de la figure 7. L 'tat VIDE de la logique 75 de l'état de remplissage du 10 ro en oie, i signal "prêt" à l'unité centrale 105 pour iiquem la présence de et états comme le montre la flèche RDX en traits interrompus représentée quittant l'état de vide à la fisge 7 o Loqu etrnsission par lintezrmdiaire de la ligne en 1 re processeus est nécessaires les miceroinstructions (microprogrme) de l'unité centrales N r Séponse à un signal prêt",s ?oo:ro ' in sgnal de réceptio:n dans la mmoireq représenté Dar la fl&che en traits interrompus entrant dans le schéma de la fig 7 Ce signal de réception dans la méSmoire sychroui ze le passage de 11 t T IDE à 1 état de REMLISB G Eo Pou trarsmettre les données dans la mémoire-tampon 69 hors de ia fila d attate Dt les diroistructions de l'unité centrale f un signal de dmémorisation hors de la file d'attente, reprSseun pw la fl&èche en îtaits interrompus entrant dans la sch e la d igi 3 e 7, pour olaque mot à etocker dans la moire=tampon 69 Ohaque fois que ce signal de mémorisation hors de la file d't ae se a -produit le compteur 77 hors de la file d'attene r 9 oges$serag commenqnt son compte à széro jusqua' ce qu'il at= 30 g tige Ig ompte q Juinze or.sque le signal de mémorisation horsde la file d'attente sera produit pourt la seizième fois un passage de l état de IREHLB$ SA l' é &tat O ' O PI@, illustrée par une flèche sn traits ple ie à la esgur 7, est permis. L 1 î'at O oel de la logiqe e létat de REHLISSGE C o Ce O seur 3 ournit una condition de synohronisation la logique âde 1 ' %t de vi e de la ligne, illustrée par la flèche N traits i s:be-fm$ portaet de t'état or OPLT de la logique 73 et desoe-dnt vers la logiqule 75 à la fi Pnar 70 la logique 73 de l'tat de remplissage du processeur res- tera à létat COMPLET jusqu Uà ce que la logique 75 de l'état de vide de la ligne ait atteint ensuite l"état EECWTE. Si l'on considère maintenant en particulier la logique de l'état de vide de la ligne représantée & la fi Lgre 7 par la ré5 férence 75, l'état initial EH RïESERV de la partie logique 75 à la figure 7 est de nouveau assuré par une initialisation de la mise sous tension ou par e m emise manuelle à zéro. la logique 75 de 11 état vide de la ligne restera à' létat EN RESERVE jusquà ce que le passage & l'état de SYNORONIBA10 TION soit permis comme le montre la flèche en traits interrom.pus venant de l'état COMPLET de la logique 75 de l' état de remplissage du processeur. Ie logique 75 de l'état vaide ne procèdera à aucune synchronisation requise entre l' état de SNCRONEIISTION et l' état 15 d&E'ISIO Ne C O 'est dans léteat dÉENI$SION que le signal de DEMADE -DENISSION appliqué à la ligne et au contrôleur de ligne est vald,, comme l'indique la fl&che en traits interrompus partant. de l'état d'ENISSION du schma 75 En réponse au signal de DEMEE D EBI St SION, la logique 81 du contrôleur de lignes, représentée à la figure 6, balayera -successivement les modules de processeurs jusqu'à ce que le module émetteur soit identifiée comme on l'a décrit ci-dessus -avec réfrence à la figure 9. le contrôleur de lignes enverra un signal de COONDE DE RE-EPTION et de SELECTION au mod Ule de proesseur récepteur prévu et, à la réception du signal d ACGEPTA 2 TION DE ECEP Tl ION, le signal passera à la base dé temps du groupe de bitsgalement repérée à la figure 9. Pendant la base de temps du groupe de bits le contrôleur de ligne valide le signal de SELECTION du module de processeur émetteur et valide également le signal de 0014 LDE D'EMISSBION envoyé au module de processeur émetteuro Ce signal de SELECTION et ce signal de COMMANDE DE SELEC35 TION sont représentés entra Ut dans le schéma et synchronisaut les signaux de passage sortant de et entrant dlans l'é tat d'EMISSION, comme le montre la figue 70 Tandis que les signaux de SLECTION et de COGMANDE D'EHISSION sont validés, chaque herloge de ligne fera progresser le 40 compteur 77 hors de la file dasttenîte à partir d'un compte de zéro. A la seizième période d'horloge de la SEIECTION et de la C Ffifike DE D'EMISSION, le passage de l'état d IEMISSION à l'état EXECUTE est synchbronisé comme le mdntre la flèche en traits in5 terrompus permettant ce passage. Iorsque la logique 75 de l'état de vide a atteint l'état EECUTE, un passage de la logique 73 de l'état de remplissage du processeur, de 11 état COOPIET l'état d'ATTNTE, est synchronise 5 comme le montre la flèche en traits interrompus par10 tant de 1 'état "exécuté G Ensuite 9 'état d'ATTENTE de La logique 73 de 1 état de rem plissage du processeur synchronise' un passage de la logique 75 de l"état de vide de la ligne, de l'état CUTE à l état EN ESERVE: comme le montre une flèche en traits interrompus partan 15 de l'état d'ATTENTE et synchronisant le passage indiqué. Enfin, la logique 75 de l'état de vide de la ligne étant dans l état Mî RESERVE, synchronise le passage de la logique à l' tat VIDE comme le montre la flèche en traits interrompus partant de l' état EN BESERVEO A ce stade, un groupe de bits a été chargé dans la mémoiretampon 69 hors de la file d'attente par le module de processeur et transmis par la ligne 35 au module de processeur récepteur, tandis que la logique 7 ? 3 de l'état de remplissage du processeur de commande hors de la file d'attente et la logique 75 de l'étal 25 de vide de la ligne ont été ramenées à zéroo La description ci-dessus concerne les passages d'état et les synchronisations indiquées à la figure 7 L'action des parties logiques 73 et 759 concernées par la description ci-dessus du fonctiomaement du schéma de la figure 79 sera maintenant dé30 crite avec référence au schéma logique de la figure 10 et à la liste dquions logiques de la figure t 11. On se reportera d'abord à la figure 10 o Comme on l'a mentiomnn ci-dessus, les bascules bistables A et B sont des bascules bistables Jo S o à déclenchement par le bord dans lesquelles 35 des ch Engements d'état se produisent uniquement aux passages d'horloge, comme l'indiquent les petits symboles trigulaires et les légendes mentionnes du côté gauche des bascules bistable A et B A la lfigre 10 o le schéma logique de la figure 10 a pour premier objet d'illustrer le passage d'un état à un autre dans les machines 42 1 2547082 produisant ces états et représentées à la figure 7 Ainsi, pour illustrer le passage de l' état de RESERVE à l 1 état de SYNOHRONIBATION de la logique 75 d'état de vide, le fonctionnement est le suivant: Pour effectuer un passage de l'état de RESERVE à 1 'état de SYNHRONISATION, la variable d 1 tat O doit 8 tre mise à 1. L'équation logique pour l'entrée J de la variable d'état 0 est représentée à la figure il et elle est repérée par la réfêrence 13 Dans cette équations le blocage (représenté par la 10 flèche en traits interrompus venant de l'état "complet" de la logique 73 de l'état de remplissage à la figure 7 et aboutissant à la flèche representant le changement) correspond à la quantité (Ao B) ou (COMPLET) dans l'équation repérée par la référence 103 Le symbole f ou (E RESERVE) dans l'équation repé15 rée par la référence 103 à la figure Il correspond à l'état EN: RESERVE indiqué par la légende à la figure 7 o Le symbole J dans l'équation correspond à l'entrée J de la bascule bistable O de la figure 10 o Et le symbole (C) correspond à la sortie vraie de la bascule bistable O de la figure 10. On ne décrira pas plus en détail d'autres passages d'un état à un autre du schéma de la figure 7, avec références aux figures 10 et 11 car on suppose que ces passages sont effectués par le schéma logique de la figure 10 et que les équations logiques de la figure 11 sont absentes des exemples ci-dessus de passage de -1 état de RESERVE à 1 'état de SYNCHRONISATION, comme on l'a décrit en détail ci-dessus. Les figures 10 et 11 représentent le schéma logique et les équations logiques du schéma d'état de la mmoire-tampon hors de la file d'attente et de la commande 67 les schémas logiques et les équations logiques correspondantes concernant la mémoire-tampon en file d'attente et la commande 65 ou le contrôleur 37 de lignes n'ont pas été illustrée car ces schémas logiques et ces équations logiques sont analogues à ceux qui sont représentés aux figures 10 et Il et on peut facilement les déduire 35 des schémas d'état représentés aux figures $ et 8. Chaque module 33 de processeur du système de traitement par multiprocesseurs, représenté à la figure 1, est connecté aux deux lignes 35 entre processeurs, comme le montre la figure 1, et il peut communiquer avec n'importe quel module de proces40 seur y compris lui 'même, par l'intermédiaire de l'une ou l'au- 254708 '2 tre des lignes, Pour chaque transfert de donn 6 es en bloc, un module de processeur est la source ou émetteur et l'autre module de processeur est le destinataire ou récepteur. La trmsmission de données pa un module de processeur par l l'inte diai de do sa ds lignes entre processeurs est d&= clenchée et alisée pa lo logiie l au moyen de ltinotuction d ENIBBION, Dans li tuction d&EMISSION 9 le miro 1 programe 115 et le icoproessex 115 de l'unité ûentral e représentés à la figu10 vre 2, agissent en liaison avec la partie commune 67 de la file d&attente de la commande 55 entre processeurs afin d'extraire un bloc de données de la méemoire 101, de le décomposer en groupes de bitso de calculer les mots du total de contrôSle des groupas d bits t de transmettre le bloc à raison d'un groupe de bits à la fois par lintermédiaire d'une ligne au module du prooosseur rcepteur Les paramètres fournis à l'instruction dl -E Mi$IM O définissent le nombre de mots dans le bloc l'adressa d& abkt dimplantation du bloc la tligne à utiliser le processeur rée@pteur et Lme valeur maximale de d élai initial d'at20 t'ente po que la pl ti commune 67 hors de la file d'attente, reprsentéee à la figure 2 devienne-disponible Linstruction d EHISSI O Z ne prend fin qu'après que le bloc e Antier a été tzansmis ainsi, l'émission d'un bloc est un évênemern unique du pouit de rue du logiciel Cependant l instruc-25 ' tion da EKISSIOZ peu X être interrompue et reprise, de sorte que la réponse du système d'eploitation aux autres évènements n'est Das altérée p: la longueur du temps requis pour terminer une instcuotion d IEISSION L-a rception dee données par un module de processeur, par 'in rmdiaire des lignes entre processeurs, ne s'effectue pas ai t moyn dun MS istruction du logiciel puisque les temps d'arrive et les slourceso des groupes de bits de données ne peuvent ere prévuso la réêception des données est validée mais ne peut être dclenchéoe par le récepteuro 3,5 Le micro 7 processeur 1 5 de l'unité centrale extrait du trait-eme:t de l'instuction & logiciel u d 1 élai d'attente N 6 cessaie pour l'exécution du microprogramme -115 de,RECEPTION O EN LIGNE. aie-îoproogrs me ex trait de l'une des 'parties 65 en file d'attente, àeprlen -tées à la figure 2, de, la commande 55 entre pro40 cesseurs le grope de bits de donnes, stocke les donné dnss 4 L 4 2547082 une mémoire-tampon et vérifie que le total de contrôle des groupes de bits est correct. Le rêassemblage en blocs des groupes de bits re us s'effectue au moyen de la table 150 de Lréception de ligne implantée dds la mémoire lea table de-réception de ligne contient 32 entrées de deux mots, correspondant au &ux lignes venant de acxum des seize modules de processeurs possibles dasn une mise eu oeuvre particuli&re du système de traitement par multiprocesseurs Chaque entrée de la table de réception de ligne 10 correspond à te ligne et un émetteur contient un mot-adresse et un mot de comptage Le mot-adresse précise dans quelle mémoire-tampon de la zone des données du système les données"len entrée" venant de cet émetteur doivent 8 tre stockéess Le mot de comptage précise le nombre de mots contenat des données qu'il reste pour terminer le transfert par blocs à partir de cet émette 1 o Lorsque chaque groupe de bits de données est reçu, le microprocesseur 113 de l'unité centrale suspend le traitement des instructions du logiciel et le microprogrime 115 de réception 20 de ligne est lancé Ce microprogramme lit le mot-adresse et le mot de comptage venant de l'entrée &d la table de réception de ligne de l'émetteur, stocke le groupe de bits de données dans la zone spécifiée, vérifie que le total de contrôle des groupes. de bits est correct et stocke à nouveau les valeurs réglées du 25 motadresse et du mot de comptage dans lentrée de la table de réception de ligneo Si le groupe de bits a aené le compte à zéro ou si le groupe de bits contenait un total de contr 8 ôle incorrect, le microprogramme de réception de ligne place un indicateur d'interruption de fin d&opération pour signaler au logi30 ciel l'arrêt du bloc de données O La microprogramme de l'unité centrale reprend ensuite le traitsement de 1 instruction du logiciel au point o il avait été interrompu, sans autre perturbation qu'un retard causé au programme au cours de déroulement. Une caractéristique importante réside dans le fait que des 35 blocs de données provenant de plusieurs émetteurs peuvent être tous assemblés en simultanéité par una module de processeur récepteur à partir des groupes de bits de données reçus dans n'importe quel ordre Cet assemblage imbriqué de blocs formés à partir de groupes de bits est effectué d'une manière transparente 40 au programe en cours de déroulement dans le processeur récep- teu? Seules des fins d'assemblage réussi de blocs ou des tran missions erronées provoquent l'interruption du programme O Il importe également quun partage du temps ou découpage du temps du matériel des lignes etre processeurs ait été ef5 fectué dans deux zones, Tout d'abord, chaque ligne entre processeurs et chaque controleur de ligne associé permettent la transmission de gro pes de bits entre n'importe quel émetteur et n'importe quel ré cepte Lr suivant la nécessité Le balayage circulaire par un 10 contrôleur de ligne afin d'identifier un émetteur demandeur, assu:-e à tous les modules de processeurs une égale occasion d'4 mission par l'internédialre de cette ligne O Chaque ligne fournit un circuit de communication qui est exploité en temps partagé sans déséquilibre par tous les modules de processeurs O 15 Ensuite, chaque partie 65 en file d'attente de la commandi en're processeurs dun module de processeur est exploitée en temps partagé par les groupes de bits "en entrée" provenant de plusieurs émetteurs Ce qui revient à dire que la logique et la mémoire en file d'attente d'un processeur ne sont pas 20 réservées à un seul émetteur pendant la durée d'un transfert par blocs Au contraire, chaque groupe de bits reçu est eorrec tement dirigé dans la mémoire par l'entrée de la table de réception de ligne correspondant à Son émetteur et à sa ligne. l Ies blocs de données provenant de plusieurs émetteurs sont as25 semblés correctement dans la mémoire du récepteur indlépendamsent de l ordre dans lequel les émetteurs utilisent la ligne. Un module de processeur a deux manières de contrôler sa cait de r ception des groupes de bits par la ligne X ou pa l ligne Y. Tout diabord, il existe un bit dans le registre de MASQUE diantervuption de l'unité centrale correspondant à chaque lijpe entre processeurs O Lorsque le bit de ?SQUE est présent, des microinterruptions sont permises dans cette ligneo Des microrterrup:t'io (lancement du microprogramme de EE-CEPTION " 5 DEÂ Mi Gl E se produisent lorsque la logique 101 repr sentée à la figre 5, de l'état de vide de processeur d'une partir 61 en file d'attente atteint l'état de MICROINTER Rl UPTION après qu'un groupe de bits a été reçu dans une mémoire-tampon en file d'attente S Bi le bit de ?âQl UE est absent à la réception 40 d'un groupe de bits, la microinterruption et le traitement sui vent du groupe de bits dans la mémoire seront différés jusqu'à ce que le bit de MASQUE soit amené par une instruction du logiciel. Les opérations du logicieli eiles que le changement d'une entréd de la table de réception de liga, sont effectuées avec des microinterruptions invalidées fiîn d'éviter des résultats imprévisibles Aucun groupe de bite n'est perdu pendant que les microinterruptions sont invalidées La premier groupe de bits reçu sera maintenu dans la mimoire-tampon en file d'atten10 te jusqu'à ce que la microinterruption soit validée les transmissions des groupes de bits suivants sont refusées aussi longtemps que la mémoire-tampon en file d'attente est pleine car la logique 95 de l'état de remplissage de ligne sera à l'état 0 OMPLET et donc dans l'inqapacitâ de valid er le signal d'ACCEP15 TATION DE RECFIPTION en réponse au signal de Mi O TION. Un deuxième moyen de contrôler sa capacité de réception des groupes de bits par la ligne réside dans l'action entreprise par un module de processeur après une interruption de l'achèvement de la réception par la ligne X ou la ligne Y (dé20 clenchement d'un dispositif d interruption du système d'exploitation). Lorsqu'une erreur de total de contrÈle est détectée dans un groupe de bits reçu ou lorsque le compte -de mots de la table de réception de ligne, restant dans un bloc de données, 2 Ä 5 atteint zéro alors qu'un groupe de bits est stocké dans la mémoire, le microprogramme de RECETION EN LIGNE indique une interruption de l'achèvement de la réception par la ligne X ou la ligne Y En d'autres termes, le microprogramme envoie le signal RINT (INTERRUPTION DE RECEPTION), représenté à la fi50 gure 8, dans la logique 101 de l'êta t de vide du processeur en file d'attente, pour permettre la réception d'un autre groupe de bits Cependant, lorsque l'achèvement de la réception est indiqué, le signal RINT (INTERRUPTION DE RECEPTION) n'est pas émis. 535 Il incombe donc au programme d'interruption dui logiciel d'achèvement de la réception par la ligne d'émettre le signal RINT (INTERRUPTION DE RECEPTION) au moyen d'une instruction de programme RIR (DEMANDE D'INTERRUPTION DE RECEPTION), afin de revalider la partie 65 en file d'attente Jusqu'à ce que cela 40 se produise, la logique 93 de l'état de remplissage de ligne en file d'attente reste à l'état COMPLET et aucun groupe supplémentaire de bits ne sera reçu O L.a signal deinterxption de l'achèvement de la réception peut dont d 6 signer soit un transfe A de donn 6 es par blocs qui ont 5 té émises et reçues sans reu soit un' transfert partiel dans lequel 'ne erreur de total de contr 81 a est détectée et dans le quel un transert partiel de 1 interruption' de 10 achèvement est créé 6 en résultat de lerreur de total de contrôle détecté 6 eo Dansco dernier oas, l'émetteur continue à envoyer les blocs de donO _nêes mais le r Sécepteur rjette les blocs de données apr&s que i'erreur de total de contrôle a été détectéeo Cette erreur appaaîit avec @un valeur néSgative dans le mot de comptage de la table de r O ception de ligne Ces ex Plications seront clarifi Sées par la dseription suivante de l'opérationo Linstruiction d IENISSIOZ est une instruction qui exige. quatre mots paramètres dans la pile du registre de l'unité centrale. Le premier de ces quatre mots paramètres est ln compte du nombre de mots transmettreo Cette valeur doit correspondre au 20 nombre at'tedu par ta table de réception de ligne du module de processeur récepteur si l'on veut que la transmission s'achève avec sucl Zos Le dewi&me mot paramètre est l'adresset moins un, de la zone de dozées do la mémoire du processeur émetteur dans laquel25 le sont localisées les données transmettreo Le troisième mot paramètre est In Me valeur de; délai d'atten";, affecte à làachèvement de la transmission d'un seul groupe ebits (quinze @ I Lots contenant des (bnnes)o La période daattente rep Dart de seéro pour chaque groupe de bits transmis par l'lin30 tew El-édiaire de l instruction d'ENIISIO Zo Le quatriè&me mot paramètre précise la ligne (c'est-àdire ligne I ou la ligne Y) à utiliser et il indique le module de processeur récepteur Le bit de poids fort du paramtre précise la lie et les quatre bits de poids faible, dans un exemple pw tic-Liie de réatiiation de la présente invention, indiquent le nzr UMâro du modue de@ processeur récepteuro A lachèvement dune instruction d'EMISSI O Gl il y a deux sitwntions possibles la prewilâre situa'oion est la suivante il sest produit 4 $ O in, délai datteate d'u groupe de bits et-les groupes de bits restants n'ont pas été transmis, l'instruction ayant pris fin à ce moment-là Dans ce cas, les groupes de bits restants du bloc ne sont pas transmis La-deuxième situation possible consiste en une indica5 tion de l'achèvement réussi de la transmission d'un bloc de Ainsi, dans une première rceapitulation de l'opération d'IEISSI Oe, l'instruction d'EIISSIO:eïmplit la mémoire-tampon 69 hors de la file d'attente pe té & la figure 4, au 0 moyen de quinze mots contenant des doées joint un total de conotrle d'imparité et signsale au contrleur 57 de ligne qu'un autre groupe de bits est prêt à être transmis Après que chaque groupe de seize mots a été tré smis l'exécution de l'instruction d'EMISSION reprend au point o alle a été laissée Si le 15 dernier groupe de bits du blocs comprend mois de quinze mots, les mots restants sont complités par des zéros O L'instruction prend fin lorsque le dernier groupe de bies est transmis. La figure 5 'eprésente le -sechéa logique et la figure 7 epresente le schéma d'6 tat du matêriel d 2 émission. La première action de la séquence d'instruction d'EISBION est d'envoyer un i d EIN E EEI O IE à la logique 73 de l'état de remplissage du processur, représentée à la figure 4, et de fournir le numéro du processeur récepteur, par l'intermédiaire de la ligne H représente à la figure 4, -25 au registre récepteur 71 En même teipog l'index de l'indicateur 79 hors de la file d'attente est réglé es conformité avec le bit de poids fort de la ligne M afin de connecter l'organe 67 hors de la file d'attente soit à la ligne X, soit la ligne Y. 350 Le signal de REEEPTFIONE IM:OIRE fait progresser la logique 73 de l'état de remplissage du processeur qui est initialement à l'état vide comme la- montre la figure 7, vers l'état de REMPLISSAGE représenté à la figure 7 Ce changement d'état provoque le chargement du numéro du processeur récep35 teur dans le registre 71 représenté à lae figure 4. A ce stade, l'organe 67 hors de la file d'attente est prêt pour le chargement du groupe de bits de données dans la mémoire-tampon 69 hors de le file d'attenteo Jusqu'àA quinze mots sont extraits de la mémoire et sont stockés, par l'inter40 médiaire de la ligne M représente à la figure 4, dans la 2547082 ' mémoire-tampon 69 hors de la file d'attente I Le signal de stoc kage hors de la file d'attente a pour résultat d'introduire ck que mot, transmis parla ligne M, dans la mémoire-tampon 69 ho de la file d'attente à un emplacement précisé par le compteur 77 hors de la file d'attente Ohaque signal de stockage hors d la file d'attente a également pour effet de faire progresser d'une unité le compteur 77 hors de la file d'attente. Au fur et à mesure que les mots sont extraits de la mémoi re, le motadresse est augmenté d 2 une unité et le compte de mo aà êJettre est diminué d'une unité Si le compte atteint zéro avant que les quinze mots ne soient extraits de la mémoire, la partie restante de la mémoire-tampon hors de la file d'attente est garnie de zéros afin de remplir les position inutilisées dans le groupe de bits de donnéeso 2 ?L outre 2 au fur et à mesure que les mots sont introduits dans la m&moire-tampon 69 hors de la file d'attente' le micro,*rogramme 1 '15 représenté à la figure 2 calcule un total de con trole modulo deux des mots contenant des données Après que le quinzième mot contenant des données a eté introduit le mot de 20 total de contrôle d'imparité est chargé dans le seizième empla :cement de la mémoire-tampon 69 hors de la file d'attente. A ce moment-là, le compteur 77 hors de la file d'attente a une valeur de compte egale à 15 et cette valeur, combinée au signal de stockage hors de la file d'attente, fait passer la 1 25 gique 73 de l'état de remplissage du processeur, de l'état-de REMPLISSAGE à l'é tat COMP Il ET comme le montre la figure 7. A ce stade, le microprogramme 115 a terminé l'introductio des données dans la mémoire-tampon 69 hors de la file d'attent Le maicroprogramme attend alors la transmission du groupe de bi 3 en recherchnt l'apparition du signal PRET représenté à la fi E re 7, Pendant cette attente de la transmission du groupe de bit microprogramme 115 fait évoluer un rythmeur et si le rytbhmeu dépasse le temps imparti ou s'arrête avant que le signal PIET ne soit validé, le microprogramme envoie à la logique 73 de 1 ' tat de remplissage du processeur, représentée à la figure 4, 1 signal hors de la file d'attente de remise à zéro Ceci a poum r 6 sultat de ramener la logique 73 de l'état de remplissage du processeur à l'état de vide représenté à la figure 7, et le microprogramme met ensuite fin à l'instruction d'Ei ISSION avec o l'indication du dépassement du temps imparti. En fonctionnement normal, l'état COMP It ET de la logique 73 de l'état de remplissage du processeur synchronise la logique 75 de l'état de vide de la ligne de mdière à la faire passer de 5 1 'état EN RESERVE à l' tat de SUNHRONISATION représenté à la figure 7 Ensuite, l'état de SO O HRNXISATION est remplacé automatiquement par l'état d'EMISSION et eot état provoque l'envoi du signal de DEMANDE D'EMISSION au contrôleur 37 de ligne le signalde DEMAUDE D'EMISSION déclenche une séquence de transmission de 10 groupes de bits décrite auparavant. Comme on l'a décrit auparavant, lorsque le module de processeur émetteur a été identifié par le contrôleur 37 de ligne par balayage et lorsque le module de processeur récepteur a accepté la transmission du groupe de bits au moyen du signal ACGEPTATION DE RECEPTION, le groupe de bits est envoyé de la mémoire-tampon 69 hors de la file d attente par l'intermédiaire de l'indicateur 79 hors de la file d'attente, a l'une des li Enes 57 de données afin d'être chargé dans le module de processeur récepteur en file d'attente. Lorsque le seizième mot est envoyé dans la ligne, la valeur du compte 15 du compteur hors de la file d'attente, en combinaison avec le signal de COMMANDE D'EMISSION et le signal de SELECTION DE L'EMETEUR, fait passer de l'état d'EMISSION à l'état EXECUTE la logique 75 de l'état de vide de la ligne. L'état EXECUTE synchronise l'état COMPLET de la logique 73 de l'état de remplissage du processeur (comme le montre la flèche en traits interrompus joignant l'état EXECUTE à la flèche marquant a la figure 7 le passage de l' état COMPLET afin de passer à 1 ' état d ' ATTENTE. Ensuite, l'état d'IATTENTE synchronise l'état EXECUTE afin & passer à l'état EN RESERVE comme le montre le schéma d'état représenté à la figure 7. Enfin, 1 ' état EN RESERVE synchronise 1 ' état d'ATTENTE afin de passer à l'état VIDE, comme le montre également le schéma 35 de la figure 7 ' L'état de VIDE de la logique 73 de l'état de remplissage du processeur fournit l'indication PEET au microprogramme 115. Si le groupe de bits qui vient juste d'être transmis est le dernier groupe de bits du bloc spécifiê de données, l'instruction 40 d'EMISSION prend fin et l'indication d'une transmission réussie de bloc est donnée. Si le groupe de bits transmis n'est pas le dernier du bloc de données, la séquence décrite ci-dessus se répète alors jusqu'à cc que tous les mots du blocl aient été transmis ou jus5 qu'à ce qu'une erreur de délai d'attente se soit produiteo L:instruction d EMISSION peut être interrompue et reprise; cependant l' instruction d EMISSION ne peut être interrompue qu'entre les groupes de bits et l'interruption de l'instruction d 1 EMISSION n'a aucun effet sur les données transmises O Ainsi au moyen d'une seule instruction de programme (I nistruction d EMISSI O ON) un bloc de données comptant jusqu'à 32 767)mots est transmissible d'un module de processeur émetteum à un module de processeur récepteur et l'exactitude de la transisosion est vérifiée par le total de contrôle des groupes 15 de bitso De mêmes la transmission se produit à un débit 1 élevé de transfert des données car la mise en mémoire-tampon fournie pa la méMoire=tampon 69 hors de la file d&attente du module de processeur émetteur permet d"effectuer la transmission à la vitesse de la ligne entre processeurs, indépendante de la vites20 se de la mémoire du module de processeur émetteuro Ceci permet ue utilisation effîicace de ce circuit de communication entre plusieurs modules de processeurs sur la base d'un découpage du temps. Comme on l'a mentionné ci-dessus il n'y a pas d'instruc25 tion pour la récepbtion. Pour qu'un module de processeur reçoive des données par l'intermédiaire d'une ligne entre processeurs, le système d 9 exploitation de ce module de processeur doit d'abord réaliser une entrée dans la table de réception de ligne O Chaque entrée de la 30 table de réception de ligne contient l'adresse dans laquelle sont mémorisées les données "en entrée' et le nombre attendu de mots. Pendant que le module de processeur émetteur est en train d'exécuter l O instruction d O émission et envoie les données dans 35 la lignes le matériel de réception de la ligne et le microprogra"mme 115 du module de processeur récepteur rangent les données en fonction de 1 'entrée de la table de réception de ligne (ceci se produit en imbrication avec l"exécution du programme du logiciel)0 Lorsque le module de processeur récepteur reçoit le nombre attendu de mots d'un émetteur donn le programme N cours de déroulement est interrompu et cette transmission particulière par lae ligne se termine. La figure 5 représente le schéma logique et la figure 8 reprsenrte le schéma d'état du atériel de rception de ligneo Comme on l'a fait remarquer pré d&mot il existe des parties 65 en file d'attente X et Y identiques dans chaque module de processeur pour la lige S et pou 1 a ligne Y I La description qui suit se rapportera donc à une seule de ces parties 10 en file d'attente. Après une mise à zéro initiale dun module de processeur, ou après une opération précédente de Tceptionq l'état de MIIE A ZERO de la logique 101 de l'état de vide du processeur passe à 1 ' lltat PRE L' état PET sychronise l tat de SYCRONISATION 15 de la logique 93 de l'état de remplissage de ligne pour faire passer la logique A l'état d'IAGEPTATIOW. Dans cet état d'AOCOEPTATION 1 la patie 65 en file d'attente renvoie le signal d'ACCEPTÂAION au contr 8 leur 57 de ligne en réponse à un signal 63 de SELECTIO,0 représenté à la figure 2, de 20 ce module 33 de processeur Ceci montre la facilité avec laquelle la partie 65 en file d'attente X reçoit les groupes de bits de données. Dans la séquence de trensission des g Soupas de bits, décrite en détail ci-dessuse la combinaison du signl de EECOTION de 25 ce module de psocesseur et du signal de C O MME DE OECEPTION synchronise l'état d'ACCEPTATIOZ de lea logique 93 de l'tat de remplissage de ligne et le fait passer à l'état de REE 3 PTION. A ce passage d'un état à l'autres l nuiro du module de processeur émetteur est chargé d EU le registre de 1 ' emetteur 95 30 représenté à la figure 5. A l 2 état de REEPTION, le groupe de bits de donnes est transmis de la ligne de données à la xîoire=tampon 97 en file d'attente sous le contrÈle du compteu 99 en file d'attente. Lorsque le seizième mot du groupe de bits est chargé, il 35 provoque le passage de l'état de MGE TION à l'état COPLET, comme le montre la figure 8. L'état COMPLET synchronise l Stat PT de la logique 101 de l'état de vide du processeur pour la faire passer à l'état de MIOROINTERRUPTION, comme le montre la' figure 8 L' état de MIGCROINTEERRUPTION présente un état C O EP Ii ET EN FILE D'Al TTE Nl TE à la logique d'interruption de l'unité centrale Ce signal COMPL EN FILE D'ATTENTE produit une microinterruption à la fin de l'instruction suivante du programme si le bit de MASQUE corres pondant à cette ligne est présent. le microprogramie 115 de réception de ligne lancé par l'i terruption envoie d'abord un signal de BLOCAGE, représenté & 1 figure 5, à la logique 101 de l'état de vide du processeur Ce fait passer l'état de MICROINTERRUPTION de la logique 101 de 1 tat de vide du processeur à l'état de VIDAGE. Le signal de BLOCAGE sélectionne également la partie en f : d'attente X ou la partie en file d'attente Y; à condition tefois, que les deux parties en file d'attente soient complète et validées" c'est la partie X en file d'attente qui est valid Ensuite, le microprogramme 115 produit le signal d'EMIS15 SIOE K qui provoque l'envoi du contenu du registre émetteur 95 dans la ligne K représentée à la figure 5, afin d'obtenir le numéro du processeur émetteur de groupes de bits. A l'aide de ce numéro de processeur, le microprogramme 1 l lit l'entr Se de la table de réception de ligne du processeur 20 émetteur afin d'obtenir les mots-adresses et les mots de comp I ge o Si le mot de comptage est nul ou négatif, le groupe de b: est rejeté; et, dans le deuxieme casq le microprogramme 115 envoie un signal d' INTERRUPTION DE RECEPTION qui -fait passer 25 logique 101 de l'étb de vide du processeur de l'état de VIDAG & l'état de MISE A ZERO, comme le montre la figure 8 Dans ce cas, il n'y a pas d'autre action La microinterruption prend et le traitemenrt de l'instruction du programme est repris. Si le compta Se est positif, le microprogramme 115 extrai 30 des mots de la mémoire-tampon 97 en file d'attente pour les 1 cer dans la ligne K par l'intermédiaire du signal K EN FILE ATTE-EM comme le montre la figure 50 A chaque apparition du signal ' EN FIIE DIATTENTE, le compteur 99 en file d'ateente progresse afin de balayer la 35 amemoire=tampon 97 en file d'attente. Au fur et à gesure que chaque mot de données est extrail de la mêmoiretamon 97 en file d'attenteq le mot de comptagf est diminuée Le mt-adresse de la mémoire est augmenté et le mot de donn&es est stocké dans la mémoire% Si le mot delcomptage atteint zéro, aucun autre mot n'el stocké dans la mémoire, un indicateur d'interruption de fin d'opération est placé et le numéro du processeur émetteur est stocké dans un emplacement de latmémoire Dans ce cas, la logique 93 de la ligne de l'état de remplissage reste à l'état COMPIET Jusqu'à ce qu'elle soit remise à zéro par une instruction de programme de DEMANDE D'INTERRUPTION m E RECEPTION. Ainsi, lorsqu'un bloc de données aura été entièrement reçu, le mot de comptage contiendra une valeur comprise entre -14 et zéro Après que l'interruption de la fin d'opération s'est pro1 C duite, aucune autre transmission vers le processeur par la ligne qui provoque l'interruption n'est permise, jusqu'à ce que l'organe en file d'attente soit remis ài zéro par une instruction de DEMANDE D'INTERRUPTION DE RECEPTION. Au fur et à mesure que les mots contenant des données sont 15 stockés dans la mémoire, un total de contrôle modulo deux des données du groupe de bits est calculé. Si le total de contrôle est mauvais, le compte de mots dans l'entrée de la table de réception de ligne est réglé à -256, un indicateur d'interruption de fin d'opération est placé 20 et le numéro du processeur émetteur est introduit dans la m 6moire Comme ci-dessus, la logique 93 de l'état de remplissage de la ligne reste à l'état C O OMPIET jusqu'à ce qu'elle soit remise à zéro par une instruction de DEMANDE D' INTERRUPTION DE RECEPTION. Si le mot de comptage n'atteint pas zéro, et-si le total de contrôle est bon, le microprogramme 115 de réception de ligne envoie un signal d'INTERRUPTION DE RECEPTION à la logique de l'état de vide du processeur, comme le montre la figure 5, ce qui fait passer la logique 101 de l'état de vide du proces30 seur, de l'état de VIDAGE à l Ietat de MISE A ZERO, comme le montre la figure 8. L'état de MISE A ZERO de la logique 101 synchronise la logique 93 de l'état de remplissage de la ligne et la fait passer de l'état COMPLET à l' état de SNCHRONISATION, comme le 35 montre également la figure 8. A ce stade, la logique a été ramenée à l'état dans lequel elle se trouvait avant que le groupe de bits ne soit reçu, ce qui permet donc la réception d'autres groupes de bits. Ces groupes de bits peuvent provenir du même émetteur, 40 de manière à compléter le bloc de données, ou bien ils peu- vent provenir d'un autre émetteur. Ceci met fin à l'action du microprogramme 115 de réception de ligne et le microprocesseur 11 I reprend le traitement des instructions du logiciel o -Lorsqu"il m'est produit % interuption de la fin de l'opération de mceptio A le progmamme de getion de linterruption u logiciel extrait le numro du processeur émetteur de l'emplacement de la mémoire od ce numéro était stocké, ét le -progrpi Dme de gestion de l'interruption du logiciel peut ensuite 10 fdétecter si une erreur s'est produite dans le total de contrôle er eramiunat le mot de comptage de la table de réception de ligne de ce processeur émetteur. Dlans le cas d'une erreur de transmission, le mot de comptage c îté aeené à = 256 o En d'autres termes, le mot de comptage contiendra une valeur comprise entre A 14 et zér Oo Comme on l'a mentionné ci-dessus, il incombe donc au prograie de gestion de l'interruption de la fin d'opération de réception de ligne de produire un signal d'Ii TTERRUPTION DE RECEPTION, par lintermédiaire d'une instruction de programme de 0 DEM:IDE D INTERRUPTION DE -{GEEPTI Qi\, afin de valider Aà nouveau la partie 65 en file d'attenteo Pour résumer l'opération de réception, exactement comme l'émission d'un bloc de données par un module de processeur etteur estvae pa le logiciel comme un seul événement la ré25 6 ception des dolnées par un processeur récepteur ne provoque pas d'interruption de programme du module de processeur récepteur jusqu'& ce que le bloc de données tout entier ait été reçu jusqu'à ce qu'une erreur se soit produiteo De meême, les parties 65 en file d'attente servent de mémoires-tampons pour permettre la 30 transmission de données' aux debits de transmission par ligne tout en permettant la mémorisation des données et le contrôle des données à la vritesse de la mémoireo Cette capacité d'utiliser le débit élevé de transmission de la ligne assure une largeur de bande appropriée de ligne de manière à desservir plusieurs modules de processeurs sur une base de découpage du temp; Enfin, le fait qu'un mot de total-de contrôle soit prévu dans chaque groupe de bits de données fournit au' module de processeur récepteur un moyen Lde vérifier 'exactitude des données reques par le cirbuit de communication du système de multipro40 cesseu 50 o L'information transmise par la ligne entre processeurs l'est sous le contrôle du système d'exploitation et elle est transmise d'un traitement dans un iodule de processeur 33 à un autre traitement dans un autre module de processeur 33 Un trai5 tement tel qu'on l'a décrit ci-dessus dans la description du système de traitement par multiprocesseurs, forme une entité fondamentale dans le système de logiciel et plusieurs traitements coexistent dans un module de processeur 33 L'information transmise par la ligne entre processeurs,9 entre des traitements im13 plantés dans différents modules de processeurs, se compose de deux types d'éléments: les groupes de bits de contrôle et les données. Les groupes de bits de contrôle sont utilisés pour informer * le module 33 de processeur récepteur en ce qui concerne les lan15 cements de messages, les annulations et les transmissions de données. A ce sujet, il faut noter que, bien que les lignes 35 entre processeurs interconnectent les modules de processeurs 33, un traitement dans un module particulier 33 de processeur communi20 que avec un autre traitement ou avec d S'autres traitements dans un autre module 33 de processeur, par l'intermédiaire d'un procédé de multiplexage dans la ligne 35 entre processeurs la circulation dans la ligne entre deux modules 33 de processeurs contiendra, par conséquent, des transmissions entre des traitements 25 qui se trouvent à des stades variés d'exécoution De nombreuses transmissions entre traitements sont,-par consequent, imbriquées sur une base apparemment simultanée. Le matériel utilise le découpage de temps dans la ligne 35 entre processeurs au niveau des groupes de bits, et de nombreux 30 traitements communiquent entre eux, aussi bien à l'intérieur des modules 33 de processeurs que par les lignes 35 entre processeurs dans la mesure nécessaire 9 par des mouvements de messages qui sont imbriqués l'un dans l'autre En aucun cas, une ligne 35 entre processeurs n'est affectée à un mouvement parti35 culier entre traitements. Les données sont envoyées dans la ligne entre processeurs en un ou plusieurs groupes de bits et elles sont toujours précédées d'un groupe de bits de contrôle et toujours suivies d'un groupe de bits de fin de bloc. Le groupe de bits de contrôle précédant les groupes de :2547082 bits de données est nécessaire car une ligne n'est jamais affectée à un message particulier et le groupe de bits de contrôle sert par conséquent à identifier correctement le message et à indiquer la quantité de données à 'ecevoir dans le message. Cette transmission de l'information (groupe de bits de contrôle 5 information, groupe de bits de fin de bloc) se fait en un tout indivisible une fois qu'elle est commencée Le module de processeur émetteur envoie les blocs de données sous la forme d'Bue transmission individuelle (composée d'un certain nombre de groupes de bits de données) et il envoie le groupe de bits de fin de bloc également sous la forme d'une transmission individuelle; c'est alors seulement que le module de processeur émetteur peut envoyer une information relative à un autre message. Le groupe de bits de fin de bloc a un double objet. Tout d'abord, si une erreur est commise au cours de la transmission des données (et le reste du bloc de données doit alors être rejeté), le groupe de bits de fin de bloc indique la fin du bloc. Ensuite, si le processeur émetteur tente d'envoyer trop de 20 données (et, de nouveau, le bloc doit être rejeté), le groupe de bits de fin de bloc fournit un moyen de reconnaître que les données ont été transmises et que la transmission de données est terminée. Ou bien l'information transmise est reproduite sur diffé25 rents circuits (de manière à assurer son arrivée au récepteur) ou bien un accusé de réception du récepteur est exigê(de telle sorte que 1 'information est rejetée en cas de nécessité) Une erreur individuelle quelconque de lignes ne peut donc provoquer une perte d'information et une erreur individuelle quelconque de ligne ne sera pas perçue par les deux traitements concernés. Le logiciel de réception de ligne est verrouillé avec le matériel de réception de ligne, c'est=àdire la partie 65 en file d'attente représentée à la figure 2, par un contrôle de la transmission de l'information entre cette partie en file d'at5 tente et la mémoire'107. ceci permet d'effectuer des opérations telles que la modif: cation de l'information de la table de réception de ligne, sans conditions de courses (problèmes de synchbronisation). Une fois que l'information de la table de réception de li40 gne a été mise à jour, on supprime le verrouillage en éliminant 58 2547082 l'interruption préalable de fin d'opération et en validant à nouveau les-microinterruptions de réception de ligne en mettant an action le bit de masque de ligne dans le registre de masque. Cette action a deux cons équenceà Elle permet au matériel en file d'attente d'accepter un groupe de bits dans la partie en file d'attente et elle permet également au microprogramme de réception de ligne de transmettre cette information de la partie en file d'attente à la mémoire. Le système de matériel et de logiciel est constitué de tel-10 le sorte qu'aucune information n'est perdue en cas de défaillance de l'alimentation électrique du système (telle qu'une panne totale de l'alimentation en courant alternatif à partir du réseau) ou en cas d'effet transitoire sur une ligne qui provoque une pnnne momentanée de l'alimentation d'une partie du système. L'action combinée de ce système de matériel et de logiciel inclut un signal d'alarme d'alimentation, indiqué dans la ligne 337 de la figure 3 et fourni à la partie 65 en file d'attente représentée A la figure 2 de sorte queq au plus, un groupe supplémentaire de bits d'information peut être introduit dans la partie en file d'attente après réception du signal d'alarme d'alimentation. L'action du logiciel, dans le cas présent, inclut une instruction de SEIEOTION qui force les parties en file d'attente à être complètes Le résultat net est d'assurer qu'aucune trans25 mission ne sera complétée après que le nodule 33 de processeur aura reçu son signal d'alarme d'alimentation, de telle sorte que chaque transmission est connue lorsque l'alimentation de la logique est coupéeo Les lignes 55 entre processeurs sont utilisées par le systè30 me d'exploitation pour assurer que les autres modules de pmocesseurs du système sont en fonctionnemerto Toutes les deux secondes N, chaque module 35 de processeur doit avoir reçu un tel groupe de bits de chaque module 35 de processeur du système. Un module de processeur qui ne répond pas est considéré comme 35 étant en panne Si un module de processeur ne reçoit pas son propre message, ce module 35 de processeur sait alors qu'il est en état de défaillance et il ne prendra pas la relève des organes 41 de commande d'entrées-sorties. La figure 42 illustre schématiquement la manière dont un programme particulier d'application peut se dérouler de façon continue, même si diverses parties du système de traitement par multiprocesseurs peuvent devenir inopérantes. Chacune des vues séparées représentées à la figure 42 illustre une composition d'un systè 1 e de traitement par multipro5 cesseurs qui se compose de deu modules 33 de processeurs connect 6 S par une double ligne 35 entre processeurs (une ligne repérée X et une ligne rep 6 rée) d'un organe 41 de commande qui commande plusieurs terminaux à clavier, et d'un autre organe 41 de commande qui commande un disque. I Les vues individuelles de la figure 42 indiquent les diverses parties du système de traitement par multiprocesseurs rendues inutilisables et réintroduites ensuite dans un état utilisable dans le système de traitement par multiprocesseurs. -a S 6 équence débute par la vue de gauche supérieure et elle 15 se poursuit dans l'ordre indiqué par les flèches en traits larges disposées entre les vues La séquence passe ainsi de l'état 1 indiqué comme étant l'Etat Initial, à l'état 2: Unité 6 Gentsale O Coupée, puis à l'état 3 Unité G Centrale O Remise en état, à l'état 4: Unité Centrale 1 Coupée et à l'étt 5: Unité Cen20 trale I Rem ise en &tat, comme l'indiquent les légendes au-dessus de chaque vue séparée. Dans l'état initial du système de traitement par multiprocesseurs, représenté par la vue intitulée "Etast Initial" et placée en haut à gauche de la figure 42, une copie PA du pro25 gramme d'application est en cours d'exécutiono Cette copie lance un appe l de système pour crier la copie PB sous forme d'un double auquel le progroi Die d'application PA passe ensuite 11 information L'ensemble des entrées et sorties se fait par le module O de processeur Dans cet état initialq la ligne 355 entre pro30 ce-seurs peut tomber en panne ou être coupée comme lindiquent les barres tracées eur la ligne X, et elle peut être réintroduite ensuite dans le système de traitement par multiprocesseurs sans produire aucun effet sur le programme d'application PA. Dans la vue suivante, intitulée "Unité Centrale O Coupée", 35 le module O de processeur est rendu inutilisable Le système de traitement par multiprocesseurs informe le programe d'application PA de ce qui s'est passé et le programme d'application FA n'essaie plus de communiquer avec le programme PB L'ensemble des entrées-sorties est commuté par le système de traitement 40 par multiprocesseurs de telle sorte qu'elles s'effectuent par le système de traitement par multiprocesseurs de telle sorte qu'elles s'effectuent par l'intermédiaire du module I de processeur, et le programme d'applicatiop continue à desservir les terminaux sans interruption par la litne 39 d'entrées-sorties con5 nectant le module I de processeur aux organes 41 de commande, comme l'indique la flèche en traits pleins à droite de la ligne 39 d'entrées-sorties. Dans l'état suivant d'exploitation du système de traitement par multiprocesseurs illustré par la vue du milieu en haut de 1 G la figure 42 et intitulée "Unité Centrale O Remise en état", le module O de processeur est remis en service par l'intermédiaire d'une commande de console Le module O de processeur est rechargé avec le système de traitement par multiprocesseurs, à partir du disque, au moyen du module 1 de processeur Is programme d'application PA est informé que le module O de processeur est maintenant prêt à fonctionner et le programme d'application PA ordonne au système de traitement par multiprocesseurs de créer une autre copie du programme d'application dans le module O de processeur Cette autre copie est désignée par les initiales PC. 20) Les terminaux continuent à être desservis sans interruption. Ensuite, le module I de processeur est rendu inopérant, comme le montre la vue intitulée "Unité Centrale 1 Coupée" Ie programme d'application PC est informé de ce fait par le systè-. me de traitement par multiprocesseurs et le programme d'appli25 cation PC prend la relève de l'application Le système de traitement par multiprocesseurs effectue automatiquement toutes les entrées-sorties par l'intermédiaire du module O de processeur. Les terminaux continuent à -être desservis sans interruption. Enfin, comme le montre la vue placée en haut à droite de la 30 figure 42 et intitulée "Unité Centrale 1 Remise en état, le module I de processeurest rendu utilisable au moyen d'une commande de console et il est rechargé avec le système de traitement par multiprocesseurs, à partir du disque, au moyen du module O de processeur Le programme d'application PC est informé que'le 35 module de processeur est maintenant disponible et il ordonne mi système de traitement par multiprocesseurs de créer une autre copie de lui-même (programme d'application PD) dans le module 1 de processeur Tous les éléments du système de traitement par multiprocesseurs sont maintenant exploitables. Pendant tout ce tempo, les deux lignes entre processeurs et les deux modules de processeurs ont été rendus inutilisables et ont été réintroduits dans le système sans que le programme d'application et les terminaux aient subi d'interruption. Une caractéristique importante du système de traitement par multiprocesseurs réside dans le fait que, non seulement le programme d'application peut se dérouler alors qu'il y a une défaillance, mais également que l'élément défaillant peut être réparé et/ou remplacé pendant que le programme d'application continue à se dérouler Ceci est vrai non seulement pour les 10 modules de processeurs et les lignes entre processeurs, mais également pour tous les éléments du système de traitement par multiprocesseurs tels que les alimentations électriques, les ventilateurs dans le châssis, etco Le système 31 de traitement par multiprocesseurs est ainsi un véritable système continu. 15 Le système 31 de traitement par multiprocesseurs, représenté à la figure 1, comprend un système d'entrées-sorties et des organes 41 de commande à double entrée, comme on l'a noté précédemment d'une manière généraleo Le système d'entrees-sorties a pour objet général de per20 mettre la transmission des données entre un module 33 de processeur et des appareils périphériques. La présente invention a pour caractéristique importante le fait que la transmission des données peut s'effectuer par des circuits redondants afin d'assurer des traitements en mode 25 "dégradé", de telle sorte qu'une défaillance d'un module 33 de processeur ou d'une partie d'un organe 41 de commande ne bloquera pas la transmission des données de et vers un appareil periphérique particulier. Chaque organe 41 de commande comporte deux entrées 43 et 30 une structure correspondante qui, en liaison avec les deux lignes correspondantes 39 d'entrées-sorties,' permet un accès redondant à un appareil périphérique, comme on le décrira plus en détail ci-dessous. Le système d'entrées-sorties qui fait l'objet de la pré35 sente invention comporte également quelques caractéristiques particulièrement significatives en matière de performances, Par exemple, une des caracteéristiques de performance du système d'entrées-sorties qui fait l'objet de la présente invention réside dans la vitesse (largeur de bande) à laquelle fonctionne 40 la structure-des lignes d'entrées-sorties Les organes 41 de commande collectent les données auprès des appareils périphériques qui transmettent les données à des débits relativement faibles et transmettent les données collectées aux modules de processeurs suivant un mode de multiplexage en tranches de temps' & ou au voisinage de la vitesse de la mémoire des modules 33 de processeurs. Comme le montre la figure 1, chaque module 33 de processeurest relié à et prend en charge plusieurs organes individuels 41 de commande Ce fait permet de connecter chaque organe 41 de 10 commande, par l'intermédiaire des doubles entrées 43, à plus *d'un module 33 de processeur d'un système unlmique de traitement par multiprocesseurs. On se reportera maintenant à la figure 12 des dessins. Chaque module 33 de processeur inclut, en plus de la commande 15 55 entre processeurs mentionnée ci-dessus, une unité centrale , une mémoire 107 et un canal 109 d'entrées-sorties. Comme le montrent la figure 12 et également la figure 1, chaque organe 41 de commande régit un ou plusieurs appareils par l'intermédiaire de lignes de connexions 111 branchées en étoile, c'est-à-dire que chaque appareil est connecté de manière indépendante à l'organe de commande. A la figure 12, un système 45 d'entrainement de disques est connecté à un organe 41 de commande et un système 49 d'entraînement de bande magnétique est connecté à un autre organe de 25 commande. En continuant à se reporter à la figure 12, on verra que chaque unité centrale 105 comprend un microprocesseur 113 Un microprogramme 115 est associé à chaque microprocesseur 113 Le microprocesseur 113 exécute une partie du microprogramme 115 en 30 exécutant les instructions d'entréessorties pour le système d'entrées-sorties Les instructions d'entréessorties sont indiquées à la figure 12 par les sigles EIO (exécution des entréessorties), IIO O (interrogation des entrées-sorties) et RIIO O (interrogations hautement prioritaires des entrées-sorties) Ces instructions sont illustrées et décrites plus en détail ci-dessous avec référence aux figures 15, 16 et 17. Le microprocesseur 113 accède à la ligne 39 d'entrées-sorties par l'intermédiaire du canal 109 d'entrées-sorties et par un ensemble de circuits 117 représentés à la figure 12. En continuant à se reporter à la figure-12, on verra que le canal 109 d'entrées-sorties comprend un microprocesseur 119 auquel est associé un microprogramme 121 o Le microprogramme 121 remplit une fonction unique dans le système de traitement par multiprocesseurs, cette fonction con5 sistant à effectuer la séquence de reconnexion et de transmission des données, illustrée à la figure 16 et 'dcrite plus en détail ci-dessous Le canal 109 d'entrées-sorties d'un module 33 de processeur comprend également une logique 123 des circuits de données, 10 oomme le montre la figure 12. Comme le montre le mieux la figure 13, la logique 123 des circuits de données comprend un registre 125 de données mises en mémoire par le canal, un registre 127 de données d'entréessorties, un registre 129 d'adresses mises en mémoire par le ca15 nal, un registre 131 de comptage des caractères, un registre 133 d'adresses des appareils actifs un registre 135 séparateur de priorités et une logique 137 de contrôle et de création de parité Le circuit 117 représenté à la figure 12 comprend deux li20 gnes repérées à la figure:13 sous l'appellation de ligne M et de ligne K La ligne M est une ligne de départ venant du micro-processeur 113 et elle introduit les données dans le registre 127 de données d'entrées-sorties. La ligne E est une ligne d'arrivée qui transmet les données de la logique 125 du circuit de données au microprocesseur 115. Comme le montre la figure 12, un circuit 139 connecte la logique 123 du circuit de données et le sous-système 107 de la mémoire. Ce circuit 139, représentée à la figure 12, inclut à la fois un circuit de matériel 139 A et deu X circuits logiques 139 B et 1390 implantés dans le sous-système 107 de la mémoire d'un module 33 de processeur. Les circuits logiques 139 B et 139 C seront décrits plus en 55 détail cidessous, en rapport avec la description de la figure 16 o Le circuit de matériel 139 A comprend trois branchements comme le montre la figure 130 Un premier branchement 159-A I transmet les données de la mémoire au registre 125 de données mises en mémoire par le canal Un deuxième branchement 139 A-2 transmet à la mémoire les données venant du registre 129 d'adresses mises en mémoire par le canal Et un troisième branchement 1139 A-3 transmet à la mémoire les données venant du registre 127 de données d'entrées-sorties. Comme le montre la figure 12, le canal d'entrées-sorties d'un module 33 de processeur comprend une partie logique 141 de commande. Cette partie logique 141 de commande comprend à son tour une machine 143 dans la ligne T, représentée à la figure 13, et des lignes de DEMA Ul DE DE RECO'UNEION 1459, DEANDE D'INTERRUPSION FAIBIEMENT PRIORITAIRE 147, DEPINDE D'INTERRUPTION FORTEMENT PRIORITAIRE 149 et de DEMANDE DE PA 1 NGEîIENT 151, comme le montre la figure 14. La ligne 39 d'entrées-sorties, représentée aux figures 12et 14, comprend également un groupe de lignes de fonctions de canal 153, 157 et 159 Voir également à la figure 13 La ligne. de REFERENCE ou ligne T 153 se compose de quatre lignes qui servent de lignes de fonctions et il y a trois lignes d'UTILISATION 20 EN SOPRTIE 155, d'UTILISATION EN ENTREE 157 et d'ARRET EN ENTREE 159 qui servent de lignes de liaison, comme l'indiquent les légendes de la figure 14 Comme le montrent la figure 12 et la figure 14, la ligne 39 d'entrées-sorties comprend également un groupe de lignes 161, 25 163, 165, 167 et 169 pour l'acheminement des données. La ligne 161 et la ligne de PARITE 163 pour l'acheminement des données sont bidirectionnelles et elles servent de lignes d'acheminement des données; comme le montre la figure 14, il y a dans ce groupe seize lignes,161 d'ACHEMINEMENT DES DONIEES et 30 une ligne 163 de PARITE. Les lignes FIN DE TRANSMISSION 165, REIPPLISSAGE DE POSITIONS INUTILISEES EN SORTIE 167 et REMPLISSAGE DE POSITIONS INUTILISEES EN ENTREE 169 servent de lignes d' état des données et elles indiquent les états particuliers qui peuvent se produire 35 de temps à autre dans les lignes 161 et 163 d'acheminement des données. Enfin la ligne 39 d'entréessorties comprend une ligne 171 de mise à zéro, comme le montrent également les figures 12 et 14. -40 Chaque instruction dans la ligne T, illustrée à la figure 18, exige un format particulier dans la ligne 161 acheminant le: données pendant qu'une instruction dans la ligne T est valable. Ce format particulier dans la ligne acheminant les données est illustré dans le cas des fonctions LAC (Adresse et instruction d'implantation) et RDST (Etat du dispositif de lecture) repr 6sentées à la figure 18, pour l'exemple préféré de réalisation. Dans le cas de la fonction LAC (Adresse et instruction d'implantation) dans la ligne Tl les données ou la zone transmises lar les lignes O à 5 de la ligne 161 acheminant les don10 nées précisent l'opération à exécuter; la zone transmise par les lignes 8 à 12 de la ligne acheminant les données indique l'organe 41 de commande (ou plus précisément l'entrée 43 de cet organe de commande qui est reliée à la ligne 161 acheminant les données) auquel l'instruction est adressée; et la zone trans15 mise par les lignes 13 à 15 de la ligne acheminant les données indique quel appareil relié à l'organe de commande doit être manoeuvré par l'organe de commande en réponse à cette instruction. Dans le cas de la fonction RDST (Etat du dispositif de lec 20 ture) dans la ligne T, les bits 0, 1, 2 et 3 dans la ligne ache minant les données indiquent respectivement une ereur de propr-' té, une interruption en cours, un appareil occupé et une erreu de parité Les bits 4 à 15 signalent l'état dépendant de l'appi reil. Les fonctions dans la ligne T sont transmises en trois s& quences, représentées aux figures 15, 16 et 17 et décrites en détail ci-dessous Chaque fonction dans la ligne T est validée par le canal une séquence d'établissement de liaison est effectuée entre le 30 canal 109 et l'organe 41 de commande au moyen des lignes de liaison 155, 157 et 159 afin d'accuser réception de la fonctio dans la ligne T La machine 145 dans la ligne T, représentée à la figure 13, a pour fonction de commander la ligne T et la liaison. L Ia figure 28 est un chronogramme montrant le fonctionnemc 35 de la liaison entre le canal 109 d'entréSes-sorties et les entrées 43. Comme le montre la figure 28, la ligne 155 transmet le s: snal d'utilisation "en sortie" SVO et la ligne 157 transmet l, signal d'utilisation "en entrée" SVI. Le cycle d'horloge du canal est représenté orienté verticalement avec les signaux d'utilisation "en sortie" SVO et d'utilisation "en entrée" SVI. Comme le montre la figure 28,,le signal d'utilisation "en entrée" SVI n'est pas synchronisé avec l'horloge du canal et il peut être validé à n'importe quel moment par l'organe de commande en réponse à un signal d'utilisation "en sortie" venant du canal 109 d'entrées-sorties. Avant de valider le signal d'utilisation "en sortie" SVO, 10 le canal 109 valide la fonction dans la ligne Tet, en cas de nécessité, la ligne acheminant les données. Le canal valide ensuite un signal d'utilisation "en sortie", comme l'indique la montée verticale 279 à la figure 28. Le signal d'utilisation "en sortie" demeure validé jusqu'à ce 15 que l'organe de commande réponde par le signal d'utilisation "en entrée" 281, accusant réception de l'instruction du canal. Le signal'd'utilisation "en entrée" reste validé jusqu'à ce que le canal élimine le signal d'utilisation "en sortie". Lorsque l'organe 41 de commande valide le signal d'utili20 sation "en entrée", le canal 109 élimine lesignal d'utilisation "en sortie", comme le montre la descente verticale 283 à la figure 28, en un temps compris de manière caractéristique entre un et deux cycles d'horloge; en réponse, l'organe de commande élimine le signal d'utilisation "en entrée" comme le mon25 tre la descente verticale 285 à-la figure 28. Lorsque l'organe-de commande élimine le signal d'utilisation "en entrée", le canal 109 est libre de revalider un signal d'utilisation "en sortie" pour la transmission suivante; cependant, le canal ne revalidera pas le signal d'utilisation 30 "en sortie" aussi longtemps que le signal d'utilisation "en entrée" n'a pas été éliminé. Les flèches 281 A, 283 A et 285 A à la figure 28 indiquent respectivement les réponses aux actions 279, 281 et 283. L'établissement de la liaison se termine à la fin de la 35 descente verticale 285, comme le montre la figure 28. Lors d'une transmission "en sortie", le registre 213 de données à l'interface de l'organe de commande prend en charge les données au début du signal d'utilisation "en sortie", c'est-à-dire à la montée verticale 279 et il transmet ces don40 nées à la partie de commande de l'organe 187 de commande à la fin du signal d'utilisation "en sortie", c'est-à-dire à la descente verticale 283. Lors d'une transmission "en entrée", le canal 109 prend en charge les données venant de l'organe de commande à la fin du signal dlutilisation "en sortie", c'està-dire à la descente verticale 283. Ainsi, une liaison à deux lignes est utilisée pour verrouiller la transmission de l' information entre le canal 109 et son organe 41 de commande, puisqu'ils agissent de manière 10 asynchrone. C'est la condition générale de liaison, indiquée par la liaison 2 L aux figures 15, 16 et 17. En outre, deux considérations de liaison spéciale se 'posent, le cas échéant O Premièrement, les instructions dans le canal, utilisées pour sélectionner un organe de commande, ne sont pas liées pasr le signal d'utilisation "en entrée"', car aucun organe de commande n'est seélectionne pendant ce temps. Ces instructions comprennent, comme le montre la figure 20 18, les fonctions suivantes: SEL: Sélection; LLC: Adresse et instruction d'limplantation; HPOL Balayage d'interruption fortement prioritaire; IPOL: Balayage d'interruption faiblement prioritaire, et 25 RP O OI: Balayage d'interruption de reconnexion O De même, les instructions utilisées pour mettre fin à une séquence ne sont pas liées par le signal d'utilisation en enré-e", car elles amènent un organe de commande slectionné à se désélectionner30 o Ces instructions comprennent, comme le- montre également la figure 18, les fonctions suivantes: DSEL: D 6 sélection; BTI: Instruction de suspension d'exécution (EntréeSortie); et ABTD: Données de suspension d' exécution. Pour toutes les instructions mentionnées ci-dessus et qui ne sont pas liées, le canal valide le signal 155 d'utilisation "an sortie" SVO pendant un temps donné (par exemple, deux cycles d'horloge) et, ensuite,' le canal éliminera ce si40 gnal d'utilisation "en sortie" SVO Ce type de liaison est - 68 2547082 indiqué aux figures 15, 16 et 17 par la liaison IL. Deuxièmement, la transmission des données est normalement iée sauf que, lorsqu'un organe de commande désire signaler qu'une plus longue utilisation n'est pks demandée, il renvoie un signal d'arrêt "en entrée" STI, au lieu d'un signal d'utilisation "en entrée" SVI Lorsque le signal d'utilisation "en sortie" BV O est ensuite éliminé par le canal, l'entrée se désélecte elle-même Le signal d'arrêt "en entrée" STI établit d'autre part la liaison de la même manière que le signal d'utilisation 10 "en entrée "SVI. Une condition supplémentaire valable-pour toutes les liaisons réside dans le fait que, lorsque le canal se prépare à valider le signal d'utilisation "en sortie" SVO, il déclenche un rythmeur qui fait partie de la machine 143 dans la ligne T de 15 la figure 13 Ce rythmeur dépasse le temps imparti et inscrit une erreur si le cycle suivant de liaison n'est pas déclenché et terminé dans le temps réglé par le rythmeur Si le rythmeur dé-passe le temps imparti, une erreur est enregistrée au point approprié de la séquence et une instruction de suspension d'exé20 cution ABTI (séquence EIO Exécution des entrées- sorties, IIO O Interrogations des entrées-sorties, et HIIO O Interrogations hautement prioritaires des entrées-sorties) ou des données de suspension d'dxécution ABTD (séquence de reconnexion) sont envoyées à l'organe de commande 41 Voir la description concernant 25 les figures 15, 16 et 17. La figure 29 représente la logique dans le cas de la liaisn représentée à la figure 28 La logique représentée à la figure 29 fait partie de la machine 1435 dans la ligne T représentée à la figure 13 La logique représentée à la figure 29 est la logique qui est opérante dans le cas de la condition générale de liaison mentionnée ci-dessus. La logique représentée à la figure 29 inclut une bascule bistable 287 d'utilisation "en sortie" et une bascule bistable 289 de synchronisation d'utilisation "en entrée" Comme le mon35 trent les lignes 'de séparation et les légendes à la figure 29, les bascules bistables 287 et 289 sont physiquement disposées dans le canal 109. L'organe de commande 41 inclut une logique combinatoire 291 et un transmetteur 295 qui renvoie un signal d'utilisation 40 "en entrée" SVI à l'entrée D de la bascule bistable 289. Le fonctionnement de la logique représentée à la figure 29 est le suivant: Le canal 109 valide le signal d'utilisation "en sortie" en mettant à 1 l'entrée J de la bascute bistable 287 et, lorsque le cycle suivant d'horloge débute, le signal d'utilisation "en sortie" est transmis par un transmetteur 295 à l'organe de commande. Lorsque la logique combinatoire 291 de l'organe de command E est prêteé, elle permet au transmetteur 293 de renvoyer le si10 gnal d'utilisation "en entrée" SVI à la bascule bistable 289. Ceci termine la liaison. On se reportera maintenant à l'organe de commande à double entrée illustré à la figure 19 Chacune des doubles entrées 43 de l'organe 41 de commande est reliée par une connexion physique 15 129 à la logique commune 181 d'interface, représentée plus en détail à la figure 219 et chacune des entrées 43 est également associée, par l'intermédiaire d'une connexionlogique 185, à la logique commune 181 d'interface déterminée par une bascule de possession 185. Comme le montre aà la figure 19 la ligne 180 de connexion, la logique commune 181 d'interface est associée à la partie 187 de commande de l'organe 41 de commande La partie 187 de commande de l'organe de commande comprend une mémoire-tampon 189. Les deux entrées 43 représentées sous la forme de schéma fonctionnel à la figure 19, et avec plus de détails à la figure 23, constituent des parties importantes du système de traitemen par multiprocesseurs qui fait l'objet de la présente invention car ces deux entrées fournissent au système d'entrées-sorties la possibilité de fonctionnement en mode "dégradé". Les entrées 43 et les éléments connexes du système sont oonstitués de telle manière que les deux entrées 43 d'un organe 41 de commande sont logiquement et physiquement indépendantes l'une de l'autre En conséquence, aucun élément d'une entrée 43 ne constitue égalementun élément de l'autre entrée 43 d'un or35 gane particulier 41 de commande, et aucune défaillance d'un élément individuel (par exemple la défaillance d'un circuit intégré) d'une entrée ne peut affecter le fonctionnement de l'autre entrée. Chaque entrée 43 a pour fonction, comme l'indique la léger 40 de la figure 19, de relier un module de processeur à un organe 7 o de commande et, en dernier lieu, à un appareil particulier par l'intermédiaire de l'organe 41 de commande L'entrée 43 est l'entité qui communique avec le module de processeur et avec la partie de commandle de l'organe 187 de l'organe de commande (con5 ditionnelle dans l'état de la bascule de possession 185). Ce qui revient à dire que l'entrée établit elle-même la connexion avec un module de processeur, en fonction des instruc tions reçues du canal 109 d'entrées-sorties comme on le décrira plus en détail ci-dessous, en mettant à 1 son bit de sélection 1 c 173. Chacune des entrées individuelles 43 d'un organe 41 de commande peut être connectée de manière indépendante à un module 33 de processeur alors qu'en même temps l'autre entrée de cet organe de commande est connectée à un module différent Cepen15 dant, la bascule de possession 185 établit la connexion logique entre la partie de commande de l'organe de commande et l'une des deux entrées 43, de telle sorte que l'une seulement de ces entrées régit l'organe de commande à un moment quelconque. La logique de décodage détermine la fonction qui est trans20 mise par la ligne T 153 à n'importe quel moment particulier. La logique de commande combine les fonctions transmises par la ligne T afin d'exécuter des fonctions particulières d'entrée telles que, par exemple, la mise à I du bit de sélection, la remise à zéro du bit de sélection, la lecture de l'état d'inter25 ruptiono Le fonctionnement de la logique de commande est illustré par les équations logiques mentionnées à la figure 27. Lorsqu'une séquence de connexions, qui sera décrite ciaprès avec référence aux figures 15, 16 et 17, est transmise par la logique 39 d'entrées-sorties, l'une des entrées 43 (et seulemen l'unique entrée 43 d'un organe 41 de commande connectée à cette ligne 39 d'entrées-sorties) est connectée au sens logique à la ligne 39 par la misé à 1 I de son bit de sélection 173. Cette connexion logique est déterminée par une partie des J, données transmises au cours de cette séquence de connexions. Lorsqu'elle est coonectée, cette entrée particulière 43 répond ensuite aux signaux de protocole en transmettant l'information entre le canal et la partie de commande de l'organe de commande. Le comparateur 195 $'adresses de l'appareil est la partie de 40 l'entrée 43 qui détermine l'adresse unique de l'entrée. Le comparateur 193 d'adresses de l'appareil détermine l'adresse unique d'une entrée particulière 43 en comparant la zone d'adresse de l'appareil dans la ligne 161 acheminant les données pendant une fonction LAC (Ad 4 esse et instruction d'implan5 tation) transmiase par la ligne T, les branchements d'adresse de l'appareil étant associés avec une entrée particulière 43 Lors que l'adresse transmise par le canal 109 correspond à l'adresse déterminée par les branchements associés à une entrée particulière 43, le terme C O OMPARAISON D'ADRESSES, voir figure 27, est 10 créé et le bit de sélection 173 de cette entrée est mis à I (en *supposant que les autres états énumérés à la figure 27 permette: la mise à I du bit de sélection) L'entrée 43 réagit ensuite à toutes les opérations transmises par la ligne T jusqu O à ce que la séquence se termine par la remise à ^zéro du bit de sélection 15 Les abréviations utilisées à la figure 27 comprennent les abréviations suivantes Add Comp: Comparaison d'adresses (Adresse d'appareil); -PROKFF Bascule bistable de parité correcte; SEL: Sélection; OWN: Possession; et SELBIT: Bit de sélection Le registre 177 de contrôle de parité est associé au génél teur de parité et à la logique 137 de contrôle de la figure 13 par le fait que, à la sorties la logique 137 du générateur de 25 parité crée la parité qui doit être contrôlée par le registre 177 de contrôle de parité de l'entrée 43, et cette parité doit correspondre sinon l'opération sera suspendue par le canal 109 d'entréessorties du module 53 de processeur A l'entrée, la lc gique commune 181 d'interface crée la parité qui doit être con30 trôlée de la même manière par la logique 137 de contrôle de parité dans le canal. Comme le montre la figure 24, le contrôle de parité commei ce avant que les données ne soient introduites dans le registr( et il se poursuit après que les données ont été entièrement in35 troduites dans le registre Ce qui revient à dire que la parit, dans la ligne D est contrôlée par le registre de parité de l'el trée chaque fois que le canal valide l'UTILISATION EN SORTIE a, une fonction de sortie transmise par la ligne T, et la parité est contrôlée pendant la durée de l'UTILISATION EN SORTIE pour 40 assurer que les données transmises par la ligne D sont stables pendant la durée de l'IUTILISATION EN SORTIE, tendis que l'entrée introduit les données dans le registre 215 de données. Ce contrôle de parité est effectué à chaque opération d'une séquence de ligne T et, sil une erreur de parité se pro5 duit'pendant une opération quelconque de la séquence, l'erreur est renvoyée sous forme de bit d'état en réponse à une fonction transmise par la ligne T pendant une séquence Par exemple, dans une séquence d'EXECUTION DES ENTREES-SORTIES, représentée aux figures 15 et 18 ' le renvoi du bit P pour l'ETAT DE L'APPAREIL DE LECTURE indique que l'entrée à déterminé une erreur de parité pendant la séquence d'EXECUTION DÈS ENTR:E S-SORTIES. Comme le montre la figure 18, le bit d'erreur de parité est le bit no 3 dans la ligne D en réponse à une fonction 15 d'ETAT DE L'APPAREIL DE LECTURE dans la ligne T. Si une erreur de parité survient à un autre moment que pendant une séquence d'EXECUTION DES ENTREES-SORTIES, l'erreur de parité est rapportée pendant la fonction transmise par la ligne T de l'ETAT D'INTERRUPTION DE LECTURE d'une manière ana20 logue à celle qui a été décrite ci-dessus dans le cas de la fonction d'ETAT DE L'APPAREIL DE LECTURE transmise par la ligne T. L'erreur de parité est remise à zéro au début d'une séquence d'EXECUTION DES ENTREES-SORTIES, d' INTERROGATION DES 25 ENTREES-SORTIES, d' INTERROGATION HAUTEMENT PRIORITAIRE DES ENTREES-SORTIES ou de reconnexion comme le montre la figure 24 Si une erreur de parité est détectée au cours de l'une quelconque des séquences, elle est enregistrée par le registre de contrôle de parité pour être renvoyée dans la ligne D en 30 réponse à une fonction de l'ETAT DE L'APPAREIL DE LECTURE ou de l'ETAT D'INTERRUPTION DE LECTURE transmise par la ligne T. En continuant à se reporter à la figure 20, on verra que la fonction de la bascule 175 de validation dans l'entrée 43 doit permettre au système d'entrées-sorties de corriger une 35 certaine classe &'erreurs qui, sinon, rendraient inopérantes les deux lignes 39 d'entrées-sorties reliées à un organe particulier 41 decommande La bascule 175 de validation accom plit cette fonction en ne permettant pas à l'entrée 43 de lancer des signaux dans la ligne 39 d'entrées-sorties. La bascule 175 de validation est remise à zéro par une instruction particulière d'invalidation Il s'agit d'une fonction d'instruction et d'adresse d'implantation (LAC) dans la ligne T avec un code opération particulier transmis par la ligne D 161 ' Une fois mise à zéro, la bascule 175 de validation ne peut être remise à I par le programme. L'entrée 43 comprend un multiplexeur d'état 195 Ce dernier renvoie l'erreur de possession mentionnée ci-dessus si l'organe 41 de commande est logiquement connecté à l'autre entrée 43 de 10 cet organe de commande, afin d'indiquer que l'organe de commande est utilisé par l'autre entrée et il ne sera pas tenu compte de E instructions envoyées à cette entrée. L'entrée 43 inclut un émetteur-récepteur 197 d'interface pour chaque ligne d'entrées (c'est-à-dire pour l'UTILISATION EN 15 ENTREE, I'ARRET EN ENTREE, la ligne acheminant les données, la parité, le REMPLISSAGE DE POSITION INUTILISEES EN ENTREE, la RESCONNEXION EN ENTREE, la DEMANDED' INTERRUPTION FAIBIEMENT PRI( RITAIRE et la DE Nh DE D'INTERRUPTION FORTEMENT PRIORITAIRE) de la ligne 39 d'entrées-sorties représentée à la figure 14 Les émetteurs-récepteurs 197 transmettent les données de l'entrée 4. au canal 109 d'entrées-sorties lorsque le bit 173 de sélection d'entrée est mis à/laeionction transmise par la ligne T 153 exige, que 1 'organe 41 de commande renvoie l'information au cana: Les émetteurs-récepteurs 197 transmettent continuellement à l'entrée 43 l'information venant de la ligne 161 acheminant les données. Une caractéristique de la présente invention réside dans 1 fait que le circuit 182 de mise sous tension associe son action à celle des émetteurs-récepteurs 197 afin de régler le comporte 30 ment de ces derniers lorsque l'organe 41 de commande est mis sous tension ou hors tension, de manière à' empêcher que des signaux erronés ne soient envoyés dans la ligne d'entrées-sorties pendant la mise sous tension ou hors tension Cette caractérist que est particulièr Ement significative du point de vue de l'ent 35 tien en direct ' Comme le montre la figure 20, chaque émetteur-récepteur 1 c comprend un récepte:r 198 et un émetteur 200. L'émetteur est validé par une ligne 202 de validation. Plusieurs mots 3 ont présents dans la ligne de validation 202 Ils comprenneijt le bit de sélection 173, une fonction 74 2547082 d'entrée requise dans la ligne T et un signal venant du circuit 182 de mise sous tension. Dans un exemple particulier de réalisation de la présente invention, le signal venant du circuit de mise sous tension est relié par un circuit OU à la sortie de la porte qui groupe les autres mots, de sorte que la sortie du circuit de mise sous tension a la priorité sur les autres mots en coupant l'alimentation de la ligne 202 de validation Cette caractéristique assure un état de haute impédance à l'émetteur 200 (qui, dans un exemple 10 particulier de réalisation, est un émetteur 8 T 26 A ou 7438) jusqu'à ce que le circuit de mise sous tension détecte que l'alimentation est à un niveau suffisant pour que les circuits intégrés fonctionnent correctement L'étage de sortie du circuit de mise sous tension est conçu pour tirer parti d'une propriété du cir15 cuit intégré de l'émetteur particulier utilisé Dans ce type particulier de circuit intégré, si la ligne 202 de validation du système de commande est maintenue à moins de deux fois la chute de tension dans la diode au- dessus du potentiel de la terre, les transistors de sortie de l'émetteur sont amenés à l'état de blo20 cage, quel que soit le niveau de l'alimentation appliquée au cir-' cuit intégré Ceci assure que le système de commande ne peut commander la ligne. Cette combinaison particulière des caractéristiques fournit un mode d'exploitation dans lequel la sortie du circuit intégré 25 est régulée lorsque la tension monte ou baisse,alors que norma lement la sortie d'un circuit intégré est non définie lorsque l'alimentation tombe en dessous d'un certain niveau. Ce même circuit est utilisé dans les lignes X et Y du système de lignes entre processeurs afin de régler les émetteurs30 récepteurs et les signaux de commande créés par la commande 55 entre processeurs Comme le montre la figure 30, chacue unité centrale 105 comprend un circuit 182 de mise sous tension qui est analogue au circuit 182 de mise sous tension de l'organe de commande Les circuits de mise sous tension commandent donc les 35 émetteurs pour tous les organes 41 de commande et toutes les commandes 55 entre processeurs. Le circuit de mise sous tension est représenté en détail à la figure 25 o le circuit est repéré d'une manière générale par la référence 182. Lobjet du circuit de ise ou tension est de détecter deux L'ojet d u iruit de mise sous tension est de détecter deux À 2547082 ' niveaux différents de tension de l'alimentation en cinq volts. Si l'alimentation faiblit, le circuit détecte le moment auquel l'alimentation tombe en de sous d'un certain niveau qui place-la logique de l'organe de commande ou de l'unité centrale 5 dans un état ou condition ind 6 terminé, A ce moment, le circuit envoie des signaux pour protéger le système contre la logique qui passe ensuite à un état non défini. Le deuxième niveau de tension qui sera détecté par le circuit de mise sous tension est une valeur qui est pergue lors10 que la tension monte O Ce deuxième niveau auquel la tension est détectée sera supérieur au premier niveau d'environ 100 millivolts, de manière à fournir une hystérésis au système afin d'éliminer tout état oscillatoire. Le circuit de mise sous tension reste à l'état stable, après avoir détecté l'un des états de tension, jusqu'à ce qu'il détecte l'autre état de tension; à ce moment-là, il change d'état L'état dans lequel se trouve le circuit de mise sous tension à un moment particulier détermine le niveau de tension auquel se produira le passage à l'autre état, Le circuit 182 de mise sous tension présente ainsi un signal qui constitue une indication selon laquelle la tension d'alimentation se trouve bien dans les limites acceptables et r édéterminées de fonctionnement de l'organe 41 de commande Si la tension d'alimentation n'est pas dans ces limites accepta25 bles et prédéterminées de fonctionnement, le signal de sortie dl circuit 182 de mise sous tension est utilisé pour invalider directement les signaux appropriés de ligne de l'organe 41 de commande. Le signal de sortie du circuit 182 de mise sous tension esi 30 un signal de sortie binaire Si la sortie est à l'état "un", la tension d'alimentation se trouve dans des limites satisfaisantes Si la sortie du circuit de mise sous tension est à l'état 'mzéro" c'est une indication d'une tension d'alimentation en dessous de la limite acceptable. Le circuit 182 de mise sous tension représenté à la figure et décrit en détail ci-dessous, est utilisé avec l'organe 41 de commande; il comporte sept étages de commande de sortie qui sont utilisés pour l'application du circuit 182 de mise sous tension à l'organe 41 de commande Cependant, le même circuit 40 182 de mise sous tension est également utilisé avec l'unité as 254708 2 ' centrale 105 et le contrôleur de lignes 37 mais, dans ces applications, le circuit de mise sous tension comportera un nombre moindre d'étages-de commande de sortie. Comme le montre la figure 25 jle circuit 182 de mise sous 5 tension comprend une source de courant 184 et un amplificateur différentiel 186. L'amplificateur différentiel 186 comporte dans une ligne 188 une première entrée qui est une entrée de tension de référence à compensation thermique, et dans une ligne 190 une seconde entrée 10 qui est une indication de la tension qui doit être détectée par le circuit de mise sous tensions La tension de référence dans la ligne 188 est obtenue par une diode Zener 1920 L'amplificateur différentiel 186 comprend deux transistors 15 correspondants 194 et 196. la tension appliquée à la ligne 190 est déterminée par les résistances 198, 200 et 202 Ces dernières sont des résistances pelliculaires métalliques qui fournissent une grande stabilité thermique au circuit de mise sous tension Les signaux de sortie dans les lignes 204 et 206 de l'amplificateur différentiel 186 sont appliqués à un système de trois transistors 208, 210 et 212 Ce système de trois transistors commande à son tour le transistor 214 de commande de sortie principale. Le transistor 214 de commande de sortie principale réagit tous les étages de commande de sortie auxquels il est relié Par exemple, dans l'application du circuit 182 de mise sous tension t concernant l'organe 41 de commande, comme le montre la figure 25, le transistor 214 de sortie principale commande les étages de sortie 216 à 228 L'étage de sortie 216 est utilisé pour remettre la logique à "zéro"; les étages de sortie 218, 220 et 222 sont utilisés en association avec les appareils d'interface de la première entrée 43 de l'organe 41 de commande, tandis que les étages de sortie 224, 226 et 228 sont utilisés en association avec 35 l'appareil d'interface de l'autre entrée 43 de l'organe 41 de commande. Enfin, le circuit 182 de mise sous tension comprend une commande d'hystérésis 230 Cette dernière inclut des résistances 232 -et 234 et un transistor 236, En fonctionnement, et en supposant qu'on réalise le fonc- * 7 -70; 2547082. tionnement en passant d'un état hors tension à un état sous ten. sion, l'alimentation est appliquée par l'intermédiaire de la source de courant 182 à l'amplificateur opérationnel 186 et au transistor 214 de commande de sortie principale A ce moment-là, 5 la tension dans la ligne 190 est inférieure à la tension dans lt ligne 188, de sorte que l'amplificateur différentiel 186 maintient la sortie du transistor 214 de commande de sortie principe le à l'état hors tensions Ce dernier, à son tour, imposera l'éte sous tension aux étages de sortie 216 à 228. Ceci place la sortie du circuit 182 de mise sous tension à l'état "zéro" état indiquant que la tension ne se trouve pas dans des limites acceptableso Lors de l'élévation de la tension, la tension d'entrée dans la ligne 190 augmente jusquà ace qu'elle soit égale à la tension de référence dans la ligne 188 A ce moment-là, l'ampli. ficateur op'érationnel 186 commande le transistor 214 de commande de sortie principale, le mettant sous tension Ce qui supprime la commande de base des étages de sortie 216 à 228 et impose l'l tat hors tension à ces étages de sortie La sortie du circuit Il 20 de mise sous tension est alors à l'état "un", état indiquant qui la tension se trouve dans des limites acceptables. A ce moment-là, le circuit 230 de commande d'hystérésis entre en jeu Pendant la mise sous tension, le transistor 236 d circuit 230 de commande d'hystérésis était sous tension Lorsqu 25 le transistor 236 est soustension, la résistance 202 présente une valeur de résistance inférieure à la valeur de la même rési tance 202 lorsque le transistor 256 est hors tension. Le point auquel le transistor 214 de commande de sortie principale est mis sous tension coincide avec le point auquel 1 0 transistor 236 de commande du circuit d'hystérésis est mis hors tensions La mise hors tension de ce dernier transistor 236 provoque dans la ligne 190 une légère et brusque variation de la tension qui verrouille ensuite l'amplificateur différentiel 186 dans un état tel que cet amplificateur difféSrentiel 186 maintie le transistor 214 de sortie principale dans l'état sous tension L'état du circait de mise sous tension restera stable dan E cet état, le transistor 214 de commande de sortie principale étant mis sous tendion et les étages de commande de sortie 216 à 228 étant mis hors tension, jusqu'à,ce que la tension de + 5 V 40 chute en dessous d'tô niveau de seuil inférieur déterminé par -78 2547082 ' la tension appliquée à la ligne 190. Lorsque la tension dans la ligne 190 tombe en dessous de la tension de référence de la ligne 188, du fait que l'alimentation en 5 V accuse une défaillancie l'amplificateur différen5 tiel 16 met alors hors tension le transistor 214 de commande de sortie principale Ce dernier, à son tour, met sous tension les étages de commande de sortie 216 à 218. Puisque le transistor 256 de commande du circuit d'hysté * résis était mis hors tension lorsque l'alimentation a chuté, la 10 tension appliquée à l'entrée du circuit 182 de mise sous tension doit chuter-quelque peu en dessous du point pour lequel le. circuit 182 de mise sous tension a détecté que la tension se trouvait dans des limites acceptables pendant la phase de mise sous tension de l'opération. Cette différentielle ou hystérésis est utilisée pour empêcher qu'un bruit quelconque dans l'alimentation de 5 V ne produise dans le circuit une oscillation qui indiquerait de manière erronée une panne de l'alimentation. Le circuit 182 de mise sous tension représenté à la figure 20 25 fournit une détection très exacte des deux tensions utilisées par le circuit de mise sous tension afin de déterminer son état, que la sortie du circuit de mise sous tension soit à l'état "un" ou à l'état "zéro Afin de détecter très exactement ces deux tensions, le cir25 cuit de mise sous tension doit pouvoir compenser les tolérances initiales des différents éléments ainsi que les variations ther- niques au cours du fonctionnement Dans le circuit 182 de-mise sous tension, la diode Zener 192 est la seule partie critique qui doive être compensée du fait de ses tolérances initiales, et cette comepnsation est obtenue par la sélection de la résistance 198. la compensation thermique est réalisée du fait que la diode Zener 192 est une diode Zener active et non une diode Zener passive La compensation thermique effective est également effec35 tuée parce que les deux transistors de l'amplificateur différentiel 186 forment une paire correspondante de transistors et parce que les résistances 198, 200 et 202 sont des résistances pelliculaires métalliques. Chaque entrée 43 comprend plusieurs lignes qui sont repé40 rées d'une manière gén 6 rale par la référence 179 aux figures 19 et 20 Ce groupe de lignes 179 comprend les lignesindividuelles 201 dont seize constituent la ligne d'entrée ou ligne I, les lignes d'adresse 205 des appareils, les lignes 205 *de sortie au nombre de seize, une 11 gne 207 de prise de posses5 sion et des lignes générales 209 qui transmettent des signaux tels que la ligne de parité, la ligne 6 et d'autres lignes analogues qui sont énécessaires du fait de la mise -en oeuvre particulière du matériel. Ces lignes particulières 2019 203, 205, 207 et 209 cor10 respondent aux lignes qui portent les mêmes références à la figure 21 qui est le schéma de fonctionnement de la logique commune -d'interface Cependant, il y a deux ensembles de chacune de ces lignes à la figure 21 car la logique commune d'interface 181 est associée à chacune des doubles entrées 45 d'un or15 gane 41 de commandes. Comme le montre la figure 21, la logique commune d'interface 181 inclut la bascule 185 de prise de possession, représentée également à la figure 19 o Cette bascule de prise de pos. session détermine la connexion logique entre la logique commu20 ne d'interface 181 et une, entrée 43 d'o a été reçu par la ligne 207 le signal de PRISE DE POSSESSION. Comme on l'a mentionné ci-dessus, le signal de PRISE DE POSSESSION est extrait, -par le matériel de l'entrée, d'une instruction dans la ligne T, adresse et instruction d'implan25 tation LAC mentionnée à la figure 18, avec un code opération particulier de la zone d'instruction dans la ligne D Iorsque l'entrée reçoit la fonction d'adresse et d'insrruction d'implantation LAC dans la ligne T à partir du canal, la logique de l'entrée examine la zone d'instruction, c'est-à-dire les si 30 bits de la partie supérieure, dans la ligne D Ensuite, si la zone d'instruction contient un code spécifiant une instruction de prise de possessions le matériel d'entrée produit un signal afin que la bascule de prise de possession connecte l'entrée à la logique commune d'interface et, de là, à la par35 tie de commande 'de l'organe de commande Si la zone d'instruction indique une instruction de suppression, le matériel de l'entrée produit un signal qui remet à zéro la bascule de validation de l'entree Cette opération n'a lieu que si la zone d'adresse de l'appareil dans la ligne D correspond aux conne40 xions volantes d'ade Ase de l'appareil d'entrée et si aucune 2547082 erreur de parité n'est détectée pendant l'instruction Ce qui revient à dire qu'aucune instruction (y compris la prisé de possession,la suppression, etc) n'est exécutée si une erreur de parité est détectée dans l'adressé et instruction d'implanta5 tion ILC. En conséquence, le canal 109 d'entrées-sorties émettant l'instruction de prise de possession régit l'organe 41 de commande et l'autre entrée 43 est logiquement déconnectée L'instruction de prise de possession peut également provoquer une remise 10 à zéro de l'état interne de l'organe de commande. L'état de la bascule 185 de prise de possession détermine l'entrée qui peut transmettre l'information par l'intermédiaire du multiplexeur 211 Une fois que la bascule 185 de prise de possession est placée dans un état donné, elle restera dans cet 15 état jusqu'à ce qu'une instruction de prise de possession soit reçue par l'autre entrée La validation de la ligne de remise à zéro des entrées-sorties aura également pour conséquence d'attribuer la possession à l'autre entrée après que l'état interne de l'organe de commande aura été remis à zéro. Des signaux de commande sont choisis par l'état du registre 185 de prise de possession et à partir d'une entrée appropriée 45; ils sont transmis par le multiplexeur 211 à la partie de commande 187 d'un organe de commande par un groupe de lignes de commande 215 Les données sont sélectionnées à partir 25 d'une qntrée appropriée 43 dans les lignes 205 et elles sont introduites dans le registre 213 de données et présentées à l'organe de commande par une ligne de sortie 217 (ligne 0). Certaines parmi les lignes de commande 215, c'est-à-dire les lignes 215 A, sont utilisées pour commander le multiplexeur 30 220 afin de sélectionner 1 ' information transmise de 1 'organe de commande par les lignes 219 et qui doit être renvoyée par la ligne 201 d'entrées ou ligne I vers les entrées 43, comme le montre la figure 20, et ensuite vers le canal 109 d'un module 33 de processeur Une ligne 221 renvoie l'adresse de l'ap35 pareil depuis l'entrée appropriée 43 à la ligne I 201 et, de là, au canal 109 d'entrées-sorties. La mémoire-tampon 189 contenant les données, représentée à la figure 19, est illustrée plus en détail à la figure 22. Suivant la présente invention, de nombreux organes 41 de 254708 2 commande comprennent une mémoire-tampon comportant plusieurs mots, prévue pour recevoir l'information à un débit relativemen faible depuis un appareil périphérique et pour transmettre ensuite cette information au module ide processeur à ou au voisina de la vitesse de la mémoire afin d'utiliser au maximum la largeur de bande du canal. Dans la conception même de la mémoire-tampon, il importe que les organes 41 de commande puissent coopérer l'un avec l'au tre dans l'accession au canal 109 afin d'éviter des conditions 10 d'erreur Pour que les organes 41 de commande coopèrent correctement, les mémoires-tampons 189 comportant plusieurs mots sont constituees suivant certaines règleso Ces règles sont les suivantes: Tout d'abord, lorsqu'un organe de commande fait une deman15 de de reconnexion pour le canal 109, il doit rester une-profondeur de mémoire-tampon suffisante pour que tous les organes 41 de commande hautement prioritaires et un organe 41 de commande faiblement prioritaire puissent être desservis et pour que le temps d'attente de reconnexion de la demande de reconnexion pui 20 se s'écouler sans vider la profondeur restante de la mémoiretampon Ceci s'appelle la profondeur de seuil-de la mémoiretampon, en abrégé T à la figure 23. Ensuite, après que la mémoiri-tampon-a été desservie, elle doit attendre un temps suffisamment long pour permettre à tous 25 les organes 41 de commande faiblement prioritaires d'être dess E vis,'avant de faire une autre demande de reconnexion Ceci s'al pelle la profondeur d'attentes La profondeur de la mémoire dési gnée par la lettre D à la figure 23, est la somme de la profondeur d'attente et de la profondeur de seuile La profondeur d'attente et la profondeur de seuil sont fo I tion de plusieurs variables, à savoir le débit de l'appareil, débit du canal, la vitesse de la mémoire, le temps de reconnexion, le nombre d'organes de commande fortement prioritaires di la ligne d 1 entrées-sorties, le nombre d'organes de commande faiblement prioritaires dans la ligne d'entrées-sorties et la lon..55 gueur maximale admissible de tranche. Un organe de commande fortement prioritaire dans la ligne d'entréessorties est associé-à un plus grand nombre d'organes de commande faiblement prioritaires dans la même ligne d'entré 40 sorties qu'un autre organe de commande faiblement prioritaire dans la même ligne d'entréessorties;par conséquent, l'organe de commande fortement prioritaire exige une profondeur d'attente plus grande que ne l'exige l'organe de commande faiblement prioritaire De même, un organe de commande faiblement prioritaire 5 dans uile ligne d'entrées-sorties exige une profondeur de seuil plus grande que ne l'exige un organe de commande fortement prioritaire La mémoire-tampon 189 d'un organe de commande est cons-tituée de manière à bénéficier du fait que, lacssque les exigences de profondeur d'attente augmentent, les exigences de profondeur 10 de seuil diminuent et, lorsque les exigences de profondeur de seuil augmentent, les exigences de profondeur d'attente diminuent. On réalise ce fait en rendant variable la contrainte à laquelle est faite une demande de reconnexion, la mise à "un" effective dépendant des caractéristiques des organes de commande fortement 15 et faiblement prioritaires dans une disposition particulière de canal d'entrées-sorties La profondeur de la mémoire-tampoh représente donc le maximum de l'exigence de profondeur de seuil dan: le cas le plus défavorable ou le maximum de l'exigence de profondeur d'attente dans le cas le plus défavorable, plutôt que la somme de la profondeur de seuil dans le cas le plus défavoram ble et de la profondeur d'attente dans le cas le plus défavorable Ceci permet de réduire au minimum la profondeur de la mémoiretampon et diminue le temps nécessaire au remplissage et au vidage de la mémoiré-tampon. La figure 23 illustre graphiquement plusieurs de ces paramètres A la figure 23, le temps a été porté en abscisse et les mots de la mémoire-tampon en ordonnée dans le cas d'une opération de sortie. Partant du point D situé à la partie supérieure gauche de 30 la figure 23 (et en supposant que la mémoire-tampon est remplie sur toute sa profondeur), les données sont transmises à un appareil à un débit indiqué par la droite de pente -RD et cette transmission de données se poursuit sans qu'un signal de reconnexion soit produit jusqu'à ce que la profondeur de la memoire35 tampon s'abaisse et atteigne la profondeur de seuil indiquée par l'intersection, au point 223, de la droite de pente - RD et de la droite T de profondeur de seuil. A ce point, la demande de reconnexion est adressée au canal 109 comme l'indique la légence portée sur l'axe horizontal à la 40 figure 23. La transmission des données se poursuit depuis la mémoiretampon au débit indiqué par la droite de pente -RD et la demande est maintenue en attente par las organes -41 de commande fortement prioritaires, jusqu'au point 225; à ce point, la demande est acceptée par le canal 109 et le,canal d'entrées-sorties commence sa séquence de reconnexion pour cet organe de commande. Au point 227, le premier mot contenant des données a été transmis par le canal 109 à la mémoire-tampon 189 de l'organe de commande et le canal 109 transmet ensuite dans la mémoire-tam10 pon des mots contenant des données, a un débit indiqué par la droite de pente RC En même temps, l'organe 41 de commande continue à transmettre des mots contenant des données hors de la mémoire-tampon et au débit -RD, de sorte que le débit total d'entrée dans 15 la mémoire-tampon 189 est indiqué par la droite de pente RC RD, jusqu'à ce que la mémoire-tampon soit à nouveau remplie au point 229 A ce point 229, la mémoire est complète et l'organe de commande est déconnecté du canal 109 de transmission des données se poursuivant au débit indiqué par la droite 20 de pente -RC La notation tr à la figure 23 indique le temps nécessaire au balayage et à-la sélection de cet organe de commande et à la transmission du premier mot Ce point sera discuté à nouveau ci- dessous en rapport avec la figure 16 o La lettre B à la figure 23 indique le temps de transmissic d'une tranche Ce temps est un paramètre dynamiqueo La longueur d'une tranche particulière dépend du débit de transmission de l'appareil, du débit de transmission du canal, du nombre d'appareils et de transmissions en cours et du temps de reconnexioi 50 du canal Le temps maximal admissible pour la transmission d'une tranche est choisi de manière à réduire au minimum la profondeur requise de la mémoire-tampon, tout en recevant des débits élevés de transmission d'appareil, ainsi que le nombre d'appareils qui peuvent transmettre en simultanéité, La figure 22 est un schéma de fonctionnement d'un exemple particulier de réalisation d'une mémoire-tampon 189 constituée suivant la présente invention afin de satisfaire les exigences de profondeur d'attente et de profondeur de seuil illustrées ê la figure 253 La mémoire- tampon 189 représentéee à la figure 22 comprend un tampon d'entrée 231, une mémoire-tampon 233, un tampon de sortie 255, un indicateur d'entrée 257, un indicateur de sortie 239, un multiplexeur 241, une logique 243 de commande du tampon décrite plus en détail à la figurel 26, un multiplexeur 245 con5 necté i la logique 243 de commande du tampon et un compteur 247 de contraintes. Comme le montre également la figure 22, deux groupes de lignes d'entrée des données, les lignes 217 et 249, alimentent le tampon d'entrée 231. Un groupe de lignes d'entrée des données comprend seize lignes 249 d'entrée des données dans l'appareil. L'autre groupe de lignes d'entrée comprend sei'ze lignes 217 constituant la connexion commune de sortie (lignes constituant la connexion 0). L'un ou l'autre de ces deux groupes de signaux d'entrée est ensuite envoyé du tampon d'entrée 231 à la mémoire-tampon 233 par un groupe de lignes 251 Ces dernières sont au nombre de seize. Les données sont extraites de la mémoire-tampon 233 et elles 20 sont introduites dans le tampon de sortie 235 par un groupe de lignes 253 Ces dernières sont au nombre de seize Le tampon de sortie 235 retransmet les données à la logique commune d'interface 181, représentée aux figures 19 et 21, par un groupe de seize lignes 219 et aux appareils 45 et 47, tels 25 que les appareils 49, 51 et 53 représentés à la figure 1, par un groupede seize lignes 255, comme l'indiquent les légendes deà figure 22. Les indicateurs d'entrée 237 et de sortie 239 fonctionnent avec le multiplexeur 241 de la manière suivante: Lorsque les données sont transmises du tampon d'entrée 231 à la mémoire-tampon 233, l'indicateur d'entrée 237 est connecté à à la mémoire-tampon 233 par l'intermédiaire du multiplexeur 241 afin de déterminer l'emplacement dans lequel le mot est enregistré. Llorsque les dbnnées sont transmises de la mémoire-tampon 233 au tampon de sortie 235, l'indicateur de sortie 239 est connecté à la mémoire- tampon 233 par l'intermédiaire du multiplexeur 241 afin de déterminer l'emplacement à partir duquel le mot est extrait. L'objet de la logique 243 de commande de la mémoire-tampon, 2547082 représentée aux figures 22 et 26, est de garder la trace de la contrainte appliquée à la mémoire-tampon 189 A ce sujet, le degré de remplissage ou de vidage de la mémoire-tampon, combiné au sens de la transmission par rapport au module de processeur (en5 trée ou sortie) détermine le degré de contrainte La contrainte augmente lorsque l'appareil accède à la mémoire-tampon et elle diminue lorsque c'est le canal qui accède à la mémoire-tampon. Dans l'exemple de réalisation représenté aux figures 22 et 26, le compteur de contrainte mesure l'accroissement de contrain 10 te de O à 15 en entrée et la diminution de contrainte de O à 15 en sortie Un autre exemple de réalisation (non représenté sur les dessins) ajouterait le sens de la transmission a la logique de commande de la mémoire-tampon, de telle sorte que deux autres lignes accèderaient aux indicateurs 237 et 239 et le compteur de contrainte mesurerait toujours un accroissement de contrainte Comme le montre encore la figure 22, une ligne 215 de demande de canal, représentée également à la figure 21, et une ligne 257 de demande d'appareil, venant de la partie 187 de commai de de l'organe de commande, sont validées afin d'indiquer l'ac20 ces à la mémoire-tampon 189, le multiplexeur 245 sélectionne l'une de ces lignes comme demande d'augmentation du remplissage de la mémoire-tampon et i sélectionne l'autre ligne comme demande de diminution du rempli sage de la mémoire-tampon, en se fondant sur le sens della tran 25 mission (entrée ou sortie) par rapport au module de processeur. la ligne sélectionnée pour augmenter le remplissage de la mémoire-tampon est égalemenit utilisée pour charger les données depuis les lignes appropriées 249 ou 217 acheminant les donnée E représentées à la figure 22, dans le tampon d'entrée 231 par 30 l'intermédiaire de la ligne 259 e Le canal et l'appareil peuvent accéde en même temps à la mémoire-tampon 189 et la logique 245 de commande de la mémoire tampon satisfait une demande à la fois La logique 245 de commande de la mémoire-tampon choisit l'une des lignes pour le se: vice et maintient l'autre ligne en différé jusqu' à-ce que la 1 gique 243 de commande de la mémoire-tampon ait satisfait la pr mière demande, ensuite elle satisfait l'autre demandeo La satisfaction d'une demande par la logique 245 de comma de de la mémoiretampon se fait de la manière suivante: Tout d'abord, la logique de commande de la mémoire-tampor 8 t détermine le sens de la transmission (entrée ou sortie) par rapport à la mémoire-tampon 233 et elle valide la ligne 261, connectée au multiplexeur 241, comme étant appropriée pour sélectionner l'indicateur d'entrée 2371 ou l'indicateur de sortie 239 par l'intermédiaire du multiplexeur 241. Ensuite, lors d'une demande de sortie, la logique 245 de commande de la mémoire-tampon valide la ligne 265 qui accomplit trois actions: A) Elle transmet le mot du tampon d'entrée 231 dans la mémoire-tampon 233 à l'emplacement déterminé par l'indicateur d'entrée 257 et par le multiplexeur 241. B) Elle fait progresser le compteur de contrainte 247. C) La logique 243 de-commande de la mémoire-tampon fait progresser l'indicateur d'entrée 237. Enfin, lors d'une transmission de sortie, la logique 243 de commande de la mémoire-tampon valide la ligne 265 qui effectue les trois opérations suivantes: A) La logique 243 de commande de la mémoire-tampon enregistre dans le tampon de sortie 255 le mot extrait de la mémoi20 re-tampon 233, tel qu'il est déterminé par l'indicateur de sortie 239 et le multiplexeur 241. B) lia logique 243 de commande de la mémoire-tampon fait régresser le compteur de contrainte 247. C) La logique 243 de commande de la mémoire-tampon fait 25 progresser l'indicateur de sortie 259. Le compeeur de contrainte 247 détermine le moment o la mémoire-tampon 189 est pleine ou a atteint la profondeur de seuil, comme l'indiquent respectivement les lettres D et T portées sur les lignes de sortie à la figure 22. La sortie du compteur de contrainte est décodée et n'importe laquelle des valeurs décodées peut être utilisée pour indiquer que la mémoire-tampon a atteint sa profondeur de seuil Dans l'exemple préféré de réalisation, des connexions volantes sont utilisées pour sélectionner l'une des seize va35 leurs possibles de contrainte et une demande de reconnexion est adressée au canal 109 lorsque la contrainte dans la mémoire-tampon 189 atteint cette valeur. La partie 187 de commande de l'organe de commande utilise les trois signaux qui correspondent aux légendes de la figure 23, pour envoyer des demandes de reconnexion et des demandes de 8 7 87 2547082 déconnexion dans les lignes respectives 145 et 159, représentées aux figures 12 et 140 Le signal SI d'ARRET EN ENTREF, transmis par la ligne 159 représentée aux figures 12 et 14, est en rapport avec la pro5 fondeur D de la mémoire-tampon, les états de remplissage ou de vide de la mémoiretampon et le sens de transmissions le signal RCI de RECONIOEXI O N EN ENTREE transmis par la ligne 145 repr 6sentée aux figures 12 et 14, est en rapport avec l'indications de profondeur de seuil T-fournie par le compteur de contrainte 247 représenté à la figure 22, Ainsi-le signal d'ARRET EN ENTREE est validé lorsque la mémoire-tampon 189 atteint un état de contrainte minimale (rempli àa la sortie et vide à l'entrée) Le signal d' ARRET EN ENTREE indique au canal 109 que l'organe 41 de commande désire mettre fin à la transmission de tranches de données Lorsque la mémoire-tampon dépasse son seuil, elle valid E le signal ROI de RECONIEXION EN ENTREE transmis par la ligne 145 pour indiquer au canal 109 que la mémoire-tampon désire transmettre une tranche de données La figure 26 représente en détail le multiplexeur 245, la 20 logique 245 de commande de la mémoire-tampon et le compteur de contrainte 247 de la mémoire-tampon 189 représentée à la figure 22. A la figure 26, le multiplexeur 245 représenté comprend -deux groupes de portes 245 A et 245 B, des bascules bistables de 25 demande 267 A et 267 B, vne bascule bistable'd'horloge 269, des bascules bistables de synchronisation des demandes 271 A et 271 B, une porte 275 de résolution de la priorité et des portes 275 A et 275 B d'exécution des demandes. Le compteur de contrainte 247 comprend une partie 247 A de compteur et une partie 247 B de décodeur, comme l'indiquent les légendes de la figure 26, Comme le montre la figure 26, les deux groupes de portes 245 A et 245 B ont utilisé le signal de demande du canal, transmis par la ligne 215, et le signal de demande de l'appareil, transmis 35 par la ligne 257, ainsi que les signaux de lecture et d'enregistrement pour déterminer lequel du canal ou de l'appareil introduit des données dans la mémoire- tampon 189 et lequel en extrait des données. Les bascules bistables de demande 267 A et 267 B stockent lei 40 demandes jusqu'à ce que la logique de commande ait satisfait la demande. La bascule bistable d'horloge 269 produit un signal d'horloge en deux phases utilisé par les bascules bistables de synchronisation des demandes 271 A e 271 B et par les portes 275 A et 275 B d'exécution des demandes. Les bascules bistables de synchronisation des demandes 271 A et 271 B synchronisent la demande à la bascule bistable 269 de production d'un signal d'horloge et stabilisent la demande d'exécution. La porte 273 de résolution de la priorité choisit une des demandes pour son exécution et maintient l'autre demande en différéo Les portes 275 A et 2753 d'exécution des demandes exécutent les demandes en fonction de la demande synchronisée. Chaque signal de sortie des lignes 263 et 265 accomplit les fonctions décrites ci-dessus, à savoir: progression et régression du compteur de contrainte, mise à jour de la mémoiretampon ou du tampon de sortie', et mise à jour de l'indicateur d'entrée ou de l'indicateur de sorties En outre, chaque signal remet à zéro la bascule bistable appropriée de demande, par l'intermédiaire des lignes 277 A et 277 B représentées à la figure 26 Comme on l'a noté ci-dessus, les figures 15, 16 et 17 re présentent les trois séquences de fonctionnement du système d'en25 ' trées-sorties. Dans le fonctionnement du système d'entrées-sorties, la transmission normale des données entre un module 33 de processeur et un appareil particulier, tel qu'un disque 45, comprend une séquence d'EXECUTION DES ENTREES-SORTIES pour déclencher la 30 transmission. L'instruction d'XECUTION DES ENTREES-SORTIES sélectionne l'organe particulier de commande et l'appareil et indique l'opération à effectuer. L'organe 41 de commande déclenche les entrées-sorties 35 entre lui-même et'l'appareil particulier. L'organe 41 de commande est reconnecté périodiquement au canal 109 et il transmet les données entre l'organe 41 de commande et le canal 109 La reconnexion périodique peut être faite dans le but de transmettre les données du canal à l'appa40 reil ou dans le but de transmettre les données de l'appareil 89 2547082 au canal, Lorsque la transmission de données est terminée, l'organe 41 de commande interrompt l'unité centrale 105 qui répond en émettant une séquence d'INTERROGATION DES ENTREES-SORTIES ou une 5 séquence d'INTERROGATION HAUTEENT PRIORITAIRE DES ENTREESSORTIES. - Ia séquence d'INTERROGATION DES ENTREE S-SORTIES détermine l'identité de l'appareil d'interruption et les conditions dans lesquelles la transmission s'est terminées La séquence d'INTERROGATION HAUTEPENT PRIORITAIRE DES ENTREE$-SORTIES est analogue à la séquence d' INTERROGATION DES ENTREES-SORTIES mais elle est émise en réponse à une interruptio hautement prioritaire des entrees-sorties. L'instruction de l'unité centrale d'EXECUTION DES ENTREES15 SSORTIES est définie par les changements d'état de la ligne T, représentés à la figure 15. Le premier état représenté à la figure 16, c'est-à-dire l'é tat situé à l'extrême gauche, est l'état mort-ou état d'inactivité NOP Les autres états sont les mêmes que ceux qui sont énu20 mérés à la figure 18 par les mnémoniques correspondants, à savoir: ILAC (adresse et instruction d'implantation, LP Ri (paramètre d'implantation), RDST (état de l'appareil de lecture), DSEL (désélection) et ABTI (instruction de suspension d'exécution). Comme pour les changements d'état représentés aux figures 6, 7 et 8, les flèches en traits pleins indiquent un changement d'état, tandis qu'une flèche en traits interrompus indique une condition qui doit être remplie avant qu'un changement d' état puisse se produire. 0 L'instruction d'EXECUTION DES ENTREES-SORTIES et l'exécutic de cette instruction, représentées à la figure 15, sont sous le contrôle direct du microprocesseur 113, représenté à la figure 12, de l'unité centrale 105 e Ce déclenchement par l'unité centrale est représenté à la 55 figure 15 comme étant transmis par la ligne 117 à la machine créant les états; le signal de déclenchement n'est accepté que lorsque la ligne T est à l'état d'inactivité. Une fois que le signal de déclenchement par l'unité centra: est appliqué, _ la ligne T passe de l'état d'inactivité NOP (éta mort) à l'état d'adresse et instruction d'implantation LAC. 9 o 254 ? 082 Dans l'état ou fonction d'adresse et instruction d'implantation LAC, un mot est extrait du haut de la pile du registre 112 de l'unité centrale 105, représentée à la figure 12, et il est transmis dans la ligne D 161, Représentée à la figure 14. Comme on l'a décrit ci-dessus, ce mot est utilisé pour sélectionner un organe 41 particulier de commande et un appareil périphérique particulier 45, 47, 49, 51 ou 53, représentés à la figure 1, et ce mot est également utilisé pour indiquer l'opération à effectuer. Dans le cycle suivant de la ligne T, cette dernière passe à l'état LPRMI "PARAMIETRE D'I Ii PLANTATION". Dans l'éat de PARAMETRE D'II'PLANTATION, le mot juste en dessous du haut de la pile du registre de l'unité centrale 105, représentée à la figure 12, est introduit dans la ligne T 161, 15 représentée a la figure 14, par le canal 109 d'entrées-sorties et il est transmis à l'organe 41 de commande sélectionné pendant l'état précédent d'ADRESSE ET INSTRUCTION D'Il PLATATION. A la fin du cycle d'établissement de liaison, comme le montre la flèche en traits interrompus à la figure 15, la ligne T 20 passe à l'état RDST de l'appareil de lecture Dans cet état, l'organe 41 de commande renvoie l'état de l'appareil (l'état d'un appareil particulier sélectionné et comprenant le groupe de signaux décrivant l'état de cet appareil) depuis l'organe 41 de commande et le place en haut de la pile du registre 112 de l'uni25 té centrale 105. Dans l'état de PARAMETRE D'IIMPLANTATION et de l'APPAREIL DE LECTURE, plusieurs erreurs peuvent s'être produites Parmi ces erreurs on peut citer une erreur de parité, un délai d'attente d'établissement d'une liaison et une indication d'erreur dans le 3 o mot d'état Si une erreur s'est produite, la machine 143 dans la ligne T, représentée à la figure 135, passe de l'état de 1 l'APPAREIL DE LECTURE à l'état d'INSTRUCTION DE SUSPENSION d'EXECUTION. L'état d'INSTRUCTION DE SUSPENSION D'EXECUTION donne comme * 35 instruction à l'organe 41 de commande de ne pas tenir compte de l'informmation d'ADRESSE ET d'INSTRUCTION D' IIIPLANTATION et de PARA IETRE D'I Mi PLANTATION qui lui a été transmise par le canal 109 d'entrées-sorties et ensuite la ligne T (canal) revient à l'état d'IINACTIVITE (état mort). Si, après l'état de l'APPAREIL DE LECTURE, aucune erreur n'a été détectée comme le montrela flèche 114 en traits interrompus dans le branchement supérieur de la figure 15, la ligne T passe à l'état de DESELECTIO No La ligne T se trouvait à l' étai de DES El ECTION, l'organe 4 ' de commande remet & zéro sa bascule 173 de sélection et répond à l'instruction qui lui a été envoyée (pendant 11 état d'ADRESSE et D'INSTRUCTION D' IMPLANTATION) et la ligne T revient à 1 ' état d'INACTIVITE (état mort) Dans le fonctionnement du système d'entrées-sorties, plu10 sieurs signaux de demande-d'appareil peuvent être produits de façon asynchrone Par exemple, un signal de reconnexion peut être créé après une séquence d:EXECUTION DES ENTREES-SORTIES afin de demander que le canal transmette les données à l'organe de commande Ou bien l'organe 41 de commande peut valider une 15 ligne de demande d'interruption à un certain nombre de condi tions différentes, par exemple pour signaler l'achèvement d'ne séquence d'EXECUTILON DES 2 ENTREES-SORTIES ou pour rendre compte d'lm état inhabituel dans un appareil p 6 riphérique. Les lignes dedemande d 'appareil sont communes à toutes les 20 entrées 43 de l'driae de commande connectées à une ligne particulière 39 d'entréessorties. Le canal 109 répond aux demandes de reconnexion faites par la ligne 145 de RECONNEXION "ET ENTREE", représentée à la figure 14, et l'unité - centrale 105 répond aux demandes faites par la ligne 147 de DEI-NDE D' INTERRUPTION FAIBEIIENT PRIORITAI RE, représentée également à la figure 14, avec une séquence d'INTERROGATION DES ENTREES-SORTIES, et à une demande faite par la ligne 149 de DEIMANDE D'INTERROGATION FORT En ENT PRIORITAIRE avec une séquence d'INTERROGATION FORTEOENT PRIORITAIRE DES 30 ENTREE SSORTIES. La première action entreprise par le canal 109 ou l'unité centrale 105 en réponse à-un signal de demande d'appareil consiste à déterminer l'identité de l'organe 41 de commande le plus fortement prioritaire validant une demande Ce qui revient 55 à dire qu'il pedt y avoir plusieurs organes 41 de commande validant en même temps une demande faite au canal 109 et le canal sélectionnera mun organe particulier de commande suivant un système de pyiorité prédeéterminé. Dans un exmple particulier de réalisation de la présente 40 invention, jusd,'," trente-deux organes 41 de commande peuvent 92 2547082 être connectés à un seul canal 109 Ces trente-deux organes de-commande sont montés en étoile à l'aide de la ligne 161 acheminant des données de seize bits. Une ligne supplémentaire 1 > 1 est ktilisée pour diviser ces trente-deux organes de commande en deux groupes de seize organes chacun Un groupe de seize organes de commande reçoit une priorité par rapport à l'autre groupe une priorité est également attribuée parmi les seize organes au sein de chaque groupe L'appareil qui répond au bit zéro fe la ligne D pendant 10 une séquence de balayage, possède la priorité la plus haute parmi une rangée et l'appareil qui répond au bit 1 > possède la priorité la plus basse. Tout d'abord, on peut noter que le balayage (que l'on va décrire maintenant) implique les descriptions des états re15 présentés aux figures 16 et 17 jusqu'à et y compris l'établissement de la liaison qui a lieu pendant l'état de SELEOTION à chaque figure On continuera à se reporter d'une manière générale aux figures 16 et 17 Le canal 109 met la ligne de la rangée à zéro 20 et présente ensuite la fonction RPOL (balayage de reconnexion) di la ligne T, comme le montre la figure 16, s'il s'agit d'une réponse à une demande de reconnexion, tandis que l'unité centrale 105 présente une fonction ILPOL (balayage faiblement prioritaire) de la figure 6, représentée à la figure 17, si l'unité 25 centrale répond avec une séquence d'INEERROGATION DES ENTEESSORTIES, ou une fonction EPOL (balayage hautement prioritaire) de la ligne T si l'unité centrale répond avec une séquence d'INTERROGATION H&AUTEMENT PRIORITAIRE Il s'agit là du seul point important de différence entre les représentations de la 30 figure 16 (réponse du canal) et de la figure 17 (réponse de l'unité centrale) en ce qui concerne le balayage. Concernant particulièrement la figure 16 et la réponse du canal 109 à la validation de la ligne 145 de RECONNEXION EN ENTREE (RCI) représentée à la figure 14, tous les appareils 35 ayant une demande de reconnexion en cours qui répondraient dans la rangée zéro, font une réponse de bit un dans la ligne Do Ce qui revient à dire que tous ces appareils valident une liaison de la ligne D 161 correspondant à leur priorité au sein de la rangée. le canal 109 introduit la réponse de la ligne D dans le 9 2547082 registre 135 de séparation des priorités représenté à la figure 13, La sortie de ce registre 155 de séparation des priorités sélectionne l'organe de commande qui a la plus haute priorité, conformément au système de priorité décrit ci-dessus, et il val. 5 de le bit approprié de retour dans la ligne D 161 si un bit esi validé dans la rangée zéro par les organes de commande connectéi Si un ou plusieurs appareils valident une réponse au regis tre de séparation des priorités dans la: rangée zéro, la sortie du registre de séparation des priorités est présentée à tous les organes de commande connectés, en même temps que la fonctio: de EELECTION dans la liigne T, et 1 'organe de commande dont la priorité dans la rangée zéro correspond à la sortie du registre de séparation des priorités, met son bit 175 de sélection à un " représenté à la figure 19; ensuite, cette entrée répondra 15 aux états suivants de la séquence C'est ce mode de fonctionnement que représente la flèche en traits pleins allant de l'état indiqué RPOL (Balayage de reconnexion) avec une rangée égale à zéro à l'é tat indiqué SEL ($Sélection) O Si le registre 135 de séparation des priorités détermine 20 qu'aucun appareil n'a répondu lorsque la ligne de la rangée était égale à zéro, le canal 109 met alors la ligne de la rangée à un et envoie de nouveau l'instruction RPOL (Balayage de reconnexion) dans la ligne T Ensuite, si le registre de séparation des priorités détermine qu'une réponse a été faite dans 25 la rangée 1, le canal valide la fonction de sélection dans la ligne T comme auparavant. Cependant, si le registre 135 de séparation des priorités détermine qu'aucune reponse n'a été faite dans la rangée 1, le canal revient à l' état d inactivité indiqué par l'état NOP à li 30 figure 16. Ce dernier vènement est un exemple d:incident qui pourrait se produire à une entrée 43 et qui aurait pour conséquenci de faire accéder le système 311 à cet organe particulier 41 de commande par l'intermédiaire de l'autre entrée 45. Comme on l'a noté ci-dessus, l'action du registre 135 de séparation des priorités, en réponse à une séquence IIO O (Inter rogation des entréessorties) ou HIIO (Interrogation hautement prioritaire des entrées-sorties) déclenchée par l'unité centra le 105, est la même que la réponse du registre 135 de séparati 40 des pororités à une séquence de reconnexion déclenchée par le canal en réponse à une demande de reconnexion "en entrée" envoyée dans la ligne 145 depuis un organe 41 de commande. On continuera à se reporter la figure 16 la séquence de reconnexion commence par la séquence de balayage décrite ci5 dessus et dont le but est de reconnecter l'organe 41 de commande de la plus haute priorité faisant une demande. Le stade suivant de la séquence de reconnexion consiste à déterminer le nombre réel d'organes de commande contenu dans le comparateur 193 d'adresses de l'appareil Comme on l'a noté 1 ' ci-dessus, le comparateur 193 d'adresses de l'appareil comprend des connexions volantes afin de déterminer un numéro dorgane de commande effectif Ces connexions volantes sont les mêmes que celles qui sont utilisées pour une fonction LAC (adresse et instruction d'implantation) dans la ligne T au cours d'une sé15 quence d'EXECUTION DES ENTREES-SORTIES afin de déterminer une entrée particulière Dans la séquence de reconnexion, l'adresse déterminée par ces connexions volantes est renvoyée au canal d'entrées-sorties par l'intermédiaire de la ligne D pendant l'état RAC (adresse-et instruction de lecture) dans la ligne T, 20 de manière à accéder à une table définissant la zone de mémoiitampon pour cet appareil. I 1 faut également déterminer le sens de la transmission (transmission d'entrée ou de sortie vers le module de processeur)o Pour effectuer cette détermination du sens de la trans25 mission requise et de l'adresse de l'appareil, le canal valide la fonction RAC (adresse et instruction de lecture) dans la ligne T et l'organe 41 de commande renvoie l'adresse de l'organe de commande et le sens de la transmission. Le canal utilise l'adresse de l'appareil renvoyée par l'or30 gane 41 de commande pour accéder à un élément 142 de deux mots de la table 140 de commande des entrées-sorties IOC, représentée à la figure 12, qui définit une zone de mémoire-tampon 138 dans la mémoire 107 pour cet organe particulier de commande et cet appareil. Le format d'un élément 142 de deux mots est représenté à grande échelle à la figure 12 afin de montrer les détails des zones des deux mots. Il existe un élément 142 de deux mots dans la table 140 de commande des entrées-sorties IOC pour chacun des huit appa40 reils possibles de chacun done trente-deux organes 41 de com- mande possibles connectés à une ligne 59 d'entréesvsorties associée à un module particulier 33 de processeur, et chaque module 33 de processeur possède sa proprq table de commande des entrées sorties IOC. Chaque élément de deux mots d 6 crit l'emplacement de la mémoire-tampon dans la mémoire centrale et la longueur restant à transmettre à n'importe quel moment particulier pour une transmission particulière de données à un appareil particulier Ainsi conmme l'indiquent les légendes de la figure 12, le mot supérieur 10 indique l'adresse de transmission vers laquelle ou à partir de laquelle la transmission se fera par tranche et le mot inférieur indique le compte de multiplets spécifiant la longueur restante de la zone de mémoire-tampon' et l'état de la transmission. Les zones qui représentent l' état de la transmission com15 prennent un bit P de protection et une zone d'erreur du canal CH ERR La zone d'erreur du canal comprend trois bits qui peuven être mis à "luns" pour indiquer l'une quelconque de sept erreurs numérotées e L'adresse de la transmission et le compte des multiplets 20 sont mis à jour dans la table 140 de commande des entrées-sorties 100 C, à la fin de chaque séquence (tranche de temps) de rec nnexion et de transmission des données Ladresse de la transmission est comptée et le compte des multiplets est décompté à la fin de chaque tranche de temps Le montant est le reflet du 25 nombre de multiplets transmis au cours de la tranche de temps. Le deuxième mot contient égalemenit a) une zone dans laquelle peut être enregistrée pour une analyse ultérieure toute erreur rencontrée au cours d'une tranche de temps de reconnexion et de transmission des données et b) un bit de protection afin 30 d'indiquer que la zone de mémoire-tampon dans la mémoire 107 peut être extraite de la mémoire mais non pas y être introduite. Le bit de protection sert à progéger la mémoire 107 du processeur contre une défaillance de leorgane 41 de commande. C'est-à-dire que,lorsque l'organe 41 de commande à renvoyé le 35 sens de la transmission au canal 109 pendant une fonction d'adresse et d'instruction de lecture RAC dans la ligne T une défaillance de l'organe 41 de commande pourrait amener ce dernierà indiquer de man bre erronée une transmission n entrée"o Le canal passerait alors à l'état d ENTREE et transmettrait les doi 4 qui revient à dire que l'appareil Be peut qu'indiquer une trans5 mission "en sortie". L'adresse de la transmission précise le circuit logique 139 B, représenté à la figure 12. Le canal introduit l'adresse de la transmission dans le registre 129 d'adresses de la mémoire du canal, représenté à la 10 figure 13, et il envoie le compte de multiplets dans le registre 131 de comptage des caractères représenté à la figure 13. Suivant le sens de la transmission (que le canal a extrait de l'appareil pendant l'état d'adresse et d'instruction de lecture RAC représenté à la figure 16) le canal place la ligne T 15 dans l'état d'ENTE ou dans l'état de SORTIE et il transmet les données entre l'organe 41 de commande et la mémoire 107, utilisant le registre 129 d'adresses de la mémoire du canal pour préciser le circuit logique 1390, comme le montre la figure 12 Le registre 129 d'adresses de la mémoire du canal et le re20 gistre 131 de comptage des caractères sont mis A jour avec chaque mot transmis pendantla tranche de temps de manière à refléter la nouvelle adresse dans la mémoire-tampon et le nombre de caractères restant encore à transmettre A la fin d'une tranche de temps, les contenus du registre 129 d'adresses de la mé25 moire du canal et du registre 131 de comptage des caractères sont introduits dans la table 140 de commande des entrées-sorties IOO. En fonctionnement, pour chaque mot introduit partir de l'appareil lors d'une transmission "en entrée", le canal 109 accepte le mot par l'intermédiaire du mécanisme d'établissement de liaison décrit ci-dessus, il introduit ce mot dans le registre 127 de données d'entrées-sorties, représenté à la figure 13, et il transmet ensuite ce mot dans la zone de mémoire-tampon de la mémoire définie par le circuit logique 1590 représenté à la 5 figure 12. Lors d'une transmission "en sortie", le canal 109 extrait un mot de la zone de mémoire-tampon par le circuit logique 1390 et il transmet ce mot au registre 125 de données de la mémoire du canal le canal introduit ensuite le mot dans le registre 127 de données d'entrées-sorties, représenté à la figure 13, et 9 7 2547082 il établit une liaison avecl'organe de commande qui accepte le mot dans son registre 213 de données d'interface. ia vitesse élevée du canal d'rntrées-sorties est obtenue par une liaison avec la zone o le' mot dans le registre 127 de 5 données d'entrêessorties est relié à l'appareil,tandis que le canal demande et accepte en simultanéité le mot suivant de la transmission depuis la mémoire 107 et l'introduit dans le registre 125 de données de la mémoire du canal Comme le temps d'extraction d'un mot hors de l'appareil est juste aussi long 10 que le temps d'acceptation par l'appareil d'un mot extrait de la mémoire, les deux opérations peuvent être exécutées en simul tanêité. Pendant la tranche de temps, le canal a fait régresser le registre de comptage des caractères de deux unités par mot t 15 transmis, car il y a deux multiplets dans chaque mot. Ila transmission de la tranche de temps peut seterminer de deux façgons: elle peut se terminer normalement ou se terminer avec une condition d'erreur. Dans le cas normal, il y a deux possibilités. Dans un premier état de fonctionnement, le registre 131 de comptage des caractères peut atteindre un compte d'un ou d S deux multiplets restant à transférer Danx cet état, le canal valide le signal EOT dans la ligne 165 représent 6 e à la figure 14, signifian que la fin de la transmission est atteinte Si 25 le compte atteint un, le canal valide les signaux BOT, et PAD OUT (RF It PLISSAGE DE POSITIONS INUTILIHES EN SORTIE) dans la ligne 167 de la figure 14, signifiant la fin de la transmissioi avec un multiplet impair O Si le compte de caractères atteint deux, le canal valide le signal EOT, mais le signal PAD OUT (REMPLISSAGE DE POSITION INUTILISXES ENT SORTIE) dans la ligne 167 de la figure 14 n'est pas nécessaire puisque les deux multi plets dans la ligne sont valides. Dans l'un ou l'autre eas, l'organe 41 de commande répond validant le signal d'ARRET EN ENTREE (STI) dans la ligne 159 r 35 présentée à la figure -14 et l'organe 41 de commande va'lide éga lement le signal de RPELISSAGE DE POSITIONS INUTILISEES EN ENTREE (PADI) dans la ligne 169 représentée à la figure 14 $, si le canal a validé le signal de POSITIONS INUTILISEES EN SORTIE (PADO) ' Dans le premier cas de fin normale de transmission, le can 109 met fin à la transmission dans son ensemble, et non pas uniquement à la tranche de temps. L'autre fin normale de transmission a lieu lorsque l'organe 41 de commande met fin à la tranche de temps en validant le signal d'ARRET EN ENTREE (STI) en réponse au signal d'UTILISATION EN SORTIE (SVO) du canal Ceci signifie que la mémoiretampon 189, représentée à la figure 19, a atteint un état de contrainte minimale comme l'indique le point 229 à la figure 23. Le signal d'ARRET EN ENTIEE (STI) peut se produire lors d'une transmission en sortie ou lors d'une transmission en entrée. Lors d'une transmission en entree, si l'organe 41 de commande désire mettre fin à la transmission ainsi qu'àA la tranche de temps, il peut valider un signal d'ARRET EN ENTREE (STI); et, 15 pour signifier que le dernier mot se termine par un multiplet impair, l'organe 41 de commande peut également valider un si gnal de REMPLISSAGE DE POSITIONS INUTILISEES EN ENTRFE (PADI). Comme le montre la figure 16, lorsque la transmission se termine par un état sans erreur (signal STI ou EOT) lors d'une 20 transmission en sortie ou d'une transmission en entrée, comme le montrent les mentions EN SORTIE (OUT) et EN ENTREE (IN) entourées d'un cercle à la figure 16, le canal 109 met à Jour la table de commande des entrées-sorties IOG, comme on l'a mentionné ci-dessus et il revient à l'état d'inactivité NOP) repré25 senté à la figure 16 Comme on l'a noté ci-dessus, la transmission peut également se terminer par un état d'erreur. Pendant la tranche de temps, plusieurs erreurs peuvent se produire de la façon suivante: Premièrement, l'organe 41 de commande peut demander une transmission en entrée dans une mémoire-tampon dont le bit de protection P est mis à "un" dans la table de commande des entrées-sorties I(,", comme on l'a mentionné ci-dessus. Deuxièmeme:it, l'organe 41 de commande peut ne pas renvoyer 35 un signal de REEPLISSAGE DE POSITIONS INUTILISKRS EN ENTEE (PADI) en réponre à un signal de REMPLISSAGE DE POSITIONS INUTILISEES EN "ORTIE (PADO) émanant du canal 109. Troisièmehrnt,le canal 109 peut détecter une erreur de parité dans la 1 ne D 161. Quatrième:en V, l'organe 41 de commande peut ne pas répon- -2547082 dre à un signal d'UTILISATION EN SORTIE (SVO) émanant du canal 109 dans le temps alloué comme on l'a mentionné ci-dessus dans la description des établissements de liaisons,. Cinquièmement, la zone de la mémoire-tampon indiquée par les élément S de la table de commande des entrées-sorties IOC peut pénétrer dans une page dont le topogramme la marque absente (voir la description du plan de relevé dans le système de mémoire). Sixièmement, une erreur de parité peut être détectée dans 10 l'accès au topogramme au moment de l'accès à la mémoire pendant la séquence de 'reconnexion en entrée et de transmission des donnéeso Voir la description dans le système de mémoire concernant le contrôle de l'erreur de paritéo Septièmement, le système de mémoire peut détecter une er15 -reur de parité incorrigible lorsque le canal 109 accède à la mémoire Voir la description du système de mémoire pour ce contrôle d'erreur de parité* Si l'un quelconque de ces états d'erreurs se produit, le canal 109 passe à l'état de transmission des données de suspen20 Sion d'exécution (ABTD) représenté à la figure 16 Cet état informe l'organe 41 de commande qu'une erreur s'est produite et qu la transmission des données doit être suspendue Le canal 109 revient alors à l'état d'inactivité NOP comme le montre la fi-. gure 16. Lorsqu'une erreur de produit 9 le canal 109 met à jour les éléments de la table de commande des entrées-sorties IOC et il introduit un numéro d'erreur, indiquant lune des 'sept erreurs mentionnées ci-dessus, dans la zone d'erreur du deuxième mot de l'élément de la table de commande des entré es-sorties IOC, 50 comme on l'a mentionné ci-dessus. Ainsi, si une seule erreur se produit, le numéro de cette erreur est introduit dans la zone d'erreur de l'élément de la table de commande des entrées-sorties IO Co S'il se produit plus d'une erreur, le canal 109 sélection35 ne l'erreur dont'la réparation est la moins susceptible de se produire et il introduit le numéro de cette erreur dans la zone d'erreur de l'élément de la table de commaande des entréessorties IOC. Il y a un aut:e type d'erreur qui peut survenir l'organe 40 41 de commande peul; essayer de se reconnecter au canal lorsque * 10 2547082 le mot de comptage dans la table de commande des entréessorties IOC est zéro Dans ce c-as, le canal ne permettra pas à l'organe de commande de se reconnecter et le canal passera par ume séquence teile qu'on la idédrite ci-dessus avec réf é5 rence à la figure 16, mais lorsque le canal détermine que le mot de comptage dans la table de commande des entréessorties IO 0-est zéro, le canal 109 passe directement à l'état de transmission de données de suspension d'exécution ABTD Ceci représente une importante caractéristique de la présente invention 10 car elle empêche la mémoire-du processeur d' être recouverte par un appareil défaillant Si le compte est de zéro dans le comptage de multiplets du deuxième mot de l'élément 142 de la table de commande des entrées-sorties IOC pour un appareil particulier et si l'or15 gane 41 de commande essaie de se reconnecter au canal 109, d ce dernier envoie des données de suspension d'exécution ABTD à l'organe 41 de commande, comme on l'a noté ci-dessus, et il laisse à zéro la zone d'erreur de canal de l'élément 142 de deux mots. En réponse à la fonction de données d'interruption d'exécution ABTD, dans la ligne T, l'organe 41 de commande adresse au canal 109 une -demande d'interruption dans la ligne de DEMANDE D'INTERRUPTION FORTEMENT PRIORITAIRE HIRQ ou dans la ligne de DEMANDE D'INTERRUPTION FAIBIEENT PRIORITAIRE IIRQ, c'est-à-dire les lignes 149 ou 147 représentées -à la figure 14. Les organes 41 de commande peuvent 9 à n'importe quel moment, demander une interruption dans ces deux lignes. Une interruption indique d'une manière générale qu'une transmission de données a été achevée ou terminée par des don30 nées de suspension d'exécution ABTD envoyée par le canal ou par un état d'erreur au sein de l'organe 41 de commande ou d'un appareil connecté, ou par le fait qu'un état spécial sbst produit dans l'organe 41 de commande ou dans un appareil connecté Lorsque par exemple, la tension est appliquée et que le 35 circuit de mise sous tension indique que la tension est à un niveau acceptable, l'organe de commande interrompt le module de processeur pour indiquer que son état interne est mis à ziro parce que l'alimentation était coupée ou avait baissé et * qu'elle a été rem Lse à l'état initial par le circuit de mise 40 sous tension. En réponse à une interruption, le programme en cours d'exécution dans le module 33 de processeur envoie dans la ligne 39 d'entrées-sorties une instruction d'interrogation des entréessorties 110 ou une instruction dl interrogation hautement prio5 ritaire des entrées-sorties HII 0. L'instruction d'interrogation des entrêes-sorties 110 est envoyée en réponse A une interruption faiblement prioritaire dei entrées-sorties, c'est-à-dire une instruction envoyée dans la ligne 147 de demande d'interruption faiblement prioritaire LIRQ 10 eprésentée à la figure 14. L 'instruction d'interrogation hautement prioritaire des entrées-sorties RIIO est envoyée en réponse à une interruption hautement prioritaire des entrées-sorties, c'est-à-dire une instruction demandée dans une ligne 149 de demande d'interrup15 tion hautement prioritaire HIRQ, représentée à la figure 14. Le microprocesseur 113, représenté à la figure 12 exécute les instructions d'execution des entrées-sorties E 10, d'interrogation des entrées-sorties 110 ou d'interrogation hautement prioritaire des entrées- sorties HI-IO O en commandant la logique 20 141 de commande du canal et la logique 125 du circuit de données La séquence d'exécution de ces instructions est illustrée à la figure 17; et, comme on l'a noté ci- dessus, la séquence commence par une séquence de balayage. L'instruction d'interrogationcdes entrées-sorties HO intel roge une séquence à l'aide du balayage d'interruption faiblement prioritaire IPOL de la fonction dans la ligne T, tandis que l'instruction d'interrogation hautement prioritaire des entrées-sorties HIIO O interroge une séquence à l'aide du balaya 30 ge d'interruption hautement prioritaire EP O L de la fonction dans la ligne TX La séquence de balayage qui est également décrite ci-dess se termine par la sélection de l'organe approprié 41 de comman à l'aide de la fonction de sélection SEL dans la ligne T, comn 35 le montre la fitre 17. L'organe ap?roprié 41 de commande sélectionné est l'orgar de commande qui st le plus fortement prioritaire et qui fait une demande d' in-erruption. La séquence continue par une fonction RIC dans la ligne provoquant l'interruption de lecture, comme le montre la figxu 102 2547082 17 L'organe 41 de commande répond en renvoyant l'état dépendant de l'appareil dans la ligne D 161, comme le montre la figure 14. Le microprocesseur '113, représenté à la figure 12, extrait l'état de la ligne D 161 et il place cet état en haut de la pile 112 du registre représenté à la figure 12. La séquence continue ensuite par une fonction de l'état d'interruption de lecture RIST dans la ligne T comme le montre la figure 17 L'organe 41 de commande répond à cette fonction 10 de l'état d'interruption de lecture RIST dans la ligne T en renvoyant dans la ligne D le numéro de l'organe de commande, le numéro de l'appareil et quatre bits d'états spécialisés. De la zone d'état des quatre bits, deux des bits indiquent respectivement les données de suspension d'exécution ABTD et l'erreur de parité, cetteerreur de parité ayant pu se produire pendant une séquence de reconnexion et de transmission des données. Le microprocesseur 115 reproduit le contenu de la ligne D, c'est-à-dire le numéro de l'organe de commande, le numéro de l'appareil et l'état d'interruption, et il place ce contenu en haut de la pile 112 du registre. Si aucune erreur ne s'est produite au cours de la séquence, cette dernière se poursuit alors par l'état de désélection DSEL qui désélecte l'organe 41 de commande; ensuite, la séquence 25 passe à l'état d'inactivité NOP comme l'indique la ligne en haut de la figure 17. Si une erreur s'est produite (et il peut s'agir d'une erreur de parité détectée par le canal ou un dépassement du temps imparti à l'établissement d'une liaison), le canal passe 30 de l'état d'interruption de lecture RIST à l'état d'instruction du suspension d'exécution ABTI, comme le montre la figure 17. Cette action désélecte l'organe 41 de commande et le canal revient ensuite à l'état d'inactivité NOP, comme l'indique la ligne en bas de la figure 17. Comme on l'a noté ci-dessus, une opération d'entrées-sorties entre un module de processeur et un appareil d'entréessorties se compose d'une manière caractéristique d'un groupe de séquences, par exemple une séquence d'exécution des entréessorties EIO suivie d'un certain nombre de séquences de recon40 nexion et de t'ansmission des données, en terminant par une s- quence d'interrogation des entrées-sorties 110 Des séquences de pousieurs opérations différentes d'entrées-sorties peuvent être imbriquées, ce qui a pour résultat une opération d'entréessorties apparemment simultanée eflectuée par plusieurs appareil E Ainsi, l'accès à un grand nombre d'appareils peut se faire simultanément; le nombre exact de ces appareils dépend de la largeur de bande du canal et de la largeur de bande effective utilisée par chaque appareil. Le système d'entrées-sorties et l'architecture et le fonc10 tionenment de l'organe de commande à double entrée décrits cidessus fournissent plusieurs avantages importants. Ces avantages sont les suivants: a) souplesse de connexion d'une grande variété d'appareils; b) utilisation maximale des ressources; c) cadre d'utilisation en mode "dég rae ds on e mod "dgrd dans lequel l'accès se fait à des appareils périphériques dans un système de traitement par multiprocesseurs; d) entretien en direct et possibilité d'extension de la capacité du système de traitement par multiprocesseurs; et e) débit maximum de traitement du système (par opposition au débit du processeur ou au débit d'entrées-sorties exclusivement) dans un système de données de mouvements en liaison directe avec l'ordinateur et dans lequel un grand nombre de données de mouvement simultanés doivent être traités par le système d'entrées-sorties et par l'unité centrale. La souplesse de connexion d'une grande variété d'appareils est réalisée du fait que le système qui fait l'objet de la présente invention ne présuppose aucune caractéristique inhérente d'un type d'appareil O Par contre, la présente invention fournit une structure et une exploitation qui peuvent s'adapter à 30 une grande variété de fonctionnement des appareils. La présente invention prévoit une utilisation maximale des ressources, tout d'abord en utilisant au maximum la largeur de bande de la mémoire Chaque appareil utilise un minimum de la largeur de bande de la mémoireo Cette caractéristique permet 35 d'associer un nombre relativement élevé d'appareils avec la ligne particulière d'entrées-sortieso Dlu -fait de la vitesse inhérente de la ligne d'entrees-sorties et ae la technique de mise en mémoire-tampon propre -à la présente invention, chaque transmission particulière s'effect 4 e à une vitesse relativement élevée qui n'est limitée que par la vitesse de la mémoire. Parce que les transmissions se font en mode continu, la servitude associée avec chaque transmission est réduite au minimum. Cette caractéristique permet d'utiliser au maximum la largeur de bande du canal et elle permet galement l'utilisation d'ap5 pareils à vitesses élevées. La présente invention prévoit un accès en mode "d 6 gradé" aux appareils Il existe des circuits redondants vers chaque appareil périphérique et une limitation des défaillances à chaque circuit particulier Une défaillance d'un module particulier 10 dans un circuit n'affecte pas le fonctionnement d'un module dans un autre circuit en liaison avec cet appareil. Il y a des contrôles approfondis d'erreurs afin de contrôler l'intégrité des données dans un circuit, les incidents de séquence et les circuits de synchronisation Les caractéristiques de protection empêchent un appareil périphérique d'affecter sa propre mémoire-tampon ou la mémoire du système Ces caractéristiques de protection comprennent un mot séparé de comptage dans chaque table de commande des entréessorties IOC et un bit de protection dans la table de commande des entrées-sorties IOC Cette dernière table IOC est accessiblepar le canal mais non par l'appareil O Il s'agit là d'un deuxième niveau de protection qui empêche l'appareil d'accéder à une mémoire qui n'est pas affectée à cet appareil. La présente invention ne requiert qu'un petit nombre de li25 gnes dans la ligne d'entrées-sorties pour fournir un système souple et puissant d'entrées-sorties. Le fonctionnement de l'organe de commande est bien défini lors de la mise sous tension ou hors tension afin de protéger la ligne d'entrées-sorties contre des signaux erronés pendant 3 ce temps et également pour permettre un entretien direct et une extension directe du système. La présente invention utilise la contrainte pour permettre aux mémoirestampons de coopérer sans comnuniquer l'une avec l'autre. Un système de données de mouvements en liaison directe avec.35 l'ordinateur est obtenu par l'intermediaire de transmissions et de traitement exécuté en simultanéité. L'accès multicanal direct à la mémoire fournit des tranches de temps imbriquées afin de donner des transmissions effectuées 40 en simultanéité et des attentes minimales avant d'accéder à un appareil Chaque tranche de temps exige un minimum de servitude de la mémoire et permet au processeur d'utiliser la mémoire au maximum Cette combinaison permet une utilisation maximale de la largeur de bande des entrées-sorties et une immobilisation mini5 male des ressources du processeur. le système de traitement par multiprocesseurs qui fait l'objet de la présente invention comprend un réseau de distribution électrique qui permet de résoudre plusieurs problèmes rencontrés dans les réseaux suivant l'art antérieur O Dans de nombreux réseaux suivant l'art antérieur, il fallait arrêter le système de traitement par multiprocesseurs pour effectuer l'entretien nécessaire dun élément du système De même, dans de nombreux réseaux suivant l'art antérieur, une défaillance de l'alimentation électrique pouvait paralyser l'ensemble 15 du syème de traitement par multiprocesseurs Le réseau de distribution électrique suivant la présente invention comprend plusieurs alimentations séparées et indépen'dantes; il distribue l' énergie électrique venant des sources d'alimentation aux modules de processeurs et aux organes de com20 mande de manière à permettre l' entretien en direct, et il fournit une redondance d'énergie électrique à chaque organe de commande. A ce sujet, le terne "en direct" est utilisé dans un sens tel que lorsqu'une partie du réseau est "en direct", cette par25 tie du réseau non seulement est alimentée mais également fonctionne avec le système afin d'accomplir un travail utile. Le terme "entretien en direct" signifie dont l'entretien d'une partie du réseau (y compris l'entretien périodique préventif ou les travaux de réparation) tandis que le reste du réseau 30 reste "en direct" comme on l'a défini ci-dessus. Dans la présente invention, l'alimentation de tout module de processeur ou de tout organe de commande peut être coupée de telle sorte que l'entretien en direct peut s'effectuer à l'état hors tension de ce module de processeur ou organe de corn mande, tandis que le reste du système de traitement par multi35 mneetpr 1 processeurs reste en direct et opérationnel On peut effectuer l'entretien "en direct" tout en respectant pleinement les règle de sécurité imposées par le laboratoire des Assureurso De même, 'dans le réseau de distribution électrique qui fai partie de la présente invention, chaque organe de commande 1 * 0, 2547082 est connecté afin d'être alimenté par deux sources séparées d'énergie et par un montage de commutation à diodes qui permet d'alimenter l'organe de commande à partir des deux sources d'alimentation, lorsque ces deux dernières sont en fonctionne5 ment, et d'alimenter cet organe de commande à partir de l'une de ces sources d'alimentation, lorsque l'autre est en panne; en cas de panne de l'une des sources d'alimentation, la commutation s'effectue régulièrement et sans interruption ni pulsation de l'alimentation, de telle sorte qu'un arrêt de l'organe de oommande n'est jamais nécessaire en cas de défaillance de l'une de ses alimentations associées. la figure 30 représente un réseau de distribution électrique assurant à la fois une source principale d'alimentation et une source d'alimentation de remplacement pour chaque organe -15 individuel 41 de commande à double entrée Le réseau de distribution électrique est repéré par la référence générale 301 à la figure 50. Le réseuu 301 de distribution électrique assure à chaque organe 41 de commande à double entrée une source d'alimenta20 tion principale et une source d'alimentation de remplacement. Du fait que chaque organe de commande dispose de deux sources séparées et indépendantes d'alimentation électrique, une panne de la source d'alimentation principale d'un organe particulier de commande n'affecte pas le fonctionnement de cet organe de commande (ni d'aucun des appareils qui lui sont associés) Bien au contraire, suivant la présente invention, un montage de commutation fournit un branchement automatique sur la source d'alimentation de remplacement, de sorte que l'organe de commande peut continuer à fonctionner Le réseau de distribution électrique agit ainsi en liaison avec le système à double entrée de l'orifice de commande, afin de fournir un fonctionnement et un accès ininterrompus aux appareils en cas de défaillance d'une entrée individuelle ou d'une source d'alimentation individuelle. Le réseau 01 de distribution électrique, représenté à la figure 30, fc'rnit un avantage supplémentaire qui réside dans dans le fait qu E chaque module 33 de processeur, ainsi que l'unité centrale 1 C 5 et la mémoire 107 qui lui sont associés possède une sour( d'alimentation S 6 parée et indépendante qui 40 est affectée à ce module de processeur Grâce à cette disposi- tion, une panne ou une déconnexion manuelle de l'une quelconque des sources d'alimentation en vue de la réparation ou de l'entretien et du dépannage de cette source d'alimentation ou du module de processeur associé, se iimitera donc en fait à un seul module particulier de processeur et ne pourra affecter le fonctionnement d'aucun antre module de processeur du système de traitement par multiprocesseurs. Le réseau 301 de distribution électrique, représenté à la figure 30, fonctionne ainsi en association avec les modules in1 È dividuels de processeurs et les organes de commande à double entrée, afin d'assurer qu'une défaillance ou une déconnexion de l'une quelconque des sources d'alimentation n'immobilisera pas l'ensemble du système et ne rendra inopérant aucun des appareils. Le réseau 301 de distribution electrique comprend plusieurs sources d'alimentation séparées et indépendantes 503 et chacune de ces sources d'alimentation 3503 comporte une ligne 305, en fait une ligne 305 à multiconducteurs représentés à la figure 33, qui est affectée à l'alimentation électrique de l'unité centrale et de la mémoire d'un module particulier de processeur connecté Chaque organe 41 de commande est associé avec deux des sources 305 d'alimentation par l'intermédiaire d'une ligne principale 507, d'une ligne de remplacement 509 et d'un commuta25 teur automatique 511. Un commutateur 513 à manoeuvre manuelle est également associé avec chaque organe 41 de commande entre oe dernier, la ligne principale 307 et la ligne de remplacement 509. Les commutateurs 311 et 513 sont représentés plus en dé30 tail à la figure 51 la figure 52 représente des détails de construction d' éléments d'une source d'alimentation 503. Comme le montre la figure 32, chaque source 505 d'alimentation comporte un conneceeur 315 d'entrée pour le branchement 35 sur le secteur,le connecteur d'entrée 315 est connecté à un redresseur 317 de courant alternatif en courant continu dont la sortie fournit, dans une ligne 319, une source d'alimentation interruptible IPS de cinq\ults, Cette source de courant interruptible de cinq volts alimente l'unité centrale 105, la mnmoire 107 et l'organe 41 dl commandeo On se reportera égale- 2547 082 ment à la figure 53. Le redresseur 317 de courant alternatif en courant continu fournit également, dans une deuxième ligne de sortie 321, une sortie en courant continu de lsoixante volts qui est fournie i un convertisseur continucontinu 32, représenté à la figure 32. Le convertisseur continu-continu fournit à son tour une tension de sortie de cinq volts dans une ligne 325 et une tension de sortie de douze volts dans une ligne 327. Les sorties des lignes 325 et 327 sont, dans le réseau qui fait partie de la présente invention, des sorties d'alimentation électrique non interruptible UPS, du fait que ces sorties d'alimentation électrique sont connectées à l'unité centrale et à la mémoire quand la mémoire à semiconducteurs est 15 utilisée L'alimentation électrique d'une mémoire à semiconducteurs ne doit pas être interrompue car une interruptiond'alimentation d'une mémoire à semiconducteurs provoquera la perte de toutes les données stockées dans la mémoire. I La source d'alimentation électrique interruptible de cinq 20 volts dans la ligne 319 est considérée comme étant une source d'alimentation interruptible car cette alimentation est fournie aux parties du système de traitement par multiprocesseurs dans lesquelles une interruption d'alimentation peut être acceptée. Ainsi, l'alimentation interruptible en cinq volts est fournie 25 aux parties de l'unité centrale autres que la mémoire à semiconducteurs et aux seules parties de la mémoire qui sont-à tores (et pour lesquelles une interruption d'alimentation ne provoque pas de perte de données stockées dans la mémoire), et à l'organe de commande qui, ainsi qu'on le décrira plus en dé30 tail ci-dessous, est alimenté par une source d'alimentation de remplacement en cas de défaillance de la source d'alimentation principale, Puisque l'alimentation électrique des lignes 325 et 327 doit être une alimentation non interruptible, la présente invention fournit une batterie de secours pour l'entrée du convertisseur continu-continu 323 Cette batterie de secours se compose d'un module 329 de batterie et chargeur Le module 329 est connecté au convertisseur continu-continu 323 par une ligne 331 et une diode 333. Dans un exemple particulier te réalisation de la présente o 109 invention, la batterie 323 fournit au convertisseur 323 une tension de 48 V qui est à l'intérieur de la gamme des tensions d'ei trée du convertisseur 323. La diode 333 assure l'alimentation du convertisseur 323 par la batterie si la tension dans la ligne 321 chute en dessous de 48 V La diode 333 arrête également le courant venant de la batterie et de la ligne 333 lorsque la sortie du redresseur de I courant alternatif en courant continu dans la ligne 321 dépasse 48 V. Chaque source d'alimentation 303 comprend également un cir cuit d'alarme 335 prévu pour détecter un état de l'entrée d'ali mentation en cu rant alternatif dans la ligne 315 qui aurait eu pour résultat une tension insuffisante dans les lignes de sortie 319, 325 et 527 Le circuit d'alarme 335 transmet à l'u15 nité centrale 105, par uneligne 337, un signal d'alarme de panne d'alimentation. Du fait de la capacité accumulée dans la source d'alimentation 303, il y a suffisamment de temps entre le signal d'alar me de tension et la perte de tension interruptible de 5 Vdans 20 la ligne 319 pour que l'unité centrale conserve son état avant la perte de tension. Cependant, l'alimentation non interruptible dans les ligne 325 et 327 ne doit pas être interrompue, même pendant un instant, et la batterie de secours prévue par le montage représent 25 à la figure 32 assure qu'il n'y aura pas d'interruption de l'alimentation dans les lignes 325 et 327 en cas de panne d'alimer tation dans la ligne d'entrée 315. Une source particulière 305 d'alimentation peut elle-même être en panne pour une raison quelconque, les autres sources 30 303 d'alimentation continuant à fonctionner Dans ce cas-là, le réseau 301 de distribution électrique qui fait partie de la présente invention limite l'effet de la panne de la source d'a limentation 503 à la perte d'une unité centrale particulière associée et d'une mémoire Le commutateur automatique 311 pré35 voit une commutation automatique de la source d'alimentation défaillante à la source d'alimentation de remplacement de manière à maintenir en fonctionnement l'organe 41 de commande associé Ce dernier qui a été connecte à la source d'alimentation défaillante continue donc à fonctionner en liaison opéra40 tionielle avec les autres modules de prooeaseurs et éléments d système de traitement par multiprocesseurs car la tension requise est automatiquement commutée depuis la source d'talimentation de remplacement Comme le montre le mieux la figure 31, chaque commutateur automatique 311 comprend deux diodes, c'est-à-dire une diode 341 associée avec la ligne 307 d'alimentation principale et une diode 343 associée avec la ligne 309 d'alimentation de remplacement. Les diodes 341 et 343 ont pour fonction de permettre l'alimen tation d'un organe 41 de commande à partir soit de la ligne 307 d'alimentation principale et d'une source d'alimentation 303 correspondante, soit de la ligne d'alimentation de remplacement et de sa source d'alimentation correspondante 303, tout en maintenant les alimentations isolées Cette disposition empêche qu'une source d'alimentation défaillante ne provoque une panne dans la ligne d'alimentation de remplacement ou dans la ligne d'alimentation principale qui lui sont associées. En fonctionnement normal, chaque diode laisse passer une certaine quantité de courant, de sorte que chaque organe 41 de commande est en fait alimenté à la fois par l'alimentation principa20 le et par l'alimentation de remplacement. Au cas o l'une de ces alimentations subit une défaillance, le courant total est fourni par l'autre source d'alimentation et ce transfert s'opère sans aucune perte de courant. Du fait qu'il se produit une faible chute de tension dans 25 les diodes 341 et 343, la tension dans les lignes 307 et 309 doit être supérieure à cinq volts suffisamment pour que, après la chute de tension dans les diodes 341 et 343, la tension d'alimentation de l'organe 41 de commande soit exactement de cinq volts Les lignes 305 sont en parallèle avec les lignes 307 et' 309 et la tension effectivement reçue par l'unité centrale de la mémoire doit être également de cinq volts; c'est pourquoi des diodes 339 d'équilibrage sont montées dans les lignes 305, afin d'assurer que la tension appliquée à chaque unité centrale, en aval des diodes, est exactement de cinq volts. Le commutateur manuel 331 p Brmet de déconnecter un organe 41 de commande aussi bien de la source d'alimentation principale que de la source d'alimentation de remplacement lorsque cet organe de commande doit être déconnecté pour être retiré afin d'être entretenu et dépann, 'q, Les détail; de fabrica&ion du commutateur 315 B Ont repr I- sentés à la figure 31 Commne le montre cette figure, le commutateur 315 comprend un interrupteur manuel 345, un transistor 347, une capacité 348, une r 6 sista$ce 350 et une résistance 352. L'interrupteur manuel 345 est'fermé pour mettre en circuit le transistor 547 qui alimente ensuite l'organe 41 de commande. Il est important que, aussi bien la mise sous tension que la mise hors tension de l'organe 41 de commande s'opèrent de manière régulière et sans fluctuations qui pourraient déclencher plus d'une fois le circuit 182 de mise sous tension La capacité 10 à réaction 348 agit en liaison avec la résistance 352 pour provoquer la montée en tension régulière requise lorsque l'interrupteur 345 est fermé pour mettre en circuit le transistor 547. Lorsque le transistor 347 est mis hors circuit par l' ouverture de l'interrupteur 345, la capacité à réaction 348 agit en liaison avec la résistance 350 pour provoquer une chute régulière de tension. Dans un exemple préféré de réalisation de la présente inven tion, toutes les diodes 341, 543 et 339 sont des diodes Schottky oui produisent une chute de tension dir&cte très faible et ceci 20 réduit la puissance dissipée. Conmme onll'a noté ci-dessus, dans la description du système d'entrées-sortiesnet de l ' organe 41 de commande à double entrée, chaque organe 41 de commande comporte un circuit 182 de maise sous tension PON, afin de détecter le moment o la tension de 25 cinq volts se troure inférieure aux specifications Le circuit 182 de mise sous tension PON est représenté plus en détail à la figure 25; il remet à zéro l'organe 41 de commande de manière à l'isoler de tout le reste et il maintient l'organe de commande lui-même dans un état qui est connu lorsque la ten30 sion est coupée par le commutateur 313 Le circuit 182 de mise sous tension PON débloque également l'organe de commande et le remet en fonctionnement après que la tension a été rétablie par le commutateur 513 et que la tension de cinq volts de caractéri tique correcte a été appliquée à l'organe 41 de commande. )D'autres détails du circuit 182 de mise sous tension représenté à la figure 25 spnt décrits ci-dessus en rapport avec le système d'entréessorties et d'organe de commande à double entrée. On se reportera maintenant à la figure 33 La tension foui n O ie par chaque source d'alimentation 303 est transmise ê une 254708 2 unité centrale associée, par la ligne verticale 305; chaque ligne verticale 305 est une barre omnibus laminée qui comporte cinq couches de conducteurs électriques Comme l'indiquent les légenàes de la figure 33, chaque barre omnibus verticale 305 comporte deux conducteurs diff 6rents mis A la terre. Un conducteur fournit la mise à la terre à la fois à l'alimentation interruptihi en cinq volts IPS et A l'alimentation non interruptible en cinq volts l UPS. Un conducteur séparé fournit une mise à la terre pour la tension de la mémoire Cette mise à la terre séparée pour la tension de la mémoire assure que les fluctuations relativement importantes de courant vers la mémoire n'auront aucun effet sur l'alimentation interruptible en cinq volts IPS ni sur l'alimentation non interruptible en cinq volts UPS fournies à l'unité centrale. La barre omnibus horizontale 305, 307 comprend les lignes d'alimentation principale et d'alimentation de remplacement 307 et 309, comme l'indiquent les références de la figu20 re 30 Dans un exemple particulier de réalisation de la présente invention, la barre omnibus 305, 307 est en fait une barre laminée comportant neuf couches qui se composent d'une seule mise à la terre et de huit couches de tension, indiquées par les légendes et notations Vl à V 8 à la figure 33. Chaque couche de tension est connectée à la sortie interruptible en cinq volts d'une source différente de tension 303 Ainsi, la couche Vl est connectée en 351 à l'alimentation interruptible en cinq volts IPS dans le cas de la source d'alimentation 303 et du module de processeur située à l'ex30 treme gauche de la figure 339 et la couche V 2 est connectée en 353 à la source de tension 303 interruptible en cinq volts IPS dans le cas du module de processeur situé au centre de la figure 33, etc. Puisqu'il y a huit couches, Vl à V 8, et une terre commune 35 disponibles pour chaque organe de commande dans la barre omnibus horizontale, des'prises verticales 355 connectées à ces huit couches à intervalles réguliers le long de la barre omnibus horizontale, permettent d'associer chaque organe 41 de commande & deux quelconques des sources d'alimentation 303 en 40 connectant simplement la ligne principale 307 et la ligne de remplacement 309 à un groupe particulier de prises A titre d'exemple, l'organe 41 de commande situé du côté gauche de la figure 33 est représenté comme étant connecté aux prises Vl et V 2 et l'organe 41 de commande de c O té droit de ia figure 33 est représenté commoe étant connecté aux prises V 2 et V 3. Ainsi, n'importe quel organe 41 de commande peut être conne té à deux quelconques des sources 303 d'alimentation, l'une quel conque servant de source d'alimentation principale et l'autre servant de source d'alimentation de remplacement. Le réseau de distribution électrique de la présente invention founit ainsi plusieurs avantages importants. Ce réseau de distribution électrique permet d'effectuer l'entretien en direct car un module de processeur ou un organe de commande peuvent être mis hors circuit tandis que le reste du système de traitement par multiprocesseurs reste en ligne et en fonctionnement Le réseau de distribution électrique satisfait pleinement les exigences de sécurité imposées par le laboratoire des Assureurs pour l'entretien en direct d'un élément mis hors circuit, 20 tandis que le reste 'du système de traitement par multiprocessew reste en ligne et en fonctionnement. Chaque organe de commande est associé à deux alimentations séparées, de sorte qu'une défaillance de l'une de ces alimentations ne provoque pas l'arret de fonctionnement de l'organe de 25 commande Au contraire, le montage de commutation -lectronique propre a la présente inzventios fournit un passage tellement régulier de l'alimentation à partir des deux sources d'alimentation à l'alimentation à partir de l'une seulement des sources d'alimentation que l'organe de commande est maintenu en fonctio: 30 nement continu sans interruption. Chaque module 33 de processeur, représenté A la figure 1, du système 31 de traitement par multiprocesseurs comprend une mnmoire. Cette mémoire: est repérée par la référence générale 107 à 35 la figure et elle est représentée plus en détail à la figure 34 la mémoire 10 ' de chaque module 33 de processeur est associée à la fois -l unité centrale 105 et au canal 109 d'entrées sorties de ce modclze Il existe un accès à double entrée dans la mémoireî par 13 imité centrale et par le canal Ce qui re40 vient à dire que I mnité centrale 105, représentée aux figures * 11 2547082 et 34, peut accéder à la mémoire pour des références de programme ou de données, tandis que le canal 109 d'entrées-sorties peut également accéder directement à la mémoire (sans devoir traverser l'unité centrale) pour des trgusmissions de données vers et à partir d'un organe 41 de commande Ge double accès à la m 6moire est illustré à la figure 34 et il sera décrit plus en d 6tail ci-dessous dans la description de la structure et du fonctionnement de la mémoire de la figure 34. Un avantage de ce double accès à la mémoire réside dans le fait que les accès de l'unité centrale et du canal à la mémoire peuvent être imbriqués dans le temps Il n'est nullement nécessaire que l'unité centrale ou le canal attendent pour accéder à la mémoire, excepté dans le cas o à la fois l'unité centrale et le canal essaient d'accéder à la mémoire exactement au 15 même moment En conséquence, aussi bien l'unité centrale que le canal peuvent remplir leurs fonctions séparées en simultanéité, sous réserve d'une attente occasionnelle de la part de l'unité centrale ou du canal si l'une de ces unités accède à la mémoire au moment exact o l'autre unité a besoin d'accéder & la mémoi20 re. L'accès à double entrée permet également une exploitation prioritaire des entrées-sorties L'unité centrale 105 a besoin d'être impliquée avec le canal 109 uniquement au déclenchement et à la fin des transmissions de données d'entrées-sorties. 25 L'unité centrale peut exécuter d'autres fonctions pendant la transmission effective elle-même des données d'entrées-sorties. Ia mémoire 107 représentée à la figure 34 comprend une mémoire physique qui se compose de 262 144 mots de seize bits d' information chacun. Outre les seize bits d'information, chaque mot de la mémoire comporte un bit supplémentaire de parité si la mémoire est une mémoire à tores, ou six bits supplémentaires de correction d'erreur si la mémoire est une mémoire à semiconducteurs. Le bit de parité permet de détecter les erreurs simples de bits uniques * Les six bits de correction d'erreur permettent de détecter dt de corriger les erreurs de bits uniques et ils permettent également de détecter toutes les erreurs de bits doubles. La mémoire physique est conçue comme étant subdivisée en 40 blocs contigus de 1 024 mots chacun (qui sont appelés des pa- ges) Les pages de la mémoire physique sont numérotées cons 6cutivement depuis la page zéro, en partant de l'emplacement physique zéro Dans un exemple paticulier de réalisation de la présente invention, la gamme d'adresses de la mémoire phy5 Bsique qui s'é 6 tend de zéro à 262 143, exige dix-huit bits d'information d'adresses physiqueso qui L'architecture de base du système de mémoire/fait l'ob Jet de la présente invention est cependant constituée pour recevoir et utiliser vingt bits d'information d'adresses physiques, com10 me le fera mieux apparaître la description suivante. Dans un exemple particulier de réalisati on de la présente invention, la mémoire physique est physiquement divisée en modules physiques de 32 768 motso insi, huit de ces modules fournissentles 262 143 mots mentionnés ci-dessusz Tous les accès à la mémoire se font à l'une des quatre zones d'adresses logiques, c'està-dire les zones de données de l'utilisateur de données du système, de code de l'utilisateur-et de code du système Toutes les instructions de l'unité centrale traitent exclusivement ces adresses logiques, distinc20 tes des adresses physiques Ainsi, un programnmeur n'a pas besoin de s'occuper d'une adresse physique réelle mais, par contre, il peut rédiger un programme basé entièrement sur des adresses logiques qui sont traduites en adresses physiques par la partie topogramme du système de mémoire. Ia gamme d'adressage dans une zone donnée d'adresses logiques est celle d'une adresse logique de seize bits, c'est-àdire de zéro à 65 535 Ainsi, chaque zone d'adresses logiques comprend soixante'quatre pages logiques de 1 024 mots chacune. Dans le système de mémoire qui fait l'objet de la présen30 te invention, aucune correspondance n'est requise entre une page logique et une page physique Par contre, les diverses pages logiques composant un programme de système en fonctionnement ou un programme d'utilisateur n'ont pas besoin de se trouver dans des pages physiques contiguës En outre, alors qu'il est nécessaire que les pages logiques soient dans la mémoire physique centrale, elles peuvent être dans la mémoire auxiliaire o Ceci permet de mettre en application une disposition de m 4 nmoire virtuelle, e O O Une mémoire virtuelle ofúoe deux avantages. Tout d'abord, une mémoire virtuelle permet d'utiliser un espace en mémoire centrale physique qui est inférieur à celui qu'exigeraient; T eil zones d'adre;e:;, i ogiques, cav la méemoire physique peut être complétée par ne mémoire physique auxiliaire. Ensuite, une mémoire virtuelle permet à des espaces d'adresses de plusieurs utilisateurs (multiprogrammation) d'utiliser en commun la mémoire physique et chaque utilisateur n'a pas à s'occuper de l'affectation de la mémoire physique entre 10 le système d'exploitation, lui-même ou d'autres utilisateurs. lie système de mémoire qui fait partie de la présente invention fournit une protection entre les usagers dans le cadre d'une exploitation en multiprogrammation en garantissant qu'un programme d'utilisateur ne peut extraire des données de ni introduire des données dans l'espace en mémoire du programme d'un autre utilisateur Ceci est effectué par le système d'organisationen pages et de relevé Lorsqu'un programme d'utilisateur est en cours d'exécution, le relevé pour ce programme d'utilisateur ne signale que les pages de la mémoire (soixante20 quatre pages de code et soixante-quatre pages de données) pour ce programme particulier d'utilisateur Ce programme particulier d'utilisateur ne peut adresser en dehors de son propre espace d'adresse logique et, par conséquent, il ne peut introduire des données dans ni extraire des données de l'espace en 25 mémoire du programme d'un autre utilisateur. Le fait que les pages de code ne soient pas modifiables empêche également l'autodestruction dl un programme d'utilisateur. Ainsi, il existe deux niveaux de protection des program30 mes d'utilisateurs fonctionnant dans le cadre d'une exploitation en multiprogrammation, à savoir le fait que chaque relevé d'utilisateur ne signale que ses propres pages en mémoire et le fait que les pages de code ne sont pas modifiables En outre, dans la présente invention, cette protection est réalisée sans 35 registres à limites de protection ou par des clés de garde souvent utilisées dans l'art antérieur. la traduction requise d'une adresse logique de seize bits en une adresse physique de dix-huit bits est effectuée par un plan de relevé Pormant une partie de ce plan de relev 6, un nombre de pages physique est obtenu par une opération de ob- sultation à l'intérieur d'un relevé Ce nombre de pages physiques est ensuite combiné A 1 'adresse à l'intérieur d'une page afin de former l'adresse complète ge la mémoire physique. Seul le numéro de la page est traduite Le d 6 écalage ou 5 adresse dans une page n'est Jamais modifié dans le relevé 6. Dans la présente invention, il y a quatre zones de relevé. Chaque zone de relevé correspond à l'une des quatre zones d'adressage logique (données de l'utilisateur, données du système, code de l'utilisateur et code du système). La division de l'adresse logique en ces quatre zones séparées et distinctes présente des avantages significatifs. La division permet d'isoler les programmes des données, de sorte que les programmes ne sont jamais modifiés Cette division permet d'isoler également les programmes et les données 15 du système des programmes et des données de l'utilisateur, ce qui assure la protection du système d'exploitation contre les erreurs de l'utilisateur. Les quatre zones de relevé sont désignées comme suit: Relevé O relev'é des données de l'utilisateur Toutes le E 20 adresses transmises aux zones des données variables de l'utilisateur sont traduites par l'intermédiaire de ce relevé des données de l'utilisateur Relevé a relevé des données du système Le relevé des données du système est analogue au relevé des données de l'uti. 25 lisateur et, en ouvre, toutes les références à la mémoire faite par le canal d'entrées-sorties, le microprogramme de gestion d, la ligne entre processeurs ou le microprogramme de gestion d'i terruption signalent ce relevé Ce relevé des données du systèx fournit un accès du canal à l'ensemble de la mémoire physique 30 par l'intermédiaire d'un seul mot d'adresse de seize bits. Relevé 2 relevé du code de l'utilisateur Ce relevé déf: nit le programme de l'utilisateur en tours d'exécution Toutes les instructions de l'utilisateur et les données constantes so: obtenues par l'intermédiaire de ce relevé du code de l'utilisa 35 teur. Relevé 3 relevé du code du système Ce relevé définit 1 programme du système d'exploitation Toutes les instructions d système d'exploitation et des données constantes sont obtenues par l'intermédiaire de ce relevé du code du système. Chaque zone de relevé comporte soixante-quatre entrées -; 2547082 correspondant aux soixante-quatre pages possibles de chaque zone d'adresse logique Chaque entrée contient l'information suivante. 1) La zone du numéro de la page physique (qui peut avoir une valeur de zéro à 255). 2) Un bit d'imparité pour l'entrée de la mémoire Le bit de parité est créé par la logique du relevé chaque lois qu'une entrée de relevé est enregistrée. 3) Une zone historique de référence la zone historique de 10 référence comprend des bits de référence, et le bit de poids fort des bits de référence est mis à un" 111 par toute utilisation de la page correspondant à l'entrée du relevé. 4) Un bit-clé Le bit-clé est mis à "un lorsqu'un accès d'enregistrement à la page correspondante de la mémoire est 15 réalisé. Les bits de référence et le bit-clé sont utilisés par la fonction de gestion de la mémoire du système d'exploitation afin de faciliter la sélection d'une page pour le recouvrement. Le bit-clé fournit également un moyen d'éviter d'inutiles intro20 ductions de pages de données dans la mémoire auxiliaire. ) Un bit d'absence Le bit d'absence est mis initialement à "un" par le système d'exploitation pour signaler l'absence d'une page de la mémoire centrale Un accès à une page comportant ce bit mis à "un provoque une interruption du programme de 25 gestion d'interruption pour faute de page du système d'exploitation, afin de déclencher la fonction de gestion de la mémoirevirtuelle du système d'exploitation Le bit d'absence sert également de mécanisme de protection pour empêcher l'accès erroné par un programme en dehors de sa zone d'adresse logique prévue 30 dans le cas soit du code soit des données. Trois instructions sont utilisées par le système d'exploitation en liaison avec le relevé Ces trois instructions sont l'instruction d'insertion dans une entrée de relevé SMAP, l'instruction de lecture d'une entrée de relevé RMAP et l'instruction 35 de décalage d'une entrée de relevé AMAP. L'instruction d'insertion dans une entrée de relevé SMAP est utilisée par la fonction de gestion de la mémoire du système d'exploitation pour insérer les données dans une entrée du relevé Cette instruction requiert deux paramètres, à savoir 40 l'adresse d'entrée du relevé et les données à insérer. L'instruction de lecture d'une entrée de relevé RUMP utilisée par la fonction de gestion de la mémoire du système d'exploitation pour lire une entrée de relevé Cette instruction requiert un paramètre, l'adresse d 4 'entrée de relevé, et le r 65 sultat renvoyé par l'instruction est le contenu de l'entrée du relevé. L'instruction de décalage d'une entrée de relevé AMAP produit le décalage de la zone historique de référence d'une entrée de relevé, d'une position vers la droite Cette instruction est 10 utilisée par la fonction de gestion de la mémoire du système di' exploitation pour maintenir l'information historique de réf érence afin de faciliter la sélection d'une page pour le recou vrement Une interruption pour faute de page fournie par le bit d'absence a lieu lorsqu'une référence est faite à une page qui ne figure pas généralement dans la mémoire centrale ou qui ne fait pas partie de la zone d'adresse logique de programme ou de ses données Lorsqu'une faute de psge est détectée, il se produit une interruption par l'intermédiaire du programme de ges20 tion d'interruption pour faute de page du système d'exploitation. La séquence d'interruption pour faute de page comprend les évènements suivants: 1 Une référence d'adresse est faite à une page qui est absente de la mémoire physique (le bit dlabsence est mis à "un' 2 L'interruption pour faute de page a lieu Le microcode du programme de gestion d'interruption introduit un paramètre d'interruption indiquant le numéro de relevé et le numéro de page logique dans une adresse de mémoire connue du système d'exploitation Le cadre d'exploitation en cours est conservé dans une marque de pile d'interruption dans la mémoire. 3 Le programme de gestion d'interruption pour faute de page se déroule Si la faute de page s'est produite du fait d'une référence en dehors de la zone d'adresse logique du programme, ce dernier se termine alors avec un 6 tat dlerreur. D'autre part, si une faute-de page s'est produite du fait que la page logique était absente de la mémoire pbysiîque centrale (mais présente dans la mémoire auxiliaire), le processus du système d'exploitation se déroule dç manière & extraire la page absente de la mémoire auxiliaire (habituellement à disque pour l'introduire dans une page disponible de la mémoire centrale Cette information de page physique et un bit d'absence à zéro sont insérés dans l'entrée du relevé Lorsque cette fonction de gestion de la mémoire est complgte, le cadre d'exploitation 5 qui a provoque la faute de page est remis dans l'état initial. 4 L'instruction ayant provoqué précédemment la faute de page est exécutée de nouveau Puisque le bit d'absence dans l'entrée du relevé de la pagelogique a été mis maintenant à "zéro", une faute de page ne se produira pas, l 'adresse de page est tra10 duite en page physique juste introduite depuis la mémoire auxiliaire, et l'instruction prend fin. Comme on l'a noté ci-dessus, le canal d'entrées-sorties accède à la mémoire par l'intermédiaire de sa propre entrée. Les transmissions de données vers et depuis la mémoire par 15 le canal d'entrées-sorties se font par l'intermédiaire du relevé des données du système Ce qui revient à dire que les adresses logiques de seize bits fournies par le canal d'entrées-sorties sont traduites en une adresse physique de dix-huit bits au moyen du relevé des données du système. Ainsi, la disposition du rel;evé permet l'accès des entréessorties à un plus grand nombre de mots de la mémoire physique que son compteur d'adresse ne le permettrait normalement. Dans un exemple particulier de réalisation de la présente invention, on peut accéder à 262 144 mots de la mémoire physique 25 (pour une adresse de-dix-huit bits) avec seulement une adresse logique de seize bits, en parcourant le relevé L'information d'adresse supplémentaire (l'information de la page physique) est oontenue dans le relevé et elle est fournie par le système d'exploitation avant que chaque transmission d'entrées-sorties ne 30 soit déclenchée Comme le montrera mieux la description détaillée qui suit, la présente invention peut également s'appliquer facilement à une adresse physique de vingt bits. La figure 34 est un schéma de fonctionnement montrant les détails de la mémoire 107 d'un module 33 de processeur et représentant également Ies connexions de la mémoire 107 à l'unité centrale 105 et au canal 109 d'entrées-sorties de ce module de processeur. Comme le montre la figure 34, le' système de mémoire 107 fournit à la fois à l'unité centrale 105 et au canal '109 d'en- 121 2547082 trées-sorties des entrées d'accès à la mémoire 107, et le canal 109 d'entréee-sorties n'est donc pas nécessaire pour accéder à la mémoire par l'intermédiaire de l'unité centrale 105. ila mémoire 107 comprend une ldgique 401 de commande de mé5 moire du relevé qui commande le début et la fin de l'accès aux modules 403 de la mémoire physique. La mémoire 107 comprend également une partie 405 de circulation des données contenant des registres (comme l'indiquent les légendes de la figure 34 et dont une description détaillée 10 est donnée ci-dessous) qui fournissent à la mémoire les données à enregistrer et qui contiennent les données extraites de la memoire. La mémoire 107 comprend également une partie 407 de relevé. Cette dernière partie inclut les registres d'adresses logiques venant de l'unité centrale et du canal, et une mémoire 409 à relevé à partir de laquelle sont obtenus les numéros des pages phy siques La partie 407 de relevé contient ainsi un registre 411 d'adresse de la mémoire du processeur PMA et un registre 129 20 d'adresse de la mémoire du canal CMA. Ces deux registres sont connectés à un sélecteur d'adresse 415. Le sélecteur d'adresse 415 est connecté au relevé 409 par une ligne 417 d'adresse de page logique et le sélecteur d'adres25 se 415 est également connecté directement aux modules de la mémoire par une ligne 419 de décalage de page. Comme l'indiquent les chiffres 8 et 10 contigus aux lignes 417 et 419, la ligne 417 d'adresse de page logique transmet les huit bits de poids fort au relevé 4 09 en vue de leur traduction 30 en un numéro de page physique, tandis que la ligne 419 de décalage de page transmet les dix bits de poids faible (d'une adres. se de dix-huit pages venant du selecteur d'adresse 415) aux modifles 403 de la mémoire. Une ligne 1,421 de sortie fournit aux modules 403 l'adresse des pages physiques Cette ligne de sortie 421 contient les hui * bits de poids fort traduits pour l'adresse de la page physique. La partie 405 de Circulation des données contient les registres suivants: un registre 423 des données de la mémoire du processeur PND, ln registre 425 des donn 6 es de la mémoire du canal CMD, un registre 431 d'instruction suivante NI, un regist 433 des données de la mémoire MD et un registre 125 des données du canal CD. Les sorties des registres PhD et CMD sont envoyées i un sélecteur 427 de données Ce sélecteur 427 de données comporte une 5 ligne de sortie 429 qui fournit les données & introduire en mémoire dans les modules 403. Les données extraites de l'un des modules 403 de la mémoire sont introduites par une ligne 437 dans l'un des trois registres de données NI, MD et CD. Comme le montre la figure 34, la logique 401 de commande de la mémoire à relevé est également connectée à chacun des modules 403 de la mémoire par une ligne 439 Cette ligne 439 comprend des lignes d'instructions qui déclenchent les opérations d'extraction ou d'enregistrement, des signaux de fin d'opéra15 tion venant des modules de la mémoire, et des indicateurs ou drapeaux d'erreurs. On se reportera maintenant à la figure 35 Ia partie 407 de relevé comprend, outre le relevé 409, un registre 441 de mémoire à relevé, une bascule 443 de sortie du relevé, un registre 445 20 de données de la mémoire à relevé MMD, un sélecteur 447 de données de relevé, un générateur 449 de parité de relevé, un contrôleur 451 de parité de relevé, une logique 453 i bit de référence et une logique 455 de bit-clé. La logique 401 de commande de la mémoire à relevé est repré25 sentée à la figure 35 comme étant associée avec-la partie 407 de relevé par l'intermédiaire des lignes 457 d'acheminement des signaux de commande. La logique 401 de commande de la mémoire à relevé commande le chargement des registres et la sélection des registres par 30 les sélecteurs, commande le déclenchement des opérations des modules 405 de la mémoire (en liaison avec les sorties d'absence de relevé et d'erreur de parité), et fournit les interruptions à l'unité centrale 105 (comme l'indiquent les signaux de faute de page et d'interruption pour erreur de parité du relevé re35 présenté par les légendes à la figure 35) Toutes ces opérations seront décrites plus en détail ci-dessous. Dans un exemple particulier de réalisation de la présente invention, le système de mémoire représenté aux figures 34 et 35 utilise une zone d'adresse de page physique de huit bits et un 40 décalage de page de dix bits qui se combinent pour donner un 2547082 total de dix-huit bits Comme on l'a noté ci-dessus, les nombres 8, 10, 12, 139 14 et 18 qui ne figurent pas entre parenthèses sur certaines lignes des figures 34 et 35, se rapportent à cet exemple particulier de réalisation à dix-huit bits de la présente invention Cependant, le système de mémoire peut être facilement étendu à un exemple de réalisation à vingt bits (avec une adresse de page physique de dix bits) et ceci est indiqué par les nombres 10, 12, 14, 15, 16 et 20 qui figurent entre parenthèses sur les mêmes lignes de la figure 35. La figure 36 illustre la structure de la mémoire logique en quatre zones d'adresse logique séparées et distinctes 459, 461, 463 et 465 Ces quatre zones d'adresse logique sont: la zone 459 des données de l'utilisateur, la zone 461 des données du système, la zone 463 du code de l Uutilisateur et la zone 465 du 15 code du système. La figure 56 illustre également les: quatre parties du relevé correspondant aux zones d'adresse logique. Ainsi, la partie 467 du relevé des données de l'utilisateur correspond 'à la zone 459 d'adresse logique des données de l'uti20 lisateur, la partie 469 du relevé des donnies du système correspond à la zone 461 d'adresse logique des données du système, la partie 471 du relevé du code de l'utilisateur correspond à la zone 463 d'adresse logique dûi code de l'utilisateur et la partie 473 du relevé du code du système correspond à la zone 465 d'a25 dresse logique du code du système. Comme le montre également la figure 56, chaque partie du relevé comporte soixante-quatre entrées de pages logiques (page zéro à ige soixante-trois), et chaque entrée du relevé comprend seize bits, comme le montre la seule entrée de relevé à grande 30 échelle représentée à la figure 36 o Comme l'indiquent les légendes associées à l'entrée de relevé à grande échelle représentée à la figure 56, chaque entrée de relevé comprend une zone de numéro de page physique de dix bits, un seul bit de parité P, une zone historique de référence compre 35 nant trois bits de référence R, S et T, un seul bit-clé D et un seul bit d'absence. La zone de numéro de la page physique fournie par les dix bits de poids fort, donne le numéro de la page physique correspondant à la page logique imposée parile programme. Le bit de parité P est toujours créé sous forme d'imparité pour fournir un contrôle d'intégrité de données sur les contenus à l'entrée du relevé. Les bits de la zone historique de référence R, S et T sont utilisés par la fonction de gestion de la mémoire-du système d'exploitation afin de conserver l'information historique de réf 6rence pour sélectionner la page la moins récemment utilisée pour le recouvrement. Le bit R est mis à "un" par n'importe quelle opération d'extraction ou d'enregistrement effeectuée sur cette page logique. 10 Les bits S et '1 T sont des bits d'enregistrement qui sont manipulés par l'instruction de décalage d'une entrée de relevé M Ap. Le bit-clé D est mis à Uun" par un accès d'enregistrement à cette page logique Le système d'exploitation utilise le bit-clé 15 pour déterminer si une page de données a été modifiée depuis qu'elle a été extraite en dernier lieu de la mémoire auxiliaire. Le bit d'absence A est mis à "un" par le système d'exploitation pour signaler une page logique qui est absente de la mémoire centrale mais qui est présente dans la mémoire auxiliaire, 20 ou pour signaler une page qui est en dehors de la zone d'adresse logique de cet utilisateur. les deux bits de poids fort, dans le cas de l'entrée de reevé représentée à la figure 36, ne sont pas utilisés dans l'exemple particulier de réalisation de la présente invention illustré 25 par les dessins, mais ces deux bits sont utilisés lorsque l'adresse physique complète de vingt bits est utilisée. Comme on l'a noté ci-dessus, ces instructions sont utilisées par le système d'exploitation en liaison avec le relevé Ces trois instructions sont l'instruction-d'insertion des données dans 30 une entrée de relevé SMAP, l'instruction de lecture d'une entrée de relevé REMAP et l'instruction de décalage d'une entrée de relevé AMAP. L'instruction SMAP est utilisée par la fonction de gestion de la mémoire du système d'exploitation pour insérer des données 55 dans une entrée de relevé telle que celle qui est illustrée à la figure 36. L'instruction SMAP est mise en oeuvre par le microprogramme , représenté à la figure 12, de l'unité centrale 105 Le microprogramme agit en liaison avec lalogique 401 de commande de 40 la mémoire à relevé, représentée à la figure 34, tout d'ab O o pour sélectionner un emplacement dans le relevé 409 (à l'aide du premier paramètre de l'insertion) et ensuite pour insérer dans cet emplacement le deuxième paramètre de l'instruction, c'est-àA-dire les nouvelles donnéesi d'entrée du relevé. Et fonctionnement, comme le montre la figure 35, dans le premier stade de la séquence, le microprogramme 11-5 charge les nouvelles données d'entrée du relevé dans le registre 425 des données de la mémoire du processeur PMD. Dans le stade suivant de la séquence, l'adresse du relevé 10 y compris les deux bits de poids fort destines à la sélection du relevé,e est chargée dans le registre 411 d'adresse de la mémoire du processeur PNA. A ce moment-là, les deux paramètres d'instruction, contenant l'adresse d'entrée du relevé et les données à insérer, ont 15 été chargés dans leurs registres respectifs 411 et 423. Ensuite, le microprogramme 15 de l'unité centrale 105 d 6clenche une séquence d'opérations d'enregistrement de relevé de la logique 401 de commande de la mémoire à relevé, Cette S 6 quence d'opérations d'enregistrement de relevé est déclenchée après 20 que les opérations préceédentes de la mémoire ont été terminées. Les stades de la séquence d'opérations notés ci-dessus ont été tous accomplis par le microprogramme (microinstruction E Les autres actions del'instruction d'insertion des donnée dans une entrée de relevé SMAP sont accomplies par la logique 25 de commande de la mémoire à relevé Ainsi, les autres actions sont toutes accomplies automatiquement par le matériel. Dans la séquence d'opération d'enregistrement de relevé, l'adresse du relevé est transmise du registre d'adresse de la m Eémoire du processeur PIA au relevé 409, par l'intermédiaire du sélecteur 415 d'adresse et de la ligne 417 Seuls les huit bits de poids fort (la sélection du relevé et l'adresse du relevé) sont utilisés dans cette opération Les deux bits de poids fort indiquent la sélection du relevé, que ce soit les données de 1 utilisateur, les données du 35 système, le code'de l'utilisateur ou le code du système. Les dix bits de poids faible de la ligne d'adresse logique venant du sélecteur 415 d'adresse ABEL (bits qui constitue: le décalage dans une page pour un accès d'extraction de la m 6moire ou d'enregistrement en mémoire) ne sont pas utilisés dan 40 cette operation. 2547 08 t I. Pendant que le relevé est adressé comme on l'a décrit cidessus, les nouvelles données du relevé sont transmises du registre 423 des données de la mémoire du processeur PMD au générateur 449 de parité de relevé ettau relevé 409, par l'intermé5 diaire du sélecteur 447 de données du relevé Le générateur de parité de relevé calcule l'imparité à partir des nouvelles données du relevé et fournit ce bit de parité au relevé. A ce moment-là, la logique 401 de commande de la mémoire à relevé envoie au relevé 409 un signal d'échantillonnage 1 l d'enregistrement dans le relevé, par l'une des lignes repérées par la référence 457 à la figure 35, ce qui produit l'enregistrement des nouvelles données et de la nouvelle parité dans la partie sélectionnée du relevé, à l'entrée particulière du relevé sélectionnée par l'adresse de la page logique dans la ligne 15 417. Cette opération termine la séquence d'instruction d'insertion de données dans une entrée du relevé SMAP. A la fin de cette instruction d'insertion de données dans une entrée du relevé SMAP, la partie appropriée du relevé a été sélectionnée, l'entrée particulièrede la page logique dans cette partie du relevé a été sélectionnée, les données et l'impaité calculée ont été fournies au relevé, et le signal d'échantillonnage d'enregistrement dans le relevé a produit l'enregistrement des données à l'entrée souhaitée du relevé. L'instruction d'insertion des données dans une entrée du relevé SIAP est utilisée par le système d'exploitation pour initialiser chaque entrée de page logique dans chacune des quatre parties du relevé, suivant les exigences. Une utilisation de l'instruction d'insertion de données dans le relevé consiste donc à insérer une adresse de page physique afin qu'une page logique fournisse la traduction des num 6 éros de pages logiques en numéros de pages physiques après q'une page a été transférée à partir de la mémoire auxiliaire. Une autre utilisation de l'instruction d'insertion de don35 nées dans le relevé consiste à mettre à "un" un bit d'absence pour une page logique transférée dans la mémoire auxiliaire. L'instruction de lecture d'une entrée du relevé RMAP est utilisée par la fonction de gestion de la mémoire du système d'exploitation pour interroger le contenu d'une entrée de relevé. 40 Dans cette instruction de lect Ukie d'une entrée du relevé - 2547082; RMAP, le microprogramme 115 de l'unité centrale 105 agit en liaison avec la logique 401 de commande de la mémoire à relevé pour sélectionner, à l'aide du paramètre de l'instruction, un emplacement dans le rele Vté 409 et pour le renvoyer à la pile 112 du'registre, à la figure 12, sous la forme d'un résultat du contenu de cette entrée de relevéo Dans l'exécution de l'instruction de lecture d'une entrée du relevé RMIAP, - comme le montre la figure 35, le microprogramme 115 charge l'adresse du relevé, y compris les deux bits de poids 10 fort pour la sélection du relevé, dans le registre 411 d'adresse de la mémoire du processeur PMA Le microprogrsmme 115 déclenche ensuite une séquence d'opérations de lecture de relevé de la logique 401 de commande de la mémoire à relevé Cette séquence est accomplie ensuite par le matériel et, dans cette séquences l'adresse du relevé est transmise du registre 411 d'adresse de la mémoire du processeur PMA au relevé 409, par l'intermédiaire du sélecteur 415 d'adresse De nouveau, seuls les bits de sélection de relevé et d'adresse de page sont utilisés dans cette séquence. Le contenu de lentrée du relevé sélectionnée est transmis du relevé 409 au contrôleur 451 de parité de relevé, comme le montre la figure 55, et à la bascule 445 de sortie du relevé. le contrôleur 451 de parité de relevé compare le bit de parité venu de l'entrée du relevé avec l'imparité calculée à partir des 25 données Si la parité n'est pas correcte, l'adresse du relevé est chargée dans le registre 441 de pages de relevé et le signal d'erreur de parité du relevé détermine une indication d'erreur qui produit à l'unité centrale 105 une interruption pour erreur 30 de parité du relevé O D'autre part, si la parité est correcte, les données d'entrée du relevé sont chargées de la bascule 445 de sortie du relevé dans le registre 445 de données de la mémoire à relevé MMD. Enfin, le résultat de 'l'instruction est que le micropro35 gramme de l'instr ction de lecture d'entrée de relevé RPAP renvoie à la pile de registre 112, représentée à la figure 12, les données qui sont dans le registre 445 de données de la mémoire à relevé Ei D. A la fin de l' instruction de leqture d'entrée de relevé RMAP, la partie appropriée du relevé a été sélectionnée, l'en- trée de la page logique particulière dans cette partie du relevé a été sélectionnée et le contenu de cette entrée de relevé a été extrait du relevé et renvoyé, à la suite de l'instruction, à la pile du registre de l'unité 6 çentrale. l Des utilisations de l'instruction de lecture d'entrée de relevé RMAP sont les suivantes La fonction principale de cette instruction de lecture d'entrée de relevé RMIAP est de permettre au système d'exploitation d'interroger la zone historique de référence et le bit10 clé d'une entrée de relevé (voir le format de l'entrée de relevé représenté à la figure 36) afin de déterminer une page en vue du recouvrement (comme le montrera mieux la description de l'op ération suivante)) L'instruction de lecture d'entrée de relevé RMAP est éga15 lement utilisée dans des diagnostics afin de déterminer si la mémoire à relevé fonctionne correctement. L'instruction de décalage d'une entrée de relevé AMAP est utilisée par la fonction de gestion de la mémoire du système d'exploitation pour maintenir l'information historique utile de référence dans le relevé Cette information historique de référence est maintenue dans le relevé par les entrées du relevé (les bits R, S et T du format d'entrée du relevé représenté à la figure 36), dans une partie du relevé qui sont "décalées" d'une manière caractéristique après chaque interruption pour 25 faute de page dans cette partie du relevé. Cette instruction de décalage d'une entrée de relevé ANAP comporte un seul paramètre qui est l'adresse de relevé indiquant l'emplacement de relevé à décaler. Dans l'exécution de l'instruction de décalage d'une entrée 30 de relevé AMAP, le microprogramme 115 de l'unité centrale 105sélectionne un emplacement de relevé au moyen du paramètre d'adresse du relevé de l'instruction Le microprogramme 115 charge le paramètre d'adresse du relevé dans le registre d'adresse de la mémoire du processeur PMA exactement comme dans 35 l'instruction de lecture d'une entrée de relevé RMAP. A ce stade, une séquence d'opérations de lecture de relevé de la logique 401 de commande de la mémoire à relevé est déclenchée et cette séquence se poursuit exactement comme dans l'instruction de lecture d'une entrée de relevé RMAP décrite ci40 dessus. 2547082 ' Le microprogramme 115, représenté à la figure 12, lit le contenu de l'entrée du relevé vennnt du registre 445 de données de la mémoire à relevé MMD, représenté à la figure 35, extrait la zone historique de référence (les bits R, B et T de référen5 ce 10, Il et 12 représentés à la figure 36), décalela zone vers la droite d'une position et réinsère la zone pour former les nouvelles données d'entrée du relev 6 Ainsi, un zéro a été introduit dans le bit R, le bit, R a été introduit par décalage dans le bit S, le bit S a été introduit par décalage dans le 10 bit T, et l'ancien bit T est perdu. Le microprogramme 115 prend alors l' entrée modifiée du relevé, charge ces nouvelles données dans le registre 423 de données de la mémoire du processeur PHD, représenté à la figure 34, et réintroduit les nouvelles données d'entrée du relevé 15 dans l'entrée du relevé sélectionnée, comme dans la séquence d'insertion des données dans une entrée du relevé SMAP. Ces opérations terminent l'instruction de décalage d'une entrée de relevé AMAP? Le résultat de l'instruction de décalage d'une entrée de relevé AHAP est le suivant: une entrée de relevé a été extraite du relevé, sa zone historique de référence a été décalée et cette entrée modifiée a été réinsérée dans l'emplacement sélectionné du relevé. Comme on l'a noté précédemment, le bit R est mis à "un"r par n'importe quelle référence de la mémoire à la page logique correspondante, de sorte que lorsque ce bit est à l'état "un", c'est une indication que cette page a été utilisée depuis la dernière instruction d'insertion de données dans une entrée de relevé SMAP ou de décalage d'une entrée de relevé AMAP. Cette mise à "un" du bit R en liaison avec l'instruction de décalage d'une entrée de relevé AMAP fournit un moyen de maintenir llinfo) mation concernant la fréquence d'utilisation dans la zone historique de référence du relevé. La zone h: storique de référence de toutes les entrées de relevé dans un relevé donné est décalée de manière caractéristique après une interruption pour faute de page Ainsi, la valeur de la zone de référence de trois bits dans une entrée de relevé est une, ndication de la fréquence d'accès depuis les trois interrupv: ons précédentes pou:i faute de page. Par exemp:', une valeur binaire de sept (les trois bits di 2547082 référence étant tous mis à "un") indique des accès dans chacun des intervalles entre les interruptions précédentes pour faute de page. Une valeur binaire de quatre dans la zone historique de 5 référence (le bit R étant à l'état "un" et les bits S et T à l'état "zéro") indique un accès dans l'intervalle depuis la dernière interruption pour faute de page et elle indique qu'il n'y a pas eu d'accès dans les intervalles qui précèdent la plus récente interruption pour faute de page. Citons un dernier exemple Une valeur binaire de zéro pour la zone de référence de trois bits indique qu'il n'y a pas eu d'accès à cette page logique dans aucun des trois intervalles depuis les trois dernières interruptions pour faute de page. Ainsi, plus le nombre binaire représenté par la zone histo15 rique de référence de trois bits est élevé, plus la fréquence d'accès récents à cette page logique est-élevée. Cette information historique de référence est maintenue de sorte que, lorsqu'il faut sélectionner une page pour le recouvrement, une page qui n'a pas été utilisée fréquemment dans le 20 récent passé peut être identifiée Une page qui n'a pas livré d'accès fréquents dans le récent passé est susceptible de continuer ce comportement et cette page ne devra donc probablement pas être réintroduite en mémoire après avoir été recouverte. Cette information historique concernant la fréquence d'u25 tilisation est utilisée par la fonction de gestion de La mém 6 ire du système d'exploitation afin de sélectionner les pages non fréquemment utilisées pour le recouvrement, de manière à réduire au minimum les transferts à partir de la mémoire auxiliaire et mettre en oeuvre un système efficace de mémoire vir30 tuelle. Comme on l'a noté ci-dessus, l'accès à la mémoire peut se faire par l'unité centrale ou par le système d'entréessorties. On décrira maintenant l'action du système de mémoire et du 35 relevé pendant une séquence d'accès à la mémoire par l'unité centrale La séquence d'accès est similaire pour les divers accès à la mémoire par l'unité centrale, tels que l'enregistreint desdonnées, l'extraction des données ou l'extraction des instructions depuis la mémoire. La séquence d'accès à la mémoire par l'unité centrale 131 25470 82; est déclenchée par le microprogramme 115 de l'unité centrale ou par 'a logique de prise en charge des instructions de l'unité centrale Dans un cas ou dans l'autre, l'unité centrale 105 charge une adresse logique de dix-huit bits dans le registre 411 d'adresses de la mémoire du processeur PMA et elle déclenche une séquence d'opérations d'extraction de données, d'enregistrementde données ou d'extraction d'instructions de la logique 401 de commande de la mémoire à relevé. L'adresse logique de dix-huit bits se compose de deux bits O 10 de poids fort de sélection d'espace d'adresse logique et de seize bits de poids faible définissant un emplacement dans cet espace d'adresse logique Les deux bits de sélection-peuvent être déterminés par le microprogramme 115 de l'unité centrale ou ils peuvent être créés automatiquement dans l'unité centrale, 15 sur la base des contenus des registres d'instruction I et de conditions d'exploitation E. L'adresse logique de dix-huit bits comprend également en plus des deux bits de poids fort de sélection d'adresse logique, six bits qui déterminent la page logique dans le relevé sélec20 tionné et dix bits de poids faible qui déterminent le décalage au sein de la page dans le relevé sélectionné. Dans la séquence d'opérations d'extraction de données, d'enregistrement de données ou d'extraction d'instructions de la logique 401 de commande de la mémoire à relevé, après que toute 25 opération précédente du relevé ou de la mémoire a été terminée, l'adresse de dix-huit bits contenue dans le registre 411 d'adresses de la mémoire du processeur IIMA, représenté à la figure:5, est transmise aux lignes 417 et 419, représentées aux figures 34 et 35,par l'intermédiaire du sélecteur 415 d'adresse. 30 La ligne 419 transmet la partie de décalage de page de l'adresse Cette partie dedécalage de page de l'adresse est transmise directement aux modules 403 de la mémoire physique, représentés à la figure 34, par la ligne 419. La ligne 417 transmet la partie d'adresse de page logique (qui doit être traduite en une adresse de page physique) au relevé 409. L'entrée du relevé sélectionnée par l'adresse de page logique est extraite du relevé 409 et transmise à la logique 401 de commande de la mémoire & relevré de la figure 34, au contrôleur 451 de parité de relev de la figure 55 et à Th. 2547082 ' bascule 443 de sortie du relevé. Si le bit d'absence est à l'état "un", l'adresse de la page logiqueest chargée dans le registre 441 des pages du relevé, un signal d'interruption pour faute dt page est transmis à l'unité centrale 105 et la logique 401 de commande de la mémoire à relevé met fin à la séquence d'acc&s à la mémoire. De même, si le contrôleur 451 de parité détecte une parité incorrecte dans l'entrée du relevé, l'adresse de la page logique est chargée dans le registre 441 de pages de relevés, un signal 10 d'erreur de parité de relevé est transmis à l'unité centrale et la séquence d'accès à la mémoire est terminée D'autre part, s'il n'y a pas d'erreur, l'adresse de la page physique est transmise de la bascule 443 de sortie du relevé aux modules 403 de la mémoire physique par l'intermédiaire de la ligne 421; et la logique 401 de commande de la mémoire à relevé émet une instruction dans la ligne 439 pour amener le module 403 de mémoire sélectionné à exécuter une opération d'extractionacu d'enregistrement. Dans une opération d'enregistrement dans l'unité centrale, 20 les données à enregistrer sont transmises du registre 425 de données de la mémoire du processeur PMD, par l'intermédiaire du sélecteur 427 de données, au module de mémoire dans la ligne 429. Pendant que le module de mémoire effectue une opération d'extraction ou d'enregistrement, la logique 401 de commande de 25 la mémoire à relevé provoque la modification et le réenregistrement des données d'entrée du relevé. Les données d'entrée du relevé, sans le bit de parité P ou le bit de référence R, sont transmises de la bascule 443 de sortie du relevé à la logique 455 du bit-clé représenté à la 30 figure 55, et au sélecteur 447 de données du relevé. Dans cette opération, la zone de la page physique d'une entrée de relevé, représentée en détail à grande échelle dans la partie inférieure droite de la figure 36, et les bits S et T de la zone de référence ainsi que le bit d'absence sont toujours 35 réenregistrés sans modification. Si une opération d'enregistrement de données dans l'unité centrale est en cours d'exécution, le bit-clé D fourni au sélecteur de-données du relevé est mis à "un" par la logique 455 du bit-clé Sinon, le bit-clé n'est pas modifié. , Le bit R de référence fourni au sélecteur de données du re- 2547082 ' levé par la logique 453 du bit de référence est mis à "un", soit dans une opération d'extraction, soit dans lune opération d'enregistrement La zone de la page physique eti les bits BS, T et A ne sont pas modifiés, comme on l'a noté ci-dessus. Le sélecteur 447 de données du relevé fournit ces nouvelles données du relevé au générateur 449 de parité et au relevé 409. Un bit d'imparité est créé à partir des nouvelles données par le générateur 449 de parité, comme le montre la figure 35. 10 Un signal d'échantillonnage d'enregistrement de relevé venant de la logique 401 de commande de la mémoire à relevé provoque ensuite l'enregistrement des nouvelles données et de la nouvelle parité dans l'entrée du relevé sélectionnée par la ligne 417 d'adresse de la page logique. Ainsi, la page logique a été traduite par l'intermédiaire de l'entrée du relevé, et cette dernière a été réenregistrée avec des bits de parité, de référence et de clé mis à jour. Lorsque le module 403 de la mémoire physique termine son opération d'extraction ou d'enregistrement, il envoie, par la ligne 439, un signal de fin d'opération à la logique 401 de commande de la mémoire à relevé Voir figure 534. Dans une opération d'extractlon, le module 405 de la mémoir dirige les données de la mémoire vers la ligne 437, comme le mon tre la figure 534 D Pas une séquence d'opérations d'extraction de données, le données sont chargées dans le registre 4335 de données de la mémoire PMD, représenté à la figure 54, pour être utilisées par l'unité centrale 205. Dans une séquence d'opérations d' extraction d'instructions, les données sont chargées dans le registre 431 d'instruction, suivante NI pour une exécution ultérieure par l'unité centrale 105. Les accès à la mémoire de l'unité centrale pour l'extracti de données, l'enregistrement de données et l'extraction d'instri tions sont ainsi complétés comme on l'a décrit ci-dessus. Un accès au canal d'entrées-sorties pour l'extraction ou l'introduction de données en mémoire se fait de manière analogu à un accès à la mémoire de l'unité centrale, comme on l'a décri ci-dessus, avec cependant les exceptions suivantes. -40 Le registre 129 d'adrestes de le mémoire du canal CHA repr senté à la figure 34, est utilisé pour fournir l'adresse logique et ce registre indique toujours le relevé 469 des données du système Voir figure 55, Le registre 425 de données della mémoire du canal CMD repré5 senté à la figure 34, est utilisé pour fournir les données à la mémoire dans une opération d'enregistrement. Le registre 125 de données du canal CD, représenté à la figure 34, est utilisé pour recevoir les données venant de la mémoire dans une opération d'extraction. Dans le cas d'un accès à la mémoire du canal 109 d'entréessorties, cet accès est toujours un accès d'extraction de données ou d'introduction de données en mémoire, et il n'y a aucun accès d'extraction d'instructions comme dans le cas d'un accès à l'unité centrale. En outre, la parité du relevé et les conditions d'absence sont transmises au canal 109 d'entrées-sorties, si elles se-produisent dans le cas d'un accès à la mémoire du canal d'entréessorties. Comme on l'a noté en plusieurs points ci-dessus, les modules 20 403 de mémoire sont constitués d'une mémoire à semiconducteurs ou d'une mémoire à tores. Lorsque la mémoire est une mémoire à tores, les erreurs sont détectées par un système de détection d'erreurs de parité Le système de détection d'erreurs de parité pour des modules de mé25 moire à tores détecte efficacement toutes les erreurs de bit unique Les techniques classiques de création et de contrôle d'erreurs de parité sont utilisées et les détails de la mémoire à tores ne seront donc pas décrits. La probabilité de défaillance d'une mémoire à semi-conduc30 teurs est suffisamment élevée pour justifier un système de détection et de correction d'erreurs; la présente invention fournit un système de détection et de correction qui incorpore une zone de contrôle de six bits pour chaque mot de seize bits Les figures 37 à 41 et la table 1 qui s'y rapporte, présentée ci35 après, illustrent en détail le système de détection et de correction utilisé lorsque Ies modules 403 de la mémoire sont constitués d'une mémoire à semiconducteurs. Le système de détection et de correction d'erreurs comprenant une zone de contrôle de six bits qui fait partie de la pré40 sente invention peut, comme on le décrira en détail ci-après, dé- 2547082 tecter et corriger toutes les erreurs de bit unique et ce système est également capable de détecter toutes les erreurs,de bit double En outre, la plupart des erreurs de trois ou plusieurs bits sont détectées Bien que le système de détection et de correction d'erreurs soit décrit en relation avec une mémoire à semiconducteurs, on doit noter que le système ne se limite pas et ne se réduit pas aux mémoires à semiconducteurs Il est au contraire utile pour n'importe quelle application de stockage ou de transmission de 10 données. Un avantage important du système de détection et de correction d'erreurs qui fait partie de la présente invention résulte du fait que, non seulement les erreurs de bit unique sont corrigées, mais aussi que toute erreur suivante de bit double est détectée de manière sûre après la défaillance d'un bit unique. Le système de traitement par multiprocesseurs comprenant le système de détection et de correction d'erreurs de la présente invention tolère donc des défaillances d'un composant unique et il peut être exploité avec des défaillances de bit unique dans la mémoire à semiconducteurs, jusqu'au moment o il est commode de réparer la mémoire, Le système de détection et de correction d'erreurs utilise un code binaire linéaire systématique, de distance de Ramming égale à quatre Dans ce code, chaque bit de contrôle est une combinaison linéaire de huit bits d'information, comme le montre la figure 38 o De même, chaque bit d'information se compose d'exas tement trois bits de contrô 61 e, comme le montre également la figure 38 Un avantage de ce code est qu'il permet d'obtenir une couverture uniforme des bits d'information par les bits de con30 trôle le système de détection et de correction d'erreurs constitue un exemple de réalisation d'un décodeur de syndrome qui fournit une combinaison de vitesse logique élevée et de compte de pièces peu élevée B En résumé, le système de détection et de correction d'erreurs de la présente invention fonctionne de manière à ajouter six bits de contrôle à chaque mot d'information introduit en mémoire Lorsqu'un mot d'information est ensuite extrait de la mémoire, la partie de la zone de contrôle du mot en mémoire est 40 utilisée pour identifier ou détecter la perte d'information dans 13 6 2547082 ce mot depuis le moment o il a été stocké en mémoire. Dans une mémoire à semiconducteurs, deux mécanismes de perte d'information (erreur) sont possibles L'un est une panne grave d'un dispositif de-la mémoi Le qui rend ce dispositif in5 capable en permanence de conserver l'information, et l'autre est une panne légère dans laquelle le bruit électrique peut provoquer une perte passagère d'information. La détection des erreurs est faite par un comparateur de bits de contrôle qui produit un syndrome de six bits Le syndro10 me est la différence entre la zone de contrôle tirée du mot stocké et la zone de contrôle qui correspondrait normalement à la zone d'information tirée du mot stocké. Le syndrome est ensuite analysé (décodé) afin de déterminer si une erreur s'est produite et, si c'est le cas, de déter15 miner le type de correction qui est nécessaire. Dans le cas d'erreurs de bit unique d'information, la sortie du décodeur de syndrome amène un complémentateur de bits d'information à inverser le bit qui était erroné, cette information corrigée est fournie sous forme de sortie de ce module 20 de mémoire. Si le décodeur de syndrome indique une erreur multiple, le fait de l'erreur multiple est alors communiqué à la partie de commande de la mémoire à relevé, par l'intermédiaire de l'une des lignes d'erreur et de commande, afin d'interrompre l'unité 25 centrale. On se reportera maintenant à la figure 57 Le module 403 de mémoire inclut une partie 475 de logique de commande et de synchronisation et un ensemble 477 de mémoire à semi-conducteurs. L'ensemble 477 de mémoire permet de stocker 32 768 mots de vingt30 deux bits chacun Comme le montre la figure 57, chaque mot comporte une zone d'information de seize bits et une zone de contrôle de six bits. Chaque module 405 de mémoire à semiconducteurs comporte également, comme le montre la figure 37, une bascule 479 de sortie, un générateur 481, de bits de contrôle, un comparateur 483 de bits de contrôle, un décodeur 485 de syndrome et un complémentateur 487 de bits d'information. Le module 405 de mémoire est connecté au reste du système par l'intermédiaire des lignes de signaux et de données repré40 sentées à la figure 37 Oes li Enes comprennent: la ligne 429 d'acheminement des données vers la mémoire, les lignes 439 de commande et d'erreur vers la partie 401 de commande de la mémoire à relevé, les lignes 419 et 421 d'adresse physique et la ligne 437 d'extraction des données de la mémoire Ces lignes de signaux et de données sont également représentées à la fisure 54. On continuera à se reporter à la figure 37 De contenu de la bascule 479 de sortie est transmis, par une ligne 489, au comparateur 485 de bits de contrôle et au comparateur 487 de 10 bits d'information La sortie du comparateur 483 de bits de contrôle est transmise, par une ligne 491 de syndrome, au décodeur 485 de syndrome et à la partie logique 475 de commande et de synchronisation. La sortie du décodeur 485 de syndrome est transmise, par une ligne 493, aul complémentateur 487 de bits d'information. D'autres sorties du décodeur 485 de syndrome sont transmises, par les lignes 495 et 497, à la partie logique 475 de commande et de synchronisation La ligne 495 transmet un signa 20 d'ERREUR UNIQUE (erreur corrigible) et la ligne 497 transmet un signal d'ERREUR MULTIPLE (erreur incorrigible) La logique 475 de commande et de synchronisation fournit des signaux de commande, par une ligne de commande 499, à l'en semble 477 de mémoires à semiconducteurs et également à la bas 25 cule 479 de sortie. La sortie du générateur 481 de bits de contrôle est trans mise à l'ensemble 477 de mémoire par une ligne 501 e Comme le montre la figure 38, le générateur 481 de bits de contrôle comprend six arbres séparés 503 de parité de huit 30 bits. Comme le montre la figure 59, le comparateur 485 de bits de contrôle comprend six arbres séparés 505 de parité de neuf bits. Comme le montre la figure 40, le décodeur de syndrome 485 35 comprend une partie 507 de décodeur et un arbre 509 de parité de six bits. En se reportant toujours à la figure 40, on verra que le E sorties de la partie 507 de décodeur et de l'arbre 509 de parité de six bits sont combinées dans la logique d'identifica40 tion d'erreur repérée d'une manière générale par la référence 138 2547082 511. Comme le montre la figure 41, le complémentateur 437 de bits comprend seize portes OU exclusif 513. En fonctionnement, le mot co Atenant des donéées de seize bits est fourni par la ligne 428 à l'ensemble 477 de mémoire et également au générateur 481 de bits de contrôle Voir figure 37. Le générateur 481 de bits de contrôle, comme le montre le mieux la figure 38, crée six bits de contrôle GO à 05, à l'aide de six arbres 503 de parité de huit bits. Comme le montre également la figure 38, l'arbre 503 de parité de huit bits situé à l'extrême gauche crée le bit de contrôle 00, comme l'indique l'équation logique de CO développée au bas de la figure 38 Le bit de contrôle CO est donc le complément de la somme modulo deux des bits d'information 8 à 15. 15 Pour donner un autre exemple, le bit de contrôle C 3 est créé par un arbre 503 de parité de huit bits, comme l'indique l'équation logique de C 3 développée au bas de la figure 38 Le bit de contrôle C 3 est la somme modulo deux des bits d'information 0, 1, 2, 4, 7, 9, 10-et 12, représentée par l'équation lo20 gique et illustrée également par les connexions entre l'arbre de parité de huit bits et les lignes de bits d'information correspondantes dans le schéma logique en haut de la figure 38. De même, chacun des autres bits de contrôle est créé par une addition modulo deux de huit bits d'information, comme le 25 montre le schéma logique en haut de la figure 38. Pour effectuer une opération d'enregistrement en mémoire, ces bix bits de contrôle créés ainsi par le générateur 481 de bits de contrôle, et les seize bits d'information transmis par la ligne 429 acheminant les données, sont introduits dans un emplacement particulier de l'ensemble 477 de mémoire Comme le montre la figure 37, les six bits de contrôle et les seize bits d' information sont introduits dans 1 'ensemble 477 de mémoire par la logique 475 de commande et de synchronisation et l'information d'adresse physique transmise par la ligne d'adresse physi35 que 419 et 421 Chaque mot enregistré dans l'ensemble 477 de mémoire comporte une zone de contrôle de six bits créée de la même manière pour chaque mot Cette zone de contrôle est retenue avec le mot enregistré dans l'ensemble 477 de mémoire jusqu'au moment o cet emplacement dans l'ensemble de mémoire est ensuite accessi- 159: 2547082 ble pour une opération d'extraction. Lorsqu'un mot particulier soit être extrait de 1 'ensemble 477 de mémoire, Ja logique 475/commande et de synchronisation et l'adresse transmise par la lig Le d'adresse physique 419 et 421 provoquent un chargement du contenu de l'emplacement sélectionné de la mémoire dans la bascule 479 de sortie Cette dernière a une largeur de vingt-deux bits afin de recevoir les seize bits d'information et la zone de contrôle de six bits De la bascule 479 de sortie, les seize bits d'information 10 dt la zone de contrôle de six bits sont transmis au comparateur -483 de bits de contrôle, par une ligne 489. Comme le montre la figure 39, le comparateur 485 de bits de contrôle forme six bits de syndrome SO à 55 O Chaque bit de syndrome est la sortie d'un arbre 505 de pa15 rité de neuf bits dont les entrées sont composées de huit bits d'information et d'un de contrôle Chaque bit de syndrome est relié à un bit de contrôle numéroté de même Ainsi, le bit de contrôle "zéro" est utilisé uniquement pour calculer le bit de syndrome "zéro", le bit de contrôle "un" est utilisé uniquement 20 pour calculer le bit de syndrome "un", etc. Par exemple, le bitde syndrome "zéro" SO O est le complément de la somme modulo deux du bit de contrôle "zéro" et des bits d'information 8 à 15, comme le montre l'équation logique au bas de la figure 59 o De même, chacun des bits de syndrome SI à 55 est créé à partir de la somme modulo deux d'un bit de contrôle correspondant et de huit des bits d ' information, -comme le montrent les connexions aux lignes particulières de bits d'information pour chaque bit de syndrome dans la partie de schéma logique de la 30 figure 39. La présence ou l'absence d'erreurs-et les types d'erreurs, la cas échéant, sont indentifiés par la traduction de la valeur des six bits de syndrome dans la ligne 491 La table: énumère les soixante-quatre valeurs possibles 35 du code de syndrbme de six bits et elle donne la traduction de chaque valeur possible. TABLE 1 CODE DE SYNDROME SI 52 53 54 55 o o o o o o o o I O 0 O 1 O 0 _ O 1 1. 0 I O O 0 1 0 1 0 1 1 O 0 O O 1 I 1 1 O 0 1 O 0 0 O O O 1 0 0 1 0 *0 O 1 i 0 1 0 0 0 1 0 1 ' 0 1 1 O 0 1 1 1 0 1 0 0 0 0 0 O 0 1 O O 1 O O O O 1 1 o o I I 0 i O O ERREUR (aucune erreur) C 5 C 4 (Double) C 3 (Double) (Double) DO C 2 (Double) (Double) (Multiple) (Double) Dl D 2 (Double) Ci (Double) (Double) D 3 (Double) Sl 52 53 54 55 O O O O 0 O O 1 0 O 1 O 0 O 1 1 0 I O O 0 1 O 1 0 1 1 O o 1 1 I 1 O 1 O O 0 O O 1 i 0 O 1 O 0 O 1 1 0 i O O 0 I O 1 o 1 1 O O 1 1 1 1 1 O O O O 0 O' O I O O 1 O 0 O 1 1 0 1 0 O ERREUR C O (Double) (Double) D 8 (Double) D 9 DIO (Double) (Double) Dl I (Multiple tous les bits sont à O (Double) D 12 (Double) (Double) (Multiple) (Double) D 13 D 14 (Double) (multipie) o -Ab ru Z.g o CODE DE SYNDROlE s O sl SO, 51 0 0 o O O 0 0 0 O O - 52 53 54 55 ERREUR 1 O 1 (Multiple Tous les bits sont à 1) 1 1 0 D 4 1 1 1 (Double) 1 O O O (Double) O O 1 D 5 0 1 O D 6 0 1 I (Double) * v e dp 1 O 1 (Double) I 1 O (Double) 1 1 1 (Multiple) S 82 5 54 -s ERREU Rs 1 O 1 (Double) 0 0 1 1 0 0 O 0 O O O 0 0 0 O. O 1 1 1 1 1 0 0 O O O 1 0 1 I O O 1 O 1 1 1 I 0 1 0 1 I O (Double) (Multiple) D 15 (Double) (Double) (Multiple) (Double) (I'Multiple) (Multiple) (Double) -. AINSI, (Nombre d O BIT 1 BIT Le bits à 1 dans le syndrome) -PAS D'ERREUR ERREUR DU BIT DE CONTROLE 2 BITS ERREUR DOUBLE 3 BITS 4 Bl TS 5 BITS 6 BITS ERREUR ERREUR MUTIPTLE DOUBLE ERREUR DU BIT D' INFOPJRIATION ERREUR DOUBLE ru -O -c> co r> Par exemple, si tous les bits de syndrome SO à 55 sont à zéro, il n'y a pas d'erreur dans la zone d'information ni dans la zone de contrôle C'est l'état représenté à gauche en haut de la table 1 I La présence ou l'absence d'erreurs et le type d'erreur sont résumés au bas de la table 1. Dans ce résumé, lorsque tous les six bits de syndrome sont à l'état zéro", il n'y a pas d'erreur comme on l'a noté ci-dessus. Si un seulement des six bits de syndrome est à "un" ceci indique une erreur dans le bit de contrôle correspondant On doit bien noter qu'a ce stade les erreurs de bits de contrôle sont des erreurs de bits uniques qui ne nécedsitent pas de correction du mot contenant les données. Comme l'indique également le résumé au bas de la table 1, lorsque deux bits sont à "un", il y a une double erreur de bit et ces deux erreurs pourraient être a) une erreur dans un bit d'information et une erreur dans un bit de contrôle ou b) deux erreurs dans les bits d'information ou c) deux erreurs dans les bits 20 de contrôle. Lorsque trois bits sont à "un" dans le code de syndrome de six bits, cet état peut correspondre soit à une erreur de bit d'information unique, soit à une erreur multiple. Un exemple d'erreur de bit unique dans un bit d'information est donné par le code de syndrome I I 1 O O O qui indique une erreur de bit unique dans le bit d'information D 15 en bas et à droite de la table 1 Comme on le décrira plus en détail ci-dessous, le décodeur de syndrome 485, représenté aux figures 57 et , produira l'inversion (correction) de la valeur incorrecte du 50 bit 15 d'information. Le décodeur de syndrome 485 fournit deux fonctions. Tout d'abord, il fournit une entrée au complémentateur 487 de bits d'information, représenté à la figure 57, par l'intermédiaire de la ligne 495 dans le cas d'erreurs de bits d'infor35 mation uniques; cette entrée produit l'inversion du bit erroné à l'intérieur du complémentateur 487 de bits d'information. Ensuite, le décodeur de syndrome 485 fournit l'un des deux signaux d'erreur dans le cas d'erreur. Une erreur de bit de contrôle ou de bit d'information uni40 que est transmise par la ligne 495 d'ERREUR UNIQUE à la logique 475 de commande et de synchronisationo Une indication d'erreur multiple est transmise par la ligne 497 d'ERREUR MULTIPLE à la logique 475 de commande et de synchronisation I Un signal d'ERREUR MULTIPLE est créé dans tous les cas d'erreurs de bits doubles et dans la plupart des cas d'erreurs de bits triples ou davantage Ce signal d'ERREUR MULTIPLE, comme on l'a noté cidessus, produit une interruption de l'unité centrale 105 Voir figure 34. L'architecture du décodeur de syndrome 485 est représentée en détail à la figure 40 Le décodeur de syndrome 485 comprend un décodeur 507, un arbre 509 de parité de six bits et une logique 511 d'identification d'erreur. Le décodeur 507 décode cinq des six bits de syndrome, les 15 bits 51 à 55, afin de fournir l'information suffisante (trentedeux sorties) pour créer à la fois les types d'erreurs (qu'il s'agisse d'erreurs uniques ou d'erreurs doubles ou multiples) et les seize lignes de sortie nécessaires à l'inversion des erreurs de bits d'information dans les seize bits d'informa20 tion Ces seize lignes de sortie nécessaires à l'inversion des erreurs de bits d'information sont indiquées d'une manière générale par la ligne 493 et elles sont identifiées individuellement par les références TO i T 15 à la figure 40. Les sorties du décodeur 507 qui ne sont pas connectéesà 25 la porte OU 512, corresponcó,nt aux erreurs dans les six bits de contrôle Les erreurs da:s les six bits de contrôle n'ont pas besoin d'être corrigées puisque ces erreurs ne sont pas des erreurs de bits d'inforn tion) et ces sorties du décodeur ne sont donc pas utilisées. Les autres sorties, c'E It-à-dire celles qui sont connectées à la porte OU 512, représent nt des erreurs doubles ou multiples et elles sont indiquée E de cette façon par les légendes à la figure 40 Tous ces cas E:at recueillis par la porte OU 512 et ils constituent un élément du signal d'erreurs multiples transmis dans la ligne 407 c la sortie de la logique 511 d'identification d'erreurs. Conmme le montre égaleme:t la figure 40, le décodeur de syndrome 45 comprend un arbr 4 e parité 509 qui forme la somme modulo deux des bits de syndrome SO à 55. La sortie paire ou imp re résultante de l'arbre de parité 1 I'A 509 correspond aux classes d'erreurs mentionnées au bas de la table 1. Ainsi, la sortie PAIRE 514 correspond à des syndromes contenant zéro bit à "un"' deux lits à "un", quatre bits à "un" ou six bits à "un". Le syndrome PAIR correspondant à zéro bit à "un" (aucune erreur) est exclu du signal 497 de sortie d'ERREUR MULTIPLE par une porte ET 515 qui exclut le cas de syndrome zéro (l'autre signal d'entrée qui va du décodeur 507 à la porte 515). Les syndromes contenant deux bitsà "un", quatre bits à "unl ou six bits à "un" sont ainsi les seuls autres syndromes PAIRS qui se combinent au signal MULTIPLE pour constituer les erreurs multiples transmises par la ligne de sortie 497 d 'ERREUR MULTIPLE. Une sortie n'est souhaitée dans la ligne 495 indicatrice d'ERREUR UNIQUE que pour les erreurs de bits uniques Comme la sortie impaire de l'arbre de parité 509, par la ligne 510, correspond à un bit à "un" (erreur de bit de contrôle), à trois bits à "un" (erreur de bit d'information ou erreurs de 20 bits multiples) ou à cinq bits à "un" (erreurs de bits multiples) dans le syndrome de six bits, comme l'indique le résumé au bas de la table 1, la sortie impaire par la ligne 510 doit être validée de manière à ne transmettre que des erreurs de bits uniques à la ligne 495 par l'intermédiaire de la logique 25 511 Les codes de syndrome de trois bits correspondant aux erreurs de bits multiples et tous les codes de syndrome de cinq bits doivent donc être exclus, de sorte que seules les erreurs de bits uniques sont transmises par la ligne 495 Cette opération est effectuée par un inverseur 517 et une porte ET 30 519. Une sortie d'ERREUR UNIQUE est créée dans la ligne 495 pour les codes de syndrome qui contiennent un seul bit à "un" (erreur de bits de contrôle) et aussi pour les codes de syndrome quiicontiennent trois bits à "un" correspondant à des erreurs de bits d'information Comme on l'a noté cidessus, la sortie impaire de l'arbre 509 de parité indique des syndromes co: contenant -i, trois ou cinq bits à "un" L'inverseur 517 et la porte ET 719 excluent les syndromes de trois bits d'erreurs multiples,t tous les syndromes de cinq bits Ainsi, la sortie 40 495 d'ERR It R UNIQUE ne comprend que des erreurs de bits de = 2547082 contrôle unique et des erreurs de bits d'information uniques. Les erreurs de bits de contrôle uniques n'ont -pas besoin d'être corrigéeset les erreurs de bits d'information uniques sont cor rigsées par le complémentateur 487 ie bits. Les équations -logiques pour l'ERREUR MULTIPLE et L'ERREUR UNIQUE, mentionnées au bas de la figure 40, représentent l'opération décrite ci-dessus. Il y a des erreurs de trois bits ou davantage qui ne sont pas identifiées comme des erreurs multiples et qui, en fait, 10 peuvent être identifiées incorrectement comme N 'étant pas des erreurs ou comme étant des erreurs de bits uniques (erreurs co I rigibles) Cependant, le modèle normal de génération d'erreurs est tel que la détérioration du stockage en mémoire est normalement détectée avant que des erreurs de bits triples ne se produisent Par exemple, le modèle normal de détérioration du stockage en mémoire impliquerait d'abord une erreur de bit uni. que provenant d'un bruit ou de la défaillance d'un composant, elle impliquerait ensuite une Ereur de bit double provenant dl' autre défaillance, etc et les erreurs de bits doubles seraien 20 détectées avant que puissent se développer les erreurs de bits triples ou davantage. Le complémentateur 489 de bits d'information,représenté à la figure 37, a pour fonction d'inverser des erreurs de bits d'information détectées par le décodeur 485 de syndrome. La figure 41 représente des détails d'architecture du cou plémentateur487 de bits Comme le montre la figure 41, le cou plémentateur 487 de bits est réalisé par des portes 513 OU exclusif Chacune de ces portes 513 inverse un bit d'informatio: donné dans une ligne 489 % lorsqu'une sortie correspondante du décodeur est validée dans une ligne 493. La sortie corrigée est transmise ensuite dans une ligne, sortie 437 du complémentateur 487 de bits, constituant la sor tie de ce module de mémoire physique. Ceci complète la description du système de détection et de correction d 'erreurs. Le système de mémoire qui fait partie de la présente invention offre plusieurs caractéristiques significatives. Tout d'abord, le relevé de la mémoire fournit quatre emplacements séparés et distincts d'adresses logiques: le cod E du mystème, les dbnnées du système, le code de l'utilisateur les données de l'utilisateur, et il fournit une traduction des adresses logiques en adresses physiques, dans ces emplacements d'adresse. La division de la mémoire logique en quatre emplacements d'adresses isole les programmes du système des interventions des programmes de l'utilisateur et elle protège les programmes du système contre toute erreur de l'utilisateur La division en quatre emplacements d'adresses logiques fournit également une séparation du code et des données, aussi bien pour le code 10 et les données de l'utilisateur que pour le code et les données du système Ces caractéristiques fournissent l'avantage de programmes non modifiables. Il existe des zones particulières dans chaque entrée de relevé pour cette traduction d'adresses de pages et pour d'au15 tres états particuliers. Une zone permet de traduire les adresses de pages logiques en adresses de pages physiques. Une autre zone fournit une indication d'absence Cette zone est un bit d'absence qui permet la réalisation d'un plan de 20 mémoire virtuelle dans lequel les pages logiques peuvent résider dans une mémoire auxiliaire. Une autre zone est une zone historique de référence Cette dernière zone permet de maintenir l'information concernant la fréquence d'utilisation à la disposition de la fonction de ges25 tion de la mémoire du système d'exploitation, afin de rendre performant le plan de la mémoire virtuelle Les pages d'accès frequent sont retenues dans la mémoire centrale et les pages d'utilisation peu fréquente sont sélectionnées pour le recouvrement nécessaire. Une zone de bit-clé est maintenue dans chaque entrée du relevé des données du système et du relevé des données de l'utilisateur, de sorte que les pages de données non modifiées peuvent être identifiées Ces pages étant ainsi identifiées ne sont pas transférées dans la mémoire auxiliaire car une copie valide de 35 cette page de données se trouve déjà présente dans la mémoire auxiliaire. Le système de mémoire inclut une logique de commande de la mémoire à relevé qui maintient automatiquement l'information des bits-clés et des bits de référence lorsque l'unité centrale et 40 le canal d'entrées-sorties accèdent à la mémoire. - À, 2547082 Le système de mémoire de la-présente invention fournit trois instructions de l'unité centrale, c'est-à-dire l'instruction d'insertion des données dans une entrée de relevé SMAP, l'instruction de lecture d'une entrée dé relevé RPÂAP et l'instruction 5 de décalage d'une entrée de relev 6 AMAP, qui sont utilisées par la fonction de gestion de la mémoire du système d'exploitation pour maintenir et utiliser l'information dans le relevé. Le système de mémoire de la présente invention comprend un accès à la mémoire à double entrée La mémoire est accessible séparément par l'unité centrale et par le canal d'éntrées-sorties Les accès à la -mémoire par le canal d'entrées-sorties n'ont pas besoin d'impliquer l'unité centrale et cette dernière peut remplir d'autres fonctions pendant qu'une transmission de données en entrées-sorties est effectuée dans ou hors de la mémoire. L'opération d'accès à la mémoire à double entrée comprend également un arbitrage effectué par la logique de commande de la mémoire à relevé, au cas o l'unité centrale et le canal d'entrées-sorties tenteraient un accès simultané à la mémoire En cas d'accès simultané, le canal d'entréessorties est prioritaire et l'unité centrale attend jusqu'à ce que l'accès particulier du canal d'entrées-sorties soit terminé. La mémoire physique peut être étendue par l'adjonction de modules de mém Qire physique Les modules de mémoire physique comprennent, dans le cas de la mémoire à semiconducteurs, une détection et une correction d'erreurs à certaines conditions O Les erreurs uniques sont détectées et corrigées de sorte que l'unité centrale et le canal d'entrées-sorties peuvent continuer à fonctionner, même lorsqu'une défaillance passagère ou permanente se produit dans le module de mémoire physique Le système de détection et de correction d'erreurs comprend un mot de vingt-deux bits dans le moynn de stockage Seize bits représentent les données et six bits fournissent une zone de contrôle de détection et de correction d'erreurs La zone de contrôle de six bits permet la détection 35 et la correction de toutes les erreurs uniques et la détection de toutes les erreurs doubles. La mémoire à tores inclut la parité pour la détection d'erreurs uniques Dans l'ensemble du systèr; de traitement par multiproces40 seurs qui fait l'objet de la /résente invention, chaque module de processeur comprend son propre système de mémoire centrale. Puisque chaque module de processeur possède son propre système de mémoire, on évite les problèmes de partage de mémoire dans un système de multitraitement. Des problèmes de partage de mémoire dans un système de multitraitement comprennent la réduction de la largeur de bande de mémoire disponible pour un processeur particulier, du fait de l'encombrement, et cette réduction de la largeur de bande de mémoire disponible devient plus importante lorsque des unités centrales supplémentaires sont combinées avec une mémoire commune unique. Les problèmes de blocage concernant les communications entre les unités centrales, à l'aide de zones prévues dans une mémoire commune, sont évités par la présente invention qui ne comprend pas de mémoire commune mais qui, au contraire, fournit des communications entre les modules de processeur par un systume de communication par lignes entre les processeurs. Une difficulté supplémentaire d'une mémoire commune réside dans le fait qu'une défaillance de la mémoire commune peut avoir 20 comme résultat une défaillance simultanée de plusieurs ou de toutes les unités centrales du système Ce qui revient à dire que, dans un système à mémoire commune, une défaillance unique de la mémoire peut immobiliser le système en totalité ou en partie, alors que la défaillance d'une mémoire ne paralysera pas 25 le système de traitement par multiprocesseurs qui fait l'objet de la présente invention. L'accès à la mémoire à double entrée par l'unité centrale et par le canal d'entrées-sorties est possible grâce à l'utilisation de registres d'adresses séparés et de registres de don30 nées séparés vers et venant de la mémoire. L'unité centrale possède un registre particulier, le registre d'instruction suivante NI, en particulier pour recevoir des instructions de la némoire Ce registre séparé et particulier permet une prise en charge simultanée de l'instruction sui35 vante pendant l'exécution de l'instruction en cours, qui peut impliquer l'extraction de données de la mémoire En-conséquence, à la fin d'une instruction en cours, l'instruction suivante peut être déclenchée immédiatement sans qu'il faille attendre une prise en charge de l'instruction,. Le relevé est constitué pour fournir un accès significa- I 49 tivement plus rapide que l'accès à la mémoire physique central E Cette caractéristique présente plusieurs avantages dans la traduction des adresses par l'intermédiaire du relevé. Il en résulte que, dans le système de mémoire qui fait partie de la présente invention, le relevé peut être récrit per dant que l'accès à la mémoire physique est en cours. Du fait que la réécriture est tellement rapide, la réécriture du relevé n'augnmente pas la durée du cycle de base de la mémoire. De même, la vitesse élevée à laquelle le relevé est accessible, réduit la durée totale y compris la traduction des pages nécessaires à un accès à la mémoire. La parité est maintenue et contrôlée dans la mémoire à relevé effective elle-même Ceci fournit une indication immédiat( 15 de toute défaillance qui pourrait survenir dans la mémoire à relevé, avant qu'un fonctionnement incorrect résultant ne puis: survenir dans le rodule de processeur. La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au contraire 20 susceptible de variantes et de modifications qui apparaîtront i l'homme de l'art. REVENDICATIONS 1 Système de traitement par multiprocesseurs comprenant: au moins deux modules de processeurs indépendants, chaque module comportant une unité centrale, une mémoire principale et un canal d'entrées sorties; au moins deux lignes de connexion entre processeurs, chaque ligne étant connectée aux modules de processeurs séparés afin de transférer des signaux et des données entre les modules de processeurs; au moins un organe de commande d'appareil monté entre les modules de processeurs et adapté pour être connecté à des appareils périphériques en vue de commander le transfert des données entre chaque module de processeur et l'appareil périphérique correspondant, l'organe de commande d'appareil comportant au moins deux entrées séparées qui sont chacune 15 adaptées pour être connectées à un module de processeur; plusieurs lignes d'entrées sorties distinctes des lignes de connexion entre processeurs, chaque ligne d'entrées sorties étant disposée entre le canal d'entrées sorties d'un module de processeur et une entrée de l'organe de commande d'appareil 20 de façon k connecter un organe de commande d'appareil k au moins deux modules de processeurs; système caractérisé par le fait qu'il comprend en outre: des moyens dans chaque module de processeur pour envoyer un signal de commande prédéterminé depuis chaque module de 25 processeur en direction de chacun des autres modules de processeurs par l'intermédiaire de la ligne de connexion entre processeurs; des moyens dans chaque module de processeur pour recevoir le signal de commande prédéterminé issu d'un autre module de processeur et pour détecter que cet autre module de processeur est défaillant Iorsque le signal de commande prédéterminé n'a pas été reçu après une période de temps prédéterminée; des moyens dans chaque module de processeur pour transférer, par l'intermédiaire de la ligne de connexion entre processeurs, à un autre module de processeur, des informations associées à un programme d'application résidant dans les modules de processeurs; et des moyens dans chaque module de processeur pour indiquer à un programme d'application qu'un module de processeur est 5 défaillant afin de commencer le traitement des informations transférées, et de faire passer les opérations en cours du module de processeur défaillant à l'autre module de processeur. 2 Système de traitement par multiprocesseurs comprenant: au moins trois modules de processeurs indépendants, chaque module-comportant une unité centrale, une mémoire principale et un canal d'entrées sorties; au moins deux lignes de connexion entre processus, chaque ligne étant connectée aux modules de processeurs séparés afin de transférer des signaux et des données entre les modules de processeurs; au moins deux organes de commande d'appareil montés entre les modules de processeurs et adaptés pour être connectés à des appareils périphériques en vue de commander le transfert des données entre chaque module de processeur et-l'appareil périphérique correspondant, chaque organe de commande d'appareil comportant20 au moins deux entrées séparées qui sont chacune adaptées pour être connectées à un module de processeur; des moyens dans chaque module de processeur pour indiquer à un programme d'application qu'un module de processeur est défaillant afin de commencer le traitement des informations transférées, et de faire passer les opérations en cours du module de processeur défaillant à l'autre module de processeur; et des moyens dans chaque module de processeur pour commander l'organe de commande associé, par l'intermédiaire de la ligne d'entrées sorties afin que chaque appareil périphérique puisse effectuer des 30 opérations simultanées d/ r ::/ / ' \