FR 2473197 A1 19810710 FR 7727011 A 19770906 La présente invention se rapporte à un système de traite- ment par multiprocesseurs dans lequel des modules de proces- seurs interconnectés assurent un multitraitement (traitement en simultanéité dans des modules de processeurs séparés) et une multiprogrammation (traitement imbriqué dans un seul modu- le de processeur). La présente invention concerne, en particulier, un systè- me capable de supporter des débits élevés de données de mouve- ments vers d'importants fichiers centraux en liaison directe avec l'ordinateur, et dans lequel une défaillance d'un compo- sant unique ne peut ni arrêter ni affecter le fonctionnement du système. De nombreuses applications exigent un traitement en di- rect avec l'ordinateur de quantités importantes de données à des débits élevés de mouvements. Ce traitement est, par exem- ple, nécessaire dans les applications relatives au commerce de détail en ce qui concerne les points de vente automatisés, les inventaires et les opérations de crédit et dans les établisse- ments financiers pour les virements automatisés de fonds et les opérations de crédita Dans des applications de calcul de ce genre il est impor- tant, et souvent critique, que le traitement des données ne soit pas interrompu. Une défaillance d'un système de traite- ment en liaison directe avec l'ordinateur peut paralyser une partie de la gestion concernée et causer des pertes importantes de données et d'argent. 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 simul- tanément, mais également un mode d'exploitation qui permet de continuer sans interruption le traitement des données en cas de défaillance d'un composant du système. Le système doit être conçu soit pour fonctionner même en cas d'incident grave (auquel cas l'incident ne donne lieu à aucune perte de capacité de traitement), soit pour fonctionner en mode "dégradé" (dans lequel il se produit un certain ralen- tissement mais la capacité totale de traitement est maintenue) en cas de défaillance. En outre, le système doit également fonctionner de telle manière qu'une défaillance d'un composant unique ne peut affec- 2 P247Â9 r7 ter l'exploitation du système. Le système doit fournir un cal- cul qui tient compte 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 res- te du système. Comme un module unique de processeur peut avoir une dé- faillance, il est évident qu'un système fonctionnant sans in- terruption en liaison directe avec l'ordinateur doit comporter plus d'un module de processeur. Les systèmes qui comprennent plus d'un module de proces- seur peuvent donc satisfaire à l'une des conditions nécessai- res à une exploitation non interruptible. Cependant, l'utilisa- tion de plus d'un module de processeur dans un système ne réu- nit pas, par elle-même, toutes les conditions suffisantes au maintien des capacités requises de traitement en cas de défail- lance d'un composant, comme le montrera clairement la descrip-_ 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 orien- tés vers les données de mouvements, et qui doivent fonctionner sans interruption, nécessitent donc des multiprocesseurs com- me point de départ. Mais l'utilisation de multiprocesseurs ne garantit pas que toutes les conditions suffisantes seront sa- tisfaites et l'accomplissement des conditions suffisantes sup- plémentaires pour les systèmes de ce genre en liaison directe avec l'ordinateur a présenté un certain nombre de difficultés dans l'art antérieur. L'art antérieur a abordé le problème du traitement inin- terrompu des données en suivant généralement deux méthodes: soit en adaptant deux ou plusieurs gros ordinateurs monolithi- ques universels en vue d'une exploitation en commun, soit en 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 universels en vue d'une exploi-- tation en commun, une méthode classique d'approche suivant l'art antérieur consiste à faire partager aux deux ordinateurs une mémoire commune. Mais dans un système de multitraitement de ce type, une défaillance de la mémoire commune peut paralyser tout le système. La mémoire commune soulève également un cer- tain nombre d'autres difficultés, y compris la mise en séquen- ce des accès à cette mémoire commune. Bien qu'il satisfasse à certaines des conditions nécessaires à un traitement non in- terruptible, ce système ne répond pas à toutes les conditions suffisantes. En outre, les systèmes de multitraitement qui utilisent de gros ordinateurs universels sont plutôt coûteux car chaque ordinateur est construit sous la forme d'un ensemble monolithi- que 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 sys- tème, même si de nombreux composants doublés ne sont pas néces- saires. L'autre approche du problème suivant l'art antérieur, qui consiste à utiliser plusieurs miniordinateurs, présente (en com- mun avec la solution qui consiste à utiliser de gros ordinateurs 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é constitués pour assurer une telle liaison. En conséquence, les liaisons nécessaires sont habituellement établies par l'in- termédiaire du canal d'entrées-sorties. Les liaisons par l'inter- médiaire du canal d'entrées-sorties sont nécessairement plus lentes que les échanges à l'intérieur du processeur lui-même et ces liaisons entre processeurs assurent donc des communications relativement lentes entre les processeurs. En outre, les liaisons entre processeurs exigent des car- tes 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 pourraient 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 plus sensiblement le coût de l'ensemble du système. le doublement des liaisons et des cartes d'adaptation entre tous les processeurs est devenu très encombrant et plutôt com- plexe du point de vue de l'exploitation. Une autre difficulté de l'art antérieur réside dans la ma- nière dont les connexions sont faites aux appareils périphéri- ques. 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 pro- cesseur a une défaillance, les appareils périphériques seront alors indisponibles pour le système, même si le processeur dé- faillant est connecté par une liaison entre processeurs à un ou plusieurs autres processeurs du système. Afin d'-éviter cette difficulté, on a prévu dans l'art an- té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é- faillance d'un processeur relié aux appareils périphériques par une ligne particulière d'entrées-sorties. Ues commutateurs de lignes sont coûteux et ils présentent également le danger de défaillances individuelles qui pourraient provoquer la cou- pure 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 multitraitement tendent à être inexistants. Lors- 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é à l'adjonction de pro- cesseurs supplémentaires. 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ûteu- seo 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'adjoindre 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 de la présente invention est de fournir un système de traitement par multiprocesseurs, en vue d'applica- tions en liaison directe avec l'ordinateur et orientées vers les données de mouvements, qui élimine les difficultés rencontrées dans l'art antérieur. Un objet fondamental de la présente invention est d'assu- rer qu'aucune défaillance individuelle ne peut immobiliser le système ni affecter de manière significative l'exploitation du système. A cet égard, le système qui fait l'objet de la présen- te 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 cor- rigée, détectée ou empêchée d'affecter le système est un objet en étroite relation avec la présente invention. 13 La présente invention a encore pour objet important de fournir une structure de système et un mode fondamental d'ex- ploitation qui libèrent l'utilisateur de la nécessité d'inter- venir dans le matériel composant le système et dans le protocole de liaison entre les processeurs. Dans la présente invention, chaque composant principal se présente sous une forme modulaire de manière à pouvoir être démonté ou remplacé sans qu'il soit nécessaire d'immobiliser le système. En outre, ce dernier peut être élargi sur place (soit horizontalement par l'adjonction de modules standards de processeurs, soit verticalement dans la plupart des cas par l'adjonction d'appareils périphériques, sans interruption du système ni modification du matériel ou du lo- giciel. Le système de traitement par multiprocesseurs qui fait l'ob- jet de la présente invention se compose de plusieurs modules de processeurs indépendants et de plusieurs circuits indépendants de données. Dans un exemple particulier de réalisation de la présente invention, 16 modules séparés de processeurs sont interconnec- tés par l'intermédiaire d'une ligne entre processeurs en vue du multitraitement et de la multiprogrammation. Dans cet exemple particulier de réalisation, chaque module de processeur supporte jusqu'à 32 organes de commande d'appareils et chacun d'eux peut commander jusqu'à huit appareils périphériques. Plusieurs circuits et sorties indépendants sont prévus entre tous les composants principaux du système pour assurer 6 2473197 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ériphériques, et pour assurer également qu'une défaillance unique n'arrêtera pas l'exploita- tion du système. Ces multiples circuits de liaison comprennent des lignes multiples interconnectant chacun des modules de processeurs, des sorties multiples dans chaque organe de commande des appareils et des lignes d'entrées-sorties connectant chaque organe de commande des appareils pour permettre l'accès par deux modules différents de processeurs au moins. 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 qui 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 pro- cesseurs 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 disponibilité d'une nouvelle ressource exploitable au sein du système d'exploitation existant, sans qu'il faille modifier ni le matériel ni le logiciel du système0 Pour augmenter ses performances et maintenir des débits très élevés de mouvements, chaque module de processeur comprend un deuxième microprocesseur qui est consacré aux opérations d'entrées-sorties0 Un accès à double entrée à la mémoire centrale, par l'in- termédiaire de l'unité centrale et du canal d'entrées-sorties, permet un accès direct à la mémoire pour les transferts d'en- 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 plaquet- tes pour chaque module de processeur ménage une place pour l'ensemble des programmes et réduit au minimum la longueur de 7 2473197 la liaison entre processeurs, requise pour interconnecter tous les modules de processeurs. Une liaison relativement courte entre processeurs réduit au minimum la distorsion des signaux dans la liaison entre processeur et permet une vitesse élevée de commu- znication entre les processeurs. Chaque ligne entre processeurs est une ligne synchrone à grande vitesse qui réduit au minimum la servitude dans les com- munications 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 trans- missions sur la ligne. Le contrôleur de ligne inclut une logique de sélection de processeur pour déterminer la priorité d'échange de données entre deux modules quelconques de processeurs sur la ligne entre processeurs. Le contrôleur de ligne comprend égale- ment un é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'informations sur la ligne entre la paire émettrice-réceptrice de modules de processeurs. Chaque contrôleur de ligne comprend une horloge de ligne 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 processeurs du module de processeur, un certain nombre de circuits montés sur des plaquettes à circuits imprimés et qui sont consacrés aux communications par les lignes entre proces- seurso Chaque commande entre processeurs comprend également des mémoires-tampons à accès rapide (mémoires-tampons en file d'at- tente et une mémoire-tampon hors de la file d'attente) qui peu- vent être vidées et remplies par l'unité centrale sans perturber la ligne entre les processeurs. Ceci permet de maintenir dans la ligne entre processeurs un débit de données supérieur à celui que pourrait maintenir n'importe quelle paire unique de processeurs0 Plusieurs échanges de données entre les paires de modules de pro- cesseurs peuvent être imbriqués sur une base apparemment simul- tanée. Du fait que la ligne entre processeurs fonctionne de manière asynchrone par rapport à chaque unité centrale particulière, cha- que mémoire-tampon en file d'attente et hors de la file d'atten- te est rythmée par le module de processeur ou par le contrôleur de ligne, mais pas par les deux simultanément. Par conséquent, à chaque mémoire-tampon en file d'attente et à chaque mémoire-tampon hors de la file d'attente sont asso- ciées, dans la commande entre processeurs, une logique qui fonc- tionne en synchronisme avec l'horloge de ligne et une autre lo- gique qui fonctionne en synchronisme avec l'horloge de l'unité centrale. Les verrouillages logiques déterminent certains passa- ges 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 que, 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. Une baisse d'alimentation du module de processeur sur une ligne entre processeurs ne troublera donc pas l'activité d'une autre ligne entre processeurs. 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 si- multanément au traitement par les unités centrales, de sorte qu'il n'y a aucun gaspillage de la puissance de traitement. Cet- te gestion des lignes est réalisée avec une faible servitude envers le protocole du fait qu'il faut très peu de cycles de li- gnes entre processeurs pour établir un échange de lignes (quels que soient le module de processeur qui est émetteur et le module 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 proces- seur. Les lignes de sélection sont utilisées de trois manières dans le protocole d'établissement d'une paire émettrice-récep- trices de modules de processeurs et d'une base de temps pour l'échange d'informations sur la ligne entre la paire émettrice- réceptrice. Les lignes de sélection sont utilisées a) en balaya- ge pour déterminer quel module particulier de processeur est 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'émis- sion pour faire connaître au module du processeur émetteur l. base de temps afin d'émettre. Le module du processeur récepteur est qualifié pour recevoir des données "en entrée" non sollicitées par lui et sans instruc- tion du programme. Les blocs de données entre une paire émettrice-réceptrice de modules de processeurs sont transmis en paquets par la ligne reliant les processeurs.A la fin de chaque transmission de pa- quet, la commande entre processeur d'un module de processeur ré- cepteur est déconnectée logiquement de la ligne entre processeurs pour permettre à la logique de l'état de contrôle des lignes de mettre en séquence une paire différente émettrice-réceptrice de modules de processeurs ainsi qu'une base de temps, afin d'effec- tuer une transmission de paquet entre l'autre paire émettrice- réceptrice de modules de processeurs. Ainsi, comme on l'a noté ci-dessus, plusieurs transmissions de blocs de données entre différentes paires émettrices-réceptrices de modules de proces- seurs 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, compa- rativement à la vitesse plus faible de la mémoire des modules de processeurs. Chaque mémoire de module de processeur comprend une mémoire- tampon séparée pour chaque combinaison d'un module de processeur et d'une ligne entre processeurs. Chaque mémoire inclut également une table de réception de ligne pour diriger les données "en entrée" venant d'une ligne entre processeurs vers une position déterminée d'une mémoire- tampon correspondante de la mémoire d'un module de processeur récepteur. Chaque table de réception de ligne fournit une entrée de table de réception de ligne qui contient l'adresse dans la- quelle doivent être mémorisées les données "en entrée", et le nombre de mots attendus du module de processeur émetteur. L'en- trée de la table de réception des lignes est mise à jour par des micro-instructions dans le module du processeur après la récep- tion de chaque paquet et elle opère avec les micro-instructions soit.pour fournir une interruption de programme lorsque le bloc 247319? 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 données dans la ligne entre proces- seurs. La production d'une interruption du programme à la fin seulement de la transmission du bloc de données permet de ren- dre la transmission de données transparente au programme du lo- * giciel en cours de déroulement dans le module de processeur. L'interruption en réponse à la détection d'une erreur fournit 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 individuel- le de module de processeur ne peut gêner l'exploitation du sys- tème. En outre, le sous-système d'entrées-sorties est constitué pour traiter des données à des débits très élevés de mouvements, pour optimiser la capacité de traitement et pour réduire au minimum les perturbations des programmes en cours de déroule- ment dans les modules de processeurs. Comme 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'entrées-sorwles est un système à interruptions et il ne fournit une interruption de programme que lorsque la transmission des données est terminée. Ceci libère l'unité cen- trale de son rôle vis-à-vis de l'appareil pendant la transmis- sion des données. Chaque canal d'entrées-sorties est multiplexé par blocs pour traiter plusieurs transmissions de données par blocs de- puis plusieurs organes de commande sur une base apparemment si- multanée. Pour accomplir cette fonction, on imbrique des tran- ches de données de longueur variable dans les transmissions en- tre le canal d'entrées-sorties et les mémoires-tampons des or- 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ées- sorties est connectée à chaque entrée, de sorte que chaque or- gane de commande est connecté par l'intermédiaire d'au moins deux modules de processeurs différents. Les entrées de chaque organe de commande sont constituées de telle sorte que chacune d'elles est logiquement-et matériel- lement indépendante de l'autre. Aucune partie de composant d'u- ne entrée ne constitue en même temps un composant d'une autre entrée, de sorte qu'aucune défaillance individuelle d'un compo- sant d'une entrée ne peut affecter le fonctionnement d'une autre entrée. Chaque organe de commande inclut une logique qui assure la sélection d'une entrée d'accès seulement à la fois, de sorte que la transmission de données erronées à une entrée ne peut jamais affecter une autre entrée. Le système d'entrées-sorties qui fait l'objet de la présen- te invention relie les appareils périphériques en mode "dégradé". Il existe plusieurs circuits conduisant à chaque appareil parti- oulier pour le cas d'une défaillance dans un circuit. Et une dé- faillance de l'appareil ou une défaillance du module de proces- seur situé le long d'un circuit n'affecte pas l'exploitation d'un module de processeur sur un autre circuit conduisant à l'ap- pareil. Le système d'entrées-sorties qui fait l'objet de la présen- te invention est également constitué de telle sorte que n'impor- te quel type d'appareil peut être placé dans le système et le système d'entrées-sorties utilisera encore au maximum la lar- geur de bande du canal d'entrées-sorties. Les organes de commande sont équipés d'une mémoire-tampon de sorte que toutes les transmissions entre les organes de com- mande et le canal d'entrées-sorties s'effectuent au débit maxi- mal du canal. L'organe de commande peut transmettre entre lui-même et un appareil périphérique, des données sous forme de multiplets, mais l'organe de commande doit condenser et séparer les données afin de transmettre des mots entre lui-même et le canal d'entrées- sorties. Comme les mémoires-tampons sont disposées dans les organes de commande plutôt que dans le canal d'entrées-sorties, la pré- sente invention limite la mise en mémoire-tampon à celle qui est requise par une composition particulière du système. La présente invention ne nécessite pas une mémoire-tampon séparée pour chaque appareil périphérique afin d'éviter des surcharges, comme ce se- rait nécessaire si les mémoires-tampons étaient situées dans le 247319-7 canal d'entrées-sorties plutôt que dans les organes de commande comme cela était souvent le cas dans l'art antérieur. Comme on l'a noté ci-dessus, chaque mémoire-tampon est sen- sible aux contraintes et ceci procure un double avantage. Tout d'abord, chaque mémoire-tampon peut être constituée de manière à posséder une profondeur totale en relation avec le type et le nombre d'appareils à desservir. Chaque organe de commande peut donc comporter une mémoire-tampon dont la capaci- té est fonction du type d'appareils à commander. Ensuite, la constitution des mémoires-tampons sensibles aux contraintes et le mode de fonctionnement de la présente inven- tion permettent aux mémoires-tampons de combiner leur action sans communiquer entre elles. Cette caractéristique permet, à son tour, une utilisation efficace et optimale de la largeur de bande du canal d'entrées-sorties. 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-tampon en combinaison avec le sens de la transmission par rapport au module de processeur. La contrainte augmente lors- que l'appareil périphérique a accès à la mémoire-tampon 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 profondeur d'attente. La pro- fondeur de seuil est fonction du temps nécessaire pour desservir les organes de commande fortement prioritaires, tandis que la profondeur d'attente est liée au temps nécessaire pour desser- vir les organes de commande faiblement prioritaires connectés au même canal d'entrées-sorties. La mémoire-tampon sensible aux contraintes inclut une lo- gique de commande afin de garder la trace de la contrainte ap- pliquée à la mémoire-tampon. La-logique de commande est effica- ce pour effectuer des demandes de remise en service au canal d'entréessorties lorsque la contrainte traverse une profondeur de seuil de la mémoire-tampon. Chaque mémoire-tampon qui a une demande de remise en servi- ce en cours, est connectée individuellement au canal d'entrée- sorties conformément à un programme de balayage qui résout la priorité parmi tous les organes de commande qui ont une demande de remise en service en cours. Lorsque l'organe de commande est connecté au canal d'en- trées-sorties, les données sont transmises entre la mémoire- tampon et le canal d'entrées-sorties en une tranche à ou au voisinage de la vitesse de la mémoire. Ainsi, parce que les mémoires-tampons transmettent les données allant vers et venant des appareils périphériques à la vitesse relativement faible des appareils et parce qu'ils peu- vent transmettre mes données allant vers et venant des modules de processeurs à ou au voisinage de la vitesse de la mémoire sous forme de transmissions par tranches, et en réponse à la contrainte appliquée à la mémoire-tampon, les transmissions par tranches peuvent être multiplexées par une division du temps, de sorte que des tranches individuelles venant de plu- sieurs organes de commande peuvent être imbriquées afin d'opti- miser l'utilisation efficace de la largeur de bande du canal d'entrées-sorties et afin également de pouvoir effectuer plu- sieurs transmissions de blocs à partir de différents organes de commande sur une base apparemment simultanée. Des contrôles complets d'erreurs et des moyens de limita- 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- 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. Les contrôles d'erreurs comprennent la totalisation des contrôles d'erreurs et des contrôles de parités dans les cir- cuius desdonnées correction d'erreurs dans le système de la mé- moire centrale. Les contrôles d'erreurs concernent également les limita- tions des intervalles de blocage dans le canal d'entrées-sorties. La limitation des erreurs et prévue dans le système d'en- trées-sorties par une table de commande des entrées-sorties comportant une clé de deux mots pour chaque appareil périphé- rique afin de définir une zone de mémoire-tampon dans la mé- moire centrale et la longueur de comptage du multiplet restant à transmettre à n'importe quel moment particulier pour une transmission particulière de données à un appareil. La table de commande d'entréessorties est placée dans chaque processeur, au lieu de se trouver dans les organes de commande, afin de li- miter les résultats d'une défaillance dans le mot de comptage ou le motadresse au seul module de processeur dans lequel le mot de comptage ou le mot-adresse est matériellement position- né. Chaque modulede processeur qui est connecté pour accéder aux organes communs de commande et aux appareils connexes, contient sa propre copie de la table de commande d'entrées-sor- ties. LIa défaillance d'une clé de table dans un module de pro- cesseur n'affecte pas l'autre module de processeur car ce der- -- 10 nier possède sa propre copie correcte de la clé de la table. Le système de traitement par multiprocesseurs qui fait l'objet de la présente invention comprend un système d'alimen- tation électrique qui alimente séparément les modules de pro- cesseurs et les organes de commande de manière à assurer une exploitation ininterrompue du reste du système de traitement par multiprocesseurs, en cas de défaillance dans l'alimentation électrique d'une partie du système de traitement par multipro- cesseurs. L'alimentation d'une module quelconque de processeur ou d'un organe de commande peut être coupée de manière à permettre l'entretien direct hors tension, alors que le reste du système de traitement par multiprocesseurs reste alimenté et opération- nel. L'alimentation électrique comprend une alimentation séparée 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ération- nellement associées à l'organe de commande par l'intermédiaire d'un commutateur qui permet à une alimentation de fournir toute la puissance nécessaire à l'organe de commande en cas de défail- lance 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 conser er l'état logique du module de processeur en cas de panne d'une alimentation asso- cié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ées. La mémoire du système de traitement par multiprocesseurs qui fait l'objet de la présente invention est divisée en quatre 2473197 zones logiques, à savoir les données de l'utilisateur, les don- nées du système, le code de l'utilisateur et le code du système. Cette division de la mémoire en quatre zones séparées d'adres- ses logiques sépare le code des données de sorte que le code peut être rendu non modifiable, et elle sépare également les programmes du système d'exploitation des programmes de l'utili- sateur 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 l'objet de la présente invention comprend un topogramme de mé- moire qui accomplit plusieurs fonctions. Une fonction du topogramme consiste à fournir un 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 l'utilisateur n'a pas à se préoccuper de l'emplacement physique réel du système ou des programmes de l'utilisateur, ni de l'é- tendue de la mémoire physique connectée au système. Le topogramme traduit les adresses logiques en adresses physiques pour constituer des pages de la mémoire centrale et il fournit des interruptions pour fautes de pages pour les pa- ges qui ne sont pas dans la mémoire centrale. le système d'ex- ploitation extrait les pages d'une mémoire auxiliaire (c'est-à- dire une mémoire implantée dans les appareils périphériques) et les introduit dans la mémoire centrale disposée dans le module de processeur comme 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ées dans des pages physiques contiguës ni qu'elles se trouvent dans la mémoire centrale physique, mais dans lequel elles peuvent être dans une mémoire auxiliaire. Le topogramme fournit également une fonction de protection et une fonction de gestion de la mémoire. Le topogramme fournit un topogramme séparé pour chaque zo- ne logique séparée de mémoire. 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 programmes du système, comme on l'a fait remarquer ci-dessus. Il fournit également une protection entre les utilisateurs dans le cadre d'une exploitation en multiprogrammation car le topogramme qui est opérant pour un utilisateur particulier indi- que uniquement les pages physiques en mémoire du programme de cet utilisateur, ce qui empêche un utilisateur d'écrire dans une page du programme d'un autre utilisateur. Cette caractéristique d'un topogramme d'utilisateur empêche donc un utilisateur de détruire le programme d'un autre utilisateur, sans qu'il soit nécessaire de recourir à des registres de protection. En liaison avec le système d'exploitation, le topogramme ac- 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émoire auxiliaire, b) en gar- dant une trace de la fréquence d'utilisation des pages physiques dans la mémoire centrale, c) en réduisant les transmissions d'en- trées-sorties des pages de la mémoire virtuelle, et d) en rédui- sant les interruptions apportées au système d'exploitation. La manière dont le topogramme accomplit ces fonctions fournit un système à mémoire virtuelle efficace. Le nombre des pages disponibles dans la mémoire physique centrale est limité. Des pages physiques doivent donc parfois être extraites de la mémoire auxiliaire et introduites dans la mémoire physique centrale. Un aspect important d'une gestion efficace de la mémoire est de garder une trace des pages de la mémoire physique centra- le qui sont utilisées suffisamment fréquemment pour devoir être retenues dans la mémoire physique centrale. Un autre aspect important est de savoir si des pages parti- culières de la mémoire physique centrale peuvent être écrites (recouvertes) sans devoir être d'abord transférées sur une mémoi- re auxiliaire. Le topogramme inclut des bits historiques qui font partie de l'entrée du topogramme pour chaque page. Ces bits historiques (qui se trouvent physiquement dans l'entrée du topogramme) don- nent un histogramme de l'utilisation de la page physique donnée pendant une certaine période de temps. Et, dans la présente in- vention, les bits historiques sont périodiquement mis à jour.par l'ordinateur sans la nécessité d'intervention des programmes. Chaque entrée de topogramme comprend également un bit-clé qui indique si une page particulière a été extraite de la mémoi- 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 bon candidat au recouvrement (lorsqu'il est nécessaire d'extraire une page de la mémoire auxiliaire et qu'aucune page vide ou page de code de la mémoire physique centrale n'est disponible pour un recouvrement) et pour déterminer également, si un recouvre- ment est nécessaire, s'il faut ou non transférer la page recou- verte sur une mémoire auxiliaire avant que la page puisse être recouverte. 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 constitué de manière à fournir un accès significativement plus rapide que l'accès à la mémoire physique centrale, de sorte que le topogramme peut être récrit pendant le temps o un accès à la mémoire physique est en train de s'effectuer. La ré-écriture du topogramme n'augmente donc pas la durée du cycle de la mémoire. 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ées allant vers et venant d'un organe de commande. Les accès de l'unité centrale à la mémoire et les accès du canal d'entrées-sorties à cette même mémoire peuvent donc être imbri- qués dans le temps. Toutes les transmissions de données venant de ou allant vers la mémoire en passant par le canal d'entrées-sorties sont effec- tuées par l'intermédiaire du topogramme des données du système. le topogramme des données du système ajoute des bits supplémen- taires au cours de la traduction des adresses logiques en adres- ses physiques, ce qui permet d'accéder à un plus grand nombre de mots de la mémoire physique en utilisant une adresse logique plus courte pour accéder à un espace physique plus grand que la longueur même 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. La zone de mémorisation du module de mémoire à semi- 18 2473197 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 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 de syndrome. Le générateur de bits de contrôle fournit un code dans le- quel chaque bit de contrôle 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 syn- drome de sorties L'entrée de chacun des bits de syndrome de sor- tie comprend huit bits d'information et un bit de contrôle. lie décodeur de syndrome interprète la valeur des six bits de syndrome de sortie 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'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. Le système de mémoire à semi-conducteurs tolère donc des erreurs de bits uniques et il peut être exploité malgré ces er- reurs de bits uniques jusqu'au moment qui convient pour réparer la mémoire. Le système et les méthodes de traitement par multiproces- seurs qui incorporent la structure et les techniques décrites ci-dessus et qui sont opérationnels suivant la description ci- * dessus, constituent d'autres objets particuliers de la présente invention. 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 perspecti- ve isométrique, d'un système de traitement par multiprocesseurs constitué suivant un exemple de réalisation de la présente inven- tion. La figure 1 représente plusieurs modules 33 de processeurs 19 2473197 connectés par deux lignes 35 entre processeurs (une ligne X et une ligne Y), chaque ligne étant contrôlée par un contrôleur de ligne 37. La figure 1 représente également plusieurs organes de commande 41 à double-entrée, chaque organe de commande étant connecté aux lignes 39 d'entrées-sorties de deux modules de pro- cesseurs; - la figure 2 est un schéma de fonctionnement représentant les détails des connexions du contrôleur de la ligne X et du contrôleur de la ligne Y aux modules individuels de processeurs. La figure 2 représente, sous forme schématique, les connexions reliant chaque contrôleur de ligne à la commande 55 d'une module individuel de processeur; - la figure 3 est une vue schématique détaillée de la logi- que de l'un des contrôleurs de ligne 37 représentés à la figure 2; - la figure 4 est une vue schématique détaillée de la logi- que prévue pour la mémoire-tampon de sortie et la commande 67 oommunes dans la commande 55 d'un module de processeur représen- tée à la figure 2; - la figure 5 est une vue similaire à la figure 4, mais 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'un module de processeur; - la figure 6 est un schéma d'état de la logique 81 prévue pour un contrôleur de ligne 37 et elle illustre la manière dont la logique répond aux lignes du protocole entrant dans le con- trôleur de ligne et crée les lignes du protocole allant du con- trôleur de ligne aux modules de processeur; - la figure 7 est un schéma d'état similaire à la figure 6, mais représentant les logiques 73 et 75 prévues pour la mémoire- tampon hors de la file d'attente et la commande 67 communes de la figure 4; - la figure 8 est un schéma d'état similaire aux figures 6 et 7, mais représentant les logiques 93 et 101 prévues pour la mémoire-tampon dans la file d'attente et la commande 65 de la figure 5; - la figure 9 est une vue schématique représentant la sé- quence chronologique utilisée pour la transmission d'un paquet donné entre un module de processeur émetteur et un module de processeur récepteur; 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émoire-tampon hors de la file d'at- tente et de la commande 67 représentées à la figure 4; - la figure il est une liste d'équations logiques utilisées pour le schéma logique représenté à la figure 10; - la figure 12 est un schéma de fonctionnement du système d'entrées-sorties du système de traitement par multiprocesseurs représenté à la figure 1; - la figure 13 est un schéma de fonctionnement du canal 109 d'entrées-sorties d'un module de processeur. La figure 13 représente les composants prnncipaux du canal d'entrées-sorties et le circuit des données reliant à ces composants; - la figure 14 est une vue détaillée représentant les con- ducteurs individuels de la ligne 39 d'entrées-sorties de la fi- gure 1 - la figure 15 est un schéma de protocole de canal d'en- trées-sorties montrant les changements d'état de la ligne T 155 pour une entrée-sortie d'exécution causées par le micro-program- me 115 dans l'unité centrale 105. la séquence illustrée est déclenchée par l'unité centrale 105 et elle est transmise, par l'intermédiaire du canal d'entrées-sorties 109 du module de pro- cesseur 33 et la ligne T 153, à un organe de commande 41 repré- senté à la figure 1; - la figure 16 est un schéma de protocole de canal d'en- trées-sorties montrant les changements d'état de la ligne T 153 pour une séquence de reconnexion et de transmission de données déclenchée par le micropoogramme 121 du canal d'entrées-sorties en réponse à un signal de demande émis par un organe de commande 41; - la figure 17 est un schéma de protocole de canal d'entrées- - sorties montrant les changements d'état de la ligne T 153 pour une instruction d'entrée-sortie d'interrogation ou une instruc- tion hautement prioritaire d'interrogation déclenchée par le microprogramme 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 aux- quelles font référence les mnémoniques des figures 15 à 17; - la figure 19 est un schéma de fonctionnement montrant la structure générale des entrées 43 d'un organe de commande 41 représenté à la figure 1; - la figure 20 est un schéma de fonctionnement d'une entrée 43 représentée à la figure 19. Cette figure 20 représente princi- palement les circuits de données au sein d'une entrée 43; - la figure 21 est un schéma de fonctionnement représentant les détails des circuits de données de la logique commune 181 d'interface de l'organe de commande 41 représenté à la figure 19; - la figure 22 est un schéma de fonctionnement montrant les parties constitutives d'une mémoire-tampon 189 de données située dans la partie commande d'un organe de commande 41 représenté à la figure 19; - la figure 23 est un graphique illustrant le fonctionnement de la mémoire-rampon 189 de données illustrée aux figures 22 et la figure 24 est un chronogramme illustrant la relation entre le signal d'INDISPONIBILITE venant du canal 109 et le chargement des données dans le registre de données 213 de l'entrée, repré- senté à la figure 21, et elle illustre la manière dont le contrô- le de parité est démarré avant que les données ne soient chargées dans le registre et comment il se continue jusqu'à ce que les don- nées aient été complètement chargées dans le registre; - la figure 25 est une vue schématique montrant les détails du circuit de mise sous tension représenté aux figures 19 et 21; - la figure 26 est un schéma logique de la logique 243 de commande de la mémoire-tampon 189, représentée à la figure 22, d'un organe de commande 41. La figure 26 montre comment la logi- que 243 de commande de la mémoire-tampon commande les liaisons dans la ligne de données et commande les indicateurs d'entrées et de sorties; - la figure 27 est une liste des équations logiques utilisées pour le registre 173 de sélection représenté à la figure 20; - la figure 28 est un dronogramme montrant le fonctionnement de la liaison à deux lignes entre le canal des entrées-sorties 109 et les entrées 43; - la figure 29 est un schéma logique montrant la logique dans le cas général de la liaison représentée à la figure 28. La logi- que représentée à la figure 29 fait partie de la machine 143 de ligne T du canal 109 d'entréès-sorties représenté à la figure 13; - la figure 30 est un schéma de fonctionnement d'un système d'alimentation électrique. La figure 30 montre comment plusieurs alimentations indépendantes et séparées 30 sont réparties et as- sociées aux organes de commande 41 à double entrée afin d'assu- rer à chaque organe de commande une alimentation principale et une deuxième alimentation en variante; - 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 ali- mentation en variante. La structure de commutation représentée à la figure 31 permet à la fois une commutation automatique dans le cas d'une défaillance de l'alimentation principale et une commu- tation manuelle suivant-trois modes différents, à savoir hors cir- cuit, automatique et en bascule; - la figure 32 est un schéma de fonctionnement montrant les détails de l'une des alimentations séparées et indépendantes 303 illustrées à la figure 30; - la figure 33 est un schéma de fonctionnement montrant le détail des lignes verticales et horizontales d'alimentation élec- trique connectant les sources 303 séparées d'alimentation, re- présentées à la figure 30, aux organes individuels 41 de comman- de. La disposition particulière des lignes, représentée à la fi- gure 33, permet une sélection facile de deux quelconques des alimentations individuelles qui serviront d'alimentation princi- pale et de deuxième alimentation en variante d'un organe parti- culier 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 topogramme de la mémoire 107 repré- sentée à 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 éga- 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és à la figure 34. Le module de mémoire 403 représenté à la figure 37 est un module de mémoire à semiconducteurs; - la figure 38 est un schéma du générateur de bits de con- trôle utilisé dans le module 403 de mémoire à semiconducteurs représenté à la figure 37. La figure 38 donne également une lis- te d'équations logiques de deux des structures arborescentes de parité de huit bits, utilisées dans le registre de bits de con- trôle; - la figure 39 est un schéma du comparateur de bits de con- trôle utilisé dans le module 403 de mémoire à semiconducteurs représenté à la figure 37. La figure 39 inclut l'équation logi- que de la structure arborescente de parité de neuf bits pour l'état zéro des bits de syndrome; - la figure 40 est un schéma du décodeur de syndrome utili- sé dans le module 403 de mémoire à semiconducteurs représenté à la figure 37. La figure 40 donne également une liste d'équations logiques utilisées pour l'exploitation de la partie logique 511 du décodeur de syndrome; - la figure 41 est un schéma logique d'un complémenteur de bits utilisé dans le module 403 de mémoire à semi-conducteurs re- présenté à la figure 37; et - la figure 42 représente les divers états d'un système de traitement par deux processeurs exécutant un programme d'appli- cation qui doit être exécuté en continu. Les schémas illustrent les deux processeurs successivement en état de défaillance et en cours de réparation et le programme d'application modifiant son mode de fonctionnement en conséquence. On se reportera maintenant à la figure 1 qui est une vue schématique, en perspective isométrique, d'une partie d'un sys- tème de traitement par multiprocesseurs, conformément à un exem- ple de réalisation de la présente invention. Le système de trai- tement par multiprocesseurs est indiqué de manière générale à la figure 1 par la référence 31. Le système 31 de traitement par multiprocesseurs comprend des modules individuels 33 de processeurs. Chaque module 53 de processeur comprend une unité centrale 105, une mémoire 107, un canal 109 d'entrées-sorties et. une commande 55 entre processeurs. Les modules individuels de processeurs sont interconnectés par des lignes 35 permettant les échanges entre processeurs. Dans un exemple particulier de réalisation du système 31 de traitement par multiprocesseurs, jusqu'à seize modules 33 de processeurs sont interconnectés par l'intermédiaire de deux lignes 35 entre processeurs, indiquées à la figure 1 comme étant la ligne X et la ligne Y. Chaque ligne entre processeurs, comporte un contrôleur 37 de ligne associé à cette ligne. Les contrôleurs de ligne 37, les lignes 35 entre proces- seurs et les commandes 55 entre processeurs, représentés à la figure 1, de même que les microprocesseurs 113, les microprogram- mes 115 et les tables 150 de réception des lignes qui leur sont a xociés, représentés à la figure 2, fournissent un système de lignes entre processeurs. L'architecture et le fonctionnement de ce système de lignes entre processeurs sont illustrés aux figu- res 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ème d'entrées-sorties prévu pour transmettre les données entre les modules 33 de processeurs et les appareils périphéri- ques, tels que les disques 45, les postes terminaux 47, les dé- rouleurs 49 de bandes magnétiques, les lecteurs de cartes 51 et les imprimantes ligne par ligne 53, représentés à la figure 1. Le système d'entrées-sorties comprend une ligne 39 d'en- trées-sorties associée à chaque canal 109 d'entrées-sorties d'un module de processeur et une ou plusieurs organes de commande 41 à entrées multiples peuvent être connectés à chaque ligne 39 d'entrées-sorties. Dans l'exemple particulier de réalisation illustré, chaque organe de commande 41 comporte deux entrées 43 prévues pour les connexions à deux modules différents 33 de processeurs, de sorte que chaque organe de commande est connecté pour donner accès à deux modules de processeurs. Le système d'entrées-sorties comprend un microprocesseur 119 et un microprogramme 121, inclus dans le canal 109 d'entrées- sorties comme le montre la figure 12, et qui sont consacrés aux transferts d'entrées-sorties. Comme le montre également schématiquement la figure 12, le microprocesseur 115 et le microprogramme 115 de l'unité centrale 105 et de la table 140 de commande des entrées-sorties dans la mémoire centrale 107 de chaque module 33 de processeur sont opé- rationnellement associés au canal 109 d'entrées-sorties. L'architecture et le fonctionnement de ces composants et d'autres composants du système d'entrées-sorties sont illustrés aux figures 12 à 29 et ils sont décrits en détail ci-après.' lIe système de traitement par multiprocesseurs inclut un système 301 de répartition de l'alimentalaon qui répartit les alimentations séparées entre les 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 30, le système de répartition de l'alimentation inclut des sources d'alimentation séparées et indépendantes 303. Une alimentation séparée 303 est prévue pour chaque modu- le 33 de processeur et une ligne 305 connecte la source 303 d'alimentation à l'unité centrale 105 à la mémoire 105 d'un module 33 de processeur associé. Comme l'illustre également la figure 30, chaque organe de commande 41 est connecté à deux sources 303 d'alimentation séparée par l'intermédiaire d'un commutateur automatique 311. Si une source 303 d'alimentation d'un organe de commande parti- culier 41 a une défaillance, cet organe de commande sera ali- menté par l'autre source 303 d'alimentation et la commutation s'effectuera régulièrement et sans interruption ni pulsation de l'alimentation fournie à l'organe de commande. Le système de répartition de l'alimentation agit conjoin- tement avec le système à double entrée de l'organe de commande pour assurer une exploitation et un accès ininterrompus aux appareils périphériques, en cas de défaillance d'une entrée individuelle 43 ou d'une alimentation individuelle 303. Le système de traitement par multiprocesseurs inclut un circuit 182 de mise sous tension, dont les détails sont donnés à la figure 25, de plusieurs composants du système afin d'éta- blir que l'alimentation de ce composant particulier se trouve dans certaines limites acceptables. Par exemple, le circuit 182 de mise sous tension est im- planté dans chaque unité centrale 105, dans chaque organe de commande 41 et dans chaque contrôleur de ligne 370 L'objet du circuit de mise sous tension est de présenter un signal établissant le niveau d'alimentation appliqué à ce composant particulier; si l'alimentation ne se situe pas dans certaines limites acceptables prédéterminées, la sortie du si- gnal est utilisée pour invalider le signal de ligne approprié du composant dans lequel le circuit de mise sous tension est 26 2473197 implanté. Le circuit de mise sous tension fonctionne dans quatre états: état hors tension; passage de l'état hors tension à l'état sous tension; état sous tension; 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 invention, ce circuit de mise sous tension assure une fonction supplémentaire et très importante qui consiste à fournir un système conçu 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 com- mander les circuits d'interface qui commandent toutes les li- gnes d'intercommunications du système. L'architecture et le fonctionnement du système de répar- tition de l'alimentation sont illustrés aux figures 30 à 33 et ils sont décrits en dttail ci-après. Le système de traitement par multiprocesseurs comprend un système de mémoire dans lequel la mémoire physique est di- visée en quatre zones d'adresses logiques, à savoir: données de l'utilisateur, données du système, code de l'utilisateur et code du système. A ce sujet, on se reportera à la figure 36. Ie système de mémoire comprend un topogramme 407 et une logique de commande 401, comme le montre la figure 34, 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éces- saire pour mettre en oeuvre un système de mémoire virtuelle 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ées-sorties. Ce dernier peut donc accéder di- rectement à la mémoire 107, sans devoir traverser l'unité centrale 105, pour des transferts de données venant de et allant vers un organe de commande 41. L'architecture et le fonctionnement du système de mémoire sont illustrés aux figures 34 à 41 et ils sont décrits en dé- tail ci-après. 27 2473197 Un système de détection d'erreurs est incorporé au systè- me de mémoire afin de corriger tous les bits uniques et de dé- tecter toutes les erreurs de bits doubles lorsqu'une mémoire à semiconducteurs est utilisée dans le système de mémoire. Ce système de détection d'erreurs utilise une zone de données de 16 bits et une zone de contrôle de 6 bits, comme le montre la figure 37, et il comprend un complémenteur 487 de bits de don- nées, également représenté à la figure 37, pour corriger toutes les erreurs de bits uniques et détecter toutes les erreurs de bits doubles lorsqu'une mémoire à semiconducteurs est utilisée dans le système de mémoire. Ce système de détection d'erreurs utilise une zone de données de 16 bits et une zone de contrô- le de 6 bits, comme le montre la figure 37, et il comprend un complémenteur 487 de bits de données, comme le montre également la figure 37, afin de corriger les erreurs de bits uniques. Les figures 37 à 41 et la description qui les concerne don- nent les détails du système de détection d'erreurs. Avant d'entrer dans une description détaillée des systèmes et des composants mentionnés d'une façon générale ci-dessus, il faut noter les significations suivantes de la terminologie uti- lisée dans la présente demande de brevet. Le terme "logiciel" se rapporte à un système d'exploita- tion ou aux instructions du programme d'un utilisateur; le terme "microinstructions" se rapporte à un microprogramme enre- gistré dans une mémoire morte; et le terme "matériel" se réfè- re à la logique électronique réelle et à la mémorisation des données. Le système d'exploitation est un programme principal de gestion se déroulant dans chaque module de processeur qui com- porte une gestion centrale de l'affectation de toutes les res- sources du système accessibles à ce module de processeur. Le système d'exploitation fournit une fonction d'ordonnancement et il détermine le traitement qui utilisera ce module de proces- seur. Le système d' exploitation affecte également l'utilisation de la mémoire centrale (gestion de la mémoire) et il exploite le système de fichiers en vue de la gestion de la mémoire auxi- liaire. Le système d'exploitation gère également le système de messages, ce qui facilite la transmission des informations par la ligne entre processeurs. lia disposition du système d'exploitation est compatible 2 2473197 avec la disposition modulaire des composants du système de trai- tement par multiprocesseurs décrit ci-dessus, par le fait qu'ils ne comportent aucun composant "global". Au niveau le plus bas du système de logiciel, deux entités fondamentales sont mises en oeuvre, à savoir les traitements et les messages. Un traitement est l'entité fondamentale de gestion au sein d'un système. Chaque traitement comprend une zone spécialisée de données et de valeurs de registre, ainsi qu'un ensemble de codes éven- tuellement communs. Un traitement peut également accéder à une zone commune de données. Plusieurs traitements coexistent dans un module 33 de pro- cesseur. Les traitements peuvent résulter de l'application de pro- grammes rédigés par l'utilisateur ou ils peuvent avoir des fonc- tions consacrées telles que, par exemple, la gestion d'un appa- reil d'entrées-sorties ou la création et l'élimination d'autres traitements. Un traitement peut nécessiter les services d'un autre trai- tement et cet autre traitement peut être localisé dans le même module 33 de processeur qu'un traitement demandeur, ou l'autre traitement peut être localisé dans un autre module de proces- seur. Les traitements fonctionnent de façon asynchrone et, par conséquent, ils nécessitent une méthode d'échanges qui permet- tra de placer une demande 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 en route le pre- mier), d'o la nécessité de "messages" (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 apparaître-les mêmes aux traitements, que ces derniers soient localisés dans le même module de processeur ou dans des modules différents. Comme le montrera plus clairement la description ci-après, l'architecture du logiciel est compatible avec le matériel et différents traitements peuvent être considérés comme étant équi- valents à certains composants du matériel au point de vue dis- position et fonction. Par exemple, exactement comme le canal 109 d'entrées-sor- ties communique par la ligne 39 d'entrées-sorties avec l'organe de commande 41, un traitement de l'utilisateur 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 mes- sage, se compose d'une demande de service aussi bien que d'une demande de données. Lorsque la demande sera terminée, toutes les valeurs demandées seront renvoyées au traitement demandeur. lorsqu'un message doit être envoyé entre des traitements dans deux modules différents 33 de processeurs, on utilise les lignes 35 entre processeurs. Cependant, comme on l'a noté ci- dessus, tous les échanges entre les traitements apparaissent les mêmes aux autraitements, que ces derniers soient localisés dans le même module de processeur 33 ou dans des modules différents. Cette organisation du logiciel présente plusieurs avanta- ges. la présente méthode de structuration du logiciel fournit également un logiciel significativement plus fiable. En permet- tant de compartimenter la structure du logiciel, on peut obtenir des modules d'un plus faible volume et les interfaces entre les modules sont bien définis. 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 de logiciel présentent également l'avantage de pouvoir être facilement extensibles, comme dans le cas de l'adjonction de modules supplémentaires 33 de processeurs ou d'organes supplé- mentaires de commande 41 au système de traitement par multipro- cesseurs. En outre, le fait que l'utilisateur, en rédigeant son pro- gramme, ne doit pas connaître l'architecture réelle de la ma- chine ni l'implantation physique d'autres traitements, consti- tue un avantage pour l'utilisateur du système de traitement par multiprocesseurs et du système de logiciel. Le logiciel fournit de nombreux modules fonctionnellement 2 2473197 é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 processeurs peuvent utiliser l'une ou l'autre ligne 35 entre processeurs. De même, des organes de commande 41 peuvent être exploités par des traitements dans l'un ou l'autre des nodules 33 de processeurs, connectés à l'organe de commande 410 Le système de matériel et le système de logiciel de traite- ment par multiprocesseurs, décrits ci-dessus permettent à l'u- tilisateur 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- viduels 33 de processeurs sont interconnectés par l'intenné- diaire de deux lignes 35 entre processeurs, une ligne I et une ligne Y, Chaque ligne 35 entre processeurs, en combinaison avec son contrôleur 37 de ligne et une commande connexe 55 entre pro- cesseurs prévue dans chaque module 53 de processeur, fournit un circuit d'échange multimodulaire entre un module de proces- seur et n'importe quel autre module de processeur du système. L'utilisation de deux lignes assure que deux circuits indépen- dants 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 proces- seurs est un contrôleur qui, dans un exemple préféré de réali- sation de la présente invention, est séparé et distinct des mo- dules 33 de processeurs. Chaque ligne 35 entre processeurs est une ligne synchrone, la synchronisation étant fournie par une horloge de ligne loca- lisé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édiai- re 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é- moire-tampon hors de la file d'attente ou le vidage d'une mé- 3o moire-tampon en file d'attente de la commande 55 entre pro- cesseurs par l'unité centrale, le fonctionnement se fait à la fréquence de l'horloge de l'unité centrale. Cependant, la transmission de groupes de bits par la ligne entre processeurs s'effectue à la fréquence de l'horloge de la ligne. Une caractérçstique importante de la présente invention réside dans le fait que l'information transmise par la ligne entre processeurs l'est à des vitesses élevées sans aucune cor- respondance requise avec les fréquences d'horloge des diverses unités centrales 105. la vitesse de transmission de l'informa- tion par la ligne entre processeurs est également sensiblement plus élevée que ne le permettraient des accès directs d'entrée et de sortie des parties 107 de la mémoire à la vitesse de la mémoire. Cette caractéristique assure l'existence d'une lar- geur de bande de ligne appropriée, même lorsqu'un grand nombre de modules de processeurs sont connectés dans un système de traitement par multiprocesseurs. L'avantage d'une utilisation d'horloge séparées pour cha- que unité centrale 105 réside dans le fait qu'une horloge-mère n'est pas nécessaire, ce qui élimine une source possible de défaillance de composant unique qui pourrait immobiliser tout le système. La commande 55 entre processeurs comprend des verrouilla- ges logiques qui permettent d'exploiter les lignes 35 entre processeurs à une fréquence d'horloge et chaque unité centrale à sa fréquence indépendante propre d'horloge sans pertes de données. L'information transmise par la ligne l'est sous forme de groupes de bits comportant plusieurs mots. Dans un exemple pré- féré de réalisation de la présente invention, chaque groupe de bits se compose de seize mots dont quinze sont des mots conte- nant des données et dont un est un mot de contrôle. La logique de commande implantée dans le contrôleur 37 de lignes et dans les commandes 55 entre processeurs des modu- les individuels 33 suit un protocole détaillé. Le protocole prévoit l'établissement d'une paire émettrice-réceptrice et d'une base de temps pour la transmission des groupes de bits de données. A la fin du système de base de temps prévu pour la transmission du groupe de bits de données, le contrôleur 37 de lignes est libéré pour une autre séquence. La façon particulière 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 en détail. Comme le montre la-figure 2, chaque ligne 35 comprend seize conducteurs individuels 57 de données de ligne, cinq conducteurs individuels 59 de protocole de ligne, un conducteur 61 de si- gnaux d'horloge et un conducteur 63 de sélection pour chaque module 33 de processeur. Comme l'illustre également la figure 2, la commande 55 entre processeurs de chaque module 33 de processeur comprend deux organes 65 en file d'attente (représentés à la figure 2 sous la forme d'un organe X en file d'attente et d'un organe Y en file d'attente) et un organe commun 67 hors de la file d'at- tente. En se reportant particulièrement à la figure 4, on verra que l'organe commun 67 hors de la file d'attente comprend une mémoire-tampon 69 hors de la file d'attente qui accomplit une fonction de mémorisation. Dans un exemple préféré de réalisa- tion de la présente invention, la mémoire-tampon 69 comporte seize mots de seize bits chacun. La mémoire-tampon 69 est char- gée par l'unité centrale et elle retient les données Jusqu'au moment-de la transmission du groupe de bits; à ce moment-là, les données sont libérées dans la ligne comme on le décrira plus en détail ci-dessous. L'organe 67 hors de la file d'attente comprend également un registre récepteur 71, qui, dans un exemple préféré de réa- lisation de la présente invention, est un registre de quatre bits. Ce registre est chargé par l'unité centrale qui lui indi- que le numéro du module de processeur auquel les données seront envoyées. La partie de commande de l'organe 67 hors de la file d'attente comprend une partie logique 73 de l'état de remplis- sage des processeurs qui fonctionne en synchronisme avec l'hor- loge de l'unité centrale, une partie logique 75 de l'état de vidage des lignes qui fonctionne en synchronisme 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-tampon 69 hors de la file d'attente par l'unité centrale, le compteur 77 hors de la file d'attente explore la mémoire-tampon 69 afin de diriger l'intro- duction des données dans chacun des seize mots de la mémoire- tampon et,lorsque le seizième mot est mémorisé dans la mémoire- tampon 69 hors de la file d'attente, le compteur 77 hors de la file d'attente termine l'état de remplissage. L'organe 67 en dehors de la file d'attente comprend égale- ment un indicateur 79 en dehors de la file d'attente, qui connec- te l'ensemble de la partie hors de la file d'attente à la ligne X ou Y 35. L'indicateur 79 hors de la file d'attente permet aux parties logiques 73 et 75 et à la mémoire-tampon 69 d'être com- munes aux lignes x et Y 35 entre processeurs. Comme le montre la figure 3, le contrôleur de ligne 37 comprend une partie logique 81 de l'état de commande de ligne, un compteur émetteur 83, une partie logique 85 de sélection de processeur, un registre récepteur 87,-un compteur de groupe de bits 89 et une horloge de ligne 91. On se reportera maintenant à la figure 5. Chaque organe 65 en file d'attente comprend une partie logique 93 de l'état de remplissage des lignes qui fonctionne en synchronisme avec l'hor- 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 par- tie logique 101 de l'état de vidage des processeurs qui fonc- tionne en synchronisme avec l'horloge de l'unité centrale. la figure 6 est un schéma d'état de la logique 81 prévue pour le contrôleur de ligne 37. 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 et 101 des parties 65 en file d'attente. On se reportera à la figure 7. La partie logique 73 de l'état de remplissage des processeurs comporte fondamentalement quatre états, à savoir: VIDE, REMPLISSAGE, COMPLET et ATTENTE, comme l'indiquent les légendes respectives. Ia partie logique 75 de l'état de vidage des lignes comporte fondamentalement quatre états, à savoir: EN RESERVE, MNOBRONIS TION, EMISSION et EVACUEE, comme l'illustrent les légendes. Continuant la description de la notation de la figure 7, on notera que les lignes en traits pleins terminées par des flèches indiquent des passages de l'état actuel à l'état suivant. Les flèches en traits interrompus se terminant aux flèches en traits pleins indiquent les conditions qui doivent être satisfai- tespour que le passage indiqué puisse avoir lieu. La synchronisation de machines qui créent ces états et qui fonctionnent à partir d'horloges relativement asynchrones 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 interrompus. Ces verrouillages accom- plissent une synchronisation de deux machines relativement asyn- chrones qui créent les états. Les flèches en 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 lo- 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 rem- plissage aussi longtemps que le compteur 77 hors de la file d'attente n'aura pas atteint le compte 15 (pour un compte qui part de zéro); à ce moment-là, l'état de REMPLISS IEsera rem- placé par l'état COMPIER.- De même, on doit noter que l'état d'EIISSION 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; à ce moment-là, l'état d'EMISSION sera remplacé par l'état ExECUTE. L'astà?bque qui apparaît dans la notation de la figure 7 indique un pas de progression du compteur 77 hors de la file d'attente. La figure 6 représente le schéma d'état de la logique 81 du contrôleur de ligne et elle illustre les quatre états fonda- mentaux de la logique, à savoir: EN RESERVE, BRLYAAGE, RECEP- TION et EMISSION. la 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 en traits pleins- terminée par une flèche) de se produire. Un astirsque placé sur ue ligne de passage d'un état à un autre indique dans ce cas que le compteur émetteur 83 est avancé d'un pas de progression, simultanément au passage indiqué. Les lignes de sortie en traits interrompus se terminant par une flèche à la figure 6, indiquent les instructions du pro- tocole envoyées par le régulateur de lignes à la ligne entre processeurs. Aux figures 7 et 6, une flèche en traits interrompus quit- tant un état indique une sortie logique, tel qu'un signal de sortie logique, allant de cet état à une ligne de protocole (dans le cas de la logique 75 d'é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 remplissage du processeur) La figure 8 représente les schémas d'état de la partie 93 de la logique de l'état de remplissage des lignes et de la partie 101 de la logique de l'état de vidage des processeurs. Le schéma d'état de la partie 93 de la logique comprend quatre états, à savoir: SYNCHRONISATION, ACCEîPTATION, RECEPTION et OMPILET. le schéma d'état de la partie logique 101 comprend quatre états, à savoir: MISE A ZERO, PEE, INTERRUPTION et VIDAGE. Ia notation (flèches en traits pleins et flèches en traits interrompus) est la même que celle qui a été décrite ci-dessus en ce qui concerne les figures 6 et 7. L'astérique à la figure 8 indique un pas de progression dans le compteur 99 en file d'attente. La figure 9 est un chronogramme représentant la séquence chronologique selon laquelle se produisent les changements d'état mentionnés aux figures 6, 7 et 8. La séquence représentée à la figure 9 effectue la trans- mission d'un groupe de bits, d'un module de processeur à un autre module de processeur à la fréquence d'horloge de la li- gne (le module récepteur prévu étant supposé prêt à recevoir le groupe de bits). la figure 9 représente les séquences chronologiques d'une transmission de groupe de bits effectuée avec succès, les re- présentations des signaux individuels étant indiquées de haut en bas à la figure 9 et les périodes de temps d'une horloge de ligne étant représentées chacune de gauche à droite à la figure 9 dans l'ordre croissant des temps0 Ia ligne supérieure de la figure indique l'é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 3. Chaque division du temps à la ligne supérieure se -5 reporte verticalement vers le bas afin de couper les représenta- tions des divers signaux indiqués par les légendes portées à gauche de la figure. Si l'on considère les signaux séquentiels présentés de haut en bas à la figure 9, le premier signal (en dessous de la ligne d'état du contrôleur de ligne) est le signal de.DEMANDE D'EMISS]LN(un signal du groupe du protocole repéré par la réf é- rence 59 à la figure 3); ce signal est, en particulier, le si- gnal qui peut être validé par la partie logique 67 de commande hors de la file d'attente de n'importe quel module 33 de proces- seur. Le signal est transmis à la partie logique 81 de l'état de commande de ligne du contrôleur 37 de ligne, comme le montre la figure 3. Le signal suivant oeprésenté à la figure 9, c'est-à-dire le signal de SELECTION, représente un signal qui provient de la partie logique 85 de sélection de processeur du contrôleur 37 de ligne et qui est transmis par une seule à la fois des lignes 63 de sélection à un module 33 connexe de processeur. Le signal suivant représenté à la figure 9, c'est-à-dire le signal d'ACCEPTATION D'EMISSION, ne peut être validé que par un processeur particulier 33 lorsque ce dernier est sélectionné et lorsque sa partie logique 75 de l'état de vide de la ligne se trouve dans l'état dVEXISSION, comme le montre le troisième état de la figure 7. Ce signal d'ACCEPTA!ION D'EMISSION est uti- lisé par le contrôleur 37 de ligne pour établir l'identité d'un module 33 de processeur désireux d'envoyer un groupe de bits. Le signal suivant, c'est-à-dire le signal de COMMANDE DE RECEPTION, représente un signal venant du régulateur 37 de li- gne et transmis par une des lignes 59 de protocole. L'action de ce signal est double. Tout d'abord, en combinaison avec le signal de SEIECTION du récepteur, ce signal interroge le module 33 du processeur récepteur pour s'assurer que ce module de récepteur est prêt à recevoir, comme l'indique l'état ACCEPTATION à la figure 8). Ensuite, ce signal a comme deuxième fonction d'invalider la partie logique 75 de l'état de vidage de la ligne du module récepteur, de sorte que ce dernier ne peut envoyer un numéro prévu de récepteur dans la ligne de données si la partie hors de la file d'attente du module récepteur prévu 30 a également un groupe de données en propre prêtes à être envoyées. A ce sujet, pendant que le processeur émetteur impose le signal d'ACOEPTATION D'MNISSION, il envoie également le numéro prévu de récepteur dans la ligne pour que le régulateur 37 de lig ligne puisse l'utiliser LIa ligne 35 elle-même est, bien entendu, une ligne non directionnelle de sorte que l'information peut être envoyée vers la ligne 57 de données par un module quelconque en vue d'être utilisée soit par le contrôleur 37 de ligne pour une fonction de commande, soit par un autre processeur pour une fonction de transfert d'infommation. On doit noter qu'un module 33 ne peut envoyer des données dans la ligne que lorsque sa li- gne de SEEIT0ION est validée et que le signal de 0OMUNDAE DE RECEPTION n'est pas validé. Pendant le temps que le signal de CO0HARDE DE RECEPTION est validé, le contrôleur 37 de ligne transmet le numéro du ré- cepteur à la ligne 57 de données pour sa saisie par le module de processeur récepteur sélectionnéS Il ligne du signal suivant, c'est-à-dire la ligne d'ACOEP- TATION DE RECEPTION A 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 sélectionné à la partie 81 de la logi- que d'état de commande de ligne du contrôleur 37 de ligne, par l'une des lignes 59 de protocole, afin d'indiquer que le module récepteur sélectionné se trouve à l'dat d'ACCOOEPTATION, comme l'indique la légende à la figure 8, et ainsi qu'il est prêt à re- cevoir le groupe de bits que le module émetteur est prêt à trans- mettre. Si le signal d'ACîEPTATION DE REîEPTION n'est pas validé par le module récepteur, la SELECTION de l'émetteur, la GOMMANDE D'EMISSION et la transmission par la base de temps du groupe mê- me de bits de données ne se produiront pas. Si le signal d'ACOEPTATION DE RECEPTION est validé, la sé- quence indiquée par la ligne de COMMANDE D'EMISSION se produira alors. la ligne de COMMNDE D'ENISSION représente un signal qui est émis par la partie logique 81 de l'état de commande de la ligne du contrôleur 37 de ligne et qui est transmis à la partie logi- que 75 de l'état de vide de ligne du module 33 du processeur émetteur, par l'intermédiaire de l'une des lignes 59 de proto- coleo En combinaison avec un signal de SELECTION du module du processeur émetteur, le signal de COMNANDE D'EXPEDITION permet au module du processeur émetteur d'envoyer un groupe de bits au module récepteur pendant les seize cycles d'horloge délimités par le signal de COMMANDE D'EMISSION. La dernière ligne, c'est-A-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. Les données sont envoyées à la ligne par le module de pro- cesseur émetteur sélectionné et elles sont transmises au module de processeur récepteur dans la mémoire-tampon 97 hors de la file d'attente, représentée à la figure 5, pendant la base de temps de ce seizième cycle d'horloge. Ceci suppose que le signal d'ACCEPTATION DE RECEPTION a été reçu par le régulateur de li- gne en réponse au signal de COMMANDE DE RECEPTION. Si le signal d'ACCEPTATION DE RECEPTION n'avait pas été reçu par le contrôleur de ligne, le signal de C0M0ANDE D'EMIS- SION n'aurait pas été alors validé et le contrôleur 37 de ligne aurait repris l'état de BALAYAGE comme le montre la figure 6. En se reportant aux figures 2, 7, 10 et 11, on décrira maintenant une opération caractéristique de la mémoire-tampon 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 comprend deux bascules bstables A et B, tandis que la partie 75 de la logique de l'é- tat de vide de ligne comprend deux bascules bistables C et D. En résumé des affectations d'états représentées par les ta- bles AB et CD de la figure 10, l'état de VIDE est défini par A = o, B = o L'état de remPLISSAGE est défini par A = 1 B = O. L'état COMPILET est défini par A = 1, B = 1 et l'état d'ATTENTE est défini par A = o, B = 1. De même, les combinaisons correspondantes des variables des états C et D sont définies respectivement par les états EN RESERVE, SYNCHRONISATION, EMISSION et ECXCUTION. Les affecta- tions d'états énumérées précédemment pourraient également être données sous la forme d'équations logiques. Par exemple, l'état de VItE peut être représenté par l'équation A.B et cette nota- tion est utilisée dans les listes d'équations logiques de la figure 11. En fonctionnement et avec une référence particulière à la figure 7, l'état initial atteint par l'intermédiaire d'initia- lisation de mise sous tension ou la remise manuelle à zéro est l'état VIDE représenté à la partie supérieure gauche de la fi- gure 7. L'état VIDE de la logique 73 de l'état de remplissage du processeur envoie un signal "prêt" à l'unité centrale 105 pour indiquer la présence de cet état, comme le montre la flèche RDY en traits interrompus représentée quittant 1' état de vide à la figure 7. Lorsqu'une transmission par l'intermédiaire de la ligne entre processeurs est nécessaire, les microinstructions (micro- programme) de l'unité centrale, en réponse à un signal "prêt", fourniront un signal de réception dans la mémoire, représenté par la flèche en traits interrompus entrant dans le schéma de la figure 7. Ce signal de réception dans la mémoire synchroni- se le passage de l'état VIDE à l'état de EMPLIBAGE.o Pour transmettre les données dans la mémoire-tampon 69 hors de la file d'attente, les microinstructions de l'unité centrale fourniront un signal de mémorisation hors de la file d'attente, représenté par la flèche en raits interrompus entrant dans le * schéma de la figure 7, pour chaque mot A stocker dans la mémoi- re-tampon 69 Chaque fois que ce signal de mémorisation hors de la file d'attente sera produit, le compteur 77 hors de la file d'attente progressera, commençant son compte à zéro jusqu'à ce qu'il at- teigne un compte quinze. Iorsque le signal de mémorisation hors de la file d'attente sera produit pour la seizième fois, un passage de l'état de REM- PLISSAGE à l'état COPLEET, illustré par une flèche en traits pleins à la figure 7, est permis. L'état COMPILET de la logique de 1'état de REMPLISSAGE dl processeur fournit une condition de synchronisation à la logique de l'état de vide de la ligne, illustrée par la flèche en traits interrompus portant de l'état COMPLET de la logique 73 et des- cendant vers la logique 75 à la figure 7. La logique 73 de l'état de remplissage du processeur res- tera à l'état COMPLET jusqu'à ce que la logique 75 de l'état de vide de la ligne ait atteint ensuite l'état EXERCUTE. Si l'on considère maintenant en particulier la logique de l'état de vide de la ligne représentée à la figure 7 par la ré- férence 75, l'état initial EN RESERVE de la partie logique 75 à la figure 7 est de nouveau assuré par une initialisation de la mise sous tension ou par une remise manuelle à zéro. La logique 75 de l'état vide de la ligne restera à l'état EN RESERVE jusqu'à ce que le passage à l'état de SYNOHRONISA- TION soit permis, comme le montre la flèche en traits interrom- pus venant de l'état COMPLET de la logique 73 de 1' état de rem- plissage du processeur. Ia logique 75 de l'état vide ne procédera à aucune synchro- nisation requise entre l'état de SYNCHRONISATION et l'état d'EMISSION. C'est dans l'état d'EMISSION que le signal de DEMANDE D'EMISSION appliqué à la ligne et au contrôleur de ligne est va- lidé, comme l'indique la flèche en traits interrompus partant de l'état d'EMISSION du schéma 75. En réponse au signal de DEMANDE D'EMISSION, la logique 81 du contrôleur de lignes, représentée à la figure 6, balayera successivement les modules de processeurs jusqu'à ce que le mo- dule émetteur soit identifié, comme on l'a décrit ci-dessus avec référence à la figure 9. Le contrôleur de lignes enverra un signal de COMMANDE DE RECEPTION et de SELECTION au module de processeur récepteur prévu et, à la réception du signal d'ACCEPTATION DE RECEPTION, le signal passera à la base de temps du groupe de bits,égale- ment repérée à la figure 9. Pendant la base de temps du groupe de bits le contrôleur de ligne valide le signal de SEIECTION du module de processeur émetteur et valide également le signal de COMMANDE D'EMISSION envoyé au module de processeur émetteur. Ce signal de SELECTION et ce signal de COMMANDE DE SELEC- TION sont représentés entrant dans le schéma et synchronisant les signaux de passage sortant de et entrant dans l'état d'EMISSION, comme le montre la figure 7. Tandis que les signaux de SEILECTION et de COMMANDE D'EMIS- SION sont validés, chaque horloge de ligne fera progresser le compteur 77 hors de la file d'attente, à partir d'un compte de zéro. A la seizième période d'horloge de la SEIECTION et de la COMMANDE D'EMISSION, le passage de l'état d'EMISSION à l'état EXECUTE est synchronisé comme le montre la flèche en traits in- terrompus permettant ce passage. Lorsque la logique 75 de l'état de vide a atteint l'état EXECUTE, un passage de la logique 73 de l'état de remplissage du processeur, de l'état COMPIET à l'état d'ATTENTE, est syn- chronisé, comme le montre la flèche en traits interrompus par- tant de l'état Uexécutéf. Ensuitel 'état d'ATTENTE de la logique 73 de l'état de rem- plissage du processeur synchronise un passage de la logique 75 de l'état de vide de la ligne, de l'état EXECUTE à l'état EN RESERVE, comme le montre une flèche en traits interrompus partant 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 EN RESERVE, synchronise le passage de la logique à l'état VIDE, comme le montre la flèche en traits interrompus partant de l'état EN RESERVE. A ce stade, un groupe de bits a été chargé dans la mémoire- tampon 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 73 de l'état de remplissage du processeur de commande hors de la file d'attente et la logique 75 de l'état de vide de la ligne ont été ramenées à zéro. lIa description ci-dessus concerne les passages d'état et les synchronisations indiquées à la figure 7. L'action des par- ties logiques 73 et 75, concernées par la description ci-dessus du fonctionnement du schéma de la figure 7, sera maintenant dé- crite avec référence au schéma logique de la figure 10 et à la liste d'équations logiques de la figure 11. On se reportera d'abord à la figure 10. Comme on l'a men- tionné ci-dessus, les bascules bistables A et B sont des bascu- les bistables J.K. à déclenchement par le bord dans lesquelles des changements d'état' se produisent uniquement aux passages d'horloge, comme l'indiquent les petits symboles triangulaires et les légendes mentionnés du côté gauche des bascules bistables A et B à la figure 10. le schéma logique de la figure 10 a pour premier objet d'illustrer le passage d'un état à un autre dans les machines produisant ces états et représentées à la figure 7. Ainsi, pour illustrer le passage de l'état de RESERVE à l'état de SYNCHRO- NISATION de la logique 75 d'état de vide, le fonctionnement est le suivant: Pour effectuer un passage de l'état de RESERVE à l'état de SYNCHRONISATION, la variable d'état C doit être mise à 1. L'équation logique pour l'entrée J de la variable d'état C est représentée à la figure 11 et elle est repérée par la ré- férence 130 Dans cette équation, le blocage (représenté par la flèche en traits interrompus venant de l'état tcomplet" de la logique 73 de l'état de remplissage à la figure 7 et aboutis- sant à la flèche représentant le changement) correspond à la quantité (A.B) ou (COMPLET) dans l'équation repérée par la ré- férence 103. Le symbole D ou (EN RESERVE) dans l'équation repé- rée par la référence 103 à la figure 11 correspond à l'état EN RESERVE indiqué par la légende à la figure 7. Le symbole J dans l'équation correspond à l'entrée J de la bascule bistable C de la figure 100 Et le symbole (C) correspond à la sortie vraie de la bascule bistable C 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 lo- giques de la figure 11 sont absentes des exemples ci-dessus de passage de l'état de RESERVE à l'é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 mémoire-tampon hors de la file d'attente et de la commande 67. Les schémas logiques et les équations logiques correspondantes concernant la mémoi- re-tampon en file d'attente et la commande 65 ou le contrôleur 37 de lignes n'ont pas été illustrés, car ces schémas logiques et ces équations logiques sont analogues à ceux qui sont repré- sentés aux figures 10 et 11 et on peut facilement les déduire des schémas d'état représentés aux figures 6 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 proces- seur y compris lui-même, par l'intermédiaire de l'une ou l'au- tre des lignes. Pour chaque transfert de donné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 transmission de données par un module de processeur par l'intermédiaire de l'une des lignes entre processeurs est dé- clenchée et réalisée par le logiciel au moyen de l'instruction d'ENISSION. Dans l'instruction dVEMISSION, le microprogramme 115 et le microprocesseur 113 de l'unité centrale, représentés à-la figu- re 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émoire 101, de le décomposer en grou- pes de bits4 de calculer les mots du total de contrôle des grou- pes de bits et de transmettre le bloc à raison d'un groupe de bits à la fois, par l'intermédiaire d'une ligne au module du processeur récepteur. Les paramètres fournis à l'instruction d' EMISSION définissent le nombre de mots dans le bloc, l'adres- se de début d'implantation du bloc, la ligne à utiliser, le pro- cesseur récepteur et une valeur maximale de délai initial d'at- tente pour que la partie commune 67 hors de la file d'attente, représentée à la figure 2 devienne disponible. L'instruction d'EXISSI0N ne prend fin qu'après que le bloc entier a été transmis; ainsi, l'émission d'un bloc est un évè- nement unique du point de vue du logiciel0 Cependant, l'instruc- tion d'EMISSION peut être interrompue et reprise, de sorte que la réponse du système d'exploitation aux autres évènements n'est pas altérée par la longueur du temps requis pour terminer une instruction d'EMISSION. la réception des données par un module de processeur, par l'intermédiaire des lignes entre processeurs, ne s'effectue pas au moyen d'une instruction du logiciel puisque les temps d'arri- vée et les sources des groupes de bits de données ne peuvent être prévus. La réception des données est validée mais ne peut être déclenchée par le récepteur. Le microprocesseur 113 de l'unité centrale extrait du trai- tement de l'instruction du logiciel un délai d'attente nécessai- re pour l'exécution du microprogramme 115 de RECEPTIQN EN LIGNE. Ce microprogramme extrait de l'une des parties 65 en file d'at- tente, représentées à la figure 2, de la commande 55 entre pro- cesseurs le groupe de bits de données, stocke les donnes dans une mémoiretampon 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'ef- fectue au moyen de la table 150 de réception de ligne implantée dans la mémoire. la table de réception de ligne contient 32 entrées de deux mots, correspondant aux deux lignes venant de chacun des seize modules de processeurs possibles dans une mi- se en oeuvre particulière du système de traitement par multi- processeurs. Chaque entrée de la table de réception de ligne correspond à une ligne et un émetteur contient un mot-adresse et un mot de comptage. le mot-adresse précise dans quelle mémoi- re-tampon de la zone des données du système les données"en en- trée" venant de cet émetteur doivent être stockées. Le mot de comptage précise le nombre de mots contenant des données qu'il reste pour terminer le transfert par blocs à partir de cet émet- teur. Lorsque chaque groupe de bits de données est reçu, le micro- processeur 113 de l'unité centrale suspend le traitement des instructions du logiciel et le microprogramme 115 de réception de ligne est lancé. Ce microprogramme lit le mot-adresse et le mot de comptage venant de l'entrée de 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 mot-adresse et du mot de comptage dans l'entrée de la table de réception de ligne. Si le groupe de bits a amené le compte à zéro ou si le groupe de bits contenait un total de contrôle in- correct, le microprogramme de réception de ligne place un indi- cateur d'interruption de fin d'opération pour signaler au logi- ciel l'arrêt du bloc de données. Le microprogramme de l'unité centrale reprend ensuite le traitement de l'instruction du lo- giciel au point o il avait été interrompu, sans autre pertur- bation qu'un retard causé au programme au cours de déroulement.- Une caractéristique importante réside dans le fait que des blocs de données provenant de plusieurs émetteurs peuvent être tous assemblés en simultanéité par un module-de processeur ré- cepteur à partir des groupes de bits de données reçus dans n'im- porte quel ordre. Cet assemblage imbriqué de blocs formés à par- tir de groupes de bits est effectué d'une manière transparente 4-0 au programme en cours de déroulement dans le processeur récep- teur. Seules des fins d'assemblage réussi de blocs ou des trans- missions erronées provoquent l'interruption du programme. Il importe également qu'un partage du temps ou découpage du temps du matériel des lignes entre processeurs ait été ef- fectué dans deux zones. Tout d'abord, chaque ligne entre processeurs et chaque contrôleur de ligne associé permettent la transmission de grou- pes de bits entre n'importe quel émetteur et n'importe quel ré- cepteur suivant la nécessité. Le balayage circulaire par un contrôleur de ligne afin d'identifier un émetteur demandeur, assure à tous les modules de processeurs une égale occasion d'émission par l'intermédiaire de cette ligne. Chaque ligne fournit un circuit de communication qui est exploité en temps partagé sans déséquilibre par tous les modules de processeurs. Ensuite, chaque partie 65 en file d'attente de la commande entre processeurs d'un 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 réservées à un seul émetteur pendant la durée d'un transfert par blocs. Au contraire, chaque groupe de bits reçu est correc- tement dirigé dans la mémoire par l'entrée de la table de ré- ception de ligne correspondant à son émetteur et à sa ligne. Les blocs de données provenant de plusieurs émetteurs sont as- semblés correctement dans la mémoire du récepteur, indépendam- ment de l'ordre dans lequel les émetteurs utilisent la ligne. Un module de processeur a deux manières de contrôler sa capacité de réception des groupes de bits par la ligne X ou par la ligne Y. Tout d'abord, il existe un bit dans le registre de MASQUE d'interruption de l'unité centrale, correspondant à chaque li- gne entre processeurs. Lorsque le bit de MASQUE est présent, des microinterruptions sont permises dans cette ligne. Des microinterruptions (lancement du microprogramme de RECEPTION DE LIGNE) se produisent lorsque la logique 101, représentée à la figure 5, de l'état de vide de processeur d'une partir 65 en file d'attente atteint l'état de MICROINTERRUPTI0N après qu'un groupe de bits a été reçu dans une mémoiretampon en file d'attente.Si le bit de MASQUE est absent à la réception d'un groupe de bits, la microinterruption et le traitement sui- 46 2473197 vant 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 lo- giciel. Les opérations du logiciel, telles que le changement d'une entrée de la table de réception de ligne, sont effectuées avec des microinterruptions invalidées afin d'éviter des résultats imprévisibles. Aucun groupe de bits n'est perdu pendant que les microinterruptions sont invalidées. Le premier groupe de bits reçu sera maintenu dans la mémoire-tampon en file d'atten- te jusqu'à ce que la microinterruption soit validée. les trans- missions des groupes de bits suivants sont refusées aussi long- temps que la mémoire-tampon en file d'attente est pleine car la logique 93 de l'état de remplissage de ligne sera à l'état COMPLET et donc dans l'incapacité de valider le signal d'ACCEP- TATION DE RECEPTION en réponse au signal de SEIZOTION. Un deuxième moyen de contrôler sa capacité de réception des groupes de bits par la ligne réside dans l'action entre- prise 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é- clenchement d'un dispositif d'interruption du système d'ex- ploitation). 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 ta- ble de réception de ligne, restant dans un bloc de données, atteint zéro alors qu'un groupe de bits est stocké dans la mé- moire, le microprogramme de RECEPTION 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 fi- gure 8, dans la logique 101 de l'état 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. Il incombe donc au programme d'interruption du logiciel d'achèvement de la réception par la ligne d'émettre le signal RIJT (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 se produise, la logique 93 de l'état de remplissage de ligne 4 2473197 en file d'attente reste à l'état COMPILE et aucun groupe supplé- mentaire de bits ne sera reçu. LIe signal d'interruption de l'achèvement de la réception peut dont désigner soit un transfert de données par blocs qui ont été émises et reçues sans erreur, soit un transfert partiel dans lequel une erreur de total de contrôle est détectée et dans le- quel un transfert partiel de l'interruption de l'achèvement est créé en résultat de l'erreur de total de contrôle détectée. Dans ce dernier cas, l'émetteur continue à envoyer les blocs de don- nées mais le récepteur rejette les blocs de données après que l'erreur de total de contrôle a été détectée. Cette erreur appa- raît avec une valeur négative dans le mot de comptage de la ta- ble de réception de ligne. Ces explications seront clarifiées par la description suivante de l'opération. L'instruction d'EMISSION'est une instruction qui exige quatre mots paramètres dans la pile du registre de l'unité cen- trale. LIe premier de ces quatre mots paramètres est un compte du nombre de mots à transmettre. Cette valeur doit correspondre au nombre attendu par la table de réception de ligne du module de processeur récepteur si l'on veut que la transmission s'achève avec succès. Le deuxième mot paramètre est l'adresse, moins un, de la zone de données de la mémoire du processeur émetteur dans laquel- le sont localisées les données à transmettre. Le troisième mot paramètre est une valeur de délai d'atten- te affectée à l'achèvement de la transmission d'un seul groupe de bits (quinze mots contenant descbnnées). la période d'atten- te repart de zéro pour chaque groupe de bits transmis par l'in- termédiaire de l'instruction d'EMISSION. Le quatrième mot paramètre précise la ligne (c'est-à-dire la ligne X ou la ligne Y) à utiliser et il indique le module de processeur récepteur. Le bit de poids fort du paramètre précise la ligne et les quatre bits de poids faible, dans un exemple par- ticulier de réalisation de la présente invention, indiquent le numéro du module de processeur récepteur. A l'achèvement d'une instruction d'EMISSION, il y a deux situations possibles: La première situation est la suivante: il s'est produit un délai d'attente d'un groupe de bits et les groupes de bits 48 2473197 restants n'ont pas été transmis, l'instruction ayant pris fin à ce momentlà. Dans ce cas, les groupes de bits restants du bloc ne sont pas transmis. La deuxième situation possible consiste en une indica- tion de l'achèvement réussi de la transmission d'un bloc de données. Ainsi, dans une première récapitulation de l'opération d'EMISSION, l'instruction d'EMISSION remplit la mémoire-tampon 69 hors de la file d'attente, représentée à la figure 4, au moyen de quinze mots contenant des données, joint un total de contrôle d'imparité et signale au contrôleur 37 de ligne qu'un autre groupe de bits est prêt à être transmis. Après que chaque groupe de seize mots a été transmis, l'exécution de l'instruc- tion d'EMISSION reprend au point o elle a été laissée. Si le dernier groupe de bits du blocs comprend moins de quinze mots, les mots restants sont complétés par des zéros. L'instruction prend fin lorsque le dernier groupe de bies est transmis. La figure 5 représente le schéma logique et la figure 7 représente le schéma d'état du matériel d'émission. lia première action de la séquence d'instruction d'ENIS- SION est d'envoyer un signal de RECEPTION EN NENOIRE à la lo- gique 73 de l'état de remplissage du processeur, représentée à la figure 4, et de fournir le numéro du processeur récepteur, par l'intermédiaire de la ligne N représentée à la figure 4, au registre récepteur 71. En même temps, l'index de l'indica- teur 79 hors de la file d'attente est réglé en 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 li- gne Y. Le signal de REîEPTION EN M1EMOIRE fait progresser la lo- gique 73 de l'état de remplissage du processeur, qui est ini- tialement à l'état vide comme le 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écep- teur dans le registre 71 représenté à la 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 la file d'attente. Jusqu'à quinze mots sont extraits de la mémoire et sont stockés, par l'inter- médiaire de la ligne M représentée à la figure 4, dans la mémoire-tampon 69 hors de la file d'attente. Le signal de stoc- kage hors de la file d'attente a pour résultat d'introduire cha- que mot, transmis par la ligne M, dans la mémoire-tampon 69 hors de la file d'attente à un emplacement précisé par le compteur 77 hors de la file d'attente. Chaque signal de stockage hors de 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 mot-adresse est augmenté d'une unité et le compte de mots à émettre 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ées. En outre, au fur et à mesure que les mots sont introduits dans la mémoire-tampon 69 hors de la file d'attente, le micro- programme 115 représenté à la figure 2 calcule un total de con- trôle modulo deux des mots contenant des données. Après que le quinzième mot contenant des données a été introduit, le mot de 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 égale à 15 et cette valeur, combinée au signal de stockage hors de la file d'attente, fait passer la lo- gique 73 de l'état de remplissage du processeur, de l'état de REMPLISSAGE à l'état COMPIET, comme le montre la figure 7. A ce stade, le microprogramme 115 a terminé l'introduction des données dans la mémoire-tampon 69 hors de la file d'attente. le microprogramme attend alors la transmission du groupe de bits en recherchant l'apparition du signal PRET représenté à la figu- re 7. Pendant cette attente de la transmission du groupe de bits, le microprogramme 115 fait évoluer un rythmeur et si le rythmeur dépasse le temps imparti ou s'arrête avant que le signal PRET ne soit validé, le microprogramme envoie à la logique 73 de l'é- tat de remplissage du processeur, représentée à la figure 4, le signal hors de la file d'attente de remise à zéro. Ceci a pour ré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'EMISSION avec l'indication du dépassement du temps imparti. En fonctionnement normal, l'état COMPIET de la logique 73 de l'état de remplissage du processeur synchronise la logique 75 de l'état de vide de la ligne de manière à la faire passer de l'état EN RESERVE à l'état de SYNOERONISATION représenté à la figure 7 Ensuite, l'état de SYNCHRONISATION est remplacé automa- tiquement par l'état d'EMISSION et cet état provoque l'envoi du signal de DEMANDE D'EMISSION au contrôleur 37 de ligne. Le signal de DEMANDE D'EMISSION déclenche une séquence de transmission de groupes de bits décrite auparavant. Comme on l'a décrit auparavant, lorsque le module de pro- cesseur émetteur a été identifié par le contrôleur 37 de ligne par balayage et lorsque le module de processeur récepteur a ac- cepté la transmission du groupe de bits au moyen du signal ACCEPTATION 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, à l'une des lignes 57 de données afin d'être chargé dans le module de processeur récep- teur 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 combinai- son avec le signal de COMMANDE D'EMISSION et le signal de SELEC- TION DE L'EMETTEUR, fait passer de l'état d'EMISSION à l'état EXEOUTE la logique 75 de l'état de vide de la ligne. L'état EXECUTE synchronise l'état COMPIET de la logique 73 de l'état de remplissage du processeur (comme le montre la flè- che en traits interrompus joignant l'état EXEOUTE à la flèche marquant à la figure 7 le passage de 1' état COMPLET afin de passer à l'état d'ATTENTE. Ensuite, l'état d'ATTENTE synchronise l'état EXECUTE afin de passer à l'état EN RESERVE comme le montre le schéma d'état représenté à la figure 7o Enfin, l'état EN RESERVE synchronise l'état d'ATTENTE afin de passer à l'état VIDE, comme le montre également le schéma de la figure 7. L'état de VIDE de la logique 73 de l'état de remplissage du processeur fournit l'indication PRET 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 d'EMISSION prend fin et l'indication d'une transmission réussie o 2473197 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 jus- qu'à ce que tous les mots du bloc aient été transmis ou jus- qu'à ce qu'une erreur de délai d'attente se soit produite. 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'EMISSION n'a aucun effet sur les données transmises. insi, au moyen d'une seule instruction de programme (l'instruction d'EMISSION), un bloc de données comptent jusqu'à 32 767 mots est transmissible d'un module de processeur émet- teur à un module de processeur récepteur et l'exactitude de la transmission est vérifiée par le total de contrôle des groupes de bits. De même, la transmission se produit à un débit élevé de transfert des données car la mise en mémoire-tampon fournie par la mémoire-tampon 69 hors de la file d'attente du module de processeur émetteur permet d'effectuer la transmission à la vi- tesse de la ligne entre processeurs, indépendante de la vites- se de la mémoire du module de processeur émetteur. Ceci permet une utilisation efficace 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'instruc- tion pour la réception. Pour qu'un module de processeur reçoive des données par l'intermédiaire d'une ligne entre processeurs, le système d'ex- ploitation de ce module de processeur doit d'abord réaliser une entrée dans la table de réception de ligne. Chaque entrée de la 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'instruction d'émission et envoie les données dans la ligne, le matériel de réception de la ligne et le micropro- gramme 115 du module de processeur récepteur rangent les don- nées en fonction de l'entrée de la table de réception de ligne (ceci se produit en imbrication avec l'exécution du programme du logiciel). Lorsque le module de processeur récepteur reçoit le nombre attendu de mots d'un émetteur donné, le programme en cours de déroulement est interrompu et cette transmission particulière par la ligne se termineo La figure 5 représente le schéma logique et la figure 8 représente le schéma d'état du matériel de réception de ligne. Comme on l'a fait remarquer précédemment, il existe des parties 65 en file d'attente X et Y identiques dans chaque module de processeur pour la ligne X et pour la ligne Yo Ia des- cription qui suit se rapportera donc à une seule de ces parties en file d'attente. Après une mise à zéro initiale d'un module de processeur, ou après une opération précédente de réception, l'état de MISE A ZERO de la logique 101 de l'état de vide du processeur passe à 1' état PR T. L' 6tat PET synchronise 1' état de SYNEOHRONISATION de la logique 93 de l'état de remplissage de ligne pour faire passer la logique à l'état d'ACCEPTATION. Dans cet état d'ACCEPTATION, la partie 65 en file d'attente renvoie le signal d'ACCEPTATION au contrôleur 37 de ligne en ré- ponse à un signal 63 de SELEOTION, représenté A la figure 2, de ce module 33 de processeur. Ceci montre la facilité avec laquel- le la partie 65 en file d'attente X reçoit les groupes de bits de données. Dans la séquence de transmission des groupes de bits, décri- te en détail ci-dessus, la combinaison du signal de SELECTION de ce module de processeur et du signal de COMM0NANDE DE RECEPTION synchronise l'état d'ACCEPTATION de la logique 93 de l'état de remplissage de ligne et le fait passer à 1' état de RIECEPTION. A ce passage d'un état à l'autre, le numéro du module de processeur émetteur est chargé dans le registre de 1 'émetteur 95 représenté à la figure 5. A l'état de RECEPTION, le groupe de bits de données est transmis de la ligne de données A la mémoire-tampon 97 en file d'attente sous le contrôle du compteur 99 en file d'attente. Lorsque le seizième mot du groupe de bits est chargé, il provoque le passage de l'état de RECEPTION à l'état COMPLET, comme le montre la figure 8. L'état COMPLET synchronise l'état PRET de la logique 101 de l'état de vide du processeur pour la faire passer à l'état de MICROINTERRUPTION, comme le montre la figure 8. L'état de MICROINTERRUPTION présente un état COMPLET EN FITTLE D'ATTENTE à 2 2473197 la logique d'interruption de l'unité centrale. Ce signal COMPIET 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 microprogramme 115 de réception de ligne lancé par l'in- terruption envoie d'abord un signal de BLOCAGE, représenté à la figure 5, à la logique 101 de l'état de vide du processeur. Ceci fait passer l'état de MICROINTERRUPTION de la logique 101 de l'é- tat de vide du processeur à l'état de VIDAGE. Le signal de BLOCAGE sélectionne également la partie en fi- l d'attente X ou la partie en file d'attente Y; à condition, tou- tefois, que les deux parties en file d'attente soient complètes et validées, c'est la partie X en file d'attente qui est validée. Ensuite, le microprogramme 115 produit le signal d'EMIS- SION 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 115 lit l'entrée de la table de réception de ligne du processeur émetteur afin d'obtenir les mots-adresses et les mots de compta- ge. Si le mot de comptage est nul ou négatif, le groupe de bits est rejeté; et, dans le deuxième cas, le microprogramme 115 envoie un signal d'INTERRtPTION DE RECEPTION qui fait passer la logique 101 de l'été de vide du processeur de l'état de VIDAGE à l'état de MISE A ZERO, comme le montre la figure 8. Dans ce cas, il n'y a pas d'autre action. lia microinterruption prend fin et le traitement de l'instruction du programme est repris. Si le comptage est positif, le microprogramme 115 extrait des mots de la mémoire-tampon 97 en file d'attente pour les lan- cer dans la ligne K par l'intermédiaire du signal K EN FILE d' ATENTE, comme le montre la figure 5. A chaque apparition du signal K EN FILE D'ATTENTE, le compteur 99 en file d'ateente progresse afin de balayer la mémoire-tampon 97 en file d'attente. Au fur et à mesure que chaque mot de données est extrait de la mémoiretampon 97 en file d'attente, le mot de comptage est diminué, le motadresse de la mémoire est augmenté et le mot de données est stocké dans la mémoire0 Si le mot de comptage atteint zéro, aucun autre mot n'est 2 2473197 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 la mémoire. Dans ce cas, la lo- gique 93 de la ligne de l'état de remplissage reste à l'état COMPLET jusqu'à ce qu'elle soit remise à zéro par une instruc- tion de programme de DEMANDE D'INTERRUPTION DE 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 pro- duite, aucune autre transmission vers le processeur par la li- gne qui provoque l'interruption n'est permise, jusqu'à ce que l'organe en file d'attente soit remis à zéro par une instruc- tion de DEMANDE D'INTERRUPTION DE RECEPTION. Au fur et à mesure que les mots contenant des données sont 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é et le numéro du processeur émetteur est introduit dans la mé- moire. Comme ci-dessus, la logique 93 de l'état de remplissage de la ligne reste à l'état COMPLET jusqu'à ce qu'elle soit re- mise à 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 li- gne envoie un signal d'INTERRUPITION 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 proces- seur, de l'état de VIDAGE à l'état de MISE A ZERO, comme le montre la figure 8. L'état de MISE A ZERO de la logique 101 synchronise la lo- gique 93 de l'état de remplissage de la ligne et la fait pas- ser de 1' état COMPLET à 1 ' état de SYNCHRONISATION, comme le 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 gzoupes de bits. Ces groupes de bits peuvent provenir du même émetteur, de manière à compléter le bloc de données, ou bien ils peu- 54i vent provenir d'un autre émetteur. Ceci met fin à l'action du microprogramme 115 de réception de ligne et le microprocesseur 113 reprend le traitement des Instructions du logiciel. Lorsqu'il s'est produit une interruption de la fin de l'opération de réception, le programme de gestion de l'interrup- tion du logiciel extrait le numéro du processeur émetteur de l'emplacement de la mémoire o ce numéro était stocké, et le programme de gestion de l'interruption du logiciel peut ensuite détecter si une erreur s'est produite dans le total de contrôle en examinant le mot de comptage de la table de réception de li- gne de ce processeur émetteur. Dans le cas d'une erreur de transmission, le mot de compta- ge a été amené à -256. En d'autres termes, le mot de comptage contiendra une valeur comprise entre -14 et zéro. Comme on l'a mentionné ci-dessus, il incombe donc au pro- gramme de gestion de l'interruption de la fin d'opération de ré- ception de ligne de produire un signal d'IeERRUPTION DE RECEîP- TION, par l'intermédiaire d'une instruction de programme de DEMANDE D' INTERRUPTION DE RECEPTION, afin de valider à nouveau la partie 65 en file d'attente. Pour résumer l'opération de réception, exactement comme l'émission d'un bloc de données par un module de processeur émetteur estvue par le logiciel comme un seul évènement, la ré- ception des donné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 jus- qu'à ce qu'une erreur se soit produite.De même, les parties 65 en file d'attente servent de mémoires-tampons pour permettre la transmission de données aux débits de transmission par ligne tout en permettant la mémorisation des données et le contrôle des données à la vitesse de la mémoire.Cette capacité d'utili- ser le débit élevé de transmission de la ligne assure une lar- geur de bande appropriée de ligne de manière à desservir plu- sieurs modules de processeurs sur une base de découpage du temps. 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 proces- seur récepteur un moyende vérifier l'exactitude des données reçues par le circuit de communication du système de multipro- cesseurso 2 2473197 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 module de processeur 33 à un autre traitement dans un autre module de processeur 33. Un trai- tement tel qu'on l'a décrit ci-dessus dans la description du système de traitement par multiprocesseurs, forme une entité fon- damentale dans le système de logiciel et plusieurs traitements coexistent dans un module de processeur 33. L'information trans- mise par la ligne entre processeurs, entre des traitements im- 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 lan- cements de messages, les annulations et les transmissions de don- né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 communi- que avec un autre traitement ou avec d'autres traitements dans un autre module 33 de processeur, par l'intermédiaire d'un pro- cédé de multiplexage dans la ligne 35 entre processeurs. La cir- culation dans la ligne entre deux modules 33 de processeurs con- tiendra, par conséquent, des transmissions entre des traitements qui se trouvent à des stades variés d'exécution. De nombreuses transmissions entre traitements sont, par conséquent, 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 traitements communiquent entre eux, aussi bien à l'intérieur des modules 33 de processeurs que par les lignes 35 entre pro- cesseurs dans la mesure nécessaire, par des mouvements de mes- sages qui sont imbriqués l'un dans l'autre. En aucun cas, une ligne 35 entre processeurs n'est affectée à un mouvement parti- 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 -56 bits de données est nécessaire car une ligne n'est jamais affec- té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 à recevoir dans le message. Cette transmission de l'information (groupe de bits de con- trôle, 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'une 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 indivi- duelle; c'est alors seulement que le module de processeur émet- teur 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 données (etde 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é- 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 l'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 fi- le d'attente représentée à la figure 2, par un contrôle de la transmission de l'information entre cette partie en file d'at- tente et la mémoire 107. Ceci permet d'effectuer des opérations telles que la modifi- cation de l'information de la table de réception de ligne, sans conditions de courses (problèmes de synchronisation). Une fois que l'information de la table de réception de li- gne a été mise à jour, on supprime le verrouillage en éliminant 58 2473197 l'interruption préalable de fin d'opération et en validant à nouveau les microinterruptions de réception de ligne en mettant en action le bit de masque de ligne dans le registre de masque. Cette action a deux conséquences. 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- le sorte qu'aucune information n'est perdue en cas de défaillan- ce de l'alimentation électrique du système (telle qu'une patnne totale de l'alimentation en courant alternatif à partir du ré- seau) ou en cas d'effet transitoire sur une ligne qui provoque une panne 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 à la figure 2 de sorte que, au plus, un groupe sup- plémentaire de bits d'information peut être introduit dans la partie en file d'attente après réception du signal d'alarme d'a- limentation. L'action du logiciel, dans le cas présent, inclut une ins- truction de SEIECTION qui force les parties en file d'attente à être complètes. Le résultat net est d'assurer qu'aucune trans- mission ne sera complétée après que le module 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 lo- gique est coupées Les lignes 55 entre processeurs sont utilisées par le systè- 3o me d'exploitation pour assurer que les autres modules de prtces- seurs du système sont en fonctionnement. Toutes les deux secon- des N, chaque module 33 de processeur doit avoir reçu un tel groupe de bits de chaque module 33 de processeur du système. Un module de processeur qui ne répond pas est considéré comme _5 étant en panne0 Si un module de processeur ne reçoit pas son propre message, ce module 33 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 59 2473197 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 il- lustre une composition d'un système de traitement par multipro- cesseurs qui se compose de deux modules 33 de processeurs con- nectés par une double ligne 35 entre processeurs (une ligne re- pérée x et une ligne repérée Y), d'un organe 41 de commande qui commande plusieurs terminaux à clavier, et d'un autre organe 41 de commande qui commande un disque. Les vues individuelles de la figure 42 indiquent les diver- ses parties du système de traitement par multiprocesseurs ren- dues inutilisables et réintroduites ensuite dans un état utilisa- ble dans le système de traitement par multiprocesseurs. La séquence débute par la vue de gauche supérieure et elle se poursuit dans l'ordre indiqué par les flèches en traits lar- ges disposées entre les vues. La séquence passe ainsi de l'état 1 indiqué comme étant l'Etat Initial, à l'état 2: Unité Centra- le 0 Coupée, puis à l'état 3: Unité Centrale 0 Remise en état, à l'état 4: Unité Centrale 1 Coupée et à l'état 5: Unité Cen- trale 1 Remise 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 multi- processeurs, représenté par la vue intitulée "Etat Initial" et placée en haut à gauche de la figure 42, une copie PA du pro- gramme d'application est en cours d'exécution. Cette copie lance un appel de système pour créer la copie PB sous forme d'un dou- ble auquel le programme d'application PA passe ensuite l'infor- mation. L'ensemble des entrées et sorties se fait par le modu- le O de processeur. Dans cet état initial, la ligne 35 entre pro- cesseurs peut tomber en panne ou être coupée, comme l'indiquent les barres tracées sur la ligne X, et elle peut être réintrodui- te 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 0 Coupée', le module 0 de processeur est rendu inutilisable. Le système de traitement par multiprocesseurs informe le programme d'appli- cation PA de ce qui s'est passé et le programme d'application FA n'essaie plus de communiquer avec le programme PB. L'ensem- ble des entrées-sorties est commuté par le système de traitement 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 1 de proces- seur, et le programme d'application continue à desservir les ter- minaux sans interruption par la ligne 39 d'entrées-sorties con- nectant le module 1 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 la figure 42 et intitulée "Unité Centrale 0 Remise en état", le module 0 de processeur est remis en service par l'intermédiaire d'une commande de console. Le module 0 de processeur est rechar- gé avec le système de traitement par multiprocesseurs, à partir du disque, au moyen du module 1 de processeur. Le programme d'application PA est informé que le module 0 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 0 de processeur. Cette autre copie est désignée par les initiales PC. 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". Le programme d'application PC est informé de ce fait par le systè-- me de traitement par multiprocesseurs et le programme d'appli- cation PC prend la relève de l'application. lIe système de trai- tement par multiprocesseurs effectue automatiquement toutes les entrées-sorties par l'intermédiaire du module 0 de processeur. Les terminaux continuent à être desservis sans interruption. Enfin, comme le montre la vue placée en haut à droite de la figure 42 et intitulée "Unité Centrale 1 Remise en état, le mo- dule 1 de processeur est rendu utilisable au moyen d'une comman- de de console et il est rechargé avec le système de traitement par multiprocesseurs, à partir du disque, au moyen du module 0 de processeur. Le programme d'application PC est informé que'le module de processeur est maintenant disponible et il ordonne ai 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 temps, 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 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, etc. Le système 31 de traitement par multiprocesseurs est ainsi un véritable système continu. 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érale. Le système d'entrées-sorties a pour objet général de per- mettre la transmission des données entre un module 33 de pro- cesseur 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 "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 blo- quera pas la transmission des données de et vers un appareil périphérique particulier. Chaque organe 41 de commande comporte deux entrées 43 et une structure correspondante qui, en liaison avec les deux li- gnes correspondantes 39 d'entrées-sorties, permet un accès re- dondant à 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é- sente invention comporte également quelques caractéristiques particulièrement significatives en matière de performances, Par exemple, une des caracté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 la structure des lignes d'entrées-sorties. Les organes 41 de commande collectent les données auprès des appareils périphéri- ques 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 processeur est relié à et prend en charge plusieurs organes individuels 41 de commande. Ce fait permet de connecter chaque organe 41 de commande, par l'intermédiaire des doubles entrées 43, à plus d'un module 33 de processeur d'un système unique de traitement par multiprocesseurs. On se reportera maintenant à la figure 12 des dessins. Chaque module 33 de processeur inclut, en plus de la commande 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'entraînement 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 commande. En continuant à se reporter à la figure 12, on verra que chaque unité centrale 105 comprend un microprocesseur 1130 Un microprogramme 115 est associé à chaque microprocesseur 1135 Le microprocesseur 115 exécute une partie du microprogramme 115 en exécutant les instructions d'entréessorties pour le système d'entrées-sorties. Les instructions d'entrées-sorties sont indi- quées à la figure 12 par les sigles EIO (exécution des entrées- sorties), IIO (interrogation des entrées-sorties) et HIIO (in- terrogations hautement prioritaires des entrées-sorties). Ces instructions sont illustrées et décrites plus en détail ci-des- sous avec référence aux figures 15, 16 et 17. Le microprocesseur 113 accède à la ligne 39 d'entrées-sor- ties 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. Le microprogramme 121 remplit une fonction unique dans le système de traitement par multiprocesseurs, cette fonction con- sistant à effectuer la séquence de reconnexion et de transmis- sion des données, illustrée à la figure 16 et décrite plus en détail ci-dessous. Le canal 109 d'entrées-sorties d'un module 33 de proces- seur comprend également une logique 123des circuits de données, comme 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ées- sorties, un registre 129 d'adresses mises en mémoire par le ca- nal, un registre 131 de comptage des caractères, un registre -33 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 pta- ritée Le circuit 117 représenté à la figure 12 comprend deux li- 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-proces- seur 113 et elle introduit les données dans le registre- 127 de données d'entrées-sorties. La ligne K est une ligne d'arrivée qui transmet les données de la logique 123 du circuit de données au microprocesseur 113. 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é à la figure 12, inclut à la fois un circuit de matériel 139A et deux circuits logiques 139B et 139C implantés dans le sous-système 107 de la mémoire d'un mo- dule 33 de processeur0 Les circuits logiques 139B et 139C seront décrits plus en détail ci-dessous, en rapport avec la description de la figure 16. Le circuit de matériel 139A comprend trois branchements comme le montre la figure 13. Un premier branchement 139-A 1 transmet les données de la mémoire au registre 125 de données mises en mémoire par le canal. 64 2473197 Un deuxième branchement 139A-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 139A-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 DEMADE DE RECONNEXION 145, DEMMADE D'INTERRUP- TION FAIBLEMENT PRIORITAIRE 147, DEMANDE D'INTERRUPTION FORTE4 MENT PRIORITAIRE 149 et de DEMANDE DE RANGEMENT 151, comme le montre la figure 14. La ligne 39 d'entrées-sorties, représentée aux figures 12 et 14, comprend également un groupe de lignes de fonctions de canal 153, 157 et 159. Voir également à la figure 13o ILa ligne de REFERENCE ou ligne T 155 se compose de quatre lignes qui ser- vent de lignes de fonctions et il y a trois lignes d'UTILISATION EEN SORTIE 155, d'UTILISATION EN ENTRIE 157 et d'ARRET EN ENTIE 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éessorties comprend également un groupe de lignes 161, 163, 165, 167 et 169 pour l'acheminement des donnéeso 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'ACEMINEMIENT DES DONNEES et une ligne 163 de PARITE. Les lignes FIN DE TRANSMISSION 165, REMIPLISSAGE DE POSI- TIONS INUTILISEES EN SORTIE 167 et REMPLISSAGE DE POSITIONS INU- TILISEES EN ENTREE- 169 servent de lignes d'état des données et elles indiquent les états particuliers qui peuvent se produire de temps à autre dans les lignes 161 et 165 d'acheminement des données. Enfin la ligne 59 d'entrées-sorties comprend une ligne 171 de mise à zéro, comme le montrent également les figures 12 et 14. Chaque instruction dans la ligne T, illustrée à la figure 18, exige un format particulier dans la ligne 161 acheminant les 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é- senté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 T, les données ou la zone trans- mises lar les lignes 0 à 5 de la ligne 161 acheminant les don- 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 trans- 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 instruc- tion. Dans le cas de la fonction RDST (Etat du dispositif de lec- ture) dans la ligne T, les bits 0, 1, 2 et 3 dans la ligne ache- minant les données indiquent respectivement uneerreur de proprié- té, une interruption en cours, un appareil occupé et une erreur de parité. Les bits 4 à 15 signalent l'état dépendant de l'appa- 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 et une séquence d'établissement de liaison est effectuée entre le 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 fonction dans la ligne T. La machine 143 dans la ligne T, représentée à la figure de la liaison entre le canal 109 d'entrées-sorties et les en- trées 43. Comme le montre la figure 28, la ligne 155 transmet le si- gnal d'utilisation "en sortie" SVO et la ligne 157 transmet le signal d'utilisation "en entrée" SVIO 66 2473197 Le cycle d'horloge du canal est représenté orienté verti- calement 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" ve- nant du canal 109 d'entrées-sorties. Avant de valider le signal d'utilisation "en sortie" SVO, le canal 109 valide la fonction dans la ligne T et, en cas de nécessité, la ligne acheminant les données. Le canal valide ensuite un signal d'utilisation "en sor- tie", comme l'indique la montée verticale 279 à la figure 28. Le signal d'utilisation "en sortie" demeure validé jusqu'à ce 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'utili- sation "en entrée", le canal 109 élimine le signal d'utilisa- tion "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 com- mande élimine le signal d'utilisation "en entrée" comme le mon- tre la descente verticale 285 à la figure 28. Lorsque l'organe de commande élimine le signal d'utilisa- tion "en entrée", le canal 109 est libre de revalider un si- gnal d'utilisation "en sortie" pour la transmission suivante; cependant, le canal ne revalidera pas le signal d'utilisation "en sortie" aussi longtemps que le signal d'utilisation "en entrée" n'a pas été éliminé. Les flèches 2814, 283A et 285A à 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 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 don- 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 d'utilisation "en sortie", c'est-à-dire à la descen- te verticale 283. Ainsi, une liaison à deux lignes est utilisée pour ver- rouiller la transmission de l'information entre le canal 109 et son organe 41 de commande, puisqu'ils agissent de manière asynchrone. C'est la condition générale de liaison, indiquée par la liaison 2L aux figures 15, 16 et 17. En outre, deux considérations de liaison spéciale se po- sent, le cas échéant. Premièrement, les instructions dans le canal, utilisées pour sélectionner un organe de commande, ne sont pas liées par le signal d'utilisation "en entrée", car aucun organe de commande n'est sélectionné pendant ce temps. Ces instructions comprennent, comme le montre la figure 18, les fonctions suivantes: SEL: Sélection; LAC: Adresse et instruction d'implantation; HPOL: Balayage d'interruption fortement prioritaire; LPOL: Balayage d'interruption faiblement prioritaire, et RPOL: Balayage d'interruption de reconnexiono De même, les instructions utilisées pour mettre fin à une séquence ne sont pas liées par le signal d'utilisation en entrée", car elles amènent un organe de commande sélection- né à se désélectionner. * 3o Ces instructions comprennent, comme le montre également la figure 18, les fonctions suivantes: DSEL: Désélection; ABTI: Instruction de suspension d'exécution (Entrée- Sortie); 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'utilisa- tion "en sortie" SVO pendant un temps donné (par exemple, deux cycles d'horloge) et, ensuite, le canal éliminera ce si- gnal d'utilisation "en sortie" SV0o Ce type de liaison est 68 2 4 73 1 9 7 indiqué aux figures 15, 16 et 17 par la liaison 1I. Deuxièmement, la transmission des données est normalement liée sauf que, lorsqu'un organe de commande désire signaler qu'u- ne plus longue utilisation n'est pas demandée, il renvoie un signal d'arrêt "en entrée" STI, au lieu d'un signal d'utilisa- tion "en entrée" SVI. Lorsque le signal d'utilisation "en sor- tie" SVO est ensuite éliminé par le canal, l'entrée se désélec- te 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 "en entrée "SVI. Une condition supplémentaire valable pour toutes les liai- sons réside dans le fait que, lorsque le canal se prépare à va- lider le signal d'utilisation "en sortie" SV0, il déclenche un rythmeur qui fait partie de la machine 143 dans la ligne T de la figure 130 Ce rytbmeur 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 rytbmeur. 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é- cution ABTI (séquence EIO Exécution des entrées-sorties, II0 Interrogations des entrées-sorties, et HIIO Interrogations hau- tement prioritaires des entrées-sorties) ou des données de suspension d'dxécution ABTD (séquence de reconnexion) sont en- voyées à l'organe de commande 41. Voir la description concernant les figures 15, 16 et 17, La figure 29 représente la logique dans le cas de la liai- son représentée à la figure 28. La logique représentée à la fi- gure 29 fait partie de la machine 143 dans la ligne T représen- tée à la figure 130 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 mon- turent 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 293 qui renvoie un signal d'utilisation "en entrée" SVI à l'entrée D de la bascule bistable 289. 69 2473197 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 bascule 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 com- mande. Lorsque la logique combinatoire 291 de l'organe de commande est prête, elle permet au transmetteur 293 de renvoyer le si- 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 179 à la logique commune 181 d'interface, représentée plus en détail à la figure 21, et chacune des entrées 43 est également associée, par l'intermédiaire d'une connexion logique 183, à la logique commune 181 d'interface déterminée par une bascule de possession 185. Comme le montre à 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 comman- de 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 traitement 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 également un élément de l'autre entrée 43 d'un or- gane particulier 41 de commande, et aucune défaillance d'un élément individuel (par exemple la défaillance d'un circuit in- tégré) d'une entrée ne peut affecter le fonctionnement de l'au- tre entrée. Chaque entrée 43 a pour fonction, comme l'indique la légende de la figure 19, de relier un module de processeur à un organe 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 commande de l'organe 187 de l'organe de commande (con- 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 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. Cepen- 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 trans- 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 à 1 du bit de sélection, la remise à zéro du bit de sélection, la lecture de l'état d'inter- ruption. 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 ci- aprè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 seulement l'unique entrée 43 d'un organe 41 de commande connectée à cette ligne 39 d'entréessorties) est connectée au sens logique à la ligne 39 par la mise à 1 de son bit de sélection 173. Cette connexion logique est déterminée par une partie des données transmises au cours de cette séquence de connexions. Lorsqu'elle est connecté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 commande0 Le comparateur 193 d'adresses de l'appareil est la partie de 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'a- dresse unique d'une entrée particulière 43 en comparant la zone d'adresse de l'appareil dans la ligne 161 acheminant les don- nées pendant une fonction TAC (Adresse et instruction d'implan- tation) transmise 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 particu- lière 43, le terme COMPARAISON D'ADRESSES, voir figure 27, est créé et le bit de sélection 173 de cette entrée est mis à 1 (en supposant que les autres états énumérés à la figure 27 permettent 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'à ce que la séquence se termine par la remise à zéro du bit de sélection. Les abréviations utilisées à la figure 27 comprennent les abréviations suivantes: Add Comp: Comparaison d'adresses (Adresse d'appareil); PAROKFI: 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éra- teur de parité et à la logique 137 de contrôle de la figure 13 par le fait que, à la sortie, la logique 137 du générateur de 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ées-sorties du module 33 de processeur. A l'entrée, la lo- gique commune 181 d'interface crée la parité qui doit être con- trôlée de la même manière par la logique 137 de contrôle de pa- rité dans le canal. Comme le montre la figure 24, le contrôle de parité commen- ce avant que les données ne soient introduites dans le registre et il se poursuit après que les données ont été entièrement in- 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'en- trée chaque fois que le canal valide l'UTILISATION EN SORTIE avec 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 assurer que les données transmises par la ligne D sont stables pendant la durée de l'UTILISATION EN SORTIE, tandis que l'en- trée introduit les données dans le registre 213 de données. Ce contrôle de parité est effectué à chaque opération d'une séquence de ligne T et, si une erreur de parité se pro- 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 fonc- tion transmise par la ligne T pendant une séquence. Par exem- ple, 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éter- miné une erreur de parité pendant la séquence d'EXECUTION DES ENTPEES-SORTIES. Comme le montre la figure 18, le bit d'erreur de parité est le bit n 3 dans la ligne D en réponse à une fonction d'ETAT DE L'APPAREIL DE LECTURE dans la ligne T0 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 1'ETAT D'INTERRUPTION DE LECTURE d'une manière ana- 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 ENTRKES-SORTIES, d'INTERROGATION DES ENTREESSORTIES, 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 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 certaine classe d'erreurs qui, sinon, rendraient inopérantes les deux lignes 39 d'entrées-sorties reliées à un organe par- ticulier 41 de commande. La bascule 175 de validation accom- plit cette fonction en ne permettant pas à l'entrée 43 de lan- cer des signaux dans la ligne 39 d'entrées-sortieso La bascule 175 de validation est remise à zéro par une instruction particulière d'invalidation. Il s'agit d'une fonc- tion 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 à 1 par le programme. L'entrée 43 comprend un multiplexeur d'état 195e 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 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 des 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 ENTREE, l'ARRET EN ENTREE, la ligne acheminant les données, la parité, le REMPLISSAGE DE POSITION INUTILISEES EN ENTREE, la RECONNEXION EN ENTREE, la DEMANDE D'INTERRUPTION FAIBLEMENT PRIO- RITAIRE et la DEMANDE 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 43 au canal 109 d'entrées- sorties lorsque le bit 173 de sélection d'entrée est mis à/aeionction transmise par la ligne T 153 exige que l'organe 41 de commande renvoie l'information au canal. 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 le fait que le circuit 182 de mise sous tension associe son action à celle des émetteurs-récepteurs 197 afin de régler le comporte- ment de ces derniers lorsque l'organe 41 de commande est mis sous tension ou hors tension, de manière à empêcher que des si- gnaux erronés ne soient envoyés dans la ligne d'entrées-sorties pendant la mise sous tension ou hors tension. Cette caractéristi- que est particulièrement significative du point de vue de l'entre- tien en direct. Comme le montre la figure 20, chaque émetteur-récepteur 197 comprend un récepteur 198 et un émetteur 200O L'émetteur est validé par une ligne 202 de validation. Plusieurs mots sont présents dans la ligne de validation 202. Ils comprennent le bit de sélection 173, une fonction 74 2 4 2473197 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 ten- sion 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 particulier de réalisation, est un émetteur 8T26A ou 7438) jus- qu'à ce que le circuit de mise sous tension détecte que l'alimen- tation 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 cir- cuit intégré de l'émetteur particulier utilisé0 Dans ce type par- ticulier 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 blo- 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é 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 sys- tème de lignes entre processeurs afin de régler les émetteurs- 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 é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. L'objet du circuit de mise sous tension est de détecter deux 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 dessous d'un certain niveau qui place la logique de l'organe de commande ou de l'unité centrale dans un état ou condition indéterminé0 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 cir- cuit de mise sous tension est une valeur qui est perçue lors- que la tension monte. Ce deuxième niveau auquel la tension est détectée sera supérieur au premier niveau d'environ 100 milli- volts, 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'é- tat0 L'état dans lequel se trouve le circuit de mise sous ten- sion à un moment particulier détermine le niveau de tension au- quel se produira le passage à l'autre état. Le circuit 182 de mise sous tension présente ainsi un si- gnal qui constitue une indication selon laquelle la tension d'alimentation se trouve bien dans les limites acceptables et pr édéterminées de fonctionnement de l'organe 41 de commande0 Si la tension d'alimentation n'est pas dans ces limites accepta- bles et prédéterminées de fonctionnement, le signal de sortie du circuit 182 de mise sous tension est utilisé pour invalider di- rectement les signaux appropriés de ligne de l'organe 41 de commande. Le signal de sortie du circuit 182 de mise sous tension est un signal de sortie binaire. Si la sortie est à l'état "un", la tension d'alimentation se trouve dans des limites satisfai- santes. Si la sortie du circuit de mise sous tension est à l'état "zéro", c'est une indication d'une tension d'alimenta- tion 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 182 de mise sous tension est également utilisé avec l'unité 76 2473197 centrale 105 et le contrôleur de lignes 37 mais, dans ces appli- cations, le circuit de mise sous tension comportera un nombre moindre d'étages de commande de sortie. Comme le montre la figure 25, le circuit 182 de mise sous 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 le qui est une indication de la tension qui doit être détectée par le circuit de mise sous tension. La tension de référence dans la ligne 188 est obtenue par une diode Zener 192. L'amplificateur différentiel 186 comprend deux transistors 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'am- plificateur 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 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 pre- mière entrée 43 de l'organe 41 de commande, tandis que les éta- ges de sortie 224, 226 et 228 sont utilisés en association avec 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- 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à, la tension dans la ligne 190 est inférieure à la tension dans la ligne 188, de sorte que l'amplificateur différentiel 186 main- tient la sortie du transistor 214 de commande de sortie principa- le à l'état hors tension. Ce dernier, à son tour, imposera l'état 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 acceptables. Lors de l'élévation de la tension, la tension d'entrée dans la ligne 190 augmente jusqu'à ce 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'é- tat hors tension à ces étages de sortie. La sortie du circuit 182 de mise sous tension est alors à l'état "un", état indiquant que 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 du circuit 230 de commande d'hystérésis était sous tension. Lorsque le transistor 236 est sous tension, la résistance 202 présente une valeur de résistance inférieure à la valeur de la même résis- tance 202 lorsque le transistor 236 est hors tension. Le point auquel le transistor 214 de commande de sortie principale est mis sous tension coïncide avec le point auquel le 3o transistor 236 de commande du circuit d'hystérésis est mis hors tension. La mise hors tension de ce dernier transistor 236 pro- voque 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érentiel 186 maintient le transistor 214 de sortie principale dans l'état sous tension. L'état du circuit de mise sous tension restera stable dans cet état, le transistor 214 de commande de sortie principale étant mis sous tension et les étages de commande de sortie 216 à 228 étant mis hors tension, jusqu'à ce que la tension de +5V chute en dessous d'un niveau de seuil inférieur déterminé par 78 2473197 * 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'alimen- tation en 5V accuse une défaillance, l'amplificateur différen- 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 236 de commande du circuit d'hysté- résis était mis hors tension lorsque l'alimentation a chuté, la tension appliquée à l'entrée du circuit 182 de mise sous-ten- sion 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 pro- duise 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 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 cir- cuit de mise sous tension doit pouvoir compenser les tolérances initiales des différents éléments ainsi que les variations ther- miques 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ésistan- ce 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 pas- sive. La compensation thermique effective est également effec- 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 45 comprend plusieurs lignes qui sont repé- rées d'une manière générale par la référence 179 aux figures 19 2 4 73 1 9 7 et 20. Ce groupe de lignes 179 comprend les lignesindividuel- les 201 dont seize constituent la ligne d'entrée ou ligne I, les lignes d'adresse 203 des appareils, les lignes 205 de sortie au nombre de seize, une ligne 207 de prise de posses- 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 ana- logues qui sont énécessaires du fait de la mise en oeuvre par- ticulière du matériel. Ces lignes particulières 201,. 203, 205, 207 et 209 cor- respondent aux lignes qui portent les mêmes références à la fi- gure 21 qui est le schéma de fonctionnement de la logique com- mune d'interface. Cependant, il y a deux ensembles de chacune de ces lignes à la figure 21 car la logique commune d'interfa- ce 181 est associée à chacune des doubles entrées 43 d'un or- gane 41 de commande. Comme le montre la figure 21, la-logique commune d'inter- face 181 inclut la bascule 185 de prise de possession, repré- sentée également à la figure 19. Cette bascule de prise de pos- session détermine-la connexion logique entre la logique commu- ne d'interface 181 et une entrée 43 d'o a été reçu par la li- gne 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'implan- tation LAC mentionnée à la figure 18, avec un code opération particulier de la zone d'instruction dans la ligne D. Lorsque l'entrée reçoit la fonction d'adresse et d'instruction d'im- plantation MAC dans la ligne T à partir du canal, la logique de l'entrée examine la zone d'instruction, c'est-à-dire les six bits de la partie supérieure, dans la ligne D. Ensuite, si la zone d'instruction contient un code spécifiant une instruc- tion de prise de possession, 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'intereace et, de là, à la par- tie de commande de l'organe de commande. Si la zone d'instruc- tion indique une instruction de suppression, le matériel de l'entrée produit un signal qui remet à zéro la bascule de va- lidation de l'entrée. Cette opération n'a lieu que si la zone d'adresse de l'appareil dans la ligne D correspond aux conne- xions volantes d'adresse de l'appareil d'entrée et si aucune 2473197 erreur de parité n'est détectée pendant l'instruction. Ce qui revient à dire qu'aucune instruction (y compris la prise de pos- session, la suppression, etc.) n'est exécutée si une erreur de parité est détectée dans l'adresse et instruction d'implanta- tion LAC. En conséquence, le canal 109 d'entrées-sorties émettant l'instruction de prise de possession régit l'organe 41 de com- mande et l'autre entrée 43 est logiquement déconnectée. L'instruc- tion de prise de possession peut également provoquer une remise à 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 é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'at- tribuer la possession à l'autre entrée après que l'état interne de l'organe de commande aura été remis à zéro. Les signaux de commande sont choisis par l'état du regis- tre 185 de prise de possession et à partir d'une entrée appro- priée 43; ils sont transmis par le multiplexeur 211 à la par- tie de commande 187 d'un organe de commande par un groupe de lignes de commande 215. Les données sont sélectionnées à partir d'une entré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 215A, sont utilisées pour commander le multiplexeur 220 afin de sélectionner l'information transmise de l'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 mo- dule 33 de processeur. Une ligne 221 renvoie l'adresse de l'ap- 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ésen- tée à la figure 19, est illustrée plus en détail à la figure 22. Suivant la présente invention, de nombreux organes 41 de 24731c7 commande comprennent une mémoire-tampon comportant plusieurs mots, prévue pour recevoir l'information à un débit relativement faible depuis un appareil périphérique et pour transmettre en- suite cette information au module de processeur à ou au voisinage de la vitesse de la mémoire afin d'utiliser au maximum la lar- geur 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 d'erreur. Pour que les organes 41 de commande coopèrent correc- tement, les mémoires-tampons 189 comportant plusieurs mots sont constituées suivant certaines règles. Ces règles sont les suivantes: Tout d'abord, lorsqu'un organe de commande fait -une deman- de de reconnexion pour le canal 109, il doit rester une profon- deur 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 puis- se s'écouler sans vider la profondeur restante de la mémoire- tampon. Ceci s'appelle la profondeur de seuil de la mémoire- tampon, en abrégé T à la figure 23. Ensuite, après que la mémoire-tampon a été desservie, elle doit attendre un temps suffisamment long pour permettre à tous les organes 41 de commande faiblement prioritaires d'être desser- vis, avant de faire une autre demande de reconnexion. Ceci s'ap- pelle la profondeur d'attente. La profondeur de la mémoire dési- gnée par la lettre D à la figure 23, est la somme de la profon- deur d'attente et de la profondeur de seuil. La profondeur d'attente et la profondeur de seuil sont fonc- tion de plusieurs variables, à savoir le débit de l'appareil, le débit du canal, la vitesse de la mémoire, le temps de reconne- xion, le nombre d'organes de commande fortement prioritaires dans la ligne d'entrées-sorties, le nombre d'organes de commande fai- blement prioritaires dans la ligne d'entrées-sorties et la lon- 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ées- sorties qu'un autre organe de commande faiblement prioritaire dans la même ligne d'entrées-sorties;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 prio- ritaire. De même, un organe de commande faiblement prioritaire dans une ligne d'entrées-sorties exige une profondeur de seuil plus grande que ne l'exige un organe de commande fortement prio- ritaire. La mémoire-tampon 189 d'un organe de commande est cons- tituée de manière à bénéficier du fait que, lxssque les exigences de profondeur d'attente augmentent, les exigences de profondeur 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 et faiblement prioritaires dans une disposition particulière de canal d'entrées-sorties0 La profondeur de la mémoire-tampon re- présente donc le maximum de l'exigence de profondeur de seuil dans le cas le plus défavorable ou le maximum de l'exigence de pro- fondeur 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éfavora- ble et de la profondeur d'attente dans le cas le plus défavora- ble. Ceci permet de réduire au minimum la profondeur de la mé- moire-tampon et diminue le temps nécessaire au remplissage et au vidage de la mémoire-tampon. La figure 23 illustre graphiquement plusieurs de ces pa- ramè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 la figure 23 (et en supposant que la mémoire-tampon est remplie sur toute sa profondeur), les données sont transmises à un ap- pareil à un débit indiqué par la droite de pente -RD et cette transmission de données se poursuit sans qu'un signal de recon- nexion soit produit jusqu'à ce que la profondeur de la mémoire- 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 figure 23. 5 2 La transmission des données se poursuit depuis la mémoire- tampon au débit indiqué par la droite de pente -RD et la deman- de est maintenue en attente par les organes 41 de commande for- tement 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-tam- pon des mots contenant-des données, à un débit indiqué par la droite de pente Rc. En même temps, l'organe 41 de commande continue à trans- mettre des mots contenant des données hors de la mémoire-tam- pon et au débit -RD, de sorte que le débit total d'entrée dans la mémoiretampon 189 est indiqué par la droite de pente Ra - RD, jusqu'à ce que la mémoire-tampon soit à nouveau rem- plie 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 transmis- sion des données se poursuivant au débit indiqué par la droite de pente -R0. 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. La lettre B à la figure 23 indique le temps de transmission d'une tranche. Ce temps est un paramètre dynamique. 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'ap- pareils et de transmissions en cours et du temps de reconnexion du canal0 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émoiretampon, tout en recevant des débits élevés de transmission d'appareil, ainsi que le nombre d'appareils qui peuvent transmettre en simultanéité0 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 23. La mémoire-tampon 189 représentée à la figure 22 comprend w-r-. 247319? un tampon d'entrée 231, une mémoire-tampon 233, un tampon de sortie 235, un indicateur d'entrée 237, un indicateur de sortie 239, un multiplexeur 241, une logique 243 de commande du tampon décrite plus en détail à la figure 26, un multiplexeur 245 con- necté à la logique 243 de commande du tampon et un compteur 247 de contraintes. Gomme 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 seize 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 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 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 la figure 22. Les indicateurs d'entrée 237 et de sortie 239 fonctionnent avec le multiplexeur 241 de la manière suivante 530 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 enre- gistré. Lorsque les données sont transmises de la mémoire-tampon 233 au tampon de sortie 235, l'indicateur de sortie 239 est con- necté à la mémoir e-tampon 233 par l'intermédiaire du multiple- xeur 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, 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 de- gré de remplissage ou de vidage de la mémoire-tampon, combiné au sens de la transmission par rapport au module de processeur (en- 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- te de 0 à 15 en entrée et la diminution de contrainte de 0 à 15 en sortie. Un autre exemple de réalisation (non représenté sur les dessins) ajouterait le sens de la transmission à la logique de commande de la mémoire-tampon, de telle sorte que deux autres lignées 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 de- mande de canal, représentée également à la figure 21, et une li- gne 257 de demande d'appareil, venant de la partie 187 de comman- de de l'organe de commande, sont validées afin d'indiquer l'ac- cès à 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 il sélectionne l'autre ligne comme demande de diminution du remplis- sage de la mémoire-tampon, en se fondant sur le sens de la trans- 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 également utilisée pour charger les données depuis les lignes appropriées 249 ou 217 acheminant les données, représentées à la figure 22, dans le tampon d'entrée 231 par l'intermédiaire de la ligne 259. Le canal et l'appareil peuvent accéder en même temps à la mémoire-tampon 189 et la logique 243 de commande de la mémoire- tampon satisfait une demande à la fois. La logique 243 de com- mande de la mémoire-tampon choisit l'une des lignes pour le ser- vice et maintient l'autre ligne en différé jusqu'à ce que la lo- gique 243 de commande de la mémoire-tampon ait satisfait la pre- mière demande, ensuite elle satisfait l'autre demande. La satisfaction d'une demande par la logique 243 de comman- de de la mémoire-tampon se fait de la manière suivante: Tout d'abord, la logique de commande de la mémoire-tampon détermine le sens de la transmission (entrée ou sortie) par rap- port à la mémoire-tampon 23355 et elle valide la ligne 261, con- nectée au multiplexeur 241, comme étant appropriée pour sélec- tionner l'indicateur d'entrée 257 ou l'indicateur de sortie 259 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 251 dans la mémoire-tampon 23355 à l'emplacement déterminé par l'indicateur d'entrée 237 et par le multiplexeur 241. B) Elle fait progresser le compteur de contrainte 247 C) La logique 245 de commande de la mémoire-tampon fait progresser l'indicateur d'entrée 257. Enfin, lors d'une transmission de sortie, la logique 243 de commande de la mémoire-tampon valide la ligne 265 qui effec- tue les trois opérations suivantes: A) La logique 245 de commande de la mémoire-tampon enre- gistre dans le tampon de sortie 255 le mot extrait de la mémoi- re-tampon 23355, tel qu'il est déterminé par l'indicateur de sor- tie 259 et le multiplexeur 241. B) La logique 245 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 * 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'im- porte 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 va- leurs possibles de contrainte et une demande de reconnexion est adressée au canal 109 lorsque la contrainte dans la mémoi- re-tampon 189 atteint cette valeur. La partie 187 de commande de l'organe de commande utilise les trois signaux oui correspondent aux légendes de la figure 25, pour envoyer des demandes de reconnexion et des demandes de 87 2473197 déconnexion dans les lignes respectives 145 et 159, représentées aux figures 12 et 14. Le signal SPI d'ARRET EN ENTIEE transmis par la ligne 159 représentée aux figures 12 et 14, est en rapport avec la pro- fondeur D de la mémoire-tampon, les états de remplissage ou de vide de la mémoire-tampon et le sens de transmission; le signal ROI de RE0CONIXI0N EN ENTREE transmis par la ligne 145 repré- senté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 ENTGEE 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'AREET EN ENTHEr 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 valide le signal RCI de REC0I3=I0N EN ENTRE transmis par la ligne 145 pour indiquer au canal 109 que la mémoire-tampon désire trans- mettre une tranche de données. La figure 26 représente en détail le multiplexeur 245, la logique 243 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 245A et 245B, des bascules bistables de demande 267A et ê67B, une bascule bistable d'horloge 269, des bascules bistables de synchronisation des demandes 271A et 271B, une porte 273 de résolution de la priorité et des portes 275A et 275B d'exécution des demandes. Le compteur de contrainte 247 comprend une partie 247A de compteur et une partie 247B de décodeur, comme l'indiquent les légendes de la figure 26. Comme le montre la figure 26, les deux groupes de portes 245A et 245B ont utilisé le signal de demande du canal, transmis par la ligne 215, et le signal de demande de l'appareil, transmis par la ligne 257, ainsi que les signaux de lecture et d'enregis- trement pour déterminer lequel du canal ou de l'appareil intro- duit des données dans la mémoire-tampon 189 et lequel en extrait des données. Les bascules bistables de demande 267A et 267B stockent les demandes jusqu'à ce que la logique de commande ait satisfait la demandeo La bascule bistable d'horloge 269 produit un signal d'hor- loge en deux phases utilisé par les bascules bistables de syn- chronisation des demandes 271 A et 271B et par les portes 275A et 275B d'exécution des demandes. Les bascules bistables de synchronisation des demandes 271A et 271B 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 dif- féréo Les portes 275A et 275B 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émoire- tampon ou du tampon de sortie, et mise à jour de l'indicateur d'entrée ou de l'indicateur de sortie. En outre, chaque signal remet à zéro la bascule bistable appropriée de demande, par l'intermédiaire des lignes 277A et 277B 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'en- trées-sortieso Dans le fonctionnement du système d'entrées-sorties, la transmission normale des données entre un module 33 de proces- seur et un appareil particulier, tel qu'un disque 45, comprend une séquence d'EXECUTION DES ENTREES-SORTIES pour déclencher la transmission. L'instruction d'IXOECUTION 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 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 com- mande et le canal 109. La reconnexion périodique peut être fai- te dans le but de transmettre les données du canal à l'appa- reil ou dans le but de transmettre les dbnnées de l'appareil 89 2473197 au canal. Lorsque la transmission de données estterminée, l'organe 41 de commande interrompt l'unité centrale 105 qui répond en émet- tant une séquence d'INTERROGATION DES ENTREES-SORTIES ou une séquence d' INTERROGATION RAUTEMiENT PRIORITAIPE DES ENTREES- SORTIES. La séquence d'INTERROGATION DES ENTREES-SORTIES détermine l'identité de l'appareil d'interruption et les conditions dans lesquelles la transmission s'est terminée. La séquence d' INTERROGATION HAUTEMENT PRIORITAIRE DES ENTREES-SORTIES est analogue à la séquence d'INTERROGATION DES ENTREES-SORTIES mais elle est émise en réponse à une interruption hautement prioritaire des entrées-sorties. L'instruction de l'unité centrale d'EXECUTION DES ENTREES- SORTIES 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'inacti- vité NOP. Les autres états sont les mêmes que ceux qui sont énu- mérés à la figure 18 par les mnémoniques correspondants, à sa- voir: LAC (adresse et instruction d'implantations, LPRPI (para- mètre d'implantation), RDST (état de l'appareil de lecture), DSEL (désélection) et ABTI (instruction de suspension d'exécu- tion). 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. L'instruction d'EXECUTION DES ENTREES-SORTIES et l'exécution de cette instruction, représentées à la figure 15, sont sous le contrôle direct du microprocesseur 115, représenté à la figure 12, de l'unité centrale 105. Ce déclenchement par l'unité centrale est représenté à la 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é centrale est appliqué, la ligne T passe de l'état d'inactivité NOP (état mort) à l'état d'adresse et instruction d'implantation LAC. 9o Dans l'état ou fonction d'adresse et instruction d'implan- tation 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 fi- gure 1, et ce mot est également utilisé pour indiquer l'opéra- tion à effectuer. Dans le cycle suivant de la ligne T, cette dernière passe à l' état LPRJY "PARA-EIRE D'IIiPILANTATION". Dans 1 'lat de PARAJETRE D'IPLANTATIONIT, 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, représentée à 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 IISTRUCTIOIT D'IMPLANTATION. A la fin du cycle d'établissement de liaison, comme le mon- tre la flèche en traits interrompus à la figure 15, la ligne T 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 si- gnaux 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'uni- té centrale 105. Dans l'état de PARAMIETRE D'IIPIANTATION 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 mot d'état. Si une erreur s'est produite, la machine 145 dans la ligne T, représentée à la figure 13, passe de l'état de l'APPAREIL DE LECTURE à l'état d'INSTRUCTION DE SUSPENSION d'EXE- CUTION. L'état d'INSTRUCTIOiT DE SUSPENSIONT D'3XECUTION donne comme instruction à l'organe 41 de commande de ne pas tenir compte de 1 ' informmation d 'AjDRESSE ET d ' INSTRUCTIO-I D ' IIIPLANTATION et de PAPRJETRE D'IIPLNTATIOIN aui lui a été transmise par le canal 109 d'entrées-sorties et ensuite la ligne T (canal) revient à l'état d'INACTIVITE (état mort)o Si, après l'état de l'APPALEIL 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 DESELECTION. La ligne T se trouvant à l'état de DESELECTION, l'organe 41 de commande remet à zéro sa bascule 173 de sélection et répond à l'instruction qui lui a été envoyée (pendant l'état d'ADRESSE et D'INSTRUCTION D' IPIANTATION) et la ligne T revient à l'état d' INACTIVITE (état mort). Dans le fonctionnement du système d'entrées-sorties, plu- sieurs signaux de demande d'appareil peuvent être produits de fagon asynchrone. Par exemple, un signal de reconnexion peut être créé après une séquence d'IECUTION 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 ligne de demande d'interruption à un certain nombre de condi-i- tions différentes, par exemple pour signaler l'achèvement d'une séquence d'IECUTION DES ENTREES-SORTIES ou pour rendre compte d'un état inhabituel dans un appareil périphérique. Les lignes dedemande d'appareil sont communes à toutes les entrées 43 de l'organe de commande connectées à une ligne par- ticulière 39 d'entrées-sorties. Le canal 109 répond aux demandes de reconnexion faites par la ligne 145 de RECONNEXION "EN ENTREE"I, représentée à la figure 14, et l'unité centrale 105 répond aux demandes faites par la ligne 147 de DEMANDE D'INTERRUPTION FAIBIEITENT 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 DEMANDE D'INTERROGATION FORTEMENT PRIORITAIRE avec une séquence d'INTERROGATION FORTEMENT PRIORITAIRE DES ENTREES-SORTIES. 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 à dire qu'il peut y avoir plusieurs organes 41 de commande validant en même temps une demande faite au canal 109 et le canalsélectionnera un organe particulier de commande suivant un système de priorité prédéterminéo Dans un exemple particulier de réalisation de la présente invention, jusqu'à trente-deux organes 41 de commande peuvent ê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 utilisée pour diviser ces trente-deux organes de commande en deux groupes de seize orga- nes chacun. Un groupe de seize organes de commande reçoit une priorité par rapport à l'autre groupe; une priorité est égale- ment attribuée parmi les seize organes au sein de chaque grou- pe. L'appareil qui répond au bit zéro Se la ligne D pendant 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 re- présentés aux figures 16 et 17 jusqu'à et y compris l'établis- sement de la liaison qui a lieu pendant l'état de SELECTION à 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 et présente ensuite la fonction REPOL (balayage de reconnexion) de 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é cen- trale 105 présente une fonction IPOL (balayage faiblement prio- ritaire) de la figure 6, représentée à la figure 17, si l'unité centrale répond avec une séquence d'IMEERROGATION DES ENTREES- SORTIES, ou une fonction BPOL (balayage hautement prioritaire) de la ligne T si l'unité centrale répond avec une séquence d'INTERROGATION RAUTEMNT PRIORITAIRE. Il s'agit là du seul point important de différence entre les représentations de la 3o 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 RECONNMUION EN ENTREE (ROI) représentée à la figure 14, tous les appareils 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 93 2473197 registre 135 de séparation des priorités représenté à la figure 13. la sortie de ce registre 135 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 vali- de le bit approprié de retour dans la ligne D 161, si un bit est validé dans la rangée zéro par les organes de commande connectés. 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 fonction de SELECTION dans la liigne T, et l'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 173 de sélection à "un", représenté à la figure 19; ensuite, cette entrée répondra aux états suivants de la séquence. C'est ce mode de fonctionne- ment 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). Si le registre 135 de séparation des priorités détermine 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 ran- gée à un et envoie de nouveau l'instruction RPOL (Balayage de reconnexion) dans la ligne T.Ensuite, si le registre de sépa- ration des priorités détermine qu'une réponse a été faite dans 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 réponse n'a été faite dans la rangée 1, le canal revient à l'état d'inactivité indiqué par l'état NOP à la figure 16. Ce dernier évènement est un exemple d'incident qui pour- rait se produire à une entrée 43 et qui aurait pour conséquence de faire accéder le système 31 à cet organe particulier 41 de commande par l'intermédiaire de l'autre entrée 43. 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 (Inter- rogation des entrées-sorties) 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éparation des priorités à une séquence de reconnexion déclenchée par le canal en réponse à une demande de reconnexion "en entrée" envo- yée dans la ligne 145 depuis un organe 41 de commande. On continuera à se reporter à la figure 16. LIa séquence de reconnexion commence par la séquence de balayage décrite ci- dessus et dont le but est de reconnecter l'organe 41 de comman- de 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é 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 MAC (adresse et Instruction d'implantation) dans la ligne T au cours d'une sé- quence d'EXECUTION DES ENTREES-SORTIES afin de déterminer une entrée particulière. Dans la séquence de reconnexion, l'adres- se déterminée par ces connexions volantes est renvoyée au canal d'entréessorties par l'intermédiaire de la ligne D pendant l'état RAC (adresse et instruction de lecture) dans la ligne T, de manière à accéder à une table définissant la zone de mémoiie- tampon pour cet appareil. Il faut également déterminer le sens de la transmission (transmission d'entrée ou de sortie vers le module de proces- seur). Pour effectuer cette détermination du sens de la trans- mission requise et de l'adresse de l'appareil, le canal valide la fonction RAC (adresse et instruction de lecture) dans la li- gne 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'or- 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ésen- té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 appa- reils possibles de chacun des trente-deux organes 41 de com- mande possibles connectés à une ligne 39 d'entréeswsorties asso- ciée à un module particulier 33 de processeur, et chaque module 33 de processeur possède sa propre table de commande des entrées- sorties 100. Chaque élément de deux mots dé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 trans- mission particulière de données à un appareil particulier. Ainsi, comme l'indiquent les légendes de la figure 12, le mot supérieur 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 com- 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 peuvent être mis à "un" pour indiquer l'une quelconque de sept erreurs numérotées. L'adresse de la transmission et le compte des multiplets sont mis à jour dans la table 140 de commande des entrées-sor- ties 100, à la fin de chaque séquence (tranche de temps)-de re- c nnexion et de transmission des données. L'adresse de la trans- mission est comptée et le compte des multiplets est décompté à la fin de chaque tranche de temps. Le montant est le reflet du nombre de multiplets transmis au cours de la tranche de tempso Le deuxième mot contient également a) une zone dans laquel- le peut être enregistrée pour une analyse ultérieure toute er- reur rencontrée au cours d'une tranche de temps de reconnexion et de transmission des données et b) un bit de protection afin 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 pro- cesseur contre une défaillance de l'organe 41 de commande. C'est-à-dire que, lorsque l'organe 41 de commande à renvoyé le sens de la transmission au canal 109 pendant une fonction d'a- dresse 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 manière erronée une transmission ën entrée". Le canal passerait alors à l'état d'ENTREE et transmettrait les don- nées de l'organe de commande à la mémoire, provoquant ainsi la perte de ces données dans la mémoire-tampon 138. Le bit de pro- tection permet au programme d'indiquer que le canal ne peut pas introduire de données dans cette zone de la mémoire-tampon, ce qui revient à dire que l'appareil ne peut qu'indiquer une trans- 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 re- gistre 129 d'adresses de la mémoire du canal, représenté à la 1o figure 13, et il envoie le compte de multiplets dans le regis- tre 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 lec- ture SAC représenté à la figure 16), le canal place la ligne T 1.5 dans l'état d'ENTREE 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 circuitlogique 1390, comme le montre la figure 12. Le registre 129 d'adresses de la mémoire du canal et le re- * gistre 131 de comptage des caractères sont mis à jour avec cha- que mot transmis pendant la tranche de temps de manière à re- fléter la nouvelle adresse dans la mémoire-tampon et le nombre de caractères restant encore à transmettre. A la fin d'une tran- che de temps, les contenus du registre 129 d'adresses de la mé- moire du canal et du registre 131 de comptage des caractères sont introduits dans la table 140 de commande des entrées-sor- ties IOC1 En fonctionnement, pour chaque mot introduit à partir de l'appareil lors d'une transmission "en entrée", le canal 109 3o accepte le mot par l'intermédiaire du mécanisme d'établissement de liaison décrit ci-dessus, il introduit ce mot dans le regis- tre 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 1390 représenté à la 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 il établit une liaison avecl'organe de commande qui accepte le mot dans son registre 215 de données d'interface. la vitesse élevée du canal d'entrées-sorties est obtenue par une liaison avec la zone o le mot dans le registre 127 de données d'entrées-sorties est relié à l'appareiltandis 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 re- gistre 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 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 transmis, car il y a deux multiplets dans chaque mot. I& transmission de la tranche de temps peut se terminer de deux façons: 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 de deux multiplets restant à transférer. Danx cet état, le canal valide le signal BOT dans la ligne 165 représentée à la figure 14, signifiant que la fin de la transmission est atteinte. Si le compte atteint un, le canal valide les signaux EOT, et PAD OUT (REMPLISSAGE DE POSITIONS INUTILISEES EN SORTIE) dans la ligne 167 de la figure 14, signifiant la fin de la transmission avec un multiplet impair. Si le compte de caractères atteint deux, le canal valide le signal EOT, mais le signal PAD OUT (REMPLISSAGE DE POSITION INUTILTSS EN 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 cas, l'organe 41 de commande répond en validant le signal d'ARRET EN ENTREE (STI) dans la ligne 159 re- présentée à la figure 14 et l'organe 41 de commande valide éga- lement le signal de REMPLISSAGE 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)o Dans le premier cas de fin normale de transmission, le canal 109 met fin à la transmission dans son ensemble, et non pas uni- quement à la tranche de temps. L'autre fin normale de transmission a lieu lorsque l'orga- ne 41 de commande met fin à la tranche de temps en validant le signal d'ARRET EN ENTREE (STI) en réponse au signal d'UTILISA- TION EN SORTIE (SVO) du canal. Ceci signifie que la mémoire- tampon 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 ENTREE (STI) peut se produire lors d'une transmission en sortie ou lors d'une transmission en en- tréeo Lors d'une transmission en entrée, si l'organe 41 de com- mande désire mettre fin à la transmission ainsi qu'à la tranche de temps, il peut valider un signal d'ARRET EN ENTSEE (STI); et, pour signifier que le dernier mot se termine par un multiplet impair, l'organe 41 de commande peut également valider un si- gal de REMPLISSAGE DE POSITIONS INUTILISEES EN ENTREE (PADI). Comme le montre la figure 16, lorsque la transmission se termine par un état sans erreur (signal STI ou EOT) lors d'une 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 IOC, comme on l'a men- tionné ci-dessus et il revient & l'état d'inactivité NOP) repré- 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 en- trées-sorties IOC, comme on l'a mentionné ci-dessus. Deuxièmement, l'organe 41 de commande peut ne pas renvoyer un signal de REMPLISSAGE DE POSITIONS INUTILIES EN ENTREE (PADI) en réponse à un signal de REMPLISSAGE DE POSITIONS INUTILISEES EN SORTIE (PADO) émanant du canal 1090 Troisièmement,le canal 109 peut détecter une erreur de pa- rité dans la ligne D 161o Quatrièmement, l'organe 41 de commande peut ne pas répon- 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éments de la table de commande des entrées-sorties 100 peut pénétrer dans une page dont le topogramme la marque absen- te (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 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 don- nées. 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 er- 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 suspen- sion d'exécution (ABTD) représenté à la figure 16. Cet état in- forme l'organe 41 de commande qu'une erreur s'est produite et que la transmission des données doit être suspendue. Le canal 109 revient alors à l'état d'inactivité NOP comme le montre la fi- gure 160 Lorsqu'une erreur de produit, 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 l'tuedes 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, 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 IOo - S'il se produit plus d'une erreur, le canal 109 sélection- 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 commande des entrées- sorties IOC. Il y a un autre type d'erreur qui peut survenir l'organe 41 de commande peut essayer de se reconnecter au canal lorsque 2'4 2473107 le mot de comptage dans la table de commande des entrées- sorties IOC est zéro. Dans ce cas, le canal ne permettra pas à l'organe de commande de se reconnecter et le canal passera par une séquence teile qu'on L'a décrite ci-dessus avec réfé- rence à la figure 16, mais lorsque le canal détermine que le mot de comptage dans la table de commande des entrées-sorties IOC est zéro, le canal 109 passe directement à l'état de trans- mission de données de suspension d'exécution ABTDo Ceci repré- sente une importante caractéristique de la présente invention 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'or- 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 FAIBIEMENT PRIORITAIRE LIRq, c'est-à-dire les lignes 149 ou 147 représentées à la figure 14. Les organes 41 de commande peuvent, à n'importe quel mo- ment, 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 don- 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 con- necté. Lorsque par exemple, la tension est appliquée et que le 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 à zsro parce que l'alimentation était coupée ou avait baissé et qu'elle a été remise à l'état initial par le circuit de mise 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ées- sorties 110 ou une instruction d'interrogation hautement prio- ritaire des entrées-sorties HII0. L'instruction d'interrogation des entrées-sorties 110 est envoyée en réponse à une interruption faiblement prioritaire des entrées-sorties, c'est-à-dire une instruction envoyée dans la ligne 147 de demande d'interruption faiblement prioritaire LIRQ, représentée à la figure 14. L'instruction d'interrogation hautement prioritaire des entrées-sorties HII0 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'interrup- tion hautement prioritaire HIRQ, représentée à la figure 14. le microprocesseur 113, représenté à la figure 12, exécute les instructions d'exécution des entrées-sorties E10, d'inter- rogation des entrées-sorties 110 ou d'interrogation hautement prioritaire des entrées-sorties HII0 en commandant la logique 141 de commande du canal et la logique 123 du circuit de don- nées0 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'interrogation des entrées-sorties HO inter- roge une séquence à l'aide du balayage d'interruption faible- ment prioritaire ZPOL de la fonction dans la ligne T, tandis que l'instruction d'interrogation hautement prioritaire des entrées-sorties HII0 interroge une séquence à l'aide du balaya- ge d'interruption hautement prioritaire EPOL de la fonction dans la ligne T. La séquence de balayage qui est également décrite ci-dessus se termine par la sélection de l'organe approprié 41 de commande à l'aide de la fonction de sélection SEL dans la ligne T, comme le montre la figure 17. L'organe approprié 41 de commande sélectionné est l'organe de commande qui est le plus fortement prioritaire et qui fait une demande d'interruption. La séquence continue par une fonction RIO dans la ligne T provoquant l'interruption de lecture, comme le montre la figure 102 2473197 17. L'organe 41 de commande répond en renvoyant l'état dépen- dant de l'appareil dans la ligne D 161, comme le montre la fi- gure 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 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 113 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 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 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 re- vient 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-sor- ties entre un module de processeur et un appareil d'entrées- sorties se compose d'une manière caractéristique d'un groupe de séquences, par exemple une séquence d'exécution des entrées- sorties EIO suivie d'un certain nombre de séquences de recon- nexion et de transmission 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ées- sorties apparemment simultanée effectuée par plusieurs appareils. Ainsi, l'accès à un grand nombre d'appareils peut se faire si- multanément; le nombre exact de ces appareils dépend de la lar- geur de bande du canal et de la largeur de bande effective uti- lisée par chaque appareil. Le système d'entrées-sorties et l'architecture et le fonc- tionemment de l'organe de commande à double entrée décrits ci- dessus fournissent plusieurs avantages importants. Ces avantages sont les suivants: a) souplesse de conne- xion d'une grande variété d'appareils; b) utilisation maximale des ressources; c) cadre d'utilisation en mode "dégradé" 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 traite- ment du système (par opposition au débit du processeur ou au débit d'entrées-sorties exclusivement) dans un système de don- nées de mouvements en liaison directe avec l'ordinateur et dans lequel un grand nombre de données de mouvement simultanés doi- vent être traités par le système d'entrées-sorties et par l'u- nité 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. Par contre, la présente invention four- nit une structure et une exploitation qui peuvent s'adapter à 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émoire. Cette caractéristique permet d'associer un nombre relativement élevé d'appareils avec la ligne particulière d'entrées-sorties.Du fait de la vitesse inhérente de la ligne d'entrées-sorties et de la technique de mise en mémoire-tampon propre à la présente invention, chaque transmission particulière s'effectue à une vitesse relativement élevée qui n'est limitée que par la vitesse de la mémoire. Ad o Parce que les transmissions se font en mode continu, la servi- tude 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'ap- pareils à vitesses élevées. La présente invention prévoit un accès en mode "1dégrad.é"t aux appareils. Il existe des circuits redondants vers chaque appareil périphérique et une limitation des défaillances à cha- que circuit particulier. Une défaillance d'un module particulier 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ème0 Ces caractéristiques de protection comprennent un mot séparé de comptage dans chaque table de commande des entrées- sorties IOC et un bit de protection dans la table de commande des entréessorties IOC Cette dernière table IOC est accessible par le canal mais non par l'appareil. 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 appareil0 lia présente invention ne requiert qu'un petit nombre de li- 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 ce temps et également pour permettre un entretien direct et une extension directe du système. lia présente invention utilise la contrainte pour permettre aux mémoirestampoqrs de coopérer sans comMuniquer l'une avec l'autre. Un système de données de mouvements en liaison directe avec l'ordinateur est obtenu par l'intermédiaire 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 en simultanéité et des attentes minimales avant d'accéder à un 1 05 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 mini- male des ressources du processeur. Le système de traitement par multiprocesseurs qui fait l'ob- jet 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érieuro Dans de nombreux réseaux suivant l'art antérieur, il fallait arrêter le système de traitement par multiprocesseurs pour ef- fectuer l'entretien nécessaire d'un élément du système. De même, dans de nombreux réseaux suivant l'art antérieur, une défail- lance de l'alimentation électrique pouvait paralyser l'ensemble du seè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 com- mande de manière à permettre l'entretien en direct, et il four- nit une redondance d'énergie électrique à chaque organe de com- mandeo A ce sujet, le terme "en direct" est utilisé dans un sens tel que lorsqu'une partie du réseau est "en direct", cette par- tie du réseau non seulement est alimentée mais également fonc- tionne 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éven- tif ou les travaux de réparation) tandis que le reste du réseau 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 com- mande, tandis que le reste du système de traitement par multi- processeurs reste en direct et opérationnel. On peut effectuer l'entretien "en direct" tout en respectant pleinement les règles de sécurité imposées par le laboratoire des Assureurs. De même, dans le réseau de distribution électrique qui fait partie de la présente invention, chaque organe de commande 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 fonctionne- 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 commuta- tion 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 électri- que assurant à la fois une source principale d'alimentation et une source d'alimentation de remplacement pour chaque organe individuel 41 de commande à double entrée. Le réseau de distri- bution électrique est repéré par la référence générale 301 à la figure 30. Le réseuu 301 de distribution électrique assure à chaque organe 41 de commande à double entrée une source d'alimenta- 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 com- mande peut continuer à fonctionner. Le réseau de distribution électrique agit ainsi en liaison avec le système à double en- trée de l'orifice de commande, afin de fournir un fonctionne- ment et un accès ininterrompus aux appareils en cas de défail- lance d'une entrée individuelle ou d'une source d'alimentation individuelle. Le réseau 301 de distribution électrique, représenté à la figure 30, fournit un avantage supplémentaire qui réside dans dans le fait que chaque module 33 de processeur, ainsi que l'u- nité centrale 105 et la mémoire 107 qui lui sont associés possède une source d'alimentation séparée et indépendante qui 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'en- tretien et du dépannage de cette source d'alimentation ou du module de processeur associé, se limitera donc en fait à un seul module particulier de processeur et ne pourra affecter le fonctionnement d'aucun autre 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 in- 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 électrique comprend plusieurs sources d'alimentation séparées et indépendantes 303 et chacune de ces sources d'alimentation 303 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 303 d'alimentation par l'intermédiaire d'une ligne prin- cipale 307, d'une ligne de remplacement 309 et d'un commuta- teur automatique 311. Un commutateur 313 à manoeuvre manuelle est également as- socié avec chaque organe 41 de commande entre ce dernier, la ligne principale 307 et la ligne de remplacement 309. Les commutateurs 311 et 313 sont représentés plus en dé- tail à la figure 31. La figure 32 représente des détails de construction d'é- léments d'une source d'alimentation 303. Comme le montre la figure 32, chaque source 303 d'alimen- tation comporte un conneceeur 315 d'entrée pour le branchement 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'alimenta- tion interruptible IPS de cinq-mlts. Cette source de courant interruptible de cinq volts alimente l'unité centrale 105, la mémoire 107 et l'organe 41 de commande. On se reportera égale- os ment à la figure 33. Le redresseur 317 de courant alternatif en courant conti- nu fournit également, dans une deuxième ligne de sortie 321, une sortie en courant continu de soixante volts qui est fournie à un convertisseur continu-continu 32, représenté à la figure 32. Le convertisseur continucontinu 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'alimen- tation électrique non interruptible-lPS, du fait que ces sor- ties d'alimentation électrique sont connectées à l'unité cen- trale et à la mémoire quand la mémoire à semiconducteurs est utilisée. L'alimentation électrique d'une mémoire à semicon- ducteurs ne doit pas être interrompue car une interruption d'a- limentation d'une mémoire à semiconducteurs provoquera la perte de toutes les données stockées dans la mémoire. La source d'alimentation électrique interruptible de cinq 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- aux parties de l'unité centrale autres que la mémoire à semi- conducteurs 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é- tail ci-dessous, est alimenté par une source d'&imentation 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 de réalisation de la présente invention, la batterie 323 fournit au convertisseur 323 une ten- sion de 48 V qui est à l'intérieur de la gamme des tensions d'en- 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 V0 La diode 333 arrête également le courant venant de la batterie et de la ligne 333 lorsque la sortie du redresseur de co 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 cou rant alternatif dans la ligne 315 qui aurait eu pour résultat une tension insuffisante dans les lignes de sortie 319, 325 et 327. Le circuit d'alarme 335 transmet à l'u- nité centrale 105, par uneligne 337, un signal d'alarme de pan- ne d'alimentation. Du fait de la capacité accumulée dans la source d'alimen- tation 303, il y a suffisamment de temps entre le signal d'alar- me de tension et la perte de tension interruptible de 5 Vdans la ligne 319 pour que l'unité centrale conserve son état avant la perte de tension. Cependant, l'alimentation non interruptible dans les lignes 325 et 327 ne doit pas être interrompue, même pendant un ins- tant, et la batterie de secours prévue par le montage représenté à la figure 32 assure qu'il n'y aura pas d'interruption de l'a- limentation dans les lignes 325 et 327 en cas de panne d'alimen- tation dans la ligne d'entrée 315. Une source particulière 303 d'alimentation peut elle-même être en panne pour une raison quelconque, les autres sources 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 303 à la perte d'une unité centrale particulière associée et d'une mémoire. Le commutateur automatique 311 pré- voit une commutation automatique de la source d'alimentation défaillante à la source d'alimentation de remplacement de ma- nière à maintenir en fonctionnement l'organe 41 de commande associé. Ce dernier qui a été connecté à la source d'alimenta- tion défaillante continue donc à fonctionner en liaison opéra- tionnelle avec les autres modules de processeurs et éléments du 2 4 73 1 9 7 système de traitement par multiprocesseurs, car la tension re- quise est automatiquement commutée depuis la source d'alimenta- tion 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 cor- respondante, soit de la ligne d'alimentation de remplacement et de sa source d'alimentation correspondante 303, tout en mainte- nant 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'alimenta- tion principale qui lui sont associées. En fonctionnement normal, chaque diode laisse passer une cer- taine quantité de courant, de sorte que chaque organe 41 de com- mande est en fait alimenté à la fois par l'alimentation principa- 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 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'ali- mentation 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 pesemet de déconnecter un organe 41 de commande aussi bien de la source d'alimentation principa- le 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é. Les détails de fabrication du commutateur 313 sont repré- sentés à la figure 31. Comme le montre cette figure, le commu- tateur 313 comprend un interrupteur manuel 345, un transistor 347, une capacité 348, une résistance 350 et une résistance 352. L'interrupteur manuel 345 est fermé pour mettre en circuit le transistor 347 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 ma- nière régulière et sans fluctuations qui pourraient déclencher plus d'une fois le circuit 182 de mise sous tension. LIa capacité à réaction 348 agit en liaison avec la résistance 352 pour provoquer la montée en tension régulière requise lorsque l'inter- rupteur 345 est fermé pour mettre en circuit le transistor 347. Lorsque le transistor 347 est mis hors circuit par l'ouver- ture de l'interrupteur 345, la capacité à réaction 348 agit en liaison avec la résistance 350 pour provoquer une chute régu- lière de tension. Dans un exemple préféré de réalisation de la présente inven- tion, toutes les diodes 341, 343 et 339 sont des diodes Schottky qui produisent une chute de tension directe très faible et ceci réduit la puissance dissipée. Comme oull'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 mise sous tension PON, afin de détecter le moment o la tension de cinq volts se trouve inférieure aux spécifications. 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 ma- niè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 ten- 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 313 et que la tension de cinq volts de caractéris- tique correcte a été appliquée à l'organe 41 de commande. D'autres détails du circuit 182 de mise sous tension re- présenté à la figure 25 spnt décrits ci-dessus en rapport avec le système d'entrées-sorties et d'organe de commande à double entrée. On se reportera maintenant à la figure 33. La tension four- nie par chaque source d'alimentation 303 est transmise à une unité centrale associée, par la ligne verticale 305; chaque li- gne verticale 305 est une barre omnibus laminée qui comporte cinq couches de conducteurs électriques. Comme l'indiquent les légendes de la figure 33, chaque barre omnibus verticale 305 comporte deux conducteurs diffé- rents mis à la terre-. Un conducteur fournit la mise à la terre à la fois à l'a- limentation interruptilbl en cinq volts IPS et à l'alimentation non interruptible en cinq volts 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 relative- ment 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. lia barre omnibus horizontale 305, 307 comprend les li- gnes d'alimentation principale et d'alimentation de remplace- ment 307 et 309, comme l'indiquent les références de la figu- 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 à V8 à la figure 33. Chaque couche de tension est connectée à la sortie in- terruptible en cinq volts d'une source différente de tension 303. Ainsi, la couche Vl est connectée en 351 à l'alimenta- tion interruptible en cinq volts IPS dans le cas de la source d'alimentation 303 et du module de processeur située à l'ex- trême gauche de la figure 33, et la couche V2 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 à V8, et une terre commune disponibles pour chaque organe de commande dans la barre omni- bus horizontale, des prises verticales 355 connectées à ces huit couches à intervalles réguliers le long de la barre omni- bus horizontale, permettent d'associer chaque organe 41 de commande à deux quelconques des sources-d'alimentation 303 en 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 V2 et l'organe 41 de commande de côté droit de la figure 33 est représenté comme étant connecté aux prises V2 et V3. Ainsi, n'importe quel organe 41 de commande peut être connec- 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 inven- tion fournit 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 Assu- reurs pour l'entretien en direct d'un élément mis hors circuit, tandis que le reste du système de traitement par multiprocesseurs 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 alimenta- tions ne provoque pas l'arrêt de fonctionnement de l'organe de commande. âu contraire, le montage de commutation électronique propre à la présente invention fournit un passage tellement ré- gulier de l'alimentation à partir des deux sources d'alimenta- tion à l'alimentation à partir de l'une seulement des sources d'alimentation que l'organe de commande est maintenu en fonction- nement continu sans interruption. Chaque module 33 de processeur, représenté à la figure 1, du système 31 de traitement par multiprocesseurs comprend une mémoire. Cette mémoire est repérée par la référence générale 107 à la figure et elle est représentée plus en détail à la figure 34. La mémoire 107 de chaque module 33 de processeur est asso- ciée à la fois à l'unité centrale 105 et au canal 109 d'entrées- sorties de ce module. Il existe un accès à double entrée dans la mémoire, par l'unité centrale et par le canal. Ce qui re- vient à dire que l'unité centrale 105, représentée aux figures 1 et 34, peut accéder à la mémoire pour des références de program- me ou de données, tandis que le canal 109 d'entrées-sorties peut également accéder directement à la mémoire (sans devoir traver- ser l'unité centrale) pour des transmissions de données vers et 5. à partir d'un organe 41 de commande.Ce double accès à la mé- moire est illustré à la figure 34 et il sera décrit plus en dé- tail ci-dessous dans la description de la structure et du fonc- tionnement 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é cen- trale et le canal essaient d'accéder à la mémoire exactement au 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émoi- 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. L'unité centrale peut exécuter d'autres fonctions pendant la transmission effective elle-même des données d'entrées-sorties. La 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 correc- tion 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étec- ter dt de corriger les erreurs de bits uniques et ils permet- tent également de détecter toutes les erreurs de bits doubles. La mémoire physique est conçue comme étant subdivisée en 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é- cutivement depuis la page zéro, en partant de l'emplacement physique zéro. Dans un exemple particulier de réalisation de la présente invention, la gamme d'adresses de la mémoire phy- sique qui s'étend de zéro à 262 143, exige dix-huit bits d'in- formation d'adresses physiques. qui L'architecture de base du système de mémoire/fait l'objet de la présente invention est cependant constituée pour recevoir et utiliser vingt bits d'information d'adresses physiques, com- me le fera mieux apparaître la description suivante. Dans un exemple particulier de réalisation de la présente invention, la mémoire physique est physiquement divisée en mo- dules physiques de 32 768 mots. Ainsi, huit de ces modules four- nissentles 262 143 mots mentionnés ci-dessus. Teous 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'utilisa- teur et de code du système. Toutes les instructions de l'unité centrale traitent exclusivement ces adresses logiques, distinc- tes des adresses physiques. Ainsi, un programmeur n'a pas be- soin de s'occuper d'une adresse physique réelle mais, par con- tre, il peut rédiger un programme basé entièrement sur des adresses logiques qui sont traduites en adresses physiques par la partie topograime du système de mémoire. Ia gamme d'adressage dans une zone donnée d'adresses lo- * giques 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ésen- 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 fonction- nement 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. Ceci permet de mettre en application une disposition de mémoire virtuelle. Une mémoire virtuelle offre deux avantages. Tout d'abord, une mémoire virtuelle permet d'utiliser un espace en mémoire centrale physique qui est intérieur à celui qu'exigeraient; J.e&; nes d'cares-)ogique,3, cal la mémioire physique peut être complétée par une mémoire physique auxi- liaire. Ensuite, une mémoire virtuelle permet à des espaces d'a- dresses de plusieurs utilisateurs (multiprogrammation) d'utili- ser en commun la mémoire physique et chaque utilisateur n'a pas à s'occuper de l'affectation de la mémoire physique entre le système d'exploitation, lui-même ou d'autres utilisateurs. le système de mémoire qui fait partie de la présente in- vention 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 systime d'or- ganisatione. pages et de relevé. lorsqu'un programme d'utilisa- teur est en cours d'exécution, le relevé pour ce programme d'u- tilisateur ne signale que les pages de la mémoire (soixante- quatre pages de code et soixante-quatre pages de données) pour ce programme particulier d'utilisateur. Ce programme particu- lier d'utilisateur ne peut adresser en dehors de son propre espace d'adresse logique et, par conséquent, il ne peut intro- duire des données dans ni extraire des données de l'espace en 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'utilisa- teur. Ainsi, il existe deux niveaux de protection des program- mes d'utilisateurs fonctionnant dans le cadre d'une exploita- tion 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 registres à limites de protection ou par des clés de garde souvent utilisées dans l'art antérieur. la traduction requise d'ume adresse logique de seize bits en une adresse physique de dix-huit bits est effectuée par un plan de relevé. Formant une partie de ce plan de relevé, un nombre de pages physiques est obtenu par une opération de con- sultation à l'intérieur d'un relevé. Ce nombre de pages physi- ques est ensuite combiné à l'adresse à l'intérieur d'une page afin de former l'adresse complète de la mémoire physique. Seul le numéro de la page est traduit. Le décalage ou adresse dans une page n'est jamais modifié dans le relevé. 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 sys- tème, code de l'utilisateur et code du système). La division de l'adresse logique en ces quatre zones sépa- ré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 di- vision permet d'isoler également les programmes et les données 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é 0 - relevé des données de l'utilisateur. Toutes les adresses transmises aux zones des données variables de l'utili- sateur sont traduites par l'intermédiaire de ce relevé des don- nées de l'utilisateur. Relevé 1 - 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- lisateur et, en ouure, toutes les références à la mémoire faites par le canal d'entrées-sorties, le microprogramme de gestion de la ligne entre processeurs ou le microprogramme de gestion d'in- terruption signalent ce relevé. Ce relevé des données du système fournit un accès du canal à l'ensemble de la mémoire physique par l'intermédiaire d'un seul mot d'adresse de seize bits. Relevé 2 - relevé du code de l'utilisateur. Ce relevé défi- nit le programme de l'utilisateur en cours d'exécution. Toutes les instructions de l'utilisateur et les données constantes sont obtenues par l'intermédiaire de ce relevé du code de l'utilisa- teur. Relevé 3 - relevé du code du système. Ce relevé définit le programme du système d'exploitation. Toutes les instructions du 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 correspondant aux soixante-quatre pages possibles de chaque zone d'adresse logique. Chaque entrée contient l'information suivan- te. 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 fois qu'une entrée de relevé est enregistrée. 3) Une zone historique de référence. La zone historique de 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" 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 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 intro- 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 compor- tant ce bit mis à 'un provoque une interruption du programme de gestion d'interruption pour faute de page du système d'exploi- tation, afin de déclencher la fonction de gestion de la mémoire virtuelle du système d'exploitation. Le bit d'absence sert éga- lement 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 dans le cas soit du code soit des données. Trois instructions sont utilisées par le système d'exploi- tation en liaison avec le relevé. Ces trois instructions sont l'instruction d'insertion dans une entrée de relevé SXAP, l'ins- truction delecture d'une entrée de relevé R MAP et l'instruction 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 l'adresse d'entrée du relevé et les données à insérer. liq 29247319? L'instruction de lecture d'une entrée de relevé RBIAP uti- lisée par la fonction de gestion de la mémoire du système d'ex- ploitation pour lire une entrée de relevé. Cette instruction requiert un paramètre, l'adresse d'entrée de relevé, et le ré- 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é AWAP pro- duit 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 utilisée par la fonction de gestion de la mémoire du système d'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 page est détectée, il se pro- duit une interruption par l'intermédiaire du programme de ges- tion d'interruption pour faute de page du système d'exploita- tion. 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 d'absence 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 pro- gramme, ce dernier se termine alors avec un état d'erreur. D'autre part, si une faute de page s'est produite du fait que la page logique était absente de la mémoire physique centrale (mais présente dans la mémoire auxiliaire), le processus du système d'exploitation se déroule de manière à extraire la page absente de la mémoire auxiliaire (habituellement à disques) - 2473197 pour l'introduire dans une page disponible de la mémoire centra- le. 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 complète, le cadre d'exploitation qui a provoque la faute de page est remis dans l'état initial. 4. L'instruction ayant provoqué précédemment la faute de pa- ge est exécutée de nouveau. Puisque le bit d'absence dans l'en- trée du relevé de la page logique a été mis maintenant ài "zéro", une faute de page ne se produira pas, l'adresse de page est tra- duite en page physique juste introduite depuis la mémoire auxi- liaire, 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 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, là disposition du rel;evé permet l'accès des entrées- sorties à 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 (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'ex- ploitation avant que chaque transmission d'entrées-sorties ne 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 les 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- trées-sorties des entrées d'accès à la mémoire 107, et le ca- nal 109 d'entrées-sorties n'est donc pas nécessaire pour accéder à la mémoire par l'intermédiaire de l'unité centrale 105. La mémoire 107 comprend une logique 401 de commande de mé- moire du relevé qui commande le début et la fin de l'accès aux modules 403 de la mémoire physique. LIa mémoire 107 comprend également une partie 405 de circu- lation des données contenant des registres (comme l'indiquent les légendes de la figure 34 et dont unedescription détaillée est donnée ci-dessous) qui fournissent à la mémoire les données à enregistrer et qui contiennent les données extraites de la mémoire. 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 à re- levé à 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 PM& et un registre 129 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'adres- 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é4O9 en vue de leur traduction en un numéro de page physique, tandis que la ligne 419 de déca- lage de page transmet les dix bits de poids faible (d'une adres- se de dix-huit pages venant du sélecteur d'adresse 415) aux mo- dules 403 de la mémoire. Une ligne 8421 de sortie fournit aux modules 403 l'adresse des pages physiques. Cette ligne de sortie 421 contient les huit bits de poids fort traduits pour l'adresse de la page physique. La partie 405 de circulation des données contient les re- gistres suivants: un registre 423 des données de la mémoire du processeur PMD, un registre 425 des données de la mémoire du canal CMD, un registre 431 d'instruction suivante NI, un registre 122 473197 433 des données de la mémoire ND et un registre 125 des données du canal CD. Les sorties des registres PMD et CND sont envoyées à un sé- lecteur 427 de données. Ce sélecteur 427 de données comporte une 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 mo- dules 403 de la mémoire par une ligne 439. Cette ligne 439 com- prend des lignes d'instructions qui déclenchent les opérations d'extraction ou d'enregistrement, des signaux de fin d'opéra- tion venant des modules de la mémoire, et des indicateurs ou drapeaux d'erreurs. On se reportera maintenant à la figure 35. La 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 de données de la mémoire à relevé MMD, un sélecteur 447 de don- nées de relevé, un générateur 449 de parité de relevé, un con- trôleur 451 de parité de relevé, une logique 453cb bit de réfé- rence et une logique 455 de bit-clé. La logique 401 de commande de la mémoire à relevé est repré- 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 les sélecteurs, commande le déclenchement des opérations des modules 403 de la mémoire (en liaison avec les sorties d'absen- ce 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é re- 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 décalage de page de dix bits qui se combinent pour donner un 123 2473197 total de dix-huit bits. Comme on l'a noté ci-dessus, les nombres 8, 10, 12, 13, 14 et 18 qui ne figurent pas entre parenthèses sur certaines lignes des figures 34 et 35, se rapportent à cet exem- ple 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 adres- se de page physique de dix bits) et ceci est indiqué par les nom- bres 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'utilisateur et la zone 465 du code du système. La figure 36 illustre également les quatre parties du rele- vé 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'uti- lisateur, la partie 469 du relevé des données du système corres- pond à 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 du code de l'utilisateur et la partie 473 du relevé du code du système correspond à la zone 465 d'a- dresse logique du code du système. Comme le montre également la figure 36, chaque partie du relevé comporte soixante-quatre entrées de pages logiques (page zéro àlage soixante-trois) , et chaque entrée du relevé comprend seize bits, comme le montre la seule entrée de relevé à grande échelle représentée à la figure 36. Comme l'indiquent les légendes associées à l'entrée de rele- vé à grande échelle représentée à la figure 36, 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- 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 corres- pondant à la page logique imposée par le 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é- rence 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'ex- traction ou d'enregistrement effeectuée sur cette page logique. Les bits S et T sont des bits d'enregistrement qui sont ma- nipulés par l'instruction de décalage d'une entrée de relevé AP. Le bitclé D est mis à 1"un" par un accès d'enregistrement à cette page logique. le système d'exploitation utilise le bit-clé 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'exploi- tation pour signaler-une page logique qui est absente de la mé- * moire centrale mais qui est présente dans la mémoire auxiliaire, ou pour signaler une page qui est en dehors de la zone d'adres- se logique de cet utilisateur. Les deux bits de poids fort, dans le cas de l'entrée de re- levé représentée à la figure 36, ne sont pas utilisés dans l'exem- ple particulier de réalisation de la présente invention illustré par les dessins, mais ces deux bits sont utilisés lorsque l'a- dresse 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 une entrée de relevé SNAY, l'instruction de lecture d'une entrée de relevé EMAP et l'instruction de décalage d'une entrée de rele- vé AHAP. 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 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 mi- croprogramme agit en liaison avec la logique 401 de commande de la mémoire à relevé, représentée à la figure 34, tout d'abord 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-à-dire les nouvelles données d'entrée du relevé. En fonctionnement, comme le montre la figure 35, dans le premier stade de la séquence, le microprogramme 115 charge les nouvelles données d'entrée du relevé dans le registre 423 des données de la mémoire du processeur PID. Dans le stade suivant de la séquence, l'adresse du relevé y compris les deux bits de poids fort destinés à la sélection du relevé, est chargée dans le registre 411 d'adresse de la mémoire du processeur PMA. A ce moment-là, les deux paramètres d'instruction, conte- nant l'adresse d'entrée du relevé et les données à insérer, ont été chargés dans leurs registres respectifs 411 et 423. Ensuite, le microprogramme 15 de l'unité centrale 105-dé- clenche une séquence d'opérations d'enregistrement de relevé de la logique 401 de commande de la mémoire à relevé, Cette séquen- ce d'opérations d'enregistrement de relevé est déclenchée après que les opérations précé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 (microinstructions). Les autres actions de l'instruction d'insertion des données dans une entrée de relevé SMAP sont accomplies par la logique 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émoire du processeur PMA au relevé 409, par l'intermédiaire du sélecteur 415 d'adresse et de laligne 417. Seuls les huit bits de poids fort (la sélection du relevé et l'adresse du re- levé) sont utilisés dans cette opération. lies deux bits de poids fort indiquent la sélection du re- levé, que ce soit les données de l'utilisateur, les données du système, le code de l'utilisateur ou le code du système. Les dix bits de poids faible de la ligne d'adresse logi- que venant du sélecteur 415. d'adresse ASEL (bits qui constituent le décalage dans une page pour un accès d'extraction de la mé- moire ou d'enregistrement en mémoire) ne sont pas utilisés dans cette opération. Pendant que le relevé est adressé comme on l'a décrit ci- dessus, les nouvelles données du relevé sont transmises du re- gistre 423 des données de la mémoire du processeur PND au géné- rateur 449 de parité de relevé et au relevé 409, par l'intermé- diaire du sélecteur 447 de données du relevé. Le générateur de parité de relevé calcule l'imparité à partir des nouvelles don- né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 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'enregis- trement des nouvelles données et de la nouvelle parité dans la partie sélectionnée du relevé, à l'entrée particulière du rele- vé sélectionnée par l'adresse de la page logique dans la ligne 417. Cette opération termine la séquence d'instruction d'inser- tion de données dans une entrée du relevé SNAP. 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'impaiité calculée ont été fournies au relevé, et le signal d'échantillon- nage 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é SMAP est utilisée par le système d'exploitation pour initialiser chaque entrée de page logique dans chacune des qua- tre 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 phy- sique afin qu'une page logique fournisse la traduction des numé- ros de pages logiques en numéros de pages physiques après Une autre utilisation de l'instruction d'insertion de don- 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é. Dans cette instruction de lecture d'une entrée du relevé 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 relevé 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é. Dans l'exécution de l'instruction de lecture d'une entrée du relevé RMAP, comme le montre la figure 35, le microprogramme charge l'adresse du relevé, y compris les deux bits de poids fort pour la sélection du relevé, dans le registre 411 d'adres- se de la mémoire du processeur PRU. Le microprogramme 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équence, l'adresse du relevé est transmise du regis- tre 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. lie contenu de l'entrée du relevé sélectionnée est transmis du relevé 409 au contrôleur 451 de parité de relevé, comme le montre la figure 35, et à la bascule 443 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 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 de parité du relevé. D'autre part, si la parité est correcte, les données d'en- trée du relevé sont chargées de la bascule 443 de sortie du re- levé dans le registre 445 de données de la mémoire à relevé MMD. Enfin, le résultat de l'instruction est que le micropro- gramme de l'instruction de lecture d'entrée de relevé RMAP ren- voie à 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é MMD. A la fin de l'instruction de lecture 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 rele- vé 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é centrale. Les 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é RMAP est de permettre au système d'exploi- tation d'interroger la zone historique de référence et le bit- clé d'une entrée de relevé (voir le format de l'entrée de rele- vé représenté à la figure 36) afin de déterminer une page en vue du recouvrement (comme le montrera mieux la description de l'o- pération suivante). L'instruction de lecture d'entrée de relevé RMIAP est éga- 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 faute de page dans cette partie du relevé. Cette instruction de décalage d'une entrée de relevé AN" comporte un seul paramètre qui est l'adresse de relevé indi- quant l'emplacement de relevé à décaler. Dans l'exécution de l'instruction de décalage d'une entrée de relevé AMAP, le microprogramme 115 de l'unité centrale 105 sé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'a- dresse de la mémoire du processeur PR& exactement comme dans 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éclen- -chée et cette séquence se poursuit exactement comme dans l'ins- truction de lecture d'une entrée de relevé RMAP décrite ci- dessus. 129 2473197 Le microprogramme 115, représenté à la figure 12, lit le contenu de l'entrée du relevé venant du registre 445 de données de la mémoire à relevé IMD, représenté à la figure 35, extrait la zone historique de référence (les bits R, S et T de référen- 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é. Ainsi, un zéro a été in- troduit dans le bit R, le bit R a été introduit par décalage dans le bit Se le bit S a été introduit par décalage dans le 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 PMD, représenté à la figure 34, et réintroduit les nouvelles données d'entrée du relevé 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é ANAP. Le résultat de l'instruction de décalage d'une entrée de relevé ANÀP est le suivant: une entrée de relevé a été extrai- te 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élec- tionné du relevé. Comme on l'a noté précédemment, le bit R est mis à "un" 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 l'information concernant la fréquence d'utilisation dans la zone historique de référence du relevé. La zone historique de référence de toutes les entrées de relevé dans un relevé donné est décalée de manière caractéris- tique après une interruption pour faute de page. Ainsi, la va- leur de la zone de référence de trois bits dans une entrée de relevé est une indication de la fréquence d'accès depuis les trois interruptions précédentes pour faute de page. Par exemple, une valeur binaire de sept (les trois bits de I 2473197 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 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 histo- 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 recou- vrement, une page qui n'a pas été utilisée fréquemment dans le 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 con- tinuer 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'u- tilisation est utilisée par la fonction de gestion de la mémoi- re 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 auxi- liaire et mettre en oeuvre un système efficace de mémoire vir- 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ées- sorties. On décrira maintenant l'action du système de mémoire et du 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'enregistre- nent 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 2 473197 est déclenchée par le microprogramme 115 de l'unité centrale ou par j.'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'enregistre- mentde 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 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, 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élec- 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 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'a- dresses de la mémoire du processeur PM&, représenté à la figure j5, est transmise aux lignes 417 et 419, représentées aux figu- res 34 et 35,par l'intermédiaire du sélecteur 415 d'adresse. La ligne 419 transmet la partie de décalage de page de l'adresse. Cette partie de dé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 à relevé de la figure 34, au contrôleur 451 de parité de relevé de la figure 35 et à la 2473 197 bascule445 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 de 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 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 à re- levé émet une instruction dans la ligne 439 pour amener le mo- dule 403 de mémoire sélectionné à exécuter une opération d'ex- traction ac d'enregistrement. Dans une opération d'enregistrement dans l'unité centrale, les données à enregistrer sont transmises du registre 423 de données de la mémoire du processeur PKD, 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 la mémoire à relevé provoque la modification et le réenregistre- ment 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 figure 35, et au sélecteur 447 de données du relevé. Dans cette opération, la zone de la page physique d'une en- tré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 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élec- teur 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- levé par la logique 453 du bit de référence est mis à "un", soit dans une opération d'extraction, soit dans une opération d'enre- gistrement.! La zone de la page physique et les bits S, 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. Un signal d'échantillonnage d'enregistrement de relevé ve- nant de la logique 401 de commande de la mémoire à relevé provo- que ensuite l'enregistrement des nouvelles données et de la nou- velle 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 com- * mande de la mémoire à relevé. Voir figure 34. Dans une opération d'extraction, le module 403 de la mémoire dirige les données de la mémoire vers la ligne 437, comme le mon- tre la figure 34. Dans une séquence d'opérations d'extraction de données, les données sont chargées dans le registre 433 de données de la mé- moire MD, représenté à la figure 34, 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'extraction de données, l'enregistrement de données et l'extraction d'instruc- 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 analogue à un accès à la mémoire de l'unité centrale, comme on l'a décrit ci-dessus, avec cependant les exceptions suivantes. Le registre 129 d'adresses de la mémoire du canal CMA repré- sen-té à la figure 34, est utilisé pour fournir l'adresse logique et ce registre indique toujours le relevé 469 des données du sys- tème. Voir figure 35. Le registre 425 de données de la mémoire du canal CMD repré- 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 fi- gure 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ées- sorties, 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'uni- té centrale. En outre, la parité du relevé et les conditions d'absence sont transmises au canal 109 d'entrées-sorties, si elles se pro- duisent dans le cas d'un accès à la mémoire du canal d'entrées- sorties. Comme on l'a noté en plusieurs points ci-dessus, les modules 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é- moire à tores détecte efficacement toutes les erreurs de bit uni- que. Les techniques classiques de création et de contrôle d'er- reurs de parité sont utilisées et les détails de la mémoire à to- res ne seront donc pas décrits. La probabilité de défaillance d'une mémoire à semi-conduc- teurs est suffisamment élevée pour justifier un système de dé- tection et de correction d'erreurs; la présente invention four- nit 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 ci- après, illustrent en détail le système de détection et de correc- tion utilisé lorsque les modules 403 de la mémoire sont consti- tués d'une mémoire à semiconducteurs. Le système de détection et de correction d'erreurs compre- nant une zone de contrôle de six bits qui fait partie de la pré- sente invention peut, comme on le décrira en détail ci-après, dé- tecter et corriger toutes les erreurs de bit unique et ce système est également capable de détecter toutes les erreurs de bit dou- ble. 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 donnéese Un avantage important du système de détection et de correc- tion d'erreurs qui fait partie de la présente invention résulte du fait que, non seulement les erreurs de bit unique sont corri- gées, mais aussi que toute erreur suivante de bit double est dé- tectée de manière sure 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ésen- te 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 com- mode 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 Hamming é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. De même, chaque bit d'information se compose d'exac- tement trois bits de contrôle, comme le montre également la fi- gure 38. Un avantage de ce code est qu'il permet d'obtenir une couverture uniforme des bits d'information par les bits de con- trôle. Le système de détection et de correction d'erreurs consti- tue 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é. En résumé, le système de détection et de correction d'er- reurs 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 utilisée pour identifier ou détecter la perte d'information dans 52 2473197 ce mot depuis le moment o il a été stocké en mémoire. Dans une mémoire à semiconducteurs, deux mécanismes de per- te d'information (erreur) sont possibles. L'un est une panne grave d'un dispositif de la mémoire qui rend ce dispositif in- 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 syndro- 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étermi- ner si une erreur s'est produite et, si c'est le cas, de déter- miner le type de correction qui est nécessaire. Dans le cas d'erreurs de bit unique d'information, la sor- tie du décodeur de syndrome amène un complémentateur de bits d'information à inverser le bit qui était erroné, cette infor- mation corrigée est fournie sous forme de sortie de ce module 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é centrale. On se reportera maintenant à la figure 37. 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 vingt- deux bits chacun. Comme le montre la figure 37, chaque mot com- porte une zone d'information de seize bits et une zone de con- trôle de six bits. Chaque module 403 de mémoire à semiconducteurs comporte éga- lement, 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émentateur487 de bits d'information. Le module 403 de mémoire est connecté au reste du système par l'intermédiaire des lignes de signaux et de données repré- sentées à la figure 370 Ces lignes 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é- moie à 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 fi- gure 34. On continuera à se reporter à la figure 37. Le contenu de la bascule 479 de sortie est transmis, par une ligne 489, au comparateur 483 de bits de contrôle et au comparateur 487 de 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 synchro- nisation. La sortie du décodeur 485 de syndrome est transmise, par une ligne 493, au complémentateur 487 de bits d'information. D'autres sorties du décodeur 485 de syndrome sont trans- mises, par les lignes.,495 et 497, à la partie logique 475 de commande et de synchronisation. La ligne 495 transmet un signal d'ERREUR UNIQUE (erreur corrigible) et la ligne 497 transmet un signal d'ERHEUR NUITIPIE (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- 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. 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 bits. Comme le montre la figure 39, le comparateur 483 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 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 les sorties de la partie 507 de décodeur et de l'arbre 509 de pa- rité de six bits sont combinées dans la logique d'identifica- tion d'erreur repérée d'une manière générale par la référence 511. Comme le montre la figure 41, le complémentateur 437 de bits comprend seize portes OU exclusif 513. En fonctionnement, le mot contenant 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 CO à C5, à l'ai- de de six arbres 503 de parité de huit bits. Comme le montre également la figure 38, l'arbre 503 de pa- rité de huit bits situé à l'extrême gauche crée le bit de con- trôle CO, 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 com- plément de la somme modulo deux des bits d'information 8 à 15. Pour donner un autre exemple, le bit de contrôle C3 est créé par un arbre 503 de parité de huit bits, comme l'indique l'équation logique de C5 développée au bas de la figure 58. Le bit de contrôle C3 est la somme modulo deux des bits d'informa- tion 0, 1, 2, 4, 7, 9, 10 et 12, représentée par l'équation lo- gique.et illustrée également par les connexions entre l'arbre de parité de huit bits et les lignes de bits d'information corres- pondantes 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 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 l'ensemble 477 de mémoire par la logique 475 de commande et de synchronisation et l'informa- tion d'adresse physique transmise par la ligne d'adresse physi- que 419 et 421. Chaque mot enregistré dans l'ensemble 477 de mémoire com- porte 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- ble pour une opération d'extraction. Lorsqu'un mot particulier doit être extrait de l'ensemble 477 de mémoire,] a logique 475/commande et de synchroMnisation et l'adresse transmise par la ligne d'adresse physique 419 et 421 provoquent un chargement du contenu de l'emplacement sélec- tionné de la mémoire dans la bascule 479 de sortie. Cette der- niè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 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 483 de bits de contrôle forme six bits de syndrome S0 à S5. Chaque bit de syndrome est la sortie d'un arbre 505 de pa- 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 pour calculer le bit de syndrome "un", etc. Par exemple, le bit de syndrome "zéro" S0 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 39. De même, chacun des bits de syndrome S1 à S5 est créé à partir de la somme modulo deux d'un bit de contrôle correspon- dant 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 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 i énumère les soixante-quatre valeurs possibles du code de syndrome de six bits et elle donne la traduction de chaque valeur possible. TABLE I CODE DE SYNDROME S0 SI S2 S3 S4 S5 O O 0 0o0 0 0 1 0 1 1 0 1 0 1 1 0 i 1 1 0 0 O O 0 1 o o o 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 ERREUR (aucune erreur) C5 C4 (Double) C5 (Double) (Double) Do C2 (Double) (Double) (Multiple) (Double) D1 D2 (Double) Cl (Double) (Double) D3 (Double) S0 SI S2 s 1 0 0 0 1 o o o o I 0 1 O. 1 o o o o o o o o o o o 33 S4 S5 RREUR o o o 0 O 0 1 (Double) 0 1 0 (Double) 0 I I D8 1 O O (Double) 1 0 1 D9 1 1 0 D10 1 1 1 (Double) O O 0 (Double) O 0 1 D11 0 1 0 (Multiple - tous les bits sont à 0 0 1 1 (Double) 1 0 0 D12 1 0 I (Double) 1 1 0 (Double) 1 1 1 (Multiple) O 0 O (Double) O 0 1 0 1 0 0 1 1 1 0 0 Dl 5 D14 (Double) (Multiple) 0 0 0 0 o o o o o 0 0 0 0 o o o o o o o o o o 0 '1 o -'J us a -A CODE DE SYNDROME S2 S3 84 S5 ERREUR I O I (Multiple - Tous les bits sont à 1) 1 1 O D4 1 1 1 (Double) 1 O O O (Double) O O I D5 O I O D6 O I 1 (Double) I O 0 D7 I O I (Double) I 1 O (Double) 1 1 I (Multiple) AINSI, (Nombre de bits à I dans le syndrome) O BIT - PAS D'ERREUR I BIT - ERREUR DU BIT DE CONTROLE 2 BITS - ERREUR DOUBLE S- S1 S2 S3 S4 S5 ERREUR 1 1 O O 3 BITS - 4 BITS - BITS - 6 BITS - ERREUR ERREUR ERREUR *ERREUR 1 O I (Double) I I O (Double) I 1 1 (Multiple) 1 O O O D15 O O 1 (Double) O 1 O (Double) O 1 1 (Multiple) O O (Double) I O 1 (Multiple) 1 1 O (Multiple) I I I (Double) DU BIT D' INFORMATION DOUBLE MULTIPLE DOUBLE os s 0 1 o -s 1- o Par exemple, si tous les bits de syndrome SQ à S5 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. 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-des- sus. 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'à 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'in- formation et une erreur dans un bit de contrôle ou b) deux er- reurs dans les bits d'information ou c) deux erreurs dans les bits 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 1 1 1 0 0 0 qui indique une erreur de bit unique dans le bit d'information D15 en bas et à droite de la table 1.Comme on le décrira plus en détail ci-des- sous, le décodeur de syndrome 485, représenté aux figures 37 et , produira l'inversion (correction) de la valeur incorrecte du 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 37, par l'inter- médiaire de la ligne 493 dans le cas d'erreurs de bits d'infor- 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 uni- que est transmise par la ligne 495 d'ERREUR UNIQUE à la logique 475 de commande et de synchronisation. Une indication d'erreur multiple est transmise par la li- gne 497 d'ERREUR MULTIPLE à la logique 475 de commande et de synchronisation. Un signal d'ERREUR MULTIPIE 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 MULTIPIE, com- me on l'a noté ci-dessus, 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 lo- gique 511 d'identification d'erreur. le décodeur 507 décode cinq des six bits de syndrome, les bits SI à S5, afin de fournir l'information suffisante (trente- deux 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'informa- 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 individuelle- ment par les références TO à T15 à la figure 40. Les sorties du décodeur 507 qui ne sont pas connectées à la porte OU 512, correspondent aux erreurs dans les six bits de contrôle. Les erreurs dans 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'information) et ces sorties du décodeur ne sont donc pas utilisées. Les autres sorties, c'est-à-dire celles qui sont connectées à la porte OU 512, représentent des erreurs doubles ou multi- ples et elles sont indiquées de cette façon par les légendes à la figure 40. Tous ces cas sont recueillis par la porte OU 512 et ils constituent un élément du signal d'erreurs multiples transmis dans la ligne 407 à la sortie de la logique 511 d'i- dentification d'erreurs. Comme le montre également la figure 40, le décodeur de syndrome 45 comprend un arbre de parité 509 qui forme la somme modulo deux des bits de syndrome S0 à S5. La sortie paire ou impaire résultante de l'arbre de parité 14-4 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 bits à "uni, 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'au- tre signal d'entrée qui va du décodeur 507 à la porte 515). Les syndromes contenant deux bits à "un", quatre bits à iun" ou six bits à "un" sont ainsi les seuls autres syndromes PAIRS qui se combinent au signal MUJLTIPILE 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 bits multiples) ou à cinq bits à "un" (erreurs de bits mui- L- ples) 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 511. Les codes de syndrome de trois bits correspondant aux er- reurs de bits multiples et tous les codes de syndrome de cinq bits doivent donc être exclus, de sorte que seules les er- reurs de bits uniques sont transmises par la ligne 495. Cette opération est effectuée par un inverseur 517 et une porte ET 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 syn- drome qui contiennent trois bits à "un" correspondant à des erreurs de bits d'information. Comme on l'a noté ci-dessus, la sortie impaire de l'arbre 509 de parité indique des syndromes con contenant un, trois ou cinq bits à "un". L'inverseur 517 et la porte ET 519 excluent les syndromes de trois bits d'erreurs multiples et tous les syndromes de cinq bits. Ainsi, la sortie 495 d'ERREUR UNIQUE ne comprend que des erreurs de bits de 14-5 2473197 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ées et les erreurs de bits d'information uniques sont cor- rigées par le complémentateur 487 de bits. Les équations logiques pour l'ERREUR MULTIPIE 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, peuvent être identifiées incorrectement comme n'étant pas des erreurs ou comme étant des erreurs de bits uniques (erreurs cor- 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 norma- lement 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 Erreur de bit double provenant d'une autre défaillance, etc. et les erreurs de bits doubles seraient détectées avant que puissent se développer les erreurs de bits triples ou davantage. Le complémentateur 48', 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 com- plémentateur 487 de bits. Comme le montre la figure 41, le com- plémentateur 487 de bits est réalisé par des portes 513 OU ex- clusif. Chacune de ces portes 513 inverse un bit d'information 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 de 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 in- vention offre plusieurs caractéristiques significatives. Tout d'abord, le relevé de la mémoire fournit quatre em- placements séparés et distincts d'adresses logiques: le code du système, les données du système, le code de l'utilisateur et 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 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 pro- grammes non modifiables. Il existe des zones particulières dans chaque entrée de relevé pour cette traduction d'adresses de pages et pour d'au- 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 zo- ne est un bit d'absence qui permet la réalisation d'un plan de mémoire virtuelle dans lequel les pages logiques peuvent rési- der 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 ges- tion de la mémoire du système d'exploitation, afin de rendre per- formant le plan de la mémoire virtuelle. Les pages d'accès fré- quent sont retenues dans la mémoire centrale et les pages d'uti- lisation 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'uti- lisateur, 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 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 le canal d'entrées-sorties accèdent à la mémoire. 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é SHAP, l'ins- truction de lecture d'une entrée de relevé PLMAP et l'instruction de décalage d'une entrée de relevé 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'entrées-sorties0 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 rem- plir 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'en- trées-sorties tenteraient un accès simultané à la mémoire. En cas d'accès simultané, le canal d'entrées-sorties 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émoire 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. 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 lors- qu'une défaillance passagère ou permanente se produit dans le module de mémoire physique. Le système de détection et de correc- tion 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 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'er- reurs uniques. Dans l'ensemble du système de traitement par multiproces- seurs qui fait l'objet de la pré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 me- moire dans un système de multitraitement. Les 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 sys- tume 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 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 par- tie, alors que la défaillance d'une mémoire ne paralysera pas 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'utili- sation de registres d'adresses séparés et de registres de don- nées séparés vers et venant de la mémoire. L'unité centrale possède un registre particulier, le re- gistre d'instruction suivante NI, en particulier pour recevoir des instructions de la 4émoire. Ce registre séparé et particu- lier permet une prise en charge simultanée de l'instruction sui- -35 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- tivement plus rapide que l'accès à la mémoire physique centrale. 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 pen- dant que l'accès à la mémoire physique est en cours. Du fait que la réécriture est tellement rapide, la réécri- ture du relevé n'augmente pas la durée du cycle de base de la mémoire. De même, la vitesse élevée à laquelle le relevé est acces- sible, 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 à re- levé effective elle-même. Ceci fournit une indication immédiate de toute défaillance qui pourrait survenir dans la mémoire à relevé, avant qu'un fonctionnement incorrect résultant ne puisse survenir dans le module 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 susceptible de variantes et de modifications qui apparaîtront à l'homme de l'art. Ecuille rectifiée R E V E Nl D I C A T I O N S 1.- Système de traitement par multiprocesseurs du genrecomportantds pro- cesseurs, un système d'entrées-soities, un système d'alimentation électrique et un système de mémoire, et dans lequel les processeurs sont interconnectés pour assurer un traitement en simultanéité, caractérisé en ce qu'il comprend plusieurs modules de processeurs séparés; et un moyen de ligne entre proces- seurs pour une transmission directe entre les modules de processeurs, séparée et distincte d'un système d'entrées-sorties et d'un système de mémoire. 2.- Système de traitement par multiprocesseurs suivant la revendication 1, caractérisé en ce que le moyen de ligne entre processeurs comprend uneligne entre processeurs; un moyen de commande entre chaque module de processeur pour connecter le module de processeur à la ligne entre processeurs en vue d'une transmission avec un autre module de processeur; et un moyen. de contrôleur de ligne opérationnellement associé avec la ligne entre processeurs et avec chaque moyen de commande entre proces- seurs pour déterminer la priorité des transmissions de données entre deux modules quelconques de processeurs par la ligne entre processeurs et pour régler les transmissions dans la ligne entre processeurs. 3.- Système de traitement par multiprocesseurs suivant la revendication 2, caractérisé en ce que chaque module de proces- seur comprend sa propre mémoire, de sorte qu'une défaillance d'u- ne seule mémoire ne peut provoquer la défaillance de tout le système. 4.- Système de traitement par multiprocesseurs suivant la revendication 2 ou 3, caractérisé en ce que le moyen de contrôleur de ligne comprend un moyen logique de sélection de processeur et de lignes individuelles de sélection, chacune d'elles allant du moyen logique de sélection de processeur à un module de pro- cesseur pour garantir qu'un module de processeur, et un seul à la fois, peut envoyer des données dans la ligne entre proces- seurs. 5.- Système de traitement par multiprocesseurs suivant la revendication 4l-, caractérisé en ce que le moyen logique de sé- lection de processeur envoie des signaux de sélection dans les lignes individuelles de sélection pour établir des transmis- sions de données dans la ligne entre processeurs, de telle sorte que la défaillance d'un module de processeur ne rende pas 2473 f 97 - 151 inutilisable la ligne entre processeurs et n'empêche pas les au- tres modules de processeurs de communiquer par la ligne. 6.- Système de traitement par multiprocesseurs suivant la revendication 4, caractérisé en ce que le moyen de contrôleur de ligne comprend également un moyen logique d'état de commande de ligne afin de constituer une paire émettrice-réceptrice de modu- les de processeurs et une base de temps pour une transmission d'information dans la ligne entre la paire émettrice-réceptrice. 7.- Système de traitement par multiprocesseurs suivant la revendication 4 ou 6, caractérisé en ce que les lignes de sélection sont utilisées des trois manières suivantes dans le protocole d'établissement de la paire émettrice-réceptrice et de la base de temps a) en balayage afin de déterminer si le module de proces- seur sélectionné est prêt à émettre et afin de lui permettre de transmettre par la ligne le numéro du récepteur prévu; b) en com- binaison avec une instruction de réception afin de demander au module de processeur récepteur sélectionné s'il peut recevoir; et c) en combinaison avec une instruction d'émission afin de dé- finir pour le module de processeur émetteur sélectionné la base de temps d'émission at afin de lui permettre de transmettre les données à la ligne. 8.- Système de traitement par multiprocesseurs suivant la revendication 6, caractérisé en ce qu'il comprend un moyen de qualification pour permettre au module de processeur récepteur de recevoir des données "en entrée" d'un autre module de proces- seur non sollicité par le module de processeur récepteur et sans instruction du logiciel prévu pour recevoir des données "en entrée". 9.Système de traitement par multiprocesseurs suivant la revendication 8, caractérisé en ce que le moyen de qualifica- tion comprend la combinaison d'un signal de sélection dans la ligne de sélection allant du moyen logique de sélection de pro- cesseur au module de processeur récepteur, et d'un signal d'ins- truction de réception allant du moyen logique d'état de comman- * de de ligne au processeur récepteur. - Système de traitement par multiprocesseurs suivant l'une revendicationg2 à 9, caractérisé en ce que les moyens contrôleurs de ligne empêchent les autres modules de processeurs d'essayer de transmettre par la ligne en simultanéité avec le module de processeur établi. 152 Feu lue rectifiée 11.- Système de traitement par multiprocesseurs suivant l'une des revendications 2 à 4, caractérisé en ce que chaque connexion de la ligie entre processeurs à un module de processeur comprend plu- sieurs lignes communes de' circulation de données qui sont parta- gées par tous les modules du système de traitement par multipro- cesseurs, plusieurs lignes de protocole de ligne communes, une horloge de ligne distribuée par des lignes individuelles, et plusieurs lignes de sélection logiquement distinctes, à raison d'une par module de processeur. 12. - Système de traitement par multiprocesseurs suivant l'une des re- vendications 2 à 4 ou 11, caractérisé en ce que le moyen de contrôleur de ligne et le moyen de commande entre processeurs envoient les signaux suivants dans la ligne entre processeurs en association fonctionnelle et dans l'ordre suivant: un signal de demande d'émission venant de. tout module de processeur qui est prêt à émettre, afin d'amener le contrôleur de ligne à quitter un état d'inactivité et à commencer une opération de balayage; un signal de sélection venant du contrôleur de ligne afin de balayer sé- quentiellement chaque module de p.. cesseur jusqu'à ce qu'un mo- dule de processeur qui est prêt à émettre soit identifié; un si- gnal d'acceptation d'émission, accompagnant le numéro de module de processeur récepteur dans les lignes acheminant les données, à partir d'un module de processeur qui est prêt à émettre et en réponse au signal de sélection venant du contrôleur de lignes; un signal de sélection accompagnant dans les lignes acheminant les données le signal d'instruction de réception, ainsi que le numéro du module de processeur émetteur identifié venant du con- trôleur de ligne pour interroger l'état "prêt à recevoir" du mo- dule de processeur récepteur identifié; un signal d'acceptation de réception venant du module de processeur récepteur, pour indiquer l'état "prêt à recevoir" en réponse au signal de sélec- tion et au signal d'instruction de réception venant du-contrôleur de ligne; u-n-signal de sélection accompagnant le signal d'instruc- tion d'émission et venant du contrôleur de ligne en réponse à une indication positive d'acceptation de réception, afin de per- mettre au module de processeur émetteur de transmettre séquen- tiellement plusieurs mots contenant des données dans les lignes de données conduisant au module de processeur récepteur, après quoi le contrôleur de ligne revient à l'état d'inactivité0 13.- Système de traitement par multiprocesseurs suivant la 2-4 73 e9s revendication 2 ou 3, caractérisé en ce que le moyen de commande en- tre processeirs comprend un moyen en file d'attente pour rece- voir les données venant de la ligne entre processeurs afin de les transmettre au module de processeur; et un moyen hors de la file d'attente pour transmettre les données venant du module de processeur à un autre module de processeur par la ligne entre processeurs. 14.- Système de traitement par multiprocesseurs suivant la revendication 13, caractérisé en ce que chaque module de proces- seur comprend une unité centrale, les moyens de contrôleur de ligne comprenant une horloge de ligne et chaque unité centrale comprenant sa propre horloge séparée et comprenant un moyen de verrouillage associé opérationnellement au moyen en file d'at- tente et au moyen hors de la file d'attente pour exploiter une partie du moyen en file d'attente et une partie du moyen hors de la file d'attente en synchronisme avec la ligne entre proces - seurs et à la fréquence de l'horloge, et pour exploiter une au- tre partie du moyen en file d'attente d une partie du moyen hors de la file d'attente en synchronisme avec l'unité centrale de chaque module de processeur à son rythme propre séparé d'horloge sans perte de données, de manière à éliminer la nécessité d'un système d'horloge mère susceptible de subir une défaillance in- dividuelle qui pourrait immobiliser l'ensemble du système de traitement par multiprocesseurs. 15.- Système de traitement par multiprocesseurs suivant la revendication 14, caractérisé en ce que la vitesse de transmis- sion de l'information dans la ligne entre processeurs est sensi- blement plus élevée que ne le permettraient des accès directs d'entrée et de sortie des parties des mémoires des modules de processeurs, afin d'assurer de ce fait une disponibilité appro- priée de la ligne entre processeurs, même lorsqu'un grand nombre de modules de processeurs sont connectés dans le système de trai- tement par multiprocesseurs. 16.- Système de traitement par multiprocesseurs suivant la revendication 13 ou 14, caractérisé en ce que le moyen en file d'attent comprend une logique d'état de remplissage des lignes et le moyen hors de la file d'attente une logique d'état de vidage des lignes, ces logiques fonctionnant en synchronisme avec l'horloge de ligne; et en ce quele moyen en file d'attente comprend une logique d'état de vidage des processeurs et le mo- Feu^^^ yen hors de la file d'attenGe une logique d'état de remplissa- ge des processeurs, ces logiques fonctionnant en synchronisme avec l'horloge de l'unité centrale. 17.- Système de traitement par multiprocesseurs suivant la revendication 14 ou 16,caractérisé en ce que le moyen de verrouilla- ge comprend un verrouillage logique entre la logique d'état de remplissage des processeurs et la logique d'état de vidage de la ligne du moyen hors de la file d'attente d entre la logique d'atat de vidage des processeurs et la logique d'état de remplis- sage de la ligne du moyen en file d'attente et en ce que ces verrouillages logiques autorisent certains passages de la logique d'un état à un autre état et rendent le fonctionnement correct indépendant des rythmes relatifs de l'horloge. - Système de traitement par multiprocesseurs suivant la revendication 2, 3oul3,caractérisé en ce que le moyen de contrôleur de ligne comprend une logique de sélection des processeurs, une logique d'état de commande des lignes, un générateur d'impulsions d'horloge de ligne, un compteur de groupes de bits, un registre émetteur et un registre récepteur. 19.- Système de traitemenff revendication 13, caractérisé en ce que chaque moyen en file d'at- tente comprend une logique d'état de remplissage des lignes, une logique d'état de vidage des processeurs, un compteur en file d'attente, une mémoire-tampon en file d'attente et un registre émetteur. 20.- Système de traitement pai multiprocesseurs suivant la revendication 13 ou 14,caractérisé en ce qu'il comprend une deuxième ligne entre processeurs et un deuxième moyen de contrôleur de ligne; en ce que le moyen de commande entre processeurs de cha- que module de processeur comprend une mémoire-tampon en file d'attente pour chaque ligne entre processeurs et une mémoire- tampon commune hors de la file d'attente qui est partagée par les deux lignes entre processeurs; et en ce que le moyen de com- mande entre processeurs-remplit la mémoire-tampon hors de la fi- le d'attente et vide les mémoires-tampons en file d'attente à la vitesse de la mémoire de l'unité centrale, et vide la mémoire- tampon hors de la file d'attente et remplit les mémoires-tampons en file d'attente au rythme d'horloge des lignes entre proces- seurs O 21.- Système de traitement par multiprocesseurs suivant la y'-'lt revendication 13,14 ou20, caractérisé en ce que chaque moyen hors de la file d'attente comprend une logique d'état de vidage des lignes, une logique d'état de remplissage des processeurs, un compteur hors de la file d'attente, une mémoire-tampon hors de la file d'attente, un registre récepteur et un indicateur hors de la file d'attente pour connecter la mémoire-tampon hors de la file d'attente à l'une des deux lignes entre processeurs. 22.- Système de traitement par multiprocesseurs suivant la revendication 2 ou 3, caractérisé en ce qu'il comprend plusieurs lignes entre processeurs opérationnellement associées à chaque module de processeur et un moyen séparé de contrôleur de ligne opérationnellement associé à chaque ligne entre processeurs pour déterminer la priorité des transmissions de données entre deux modules quelconques de processeurs dans chaque ligne entre processeurs. 23.- Système de traitement par multiprocesseurs suivant la revendication 2, 3 ou 22, caractérisé en ce que chaque module de pro- cesseur peut utiliser l'une quelconque des lignes entre proces- seurs sur une base multiplex de temps. 24.- Système de traitement par multiprocesseurs suivant la revendication22 ou 23, caractérisé en ce qu'il comprend un moyen d'exploiter en simultanéité et indépendamment l'une de l'au- tre toutes les lignes entre processeurs et tous les moyens de contrôleurs de lignes afin de fournir des circuits multi- ples d'interconnexion entre les modules séparés de processeurs. 25.Système de traitement par multiprocesseurs suivant la re- vendication 3,22, 23 ou 24,-caractéisé en ce que les moyens de contrô- leurs de lignes et les moyens de commande entre processeurs pour chaque module de processeur sont opérationnellement asso- ciés de telle sorte que chaque module de processeur peut envo- yer des données à n'importe quel module de processeur, y com- pris lui-même, par n'importe quelle ligne entre processeurs, aux fins de diagnostic. 26.- Système de traitement par multiprocesseurs suivant la revendication 13 ou 14,caractérisé en ce que les moyens de contrô- leurs de lignes effectuent toute la gestion des lignes entre processeurs, en parallèle avec le calcul effectué par le mo- dule de processeur récepteur, de sorte qu'aucune puissance de traitement n'est gaspillée lors du protocole d'autorisation d'utilisation de la ligne ou lors de la transmission de don- 2 473 1 9 7 156 Feuille rectifiée nées dans la ligne entre processeurs. 27.- Système de traitement par multiprocesseurs suivant la revendication 13 ou 14, caractérisé en ce que chaque unité centrale comprend un microprocesseur et un microprogramme; en ce que le microprocesseur de l'unité centrale est commandé par le micro- programme de l'unité centrale et n'agit en liaison avec le moyen de commande entre processeurs que pendant le vidage en file d'at- tente et le remplissage hors de la file d'attente; et en ce que la transmission effective du groupe de bits s'effectue sous le contrôle du moyen de contrôleur de ligne. 28.- Système de traitement par multiprocesseurs suivant la revendication 13, caractérisé en ce que les moyens de commande entre processeurs dans les modules de processeurs transmettent et reçoivent les données par la ligne entre processeurs par blocs multiplex de groupes de bits, -composés de groupes de bits indi- viduels d'un nombre prédéterminé de mots. 29.- Système de traitement par multiprocesseurs suivant la revendication 13 ou28, caractérisé en ce qu'il comprend plusieurs li- gnes entre processeurs opérationnellement associées à chaque module de processeur, et un moyen séparé de contrôleur de ligne opérationnellement associé avec chaque ligne entre processeurs pour déterminer la priorité de transmission des données entre deux modules que]conques de processeurs par chaque ligne entre processeurs; et en ce que les moyens en file d'attente dans cha- que module de processeur comprennent un moyen en file d'attente opérationnellement associé avec chaque ligne entre processeurs. 30.- Système de traitement par multiprocesseurs suivant la revendicatkn 13, 28au29, caractérisé en ce qu'il comprend un moyen de microinstructh as dans le module de processeur émetteur, capa- ble d'opérer la transmission du bloc entier avec une seule ins- truction d'émission pour déclencher la transmission. 31. - Système de traitement par multiprocesseurs suivant l'une des reven- dications 13 ou 28à30,caractérisé en ce qu'il comprend un moyen de logique d'état de commande de ligne dans le moyen de contrôleur de ligne, afin d'établir une paire émettrice-réceptrice de modu- les de processeurs et une base de temps pour une transmission de groupes de bits dans la ligne entre processeurs entre la pai- re émettrice-réceptrice. 32.- Système de traitement par multiprocesseurs suivant la revendication 13 ou 28 à3l,caractérisé en ce qu'il comprend un moyen de microinterruption pour fournir une microinterruption au micro- processeur dans le module de processeur récepteur, à l'achèvement de cahaque remplissage d'un moyen en file d'attente; et en ce qu'une interruption de programme n'est fournie à l'unité central. du module de processeur récepteur qu'après que tout le bloc de données a été reçu dans le module de processeur récepteur. 33.- Système de traitement par multiprocesseurs suivant l'une des revendications 28à31, caractérisé en ce que les moyens de commande entre processeurs d'un module de processeur récepteur sont logi- quement déconnectés de la ligne entre processeurs à la fin de chaque transmission de groupes de bits d'information afin de permettre au moyen de logique d'état de commande de la ligne d'établir une autre séquence d'une paire émettrice-réceptrice différente de modules de processeurs et une base de temps pour effectuer une transmission de groupes de bits entre l'autre pai- re émettrice-réceptrice de modules de processeurs, de sorte que plusieurs transmissions de groupes de bits d'information entre différentes paires émettrices-réceptrices de modules de proces- seurs peuvent être imbriquées dans la ligne entre processeurs sur une base de simultanéité apparente. 34.- Système de traitement par multiprocesseurssuivantl'unedes revendications 2 à 33,caractérisé en ce qu'il comprend un moyen de balayage dans le moyen de contrôleur de ligne pour balayer cha- que module de processeur suivant une séquence circulaire, afin de déterminer les modules de processeurs-qui désirent émettre des données dans la ligne entre processeurs et, de ce fait, assu- rer à tous les modules de processeurs des possibilités égales d'émission de données dans la ligne entre processeurs, 35.- Système de traitement par multiprocesseurs suivant la 3o revendication 29, caractérisé en ce que chaque mémoire de modu- le de processeur comprend un moyen de mémoire-tampon réceptrice pour des transmissions à partir de chaque module de processeur et une combinaison de lignes entre processeurs, et comprend éga- lement un moyen de table de réception dans les lignes pour diri- ger les données "en entrée" allant d'une ligne entre processeurs à un emplacement particulier dans le tampon connexe de la mé- moire du module de processeur récepteur. 36.- Système de traitement par multiprocesseurs suivant la revendication 35, caractérisé en ce que le moyen de table de réception dans le module de processeur récepteur fournit une 158 FeuiUle rectifiée entrée de table de réception dans les lignes qui contient l'a- dresse en cours à l'emplacement o les données "en entrée" doi- vent être stockées, ainsi que le nombre restant de mots attendus du module de processeur émetteur. 37.- Système de traitement par multiprocesseurs suivant la revendication 35, caractérisé en ce qu'il comprend un moyen de microprogramme de réception dans les lignes dans le module de processeur récepteur, opérationnellement associé avec le moyen en file d'attente et le moyen de table de réception dans les lignes pour stocker les données reçues dans la mémoire du module de processeur récepteur et pour mettre à jour le compte et les mots-adresses dans l'élément de la table de réception dans les lignes, sans interruption visible du programme du logiciel en cours d'exécution dans le module de processeur récepteur, de sorte que la réception des données par le module de processeur se produit de manière à être transparente au programme du logi- ciel en cours, exécuté indépendamment dans l'unité centrale de ce module de processeur récepteur. 38.- Système de traitement par multiprocesseurs suivant la revendication 37, caractérisé en ce que l'élément du moyen de ta- ble de réception dans les lignes est mis à jour par le moyen de microinstructions après la réception de chaque groupe de bits par le module de processeur récepteur, et opère avec le moyen de microinstructions pour fournir une interruption de programme lorsque la totalité du bloc de données a été reçue comme l'indi- que l'épuisement du compte de mots dans l'élément du moyen de table de réception dans les lignes. 39.- Système de traitement par multiprocesseurs suivant la revendication 37, caractérisé en ce que le microprogramme de réception dans les lignes fournit une interruption pour achève- ment de la réception dans les lignes, au programme du logiciel en cours d'exécution dans le module de processeur récepteur, uniquement en réponse à l'achèvement complet d'une transmission de données en blocs au module de processeur récepteur ou en ré- ponse à la détection d'une erreur par le moyen de microprogramme de réception dans les lignes. 40.- Système de traitement par multiprocesseurs suivant la revendication 29, caractérisé en ce qu'il comprend un moyen de commande du récepteur de chaque module de processeur afin de com- mander la capacité de ce récepteur à recevoir des groupes de bits dans chaque ligne entre processeurs. 41.- Système de traitement par multiprocesseurs suivant la revendication 40, caractérisé en ce qu'il comprend une table de réception dans les lignes dans chaque module de processeur pour diriger les données "en entrée" vers un emplacement indi- qué dans la mémoire; et en ce que le moyen de commande du ré- cepteur comprend un moyen de registre de masquage pour fournir un verrouillage empêchant la réception de données supplémentai- res dans une ligne entre processeurs jusqu'à ce que certaines opérations critiques, telles qu'une mise à jour du logiciel de la table de réception dans les lignes, soient achevées. 42.- Système de traitement par multiprocesseurs suivant la revendication 41, caractérisé en ce que le moyen de commande du récepteur comprend un indicateur d'interruption pour achève- ment de la transmission, positionné par un microprogramme de réception dans les lignes, situé dans le module de processeur. 43.- Système de traitement par multiprocesseurs suivant la revendication 41ou42, caractérisé en ce que le moyen de commande du récepteur comprend un registre de masquage d'interruption dans chaque unité centrale, correspondant à chaque ligne entre pro- cesseurs et comportant un masque qui permet des microinterrup- tions dans cette ligne lorsque le bit de masquage est à "un". 44.- Système de traitement par multiprocesseurs suivant la revendication 29, caractérisé en ce que chaque module de proces- seur comprend un moyen de microprogramme d'émission et un mi- croprocesseur dans l'unité centrale, qui agissent en liaison avec le moyen hors de la file d'attente du moyen de commande entre processeurs pour extraire un bloc de données de la mémoi- re, décomposer ce bloc dé données en groupes de bits, calculer et joindre un total de contrôle des groupes de bits aux mots contenant des données dans chaque groupe de bits, et transmettre le bloc de données, à raison d'un groupe de bits à la fois, au module de processeur récepteur par la ligne entre processeurs. 45.- Système de traitement par multiprocesseurs suivant la revendication 44, caractérisé en ce qu'il comprend un moyen de microprogramme de réception dans les lignes dans le module de processeur récepteur, afin d'extraire un groupe de bits d'infor- mation reçu d'un moyen en file d'attente, stocker les données dans une mémoire-tampon et vérifier si le total de contrôle des groupes de bits est correct. Iil4 of 7 46.- Système de traitement par multiprocesseurs suivant la revendication 45, caractérisé en ce qu'il comprend un moyen de table de réception dans les lignes dans le module de processeur récepteur, associé opérationnellement avec le moyen de micro- programme de réception dans les lignes afin de réassembler les groupes de bits en blocs. 47.- Système de traitement par multiprocesseurs suivant la - revendication 46, caractérisé en ce que le moyen de table de ré- ception dans les lignes et le moyen de microprogramme de récep- tion dans les lignes permettent un assemblage imbriqué de blocs de groupes de bits à partir de plusieurs modules de processeurs- émetteurs, permettent un assemblage imbriqué de blocs à partir de groupes de bits et permettent d'effectuer un contrôle d'er- reur d'une manière transparente au logiciel en cours d'exécution dans le module de processeur récepteur. 48.- Système de traitement par multiprocesseurs suivant la revendication 29, caractérisé en ce qu'il comprend un moyen de contrôle d'erreur afin d'assurer une émission et une réception correcte des données dans chaque ligne entre processeurs. 49.- Système de traitement par multiprocesseurs suivant la revendication 48, caractérisé en ce que le moyen de contrôle d'erreur comprend l'addition d'un mot de contrôle contenant un total de contrôle des mots contenant des données et constituant le dernier mot de chaque groupe de bits afin de vérifier si la transmission des groupes de bits est correcte. 50.- Système de traitement par multiprocesseurs suivant la revendication 49, caractérisé en ce qu'il comprend un moyen de microprogramme de module de processeur émetteur pour créer le total de contrôle; et un moyen de microprogramme de module de processeur récepteur pour comparer le total de contrôle et véri- fier l'intégrité de la transmission. 51.- Système de traitement par multiprocesseurs suivantl'une des revendications 48 à 50, caractérisé en ce que le moyen de contrôle d'erreur comprend un contrôle supplémentaire de.la totalité du message afin d'assurer qu'aucun groupe de bits.n'a été perdu. 52.- Système de traitement par multiprocesseurs suivant la revendication 29, caractérisé en ce qu'un bloc de données envo- yées par une ligne entre processeurs en un ou plusieurs groupes de bits est toujours précédé d'un groupe de bits d'identifica- tion et est toujours suivi d'un groupe de bits de fin de bloc. 4 7 31? ! *it"-Et 53.- Système de traitement par multiprocesseurs suivant la revendication 52, caractérisé en ce que le îroupe de bits d'i- dentification identifie le message et indique le nombre de don- nées qui seront reçues dans le message. 54.- Système de traitement par multiprocesseurs suivant la revendication 53, caractérisé en ce que le moyen de groupe de bits de fin de blocs indique qu'il se produit une erreur pendan la transmission des données et fournit également un moyen de re connaître que les données ont été transmises en trop petit ou en trop grand nombre. 55.- Système de traitement par multiprocesseurs suivant la revendication 29, caractérisé en ce qu'il comprend un moyen de signal d'alarme de panne d'alimentation opérationnellement associé au moyen en file d'attente de sorte qu'un autre groupe de bits d'information, tout au plus, peut être chargé dans le moyen en file d'attente après la réception dtun signal d'alar- me de panne d'alimentation. 56.- Système de traitement par multiprocesseurs suivant l'une desrevendications 3 à 55, caractérisé en ce que chaque module de proces- seur comprend une logique disposée de telle sorte qu'il n'y a aucun effet transitoire dans une ligne entre processeurs, du fait d'une perte d'alimentation de la logique du module de pro- * cesseur pendant une coupure de l'alimentation du module de pro- cesseur;de ce fait, l'alimentation de chaque module de proces- seur peut être coupée pour permettre un entretien en direct et on peut ajouter des modules supplémentaires de processeurs au système de traitement par multiprocesseurs sans devoir immobi- liser ce dernier système. 57.- Système de traitement par multiprocesseurs suivant l'une des revendicatbns 3 à 56, caractérisé en ce que la mémoire de chaque module de processeur comprend un tampon séparé pour chaque mo- dule de processeur et comprend également un moyen de table de réception de ligne pour diriger les données "en entrée" d'une ligne entre processeurs à un emplacement déterminé dans un tam- pon connexe de la mémoire du module de processeur récepteur. 58.- Système de traitement par multiprocesseurs suivant la revendication 57, caractérisé en ce que le moyen de table de ré- ception dans les lignes contient une entrée séparée correspon- dantPà chaque module de processeur, et indique à la fois l'adreE se du tampon dans lequel doivent être stockées les données ve- 162 Feuille rectifiée nant d'un module particulier de processeur, ainsi que le nombre prévu de mots contenant des données. 59.- Système de traitement par multiprocesseurs suivant l'une desrevendications3à58,caractérisé en ce que chaque module de proces- seur comprend un moyen de canal d'entrées-sorties pour connecter le module de processeur à un organe de commande. 60.-Système de traitement par multiprocesseurs suivant l'une desrevendicaticns 3 à 59, caractérisé en ce qu'il comprend plusieurs appareils périphériques, plusieurs organes de commande pour com- mander la transmission des données entre les modules de proces- seurs et les appareils périphériques, plusieurs entrées dans chaque organe de commande, et plusieurs lignes d'entrées-sorties connectant chaque organe de commande de manière à le rendre ac- cessible à plusieurs modules de processeurs différents. 61.- Système de traitement par multiprocesseurs suivant l'une des revendications 3 à 60, caractérisé en ce qu'il comprend une deuxième ligne entre processeurs pour fournir, en combinaison avec les différentes lignes d'entrées-sorties, des circuits séparés mul- tiples connectant chaque organe de commande à chaque module de processeur, de sorte qu'en cas de défaillance d'un circuit, n'importe quel module de processeur peut encore communiquer avec n'importe quel organe de commande par un autre circuit. 62.- Système de traitement par multiprocesseurs suivant la revendication 60 ou 61, caractérisé en ce qu'il comprend un moyen de logique commune d'interface opérationnellement associé avec chaque organe de commande pour assurer qu'une seule entrée àî la fois de l'organe de commande est logiquement connectée à l'or- gane de commande. 63.- Système de traitement par multiprocesseur suivant l'une des revendications6Oà62,caracte6-isé en ce qu'il comprend un moyen de mémoire-tampon sensible aux contraintes, pour permettre la trans- mission des domnnées par chaque ligne d'entrées-sorties entre une entrée et un moyen de canal d'entrées-sorties dans une série de tranches de temps. 64.- SysLème de traibement par multiprocesseurs suivant la revendication 63, caractérisé en ce qu'il comprend un moyen de connexions volantes pour faire varier la contrainte sous laquel- le une demande de reconnexion de la mémoire-tampon est faite au moyen du canal d'entrées-sorties. 65.- Système de traitement par multiprocesseurs suivant l'une des revendications 60 à 64, caractérisé en ce qu'il comprend un moyen de table de commande des entrées-sorties qui comporte une entrée pour chaque appareil connecté au moyen de canal d'entrées-sor- ties et dans lequel chaque entrée contient une adresse de tampon en mémoire et un mot de compte pour le nombre de multiplets à transmettre dans un sous-programme d'entrées-sorties. 66.- Système de traitement par multiprocesseurs suivant la revendication 65, caractérisé en ce que les entrées de la table de commande des entréessorties sont situées dans la mémoire centrale pour protéger cette mémoire contre une défaillance d'un organe de commande ou d'une ligne d'entréessorties0 67.- Système de traitement par multiprocesseurs suivant la revendication 65 ou 66, caractérisé en ce qu'il comprend une autre- co- pie de la table de commande des entrées-sorties localisée dans chaque module de processeur qui est opérationnellement associé avec le même organe de commande, de sorte que la défaillance d'un module de processeur ne provoque pas la perte de l'organe de commande pour le système. 68.- Système de traitement par multiprocesseurs suivant l'une des revendications 603 67, caractérisé en ce que le moyen de commande entre processeurs et l'unité centrale fonctionnent en synchronis- me avec différentes horloges et le moyen de canal d'entrées- sorties fonctionne à la vitesse de la mémoire qui est également différente de la vitesse d'horloge du module de processeur; et en ce que les organes de commande fonctionnent à leurs fréquen- ces d'horloges locales de façon asynchrone avec n'importe quelle autre partie du système, synchronisant chaque transmission de mot avec le module de processeur à l'aide d'une liaison verrouil- lée dans la ligne d'entrées-sorties. 690- Système de traitement par multiprocesseurs suivant l'une des revendications 3à59,caractérisé en ce qu'il comprend plusieurs appa- reils périphériques; plusieurs organes de commande pour comman- der la transmission des données entre les modules de processeurs et les appareils périphériques; plusieurs entrées dans chaque organe de commande; plusieurs lignes associées d'entrées-sorties connectant chaque organe de commande pour les rendre accessibles à différents modules de processeurs; plusieurs sources séparées d'alimentation opérationnellement associées avec chaque organe de commande pour alimenter chacun de ces derniers; et un moyen de connexion pour alimenter un organe de commande à partir des _164 2 4 73 19 7 -164 Feujle recufije sources d'alimentation associées restantes, en cas de panne ou de coupure d'une autre source d'alimentation de ce dispositif de commande, de sorte que la source d'alimentation opérationnelle- ment associée avec un module de processeur peut être coupée pro- gressiveient afin de permettre un entretien en direct de ce modu- le de processeur mis hors tension, tandis que le reste du système de traitement par multiprocesseurs reste en liaison directe et en fonctionnement. 70.- Système de traitement par multiprocesseurs suivant la revendication 69, caractérisé en ce que le moyen de connexion comprend un moyen de commutation à diodes pour fournir l'alimen- tation logique à partir des sources d'alimentation associées lorsque ces dernières sont opérantes, pour fournir l'alimenta- tion logique à partir des autres sources d'alimentation en cas de panne ou de coupure d'une source d'alimentation, et pour fournir une commutation, en cas de panne ou de coupure, qui soit régulière et sans interruption ni pulsations de l'alimentation logique fournie. 71.- Système de traitement par multiprocesseurs suivant la revendication 69ou70, caractérisé en ce qu'il comprend un moyen de circuit de mise sous tension dans chaque module de processeur et chaque organe de commande afin de détecter les moments o l'alimentation logique du module de processeur ou de l'organe de commande est inférieure aux spécifications requises pour un fonc- tionnement logique correct, et afin de remettre à zéro le module de processeur ou l'organe de commande pour empêcher toute acti- vité à ses interfaces et pour le maintenir dans un état qui est commandé lorsque son alimentation logique est affectée par une perte en ligne, une coupure, une panne d'alimentation ou une panne de distribution. 72.- Système de traitement par multiprocesseurs suivant la revendication 71, caractérisé en ce que le moyen de circuit de mise sous tension libère également le module de processeur ou l'organe de commande et le remet en fonctionnement après que l'alimentation est rétablie et que l'alimentation logique lui est fournie suivant la spécification correcte. 73e- Système de traitement par multiprocesseurs suivant la revendication 71ou72, caractérisé en ce qu'il comprend des moyens émetteurs-récepteurs dans les modules de processeurs et dans les organes de commande qui agissent en liaison avec le moyen de ?47319-?9 circuit de mise sous tension pour commander la sortie des moyens émetteurs-récepteurs aux interfaces des modules de pro- cesseurs et d'organes de commande lors d'une montée en tension ou d'une baisse de l'alimentation, plutôt que de laisser la sortie du moyen émetteur-récepteur non définie lorsque la tension tombe en dessous du niveau requis pour un fonctionnement correct. 74.- Système de traitement par multiprocesseurs suivant la reven- dication 71, 72 ou 73, caractérisé en ce qu'il comprend une ligne de validation connectée aux émetteurs-récepteurs aux interfaces des organes de commande; et en ce que le circuit de mise sous tension agit en liaison avec la ligne de validation pour maintenir les émetteurs- récepteurs à l'état hors circuit jusqu'à ce que la tension ait atteint le niveau auquel l'état hors circuit sera maintenu par un fonctionne- ment correct des éléments logiques de l'organe de commande. 75.- Système de traitement par multiprocesseurs suivant l'une des revendications 3 à 74, caractérisé en ce que l'espace d'adresse de mémoire de chaque processeur est divisé en quatre zones séparées d'adresses logiques comprenant une zone de données de l'utilisateur,une zonededbnnéesdusystèmeune zone de code de l'utilisateur et une zone de code du système pour séparer le code des données, de sorte que le code peut être rendu non modifiable, et également pour séparer les programmes et les données du système dtex- ploitation des programmes et des données de l'utilisateur, de telle sorte que les programmes de l'utilisateur ne peuvent pas détruire le système d'exploitation. 76.- Système d'entrées-sorties pour un système de traitement par multiprocesseurs du genre comportant des processeurs, unsystème d'entrées-sorties, un système d'alimentation électrique et un - système de mémoire, et dans lequel les processeurs sont interconnectés pour assurer un traitement en simultanéité, ce système d'entrées- sorties étant caractérisé en ce qu'il comprend plusieurs modules de processeurs séparés, chaque processeur comprenant une unité centrale et une mémoire; certains au moins des modules de processeurs ayant un canal d'entrées-sorties; un organe de commande au moins pour commander la transmission des données entre un module de processeur et un appareil péri- phérique; plusieurs entrées dans chaque organe de commande et plusieurs lignes d'entrées-sorties pour connecter chaque organe de commande afin qu'il soit accessible aux différents modules de processeurs; et un moyen de logique commune d'in- terface pour assurer qu'une seule entrée à la fois connecte 166 Eeuille fectil16 opérationnellement l'ogane de commande au système de traite- ment par multibprocesseurs. 77.- Système d'entrées-sorties suivant la revendication 76, caractérisé en ce que les entrées de chaque organe de commande et des composants connexes du système sont constituées de telle sor- te que les entrées d'un organe de commande sont logiquement et physiquement indépendantes l'une de l'autre; et en ce qu'aucune partie de composant d'une entrée n'est également un composant de l'autre entrée d'un organe particulier de commande, de sorte qu'aucune défaillance de composant unique en un endroit quel- conque de l'organe de commande ne peut affecter simultanément le fonctionnement de plus d'une entrée. 78.- Système d'entrées-sorties suivant la revendication 77, caractérisé en ce qu'il comprend un moyen de détection des dé- faillances qui inclut une ligne interconnectant les modules de processeurs afin de détecter qu'une entrée particulière ne connecte plus opérationnellement l'organe de commande au systè- me de traitement par multiprocesseurs. 79 - Système d'entrées-sorties suivant la revendication 78. caractérisé en ce qu'il comprend un moyen logique de transmis- sion d'un signal de prise de possession à une-autre entrée éven- tuelle pour que celle-ci connecte opérationnellement l'organe de commande au système de traitement par multiprocesseurs, en réponse à la détection d'une défaillance de l'entrée particu- lière. 80.- Système d'entrées-sorties suivant l'une des revendications76 à 79, caractérisé en ce qu'il comprend une partie de commande dans chaque organe de commande; en ce que chacune des entrées indi- viduelles d'un organe particulier de commande est physiquement et indépendamment connectée à un module de processeur, en même temps qu'une autre entrée de cet organe de commande est physi- quement connectée à un module différent de processeur; et en ce qu'il comprend un moyen de bascule d'acquisition pour établir une connexion logique entre la partie de commande de l'organe de commande et l'une des entrées, de sorte qu'une seule entrée commande l'organe de commande à n'importe quel moment et, de ce fait, unle défaillance d'une entrée de la ligne d'entrées sorties ou du canal d'entrées-sorties ou du module de processeur ne peut jamais affecter l'autre entrée. 81o- Systeme d'entrées-sorties suivant l'une des revendicationm 76 à 8A, 167 24Zt2al caractérisé en ce que chaque organe de commande comprend une par tie d'interface etune partie de commande; en ce que la partie d'interface comprend les entrées multiples, le moyen de logique commune d'interface et le moyen de bascule de prise de possession; et en ce que la partie de commande comprend la partie de commande de la logique de l'organe et une mémoire-tampon. 82.- Système d'entrées-sorties suivant l'une des revendications 76 à 81, caractérisé en ce qu'il comprend une bascule de validation dans chaque entrée afin d'empêcher dynamiquement une entrée d'envoyer des signaux dans sa ligne respective d'entrées-sorties en réponse à une défaillance dans une partie quelconque de l'organe de com- mande. 83.- Système d'entrées-sorties suivant l'une des revendications 76 à 82, caractérisé en ce qu'il com prend un moyen de création et de con- trôle de parité pour commencer à contrôler la parité avant que les données ne soient dirigées dans un registre de l'entrée et pour continuer le contrôle de parité pendant un certain temps après que les données ont été placées dans le registre, de sorte que la parité est contrôlée pendant une ouverture et non pas simplement sur un bord afin d'assurer que les lignes acheminant les données ne sont pas en cours de changement pendant que les données sont acceptées4dans le registre. 84.- Système d'entrées-sarties suivant l'une des revendications 76 à 83, caractérisé en ce qu'il comprend, dans chaque organe de commande, un moyen de mémoire-tampon sensible aux contraintes. 85.- Système d'entrées-sorties suivant l'une des revendications 76 à 84, caractérisé en ce qu'il comprend un moyen à profondeur d'attente permettant d'attendre un certain temps après chaque déconnexion du canal d'entrées-sorties avant de faire la demande suivante de reconnexion; de ce fait, les appareils faiblement prioritaires peuvent accéder au canal d'entrées-sorties de sorte que ces appa- reils ne sont pas surchargés. 86.- Système d'entrées-sorties suivant la revendication 85, caractérisé en ce que la mémoire-tampon comprend un moyen à pro- fondeur de seuil permettant à l'organe de commande d'attendre un certain temps après avoii fait une demande de reconnexion avant que l'organe de commande ne soit surchargé, afin de permettre aux appareils hautement prioritaires d'accéder au canal d'entrées- sorties. 87.- Système d'entrées-sorties suivant la revendication 86, 2473 1 97 168 Feuille rectifiée caractérisé en ce qu'il comprend un moyen de variation des con- traintes capables de modifierla profondeur d'attente à laquelle l'organe de commande adresse une demande de reconnexion au moyen de canal d'entrées-sorties. 88.- Système d'entrées-sorties suivantlarevendication 86'ou87, caractérisé en ce que la profondeur de la mémoire-tampon est la somme de la profondeur de seuil et de la profondeur d'attente. 89.- Système d'entrées-sorties aevant l'une desrevendicatioes -76 à 83, caractérisé en ce qu'il comprend un moyen de priorité pour sélec- tionner, conformément à un plan de priorité, prédéterminé, un organe de commande particulier à partir de plusieurs signaux de demande d'appareil qui peuvent se produire de façon asynchrone, ce moyen de priorité comprenant une connexion de balayage en étoi- le entre le moyen de canal d'entrées-sorties et les organes de commande utilisant une ligne de données multibinaires; un moyen de lignes de rangement qui divise les organes de commande en plu- sieurs groupes auxquels est affectée une priorité relative entre eux, une priorité étant également affectée aux organes de comman- de au sein de chaque groupe, un registre séparateur de priorité pour déterminer l'organe de commande qui a la priorité la plus élevée au sein de chaque groupe et un moyen de sélection pour connecter au moyen de canal d'entrées-sorties l'organe de commande le plus hautement prioritaire qui fait une demande de reconnexion. 90.- Système d'entrées-sorties suivant l'une des revendications 76 à 89, caractérisé en ce qu'il comprend une table de commande des entrées- sorties dans la mémoire de chaque module de processeur et en ce qu'il contient une entrée qui définit une zone tampon dans la mé- moire et une longlueur restante de comptage de multiplets à trans- mettre pour chaque appareil périphérique connecté au moyen de ca- nal d'entréees-sorties de ce module de-processeur- 91.- Système d'entrées-sorties suivant la revendication 90, caractérisé en ce que le moyen de canal d'entrées-sorties, en réponse à une demande de reconnexion faite par un organe de com- mande lorsque le mot de comptage dans la table de commande des entrées-sorties est'à "zéro", passe directement à l'état de sus- pension d'exécution du programme afin d'empêcher un recouvrement de la mémoire par un appareil défaillant. 92,- Système d'entrées-sorties suivant la revendication 90 ou 91, caractérisé en ce qu'il comprend, dans chaque entrée, une zone -d'erreur comportant plusieurs bits qui peuvent être mis à "un" 2,473 1 9 pour indiquer l'une quelconque de nombreuses erreurs dénombrées, et en ce que le moyen de canal d'entrées-sorties passe directe- ment à l'état de suspension d'exécution du programme en cas d' erreur quelconque. 93.- Système d'entrées-sorties sivant la revendication 90 ou 91, caractérisé en ce qu'il comprend, dans chaque entrée, une zone qui peut être mise à "un" pour indiquer que la zone-tampon dans la mémoire peut être extraite de la mémoire mais non introduite en mémoire, de manière à protéger la mémoire contre une défail- lance de l'organe de commande. 94.- Système d'entrées-sorties suivant l'une des revendications 76 à 93, caractérisé en ce qu'il comprend un moyen de protection qui empê- che un appareil périphérique d'affecter sa propre zone tampon dans le module de processeuro 95.- Système d'entrées-sorties suivant la revendication 94, caractérisé en ce que le moyen de protection comprend un bit de protection qui permet uniquement une opération d'extraction de la mémoire du module de processeur et qui empêche une opéra- tion d'introduction dans la mémoire du module de processeur. 96.- Système d'entrées-sorties suivant la revendication 78, caractérisé en ce que chaque module de processeur comporte, dans sa mémoire, son propre moyen de table de commande d'entrées-sor- ties pour tous les appareils qui lui sont connectés, de sorte qu'une défaillance unique dans un organe de commande quelconque ne peut détériorer la mémoire d'un module de processeur connecté à cet organe de commande particulier. 97 - Système d'entrées-sorties suivant l'une des revendications 76 à 96, caractérisé en ce qu'l comprend plusieurs moyens séparés d'ali- mntation électrique répartis et opérationnellement associés avec les modules de processeurs et les organes de commande, de sorte qu'aucune panne individuelle de moyen d'alimentation électrique ne peut immobiliser le système de traitement par multiproces- seurs. 98.- Système d'entrées-sorties suivant la revendication 97, caractérisé en ce que les alimentations électriques séparées sont réparties et opérationnellement associées aux modules de processeurs et aux organes de commande à plusieurs entrées, de sorte que n'importe quel module de processeur ou organe de com- mande individuel peut être mis hors circuit sans que le fonction- nement continu du reste du système de traitement par multiproces- I70 teulle rectitiée seurs An soit affectA et l'entretien en direct peut être effec- tué sur n'importe quel module de processeur ou organe de comman- de individuel grâce à une coupure progressive de l'alimentation électrique de ce module de processeur ou de cet organe de.comman- de, tandis que le reste du système de traitement par multiproces- seurs continue à fonctionner en liaison directe avec l'ordina- teur. 99.- Système d'entrées-sorties suivant la revendication 97, caractérisé en ce que plusieurs alimentatiors électriques sépa- rées sont opérati.onnellement associées avec chaque organe de commande de sorte lue, si une alimentation électrique associée à un organe de commande vient à baisser, une autre alimentation électrique prend la relève pour empêcher la perte de cet organe de commande. 100.- Système d'entrées-sorties suivant la revendication 99, caractérisé en ce qu'il comprend un moyen de commutation à dio- des pour connecter les deux alimentations électriques à chaque organe de commande, de sorte que chaque alimentation électrique alimente l'organe de commande à tous moments; et en ce que, si une alimentation électrique vient à défaillir, l'autre alimenta- tion électrique fournit toute la puissance à l'organe de comman- de, aucune discontinuité n'apparaissant jamais dans la puissance fournie à l'organe de commande. 101.- Système d'Entrée-sorties suivant l'une des revendications 76 à 98, caractérisé en ce qu'il comprend un moyen de circuit de mise sous tension pour déterminer le fonctionnement de l'organe de commande lors de la mise sous tension ou hors tension, afin de protéger la ligne d'entrées-sorties contre les signaux erronés et permettre un entretien en direct et une extension du système. 102.- Système d'entrées-sorties suivant la revendication 101, caractérisé en ce qu'il comprend, dans chaque entrée, des appareils d'interface qui commandent les lignes d'entrées-sor- ties, et en ce que le moyen de circuit de mise sous tension agit en liaison avec les appareils d'interface pendant la défaillance ou la coupure d'une alimentation électrique associée, afin d'em- pêcher électriquement les appareils d'interface de commander la ligne d'entrées-sorties et, de ce fait, empêcher qu'un organe de commande n'affecte la ligne d'entrées-sorties pendant la dé- faillance ou la coupure d'une alimentation électrique. 103.- Système d'alimentation électrique répartie conçu pour 171 2473199 un système de traitement par multiprocesseurs du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoire, et dans lequel les processeurs sont interconnectés pour assurer un traitement en simultanéité, caractérisé en ce qu'il comprend plusieurs modules de processeurs séparés; plusieurs organes de commande pour commander la transmission de données entre plusieurs modules de processeurs et plusieurs appareils périphériques, plusieurs entrées dans chaque organe de commande et plusieurs lignes d'entrées-sorties pour connecter chaque organe de commande de manière telle qu'il soit accessible aux différents modules de processeurs; et un moyen d'alimentation électrique répartie pour assurer le fonctionnement ininterrompu du reste du système de traitement par multiprocesseurs en cas de défaillance d'une seule alimentation électrique d'une partie du système de traitement par multiprocesseurs, ce moyen d'alimentation électrique répartie comprenant une alimentation électrique séparée pour chaque module de processeur et un moyen de connecter plusieurs des alimentations électriques séparées à chaque organe de commande et capable d'alimenter chaque organe de commande à partir des autres alimentations électriques séparées, en cas de défaillance de l'une des alimentations électriques connectées à un *quelconque organe de commande. 104.- Système d'alimentation électrique répartie suivant la revendication 103, caractérisé en ce qu'il comprend au moins un moyen de circuit de mise sous tension afin d'établir des niveaux d'alimenta- tion qui soient dans certaines limites prédéterminées, et capable de fonctionner suivant quatre états, c'est-à-dire hors de tension, passage de l'état hors tension à l'état sous tension, sous tension et passage de l'état sous tension à l'état hors tension. 105.- Système d'alimentation électrique répartie suivant la revendication 104, caractérisé en ce qu'il comprend une ligne entre processeurs interconnectant tous les modules de processeurs; et en ce qu'un moyen de circuit de mise sous tension est placé dans chaque unité centrale et dans chaque organe de commande. 106.- Système d'alimentation électrique répartie suivant la revendication 104 ou 105, caractérisé en ce que le moyen de circuit de mise sous tension fournit, en cas de variation de l'alimentation logique, un signal qui établit le niveau d'alimentation appliqué au module du processeur ou à l'organe de commande connecté; et en ce que la sortie de ce signal est utilisée pour invalider directement les signaux d'interface appropriés du module de processeur ou de 172 2473197 l'organe de commande dans lequel est placé le circuit de mise sous tension, lorsque la mise sous tension ne se fait pas dans certaines limites pré- déterminées qui assureront un fonctionnement logique correct. 107.- Système d'alimentation électrique répartie suivant l'une des revendications 104 à 106, caractérisé en 'ce que le moyen de circuit de mise sous tension commande les circuits d'interface de commande qui régissent toutes les lignes de transmission dans le système de traitement par multiprocesseurs. 108.- Système d'alimentation électrique répartie suivant l'une des revendications 105 à 107, caractérisé en ce qu'il comprend une deuxième ligne entre processeurs interconnectant tous les modules de processeurs; et en ce que le moyen de circuit de mise sous tension agit en liaison avec le système à circuits multiples fourni par les lignes entre processeurs, les organes de commande à entrées multiples et les lignes associées d'entrées-sorties pour donner un mode de fonctionnement dans lequel la défaillance de l'alimentation électrique d'un processeur ou d'un organe de commande à entrées multiples-n'affecte pas un autre module de processeur ou un autre organe de commande à-double entrée placé dans un quelconque de ces circuits. 109.- Système d'alimentation électrique répartie suivant l'une des revendications 103 à 108, caractérisé en ce que le moyen de connexion comprend un montage de commutation à diodes qui alimente l'organe de commande à partir de plusieurs alimentations électriques lorsque ces alimentations électriques associées sont en fonctionnement, et qui alimente l'organe de commande à partir des alimentations électriques restantes en cas de panne de l'une des alimentations électriques associées, la commutation se faisant sans interruption ni pulsations de sorte que le fonctionnement de l'organe de comnm nde n'est jamais interrompu. 110.- Système d'alimentation électrique répartie suivant l'une des revendications 103 à 109, caractérisé en ce que les alimentations - électriques séparées sont interconnectées par une ligne d'alimentation comportant plusieurs conducteurs dont certains sélectionnés sont connectés à certaines alimentations électriques sélectionnées et qui comprennent des prises sur la ligne d'alimentation au voisinage de chaque organe de commande, pour permettre de connecter l'organe de commande à plusieurs alimentations électriques sélectionnées à l'aide d'une connexion facile aux prises concernées sur la ligne d'alimentation. 111.- Système à mémoire conçu pour un module de processeur d'un 173 24 73 197 système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel ledit module de processeur comprend une unité centrale et le système à mémoire, cesystème à mémoire étant caractérisé en ce qu'il comprend une mémoire centrale physique placée dans le module de processeur et un moyen de relevé pour traduire toutes les adresses logiques en adresses physiques, de sorte que toutes les instructions de l'unité centrale peuvent couvrir quatre zones d'adresses logiques, c'est-à-dire les données de l'utilisateur, les données du système, le code de l'utilisateur et le code du système, et de sorte qu'un programmeur n'a pas besoin de se soucier d'une adresse physique réelle ni de la quantité de mémoire physique connectée mais, au contraire, il peut écrire dans les quatre zones d'adresses logiques un programme basé entièrement sur des adresses logiques. 112.- Système à mémoire suivant la revendication 111, caracté- risé en ce que la mémoire physique est divisée en pages numérotées, le moyen de relevé comprenant quatre relevés qui sont un relevé de données du système, un relevé du code du système, un relevé des données de l'utilisateur et un relevé du code de l'utilisateur, correspondant aux quatre zones d'adresses logiques, et chaque entrée de relevé établissant une correspondance entre une page logique et une page physique. 113.- Système à mémoire suivant la revendication 112, caracté- risé en ce que le moyen de relevé prévu pour fournir une mémoire à relevé, assure également la protection des utilisateurs dans le cadre d'une exploitation en multiprogrammation car le relevé, qui est en fait prévu pour un utilisateur particulier, ne permet l'accès qu'aux pages de la mémoire physique du programme et des données de cet utilisateur afin d'empêcher un utilisateur d'écrire dans une page du programme ou des données d'un autre utilisateur et, de ce fait, empêcher un utilisateur de détruire le programme d'un autre utilisateur, sans qu'il soit nécessaire de prévoir des registres de protection. 114.- Système à mémoire suivant la revendication 112 ou 113, caractérisé en ce que le moyen de relevé comprend un moyen de bit de référence pour donner un histogramme d'utilisation d'une page logique donnée pendant une période de temps, afin de montrer si cette page logique a été utilisée pendant une période récente de temps, et, de ce fait, indiquer si cette page logique donnée est ou non d'utilisation courante. 174 2473197 Feuille rectifiée 115.- Système à mémoire suivant la revendication 114, caracté- risé en ce que la référence de l'historique d'utilisation est maintenue dans les bits de matériel dans l'entrée du relevé et en ce que le moyen de bits de référence est constitué pour être périodiquement mis à jour par une instruction du logiciel qui décale l'entrée du relevé. 116.- Système à mémoire suivant la revendication 115, caractérisé en ce que le moyen de bits de référence comprend plusieurs bits de référence dans l'entrée du relevé pour une page donnée et comprend également un moyen de microinstructions pour décaler le contenu des bits, afin de donner un historique de référence de l'entrée du relevé en réponse à une instruction de décalage du relevé. 117.- Système à mémoire suivant l'une des revendications 114 à 116, caractérisé en ce qu'il comprend une logique de commande de la mémoire à relevé agissant en liaison avec le système d'exploitation pour maintenir automatiquement l'information dans les bits de référence lorsque les accès de l'unité centrale et du moyen de canal d'entrées-sorties sont effectués en mémoire. 118.- Système à mémoire suivant l'une des revendications 114 à 117, caractérisé en ce qu'il comprend les instructions suivantes uti- lisées par le système d'exploitation en liaison avec le relevé, c'est-àdire l'instruction d'insertion dans une entrée de relevé dont le but est d'insérer les données dans une entrée de relevé et qui exige que l'adresse de l'entrée du relevé et les données soient insérées sous la forme de paramètres; l'instruction de lecture d'une entrée de relevé, dont le but est de lire une entrée de relevé et qui exige que l'adresse de l'entrée du relevé soit insérée sous la forme d'un paramètre; et l'instruction à décalage d'une entrée de relevé, dont le but est de décaler d'une position vers la droite la zone historique de référence d'une entrée de relevé. 119.- Système à mémoire suivant l'une des revendications 112 à 118, caractérisé en ce que les transmissions de données vers et de la mémoire par le canal d'entrées-sorties se font au moyen du relevé des données du système. 120.- Système à mémoire suivant l'une des revendications 111 à 119, caractérisé en ce que la zone du relevé comprend un relevé des données de l'utilisateur, un relevé des données du système, un relevé du code de l'utilisateur et un relevé du code du système, un sélecteur d'adresse et une bascule de sortie du relevé. 121.- Système à mémoire suivant l'une des revendications 111 à 2 473197 , caractérisé en ce que la mémoire physique est divisée en pages numérotées; en ce que chaque relevé comprend une entrée de relevé séparée pour chaque page logique mentionnée dans le relevé; et en ce que chaque entrée de relevé contient une zone de numéro de page physique, une zone de bit de parité, une zone d'historique de référence, une zone de bit historique de référence, une zone de bit-clé et une zone de bit d'absence. 122.- Module de processeur conçu pour un système de traitement par multiprocesseurs, du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires, et dans lequel les processeurs sont interconnectés pour assurer un traitement en simultanéité, caractérisé en ce qu'il comprend une unité centrale comportant une horloge de processeur; une mémoire et un moyen de commande entre processeurs pour connecter le module de processeur à n'importe quel autre module du système de traitement par multiprocesseurs par une ligne entre processeurs fonctionnant à un rythme d'horloge de ligne qui n'est synchronisé avec aucun des rythmes d'horloges de processeurs, ce moyen de commande entre processeurs comprenant un moyen en file d'attente pour mettre des données en mémoire- tampon entre la ligne entre processeurs et la mémoire des processeurs, ce moyen en file d'attente comportant une première machine logique exploitée en synchronisation avec l'horloge de la ligne et une deuxième machine logique exploitée en synchronisation avec l'horloge du processeur et un moyen de verrouillage opérationnellement associé avec une première et une deuxième machines logiques pour autoriser certains passages de l'une des machines logiques en fonction de l'état de l'autre machine, de telle sorte que la ligne entre processeurs peut être exploitée au rythme de l'horloge de la ligne et que l'unité centrale et la mémoire du module de processeur peuvent être exploitées au rythme de l'horloge du processeur, sans perte de données transmises ni perte d'information concernant l'état de la séquence de transmission. 123.- Procédé de création d'un verrouillage complet dans les limites de synchronisation d'une logique du genre utilisé dans un système de traitement par processeurs et comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel une première machine logique fonctionne en synchronisation avec une première horloge et dans lequel une deuxième machine logique fonctionne en synchronisation avec une deuxième horloge afin de garantir une séquence fixe d'apparitions d'états des machines logiques, indépendamment de la synchronisation 176 2473197 Jeufiie rectifiée relative des deux horloges, ce procédé étant caractérisé en ce qu'il comprend à la fois l'examen des événements et la création de signaux qui sont en synchronisation avec l'une ou l'autre des deux horloges, et la création de verrouillage entre les deux machines logiques en réponse à ces signaux pour donner l'indépendance de la synchronisation relative. 124.- Procédé d'interconnexion de plusieurs modules de pro- cesseurs dans un système de traitement par multiprocesseurs du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel les processeurs sont interconnectés par un circuit de communication entre modules multiples afin d'assurer qu'un module de processeur peut établir un circuit émetteur-récepteur avec un autre module de processeur sur une base de temps synchronisée, sans devoir compter sur un accusé de réception entre la paire de modules de processeurs pour chaque mot contenant des données transmis, ce procédé étant caractérisé en ce qu'il comprend la connexion de tous les modules de processeurs avec un circuit de communication entre modules multiples; le contrôle du circuit de communication entre modules multiples par un controleur de ligne; l'exploitation de la ligne en tant que ligne asynchrone avec une partie de chaque module de processeur synchronisée avec une horloge de ligne fournie par le contrôleur de ligne; la transmission du message par groupes de bits comportant plusieurs mots; le balayage des modules de processeurs sur la base d'une demande afin de déterminer un module de processeur qui soit prêt à envoyer un message dans la ligne; la détermination de la priorité des modules de processeurs demandant une transmission par la ligne entre processeurs afin d'établir une paire émettrice-réceptrice; l'établissement d'un circuit émetteur-récepteur par un protocole qui établit la capacité du module de processeur récepteur à recevoir et qui affecte ensuite un temps de ligne pour l'émission d'un groupe de bits, temps qui correspond exactement à la longueur-du paquet lui-même; et ensuite la remise du contrôleur de ligne à son état d'inactivité ou, si on le désire, à son état de balayage. 125.- Procédé suivant la revendication 124, caractérisé en ce qu'il comprend l'indication du module de processeur récepteur par le module de processeur émetteur et la détection de la préparation du module de processeur récepteur à recevoir, avant l'envoi du groupe de bits. 126.- Procédé suivant la revendication 124 ou 125, caractérisé en ce que chaque module de processeur comporte une ligne de sélection 177 2473 197 individuelle reliant ce module de processeur au contrôleur de ligne et comprenant des signaux de sélection de répartition dans les lignes de sélection individuelles, afin de créer des transmissions de données dans la ligne, établir la paire émettrice-réceptrice de modules de processeurs et la base de temps pour la transmission de l'information par la ligne entre l'émetteur et le récepteur et empêcher les autres modules de processeurs d'essayer de transmettre dans la ligne en. simultanéité avec le module de processeur sélectionné. 127.- Procédé de connexion d'organes de commande avec un canal d'entréessorties d'un module de processeur suivant un plan de priorité prédéterminé dans un système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel plusieurs organes de commande sont connectés à un canal d'entrées- sorties comportant une ligne acheminant des données de bits multiples, et peuvent valider chacun un signal de demande de reconnexion ou d'interruption envoyé dans le canal d'éntrées-sorties simultanément avec la validation de signaux de demande de reconnexion ou d'interruption venant d'autres organes de commande, ce procédé étant caractérisé en ce qu'il comprend la connexion des organes de commande au canal d'entrées- sorties dans une connexion de balayage en étoile, de sorte que chaque organe de commande est connecté indépendamment au canal d'entrées- sorties et de sorte qu'un nombre quelconque d'organes de commande peuvent être en panne ou mis hors circuit sans affecter le balayage des autres organes de commande; la détermination des organes de commande qui valident effectivement les demandes adressées au canal d'entrées-sorties; la détermination de l'identité de l'organe de commande le plus hautement prioritaire qui valide une demande; la sélection d'un organe de commande particulier par le canal d'entrées- sorties suivant le plan de priorité prédéterminé; l'exécution d'une transmission de données entre le canal d'entrées-sorties et l'organe de commande sélectionné; et la déconnexion de l'organe de commande sélectionné à la fin de la transmission des données. 128.- Procédé suivant la revendication 127, caractérisé en ce que le canal d'entrées-sorties comprend un registre de séparation de priorité ayant un seul bit pour chaque organe de commande et opérationnellement associé avec la ligne acheminant les données afin de sélectionner un organe de commande particulier, et comprenant la validation d'un signal de validation d'un bit dans la ligne de données par chaque organe de commande ayant une demande en cours, et séparant 178 2- 4 7 3 1 9, Feuilie rectifiée la priorité des bits, dans la ligne acheminant les données, par le registre de séparation de priorité. 129.- Procédé suivant la revendication 128, caractérisé en ce que chaque organe de commande comporte une entrée et chaque entrée un bit de sélection qui, lorsqu'il est à "un", permet à cette entrée de répondre aux instructions que le canal d'entrées-sorties dirige vers cette entrée, ce procédé comprenant la validation dans la ligne de données, d'un bit de sortie du registre de séparation de priorité qui met à "un" le bit de sélection de l'entrée d'un organe de commande, et ce procédé comprenant également la mise à zéro de tous les bits de sélection des entrées des organes de commande qui ne sont pas sélectionnés. 130.- Procédé suivant la revendication 129, caractérisé en ce que chaque entrée comporte un bit de validation pour empêcher l'organe de commande de transmettre l'information par l'intermédiaire de cette entrée au canal d'entrées- sorties, et comprenant la mise à zéro du bit de validation d'une entrée lorsqu'un organe de commande accomplit une action qui pourrait affecter le fonctionnement d'autres organes de commande connectés au même canal d'entrées-sorties. 131.- Procédé suivant la revendication 129 ou 130, caractérisé en ce qu'il comprend l'utilisation d'un moyen de ligne de rangement afin d'augmenter le nombre d'organes de commande possibles qui peuvent être prévus avec la ligne acheminant des données de bits multiples; et en ce que la priorité des organes de commande est déterminée à la fois par le rang et par la priorité dans un rang. 132.- Procédé suivant l'une des revendications 127 à 131, caractérisé en ce qu'il comprend l'implantation d'une mémoire-tampon comportant plusieurs mots et sensible aux contraintes dans chaque organe de commande. 133.- Mémoire-tampon sensible aux contraintes et conque pour un système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel le système d'entrées-sorties est un système d'entrées-sorties multiplexé par tranches du genre dans lequel des tranches de données de longueur iariable sont transmises entre un canal d'en- trées-sorties et un organe de commande et sont multiplexées en temps avec des tranches de données tenant d'autres organes de commande, cette mémoire-tampon sensible aux contraintes étant caractérisée en ce qu'elle comprend un moyen de mémoire-tampon pour recevoir et stocker les données venant du canal d'en- trées-sorties et des appareils périphériques connectés à cet organe de commaicd; 179 247319 7 un moyen de logique de commande de cette mémoire-tampon comprenant un moyen logique qui permet de garder une trace du degré de contrainte appliqué à la mémoire-tampon et capable d'adresser au canal d'entrées- sorties des demandes de reconnexion et des demandes de déconnexion lorsque la contrainte passe par certaines valeurs; et un moyen permettant de faire varier la valeur de la contrainte à laquelle l'organe de commande adresse une demande de reconnexion au canal d'entrées-sorties. 134.- Mémoire-tampon suivant la revendication 133, caractérisée en ce qu'elle comprend un moyen à profondeur d'attente permettant - d'attendre que la contrainte appliquée à la mémoire-tampon ait atteint une certaine valeur après chaque déconnexion du canal d'entrées-sorties, avant de faire la demande suivante de reconnexion pour permettre, de ce fait, aux appareils faiblement prioritaires d'accéder au canal d'entréessorties de sorte que ces derniers appareils ne sont pas surchargés. 135.- Mémoire-tampon suivant la revendication 134, caractérisée en ce qu'elle comprend un moyen à profondeur de seuil permettant à l'organe de commande d'attendre un certain temps après avoir fait une demande de reconnexion avant que l'organe de commande ne soit surchargé, afin de permettre aux appareils hautement prioritaires d'accéder au canal d'entrées-sorties. 136.- Mémoire-tampon suivant la revendication 135, caractérisée en ce que sa profondeur est la somme de la profondeur de seuil et de la profondeur d'attente. 137. Mémoire-tampon suivant la revendication 135 ou 136, caractérisée en ce que le moyen de faire varier les contraintes est capable de faire varier la profondeur d'attente à laquelle l'organe de-commande adresse une demande de reconnexion au moyen de canal d'entrées-sorties pour permettre aux organes de commande connectés à un canal d'entrées-sorties d'être rangés par ordre de priorité, de telle sorte que chaque appareil puisse accéder au canal d'entrées-sorties suffisamment fréquemment pour ne pas être surchargé, et de telle sorte qu'il ne provoque pas la surcharge des autres organes de commande connectés au même canal d'entrées-sorties. 138.- Système d'entrées-sorties pour un système de traitement pour processeurs du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties; caractérisé par le fait qu'il comporte un organe de commande pour commander la transmission des données entre le 247119-. module de processeur et un appareil périphérique; une entrée dans l'organe de commande; une ligne d'entrées-sorties connectant le canal d'entrées- sorties du module de processeur à l'entrée de l'organe de commande- et une bascule de validation dans l'entrée afin d'empocher dynamiquement cette entrée d'envoyer des signaux dans la ligne d'entrées-sorties en réponse à une défaillance dans une partie quelconque de l'organe de commande. 139.- Système d'entrées-sorties pour un système de traitement par processeurs du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties-; caractérisé par le fait qu'il comporte un organe de commande pour commander la transmission des données entre le module de processeur et un appareil périphérique; une entrée dans l'organe de commande; une ligne d'entrées-sorties connectant le canal d'entréessorties du module de processeur à l'entrée de l'organe de commande; et un moyen de création et de contrôle de parité pour commencer à contrôler la parité avant que les données ne soient dirigées dans un registre de l'entrée et pour continuer le contrôle de parité pendant un certain temps après que les données ont été placées dans le registre, de sorte que la parité est contrôlée pendant une ouverture et non pas simplement sur un bord afin d'assurer que les lignes acheminant les données ne sont pas en cours de changement pendant que les données sont acceptées dans le registre. 140.- Système d'entrées-sorties pour un système de traitement par processeurs du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties; caractérisé par le fait qu'il comporte plusieurs organes de commande pour commander la transmission des données entre le module de processeur et les appareils périphériques; une entrée dans chaque organe de commande; une ligne d'entrées-sorties connectant le canal d'entrées-sorties du module de processeur à l'entrée de chaque organe de commande; et un moyen de priorité pour sélectionner conformément à un plan de priorité prédéterminé, un organe de commande particulier à partir de plusieurs signaux de demande d'appareils qui. peuvent se produire de façon asynchrone, ce moyen de priorité comprenant une connexion de balayage en étoile entre le moyen d'entrées-sorties et les organes de commande utilisant une ligne de données multibinaires un moyen de ligne de rangement qui divise les organes de commande en 181 1?4773 9 t plusieurs groupes auxquels est affectée une priorité relative entre eux, une priorité étant également affectée aux organes de commande au sein de chaque groupe; un registre séparateur de priorité pour déterminer l'organe de commande qui a la priorité la plus élevée au sein de chaque groupe et un moyen de sélection pour connecter au moyen de canal d'entrées-sorties l'organe de commande le plus hautement prioritaire qui fait une demande de reconnexion. 141.- Système de verrouillage d'alimentation électrique pour un système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires, et dans lequel le système de verrouillage d'alimentation est conçu pour maintenir des modules logiques connectés à une ligne commune dans un état connu alors que les niveaux d'alimentation ne se trouvent pas dans les limites spécifiées, caractérisé en ce qu'il comprend plusieurs modules logiques; une ligne commune connectée à chacun des modules un moyen d'alimentation électrique pour alimenter les modules logiques un moyen de détecter le niveau d'alimentation dans chaque module afin de détecter que l'alimentation fournie à ce module par le moyen d'ali- mentation électrique n'est pas dans les limites spécifiées; chacun de ces modules logiques comprenant une logique à trois états, dont un état est l'état zéro ou non actif et dont les autres états contiennent l'in- formation; et en ce que le moyen de détecter les niveaux d'alimentation agit en liaison avec la logique à trois états, dans son état non actif, dans deux cas, c'est-à-dire pendant un passage des niveaux d'alimentation de valeurs comprises dans les limites spécifiées à des valeurs situées hors de ces limites spécifiées et à n'importe quel moment o les niveaux d'alimentation sont en dehors des limites spécifiées. 142.- Système de verrouillage suivant la revendication 141, caractérisé en ce que la logique à trois états est connectée directement à la ligne commune, de sorte que celle-ci reste active lorsque l'alimen- tation d'un module logique quelconque est coupée. 143.- Système de traitement par multiprocesseurs du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoires et dans lequel des modules de processeurs séparés sont interconnectés pour assurer un traitement en simultanéité, caractérisé en ce qu'il comprend plusieurs modules deprocesseurs comprenant une ligne entre processeurs pour des transmissions directes entre les modules de processeurs, séparées et distinctes d'un système d'entrées-sorties et d'un système de mémoire; chaque module de processeur comportant une unité centrale et un moyen de commande entre 182 2473197 tt3uilit:wuufiS processeurs pour connecter le module de processeur à la ligne entre processeurs en vue d'une transmission avec un autre module de processeur un moyen de contrôleur de ligne opérationnellement associé avec la ligne entre processeurs et avec chaque moyen de commande entre processeurs pour déterminer la priorité des transmissions de données entre deux modules quelconques de processeurs par la ligne entre processeurs et pour régler les transmissions dans la ligne entre processeurs; chaque module de processeur comprenant un moyen de canal d'entrées-sorties pour connecter le module de processeur à un ou plusieurs organes de commande; plusieurs appareils périphériques; plusieurs organes de commande pour commander la transmission des données entre le module de processeur et les appareils périphériques; plusieurs entrées dans chaque organe de commande; plusieurs lignes d'entrées- sorties connectant chaque organe de commande pour le rendre accessible à plusieurs modules différents de processeurs; et dans lequel chaque traitement en cours d'exécution dans un module de processeur peut accéder à une ressource d'entrées- sorties dans le système, que cette ressource d'entrées-sorties soit ou non commandée par ou connectée au module de processeur dans lequel le procédé est en cours d'exécution, le traitement adressant des demandes, par la ligne entre processeurs, au module de processeur qui commande la ressource d'entrées-sorties. 144.- Système de traitement par multiprocesseurs suivant la revendication 143, caractérisé en ce qu'il comprend une deuxième ligne entre processeurs et en ce que tout traitement peut atteindre n'importe quelle autre ressource du système aussi longtemps que ce traitement comporte au moins un circuit vers cette ressource, quel que soit l'état de ce circuit vu par un autre traitement. 145.- Système de traitement par multiprocesseurs suivant la revendication 143 ou 144, caractérisé en ce qu'il comprend un moyen d'alimentation électrique répartie pour assurer le fonctionnement ininterrompu du reste du système de traitement par multiprocesseurs en cas de défaillance d'une seule alimentation électrique d'une partie du système de traitement par multiprocesseurs, ce moyen d'alimentation électrique répartie comprenant une alimentation électrique séparée pour chaque module de processeur et un moyen de connecter plusieurs des alimentations électriques séparées à chaque organe de commande et capable d'alimenter chaque organe-de commande à partir des autres alimentations électriques séparées, en cas de défaillance de l'une des alimentations électriques connectées à un quelconque organe de commande, de ce fait l'alimentation électrique opérationnellement associée à un 183 2473197 module de processeur peut être coupée progressivement pour permettre un entretien en direct, à l'état hors tension, de ce module de processeur tandis que le reste du système de traitement par multiprocesseurs reste sous tension et en fonctionnement. i1