FR 2485228 A1 19811224 FR 8116835 A 19810904 RÉPUBLIQUE FRAN AISE INSTITUT NATIONAL DE LA PROPRIETÉ INDUSTRIELLE PARIS NI de publication: (A n'utiliser que pour les commandes de reproduction). 2 485 228 A1 DEMANDE DE BREVET D'INVENTION No 81 16835 ( Système à mémoire pour module de processeurs. @ @@@l @ @ Classification internationale (Int Cl.). G 06 F 9/06, 9/46. Date de dépôt........................ 4 septembre 1981. Priorité revendiquée: EUA, 7 septembre 1976, n 721.043. Date de la mise à la disposition du public de la demande............ B.O.P.I. -" Listes " n 52 du 24-12-1981. Déposant: Société dite: TANDEM COMPUTERS, INCORPORATED, résidant aux EUA. (2) Invention de: Titulaire: Idem ( 8 Mandataire: Bureau D. A. Casalonga, office Josse et Petit, 8, av. Percier, 75008 Paris. D Vente des fascicules à l'IMPRIMERIE NATIONALE, 27, rue de la Convention - 75732 PARIS CEDEX 15 3' demande divisionnaire bénéficiant de la date de dépôt du 6 septembre 1977 de la demande de brevet initiale n 77 27011 (art. 14 de la loi du 2 janvier 1968 modifiée). ? La présente invention se rapporte à un système de traite- ment par multiprocesseurs dans lequel des modules de proces- seurs interconnectés assurent unjmultitraitement (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 fichierb 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 cr6dits 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. l'e 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- ter l'exploitation du système. Le système doit fournir un cal- cul qui tient oompte des erreurs. Dans le cas d'un calcul qui tient compte des erreurs, toutesiles 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 pn 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 co=une. 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 commupe 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 iii- 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- - te-rmé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- que s. 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. Les 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- se. 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. À 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. 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 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ème. 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-sorties. 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 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- nication 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 dé 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- seurs. Chaque commande entre processeurs comprend également des mémoires-tampons à accès rapide (mémoires-tàmpons 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 processeurs. 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 8 2485228 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 piocesseur 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 dé 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 sbnt 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 modulé du processeur émetteur la 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 -2485228 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-sor-;-es 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. il - 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 tem4s 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'inpor- 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émoirestampons sont disposées dans les organes "5 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 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 produre 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émbire-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 so:ete 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 de donné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-adresselest 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. la défaillance d'une clé de table dans un module de pro- cesseur n'affecte pas l'autre module de processeur car ce der- 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 Qommande 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 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émeo 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'dex- 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 topograimme 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. 1 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 topogranmme 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émoiïe 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 auxiliaires 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 topogramwe 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 à semiu 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 contrôle, 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 controle est une combinaison linéaire de huit bits d'information et dans lequel chaque bit d'information est un composant d'exactement trois bits de contrôle. * Le comparateur de bits de contrôle fournit six bits de syn- drome de sortie. L'entrée de chacun des bits de syndrome de sor- tie comprend huit bits d'information et un bit de contrôle. Le décodeur 4L 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 53 de processeurs 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 I 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 communes 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émoires 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; 2485228 - la figure 10 est un schéema 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 11 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 I; - 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- gure1; - 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 153 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 I; - 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 schema de fonctionnement d'une entrée 43 représentée à la figure 19. Cettle figure 20 représente princi- palement les circuits de données au sein d'une entrée 43 9 - 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émoirerampon 189 de données illustrée aux figures 22 et 19; 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 commanide 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 dcronogramme montrant le fonctionnement de la liaison à deux liEgnes entre le canal des entrées-sorties 109 et les entrées 35; - la figure 29 est un schema logique montrant la logique dans le cas général de la liaison représentée à la figure 280 La logi- que représentée à la figure 29 fait partie de la machine 143 de ligne T du canal 109 d'entrées-sorties représenté à la figure 13 - la figure 50 est un schéma de fonctionnement d'un système d'alimentation électrique. La figure 50 montre comment plusieurs 22 2485228 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 n 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 503 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 53, 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 56 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 deà 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érodes 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 37e La figure 40 donne également une liste d'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'Dun 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 53 de processeurs. Chaque module 33 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 processeurs0 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. j Lés 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 - axxocié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 à Il 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. 2485228 Le système de traitement par multiprocesseurs inclut un système.01 de répartition de l'alimentauion 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 connecte à deux sources 303 d'alimentation séparée par l'intermédiaire d'un commutateur automatique 311. Si une source 305 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 à 1l 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 57. 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 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 teçision; 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. Le système de mémoire comprend un topograemme 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 410 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. 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èmé 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 379 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-dessus9 il faut noter les significations suivantes de la terminologie uti- lisée dans la présente demande de brevet0 Le terne "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. lie 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- liaire0 Le système d'exploitation gère égalementle système de messages, ce qui facilite la transmission des informations par la ligne entre processeurs, Ia disposition du système d'exploitation est compatible 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 liutilisateur peut faire une demande' (en utilisant le système de message) au procédé associé à cet organe de commande 41; ensuiteq 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éeso Lorsque la demande sera terminée, toutes les valeurs demandées seront renvoyées au traitement demandeuro Lorsqu'un message doit être envoyé entre des traitements dans deux modules différents 33 de processeurs, on utilise les lignes 55 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 53 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 supplementaires 33 de processeurs ou d'organes supplé- mentaires de commande 41 au système de traitement par multipro- cesseurs. En outre, le tfait que l'utilisateurs 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 é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 41. 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'intermé- diaire de deux lignes 35 entre processeurs, une ligne X 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 33 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é- moire-ta.mpon en file d'attente de la com-ande 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, rmê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 decomposant 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 inventions 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ôleo La logique de commande implantée dans le contrôleur 57 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 32 2485228 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 structu e 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 professeurs 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 75 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. D'organe 67 en dehors de la file d'attente comprend égale- ont 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 processeurso 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 compteu: é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 57. 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. Ia 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, SYNCHRiONIS TION, EMISSION et XECUToE, comme l'illustrent les légendes. Continuant la description de la notation de la figure 7, on notera que les lignes en traits çleins terminées par des flèches indiquent des passages de l'état actuel à l 'état suivant. Les flèches en traits interrompus se tenninant aux flèches en traits pleins indiquent les conditions qui doivent être satisfai- tes pour 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 REMPLISSAGE sera reu- placé par l'état COMPLET. De même, on doit noter que l'état d'ENISSION de la partie logique 75 ne prendra pas fin avec la condition d'instruction de sélection et d'émission aussi longtemps que le compteur 77 hors de la file d'attente n'aura pas atteint le compte de 15; à ce moment-là, l'état d'EMISSION sera remplacé par l'état- EXECUTE. L'astéisque 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, BAIAYAGE, 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 astérisque placé sur uxeligne 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 traiis 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 95 de la logique comprend quatre états, à savoir: SYNCGIRONISATI01, ACCEPTATION, RECEPTION et COMPLET. Le schéma d'état de la partie log:.que 101 comprend quatre états, à savoir: MISE A ZER0O PRET, i.YTERRUPTION et VIDAC-Eo La 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 indiquef 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 pro&uisent les changements d'état mentionnés aux figures 69 7 t1; 8. La séquence représentée à la ffi,-ure 9 effectue la trans- mission d'un groupe de bits, d'un molulè de processeur à un autre module de processeur à la f:'Cquence d'horloge de la li- gne (le module récepteur prévu étunt supposé prêt à recevoir le groupe de bitE. ILa figure 9, représente les s'.Iuences chronologiques d'une transmission de groupe de bits ef.'ctuée avec succès, les re- présentations des signaux individuals étant indiquées de haut en bas à la figure 9 et les péri(t'es de temps d'une horloge de ligne étant représentées chac:ie le de gauche à droite à la figure 9 dans l'ordre croissant X es tempso La 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 tdmps à la ligne supérieure se 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'EMISSDNZ(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 meprésenté à la figure 9, c'est-à-dire le signal de SEIECTION, 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 d'EMISSION, comme le montre le troisième état de la figure 7. Ce signal d'ACCEPTATION 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 533 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 jartie 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 50 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'ACCEPTATIOIT D'ENMISSION, il envoie également le numéro prévu de récepteur dans la ligne pour que le régulateur 57 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 SEIECTION est validée et que le signal de COMMANDE DE RECEPTION n'est pas validé. Pendant le temps que le signal de COMADME 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 recepteur sélectionné. La ligne du signal suivant, c'est-à-dire la ligne d'ACCEP- TATION DE RECEPTION à 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 Iigne du contrôleur 37 de ligne, par l'une des lignes 59 de protocoles afin d'indiquer que le mnodule récepteur sélectionné se trouve à l'&bat d'ACCEPTATION, 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'ACCEPTATION DE RECEPTION n'est pas validé par 3 le module récepteur, la SELECTIONI de l'émetteur, la O0MADE 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'ACCEPTATION DE RECEPTION est validé, la sé- quence indiquée par la ligne de O0OANDE Dl'EMISSION se produira alors* Ia ligne de COMM0ADE D'EHISSION représente un signal qui esi é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- cole. En combinaison avec un signal de SELECTION du module du processeur émetteur, le signal de COMMANDE 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-à-dire la ligne 16 de données, représente l'infonmation 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 COMMNDE DE RECEPTION. Si le signal d'ACCEPTATION DE RECEPTION n'avait pas été regu par le contrôleur de ligne, le signal de COMML1DE 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 bLstables 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 = I B = O. L'état COMPIET 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 EXECUTION. 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 VIDE 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 l'é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 REMPLISSAGE. 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 faits interrompus entrant dans le scheéma de la figure 7, pour chaque mot à 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. Lorsque le signal de mémorisation hors de la file d'attente sera produit pour la seizième fois, un passage de l'état de REMH- PLISSAGE à l'état COMPLETe illustré par une flèche en traits pleins à la figure 7, est permise L'état COMPLET de la logique de l'é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 COMPIET de la logique 73 et des- cendant vers la logique 75 à la figure 7o La logique 75 de l'état de remplissage du processeur res- 2485228 tera à l'état C0IiPLET jusqu'à ce que la logique 75 de l'état de vide de la ligne ait atteint ensuite l'état EXECUTE. 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érencé 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 SYNCHRONISA- TION soit permis, comme le montre la flèche en traits interrom- pus venant de l'état C0JIPET de la logique 73 de l'état de rem- plissage du processeur. La 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 DEMIANDE 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 schema 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 COMM0NTE 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 SELECTION du module de processeur émetteur et valide également le signal de COOMMNDE D'EMISSION envoyé au module de processeur émetteur. Ce signal de SELECTION et ce signal de COiMANDE DE SEIEC- 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 SELECTION 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 41 2485228 zéro. A la seizième période d'horloge de la SEECOTION et de la COIIIANDE D'EMISSION, le passage de l'état d'EMISSION à l'état XIECUTE est synchronisé comme le mbntre la flèche en traits in- terrompus permettant ce passage. Iorsque la logique 75 de l'état de vide a atteint l'état EXECUTPE, un passage de la logique 73 de l'état de remplissage du processeur, de l'état COIPIET à l'état d'ATTENTE, est syn- chronisé, comme le montre la flèche en traits interrompus par- tant de l'état "exécuté". Ensuite,l 'état d'ATTElNE 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 25. de vide de la ligne ont été ramenées à zéroo ILa 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 11e 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 c6té 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 4à 2 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 SYNCERONISATION, la variable d'état O doit être mise à 1. L'équation logique pour l'entrée J de la variable d'état O est représentée à la figure 11 et elle est repérée par la ré- férence 13. Dans cette équation, le blocage (représenté par la flèche en traits interrompus venant de l'état "complet-" de la logique 75 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 fD 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 SYNCERONISATION, comme on l'a décrit en détail ci-dessus. les figures 10 et Il 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 paf un module de processeur par l'intermié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 'EMISSION. Dans l'instruction d'EMISSION, 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 bits, 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'EMISSION 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 logiciel. 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. Ia- 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 RECEPTION 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 donns 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 delré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 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 ei.tre 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'entree 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 MAQUE 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 LIG1NE) 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 MICROITERRUPTION 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écBption d'un groupe de bits, la microinterruption et le traitement sui- vent du groupe de bits dans la mémoire seront différés jusqu'à ce que le bit de ?ASQUE soit amené par une instruction du lo- giciel. Les opérations du logiciel, pelles 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 95 de l'état de remplissage de ligne sera à l'état COMPLET et donc dans l'incapacité de valid r le signal d'ACCFP- TATION DE RECEPTI0ON en réponse au signal de SELECTION. 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). Iorsqu'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 RINT (INTERRUPTION DE RECEPTION) au moyen d'une instruction de programme RIR (DEMANDE D'INTERRUPTION DE RECEPTION), afin de revalider la partie 65 en file d'attente. Jusqu'à ce que cela ' se produise, la logique 93 de l'état de remplissage de ligne en file d'attente reste à l'état CONPTET et aucun groupe supplé- mentaire de bits ne sera reçu. Le 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 5.é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- io 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'BEIMISSION est une instruction qui exige quatre mots paramètres dans la pile du registre de l'unité cen- trale. Le 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 descnné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 dVEMISSION. 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 restants n'ont pas été transmis, l'instruction ayant pris fin à ce moment-là. Dans ce cas, les groupes de bits restants du bloc ne sont pas transmis. lia 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 dVEMISSION, 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. La première action de la séquence d'instruction d'ENIS- SION est d'envoyer un signal de RECEPTION EN MEMOIRE à 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 M 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 RECEPTION EN HEIOIEE 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écise 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éeso 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 COMPLET, 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 0 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 79 et le microprogramme met ensuite fin à l'instruction dIEMISSI0ON avec l'indication du dépassement du temps imparti. En fonctionnement normal, l'état CO0ILET de la logique 73 de l'6tat 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 SYNCHRONISATION 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 3? 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 SEIEC- TION DE L'ENETTEUR, fait passer de l'état d'EMISSION à l'état EXECUTE la logique 75 de l'état de vide de la ligne. L'état EXECUTE synchronise l'état COMPIET de la logique 73 de l'état de remplissage du processeur (comme le montre la flè- che en traits interrompus joignant l'état EXIECUTE à la flèche marquant à la figure 7 le passage de l'état COMPLET afin de passer à l'état d'ATTENTE. Ensuite, l'état d'ATTENTE synchronise l'état EXECUTE afin i passer à l'état EN RESERVE comme le montre le schéma d'état représenté à la figure 7. 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 -51 2485228 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. Ainsi, au moyen d'une seule instruction de programme (l'instruction d'EMISSION), un bloc de données comptant 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 au programme du logiciel). Lorsque le module de processeur récepteur reçoit le nombre 52 '2485228 attendu de mots d'un 6netteur donné, le programme en cours de déroulement est i.terrompu et cette transmission particulière par la ligne se termine. Ia figure 5 représente le schema 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 Y. 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 à l'état PRET. L'état PRET synchronise l'état de SYNCHRONISATION 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 SEIECTION, représenté à 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 COMMANDDE E RECEPTION synchronise l'état d'ACCEPTATION de la logique 93 de l'état de remplissage de ligne et le fait passer à l'état de RECEPTION. A ce passage d'un état à l'autre, le numéro du module de processeur émetteur est chargé dans le registre de l'é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 à 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 MICROINTERRUITION, comme le montre la figure 8. L'état de MICROINTERRUPTION présente lm état COMPLET EN FILE D'ATTENTE à la logique d'interruption de l'unité centrale. Ce signal COIFPJLET EN FILE D'ATTENTE produit une microinterruption à la fin de l'instruction suivante du program3e 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, rep:résenté à la figure 5e à 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 VIDAGEo Le signal de BLOCAGE sélectionne également la partie en fi- d'attente X on la partie en file d'attente Y- à condition, tom 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éer 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'INTERRUPTION DE RECEPTION qui fait passer la logique 101 de l1'ét de vide du processeur de l'état de VIDAGE a l'état de MISE A ZERO, conmme le montre la figure 8. Dans ce cas, il n'y a pas d'autre action. La microinterruption prend fin et le traitement &e l'instruction du programme est reprise Si le comptage est positif, le microprogramme 115 extrait des mots de la mémoire-tampon 97 en file d'attente pourc les lan- cer dans la ligne K par l' intermédiaire du signal K EN FILE d'ATTENTE, 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 à rmesure que chaque mot de données est extrait de la mémoiretanzon 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émoire. Si le mot de comptage atteint zéro, aucun autre mot n'est 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 COIMPLET 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 DElANDE 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'INTERRUPTION DE RECEPTION à la logique de l'état de vide du processeur, comme le montre la figure 5, ce qui fait passer la logique 101 de l'état de vide du proces- seur, de l'état de VIDAGE à l'té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 95 de l'état de remplissage de la ligne et la fait pas- ser de l'état COMPILET à l'é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 go.upes 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- vent provenir d'un autre éImebteur. 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'interip- 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 O10 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 comptae ge a été amené à -256. En d'autres termes, le mot de comptage contiendra une valeur comprise entre -14 et zéroo 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éa ception de ligne de produire un signal d 'INTERRUPTION DE RECEP- TION, par l'intermédiaire d'une instruction de programme de DEIUADE D TINTERRUPTION 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é regu 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 tempE 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 moyen.de vérifier l'exactitude des données reçues par le circuit de communication du système de multipro- cesseurso 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 modile 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 bits de données est nécessaire car une ligne n'est jmiais 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 à Aecevoir 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 (et.de nouveau, le bloc doit être rejeté), le groupe de bits de fin de bloc fournit un moyen de reconnaître que les données ont été transmises et que la transmission de données est terminée* Ou bien l'information transmise est reproduite sur diffé- 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és0 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 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équendes. 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 panne 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 537 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 35 entre processeurs sont utilisées par le systè- me d'exploitation pour assurer que les autres modules de ploces- 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 étant en panne. 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 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 I indiqué comme étant l'Etat Initial, à l'état 2: Unité Centra- le 0 Coupée, puis à l'état 5: Unité Centrale 0 Remise en état, à l'état 4 Unité Centrale I Coupée et à l'état 5: Unité Cen- trale I Remise en état, conme 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 IlEtat 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 appe.l 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 55 entre pro- cesseurs peut tomber en panne ou être coupée9 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 PA 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 1o 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 1 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. Le 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 au 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 exploitables0 Pendant tout ce tempe, 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'interruption0 Une caractéristique importanie 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épare 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 umité 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 113. Un microprogramme 115 est associé à chaque microprocesseur 113. Le microprocesseur 113 exécute une partie du microprogramme 115 en exécutant les instructions d'entréessorties pour le système d'entrées-sorties0 Les instructions d'entrées-sorties sont indi- quées à la figure 12 par les sigles EIO (exécution des entrées- sorties), II0 (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 multiprdcesseurs, 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 35 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 15, la logique 125 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 151 de comptage des caractères, un registre '53 d'adresses des appareils actifs, un registre 135 séparateur de priorités et une logique 157 de contrôle et de création de pa- ritéo Le circuit 117 représenté à la figure 12 comprend deux li- gnes repérées à la figure:.15 sous l'appellation de ligne H 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 115. Comme le montre la figure 12, un circuit 139 connecte la logique 125 du circuit de données et le sous-système 107 de la mémoire. Ce circuit 159, 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 processeur. Les circuits logiques 139B et 139C seront décrits plus en 3" 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 I,transmet les données de la mémoire au registre 125 de données mises en mémoire par le canal Un deu-ièLme branchement 159A-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 i139A-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 15, et des lignes de DEILDE DE RECONNEXION 145, DEAiNDE D'INTERRUP- TION FAIBLEMENT PRIORITAIRE 147, DEIANDE D'INTERRUPTION FORTE- MENT PRIORITAIRE 149 et de DEMANDE DE RANGEIENT 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 13. La ligne de REFERENCE ou ligne T 153 se compose de quatre lignes qui ser- vent de lignes de fonctions et il y a trois lignés d'UTILISATION EN SORTIE 155, d'UTILISATION EN ENTREE 157 et d'ARRET EN ENTRES 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'ACHEM1IEMENT DES DONMTEES et une ligne 163 de PARITE. Les lignes FIN DE TRANSMISSION 165, REHPLISSAGE DE POSI- TIONS INUJTILISEES 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 163 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. l Chaque instruction dans la ligne T, illustrée à la figure 18, exige un format particulier dans la ligne 161 acheinirTat 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 O à 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- 20. ture) dans la ligne T, les bits 0, 1, 2 et 3 dans la ligne ache- minant les données indiquent respectivement une erreur 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 cidessous 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 13, a pour fonction de commander la ligne T et la liaison. La figure 28 est un chronogramme montrant le fonctionnement 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 Le cycle d'horloge du canal est représenté orienté verti- calemrent avec les signaux d'utilisation "en sortie" SVO et d'utilisation "en entrée" SVI. Comme le montre la figure 28f, 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" SV0, le canal 109 valide la fonction dans la ligne a 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 281A, 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. Iors 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- 40.nées à la partie de commande de l'organe 187 de commande à la 67 2485228 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 17o 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; IPOL: 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 355 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 2485228 indiqué aux figures 15, 16 et 17 par la liaison 1L. 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 pàs 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" SV0 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" SVO, il déclenche un rythmeur qui fait partie de la machine 145 dans la ligne T de la figure 13. Ce rythmeur dépasse le temps imparti et inscrit une erreur si le cycle suivant de liaison n'est pas déclenché et terminé dans le temps réglé par le rythmeur. Si le rythmeur dé- passe le temps imparti, une erreur est enregistrée au point approprié de la séquence et une instruction de suspension d'exé- cution ABTI (séquence EI0 Exécution des entrées-sorties, II0 Interrogations des entrées-sorties, et HII0 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 145 dans la ligne T représen- tée à la figure 13 La logique représentée à la figure 29 est la logique qui est opérante dans le cas de la condition générale de liaison mentionnée ci-dessus. La logique représentée à la figure 29 inclut une bascule bistable 287 d'utilisation "en sortie" et une bascule bistable 289 de synchronisation d'utilisation "en entrée". Comme le mon- treht 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 2485228 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 dé la bascutle 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- mande0e Lorsque la logique combinatoire 291 de l'organe de commande est prête, elle permet au transmetteur 295 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 connexionlogique 183e à 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 2485228 de conmmande et, en dernier lieu, à un appareil particulier par l'intermédiaire de l'organe 41 de commande. -'-entrée 43 est l'entité qui communique avec le module de proiesseur et avee Ia partie de commande de l'organe 187 de l'organe de emmnanU ditionnelle dans l'état de la bascule de possession..B). - Ce qui revient à dire que l'entrée établit elli-meme Xa connexion avec un module de processeur, en fonction ies $nst=- tions regues du canal 109 d'entrées-sorties crme onle on r3 plus en détail ci-dessous, en mettant à I son bit de sJlet5a 173. Chacune des entrées individuelles 45 d'lun 4oe -d 1 e commande peut être connectée de manière indépenidante un Mnomle 33 de processeur alors qu'en même temps l'autr-e ent ies te organe de commande est connectée à un module diTent$.en- dant, la bascule de possession 185 établit la e nnn g4igne entre la partie de commande de l'organe de commande et 1 ln des deux entrées 43, de telle sorte que l'une;sleant e ces entrées régit l'organe de commande à un moment mque:onque. La logique de décodage détermine la fúnmttn gni est trans- mise par la ligne T 153 à n'importe quel mommet rtliculier.. La logique de commande combine les fon=inm dtmi mi.as par la ligne T afin d'exécuter des fonctions parl3i:Ees 'd,tara e telles que, par exemple, la mise à 1 du bit Ese za.ezic:Sa remise à zéro du bit de sélection, la lectur" -e UI ta.d'inlmr- ruption - - Le fonctionnement de la logique de commane est 32mh stz par les équations logiques mentionnées à la figure 27. Lorsqu'une séquence de connexions, qui sea- & ariT i- après avec référence aux figures 15, 16 et r:?, ?et t:rxmsmise par 3o la logique 39 d'entrées-sorties, l'une des entrées e43 {Bt sem2-ement l'unique entrée 43 d'un organe 41 de commande -omni'te.a cette ligne 39 d'entrées-sorties) est connectée au sens zE-i tàe a la ligne 39 par la mise à 1 de son bit de sélection 153. Cette connexion logique est déterminée par une ra tie es données transmises au cours de cette séquenc- de dermexin.ns- Lorsqu'elle est connectée, cette entrée parti-ul'Tre -43 répond ensuite aux signaux de protocole en transmettant l'information entre le canal et la partie de commande de l'organe de commande. Le comparateur 193 i'adresses de l'appareil est la partie de l'entrée 43 qui détermine l'adresse unique de l'entrée. 71 2485228 Le comparateur 193 d'adresses de l'appareil détermine l'a- dresse unique d'une entrée particulière 45 en comparant la zone d'adresse de l'appareil dans la ligne 161 acheminant les don- nées pendant une fonction LAC (Adbesse 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 45. 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 COIIIPARAISON D'ADRESSES, voir figure 27, est créé et le bit de sélection 175 de cette entrée est mis à I (en supposant que les autres états énumérés à la figure 27 permetten 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); PAROKFF: Bascule bistable de parité correcte; SEL: Sélection; 0N: 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 157 de contrôle de la figure 13 par le fait que, à la sortie, la logique 157 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 45, et cette parité doit correspondre sinon l'opération sera suspendue par le canal 109 d'entrées-sorties du module 3355 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 avé une fonction de sortie transmise par la ligne T, et la parité est contrôlée pendant la durée de l'UTILISATION EI SORTIE pour assurer que les données transmises par la ligne D sont stables pendant la durée de l'UTILISATION EN SORTIE, tqndis que l'en- trée introduit les données dans le registre 215 de données. Ce contrôle de parité est effectué à chaque opération d'une séquence de ligne T et, 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 ENTREES-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 T. Si une erreur de parité survient à un autre moment que pendant une séquence d'EXECUTION DES ENTREES-SORTIES, l'erreur de parité est rapportée pendant la fonction transmise par la ligne T de l'ETAT D'INTERRUPTION DE LECTURE d'une manière 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 s6- - quence d'EXECUTION DES ENTRRES-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 1'ETAT D' ITERRUPTION 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 59 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 45 de lan- cer des signaux dans la ligne 39 d'entrées-sorties. La bascule 175 de validation est remise à zéro par une instruction particulière d'invalidation. Il s'agit d'une 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. Uïie fois mise à zéro, la bascule 175 de validation ne peut être remise à I par le programme. L'entrée 43 comprend un multiplexeur d'état 195. Ce dernier renvoie l'erreur de possession mentionnée ci-dessus si l'organe 41 de commande est logiquement connecté à l'autre entrée 43 de 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. Leentrée 45 inclut un émetteur-récepteur 197 d'interface pour chaque ligne d'entrées (c'est-à-dire pour l'UTILISATION ENT ENTREE, l'ARRET EN ENTREE, la ligne acheminant les données, la parité, le RE1MPLISSAGE DE POSITION INUTILISEES EN ENTREE, la RECONNTEXION EN.ENTREE, la DEIMANDE D'INTERRUPTION FAIBLEMFNT PRIO- RITAIRE et la DEMANDE D'INTERRUPTION FORTEENT PRIORITAIRE) de la ligne 59 d'entrées-sorties représentée à la figure 14. Les émetteurs-recepteurs 197 transmettent les donnees de l'entrée 43 au canal 109 d'entrées- sorties lorsque le bit 173 de sélection d'entrée est mis à/laeionction transmise par la ligne T 153 exige que 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èriment 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écepte:r 198 et un émetteur 2000 L'émetteur est ralidé par une ligne 202 de validation. Plusieurs mots sont présents dans la ligne de validation 202. Ils comprennejt; le bit de sélection 173, une fonction 7/3 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 cilouit 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é. 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 2485228 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 deqsous 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é. 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'é- tat. 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 py édéterminées de fonctionnement de l'organe 41 de commande. 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é 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 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 t concernant l'organe 41 de commande, comme le montre la figure 25, le transistor 214 de sortie principale commande les étages de 3o 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 45 de l'organe 41 de commande. Enfin, le circuit 182 de mise sous tension comprend une commande d'hystérésis 230. Cette dernière inclut des résistances 232 *et 234 et un transistor 236. En fonctionnement, et en supposant qu'on réalise le fonc- 7?6 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 àa 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 188e A ce moment-là, l'amplis 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 acceptableso 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 250 de commande d'hystérésis était sous tension. Lorsque le transistor 256 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 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 circ.it de mise sous tension restera stable dans cet état, le transiàtor 214 de commande de sortie principale étant mis sous tension et les étages de commande de sortie 216 à 228 étant mis ho-S tension, jusqu'à.ce que la tension de +5V chute en dessous d'in niveau de seuil inférieur déterminé par 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éfaillande, 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 43 comprend plusieurs lignes qui sont repé- rées d'une manière générale par la référence 179 aux figures 19 et 20. Ce groupe de lignes 179 comprend les lignesindi-v;iduel- 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- ure 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 45 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- - 25 - 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 LAC 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'interface 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 7?9 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 IOC. En conséquence, le canal 109 d'entrées-sorties émettant l'instruction de prise de possession régit l'organe 41 de com- manlde 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 revue 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 215o 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 45, 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 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 25e Ensuite, après que la mémoir.e-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 reconnexiono Ceci s'ap- pelle la profondeur d'att3nte0 La profondeur de la mémoire dési- gnée par la lettre D à la figure 25, 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 82 2485228 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 conlmande 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- ritaireo La mémoire-tampon 189 d'un organe de commande est cons- tituée de manière à bénéficier du fait que, lossque 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-sorties. ILa 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 25, le temps a été porté en abscisse et les mots de la mémoire-tampon en ordonnée dans le cas d'une ope- 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 225, 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 253. 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êmo 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 -RD7 de sorte que le débit total d'entrée dans la mémoiretampon 189 est indiqué par la droite de pente 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 -RC. La notation tr à la figure 23 indique le temps nécessaire au balayage et à la sélection de cet organe de commande et à la transmission du premier mot. Ce point sera discuté à nouveau ci-dessous en rapport avec la figure 16. * 25 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 canal. Le temps maximal admissible pour la transmission d'une tranche est choisi de manière à réduire au minimum la profondeur requise de la mé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é. 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 un -tampon d'entrée 231, une mé.nmoire-tampon 233, un tampon de sortie 235, lm indicateur d'entrée 237, un indicateur de sortie 239, un multiplexeur 241, une logique 243 de commande du tampon décr.ite plus en détail à la figure 26, un multiplexeur 245 conn- necté à la logique 243 de commande du tampon et un compteur 247 de contraintes. Comme le montre également la figure 22, deux groupes de lignes d'entrée des données, les lignes 217 et 249, alimentent le tampon d'entrée 231. Un groupe de lignes d'entrée des données comprend seize lignes 249 d'entrée des données dans l'appareil. L'autre groupe de lignes d'entrée comprend seize lignes 217 constituant la connexion cozmmine 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 251 à la mémoire-tampon 235 par un groupe de lignes 251. Ces dernières sont au-nombre de seize.o Les données sont extraites de la mémoire-tampon 233 et elles sont introduites dans le tampon de sortie 255 par un groupe de lignes 255. 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 55 représentés à la figure 1, par un groupede seize lignes 255, comme l'indiquent les légendes de ba figure 22. Les indicateurs d'entrée 237 et de sortie 239 fonctionnent avec le multiplexeur 241 de la manière suivante: Lorsque les données sont transmises du tampon d'entrée 231 à la mémoire-tampon 233, l'indicateur d'entrée 237 est connecté à à la mémoire-tampon 233 par l'intermédiaire du multiplexeur 241 afin de déterminer l'emplacement dans lequel le mot est enre- gistré. Lorsque les dbnné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, 2485228 représentée aux figures 22 et 26, est de garder la trace de la contrainte appliquée à la mémoire-tampon 189o A ce sujet, le de- gré de remplissage ou de vidage de la mémoire-tampon, combiné au sens de la transmission par rappori au module de processeur (en- trée oui 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 lignes accéderaient aux indicateurs 237 et 259 et le compteur de contrainte mesurerait toujours un accroissement de contraintee 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- ces à la mémoire-tampon 189. Le multiplexeur 245 sélectionne l'une de ces lignes comme demande d'augmentation du remplissage de la mémoire-tampon et 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 245 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 I' dételrnine le sens de la transmission (entrée ou sortie) par rap- port à la mémoire-tampon 253 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 237 ou l'indicateur de sortie 239 par l'intermédiaire du multiplexeur 241. Ensuite, lors d'une demande de sortie, la logique 243 de commande de la mémoire-tampon valide la ligne 263 qui accomplit trois actions: A) Elle transmet le mot du tampon d'entrée 231 dans la mémoire-tampon 233 à l'emplacement déterminé par l'indicateur d'entrée 237 et par le multiplexeur 241. B) Elle fait progresser le compteur de contrainte 247 C) La logique 243 de commande de la mémoire-tampon fait progresser l'indicateur d'entrée 237. Enfin, lors d'une transmission de sortie, la logique 243 de commande de la mémoire-tampon valide la ligne 265 qui effec- tue les trois opérations suivantes: A) La logique 243 de commande de la mémoire-tampon enre- gistre dans le tampon de sortie 235 le mot extrait de la mémoi- re-tampon 233, tel qu'il est déterminé par l'indicateur de sor- tie 239 et le multiplexeur 241. B) La logique 243 de commande de la mémoire-tampon fait régresser le compteur de contrainte 247. C) La logique 243 de commande de la mémoire-tampon fait progresser l'indicateur de sortie 239. 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 ]es 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 qui correspondent aux légendes de la figure 23, pour envoyer des demandes de reconnexion et des demandes de déconnexion dans les lignes respectives 145 et 159, représentées aux figures 12 et 14. Le signal STI d'ARRET EN ENTREE transmis par la ligne 159 représentée aux figures 12 et 14, pst 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 RECOiEXION 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 ENTREE est validé lorsque la mémoire-tampon 189 atteint un état de contrainte minimale (rempli àa la sortie et vide à l'entrée)o Le signal d'ARRET EN ENTREE indique au canal 109 que l'organe 41 de commande désire mettre fin à la transmission de tranches de données. lorsque la mémoire-tampon dépasse son seuil, elle valide le signal RCI de REC0NNEXION EN ENTREE 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 267B, 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 2Z45B 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 $7 denande O 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é. 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 265 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'lECUTION DES ENTREES-SORTIES pour déclencher la transmission. L'instruction d'EXCUTION DES ENTREES-SORTTES sélectionne l'organe particulier de commande et l'appareil et indique l'opé- ration à effectuer. L'organe 4-1 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. ILa 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 données de l'appareil 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' INTEPRROGATION tES ENTREES-SORTIES ou une séquen'e d'INTERROGATION HAUTEMENT PRIORITAIRE DES ENTICES- 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 HAUTEIENT PRIORITAIRE DES ENTREES-SORTIES est analogue à la séquence d'IITERROGATION 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- e SORTIES est définie par les changements d'état de la ligne T, représentés à la figure 15. De 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'implantation., LPP.I (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. 0 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 113, représenté à la figure 12, de l'unité centrale 105. Ce déclenchement par l'unité centrale est-représenté à la figure 15 comme étaht 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. L9 Dans l'état ou fonction d'adresse et instruction d'implan- tation LAC, lu 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 IPIRi "PAR AIETRE D'IIlPLANlTrA'iI0N". Dans l'dat de PARAYlETJRE D'IBLMTUATIOlN, 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 4.1 de commande sélectionné pendant 1 'état précédent d'ADRESSE ET INSTRUCTION D'!IPIANTPATION. 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 dé 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 PARIETRE D'IIPLANTATION et de l'APPAREIL DE IECTURE, 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 o mot d'état. Si une erreur s'est produite, la machine 143 dans la ligne T, représentée à la figure 13, passe de l'état de 1 'APPAREIL DE LECTURE à l'état d'INSTRUCTION DE SUSPENSION d'EXE- CUTION. L'état d'INSTRUCTION DE SUSPENSION D'EXECUTION donne comme instruction à l'organe 41 de commande de ne pas tenir compte de l'informmation d'ADRESSE ET d'INSTRUCTION D'IIPLANTATION et de PARA4ETRE D'IIIPLANTATION qui lui a été transmise par le canal 109 d'entrées-sorties et ensuite la ligne T (canal) revient à l'état d' IACTIVITE (état mort). Si, après l'état de l'APPAREIL DE LECTURE, aucune erreur n'a 9o 1 91/ 2485228 été détectée comme le mointrela flèche 114 en traits interroepus dans le branchement supérieur de la figure 15, la ligne T passe à l'état de DESELECTION. La ligne T se trouva-nt à l'état de DESEILECTION, 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'IMLAANTATION) 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 façon asynchrone. Par exemple, un signal de reconnexion peut être créé après une séquence d'EXECUTION DES ENTREES-SORTIES afin de demander que le canal transmette les données à l'organe de commande. Ou bien l'organe 41 de commande peut valider une ligne de demande d'interruption à un certain nombre de condic- tions différentes, par exemple pour signaler l'achèvement d'ulne séquence d'EXECUTION DES ENTREES-SORTTES ou pour rendre compte d'lun état inhabituel dans un appareil périphériqueo Les lignes dedemande d'appareil sont communes à toutes les entrées 45 de l'organe de commande connectées à une ligne par- ticulière 39 d'entrées-sorties. Le canal 109 répond alux demandes de reconnexion faites par la ligne 145 de RECOR EXIOU "EN ENTREE", représentée à la figure 14, et l'unitécentrale 105 répond aux demandes faites par la ligne 147 de DEI:MDE D'INTERRUbTION FAIBLEItENT PRIORITAI- RE, représentée également à la figure 14, avec une séquence d'INT'ERROGATION DES ENTREES-SORTIES, et à une demande faite par la ligne 149 de DEIMANDE D'I2TERROGATION FORTEIfENT PRIORITAIRE avec une séquence d'IT'ERROGATION FORTEIEI'NT 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 z41 de commande le plus fortement prioritaire validant une demande. Ce qui revient à dire qu'il peuit y avoir plusieurs organes 41 de commande validant en même temps une demande faite au canal 109 et le canal sélectionera un organe particulier de commande suivant un système de pNiorité prédéterminé. Dans un exemple particulier de réalisation de la présente invention, jusqu'"à trente-deux organes 41 de commande peuvent dtre 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éses de seize bits. Une ligne supplémentaire 1>1 est itilisé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 fe 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. lie canal 109 met la ligne de la rangée à zéro et présente ensuite la fonction RPOL (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 LPOL (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'INEERROGATION DES ENTREES- SORTIES, ou une fonction EPOL (balayage hautement prioritaire) de la ligne T si l'unité centrale répond avec une séquence d'INTERROGATION HAUTEMENT PRIORITAIRE. Il s'agit là du seul point important de différence entre les représentations de la 0 figure 16 (réponse du canal) et de la figure 17(réponse de l'unité centrale) en ce qui concerne le balayage. Concernant particulièrement la figure 16 et la réponse du canal 109 à la validation de la ligne 145 de RECONNEXION EN ENTREE (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 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és, conformaé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 ligne 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:à "lun, représenté à la figure 19; ensuite, cette entrée répondra aux états suivants de la séquenceo 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éle égale à zéro, à 1' é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 IIO0 (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 248522S 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 là la figure 16. La 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 LAC (adresse et instruction d'implantation) dans la ligne T au cours d'une sé- quence &'FXOCUTION DES ENT1 S-SORTIES afin de déterminer une entrée particulière. Dans la séquence de reconnexion, 1'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 RAO (adresse et instruction de lecture) dans la ligne Tl de manière à accéder à une table définissant la zone de mémoize- 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)0 Pour effectuer cette détermination du sens de la trams- -25 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 IC0 pour chacun des huit appa- reils possibles de chacun dès trente-deux organes 41 de oom- andae possibles connectés à une ligne 39 d'ent;récssorties asso- ciée à un module paribiculier 53 de processeur, et chaque module 33 de processeur possède. sa proprq table de commande des entrées- sorties 100IC. Chaque élément de deux mots décrit l'emplacement de la m6- 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 transmission0 Les zones qui représentent l'état de la transmission com- prennent un bit P de protection et une zone d'erreur du canal CEH 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 IOC, à 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 temps. 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ée de l'organe dé commande & la mémoire, pbvoôqUant trnai la * I 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 de peut qu'indiquer une trans- mission en sortie 1 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 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 RAC représenté à la figure 16), le canal place la ligne T dans l'état dIENTPRgE 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 IO. 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 139G 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 213 de données d'interface. ILa vitesse élevée du canal d'rntrées-sorties est obtenue par une liaison avec la zone o le'mot dans le registre 127 de données d'entrées-sorties est relié à l'appareilstandis 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 canual. Comme le temps d'extbraction 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. La transmission de la tranche de temps peut se terminer de deux façons: elle peut se terminer normalement ou se termine *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 EOT dans la ligne 165 représentée à la figure 14, signifian. que la fin de la transmission est atteinte. Si le compte atteint un, le canal valide les signaux EOT, et PAD OUT (IEMPLISSAGE DE POSITIONS INUlTILISEES 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 PRD OIJUT (REIMPLISSAGE DE POSITION INUTILISEES 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 REMIPLISSAGE DE POSITIONS INUTILISEES EN ENTREE (PADI) dans la ligne 169 représentée à la figure '14, si le canal a validé le signal de POSITIONS INUTILISEES EN SORTIE (PADO). Dans le premier cas de fin normale de transmission le 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 tranbhe de temps en validant le signal d'AJRET EN ERNTREE (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ée. 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 ENTREE (STI); et, pour signifier que le dernier mot se termine par un multiplet impair, l'organe 41 de commande peut également valider un si- gnal de REMPLISSAGE DE POSITIONS INUTILISEES EN 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 I(,, comme on l'a mentionné ci-dessus. Deuxièmeme:-;, l'organe 41 de commande peut ne pas renvoyer un signal de REJPLISSAGE DE POSITIONS INUITILISEES EN ENTREE (PADI) en réponze à un signal de REMPLISSAGE DE POSITIONS INUTILISEES EN 0ORTIE (PADO) émanant du canal 109o Troisièmei >nt,le canal 109 peut détecter une erreur de pa- rité dans la l _ne D 161. Quatrièmeran$, 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 zémoire-tamnipon indiquée par les élémQnts de la table de commande des entrées-sorties IOC 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éeso Voir la description dans le système de mémoire concernant le contrôle de l'erreur de parité. Septièmement, le éystème de mémoire peut détecter une er- reur de parité incorrigible lorsque le canal 109 accède à la mS- moire. Voir la description du système de mémoire pour ce contrô- le d'erreur de paritéS 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 160 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 16. 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'unedes 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 IOC0 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 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 mune séquence telle qu'on l'a!décrite ci-dessus avec réf6- 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 ABTD. Ceci repré- sente unlme 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 FAIBLEMENT PRIORITAIRE DIRQ, -25 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 sèst 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 à zéro parce que l'alimentation était coupée ou avait baissé et qu'elle a été rem-se à l'état initial par le circuit de mise sous tension. En réponse a une interruption, le programme en cours d'ex6- 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 o 'est-à-dire une instruction envoyée dans la ligne 147 de demande d'interruption faiblement prioritaire LIRQ, :eprésentée à la figure 14. L'instruction d'interrogation hautement prioritaire des entrées-sorties HIIO0 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 '140 Le microprocesseur 115, 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 HIIO en commandant la logique 141 de commande du canal et la logique 123 du circuit de don- nées. la séquence d'exécution de ces instructions est illustrée à la figure 17; et, comme on l'a noté ci-dessus, la séquence oommence par une séquence de balayage. 2-5 - L'instruction d'interrogation des entrées-sorties HO0 inter- roge une séquence à l'aide du balayage d'interruption faible- ment prioritaire LPOL de la fonction dans la ligne T, tandis que l'instruction d'interrogation hautement prioritaire des entrées-sorties IIO0 interroge une séquence à l'aide du balaya- ge d'interruption hautement prioritaire 2POL 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 fJ'onction de sélection SEL dans la ligne T, comme le montre la fi[gare 17. L'organe aproprié 41 de commanide sélectionné est l'organe de commande qui ast le plus fortement prioritaire et qui fait une demande d'interruption. La séquence continue par une fonction RIC dans la ligne T provoquant l'in; erruption de lecture, comme le montre la figure 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 AB3TD 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 B, 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é NO0P comme l'indique la ligne en haut de la figura 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 sa- 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 ef ectué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- tionenment 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 n6mbre relativement élevé d'appareils avec la ligne particulière d'entréessortiesoDu 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. /p 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 'dégradé" 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ème. Ces caractéristiques de protection comprennent un mot séparé de comptage dans chaque table de commande des entrées- sorties 100 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 appareil. La 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. La présente invention utilise la contrainte pour permettre aux mémoirestampons de coopérer sans coimuniquer 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 c'accéder à un appareil. Chaque tranche de temps exige un minimum de servitude de la mémoire et permet au processeur d'utiliser la mémoire au maximum. Cette combinaison permet une utilisation maximale de la largeur de bande des entrées-sorties et une immobilisation 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érieur. 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 sysè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 direct9 et il four- nit une redondance d'énergie électrique à chaque organe de com- mande. A ce sujet, le terme "en direct" est utilisé dans un sens tel que lorsqu'une partie du réseau est 'en directes 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 tell e 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 Assureurs0 De même, dans le réseau de distribution électrique qui fait partie de la présente invention, chaque organe de commande 10.5 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 Ia 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 70)1 de distribution électrique, représenté à la figure 30, fu rnit un avantage supplémentaire qui réside dans dans le fait qu( chaque module 33 de processeur, ainsi que l'u- nité centrale 1C5 et la mémoire 107 qui lui sont associés possède une soure' d'alimentation séparée et indépendante qui est affectée à ce module de processeur. Grâce à cette disposi- tion, une panne ou ume 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]imitera 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 50, 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 à mnulticonducteurs représentés à la figure 53, 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 509 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 507 et la ligne de remplacement 509o Les commutateurs 5311 et 515 sont représentés plus en dsé- tail à la figure 51. Ia figure 52 représente des détails de construction d'é- léments d'une source d'alimentation 503o Comme le montre la figure 52, chaque source 505 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 517 de courant alternatif en courant continu dont la sortie fournit, dans une ligne 519, une source d'alimenta- tion interruptible IPS de cinq-oltso Cette source de courant interruptible de cinq volts alimente l'unité centrale 105, la mémoire 107 et l'organe 41 de commandes On se reportera égale- ment à la figure 33. Le redresseur 317 de courant alternatif en courant conti- nu fournit également, dans une deuxième ligne de sortie 521, une sortie en courant continu de isoixante volts qui est fournie à un convertisseur continu-continu 32, représenté à la figure 52. 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 525 et 327 sont, dans le réseau qui fait partie de la présente invention, des sorties d'alimen- tation électrique non interruptible UPS, 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'alimentation de remplacement en cas de défaillance de la source d'alimentation principale. Puisque l'alimentation électrique des lignes 325 et 327 doit être une alimentation non interruptible, la présente invention fournit une batterie de secours pour l'entrée du convertisseur continu-continu 525. Cette batterie de secours se compose d'un module 329 de batterie et chargeur. Le module 529 est connecté au convertisseur continu-continu 523 par une ligne 331 et une diode 55333. Dans un exemple particulier de réalisation de la présente invention, la batterie 323 fournit au convertisseur 525 une ten- sion de 48 V qui est à l'intérieur de la gamme des -tensions d'en- trée du convertisseur 525. La diode 353 assure l'alimentation du convertisseur 325 par la batterie si la tension dans la ligne 521 chute en dessous de 48 V. lia diode 555 arrête également le courant venant de la batterie et de la ligne 335 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ésvu pour détecter un état de l'entrée d'ali- mentation en co rant alternatif dans la ligne 315 qui aurait eu pour résultat une tension insuffisante dans les lignes de sortie 319, 525 et 327 le circuit d'alarme 335 transmet à l'u- nit6 centrale 105, par uneligne 33557, 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 505 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 501 de distribution électrique qui fait partie de la présente invention limaite l'effet de la painne 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 511 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- tiotnelle avec les autres modules de processeurs et élénments du 1-10 système de traitem0ent 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 51, chaque commutateur automatique 5311 comprend deux diodes, c'est-à-dire une diode 5341 associée avec la ligne 307 d'alimentation principale et une diode 545 associée avec la ligne 509 d'alimentation de remplacement. Les diodes 541 et 54-3 ont pour fonction de permettre l'alimen- tation d'un organe 41 de commande à partir soit de la ligne 507 d'alimentation principale et d'une source d'alimentation 505 cor- respondante, soit de la ligne d'alimentation de remplacement et de sa source d'alimentation correspondante 503, 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 5435, la tension dans les lignes 307 et 509 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 505 sont en parallèle avec les lignes 507 et 530 309 et la tension effectivement reçue par l'unité Qentrale de la mémoire doit être également de cinq volts; c'est pourquoi des diodes 33559 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 551 permet 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é, 1 Les &étaila de fabrication du commutateur 513 sont rpe6- sentés à la figure 31. Comme le montre cette figure, le commu- tateur 513 comprend un interrupteur manuel 345, un transistor 347, une capacité 548, une résistance 550 et une résistance 552. L'interrupteur manuel 345 est!fermé pour mettre en circuit le transistor 547 qui alimente ensuite l'organe 41 de commande. Il est important que, aussi bien la mise sous tension que la mise hors tension de l'organe 41 de commande s'opèrent de ma- nière régulière et sans fluctuations qui pourraient déclencher plus d'une fois le circuit 182 de mise sous tension. La capacité à réaction 548 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 547 est mis hors circuit par l'ouver- ture de l'interrupteur 545, la capacité à réaction 348 agit en liaison avec la résistance 550 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 541, 545 et 33559 sont des diodes Schott1y qui produisent une chute de tension directe très faible et ceci réduit la puissance dissipée. Comme onll'a noté ci-dessus, dans la description du système d'entrées-sortiesnet de l'organe 41 de commande à double entrée, chaque organe 41 de commande comporte un circuit 182 de 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 3153 Le circuit 182 de mise sous tension PON débloque également l'organe de commande et le remet en fonctionnement après que la tension a été rétablie par le commutateur 513 et que la tension de cinq volts de caractéris. tique correcte a été appliquée à l'organe 41 de commandes 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 533 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 505 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 505 comporte deux conducteurs diffé- rents mis à la terre. Un conducteur fournit la mise à la terre à la fois à l'a- limentation interruptib 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. La 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 VI à 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 V1 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, V1 à 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 507 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 VI et V2 et l'organe 41 de commande de cSté droit de la figure 35 est représenté comme étant connecté aux prises V2 et V3e Ainsi, n'importe quel organe 41 de commande peut être connec- té à deux quelconques des sources 303 d'alimentation, l'fune 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.e Ce réseau de distribution électrique permet d'effectuler !'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 issus 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 commandie. Au 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 53 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ésentSe plus en détail à la figure 34. La mémoire 10' de chaque module 33 de processeur est asso- ciée à la fois à 1'unité centrale 105 et au canal 109 d'entrées- sorties de ce mod2.e. Il existe un accès à double entrée dans la mémoires par linmité centrale et par le canal. Ce qui re- vient à dire que l' -mité 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, taudis que le canal 109 d'entrées-sorties peut également accéder directement à la mémoire (sans devoir traver- ser l'unité certrale) 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 tn 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 m6- 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émeoire physique qui se compose de 262 144 mots de seize bits d'information chacun. Outre les seize bits d'inf'ormation, 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 I 024 mots chacun (qui sont appelés des pa- ges). lDes 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 52 768 mots. Ainsi, huit de ces modules four- nissent les 262 143 mots mentionnés ci-dessuso Tous les accès à la mémoire se font à l'une des quatre zones d'adresses logiques, c'est-à- dire les zones de données de l'utilisateur de données du système, de code de l'utilisa- teur et de code du système. Toutes les instructions de lUunité 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 topogramme 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 555 Ainsi, chaque zone d'adresses logiques comprend soixante-quatre pages logiques de I 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 auxiliaireo Ceci permet de mettre en application une disposition de mémoire virtuelle. Une mémoire virtuelle offre deux avantageso Tout d'abord, une m-dnoire virtuelle permet d'utiliser un espace en mémoire centrale physique qui est inférieur à celui qu'exigeraienlt les ones d'adre;;e;o logiques, cawu la mmoire physique peut être complétée par ne mémoire physique auxi- liaire. Ensuite, une mémoire virtuelle permet & des espaces d'a- dresses de plusieurs utilisateurs (multiprogremination) 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 système 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 d' un programme d'utilisa- teur. Ainsi, il existe deux niveaux de protection des program- mes d'utilisateurs fonctionnent 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'une adresse logique de seize bits en une adresse physique de dix-huit bits est effectuée par un plan de relevé. Pornant une partie de ce plan de relevé, un nombre de pages physiques est obtenu par une opération de co- sultation à l'intériecur 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'utilisateurq données du sys- tème, code de l'utilisateur et code du système). )10 La division de l'adresse logique en ces quatre zones sépa- rées et distinctes présente des avantages significatifso La division permet d'isoler les programmes des données9 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é O - 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, toultes les références à la mémoire faîtes 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 4'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- teuro 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 correspondnt 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 p4ge 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 à "uni par toute utilisation de la page correspondant à l'entrée du relevé. 4) Un bit-clé. Le bit-clé est mis a "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 à iunml" 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é SNAP, l'ins- truction de lecture d'une entrée de relevé RMAP et l'instruction de décalage d'une entrée de relevé AMIP. L'instruction d'insertion dans une entrée de relevé SMNP 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. L'instruction de lecture d'une entrée de relevé BiAP 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é AMNP 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 O10 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: 1o Une référence d'adresse est faite à une page qui est absente de la mémoire physique (le bit d'absence est mis à "tunl") 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émoireo 35. 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 do manière à extraire la page absente de la mémoire auxiliaire (habituellement & disqLes] 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é pr6bcé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 à "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. Lies 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, la 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 54 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 à lunité centrale 105 et au canal '109 d'en- 1;rées-sorties des entrées d'accès à la lmémoire 107, et le c-u- nal 109 d'entrées-sorties n'est donc pas nécessaire pour acce'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é- nmoire du relevé qui commande le début et la fin de l'accès aux modules 405 de la mémoire physique. La 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 une description 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éS 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 PMA et un registre 129 d'adresse de la mémoire du canal CMAo 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é409 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 405 de la mémoire. Une ligne,421 de sortie fournit aux modules 405 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 451 d'instruction suivante NI, un registre J533 des données de la mémoi. re flD et un registre 125 des données du canal CD. Les sorties des registres PMD iet CMD 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 md- 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é IIND, 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 453 i bit de réfé- rence et une logique 455 de bit-clé. La logique 401 de commande de la mémoire à relevé est repré- 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 total de dix-huit bits. Comme on l'a noté ci-dessus, les nc:l'brI's 8, 10, 12, 13, 14 et 18 qui ne figurent pas entre parenthèses sur certaines lignes des figures 34 et f5, se rapportent à cet exem- ple particulier de réalisation à dik-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, 465 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 56 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 475 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 à age 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 56. 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 feournir 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 recouvr-ement. Le bit R est mis à "un" par n'importe quelle opération d'ex- traction ou d'enregistrement effcectuée sur cette page logique. Les bits S et 'l' sont des bits d'enregistrement qui sont ina- nipulés par l'instruction de décalage d'une entrée de relevé AMAP. Le bitclé D est mis à "un" par un accès d'enregistrement à cette page logique. TJe 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 m6- moire centrale nais 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 56, 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é SMAP, l'instruction de lecture d'une entrée de relevé RM-AP 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 lalogique 401 de commande de la mémoire à relevé, représentée à Ia figtUe 54, tout d'abô& pour sé]ectionner un emplace-ent dans le relevé i109 (à l'aide du premier paramètre de l'insertion) et ensuite po-ur insérer dans cet emplacement le deuxième paramètre de l'instruction, c'est-à-dire les nouvelles donnéed d'entrée du relevé. Et fonctionnement, come le montre la figure 35, dans le premier stade de la séquence, le microprogranme 115 charge les nouvelles données d'entrée du relevé dans le registre 423 des données de la mémoire du processeur PMD. Dans le stade suivant de la séquence, l'adresse du relevé O10 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 423o 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é SLP 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 rémoire du processeur PMA au relevé 409, par l'intermédiaire du sélecteur 415 d'adresse et de la ligne 417. Seuls les huit bits de poids fort (la sélection du relevé et l'adresse du re- levé) sont utilisés dans cette opération. Les 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é comine 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 PMD au géné- rateur 449 de parité de relevé et'au relevé 409, par l'intermé- daire 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é SE?. 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èreda 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é SIAP 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 qi 'une page a été transférée à partir de la mémoire auxiliaire. 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 PMA. 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é 4095 par l'intermédiaire du sélecteur 415 d'adresseo De nouveau, seuls les bits de sélection de relevé et d'adresse de page sont uti.lisés dans cette séquence. Le contenu de l'entrée du relevé sélectionnée est trahsmis 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é0 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é NMD. 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 a relevé MMD. A la fin de l'instruction de leqture d'entrée de relevé RMAP, la partie appropriée du relevé a été sélectionnée, l'en- 1 28 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é RMLiP 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 56) 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é RiAP 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é ANAP 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 PMA 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 4u1 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. Le microprogrPILne 115, représenté à la figiure 12, lit le contenu de l'entrée du relevé venant du registre 445 de données de la mémoire à relevé ?ND, 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ée Ainsi, un zéro a été in- troduit dans le bit R, le bit R a été introduit par décalage dans le bit S, le bit S a été introduit par décalage dans le bit T, et l'ancien bit T est perdu. Le microprogrammne 115 prend alors l'entrée modifiée du relevé, charge ces nouvelles données dans le registre 425 de données de la mémoire du processeur PMD, représenté à la figure 534, 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 mune entrée du relevé SMAPo Ces opérations terminent l'instruction de décalage d'une entrée de relevé AI2AP. De résultat de l'instruction de décalage d'une entrée de relevé AMÀAP 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é SNAP ou de décalage d'une entrée de relevé JAMAP. 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 his.torique de référence du relevéS. La zone h.storique de référence de toutes les entrées de relevé dans un:elevé 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..ndication de la fréquence d'accès depuis les trois interrupv:t.ons précédentes pour faute de page. Par exemp:, une valeur binaire de sept (les trois bits de référence étnt tlous mis à "un"') indique des accés dans chacun des interva]lles entre les interruptions précédentes pour faute de paSe. 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 é evé, 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- mnt 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 est déclenchée par le microprogramme 115 de l'unité centsale ou par la 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 O10 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 Ai, représenté à la figure p5, 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 405 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 55 et à la bascule4'43 de sortie du relevé. Si le bit d'absence est à l'état "un", l'adresse de la page logique est 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 405 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 405 de mémoire sélectionné à exécuter une opération d'ex- tractionau 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 PMD, par l'intermédiaire du sélecteur 427 de données, au module de mémoire dans la ligne 429. Pendant que le module de mémoire effectue une opération d'extraction ou d'enregistrement, la logique 401 de commande de 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é, sanus le bit de parité P ou le bit de référence R, sont transmises de la bascule 453 de sortie du relevé à la logique 455 du bit-clé représenté à la figure 55, 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",.oit 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 I49 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 pari-té 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 405 de la mémoire physique termine son opération d'extraction ou d'enregistrement, il envoie, par la ligne 459, 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,9 les données sont chargées dans le registre 433 de données de la mé- moire MD, représenté à la figure 54, pour être utilisées par l'unité centrale 205. Dans une séquence d'opérations d'extraction d'instructions, les données sont chargées dans le registre 431 d'instruction suivante lMI 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 COiA repré- -2485228 scnté à la figure 34, est utilisé pour fournir l'adresse logique et ce registre indique.touours 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 cbnstitués d'une mémoire à semiconducteurs ou d'une mémoice à 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écritso 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 I 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 bitsqui fait partie de la pré- sente invention peut, coirme on le décrira en détail ci-après, dé- tecter et corriger toutes les erreurs de bit unique et ce sy'st 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ées. 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 ce Rot depuis le moment o il a été stocké en m6moire. Dans une néemoi:re à semiconducteurs, deux mécanismes de per- te d'information (erreur) sont possibles. L'un est une panne grave d'un dispositif de la mémoime 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 inclutune 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 405 de mémoire à semiconducteurs comporte éga- lement, comme le montre la figure 57, une bascule 479 de sortie, un générateur 481, de bits de contrôle, un comparateur 483 de bits de contrôle, un décodeur 485 de syndrome et un complémentateur 487 de bits d'information. Le module 405 de mémoire est connecté au reste du système par l'intermédiaire des lignes de signaux et de données repré- sentées à la figure 37,. Ces lignes comprennent: la ligne 429 I 7 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 m6é- moire à relevé, les lignes 419 et 421 d'adresse physique et la ligne 457 d'extraction des donnéds 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'ERREUR IULTIPILE (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 danss 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 505 de pa- rité de huit bits situé à l'extrême gauche crée le bit de con- trôle 00, comme l'indique l'équation logique de CO développée au bas de la figure 58 Le bit de contrôle CO est donc le com- plérient de la somme modulo deux des bits d'information 8 à 15. Pour donner un autre exemple, le bit de contrôle O3 est créé par un arbre 505 de parité de huit bits, comme l'indique l'équation logique de C3 développée au bas de la figure 58. Le bit de contrôle C0 est la somme modulo deux des bits d'informa- tion O, 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 58. 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 58. 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 57, 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- 1,9 ble pour une opération d'extraction. Lorsqu'un mot particulier Toit être extrait de l'ensemble 477 de mémoire, Ja logique 475/commande et de synchronisation et l'adresse transmise par la lighe 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 489o Comme le montre la figure 39, le comparateur 483 de bits de contrôle forme six bits de syndrome SO à S5o 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ôler 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" SO 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 59. I La présence ou l'absence d'erreurs et les types dVerreurs, e 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 syndrbme de six bits et elle donne la traduction de chaque valeur possible. TABLE 1 CODE DE SYNDROME S0 SI S2 S3 S4 S5 O O O 0 O O 0 0 0 0 0 1 O 0 1 0 0O O 0 0 O O O I 0 1 0 1 O 1 1 0 0 0 0 1 1 1 0 0 1 0 0 0 O 0 0 1 O 0 1 0 O 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1.1 '1 0 1 0 0 0 0 O O 0 1 O 0 1 0 O 0 1 1 0 I 0 0 ERREUR (aucune erreur) C5 C4 (Double) C3 (Double) (Double) DO C2 (Double) (Double) (Iultiple) (Double) D1 D2 (Double) C1 (Double) (Double) D3 (Double) S SI1 S2 1 0 0 e 0 1.0.1 1 0 I O O * O O O O 1 0O 1* O O O O O O o o I O O S3 S4 S5 O O O 0 0 0 O 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 I 0 1 1 1 0 0 0 0 I 0 0 1 I 1 0 0 1 0 1 1 1 0 1 1 1 O O O 0 0 0 O 0 1 0.1 0 IO O 0 1 I 1 0 0 E=RUR a0 (Double) (Double) D8 (Double) D9. DIO (Double) (Double) Dll (Multiple -.- tous les bits sont à O (Double) D12 (Double) (Double) (Multiple) (Double) D13 D14 (Double) (Multiple) O co oo rO0 Co CODE DE SYNDROME S2 S3 S4 S5 ERREUR 1 0 1 (Miultiple - Tous les bits sont à 1) 1 1 0 D4 I 1 1 (Double) O O O (Double) O O 1 D5 O 1 O D6 0 1 1 (Double) 1 O 1 (Double) 1 1 O (Double) 1 1 1 (Multiple) S0 S1 S2 S3 S4 S5 ERREUR 1 1 O O I O O O O O 1 O 1 (Double) 1 1 O (Double) 1 1 1 (Multiple) 1 O O O D15 O O I (Double) 0 1i 0 (Double) 0 1 1 (Multiple) 0 O O (Double) 1 0 1 (IIultiple) 1 I 0 (multiple) i i 1 (Double). AINSI, (Nombre de bits à 1 dans le syndrome) 0 BIT - PAS D'ERREUR 1 BIT - ERREUR DU BIT DE CONTROIE 2 BITS - ERREUR DOUBLE 3 BITS - 4 BITS - BITS - 6 BITS - ERREUR DU BIT ERREUR DOUBLE ERREUR MULT IPI ERREUR DOUBLE D' INFORLA.T iON s0. Si 0 1 N -' -'i r'> co - Par e:xemple, si tous les bits de syndrome SO à 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ésvmé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- Ssue Si un seulement des six bits de syndrome est à "un" ceci inalique 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 I 1 I 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 57 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énmentateur 487 de bits d'information, représenté à la figure 57, par l'inter- médiaire de la ligne 495 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 4'75 de comnmande et de synchronisationo Une indication d'eITeur multiple est transmise par la li- gne 497 d'ERREUR ?[LTIPLE à la logique 475 de commande et de synchronisation. Un signal d'ERREUR MULTIPLE est créé dans tous les cas d'erreurs de bits doubles et dans la plupar t des cas d'erreurs de bits triples ou davantage. Ce signal d'ERREUR IULTIPLE, 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 Sl à S55-, 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- tions 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 il T15 à la figure 40. Les sorties du décodeur 507 qui ne sont pas connectées à la porte OU 512, corresponc,:nt aux erreurs dans les six bits de contrôle. Les erreurs da:s les six bits de contrôle n'ont pas besoin d'être corrigées 'puisque ces erreurs ne sont pas des erreurs de bits d'inforr.tion) et ces sorties du décodeur ne sont donc pas utilisées. Les autres sorties, c'Eet-à-dire celles qui sont connectées à la porte OU 512, représentEnt des erreurs doubles ou multi- ples et elles sont indiquées 5e cette façon par les légendes à la figure 40. Tous ces cas E:at recueillis par la porte OU 512 et ils constituent un élémert du signal d'erreurs multiples transmis dans la ligne 407 la sortie de la logique 511 d'i- dentification d'erreurs. Comme le montre égalematt la figure 40, le décodeur de syndrome 45 comprend un arb de parité 509 qui forme la somme modulo deux des bits de syn..ome SO à S5. La sortie paire ou imr.?re résultante de l'arbre de parité 509:ov";'sond., x c.lases d'erreurs mentiornees au bas de]a table 1. Ainsi, la sortie PAIRE 514 correspond à des syndromes contenant zéro bit à "un", deux bits à "un", quatre bits à "un" ou six bits à "um". 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 à "un" ou six bits à "un" sont ainsi les seuls autres syndromes PAIRS qui se combinent au signal MULTIPLE pour constituer les erreurs multiples transmises par la ligne de sortie 497 d 'ERREUR MULTIPLE. Une sortie n'est souhaitée dans la ligne 495 indicatrice d'ERREUR ULIQUE 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 muli- 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 UblIQUE 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 co. contenant 'm, trois ou cinq bits à "un". L'inverseur 517 et la porte ET '19 excluent les syndromes de trois bits d'erreurs i miultiples,:t tous les syndromes de cinq bits. Ainsi, la sortie 495 d'ERPIRR UNIQUE ne comprend que des erreurs de bits de 248S228 contrôle unique et des erreurs de bits d'information uni.-Jes. 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 I'ERREUR MULTIPLE et l'ERREUR UNIQUE, mentionnées au bas de la figure 40, représentent l'opé- ration décrite ci-dessus. Il ya 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 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 oereur 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'informationrepré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 dbnnées du système, le code de l'utilisateur et -1'.' les données de l'utilisateur, et il fournit une traduction des adresses logiques en adresses physiqules, 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. i 4'7 248S228 Le système de mémoire de la présente inventiorn fournit '-nis instructions de l'unité centrale, c'est-à-dire l'ins-'ruction d'insertion des données dans une entrée de relevé SMAP, l'ins- truction de lecture d'une entrée de relevé RBIAP et l'instruction de décalage d'une entrée de relevé -ML:', 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-sorties Les accès à la mémoire par le canal d'entrées-sorties n'ont pas besoin d'impliquer l'unité centrale et cette dernière peut rem- plir d'autres fonctions pendant qu'une transmission de données en entréessorties est effectuée dans ou hors de la mémoireo 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'ccè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 stockageo 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èr': de traitement par multiproces- seurs qui fait l'objet de la îrésente invention, chaque module de processeur co::pend son propre système de Inrmoire celitrale. Puisque chaque module de processeur possède son propre système de mémoire, on évite les problèmes de partage de mé- moire dans un système de multitraitement. 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. ILes 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 iémoire. Ce registre séparé et particu- lier permet une prise en charge simultanée de l'instruction sui- 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 unme prise en charge de l'instruction. Le relevé est constitué pour fournir un accès significa- 4:1-9 tivement plus rapide que l'accès a la re( moire physique cerÄC.'a1e. 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. 1. Système à mémoire conçu po r un module de processeur d'un systinme 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ème1à mémoire, ce systè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. 2. - Système à mémoire suivant la revendication 1, 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. 3. Système à mémoire suivant la-revendication 2, 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 cefait, 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. 4 - Système à mémoire suivant la revendication 2 ou 3, 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. 151 2485228 5.- Système à mémoire suivant la revendication 4, 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é. E- Système à mémoire suivant la revendication -S 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é. - 7 Système à mémoire suivant l'une des revendications 4 à 6, 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. S. - Système à mémoire suivant l'une des revendications 4 à 7 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é. 9 - Système à mémoire suivant l'une des revendications 2 a 8 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. lo, Système à mémoire suivant l'une des revendications, là 9, 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é. 11.- Système à mémoire suivant l'une des revendications 1 à 10, 152 2485228 -caractérisé un ce qu(e]la mrmoire physique e;t divi séc en pages numIrnoté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 uie 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. 12. - 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 variable 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 venant 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 organedecommadi; 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. 13. - Mémoire-tampon suivant la revendication 1Z,, 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ées-sorties de sorte que ces derniers appareils ne sont pas surchargés. 14. Mémoiretampon suivant la revendication 13, 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. 153 2485228 - Mémoire-tampon.suivant la revendication -.14, caractérisée en te que sa profondeur est 'la somme de la profondeur de seuil et de la profondeur d'attente. 16. Mémoire-tampon suivant la revendication 14 ou 15, 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.