FR 2485227 A1 19811224 FR 8116834 A 19810904 Io. présente invention se rapporte à un système de traite- ment par multiprocesseurs dans lequel des modules de procas- seurs interconnectés assurent un multitraitement (traitement en simultanéité dans des modules de processeurs séparés) et 5 une multiprogrammation (traitement imbriqué dans un seul modu- le de processeur). La présente invention concerne,' en particulier, un systè- me capable de supporter des débits élevés de données de mouve- ments vers d'importants fichiers centraux en liaison directe 10 avec l'ordinateur, et dans lequel une défaillance d'un composant unique ne peut ni arrêter ni affecter le fonctionnement du système. De nombreuses applications exigent un traitement en di- rect avec l'ordinateur de quantités importantes de données à 15 des débits élevés de mouvements. Oe 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 1eà operations de crédit et dans les 6tablisse- ments financiers pour les virements automatisés de fonds et les 20 opérations de cifitms 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 .25 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- 30 tanément, mais également un mode d'exploitation qui permet de continuer sans interruption le traitement des données en cas de défaillance d'un composant du -système. le système doit être conçu soit pour fonctionner'même en cas d'incident grave (auquel cas l'incident ne donne lieu à 35 aucune perte de capacité de traitement), soit pour fonctionner en mode "dégrad6" (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 40 manière qu'une défaillance d'un composant unique ne peut affec- 2 2485227 ter l'exploitation du système. Le système doit fournir un cal- cul qui tient omWpte des erreurs. Dans le cas d'un calcul qui tient compte des erreurs, toutes!les erreurs et défaillances du système doivent être corrigées automatiquement ou bien, si 5 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é- 10 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- 15 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 desa oapcits requises de traitement en cas de défail- lance d'un composant, comme le montrera clairement la descrip- _ 20 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- 25 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 30 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 35 interconnectant plusieurs miniordinateurs afin de fournir des capacités de multitraitement. Dans le premier cas, c'est-à-dire l'adaptation de deux gros ordinateurs monolithiques universels en vue d'une exploi- tation en commun, une méthode classique d'approche suivant 40 l'art antérieur consiste à faire partager aux deux ordinateurs 3 2485227 une mémoire communei. Mais dans un système de multitraitement de ce type, une d4faillance de la mémoire commune peut paralyser tout le système. la mémoire commuge soulève également un certain nombre d'autres difficultés, y compris la mise en séquen- ce des accès à cette mémoire commune. Bien qu'il satisfasse à certaines des conditions nécessaires à un traitement non in- terruptible, ce système ne répond pas à toutes les conditions suffisantes. En outre, les systèmes de multitraitement qui utilisent 10 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 15 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 solutioni qui consiste à utiliser de gros ordinateurs universels) l'inconvénient de devoir adapter une liaison entre des ordinateurs universels, l'inconvénient de devoir adapter une liaison entre des ordinateurs qui, au départ n'ont jamais été constitués pour assurer une telle liaison. En conséquence, les liaisons nécessaires sont habituellement établies par l'in- termédiaire du canal d'entrées-sorties. Les liaisons par l'intei 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. 30 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 35 et les cartes d'adaptation afin d'éviter les problèmes de dé- faillances de composants critiques uniques, augmente encore plui sensiblement le coût de l'ensemble du système. Le doublement des liaisons et des cartes d'adaptation entr, tous les processeurs est devenu très'encombrant et plutôt com- 40 plexe du point de vue de l'exploitation. 4 2485227 Une autre difficulté de l'art antérieur réside dans la ma- nière dont les omnnexions sont faites aux appareils périphéri- ques. Si plusieurs appareils périphériques sont connectés à une 5 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 10 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é- 15 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. 20 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- 25 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 processeurs supplémentaires. Dans de nombreux cas, il faut soit modifier le système d'exploitation, soit inclure certaines 30 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 35 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. 40 Un premier objet 4e la présente invention est de fournir 2485227 5 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 élimina les difficultés rencontr6ées dans l'art antérieur. 5 Un objet fondamental de la présente invention est d'asu- rer qu'aucune défaillance individuelle ne peut immobiliser le système ni affecter de manière significative l'exploitation du - système. A cet égard, le système qui fait l'objet de la présen- te invention est construit de telle sorte qu'aucun composant 10 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. 15 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 es processeurs. Dans la présente invention, 20 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 25 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 30: 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é6iaire d'une ligne entre processeurs en vue du 35 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'euz peut commander Jusqu'à huit appareils périphériques. Plusieurs circuits et sorties indépendants sont prévus 40 entre tous les composants principaux du système pour asasurer 6 . 2485227 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- 5 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 10 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 15 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. 20 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 25 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 30 un deuxième microprocesseur qui est consacré aux opérations d'entrées-sorties. Un accès à double entrée à la mémoire centrale, par V'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- 35 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 40 l'ensemble des programmes et réduit au minimum la longueur de 2485227 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 processeus et permet une vitesse élevée de commu- 5 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éaliser des débits élevés. 10 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 processeurso Le contrôleur de ligne comprend égale- 15 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 émettrioe-réceptrice de modules de prooessers0 Chaque contrôleur de ligne comprend une horloge de ligne 20 et chaque unité centrale de chaque module de processeur possède sa propre horloge. Il n'y a donc pas de système d'horloge-mère susceptible de subir une défaillance individuelle qui pourrait immobiliser l'ensemble du système de traitement par multiproces- seurs. .25 Chaque module de processeur comprends 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 consacres aux communications par les lignes entre proces- seurs. 30 Chaque commande entre processeurs comprend également des mémoires-tampons à accès rapide (mémoires-thmpons 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 35 ligne entre processeurs un débit de donnéues supérieur à celui qui pourrait maintenir n'importe quelle paire unique de processeurs. Plusieurs échanges de données entre les pairés de modules de pros cesseurs peuvent %tre imbriqués sur une base apparemment simul- tanée. Du fait que la ligne entre processeurs fonctionne de manière 7 40 8 2485227 asynchrone par rapport à chaque unité centrale particulière, cha- que mémoire-tampon en file d'attente et hors de la file d'atten- te est rythmée par le module de processeur ou par le contrôleur de ligne, mais pas par les deux simultanément. 5 Par conséquent, à chaque mémoire-tampon en file d'attente et à chaque mémoire-tampon hors de la file d'attente sont associé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é 10 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. LIa logique est également disposée pour que, dans le cas 15 o l'alimentation d'un module de processeur baisserait, il n'y ait aucun effet transitoire sur les lignes entre processeurs parce que le module de processeur est en train de perdre le contrôle. Une baisse d'alimentation du module de processeur sur une ligne entre processeurs ne troublera donc pas l'activité 20 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 -25 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 30 de processeur qui est récepteur) relativement à la quantité d'informations réellement transmises. Ia 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- 35 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 émettriQe- réceptrice. Les lignes de sélection sont utilisées a) en balaya- 40 ge pour déterminer quel module particulier de processeur est 2485227 désireux d'émettre, b) en réception pour interroger un module de processeur et savoir si ce module particulier de processeur veut recevoir et c) en combinaison avec une instruction d'émis- sion pour faire connaître au module du processeur émetteur la 5 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 10 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 lngique de l'état de contrôle des lignes de 15 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 20 différentes paires émettrices-réceptrices de modules de processeurs peuvent donc être imbriquées dans la ligne reliant les pro- cesseurs sur une base apparemment simultanée, du fait de la fré- quence de base plus rapide de la ligne entre processeurs, compa- rativement à la vitesse plus faible de la mémoire des modules de 25 rocesseurs. 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 30 ligne pour diriger les données "en entrée" venant d'une ligne entre processeurs vers une position déterminhée d'une mémoiretampon 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- 35 quelle doivent être mémorisées les données "en entréen, et le nombre de mots attendus du module de processeur éuietteur. L'en- trée de la table de réception des lignes est iise à 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 40 soit .pour fournir une interruption de programme lorsque le bloc 9 10 2485227 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 téponse à la détection d'une erreur de transmission des données dans la ligne entre proces- 5 seurs. Ia 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 10 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- 15 tème. En outre, le sous-système d'entrées-sorties est constitué pour traiter des données à deetd6bi4s 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é- 20 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-uiwes est un système à interruptions 25 et il ne fournit une interruption de programme que lorsque la transmission des données est terminée. Ceci libère l'unité 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 30 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- 35 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 40 deux modules de processeurs différents. l~ ~~~2485227 Les entrées de chaque organe de commande sont constituées de telle sorte que chacune d'elles est logiquement et matériel- lement indépendante de l'autre. Aucune partie de composant d'u- ne entrée ne constitue en même temps un composant d'une autre 5 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 gue 4o la transmission de données erronées à une entree 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é'. I1 existe plisieurs circuits conduisaunt à chaque appareil pati- 15 oulier pour l cas d'uno deéfaillance dans un circuitq ESt e- d6- faillaunçe de l'appareil ou une deéfaillance du module de procez- seur situé le long d'un circuit n'affecte pas leploitation dun module de processeur sur un autre circuit conduisant à l'ap- pareil. 20 La système d'entrées-sorties qui fait l'objt de la-présen- te invention est également constitué de telle sorte que n'impôr- te quel type d'appareil peut être placé dans le syst&êm et le syst&me d'entrées-sorties utilisera encore au masimum la lar- geur de bande du canal d'entrées-sorties. .25 Les organes de command-e sont équipés d'une mereo@tempon de sorte que toutes les transmissions entre les organes de com-' mande et le canal daentréessorties seffectuent au débit maxi- mal du canal. L'organe de commande peut transmettre entre luimeme et un 30 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 l canal d' entrée sorties. Comme les mémoires-tampons sont disposées dans les organes 35 de commande plutôt que dans le canal d'entresorties la pré- sente invention limite la mise en mémoire-taMpon à celle qui est requise pax une composition particulière du systèmeo La présente invention ne nécessite pas une mémoire-tampon séparée pour chaqu appareil périphérique afin d'éviter des surcharges comme ce se- 40 rait nécessaire si les mémoires-tampons étaient situses dans le 12 2485227 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. 5 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. 10 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 15 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- 20 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- 25: 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. 30 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ées-sorties lorsque la contrainte traverse une profondeur 35 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 40 de remise en service en cours. 13 2485227Lorsque l'organe de commande est connecté au canal d'en- trees-sorties, les données sont transmises entre la mémoire- tampon et le canal d'entrées-sortles en une tranche à ou au voisinage de la vitesse de la mémôire. 5 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 C0 sous forme de transmissions par tranches, et en réponse à la contrainte appliquée à la mémoire-tampon, les transmissions par tranches peuvent être multiplexées par une division du temps, de sorte que des tranches individuelles venant de plu- sieurs organes de commande peuvent être imbriquées afin d'opti- 15 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 limitation 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 contr1ôles complets d'erreurs et des moyens de limita- tion d'erreurs sont prévus pour toutes les transmissions de 25 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- cui ,s des données correction d'erreurs dans le système de la mé- 30 moire centrale. Les contrôles d'erreurs concerment é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 entres-sorties 35 comportant une clé de deux mots pour chaque appareil périph- rique afin de définir une zone de mémoire-tSpon dans la mi- moire centrale et la longueur de comptae du multiplet restant à transmettre à n'importe quel moment particulier pour une transmission particulière de données un appareil. la table 40 de commande d'entrées-sorties est placée dan chaque proesseux 2485227 au lieu de se trouver dans les organes de commande, afin de limiter les résultats d'une défaillance dans le mot de comptage ou le mot-adresse au seul module de processeur dans lequel le mot de comptage ou le mot-adresse iest matériellement position- 5 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- 10 nier possède sa propre copie correcte de la clé de la table. Le système de traitement par muitipr6c-e seurs 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 15 exploitation ininterrompue du reste du système de traitement par multiprocesseurs, en cas de défaillance dans l'alimentati6n . électrique d'une partie du système de traitement par multipro- cesseurs L'alimentation d'une module quelconque de processeur ou 20 d'un organe de oamande 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 25 pour chaque module-de processeur et deux alimentation séparées pour chaque organe de commande. Les deux alimentations électriques séparées sont opérationnellement associées à l'organe de commande par l'intermédiaire d'un commutateur qui permet à une alimentation de fournir toute 30 la puissance nécessaire à l'organe de commande en cas de dé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 pnne d'alimentation, qui a pour effet de conser er l'état logique du 35 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 40 qui fait l'objet de la pr6sente invention est divisée en quatre 14 2485227 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 qiatre zones séparées d'adres- ses loeiques sépare le code des données de sorte que le code 5 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. De système de traitement par multiprocesseurs qui fait 10 l'objet de la présente invention comprend un topogramme de mé- moire qui accomplit plusieurs fonctionso Une fonction du topogramme consiste à fournir un système & mémoire virtuelle dans lequel tous les codes et toutes les - données sonb translatables de mani&re inhérente9 de sorte que 15 l'utilisateur n'a pas à se préoccuper de lemplacement physique réel du système ou des programmes de lRutilisateur, ni de 16- tendue de la mémoire physique connectée au systiea0 Le topogamml traduit les adresses logiques eAn dresses physiques pour contituer des pages de la mémoire centrale et 20 il fournit des interruptions pour fautes de pages pour les pa- ges qui ne sont pas dans la mémoire centraleo Le système d'ex- ploitation extrait les pages d'une mémoire auiliaire (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 -25 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 30 la mémoire centrale physique, mais dans lequel elles peuvent être dans une mémoire auxiliaire. Le topogramme fournit également une fonction de protection et une fonction de gestion de la mémoire. Le topogramme fournit un topograme séparé pour chaque zone 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èmes comme onz la fait remarquer ci-dessus ur 40 Il fournit également une protection entre les utilisateurs 15 2485227 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 ien mémoire du programme de cet utilisateur, ce qui empêche un utilisateur d'écrire dans une page 5 du-programme d'un autre utilisateur. Cette caractéristique d'un topogramme d'utilisateur empêche donc un utilisateur de détruire le programme d'un autre utilisateur, sans qu'il soit nécessaire de recourir à des registres de protection. En liaison avec le système d'exploitation, le topogramme ac- 10 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 .es pages physiques dans la mémoire centrale, c) en réduisant les transmissions d'entré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 20 centrale est limitaé. 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- 25 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- 30 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 35 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- 40 re auxiliaire. 16 17 2485227 Dans le topogranme même est donc incluse une information qui permet au système de gestion de la mémoire de déterminer si une page particulière de la mémoire physique centrale est un bon candidat au recouvrement (lorsqu'il est nécessaire d'extraire 5 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 10 recouverte. Comme des copies de toutes les pages sans bit-clé sont conservées dans la mémoire auxiliaire, aucune introduction en mémoire n'est nécessaire si le bit-clé n'est pas sur la page. Le topogramme est contenu dans une partie de la mémoire qui est séparée de la mémoire centrale. Chaque topogramme est 15 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 topogradme n'augmente donc pas la durée du cycle de la mémoire. 20 Comme on l'a noté ci-dessus, la mémoire comprend un double accès d'entrée pour l'unité centrale et pour le canal d'entrées- sorties. Ce dernier peut donc accéder directement à la mémoire, sans avoir à traverser l'unité centrale, pour des transmissions de données allant vers et venant d'un organe de commande. Les 25 accès del'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- 30 tuées par l'intermédiaire du topogramme des données du système. Le topogramme des données du système ajoute' des bits supplémen- taires au cours de la traduction des adresses logiques en adres- ses physiques, ce qui permet d'accéder à un plus grand nombre de mots de la mémoire physique en utilisant une adresse logique 35 plus courte pour accéder à un espace physique plus grand que la longueur même des mots le permettrait normalement. Le présente invention fournit égalsment Te méthode de dé- codage de syrndrome afin de dêcoda de corriger les erzeurs dans les modules de mémoires à semiconducteurs0 40 La zone de mémorisation du module de mémoire à semis 18 2485227 conducteurs comprend des mots de 22 bits. Chaque mot comprend une zone de 16 bite d'information et une zone-de six bits de contrôle. 1 Chaque module de mémoire comprend un détecteur d'erreurs 5 pour corriger simultanément chaque bit unique, détecter toutes les erreurs de bits doubles et un grand nombre des erreurs de bits triples ou davantage en n'importe quel point du mot de 22 - bits. La correction des erreurs inclut un générateur de bits de contrôle, un comparateur de bits de contrôle et un décodeur 10 de syndrome. le générateur de bits de contrôle fournit un code dans le- quel chaque bit de contrôle est une combinaison linéaire de huit bits d'information et dans lequel chaque bit d'information est un composant d'exactement trois bits de contrôle. 15 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 4e syndrome interprète la valeur des six bits de syndrome de sorti- et identifie la présence ou l'absence 20 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. 25 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- .30 seurs qui incorporent la structure et les techniques décrites ci-dessus et qui sont opérationnels suivant la description cidessus, constituent d'autres objets particuliers de la présente invention. La présente invention sera bien comprise à la lecture de la 35 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- 40 tion. La figure ' représente plusieurs modules 33 de processeurs 19 2485227 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, chaqu~e organe de commande étant 5 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. 10 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 15 2; - la figure 4. est %une vue schématique détaillée de la logi- que prévue pour la moire:tMpon de sortie et la commande 67 communes dans la commande 55 d'un module de processeur représen- tée à la figure ~ 20 - 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 25 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- tr8leur de ligne aux modules de processeur ; - la figure 7 est un schéma d'état similaire à la figure 6, 30 mais représentant les logiques 73 et 75 prévues pour la mémoiretampon hors de la file d'attente et la commande 67 communes de la figure 4 - - la figure $ est un schéma d'état similaire aux figures 6 et 7, mais représentant les logiques 93 et 101 prévues pour 35 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 reprmsentant la sé' quence chronologique utilisée pour la transmission d~un paquet donné entre un module de processeur émetteur et un mod.ule de 40 processeur récepteur ; 2485227 - la figure 10 est un schema logique de la partie logique 75 de l'état de vide de la ligne et de la partie logique 73 de l'état de remplissage de la mémoirte-tampon hors de la file d'at- tente et de la commande 67 représentées à la figure 4 ; 5 - 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 1 ; 10 - 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 prnIcipaux 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- 15 ducteurs individuels de la ligne 39 d'entrées-sorties de la fi- gure 1 ; - la figure 15 est un schéma de protocole de canal d'en- trées-sorties montrant les changements d'état de la ligne T 153 pour une entrée-sertie d'exécution causées par le micro-program- 20 me 115 dans l'unité centrale 105. La séquence illustrée est déclenchée par l'unité centrale 105 et elle est transmise, par l'intermédiaire du canal d'entrées-sorties 109 du module de pro- cesseur 33 et la ligne T 153, à un organe de commande 41 repré- senté à la figure 1 ; 25 - la figure 16 est un schéma de protocole de canal d'entré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 30 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 35 microprogramme 115 de l'unité centrale. Ia 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 40 structure générale des entrées 43 d'un organe de commande 41 20 2485227 représenté à la figure I ; - la figure 20 est un schéma de fonctionnement d'une entrée 43 représentée à la figure 19. Cettje figure 20 représente princi- palement.les circuits de données au sein d'une entrée 43; 5 - 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 fisure 22 est un schéma de fonctionnement montrant les parties constitutives d'une mémoire-tampon 189 de données située 10 dans la partie commande d'un organe de commande 41 représenté à la figure 19 ; - la figure 23 est un graphique illustrant le fonctionnement de la mémoire-rampon 189 de données illustrée aux figures 22 et 19; 15 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, repr6- senté à la figure 21, et elle illustre la manière dont le contr8- le de parité est démarré avant que les données ne soient chargées 20 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 25 commazide de la mémoire-tampon 189, représentée à la figure 22, d'un organe de commande 41. Ia 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 ; 30 - la figure 27 est une liste des équations logiques utilisées pour le registre 173 de sélection représenté la figure 20; - la figure 28 est un dronogramme montrant le fonctionnement de la liaison à deux lignes entre le canal des entrées-sorties 109 et les entrées ,3 ; 35 - la figure 29 est un schéma logique montranst la logique dans le cas général de la liaison représentée à la figure 28 lia logi- que représentée à la figure 29 fait partie de la machie 143 de ligne T du canal 109 d'entréessorties rprésenté la figure 13 - la figure 30 est un schéma de fonctionnement d'un système 40 d'alimentation électrique. La figure 30 montre comment plusieurs 21 22 2485227 alimentations indépendantes et séparées 30 sont réparties et associé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 ; 5 - la figure 31 est une vue détaillée à grande échelle de l'agencement de commutation prévu pour commuter un organe de commande entre une alimentation principale et une deuxième ali- mentation en variante. La structure de commutation représentée à la figure 31 permet à la fois une commutation automatique dans le 10 cas d'une défaillance de l'alimentation principale et une commu- tation manuelle suivant trois modes différents, à savoir hors cir- cuit, automatique et en bascule; - la figure 32 est un schéma de fonctionnement montrant les détails de l'une des alimentations séparées et indépendantes 303 15 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- 20 de. La disposition particulière des lignes, représentée à la fi- gure 33, permet une sélection facile de deux quelconques des alimentations individuelles qui serviront d'alimentation princi- pale et de deuxième alimentation en variante d'un organe parti- culier de commande ; 25 - 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 topogranme de la mémoire 107 repré- 30 sentée à la figure 34 ; - la figure 36 est un schéma de fonctionnement montrant l'organisation de la mémoire logique en quatre zones d'adresses logiques et quatre parties séparées de topogramme correspondant aux quatre zones d'adresses logiques. La figure 36 montre éga- 35 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é à lafigure 37 -est un module 40 de mémoire à semiconducteurs ; 23 2485227 - la figure 38 est un schéma du générateur de bits de contrôle utilisé d~s le module 403 de mémoire à semiconducteurs représenté à la figure 37. La figure 38 donne également une lis- te d'équations logiques de deux des structures arborescentes de 5 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- 10 que de la structure arborescente de parité de neuf bits pour l'état zéro des bits de syndrome ; - la figure 40 est un schéma du décodeur de syndrome utili- sé dans le module 403 de mémoire à semiconducteurs représenté à la figure 57. La fsigure 40 donne également une liste d'équations 15 logiques utilisées pour lewloitation de la partie logique 511 du décodeur de syndrome - la figure 41 est un schéma logique d'un compléenteur de bits utilise dea le aiodule 403 de mémoire à semicoduceurs re- préesenté à la fiîg-. 37; et 20 la figue U, représente les divers états d'un système du traitement par deMu processeurs exécutant un programme d'appli- cation qui doit être exécuté an continu. les schémas illustrent les deux processeurs successivement en état de défaillance, et en: cours de réparation et le programe dlapplication modifiant son 25 mode de fonctionnement en conséquence. On se reportera maintenant à la figure 1 qui est une rue schématique, en perspective isométrilque, dune partie d'un sys- téme de traitement par mu!tiprocesseurs, conformémentà un exem- ple de réalisation de la présente inventiono Lae système de trai- 30 tement par multiprocesseurs est indiqué de manière générale à la figure I par la référence 31. Le système 31 de traitement' par multiprocesseurs comprend des modules individuels 33 de processeurso Chaque module 33 de Processeur comprend une unité centrale 105 une mémoire 107, un 55 cabal 109 d'entrées=sorties et une commande 55 entre processeuras. Les modules idiwiduels de processeurs sont interconnectés par des lignes 35 permettant les échanges entre processeuMse lans unV exemp3e pR0ticulier de réalisation du système 31 cle traitement par mutJooeuerse ueqgU seize modules 53 de 40 prooesseurs sont inróconnectés par l'itermi&daire de aeux 24 2485227 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. i 5 Les contrôleurs de ligne 37, les lignes 35 entre proces- seurs et les commandes 55 entre processeurs, représentés à la figure 1, de même que les microprocesseurs 113, les microprogram- mes 115 et les tables 150 de réception des lignes qui leur sont axxociés, représentés à la figure 2, fournissent un système de 10 lignes entre processeurs. L'architecture et le fonctionnement de ce système de lignes entre processeurs sont illustrés aux figu- res 2 A 11 et 42 et sont décrits plus en détail ci-après. Le système 31 de traitement par multiprocesseurs comporte un système d'entrées-sorties prévu pour transmettre les données 15 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- 20 trées-sorties assoóiée A 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 25- 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 30 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 113 et le microprogramme 115 de l'unité centrale 35 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 40 aux figures 12 & 29 et ils sont décrits en détail ci-après. 25 2485227 Le système de traitement par multiprocesseurs inclut un système 501 de répartition de l'alimentationqui 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 5 en ligne et également à fournir une réserve de puissance & chaque organe de commanide. Comme le montre la figure 30, le système de répartition de l'alimentation inclut des sources d'alimentation sparées et indépendantes 303. 10 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é. ' ..mme l'illustre également la figure 30, chaque organe 15 de commande 41 est connecté à deux sources 303 d'alimentation séparée par l'intermédiaire d'un commutateur automatique 311.. Si une source 303 ~'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 20 s'effectuera régulièrement et sans interruption ni pulsation de l'alimentation fournie à l'organe de commande. LIe système de répartition de l'alimentation agit conJointement avec le système à double entrée de l'organe de commande. pour assurer une exploitation et un accès ininterrompus aux 25 appareils périphériques, en cas de défaillance d'une entrée individuelle 43 ou d'une alimentation individuelle 303. Ie 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- 30 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 37. 35 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é 40 du composant dans lequel le circuit de mise sous tem ion est ~~26 ~2485227 implant 6. 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 telsion; et passage de l'état 5 sous tension à l'état hors tension. Ie circuit de mise sous tension initialise tous ies états logiques du système lorsque l'alimentation est brusquement couple et, dans la présente invention, ce circuit de mise sous tension assure une fonction supplémentaire et très importante 10 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- 15 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 20 un système de mi6oire dans lequel la mémoire physique est di- visée en quatre zones d'adresses logiques, A 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 topogramme 407 et une 25 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 30 dans lequel les adresses physiques des pages sont invisibles aux utilisateurs. Le système de mémoire comprend un accès A 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- 35 rectement & la mémoire 107, sans devoir traverser l'unité centrale 105, pour des transferts de données venant de et allant vers un organe de commande 41. L'architecture et le fonctionnement du système de mémoire sont illustrés aux figures 34 à 41 et ils sont décrits en dé- 40 tail ci-aprèso 2485227 Un système de détection d'erreurs est incorporé au systè- me de mémoire atin de corriger tous les bits uniques et de dé- tecter toutes les erreurs de bits doubles lorsqu'une mémoire à semiconducteurs est utilisée daAs le système de mémoire. Ce 5 système de détection d'erreurs utilise une zone de données de 16 bits et une ,zone de contrôle de 6 bits% comme le montre la figure 37, et il comprend un complémenteur 487 de bits de don- nées, également représenté à la figure 37, pour corriger toutes les erreurs de bits uniques et détecter toutes les erreurs de 10 bits doubles lorsqu'une mémoire à semiconducteurs est utilisée dans le système de mémoire. Ce système de détection daerreurs utilise une zone de données de 16 bits et une zone de contr- ' le de 6 bits, comme le montre la figurie 379 et il comprend' un complémenteur 487 de bits de données, comme 1l montre également. 15 la-figure 37, afin de corriger les erreurs de bits uiqueso - Las figures 37 à 41 et la description qui les conca.XP. don' Lent les details du système de détection d'erreurso evnt d'entrer dns une descrpton détaillée des st.èao@ et des compos$ts montio1ês d'un façon énéma ei' -i 20 faut noter !s s l fiotions uivantes de la temîinolosie uti- liese dans la présexne demande de brevet. Le terme "logiciel, se rapporte à un système d'exploita- tion ou aux instructions du progrsmme d'un utilisateur -le terme microinstructions" se rapporte u miuropnogr ,mme ne e- 25 gistrê dans une mémoire morte;s et le terme "matériel" se réfè- re à la logique electronique 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- 30 porte une gestion centrale de l'affectation de toutes 1s res- sources du système accessibles à ce module de processeur.o Le système d'exploitation fournit une fonction d'ordo aucement et il détermine le traitement qui utilisera ce module de prooesseur. Le système d' exploitation affecte également l'utilisation 35 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émoie aui- liaire. Le système d'exploitation gère égalemnt le système do messages, ce qui facilite la transmission des in:formations Par la ligne entre proesseurso 40 La disposition du système d'exploitation est compatible 27 2485227 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 5 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 10 et de valeurs de registre, ainsi qu'un ensemble de codes éventuellement communs. Un traitement peut également aócédex & -une zone commune de données. . Plusieurs traitements coexistent dans un module 33 de pro- - cesseur. - 15 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. 20 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. 25 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 premier), d'o la nécessité de "messages" (un système ordonné d'écbhanges 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 35 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- 40 valents à certains composants du matériel au point de vue dis- 28 2485227 position et fonction. Par exemple, exactement comme le canal 109 d'entrées-sor- ties communique par la ligne 39 d'Ântrées-sorties avec l'organe de commande 41, un traitement de li'utilisateur peut faire une 5 demande (en utilisant le système de message) au procédé associé à cet organe de commande 41; ensuite, le traitement de l'organe signale à nouveau un état de la même manière que l'organe de commande 41 renvoie l'information au canal 109 d'entrées-sorties par la ligne 39 d'entrées-sorties. 10 L'autre entité fondamentale du système de logiciel9 le mes- sage, se compose d'une demande de service aussi bien que d'une demande de données. Lorsque la demande sera terminée, toutes les valeurs demandées seront renvoyées au traitement demandeur. Lorsqu'un message doit être envoyé entre des traitements 15 dans deux modules diffé6rents 33 de processeurs, on utilise les lignes 35 entre processeurs. Cependant, comme on l!a noté ci- dessus, tous les échanges entre les traitements apparaissent les mêmes aux autraitements,. que ces derniers soient localisés dans le même module de processeur 33 ou dans des modules différents. 20 Cette organisation du logiciel présente plusieurs avanta- ges. Ia 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 25 des modules dlun plus faible volume et les interfaces entre les modules sont bien d6finis. 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 30 de logiciel présentent également l'avantage de -pouvoir être facilement extensibles, comme dans le cas de l'adjonction de modules supplémentaires 33 de processeurs ou d'organes suppléa mentaires de commande 41 au système de traitement par multipro- cesseurs. 35 En outre, le 'fait que l'utilisateur, en rédigeant son pro- gramme, ne doit pas connaître l'architecture réelle de la machine ni l'implantation physique d'autres traitemetst eonsti= tue un avantage pou 1'vtlisateu du système de taitrate t pD multiprocesseurs et du système de logiciel. 40 Le logiciel fouxit de nombreux modules fonctioolent 29 2485227 équivalents avec des interconnexions redondantes, exactement comme le fait le matériel. Par exemple, des messages circulant entre des traitements dans différents modules 33 de pro'cesseurs peuvent utiliser l'une 5 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-10 ment par multiprocesseurs, décrits ci-dessus permettent à l'utilisateur de mettre au point un système d'application qui tient-, compte des erreurs en raison de ses modules répétés avec des interconnexions redondantes. Comme on l'a fait remarquer ci-dessus, les modules individuels 33 de processeurs sont interconnectés par l'inte=ré- 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 uné commande connexe 55 entre pro-.- cesseurs prévue dans chaque module 33 de processeur$ fournit 20 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éjpendants existent entre tous les modules de processeurs du système. Par conséquent, une défaillance d'un circuit (d'une ligne) 25 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. 30 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 35 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è- 40 moire-tampon hors de la file d'attente ou le vidage d'une mê- 30 31 2485227 moire-tampon en file d'attente de la comman.de 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 5 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- respondauce requise avec les fréquences d'horloge des diverses 10 unités centrales 105. la vitesse de transmission de l'imúozma- *tion par la ligne entre processeurs est également..aensibleuent 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 laro 15 geur de bazde de ligne appropriée -même lorsqu'un grand nombre de modules de processeurs sont connectés dans un système de traitement par multiprocesseurs " L'av=amge d'une utilisation d'horloge séparées pot~v cha- que unité centrale i05 réside da-s le fait qu'une horlogeè2e n'est pas n(cessaire, ce qui élimine une source possible de défaillance de composant unique qui pourrait immobiliser tout le système. La commande 55 entre processeurs comprend des vorrouilla-' ges logiques qui permettent d'exploiter les lignes 35 entre 25 processeurs à une fréquence d'horlôge ot chaque unité centrale 105 à 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é- 30 fféré de réalisation de la présente invention, chaque groupe de bits se compose de seize mots dont quinze sont des mots contq- nant des données et dont un est un mot de contrleq. la logique de commande implantée dans le contrôleur 37 de lignes et dans les commandes 55 entre processeurs des modu- 35 les individuels 33 suit un protocole détaillé. le protocole prévoit l'établissement d'une paire émettricea-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 pévu a po la1 transmission du groupe de bits de données, le contr81eur 37 de 40 lignes est libéré pour une autre séquence. la façon pavticulière 32 2485227 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 structurie identique à la ligne Y 35, 5 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 10 module 33 de processeur. Comme l'illustre également la figure 2, la commande 55 entre processeurs de chaque module 33 dé 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 15 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 20 fonction de mémorisation. Dans un exempl.e 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 25 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éalisation de la présente invention, est un registre de quatre 30 bits. Ce registre est chargé par l'unité centrale qui lui indi- que le numéro du module de processeur auquel les données seront envoyées. La partie de commande de l'organe 67 hors de la file d'attente comprend une partie logique 73 de l'état de remplis- 35 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 40 d'attente par l'unité centrale, le compteur 77 hors de la file 2485227 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 test mémorisé dans la m6moire- 5 tampon-69 hors de la file d'attente, le compteur 77 hors de la file d'attente termine l'état de remplissage. ,'organe 67 en dehors de la file d'attente comprend égale- _ mnt 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 10 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 c9m- munes aux lignes X et Y 35 entre processeurs. Comme le montre la figure 3, le contrôleur de ligne 37 comprend une partie logique 81 de l'état de commande de lignes 15 un compteur émetteur 83, une partie logique 85 de sélection de processeur, un registre récepteur 87, un compteur de groupe de ' bits 89 et une horloge de ligne 91.. On se reportera maintenant à la figure 5. Chaque organe -65 en file d'attente comprend une partie logique 93 de l'état de -remplissage des lignes qui fonctionne en synchronisme avec l 'hor- ' loge de ligne, un registre émetteur 95, une mémoire-tampon 97 en file d'attente, un compteur 99 en file d'attente et une par- tie logique 101 de l'état de vidage des processeurs qui fonc- tionne en synchronisme avec l'horloge de l'unité centrale. 25 la figure 6 est un schéma d'état de la logique 81 prévue pour le contrôleur de ligne 37. Ia figure 7 est un schéma d'état des parties logiques 73 et 75 de la partie 67 hors de la file d'attente. Ia figure 8 est un schéma d'état des parties logiques 93 30 et 101 des parties 65 en file d'attente. On se reportera à la figure 7. Iea partie logique 73 de l'état de remplissage des processeurs comporte fondamentalement quatre états, à savoir : VIDE, REMPLISSAGE, COMPLE!T et AJTEMI, comme l'indiquent les légendes respectives. la partie logique 35 75 de l'état de vidage des lignes comporte fondamentalement quatre états, à savoir : EN RESERVE, SYNOiHRONIMTION, EMISSION et EXECUTE, comme l'illustrent les légendeso Continuant la description de la notation de la figure 79 on notera que les lignes en traits rl.eins ternines pe des 40 flèches indiquent des passages de l'état actuel à lêtat suiVnt. 33 2485227 Les flèches en traits interrompus se terminant 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 5 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- 10 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 logique 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-lA, l'état de REMPLIS GE sera rem- 20 placé par l'état COMPIET. De même, on doit noter que l'état d'EHISSION de la partie logique 75 ne prendra pas fin avec la condition-d'instruction de sélection et d'émission aussi longtemps que le compteur 77 hors de la file d'attente n'aura pas atteint le compte de 15; 25 à ce moment-là, l'état d'EMISSION sera remplacé par l'état- EXEOUTE. L'ast&dsque qui apparaît dans la notation de la figure 7 indique un pas de progression du compteur 77 hors de la file d'attente. 30 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, BAIAYGE, REGEP- TION et EMISSION. lIa notation utilisée à la figure 6 est la même que celle 35 qui a été décrite ci-dessus pour la figure 7. Une ligne en traits pleins terminée par une flèche indique un passage d'un état à un autre et une ligne en traits interrompus se terminant par une flèche sur la ligne en traits pleins, indique une condition qui doit être réalisée pour permettre au passage indiqué (ligne 40 en traits pleins_ terminée par une flèche) de se produire. Un 35 2485227 astérisque placé sur une ligne de passage d'un état à un autre indique dans ce cas que le compteur émetteur 83 est avancé d'un pas de progression, simultanément au passage indiqué. Les lignes de sortie en traiis interrompus se terminant 5 par une flèche à la figure 6, indiquent les instructions du pro- tocole envoyées par le régulateur de lignes à la ligne enLtre 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 10 sortie logique, allant de cet état A 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 processeux: Ia figure 8 représente les schémas d'état de la partie 15 93 de la logique de l'état de remplissage des lignes et de la partie 101 de la logique de l'état de vidage des processeurs. Le schéma d'état de la partie 93 de la logique compire quatre états, à savoir : SNOBGOISATIO0, 9OGEPTATIONI RECEPTION et COqPLET . 20 Le schéma d'état de la partie log'.que 101 comprend quatre états, à savoir : NIOE A ZERO, PFET, t:TERERUPTION et VIDAGE. Ia notation (flèches en traits pleins et flèches es traits interrompus) est la même que celle qui a été décrite oi=dessus en ce qui concerne les figures 6 et 7. 25 L'astérique à la figure 8 indiquf. un pas de progression dans le compteur 99 en file d'attente. La figure 9 est un cbhronogramm représentant la séquence chronologique selon laquelle se proluisant les changements d'état mentionnés aux figures 6, 7 et 80 ~30 Ia séquence représentée à la f.lire 9 effectue la trans- mission d'un groupe de bits, d'un maolule de processeur à un autre module de processeur à la :réquence 'd'horloge de la li- gne (le module récepteur prévu ét.nt supposé prêt à recevoir le groupe de bits). 35 Ia figure 9 représente les s quences chronologiques d'une transmission de groupe de bits ef:ectuée &vec succès$ les représentations des signaux individ- iels étant indiquées de haut en bas à la figure 9 et les périctiLes de temps d'une horloge de ligne étant représentées chacne de gauche à droite à la 40 figure 9 dans l'ordre croissent eies temps0 36 248522.7 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 5 reporte verticalement vers le bas afin de couper les représenta- tions des divers signaux indiqués par les légendes portées à gauche de la figure. Si l'on considère les signaux séquentiels présentés de haut en bas à la figure 9, le premier signal (en dessous de la 10 ligne d'état du contrôleur de ligne) est le signal de DEMANDE D'EMISS]N(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- 15 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 zeprésenté à la figure 9, c'est-à-dire le signal de SELECTION, représente un signal qui provient de la 20 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 25- 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 30 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. 35 Tout d'abord, en combinaison avec le signal de SELECTION du récepteur, ce signal interroge le module 33 du processeur récepteur pour s'assurer que ce module de récepteur est prêt à recevoir, comme l'indique l'état ACCEPTATION & la figure 8). Ensuite, ce signal a comme deuxième fonction d'invalider 40 la partie logique 75 de l'état de vidage de la ligne du module 2485227 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écpteur prévu 30 a également un groupe de données en propre prêtesi être envoyées. 5 A ce sujet, pendant que le processeur émetteur impose le signal d'ACCEPTATION D'EMISSION, il envoie également le numéro prévu de récepteur dans la ligne pour que le régulateur 37 de lig_ ligne puisse l'utiliser. la ligne 35 elle-même est, bien entendu, une ligne non directionnelle de sorte que l'information peut être 10 envoyée vers laligne 57 de données par un module quelconque en lue 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'infomnation. On doit noter qu'un module 33 ne peut envoyer des données dans la ligne que lorsque sa li- 15 gne de SELECTION est validée et que le signal de COMMNDE DE RECEPTION n'est pas validé. Pendant le temps que le signal de COOMMNDE DE RECEPTION est validé, le contrôleur 37 de ligne transmet le numé6ro du ré- cepteur à la ligne 57 de données pour sa saisie par le module de 20 processeur récepteur sélectionné. Ia 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 ôommande de ligne du contrôleur 37 de ligne, par 25 l'une des lignes 59 de protocole, afin d'indiquer que le module récepteur sélectionné se trouve à l'd;at d'ACOEPTATION~ 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 REOCEPTION n'est pas validé par le module récepteur, la SEIECTION de l'émetteur, la COMMNUDE 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'ACOPTATION DE RECEPTION est validé, la s- quence indiquée par la ligne de COiNDE DENISSION De produire 35 alorso La ligae de CO0M'MNDE D'EHIMBION reprsente % signal qui est émis par la partie logique 81 de l'état de eo _de de la ligne du contrôleur 37 de ligne ot qui est trasmis à la pa:ti logi- 37 38 2485227 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 protocole. En combinaison avec un signai de SELECTION du module du 5 processeur émetteur, le signal de 0O0NANE 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 COANDE D'EMISSION. La dernière ligne, c'est-à-dire la ligne 16 de données, 10 représente l'infommation présente dans les lignes 57 de données pendant la séquence décrite ci-dessus. Les données sont envoyées à la ligne par le module de pro- cesseur émetteur sélectionné et elles sont transmises au module de processeur récepteur dans la mémoire-tampon 97 hors de la 15 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'ACOEP2AION DE RECEPTION a été reçu par le régulateur de li- gne en réponse au signal de COMMANDE DE RECEPTION. Si le signal d'AOCEP2ATION DE RECEPTION n'avait pas été 20 reçu par le contrôleur de ligne, le signal de COMMIANDE D'EMISSION 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 25 et de la commande 67 hors de la file d'attente d'un module 33 de processeur. Comme le montre la figure 10, la partie 73 de la-logique de l'état de remplissage du processeur comprend deux bascules bistables A et B, tandis que la partie 75 de la logique de l'é- 30 tat de vide de ligne comprend deux bascules bistables C et D. En résumé des affectations d'états représentées par les ta- bles AB et CD de la figure 10, l'état de VIDE est défini par A o, B = o. L'état de remPLISSAGE est défini par A = 1 B = 0. L'état COMPIET est défini par A = 1, B = 1 et l'état d'ATTENTE 35 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 40 données sous la forme d&'équations logiques. Par exemple, l'état 2485227 de VIDE peut être représenté par l'équation !.B et cette nota- tion est utilisée dans les listes d'équations logiques de la figure 11. En fonctionnement et avec un~ référence particulière à la 5 figure-7, l'état initial atteint par l'intermédiaire d'initialisation de mise sous tension ou la remise manuelle à zéro est l'état VIDE représenté à la partie supérieure gauche de la fi- gure 7. L'état VIDE de la logique 73 de l'état de remplissage du 10 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 15 entre processeurs est nécessaire9 les microinstructions (micro' programme) de l'unité centrale, en réponse à un signal I'p:rt", fourniront un signal de réception dans la mémoires 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 sY9hr.oni- 20 se le passage de l'état VIDE à l'état de EHPPISISAGE. Pour Transmettre les données dams la mémoire=tmpon 69 hors de la file d'attente, les microinstructions de l'uite centrale fourniront un signal de mémorisation hors de la file d'attente,. représenté par la floèche enb aits interrompus entrant dans le 25 schéma de la figure 7, pour chaque mot à stocker dans la 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- 30 teigne un compte quinze. Lorsque le signal de mémorisation hors do la file d'attente sera produit pour la seizième fois9 un passage de l'état de REMH PLISSAGE à l'état COMPLET, illustré par une flèche en traits pleins à la figure 7, est permis. 35L'état COMPLET de la logique de l'état de REMPLISSGEEi processeur fournit une condition de synchronisation à la logique de l' état de vide de la ligne, illustrée par la flèche au traits interrompus portant de l'état CO0IPIT de la logique 73 et des- cendant vers la logique 75 à la figure 7o 40 La logique 73 de l'état de remplissage du processea s- 39 2485227 tera à l'état COMPLET 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 1' état de -vide de la ligne représdntée à la figure 7 par la ré- 5 férence 75, l'état initial EN RESERVE de la partie logique 75 à la figure 7 est de nouveau assuré par une initialisation de la mise sous tension ou par une remise manuelle A zéro. la logique 75 de l'état vide de la ligne restera à l'état EN RESERVE jusqu'à ce que le passage à l'état de SYNOHRONISA- 10 TION soit permis, comme le montre la flèche en traits interrom- pus venant de l'état COMPIET 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 15 d'EMISSION. C'est dans l'état d'EMISSION que le signal de DEMANDE D'EMISSION appliqué à la ligne et au contrôleur de ligne est va- lidé, comme l'indique la flèche en traits interrompus partant de l'état d'EMISSION du schéma 75. 20 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. 25 Le contrôleur de lignes enverra un signal de COMMANDUE DE RECEPTION et de SEIECTION 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. 30 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 COMMANDE D'EMISSION envoyé au module de processeur émetteur. Ce signal de SEIECTION et ce signal de COMMANDE DE SEIEC- 35 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 SEIECTION et de COMMANDE D'EMIS- SION sont validés, chaque horloge de ligne fera progresser le 40 compteur 77 hors de la file d'attente, à partir d'un compte de 40 ~~~41 .2485227 zéro. À la seizième période d'horloge de la SELECTION et de la COMNDE D'ENISSION, le passage de l'état d'EMISSION à l'état EXEOUTE est synchronisé comme le m4ntre la flèche en traits in- 5 terrompus permettant ce passage. Lorsque la logique 75 de l'état de vide a atteint l'état EXECUTE, un passage de la logique 73 de l'état de remplissage du processeur, de l'état COOPIET à l'état d'ATEfNTE; est syn- chronisé, comme le montre la flèche en traits interrompus par- 10 tant de l'état "exécuté". Ensuite,l 'état d'ATEENTE 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 EESERVE, comme le montre une flèche en traits interrompus partant 15 de l'état d'ATTENTE et synchronisant le passage indiqué. Enfin, la logique 75 de l'état de vide de la ligne, étant dans l'état 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. 20 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 Ia description ci-dessus concerne les passages d'état et les synchronisations indiquées à la figure 7e 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, ser maintenant dé- 30 crite avec référence au schéma logique de la figure 10 et à la liste d'équations logiques de la figure 11. On se reportera d'abord à la figure 10 Comme on l'a men.- tionné ci-dessus, les bascules bistables A et B sont des baseu- les bistables J.Ko à déclenchement par le bord dan lesquelles 35 des changements d"état se produisent uniquemenmt aux pausages d'horloge, comme l'indiquent les petits symboles triSugulaires et les légendes mentiomn6s du coté gauche des bascules bistables A et B . la figure 10. Le schéma logique de la figure 10 a pour premier objet 40 d'illustrer le passage d'"m état t u autre dans les machines è .:, , ' ~~~~2 . ~42~2485227- produisant ces états et représentées à la figure 7. Ainsi, pour illustrer le passage de l'état de RESERVE à l'état de SYNCHRQ- NISATION de la logique 75 d'état de vide, le fonctionnement est le suivant : ! 5 Pour effectuer un passage de l'état de RESERVE à l'état de SYNOCERONISATION, la variable d'état O doit être mise à 1. L'équation logique pour l'entrée J de la variable d'état 0 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 10 flèche en traits interrompus venant de l'état "complet" de la logique 73 de l'état de remplissage à la figure 7 et aboutis- sant à la flèche représentant le changement) correspond à la quantité (A.B) ou (COIPLET) dans l'équation repérée par la ré- férence 103. Le symbole f ou (EN RESERVE) dans l'6qaation rep6- 15 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 0 de la figure 10. Et le symbole (C) correspond à la sortie vraie de la bascule bistable O de la figure 10. 20 On ne décrira pas plus en détail d'autres passages. d'un état A 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 effectu6s 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 25 passage de l'état de RESERVE à l'état de SYNOCERONIS TION, comme on l'a décrit en détail ci-dessus. Les figures 10 et 11 représentent le schéma logique et les équations logiques du schéma d'état de la mémoire-tampon hors de la file d'attente et de la commande 67. Les schémas logiques 30 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 35 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- 40 seur y compris luilLmême, par l'intermédiaire de l'une ou l'au43 2485227 tre des lignes. Pour chaque transfert de données on 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 paia un module de processeur par 5 l'intermédiaire de l'une des lignes entre prooeseums est dé- clenchée et réalisée par le logibiel au moyen de l'Vtiotion d 'ENISSION, Dans l'instruction d'EHISSION9 le microprogramme 115 et le microprocesseur 113 de l'unité centrale, représentés à-la figu10 re 2, agissent en liaison avec la partie commune 67 de la file &'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 15 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 blocq 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- 20 tente pour que la partie commune 67 hors de la file d'attente, représentée à la figure 2 devienne disponible. L'instruction d'EMIMSION 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- 25 tion d'EMISSION peut être interrompue et reprise, de morte 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 30 l'intermédiaire des lignes entre processeurs, ne s'effectue pas au moyen d'une instruction du logiciel puisque les temps d'arri- vée et les sources des groupes de bits de données ne peuvent être prévus. La réception des données est validée mais ne peut être déclenchée par le récepteur. 35 Le microprocesseur 113 de l'unité centrale extrait du trai- tement de l'instruction du logiciel un délai d'attente néc$ssaire pour l'exécution du microprogramme 115 de RECEPTION EN LIGNE. Ce microprogramme e:trait de 1'8une des parties 65 en file d'at- tente, représentées à la figure 29 de la commende 55 entre pro- 40 cesseurs le Groupe de bito de données, stocke les donsmm dans 2485227 une mémoire-tampon et vérifie que le total de contrôle des groupes de bits est correct. Le réassemblage en blocs des groupes de bits reçus s'ef- fectue au moyen de la table 150 de;réception de ligne implantée 5 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 10 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 15 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 .20 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 J'émetteur, stocke le groupe de bits de données dans la zone spécifiée, vérifie que le total de contrôle des groupes. de bits est correct et stocke à nouveau les valeurs réglées du -25 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- 30 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 35 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 40 au programme en cours de déroulement dans le processeur récep- 2485227 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 eAtre processeurs ait été ef5 ectué 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 r6- cepteur suivant la nécessité. Le balayage circulaire par un O10 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 ligneo Chaque ligne fournit un circuit de communication qui est exploité en temps partagé sans déséquilibre par tous les modules de processeurs. ~15 Ensuite, chaque partie 65 en file d'attente de la commande 55 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 20 réservées à un seul émetteur pendant la durée d'un transfert par blocs. Au contraire, chaque groupe de bits reçu est correc- tement dirigé dans la mémoire par l'entrée de la table de réception de ligne correspondant ài son émetteur et à sa ligne. Les blocs de données provenant de plusieurs émetteurs sont as- 25 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. o0 Tout d'abord, il existe un bit dans le registre de KIL9QUE d'interruption de l'unité centrale, correspondant à chaque li- gne entre processeurs. Lorsque le bit de MAQUE est présent, des microinterruptions sont permises dans cette ligne. Des micro-interruptions (lancement du microprogrsamme de EOEEPTION 35 DE aLIGIE) se produisent lorsque la logique Iole représentée à la figure 5, de l'état de vide de processeur dme partir 65 en file d'attente atteint l'état de N!ROIETERUMIOT après qu'un groupe de bits a été reçu dRns une mSmoi=tapon en file d'attenteoi le bit de MqSQE est absent & la rscDption 40 d'un groupe de bits, la microlitorption et le raitement Sui- Il5r 2485227 vant du groupe de bits dans la mémoire seront différés Jusqu'à ce que le bit de MASQUE soit amené par une instruction du lo- giciel. Les opérations du logiciel, pelles que le changement d'une 5 entréè de la table de réception de ligne, sont effectuées avec des microinterruptions invalidées afin d'6viter 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- 10 te Jusqu'A ce que la microinterruption soit validée. Les trans- missions des groupes de bits suivants sont refusées aussi long- temps que la mémoire-tampon en file d'attente est pleine car la logique 93 de l'état de remplissage de ligne sera à l'état COMHPLET et donc dans l'incapacité de valider le signal d'AOCEP- 15 TATION DE RECEPTION en réponse au signal de SEIEOCTION. 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é- 20 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, 25 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 IX.ou la ligne Y. En d'autres termes, le microprogramme envoie le signal RINT (INTERRUPTION DE REîEPTION), représenté A la fi- 30 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. 35 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 40 se produise, la logique 93 de l'état de remplissage de ligne 2485227 en file d'attente reste à l'état COMPLET 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 transferA 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 i envoyer les blocs de don- 1o 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. 15 L'instruction d'EMISS2IO 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 20 nombre attendu par la tableQ 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- (x 25 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 des bnnées). Ia période d'atten- te repart de zéro pour chaque groupe de bits transmis par l'in- 30 termédiaire de l'instruction d'EMISISI0N. Le quatrième mot paramètre précise la ligne (c'estdà-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. 35 ticulier de réalisation de la présente invention, indiquent le numéro du module de processeur récepteur0 A l'achèvement d'une instruction d'VEMISION, il y a deux situations possibles: Ia première situation est la suivante il s'est produit 40 un délai d'attente d'un groupe de bits et les groupes de bits 47 2485227 48 restants n'ont pas été transmis, l'instruction ayant pris fin à ce moment-lA. Dans ce cas, les groupes de bits restants du bloc ne sont pas transmis. La deuxième situation possible consiste en une indica- 5 tion de l'achèvement réussi de la transmission d'un bloc de données. - Ainsi, dans une première récapitulation de l'opération d'EMISSION, l'instruction d'EMISSION remplit la mémoire-tampon 69 hors de la file d'attente, représentée à la figure 4, au 10 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 15 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. 20 La première action de la séquence d'instruction d'EMIS- SION est d'envoyer un signal de REEPTION EN MEOIRE à la lo- gique 73 de .l'étatde 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, 25 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. 30 Le signal de RECEPTION EN MEMOIRE fait progresser la lo- gique 73 de l'état de remplissage du processeur, qui est initialement à 1' é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- 35 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- 40 médiaire de la ligne M représentée à la figure 4, dans la 2485227 49 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,idans la mémoire-tampon 69 hors de la file d'attente à un emplacement précisé par le compteur 5 77 hors de la file d'attente. Chaque signal de stockage hors de la file d'attente a également pour effet de faireprogresser 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 10 à é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ées0 15 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 20 total de contrôle d'imparité est chargé dans le seizième empla- cement de la mémoire-tampon 69 hors de la file d'attente. A ce moment-là, le compteur 77 hors de la file d'attente a une valeur de compte égale à 15 et cette valeur, combinée au- signal de stockage hors de la file d'attente, fait passer la lo- 25 25 gique 75 de l'état de remplissage du processeur, de l'état de REMPLISSAGE à 1' état COMIPIET, 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 30 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 PEIT 35 ne soit validé, le microprogramme envoie à la logique 73 de l'é6- tat de remplissage du processeur, représentée à la figure 4, le signal hors de la file d'attente de remise à zéroo Cecoi a pour résultat de ramener la logique 75 de l'état de reîplissage du processeur à l'état de vide représenté à la figure 79 et le 40 microprogramme met ensuite fin à l 'instruction d'EMIISIOZ Evec 2485227 l'indication du dépassement du temps imparti. En fonctionnement normal, l'état COMPLET de la logique 73 de l'6tat de remplissage du processeur synchronise la logique 75 de l'état de vide de la ligne de minière à la faire passer de 5 l'état EN RESERVE à l'état de SYNOCHRONISATION représenté à la figure 7. Ensuite, l'état de SYNCHRONISATION est remplacé automa- tiquement par l'état d'EMISSION et cet état provoque l'envoi du signal de DEMANDE D'EMISSION au contrôleur 37 de ligne. Le signal- de DEMANDE D'EMISSION déclenche une séquence de transmission de 10 groupes de bits décrite auparavant. GComme 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 accepté la transmission du groupe de bits au moyen du signal 15 ACCEPTATION DE RECEPTION, le groupe de bits est envoyé de la m6- moire-tampon 69 hors de la file d'attente, par l'intermé6diaire 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. 2Q Lorsque le seizième mot est envoyé dans la ligne, la valeur du compte 15 du compteur hors de la file d'attente, en combinai- son avec le signal de COMMANDE D'EMISSION et le signal de SELEC- TION DE L'EMETTEUR, fait passer de l'état d'EHISSION à l'état EXECUTE la logique 75 de l'état de vide de la ligne. 25 L'état EXECUTE synchronise 1' é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 EXECUTE à la flèche marquant à la figure 7 le passage de l'état COMHPLET afin de passer à l'état d'ATTENTE. 30 Ensuite, l'état d'ATTENTE synchronise l'état EKECUTE afin db 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 35 de la figure 7. L'état de VIDE de la logique 73 de l'état de remplissage du processeur fournit l'indication PEET au microprogramme 115. Si le groupe de bits qui vient juste d'être transmis est le dernier groupe de bits du bloc spécifié de données, l'instruction 40 d'EMISSION prend fin et l'indication d'une transmission réussie 5o 2485227 51 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- 5 qu'à ce qu'une erreur de délai d'attente se soit produite. L'instruction d'EMISSION peut être interrompue et reprise; cependant, 1 'instruction d'EMISSION ne peut être interrompue qu'entre les groupes de bits et l'interruption de l'instruction d'EHISSION n'a aucun effet sur les données transmises. 10 Ainsi, au moyen d'une seule instruction de programme (l'instruction dIEMISSION), 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 15 de bits. De même, la transmission se produit à un débit élevé de transfert des données car la mise en mémoire-tamnpon 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- 20 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- 25 tion pour la réception. ~- Pour qu'un module de processeur reqoive des données par l'intermédiaire d'une ligne entre processeurs, le syst&me d'ex- ploitation de ce module de processeur doit de'abord réaliser une entrée dans la table de réception de ligne. Chaque entrée de la 30 table de réception de ligne contient l'adresse dans laquelle sont mémorisées les données "en entrée" et le nombre attendu de mots. Pendant que le module de processeur émetteur est en train d'exécuter l'instruction d'émission et envoie les données dans 35 la ligne, le matériel de réception de la ligne et le micropro- gramme 115 du module de processeur récepteur rangent les don- nées en fonction de l'entrée de la table de réception de ligne (ceci se produit en imbrication avec l'exécution du programme du logiciel). 40 Lorsque le module de processeur récepteur regoit le nombre 52 2485227 attendu de mots d'un émetteur donné, le programme en cours de déroulement est interrompu et cette transmission particulière par la ligne se termine. La figure 5 représente le schéma logique et la figure 8 5 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. La des- cription qui suit se rapportera donc A une seule de ces parties 10 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 PREo. L'état PREE synchronise l'état de SYNCHRONISATION 15 de la logique 93 de l'état de remplissage de ligne pour faire passer la logique à l'6tat d'ACCEPTATION. Dans cet état d'ACCOEPTATION, la partie 65 en file d'attente renvoie le signal d'ACCEPTATION au contrôleur 57 de ligne en réponse à un signal 63- de SELECTION, représenté à là figure 2, de 20 ce module 33 de processeur. Ceci montre la facilit6 avec laquel- le la partie 65 en file d'attente X reçoit les groupes de bits de données. Dans la sgéquence de transmission des groupes de bits, décri- te en détail ci-dessus, la combinaison du signal de SELECTION de 25 ce module de processeur et du signal de COMNDE DE RECEP2ION synchronise l'état d'ACCEPTATION de la logique 93 de l'état de remplissage de ligne et le fait passer A 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 30 représenté A la figure 5. A l'état de ORECEPTION, 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 35 provoque le passage de l'état de RECEPTION à l'état COMPIET, comme le montre la figure 8. L'état COMPLET synchronise l'état PRET de la logique 101 de l'état de vide du processeur pour la faire passer à l'état de MICROINTERRUPTION, comme le montre la' figure 8. L'état de 40 MICROINTERRUPTION présente un état C0OMPIET EN FIIE D'ATTENTE à 2485227 53 la logique d'interruption de l'unité centrale. Ce signal COMPLIET EN FILE D'ATTENTE produit une microinterruption à la fin de l'instruction suivante du prograimme si le bit de MASQUE corres- pondant à cette ligne est présent. 5 Le microprogramme 115 de réception de ligne lancé par l'interruption envoie d'abord un signal de BLOCAGE, représenté & la figure 5, à la logique 101 de l'état de vide du processeur. Ceci- fait passer l'état de MICROIN:ERRUPTION de la logique 101 de l'é- tat de vide du processeur à l'état de VIDAGE. 10 Le signal de BLOCAGE sélectionne également la partie en fi- l d'attente X ou la partie en file d'attente Y; à condition , toi tefois, que les deux parties en file d'attente soient complètes et validées, c'est la partie X en file d'attente qui est validée. Ensuite, le microprogramme 115 produit le signal d'EMIS- 15 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 20 é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 25 logique 101 de l'été de vide du processeur de l'état de VIDAGE à l'état de MTISE A ZERO, comme le montre la figure 8. Dans ce cas, il n'y a pas d'autre action. La microinterruption prend fim et le traitement re l'instruction du programme est reprise Si le comptage est positif, le microprogramme 115 extrait 30 des mots de la mémoire-tampon 97 en file d'attente pour les lan- cer dans la lignes 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 FIES DATENTE, le compteur 99 en file d'ateente progresse afin de balayer la 35 mémoire-tampon 97;en file d'attente. Au lur et à gesure que chaque mot de données est entrait de la mémoire-tason 97 en file d'attentet le mot de comptage est diminué, le m4t-adresse de la mémoirs est augaente et lae mot de données est stocké dans la mémoireo 40 Si le mot de: comptage atteint zéro9 aucun auWre mot n'est 2485227 54. 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 laimémoire. Dans ce cas, la lo- gique 93 de la ligne de l'état dé remplissage reste à l'état 5 COMPIET Jusqu'à ce qu'elle soit remise A 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- 10 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 15 stockés dans la mémoire, un total de contrôle modulo deux des données du groupe de bits est calculé. Si le total de contrôle est mauvais, le compte de mots dans l'entrée de la table de réception de ligne est régl1à -256, un indicateur d'interruption de fin d'opération est placé 20 et le numéro du processeur émetteur est introduit dans la né- - moire. Comme ci-dessus, la logique 93 de l'état de remplissage de la ligne reste à l'état COMPLET jusqu'à ce qu'elle soit remise à zéro par une instruction de DEMANDE D'INTERRUPTION DE - RECEPTION. 25 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- 30 seur, de l'état de VIDAGE à l'état de MISE A ZERO, comme le montre la figure 8. ' état de MISE A ZERO de la logique 101 synchronise la lo- gique 93 de l'état de remplissage de la ligne et la fait pas- ser de l' état COMPIET à l'état de SYNCHRONISATION, comme le 35 montre également la figure 8. A ce stade, la logique a été ramenée à l'état dans lequel elle se trouvait avant que le groupe de bits ne soit reçu, ce qui permet donc la réception d'autres groupes de bits. Ces groupes de bits peuvent provenir du même émetteur, 40 de manière à compléter le bloc de données, ou bien ils peu- 2485227 55 vent provenir d'un autre émetteur. Ceci met fin à l'action du microprogramme 115 de réception de ligne et le microprocesseur 11~ reprend le traitement des instructions du logiciel. Lorsqu'il s'est produit une interrupt*ion de la úin de l'opération de réception, le programe de gestion de l'interruption 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 10 détecter si une erreur s'est produite dans le total de contrôle en examinant le mot de comptage de la table de réception de li- gne de ce processeur émetteur. Dans le cas d'une erreur de transmission, le mot de compta- ge a été amené à -256. En d'autres termes~ le mot de comptage contiendra une valeur comprise entre --4 et zSroo Comme on l'a mentionné ci-dessus, il incombe donc au pro- gramme de gestion de l'interruption de la fin d'opération de ré- ception de ligne de produire un signal d'INTERRUPTION DE RECEP- TION, par l'intermédiaire d'une instruction de programme de 20 DEMANDE Dl 1MTERRUPTION 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é- 25 ception des données par un processeur récepteur ne provoque pas d'interruption de programme du module de processeur récepteur jusqu'à ce que le bloc de données tout entier ait été reçu jus- qu'à ce qu'une erreur se soit produiteoDe même, les parties 65 en file d'attente servent de mémoires-tampons pour prm(ettre la 30 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émoireoCette capacité d'utili- ser le débit élevé de transmission de la ligne assure une largeur de bande appropriée de ligne de manière à desservir plu- 35 sieurs modules de processeurs sur une base de découpage du temps Enfin, le fait qu'un mot de total. de contrôle soit prévu dans chaque groupe de bits de données, fournit au 'module de proces- seur récepteur un moyen ide vérifier l'exactitude deS données reçues par le circuit de communication du système de multipro- 40 cesseurso 2485227 56 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 fodule de processeur 33 à un autre traitement dans un autre module de processeur 33. Un trai- 5 tement tel qu'on l'a décrit ci-dessus dans la description du système de traitement par multiprocesseurs, forme une entité fondamentale dans le système de logiciel et plusieurs traitements coexistent dans un module de processeur 33. L'information trans- mise par la ligne entre processeurs, entre des traitements im- 10 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- 15 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- 20 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 25 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 30 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- 35 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. - 40 Le groupe de bits de contrôle précédant les groupes de ~~57 ~2485227 bits de données est nécessaire car une ligne n'est jamais affectée à un message particulier et le groupe de bits de contrôle sert par conséquent à identifier correctement le message et & indiquer la quantité de données à *ecevoir dans le message. ~5 Cette transmission de l'information (groupe de bits de con- tr6ôle, infomation, 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 10 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. 15 Tout d'abord, si une erreur est commise au cours de la transmission des données (et le reste du bloc de données doit alors être rejeté), le groupe de bits de fin de bloc indique la fin du bloc. Ensuite, si le processeur émetteur tente d'envoyer trop de 20 données (et,de nouveau, le bloc doit être rejeté), le groupe de bits de fin de bloc fournit un moyen de reconnaître que les données ont été transmises et que la transmission de données est terminée. Ou bien l'information transmise est reproduite sur diffé- 25 rente 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 30 de ligne ne sera pas perçue par les deux traitements concernés, Le logiciel de réception de ligne est verrouillé avec le matériel de réception de ligne, c'est-à-dire la partis 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 eu file d'ut 35 tente et la mémoire'107. Oeci permet d'effectuer des operations telles que la modifi- cation de l'information de la table de réception de lige sans conditions de courses (problèmes de ouioni etioa9o Une fois que l'information de la table de réceptwao de lie 40 Sne a été mise à j ou, on supoprîi le verrouillage on liUnt 2485227 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équenced. Elle permet au matériel 5 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. lie système de matériel et de logiciel est constitué de tel- 10 le sorte qu'aucune information n'est perdue en cas de dé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. 15 L'action combinée de ce système de matériel et de logiciel inclut un signal d'alarme d'alimentation, indiqué dans la ligne 337 de la figure 3 et eourni à 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 20 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- 25 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ée. Les lignes 35 entre processeurs sont utilisées par le systè- 30 me d'exploitation pour assurer que les autres modules de proces- 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 55 é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 40 programme particulier d'application peut se dérouler de façon 58 2485227 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&èe de traitement par multipro- 5 ûesseurs qui se compose de deux modules 53 de pro eseur con- nect6s par une double ligne 35 entre proo seur (une ligne re- pérée X et une lige repérée Y)9 d'un organe 41 do conmmnde qui commande plusieurs terminaux à clavier, et d'un autre organe 41 - de commande qui commande un disque. 10 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 multiprocesseurs0 La séquence débute par la vue de gauche supérieure et elle 15 se poursuit dans l'ordre indiqué par les flèches en traits lar- ges disposées entre les vues. La séquence passe ainsi de l'état 1 indiqué comme étant l'Etat Initial, à l'état 2 : Unité Centra- le 0 Coupée, puis à l'état 3 : Unité Centrale 0 Remise en état, a l'état 4 : Unité Centrale 1 Coupée et à l'état 5 : Unité Cen- 20 trale I Remise en état, comme l'indiquent les légendes au-dessus de chaque vue séparée. Dans l'état initial du système de traitement par multi- processeurs, représenté par la ue intitulée ":Etat Initial" et placée en haut à gauche de la figure 42, une copie PA du pro- 25 gramme d'application est en cours d'exécution. Cette copie lance un appel de système pour créer la copie PB sous forme d'un dou-- ble auquel le programme d'application PA passe ensuite l'infor- mation. L'ensemble des entrées et sorties se fait par le modu- le O de processeur. Dans cet état initial, 1a ligne 55 entre pro- 30 cesseurs peut tomber en panne ou tre coupée comme lincdiquent les barres tracées sur la ligne X, et elle peut ftre réintrodui- te ensuite dans le système de traitement par multiprocesseurs sans produire aucun effet sur le programme d'application AL. Dans la vue suivante, intitulée "Unité Centrale 0 Coupée", 35 le module O 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 prograe 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 40 par multiprocesseurs de telle sorte qu'elles s'effectuent par 59 2485227 60 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'eusrées-sorties con- 5 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 10 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 15 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 O de processeur. Cette autre copie est désignée par les initiales MC. 20 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- 25 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 O de processeur. Les terminaux continuent à être desservis sans interruption. Enfin, comme le montre la vue placée en haut à droite de la 30 figure 42 et intitulée "Unité Centrale 1 Remise en état, le mo- dule I 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 O de processeur. Le programme d'application PC est informé que'le 35 module de processeur est maintenant disponible et il ordonne mi système de traitement par multiprocesseurs de créer une autre copie de lui-même (programme d'application PD) dans le module 1 de processeur. Tous les éléments du système de traitement par multiprocesseurs sont maintenant exploitables. 40 Pendant tout ce temps,.les deux lignes entre processeurs 61 2485227 et les deux modules de processeurs ont été rendus inutilisables et ont été réintroduits dans le système sans que le programme d'application et les terminaux aient subi d'interruption. Une caractéristique importante du système de traitement 5 par multiprocesseurs réside dans le fait que, non seulement le programme d'application peut se dérouler alors qu'il y a une défaillance, mais également que l'élément défaillant peut être réparé et/ou remplacé pendant que le programme d'application continue à se dérouler. Ceci est vrai non seulement pour les 10 modules de processeurs et les lignes entre processeurs, mais 'également pour tous les éléments du système de traitement par multiprocesseurs tels que les alimentations électriques, les ventilateurs dans le châssis, etc0 Le système 31 de traitement par multiprocesseurs est ainsi un véritable système continu. 15 Le système 31 de traitement par multiprocesseurs, repr6- senté à la figure 1, comprend un système d'entrées-sorties et des organes 41 de commande à double entrée, comme on l1e noté précédemment d'une manière générale. ILe système d'entrées-sorties a pour objet général de per- 20 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 25 "dégradé", de telle sorte qu'une défaillance d'un module 3355 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 50 une structure correspondante qui, en liaison avec les deux li- gnes correspondantes 59 d'entrées-sorties, permet un acc&s redondant à un appareil périphérique, comme on le décrira plus en détail ci-dessous. Le système d'entrées-sorties qui fait l'objet de la présente invention comporte également quelques etxactristiques particulièrement significatives en matière de perfozrnoes P ar exemple, une des caractéristiques de perforace 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 fonctiore zt la structure des lignes d'entressortis Ls organes 41 dV 2485227 62 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 mua tiplexage en tranches de 5 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 10 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 15 55 entre processeurs mentionnée ci-dessus, une unité centrale 105, 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 20 é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 25 commande. En continuant à se reporter à la figure 12, on verra que chaque unité centrale 105 comprend un microprocesseur 113. Un microprogramme il5 est associé à chaque microprocesseur 113. Le microprocesseur 113 exécute une partie du microprogramme 115 en 30 exécutant les instructions d'entrées-sorties pour le système d'entrées-sorties. Les instructions d'entréès-sorties sont indi- quées à la figure 12 par les sigles EIO (exécution des entréessorties), IIO (interrogation des entrées-sorties) et HIIO (interrogations hautement prioritaires des entrées-sorties). Ces 35 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. 40 En continuant à se reporter à la figure 12, on verra que 63 `] ~ ~653~ ~2485227 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 multiproce$seurs, cette fonction con- 5 sistant à effectuer la séquence de reconnexion et de transmis- sion des donnéues, illustrée à la figure 16 et décrite plus en détail ci-dessous Le canal 109 d'entrées-sorties d'un module 33 de proces- seur comprend également une logique 123des circuits de données, 10 oomme le montre la figure 12. Conmme le montre ledmieux la figure 13, la logique 123 des circuits de données comprend un registre 125 de données mises en mémoire par le canal, un registre 127 de données d'entrées- sorties, un registre 129 d'adresses mises en mémoire par le ca- 15 nal, un registre 131 de comptage des caractères, un registre 133 d'adresses des appareils actifs, un registre 135 séparateur de priorités et une logique 137 de contrôle et de création de pa- rité . Le circuit 117 représenté à la figure 12 comprend deux li20 gnes repérées à la figure :13 sous l'appellation de ligne M et de ligne K. La ligne M est une ligne de départ venant du micro-proces- seur 113 etelle introduit les données dans le registre 127 de données d'entrées-sorties. 25 Ia ligne K est une ligne d'arrivée .qui transmet les données de la logique 123 du circuit de données au microprocesseur 1113 Comme le montre la figure 12, un circuit 139 connecte la logique 123-du circuit de données et le sous-système 107 de la mémoire. 30 Ce circuit 139,représenté à la figure 12, inclut à la fois un circuit de matériel 139A et deux circuits logiques 139B et 1390 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 35 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 15. Un premier branchement 159-A 1 transmet les données de la 40 mémoire au registre 125 de données mises en mémoire par le canual. 2485227 Un deuxième branchement 139A-2 transmet à 1l mémoire les données venant du registre 129 d'adresses mises en mémoire par le canal. Et un troisième branchement !139A-3 transmet à la mémoire 5 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 10 10 une machine 143 dans la ligne T, représentée à la figure 13, et des lignes de DEMAL-DE DE RECONNEXION 145, DEPNDE D'INTERRUP- eION FAIBIEMENT PRIORITAIRE 147, DEMtANDE D'INTERRUPTION FORTE- MENT PRIORITAIRE 149 et de DEMANEDE DE RANGEMENT 151, comme le montre la figure 14. 15 La ligne 59 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 REMERENCE 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 20 EN SORTIE 155, d'UTILISATION EN ENTEE 157 et d'ARBET EN ENTRI 159 qui servent de lignes de liaison, comme l'indiquent les lé- gendes de la figure 14. Comme le montrent la figure 12 et la figure 14, la ligne 39 d'entrées-sorties comprend également un groupe de lignes 161, 25 163, 165 , 167 et 169 pour l'acheminement des données. Ia ligne 161 et la ligne de PARITE 163 pour l'acheminement des données sont bidirectionnelles et elles servent de lignes d'acheminement des données; comme le montre la figure 14, il y a dans ce groupe seize lignes ,161 d'ACHEMINEMENT DES DONINES et 30 une ligne 163 de PARITE. lies lignes FIN DE TRANSMISSION 165, REMPLISSAGE DE POSI- TIONS INUTILISEES EN SORTIE 167 et REMPLISSAGE DE POSITIONS INUTIDISEES EN ENTREE 169 servent de lignes d'état des données et elles indiquent les états particuliers qui peuvent se produire 35 de temps à autre dans les lignes 161 et 163 d'acheminement des données. Enfin la ligne 39 d'entrées-sorties comprend une ligne 171 de mise à zéro, comme le montrent également les figures 12 et 14. Chaque instruction dans la ligne T, illustrée à la figure 64 40 2485227 18, exige un format particulier dans la ligne 161 acheminant les données pendant qu'une instruction dans la ligne T est valable. Ce format particulier dans la ligne acheminant les données est illustré dans le cas des fonctions LAC (Adresse et instruction 5 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 IAC (Adresse et instruction d'implantation) dans la ligne T, les données ou la zone trans- mises lar les lignes 0 à 5 de la ligne 161 acheminant les don- 10 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- 15 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 IRDST (Etat du dispositif de lec- 20 ture) dans la ligne T, les bits O, 1, 2 et 3 dans la ligne ache- minant les données indiquent respectivement une ereur 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'appareil. 25 Les fonctions dans la ligne T sont transmises en trois séquences, représentées aux figures 15, 16 et 17 et décrites en détail ci-dessous Chaque fonction dans la ligne T est validée par le canal et une séquence d'établissement de liaison est effectuée entre le 30 canal 109 et l'organe 41 de commande au moyen des lignes de liaison 155, 157 et 159 afin d'accuser réception de la fonction dans la ligne T. La machine 143 dans la ligne TD représentée à la figure 13, a pour fonction de commander la ligne T et la liaison. 35 La figure 28 est un chronogramme montrant le fonctionnement 35 de la liaison entre le canal 109 d'entrées-sorties et les en- trées 43, Comme le montre la figure 289 la ligne 155 transmet le si- gnal d'utilisation "en sortie" SVO et la ligne 157 transmet le 40 signal d'utilisation "en entrée" SVIo 65 66 24852Ä7 Le cycle d'horloge du canal est représenté orienté verti- calement avec les signaux d'utilisation "en sortie" SVO et d'utilisation "en entrée" SVI. Comme le montre la figure 28,,le signal d'utilisation "en 5 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" BVO, 10 le canal 109 valide la fonction dans la ligne T et, en cas de nécessité, la ligne acheminant les données. Le canal valide ensuite un signal d'utilisation "en sor- tie", comme l'indique la montée verticale 279 à la figure 28. Le signal d'utilisation "en sortie" demeure validé jusqu'à ce 15 que l'organe de commande réponde par le signal d'utilisation "en entrée" 281, accusant réception de l'instruction du canal. Le signal d'utilisation "en entrée" reste validé jusqu'à ce que le canal élimine le signal d'utilisation "en sortie". Lorsque l'organe 41 de commande valide le signal d'utili- 20 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- 25 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 30 "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 35 descente verticale 285, comme le montre la figure 28. Lors d'une transmission "en sortie", le registre 213 de données à l'interface de l'organe de commande prend en charge les données au début du signal d'utilisation "en sortie", c'est-à-dire à la montée verticale 2?9 et il transmet ces don- 40 nées à la partie de commande de l'organe 187 de commande à la 2485227 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 5 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 10 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. 15 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 20 18, les fonctions suivantes : SEL : Sélection; LAC : Adresse et instruction d'implantation; EPOL : Balayage d'interruption fortement prioritaire; LPOL : Balayage d'interruption faiblement prioritaire, et 25 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 slection- né à se désélectionner. 30 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 35 ABTD : Données de suspension d'exécutiono 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" SV0 pendant un temps donné (par exemple~ deux cycles d'horloge) et, ensuites, le canal éliminera ce si- 40 gnal d'utilisation "en sortie" SV0o Ce type de liaison est 67 68 2485227 indiqué aux figures 15, 16 et 17 par la liaison IL. Deuxièmement, la transmission des données est normalement liée sauf que, lorsqu'un organe de commande désire signaler qu'u- ne plus longue utilisation n'est pas demandée, il renvoie un 5 signal-d'arrêt "en entrée" SUI, au lieu d'un signal d'utilisa- tion "en entrée" SVI. Lorsque le signal d'utilisation "en sor- tie" SVO est ensuite éliminé par le canal, l'entrée se désélecte elle-même. Le signal d'arrêt "en entrée" STI établit d'autre part la liaison de la même manière que le signal d'utilisation 10 "en entrée "SVI. Une condition supplémentaire valable pour toutes les 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 rytbmeur qui fait partie de la machine 145 dans la ligne T de 15 la figure 13. Ce rythmeur dépasse le temps imparti et inscrit une erreur si le cycle suivant de liaison n'est pas déclenché et terminé dans le temps réglé par le rythmeur. Si le rythmeur dé- passe le temps imparti, une erreur est enregistrée au point approprié de la séquence et une instruction de suspension d'exé- 20 cution ABTI (séquence EIO Exécution des entrées-sorties, 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 25 les figures 15, 16 et 17e La figure 29 représente la logique dans le cas de la liai- sn représentée à la figure 28. La logique représentée à la fi- gure 29 fait partie de la machine 143 dans la ligne T représen- tée à la figure 13. La logique représentée à la figure 29 est 30 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- 35 firent 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 40 "en entrée" SVI à l'entrée D de la bascule bistable 289, 2485227 Le fonctionnement de la logique représentée à la figure 29 est le suivant : Le canal 109 valide le signal d'utilisation "en sortie" en mettant à 1 l'entrée J de la bascuLe bistable 287 et, lorsque 5 le cycle suivant d'horloge débute, le signal d'utilisation "en sortie" est transmis par un transmetteur 295 à l'organe de com- mande. Lorsque la logique combinatoire 291 de l'organe de commande est prête, elle permet au transmetteur 293 de renvoyer le si- 10 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.coxu"exion -physique 15 179 à la logique commune 181 d'interface, représentée plus en détail à la figure 21, et chacune des entrées 43 est également associée, par l'intermédiaire d'une connexion logique 183, a la logique commune 181 d'interface déterminée par une-bascule de possession 185. 20 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 25 fonctionnel à la figure 19, et avec plus de détails à la figure 25, 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égrade". 30 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- 55 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 1au- tre entrée. Chaque entrée 43 a pour fonction, comme l'indique la légencl- 40 de la figure 19, de relier um module de processeur à un organe 69 2485227 70 de commande et, en dernier lieu, à un appareil particulier par l'intermédiaire de l'organe 41 de commande. L'entrée 43 est l'entité qui communique avec le moidule de processeur et avec la partie de commande de l'organe 187 de l'organe de commande (con- 5 ditionrielle dans l'état de la bascule de possession 185). Ce qui revient à dire que l'entrée établit elle-même la connexion avec un module de processeur, en fonction des instruc- - tions reçues du canal 109 d'entrées-sorties comme on le décrira plus en détail ci-dessous, en mettant à 1 son bit de sélection 10 173. Chacune des entrées individuelles 43 d'un organe 41 de commande peut être connectée de manière indépendante à un module 33 de processeur alors qu'en même temps l'autre entrée de cet organe de commande est connectée à un module différent. Cepen- 15 dant, la bascule de possession 185 établit la connexion logique entre la partie de commande de l'organe de commande et l'une des deux entrées 43, de telle sorte que l'une seulement de ces entrées régit l'organe de commande à un moment quelconque. La logique de décodage détermine la fonction qui est trans- 20 mise par'la ligne v 153 à n'importe quel moment particulier. La logique de commande combine les fonctions transmises par la ligne T afin d'exécuter des fonctions particulières d'entrée telles que, par exemple, la mise à 1 du bit de sélection, la remise à zéro du bit de sélection, la lecture de l'état d'inter- 25 ruption- - Le fonctionnement de la logique de commande est illustré par les équations logiques mentionnées à la figure 27. Lorsqu'une séquence de connexions, qui sera décrite ci- après avec référence aux figures 15, 16 et 17, est transmise par 30 la logique 39 d'entrées-sorties, l'une des entrées 43 (et seulement l'unique entrée 43 d'un organe 41 de commande connectée à cette ligne 39 d'entrées-sorties) est connectée au sens logique à la ligne 39 par la misae à 1 de son bit de sélection 173. Cette connexion logique est déterminée par une partie des 35 données transmises au cours de cette séquence de connexions. Lorsqu'elle est connectée, cette entrée particulière 43 répond ensuite aux signauD de protocole en transmettant l'information entre le canal et la partie de commande de l'organe de commande. Le comparateur 193 g'adrAsses de l'appareil est la partie de 40 l'entrée 43 qui détermine l'adresse unique de l'entrée. 2485227 Le comparateur 193 d'adresses de l'appareil détermine l'a- dresse unique d'une entrée particulière 43 en comparant la zone d'adresse de l'appareil dans la ligne 161 acheminant les don- nées pendant une fonction LAC (AdIesse et instruction d'implan- 5 tation) transmise par la ligne T, les branchements d'adresse de l'appareil étant associés avec une entrée particulière 43.. Lors- que l'adresse transmise par le canal 109 correspond à l'adresse déterminée par les branchements associés à une entrée particu- lière 43, le terme COMPARAISON D'ADRESSES, voir figure 27, est 10 créé et le bit de sélection 173 de cette entrée est mis à 1 (en -supposant que les autres états énumérés à la figure 27 permettent la mise à 1 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. 15 Les abréviations utilisées à la figure 27 comprennent les abréviations suivantes : Add Comp : Comparaison d'adresses (Adresse d'appareil) ; PAROEFF : Bascule bistable de parité correcte; SEL : Sélection; - 20 OWN : Possession; et SELBIT : Bit de sélection Le registre 177 de contrôle de parité ést associé au généra- teur de parité et à la logique 137 de contrôle de la figure 13 par le fait que, à la sortie, la logique 137 du générateur de 25 parité crée la parité qui doit être contrôlée par le registre 177 de contrôle de parité de l'entrée 43, et cette parité doit-- correspondre sinon l'opération sera suspendue par le canal 109 d'entrées-sorties du module 33 de processeur. A l'entrée, la lo- gique commune 181 d'interface crée la parité qui doit être con- 30 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- 35 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'entrée chaque fois que le canal valide l'UTILISATION EN SORTIE avei une fonction de sortie transmise par la ligne TX et la parité est contrôlée pendant la durée le l'UTILISATION EN SORTIE pour 40 assurer que les données transmises par la ligne D sont stables 71 2485227 pendant la durée de l'UTILISATION EN SORTIE, tendis que l'en- trée introduit les données dans le registre 213 de données. Ce contrôle de parité est effectué à chaque opération d'une séquence de ligne T et, sil une erreur de parité se pro- 5 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 10 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 15 d'ETAT DE L'APPAREIL DE LECTURE dans la ligne T. Si une erreur de parité survient à un autre moment que pendant une séquence d'EXECUTION DES ENTEEES-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- 20 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 ENTIREES-SORTIES, d' INTERROGATION DES 25 ENTREES-SORTIES, d' INTERROGATION -AUTEMENT PRIORITAIRE DES ENTREES-SORTIES ou de reconnexion comme le montre la figure 24.- Si une erreur de parité est détectée au cours de l'une quelconque des séquences, elle est enregistrée par le registre de contrôle de parité pour être renvoyée dans la ligne D en 30 réponse à une fonction de l'ETAT DE L'APPAREIL DE LECTURE ou de I'ETAT D'INTERRUPTION DE LECTURE transmise par la ligne T. En continuant à se reporter à la figure 20, on verra que la fonction de la bascule 175 de validation dans l'entrée 43 doit permettre au système d'entrées-sorties de corriger une 35 certaine classe d'erreurs qui, sinon, rendraient inopérantes les deux lignes 39 d'entrées-sorties reliées à un organe par- ticulier 41 de commande. La bascule 175 de validation accom- plit cette fonction en ne permettant pas à l'entrée 43 de lan- cer des signaux dans la ligne 39 d'entrées-sorties. 40 la bascule 175 de validation est remise à zéro par une 72 2485227 73 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. 5 Uie 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 1950 Ce dernier renvoie l'erreur de possession mentionnée ci-dessus si l'organe 41 de commande est logiquement connecté à l'autre entrée 43 de 10 cet organe de commande, afin d'indiquer que l'organe de commande est utilisé par l'autre entrée et il ne sera pas tenu compte des instructions envoyées à cette entrée. L'entrée 43 inclut un émetteur-récepteur 197d'interface pour chaque ligne d'entrées (c'est-à-dire pour l'UTILISATION EN 15 ENTREE, l'A1RRET EN ENTREE, la ligne acheminant les données, la parité, le REMPLISSAGE DE POSITION INUTILISEES EN ENTREE, la RECONNEXION EN. ENTREE, la DEMANDE D'INTERRUPTION FAIBIELENT PRI0- RITAIRE et la DEMANDE D'INTERRUPTION FORTEMENT PRIORITAIRE) de la ligne 39 d'entrées-sorties représentée à la figure 14. Les 20 émetteurs-récepteurs 197 transmettent les données de l'entrée 43 au canal 109 d'entrées-sorties lorsque le bit 173 de sélection d'entrée est mis à/laejonction transmise par la ligne T 153 exige que l'organe 41 de commande renvoie l'information au canal. Des émetteurs-récepteurs 197 transmettent continuellement & 25 - 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- 30 ment de ces derniers lorsque l'organe 41 de commande est mis sous tension ou hors tension, de manière à empêcher que des si- gnalu erronés ne soient envoyés dans la ligne d'entrées-sorties pendant la mise sous tension ou hors tension. Cette caractéristi- que est particulièrEment significative du point de vue de lenbtre- 35 tien en direct. Comme le montrx la figure 209 chaque émetteur=récepteur 197 comprend un récepte:r 198 et un émetteur 2000 L'émetteur est validé par une ligne 202 de validation Plusieurs mots Mont présents dans la ligne de validation 40 202. Ils comprenneat le bit de sélection 173, une fonction 1, 74 2485227 d'entrée requise dans la ligne T et un signal venant du circuit 182 de mise sous tension. Dans un exemple particulier de réalisation de la présente invention, le signal venant du circuit de mise sous tension est 5 relié par un circuit OU à la sortie de la porte qui groupe les autres mots, de oorte 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 10 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- 15 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- 20 cage, quel que soit le niveau de l'alimentation appliquée au cir- cuit intégré. Ceci assure que le système de commande ne peut commander la ligne. Cette combinaison particulière des caractéristiques fournit un mode d'exploitation dans lequel la sortie du circuit intégré 25 est régulée lorsque la tension monte ou baisse,alors que norma- lement la sortie d'un circuit intégré est non définie lorsque l'alimentation tombe en dessous d'un certain niveau. Ce même circuit est utilisé dans les lignes X et Y du sys- tème de lignes entre processeurs afin de régler les émetteurs- 30 récepteurs et les signaux de commande créés par la commande 55 entre processeurs. Comme le montre la figure 30, chacue unité centrale 105 comprend un circuit 182 de mise sous tension qui est analogue au circuit 182 de mise sous tension de l'organe de commande. les circuits de mise sous tension commandent donc les 35 émetteurs pour tous les organes 41 de commande et toutes les commandes 55 entre processeurs. Le circuit de mise sous tension est représenté en détail à la figure 25 o le circuit est repéré d'une manière générale par la référence 182. 40 L'objet du circuit de mise sous tension est de détecter deux 2485227 75 niveaux différents de tension de l'alimentation en cinq volts. Si l'alimentation faiblit, le circuit détecte le moment auquel l'alimentation tombe en dessous d'un certain niveau qui place -la logique de l'organe de commande ou de l'unité centrale 5 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- 10 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, 15 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. 20 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 Ir édéterminées de fonctionnement de l'organe 41 de commande. Si la tension d'alimentation n'est pas dans ces limites accepta25 bles et prédéterminées de fonctionnements le signal de sortie du circuit 182 de mise sous tension est utilisé pourl 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 30 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. 35 Le circuit 182 de mise sous tension représenté à la figure 25 et décrit en détail ci-dessous, est utilisé avec l'organe 41 de commande; il comporte sept étages de commande de sortie qui sont utilisés pour l'application du circuit 182 de mise sous tension à l'organe 41 de commande. Cependant, le même circuit 40 182 de mise-sous tension est également utilisé avec l'unité 2 4485227 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,ile circuit 182 de mise sous 5 tension comprend une source de courant 184 et un amplificateur différentiel 186. L'amplificateur différentiel 186 comporte dans une ligne 188 une première entrée qui est une entrée de tension de référence à compensation thermique, et dans une ligne 190 une seconde entrée le qui est une indication de la tension qui doit être détectée par le circuit de mise sous tension. La tension de référence dans la ligne 188 est obtenue par une diode Zener 192. L'amplificateur différentiel 186 comprend deux transistors 15 correspondants 194 et 196. La tension appliquée à la ligne 190 est déterminée par les résistances 198, 200 et 202. Ces dernières sont des résistances pelliculaires métalliques qui fournissent une grande stabilité * thermique au circuit de mise sous tension. 20 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. -25 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 30 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 55 l'appareil d'interface de l'autre entrée 43 de l'organe 41 de commande. Enfin, le circuit 182 de mise sous tension comprend une commande d'hystérésis 230. Cette dernière inclut des résistances 232 -et 234 et un transistor 236. 40 En fonctionnement, et en supposant qu'on réalise le fonc- 76 2485227 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 sortlie principale. A ce moment-là, 5 la tension dans la ligne 190 est inférieure à la tension dans la ligne 188, de sorte que l'amplificateur différentiel 186 main- tient la sortie du transistor 214 de commande de sortie principa- le à l'état hors tension. Ce dernier, à son tour, imposera l'état sous tension aux étages de sortie 216 à 228. 10 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 15 tension de référence dans la ligne 188. A ce moment-là, l'ampli- ficateur opérationnel 186 commande le transistor 214 de commande de sortie principale, le mettant sous tension. Ce qỉ supprime la commande de base des étages de sortie 216 à 228 et impose 1'é- tat hors tension à ces étages de sortie. La sortie du circuit 182 20 de mise sous tension est alors à l'état "un", état indiquant que la tension se trouve dans des limites acceptables. A ce moment-là, le circuit 230 de commande d'hystérésis entre en jeu. Pendant la mise sous tension, le transistor 236 du circuit 230 de commande d'hystérésis était sous tension. Lorsque 25 le transistor 236 est sous tension, la résistance 202 présente une valeur de résistance inférieure à la valeur de la même résis- tance 202 lorsque le transistor 236 est hors tension. Le point auquel le transistor 214 de commande de sortie principale est mis sous tension coïncide avec le point auquel le 30 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 35 le transistor 214 de sortie principale dans l'état sous tension. L'état du circuit de mise sous tension restera stable dans cet état, le transiVtor 214 de commande de sortie principale étant mis sous ten9ion et les étages de commande de sortie 216 à 228 étant mis ho.^^ tensions jusquà .ce que la tension de r5V 40 chute en dessous d'An niveau de seuil inférieur déterminé par 77 2485227 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éfaillante, l'amplificateur différen- 5 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 10 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. 15 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 20 25 fournit une détection très exacte des deux tensions utilisées par le circuit de mise sous tension afin de déterminer son état, que la sortie du circuit de mise sous tension soit à l'état l'un" ou à l'état "zéro". Afin de détecter très exactement ces deux tensions, le cir- 25 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 30 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 passive. La compensation thermique effective est également effec- 35 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 plusieprs lignes qui sont repérées d'une manière générale par la référence 179 aux figures 19 78 2485227 et 20. Ce groupe de lignes 179 comprend les lignesindividuel- les 201 dont seize constituent la ligne d'entrée ou ligne I, les lignes d'adresse 203 des appareils, les lignes 205 de sortie au nombre de seize, une ligne 207 de prise de posses- 5 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 particulière du matériel. Ces lignes particulières 201, 203, 205, 207 et 209 cor- 10 respondent aux lignes qui portent les mêmes références à la figure 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- 15 gane 41 de commande. Comme le montre la figure 21, la logique comune d'interface 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- 20 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 lTAC mentionnée à la figure 18, avec un code opération particulier de la zone d'instruction dans la ligne Do Lorsque -- l'entrée reçoit la fonction d'adresse et d'insrruction d'im- plantation LAC dans la ligne T à partir du canal, la logique de l'entrée examine la zone d'instruction, 9'est-à-dire les six 30 bits de la partie supérieure, dans la ligne Df Ensuite, si la zone d'instruction contient un code spécifiant une instruction 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- 35 . 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 connexions volantes d'adVOuss de l'appareil d'entrée et si aucune 2485227 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'adressé et instruction d'implanta- 5 tion IàO. En conséquence, le canal 109 d'entrées-sorties émettant l'instruction de prise de possession régit l'organe 41 de com- mande et l'autre entrée 43 est logiquement déconnectée. L'instruc- tion de prise de possession peut également provoquer une remise 10 à zéro de l'état interne de l'organe de commande. L'état de la bascule 185 de prise de possession détermine l'entrée qui peut transmettre l'information par l'intermédiaire du multiplexeur 211. Une fois que la bascule 185 de prise de possession est placée dans un état donné, elle. restera dans cet 15 état jusqu'à ce qu'une instruction de prise de possession soit reçue par l'autre entrée. La validation de la ligne de remise à zéro des entrées-sorties aura également pour conséquence d'at- tribuer la possession à l'autre entrée après que l'état interne de l'organe de commande aura été remis à zéro. 20 Les signaux de commande sont choisis par l'état du regis- tre 185 de prise de possession et à partir d'une entrée appro- priée 43; ils sont transmis par le multiplexeur 211 à la par- tie de commande 187 d'un organe de commande par un groupe de lignes de commande 215. Les données sont sélectionnées à partir 25 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 50 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 3355 de processeur. Une ligne 221 renvoie l'adresse de l'ap- 35 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. SuiVont la présente invention, de nombrex organe2 41 de '80 40 - - 81 2485227 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 5 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 10 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- 15 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- 20 se s'écouler sans vider la-profondeur restante de la mémoire- tampon. Ceci s'appelle la profondeur de seuil de la mémoire- tampon, en abrégé T à la figure 23. Ensuite, après que la mémoire-tampon a été desservie, elle. doit attendre un temps suffisamment long pour permettre à tous 25 les organes 41 -de commande faiblement prioritaires d'être desser- vis, avant de faire une autre demande de reconnexion. Ceci s'ap-- pelle la profondeur d'att3nte. La profondeur de la mémoire dési- gnée par la lettre D à la figure 23, est la somme de la profon- deur d'attente et de la profondeur de seuil. 30 La profondeur d'attente et la profondeur de seuil sont fonction 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ées-sorties est associé à un plus grand nombre d'organes de commande faiblement prioritaires dans la même ligne d'entrées- 40 sorties qu'un autre organe de commande faiblement prioritaire 2485227 82 dans la même ligne d'entrées-sorties;par conséquent, l'organe de commande fortement prioritaire exige une profondeur d'attente plus grande que ne l'exige l'organe de commande faiblement prio- ritaire. De même, un organe de commande faiblement prioritaire 5 dans une ligne d'.entrées-sorties exige une profondeur de seuil plus grande que ne l'exige un organe de commande fortement prio- ritaire. La mémoire-tampon 189 d'un organe de commande est cons- tituée de manière à bénéficier du fait que, lcrsque les exigences de profondeur d'attente augmentent, les exigences de profondeur 10 de seuil diminuent et, lorsque les exigences de profondeur de seuil augmentent, les exigences de profondeur d'attente diminuent. On réalise ce fait en rendant variable la contrainte à laquelle est faite une demande de reconnexion, la mise à "un" effective dépendant des caractéristiques des organes de commande fortement 15 et faiblement prioritaires dans une disposition particulière de canal d'entrées-sorties. La profondeur de la mémoire-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 profondeur d'attente dans le cas le plus défavorable, plutôt que 20 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. 25 La figure 23 illustre graphiquement plusieurs de ces pa- ramètres. A la figure 23, le temps a été porté en abscisse.et les mots de la mémoire-tampon en ordonnée dans le cas d'une opé- ration de sortie. Partant du point D situé à la partie supérieure gauche de 30 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- 35 tampon s'abaisse et atteigne la profondeur de seuil indiquée par l'intersection, au point 223, de la droite de pente -RD et de la droite T de profondeur de seuil. À ce point, la demande de reconnexion est adressée au canal 109 comme l'indique la légence portée sur l'axe horizontal à la 40 figure 23. 8_ 2485227 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 lis organes 41 de commande for- tement.prioritaires, jus-qu'au point 225; à ce point, la demande 5 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- 10 pon des mots contenant des données, à un débit indiqué par la droite de pente R0. En même temps, l'organe 41 de commande continue à trans- mettre des mots contenant des données hors de la mémoire-tam- pon et au débit -RD, de sorte que le débit total d'entrée dans 15 la mémoire-tampon 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 20 de pente -%C. 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 dynamique0 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 50 du canal. Le temps maximal admissible pour la transmission d'une tranche est choisi de manière à réduire au minimum la profondeur requise de la mémoire-tampon, tout en recevant des débits élevés de transmission d'appareil, ainsi que le nombre d'appareils qui peuvent transmettre en simultanéité. 35 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. I 40 La mémoire-tampon 189 représentée à la figure 22 comprend 248522? un tampon d'entrée 231, une mémoire-tampon 233, un tampon de sortie 235, un indicateur d'entrée 237, un indicateur de sortie 259, un multiplexeur 241, une logique 243 de commande du tampon décrite plus en détail à la figure! 26, un multiplexeur 245 con- 5 necté à la logique 245 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. 10 Un groupe de lignes d'entrée des données comprend seize lignes 249 d'entrée des données dans l'appareil. L'autre groupe de lignes d'entrée comprend seize lignes 217 constituant la connexion commune de sortie (lignes constituant la connexion 0). ~15 L'un ou l'autre de ces deux groupes de signaux d'entrée est ensuite envoyé du tampon d'entrée 231 à la mémoire-tampon 233 par un groupe de lignes 251. Ces dernières sont au nombre de seizeo Les données sont extraites de la mémoire-tampon 233 et elles 20 sont introduites dans le tampon de sortie 235 par un groupe de lignes 253. Ces dernières sont au nombre de seize. Le tampon de sortie 235 retransmet les données à la logique commune d'interface 181, représentée aux figures 19 et 21, par un groupe de seize lignes 219 et aux appareils 45 et 47, tels -25 que les appareils 49, 51 et 53 représentés à la figure 1, par un groupede seize lignes 255, comme l'indiquent les légendes de la figure 22. Les indicateurs d'entrée 237 et de sortie 239 fonctionnent avec le multiplexeur 241 de la manière suivante : 30 Lorsque les données sont transmises du tampon d'entrée 231 à la mémoire-tampon 233, l'indicateur d'entrée 237 est connecté à à la mémoire-tampon 233 par l'intermédiaire du multiplexeur 241 afin de déterminer l'emplacement dans lequel le mot est enre- gistré. Lorsque les données sont transmises de la mémoire-tampon 35 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 multiplexeur 241 afin de déterminer l'emplacament à partir duquel le mot est extrait. 40 L'objet de la logique 243 de commande de la mémoire-tampon, *1' 84 2485227 représentée aux figures 22 et 26, est de garder la trace de la contrainte appliquée à la mémoire-tampon 189. A ce sujet, le de- gré de remplissage ou de vidage de la mémoire-tampon, combiné au sens de la transmission par rapport au module de processeur (en- 5 trée ou? sortie) détermine le degré de contrainte. La contrainte augmente lorsque l'appareil accède à la mémoire-tampon et elle diminue lorsque c'est le canal qui accède à la mémoire-tampon. Dans l'exemple de réalisationreprésenté aux figures 22 et 26, le compteur de contrainte mesure l'accroissement de contrain- 10 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 239 et le compteur 15 de contrainte mesurerait toujours un accroissement de contrainte. Comme le montre encore la figure 22, une ligne 215 de de- mande de canal, représentée également à la figure 21, et une li- gne 257 de demande d'appareil, venant de la partie 187 de comman- de de l'organe de commande, sont validées afin d'indiquer l'ac- 20 cès à la mémoire-tampon 189. Le multiplexeur 245 sélectionne l'une de ces lignes comme demande d'augmentation du remplissage de la mémoire-tampon et il sélectionne l'autre ligne comme demande de diminution du remplis- sage de la mémoire-tampon, en se fondant sur le sens de la trans- 25 mission (entrée ou sortie) par rapport au module de processeur. la ligne sélectionnée pour augmenter le remplissage-de la mémoire-tampon est é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 30 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- 35 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 première demande, ensuite elle satisfait l'autre demande. la satisfaction d'une demande par la logique 243 de comman- de de la mémoire-tampon se fait de la manière suivante : 40 Tout d'abord, la logique de commande de la mémoire-tampon 85 3 ?485227 détermine le sens de la transmission (entrée ou sortie) par rap- port à la mémoire-tampon 233 et elle valide l a ligne 261, con- nectée au multiplexeur 241, comme étant appropriée pour sélec- tionner l'indicateur d'entrée 237 iou l'indicateur de sortie 5 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 10 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 247o C) La logique 243 de commande de la mémoire-tampon fait progresser l'indicateur d'entrée 237. 15 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 enregistre dans le tampon de sortie 235 le mot extrait de .la mémoire-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 25 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 les lignes de sortie à la figure 22. 30 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- 35 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 40 23, pour envoyer des demandes de reconnexion et des demandes de 2485227 déconnexion dans les lignes respectives 145 et 159, représentées aux figures 12 et 14. Le signal SPI d'ARRET EN ENTEF, transmis par la ligne 159 représentée aux figures 12 et 14, est en rapport avec la pro- 5 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 RCI de RECONIEXION 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 10 247 représenté à la figure 22. Ainsi le signal d'ARRET EN ENTREE est validé lorsque la mémoire-tampon 189 atteint un état de contrainte minimale (rempli àa la sortie et vide à l'entrée). Le signal d'ARRET EN ENTREE indique au canal 109 que l'organe 41 de commande désire mettre fin à la transmission de tranches de 15 données. Lorsque la mémoire-tampon dépasse son seuil, elle valide le signal ROI de RECONNEXION 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 20 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 25 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 30 compteur et une partie 247B de décodeur, comme l'indiquent les légendes de la figure 260. Comme le montre la figure 26, les deux groupes de portes 245A et 245B ont utilisé le signal de demande du canal, transmis par la ligne 215, et le signal de demande de l'appareil, transmis 35 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 40 demandes jusqu'à ce que la logique de commande ait satisfait la E. %, ;! v 87 2485227 demande. 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 eà 271B et par les portes 275A 5 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. 10 Ia porte 273 de résolution de la priorité choisit une des demandes pour son exécution et maintient l'autre demande en dif- féréo Les portes 275A et 275B d'exécution des demandes exécutent les demandes en fonction de la demande synchronisée. 15 Chaque signal de sortie des lignes 263 et 265 accomplit les fonctions décrites ci-dessus, à savoir : progression et ré- gression du compteur de contrainte, mise à jour de la mémoire- tampon ou du tampon de sortie, et mise à jour de l'indicateur d'entrée ou de l'indicateur de sorties 20 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- 25 trées-sorties. Dans le fonctionnement du système d'entrées-sorties, la transmission normale- des données entre un module 33 de proces- seur et un appareil particulier, tel qu'un disque 45, comprend une séquence d'EXECUTION DES ENTREES-SORTIES pour déclencher la 30 transmission. L'instruction d'EXECUTION DES ENTREES-SORTIES sélectionne l'organe particulier de commande et l'appareil et indique l'opé- ration à effectuer. L'organe 41 de commande déclenche les entrées-sorties 35 entre lui-même et'l'appareil particulier. L'organe 41 de commande est reconnecté périodiquement au canal 109 et il transmet les données entre l'organe 41 de com- mande et le canal 109. La reconnexion périodique peut être fai- te dans le but de transmettre les données du canal à l'appa- 40 reil ou dans le but de transmettre les données de l'appareil i 89 2485227 au canal. Lorsque la transmission de données estterminée, l'organe 41 de commande interrompt l'unité centrale 105 qui répond en émet- tant une séquence d'INTERROGATION DES ENTEEES-SORTIES ou une 5 s équence d' INTERROGATION HAUTE ENT PRIORITAIRE DES ENTREESSORTIES. Ia 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. 10 La séquence d' INTERROGATION HAUTEMIENT PRIORITAIRE DES ENTREES-SORTIES est analogue à la séquence d'INTERROGATION DES ENTREES-SORTIES mais elle est émise en réponse à une interruption hautement prioritaire des entrées-sorties. L'instruction de l 'unité centrale d'IOXECUTION DES ENTREES- 15 SORTIES est définie par les changements d'état de la ligne T, représentés à la figure 15. Le premier état représenté à la figure 16, c'est-à-dire l'é- tat situé à l'extrême gauche, est l'état mort ou état d'inacti- vité NOP. Les autres états sont les mêmes que ceux qui sont énu- 20 mérés à la figure 18 par les mnémoniques correspondants, à sa- voir : LAC (adresse et instruction d'implantation., LPRI (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). 25 -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. 30 L'instruction d 'EXECUTION DES ENTREES-SORTIES et 1 '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 35 figure 15 comme étant transmis par la ligne 117 à la machine créant les états; le signal de déclenchement n'est accepté que lorsque la ligne T est à l'état d'inactivité. Une fois que le signal de déclenchement par l'unité centrale est appliqué,. la ligne T passe de l'état d'inactivité NOP (état 40 mort) à l'état d'adresse et instruction d'implantation LAC. 90 9 248522? Dans l'état 'ou fonction d'adresse et instruction d'implan- tation LAC, un mot est extrait du haut de la pile du registre 112-de l'unité centrale 105, représentée à la figure 12, et il est transmis dans la ligne D 161, Représentée à la figure 14. ~5 Comme on l'a décrit ci-dessus, ce mot est utilisé pour s6- lectionnier 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. 10 Dans le cycle suivant de la ligne T, cette dernière passe à l'état LPRII "PARAIETRE D' IMPLANTATkION". Dans l'dat de PARAIETRE D'IPIAAINTATION, le mot juste en dessous du haut de la pile du registre de l'unité centrale 105, représentée à la figure 12, est introduit dans la ligne T 161, 15 représentée à la figure 14, par le canal 109 d'entrées-sorties et il est transmis à l'organe 41 de commande sélectionné pendant l'état précédent d'ADRESSE ET INSTRUCTION'D'II.IPIANTATION. A la fin du cycle d'établissemet de liaison, comme le mon- tre la flèche en traits interrompus à la figure 15, la ligne T 20 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- 25 té centrale 105. Dans l'état de PARAMETRE D'.IPLANTATION et de i'APPAREIL DE LECTURE, plusieurs erreurs peuvent s'être produites. Parmi ces erreurs on peut citer une erreur de parité, un délai d'attente d'établissement d'une liaison et une indication d'erreur dans le 3 mot d'état. Si une erreur s'est produite, la machine 143 dans la ligne T, représentée à la figure 13, passe de l'état de l'APPAREIL DE LECTURE à l'état d'INSTRUCTION DE SUSPENSION d'EXE- CUTION. L'état d'INSTRUCTION DE SUSPENSION D'EXECUTION donne comme *35 instruction à l'organe 41 de commande de ne pas tenir compte de l'informmation d'ADRESSE ET d'INSTRUCTION D'IIMPLANTATION et de PARAIETRE D'IMPLANTATION qui lui a été transmise par le canal 109 d'entrées-sorties et ensuite la ligne T (canal) revient à l'état d'INACTIVITE (état mort). 40 Si, après l'état de l1'APPAREIL DE LECTURE, aucune erreur n'a 91 2485Z27 été détectée comme le montrela flèche 114 en traits interrompus dans le branchement supérieur de la figure 15, la ligne T passe à' l'état de DESEIECTION. La ligne T' se trouvant à l'état de DESELECTION, l'organe 41 5 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'IPLANTATION) et la ligne T revient à l'état d'INACTIVITE (état mort). Dans le fonctionnement du système d'entrées-sorties, plu- 10 sieurs signaux de demande d'appareil peuvent être produits de façon asynchrone. Par exemple, un signal de reconnexion peut être créé après une séquence d'EXECUTION DES ENTREES-SORTIES afin de demander que le canal transmette les données à l'organe de commande. Ou bien l'organe 41 de commande peut valider une 15 ligne de demande d'interruption à un certain nombre de condic- tions différentes, par exemple pour signaler l'achèvement d'une séquence d'EXECUTION DES ENTREES-SORTIES ou pour rendre compte d'lm état inhabituel dans ulm appareil périphérique. Les lignes de smande d'appareil sont communes à toutes lea 20 entrées 43 de l'drgane de commande connectées à une ligne par- ticulière 39 d'entrées-sorties. Le canal 109 répond aux demandes de reconnexion faites par la ligne 145 de RECONNEXION "E1N ENTREE", représentée à la figure 14, et l'unité centrale 105 répond aux demandes faites 25 par la ligne 147 de DEI.ADE D'INTERRUPTION FAIBLEIENT PRIORITAI- RE, représentée également à la figure 14, avec une séquence d'INTERROGATION DES ENTREES-SORTIES, et à une demande faite par la ligne 149 de DEIMNDE D'INTERROGATION FORTEMENT PRIORITAIRE avec une séquence d'IIfTERROGATION FORTEIENT PRIORITAIRE DES 50 ENTREES-SORTIES. La première action entreprise par le canal 109 ou l'unité centrale 105 en réponse à un signal de demande d'appareil consiste à déterminer l'identité de l'organe 41 de commande le plus fortement prioritaire validant une demande. Ce qui revient 35 à dire qu'il pedt y avoir plusieurs organes 41 de commande validant en même temps une demande faite au canal 109 et le canal sélectionhera un organe particulier de commande suivant un système de p4iorité prédéterminé. Dans un etmple particulier de réalisation de la présente 40 invention, jusèt'à trente-deux organes 41 de commande peuvent 92 2485227 être connectés à un seul canal 109. Ces trente-deux organes de commande sont montés en étoile à l'aide de la ligne 161 acheminant des données de seize bits. Une ligne supplémentaire 1>1 est Utilisée pour diviser ces 5 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 10 une séquence de balayage, possède la priorité la plus haute parmi une rangée et l'appareil qui répond au bit 1> possède la priorité la plus basse. Tout d'abord, on peut noter que le balayage (que l'on va décrire maintenant) implique les descriptions des états re- 15 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 SELEOTION à chaque figure. On continuera à se reporter d'une manière générale'aux figures 16 et 17. Le canal 109 met la ligne de la rangée à zéro 20 et présente ensuite la fonction RPOL (balayage de reconnexion) 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 IOIL (balayage faiblement prio- ritaire) de la figure 6, représentée à la figure 17, si l'unité -25 - centrale répond avec une séquence d' INERROGATION 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 H&UTEMENT PRIORITAIRE. Il s'agit là du seul point important de différence entre les représentations de la 30 figure ~6 (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 RECONNCEXION EN ENTREE (ROI) représentée à la figure 14, tous les appareils 35 ayant une demande de reconnexion en cours qui répondraient dans la rangée zéro, font une réponse de bit un dans la ligne Do Ce qui revient à dire que tous ces appareils valident une liaison de la ligne D 161 correspondant à leur priorité au sein de la rangée. 40 Le canal 109 introduit la réponse de la ligne D dans le 2485227 registre 135 de séparation des priorités représenté à la figure 13. La sortie de ce registre 135 de séparation des priorités sé- lectionne l'organe de commande qui a la plus haute priorité, conformément au système de priorité décrit ci-dessus, et il vali- 5. de le bit approprié de retour dans la ligne D 161, si unbit 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 10 les organes de commande connectés, en même temps que la fonction de SELECTION dans la liigne T, et l'organe de -commande dont la priorité dans la rangée zéro correspond à la sortie du registre de séparation des priorités, met son bit 173 de sélection à nun", représenté à la figure 19; ensuite, cette entrée répondra 15 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ée égale à zéro, à l'état indiqué SEL (Sélection). Si le registre 135 de séparation des priorités détermine 20 qu'aucun appareil n'a répondu lorsque la ligne de la rangée était égale à zéro, le canal 109 met alors la ligne de la 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 25 la rangée 1, le canal valide la fonction de sélection dans la ligne T comme auparavant. Cependant, si le registre 135 de séparation des priorités détermine qu'aucune réponse n'a été faite dans la rangée 1, le canal revient à l'état d'inactivité indiqué par l'état NOP à la 30 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 do -l'autre entrée 43. 35 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-sortiea) déclenchée par l'unité centra- le 105, est la même que la réponse du registre 135 de séparation 40 des priorités à une séquence de reconnexion déclenchée par le 93 2485227 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 t la figure 16. La séquence de reconnexion commence par la s6quence de balayage décrite ci- 5 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é 10 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 IA0 (adresse et instruction d'implantation) dans la ligne T au cours d'une sé- 15 quence d'EIXEOCUTION DES ENTREES-SORTIES afin de déterminer une entrée particulière. Dans la séquence de reconnexion, l'adres- se déterminée par ces connexions volantes est renvoyée au canal d'entrées-sorties par l'intermédiaire de la ligne D pendant l'état RA0 (adresse et instruction de lecture) dans la ligne T, 20 de manière à accéder à une table définissant la zone de mémoire- tampon pour cet appareil. Il faut également déterminer le sens de la transmission (transmission d'entrée ou 'de sortie vers le module de proces- seur). Pour effectuer cette détermination du sens de la transmission 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. Ie canal utilise l'adresse de l'appareil renvoyée par l'or30 gane 41 de commande pour accéder à un élément 142 de deux mots de la table 140 de commande des entrées-sorties IOC, repré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. 35 Le format d'un élément 142 de deux mots est représenté à grande échelle à la figure 12 afin de montrer les détails des zones des deux mots. Il existe un élément 142 de deux mots dans la table 140 de commande des entrées-sorties IOC pour chacun des huit appa- 40 relis possibles de chacun des trente-deux organes 41 de com- 94 2485227 mande possibles connectés à une ligne 59 d'entréesvsorties asso- ciée à un module particulier 33 de processeur, et chaque module 33 de processeur possde. sa propr? table de commande des entrées- sorties IOC. 5 Chaque élément de deux mots décrit l'emplacement de la md- 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 particulier4 Ainsi, comme l'indiquent les légendes de la figure 12, le mot supérieur 10 indique l'adresse de transmission vers laquelle ou à partir de laquelle la transmission se fera par tranche et le mot in6férieur indique le compte de multiplets spécifiant la longueur restante de la zone de mémoire-tampon et l'état de la transmission. Les zones qui représentent l'état de la transmission com- 15 prennent un bit P de protection et une zone d'erreur du canal CE ERR. La zone d'erreur du canal comprend trois bits qui peuvent être mis à "lun" pour indiquer l'une quelconque de sept erreurs numérotées. L'adresse de la transmission et le compte des multiplets 20 sont mis à jour dans la table 140 de commande des entrées-sor- ties IO, à 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 25 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 erreur rencontrée au cours d'une tranche de temps de reconnexion et de transmission des données et b) un bit de protection afin 30 d'indiquer que la zone de mémoire-tampon dans la mémoire 107 peut être extraite de la mémoire mais non pas y être introduite. Le bit de protection sert à progéger la mémoire 107 du pro- cesseur contre une défaillance de l'organe 41 de commande. C'est-à-dire que,,lorsque l'organe 41 de commande à renvoyé le 35 sens de la transmission au canal 109 pendant une fonction d'a- dresse et d'instruction de lecture RAC dans la ligne T une défaillance de l'ordane 41 de commande pourrait amener ce dernier à indiquer de maniire erronée une transmission ën entréeo Le canal paûserait alors à l'état dEIRTàEE et transmettrait les don- 40 ieéo de l'organe dé commande t la mémoire, povoquant Asi l! 95 96 . 2485227 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 Fie peut qu'indiquer une trans- 5 mission "en sortie". L'adresse de la transmission précise le oircuit 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 10 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 R&C représenté à la figure 16), le canal place la ligne T 15 dans l'état d'ENTREE ou dans l'état de SORTIE et il transmet les données entre l'organe 41 de commande et la mémoire 107, utilisant le registre 129 d'adresses de la mémoire du canal pour préciser le circuitlogique 1390, comme le montre la figure 12. Le registre 129 d'adresses de la mémoire du canal et le re- 20 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é-' 25 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 100. En fonctionnement, pour chaque mot introduit à partir de l'appareil lors d'une transmission "en entrée", le canal 109 30 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 35 figure 12. *- Lors d'une transmission "en sortie", le canal 109 extrait un mot de la zone de mémoire-tampon par le circuit logique 1390 et il transmet ce mot au registre 125 de données de la mémoire du canal. Le canal introduit ensuite le mot dans le registre 40 127 de données d'entrées-sorties, représenté à la figure 13, et 2485227 il établit une liaison avecl'organe de commande qui accepte le mot dans son registre 213 de données d'interface. La vitesse élevée du canal d'rntrées-sorties est obtenue par une liaison avec la zone o le mot dans le registre 127 de 5 données d'entrées-sorties est relié à l'appareil,tandis que le canal demande et accepte en simultanéité le mot suivant de la transmission depuis la mémoire 107 et l'introduit dans lere- gistre 125 de données de la mémoire du canal. Comme le temps d'extraction d'un mot hors de l'appareil est juste aussi long 10 que le temps d'acceptation par l'appareil d'un mot extrait de la mémoire, les deux opérations peuvent être exécutées en simul- tanéité. Pendant la tranche de temps, le canal a fait régresser le registre de comptage des caractères de deux unités par mot t I= 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 terminer avec une condition d'erreur. Dans le cas normal, il y a deux possibilités. 20 Dans un premier état de fonctionnement, le registre 131 ~deq:%mptage 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, signifiant que la fin de la transmission est atteinte. Si 25 le compte atteint un, le canal valide les signaux EOT, et PAD OUT (REMPLISSAGE DE POSITIONS INUTILISEES EN SORTIE) dans la ligne 167 de la figure 14, signifiant la fin de la transmission avec un multiplet impair. Si le compte de caractères atteint deux, le canal valide le signal EOT, mais le signal PAD OUT 30 (REMPLISSAGE DE POSITION INUTIISEES 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 ENTRBnE (STI) dans la ligne 159 représentée A la figure 14 et l'organe 41 de commande valide éga- lement le signal de REMPLISSAGE DE POSITIONS INUTILISEES EN ENTREZ (PADI) dans la ligne 169 représentée à la figure 14, si le canal a validé le signal de POSITIONS INUTILISEES EN SORTIE (PADO). 40 Dans le premier cas de fin normale de transmission, le canal 97 2485227 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 tran6he de temps en validant le 5 signal d'ARRET EN ENTREE (STI) en réponse au signal d'UTILISA- TION EN SORTIE (SVO) du canal. Ceci signifie que la mémoire- tampon 189, représentée à la figure 19,. a atteint un état de contrainte minimale comme l'indique le point 229 à la figure 23. Le signal d'ARRET EN ENTREE (STI) peut se produire lors 10 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 A la transmission ainsi qu'à la tranche de temps, il peut valider un signal d'AREET EN ENTREE (STI); et, 15 pour signifier que le dernier mot se termine par un multiplet impair, l'organe 41 de commande peut également valider un si- gnal de REMPLISSAGE DE POSITIONS INUTILISEES EN 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 20 transmission en sortie ou d'une transmission en entrée, comme - le montrent les mentions EN SORTIE (OUT) et EN ENTREE (IR) 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é- 25 senté à la figure 16. Comme on l'a noté ci-dessus, la transmission peut également se terminer par un état d'erreur. Pendant la tranche de temps, plusieurs erreurs peuvent se produire de la façon suivante : 50 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(O", comme on l'a mentionné ci-dessus. Deuxièmeme:-i, l'organe 41 de commande peut ne pas renvoyer 35 un signal de REEPLISSAGE DE POSITIONS INUTILISEES EN ENTIE .(PADI) en répos e à un signal de REMPLISSAGE DE POSITIONS INUTILISEES EN ;ORTIE (PADO) émanant du canal 109. Troisièmexl.int,le canal 109 peut détecter une erreur de pa- rité dans la 1 ne D 161. 40 QuatrièmetenV, l'organe 41 de commande peut ne pas répon- À98 2485227 dre à un signal d'UTILISATION EN SORTIE (SVO) émanant du canal 109 dans le temps alloué comme on l'a mentionné ci-dessus dans la description des établissements de liaisons. Cinquièmement, la zone de la mémoire-tampon indiquée par 5 les éléments de la table de commande. des entrées-sorties 100 peut pénétrer dans une page dont le topograme lae 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 10 l'accès au topogramme au moment de l'accès à la mémoire pendanut la séquence de reconnexion en entrée et de transmission des don- nées. Voir la description dans le système de mémoire concernant le contrôle de l'erreur de paritéo Septièmement, le système de mémoire peut détecter une er- 15 reur de parité incorrigible lorsque le canal 109 accède à la Mémoire. Voir la description du système de mémoire pour ce contr6- le d'erreur de parité. Si l'un quelconque de ces états d'erreurs se produit, le canal 109 passe à l'état de transmission des données de suspen- 20 sion d'exécution (ABTD) representé à la figure 16. Cet état in- forme l'organe 41 de commande qu'une erreur s'est produite et que la transmission des données doit être suspendue. Le canal 109 revient alors à l'état d'inactivité NOP comme le montre la fi-. gure 16. 25 -Lorsqu'une erreur de produit, le canal 109 met à jour les éléments de la table de commande des entrées-sorties IO0 et il introduit un numéro d'erreur, indiquant l'uodes sept ereurs 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 !OC% 30 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 100. S'il se produit plus d'une erreur, le canal 109 sélection- 35ne 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 commanlde des entrées- sorties 100I. Il y a un aut;e type d'erreur qui peut survenir l'orgue 40 41 de commande peut; essayer de se reconnecter au canal lorsque I 99 2485227 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éf é6- 5 -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. Oeci repré- sente une importante caractéristique de la présente invention 10 car elle empêche la mémoire du processeur d' être recouverte par un appareil défaillant. Si le compte est de zéro dans le comptage de multiplets du deuxième mot de l'élément 142 de la table de commande des entrées-sorties IO0 pour un appareil particulier et si l'or15 gane 41 de commande essaie de se reconnecter au canal 109, d ce dernier envoie des données de suspension d'exécution ABTD à l'organe 41 de commande, comme on l'a noté ci-dessus, et il laisse à zéro la zone d'erreur de canal de l'élément 142 de deux mots. 20 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'IINTERRUPTION FORTEMENT PRIORITAIBE HIRQ ou dans la ligne de DEMANDE D'INTERRUPTION FAIBIEMENT PRIORITAIRE LIRQ, 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- 30 nées de suspension d'exécution ABTD envoyée par le canal ou par un état d'erreur au sein de l'organe 41 de commande ou d'un appareil connecté, ou par le fait qu'un état spécial sbst produit dans 1 'organe 41 de commande ou dans un appareil con- necté. Lorsque par exemple, la tension est appliquée et que le 35 circuit de mise sous tension indique que la tension est à un niveau acceptable, l'organe de commande interrompt le module de processeur pour indiquer que son état interne est mis à zéro parce que l'alimentation était coupée ou avait baissé et qu'elle a été remise à l'état initial par le circuit de mise 40 sous tension. 100 2485227 En réponse à une interruption, le programme en cours d'exé- cution dans le module 33 de processeur envoie dans la ligne 39 d'entrées-sorties une instruction d'interrogation des entrées- sorties 110 ou une instruction d'interrogation hautement prio- 5 ritaire des entrées-sorties HII0. L'instruction d'interrogation des entrées-sorties 110 est envoyée en réponse à une interruption faiblement prioritaire des entrées-sorties, c'est-à-dire une instruction envoyée dans la ligne 147 de demande d'interruption faiblement prioritaire LIRQ, 10 Représentée à la figure 14. L'instruction d'interrogation hautement prioritaire des entrées-sorties HII0 est envoyée en réponse à une interruption hautement prioritaire des entrées-sorties, c'est-à-dire une instruction demandée dans une ligne 149 de demande d'interrup- 15 tion hautement prioritaire HIRQ, représentée à la figure 14. Le microprocesseur 113, représenté à la figure 12, exécute les instructions d'exécution des entrées-sorties EIO, d'inter- rogation des entrées-sorties 110 ou d'interrogation hautement prioritaire des entrées-sorties HII0 en commandant la logique 20 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. 25 L'instruction d'interrogation des entrées-sorties HO 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 HII0 interroge une séquence à l'aide du balaya- 30 ge d'interruption hautement prioritaire HPOL de la fonction dans la ligne TX 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 :onction de sélection SEL dans la ligne T, comme 35 le montre la figure 17. L'organe ap?roprié 41 de commande sélectionné est l'organe de commande qui est le plus fortement prioritaire et qui fait une demande d'in-;erruption. La séquence continue par une fonction RIC0 dans la ligne T 40 provoquant l'in;erruption de lecture, comme le montre la figure 101 2485227 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 5 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. Ia séquence continue ensuite par une fonction de l'état d'interruption de lecture RIST dans la ligne Te comme le montre la figure 17. L'organe 41 de commande répond à cette fonction 10 de l'état d'interruption de lecture RIST dans la ligne T en renvoyant dans la ligne D le numéro de l'organe de commande, le numéro de l'appareil et quatre bits d'états spécialisés. De la zone d'état des quatre bits, deux des bits indiquent respectivement les données de suspension d'exécution ABTD et 15 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 20 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 1' état de désélection DSEL qui désélecte l'organe 41 de commande; ensuite, la séquence 25 passe à l'état d'inactivité NOP comme l'indique la ligne en haut de la figure 17. Si une erreur s'est produite (et il peut s'agir d'une erreur de parité détectée par le canal ou un dépassement du temps imparti à l'établissement d'une liaison), le canal passe 30 de l'état d'interruption de lecture RIST à l'état d'instruction du suspension d'exécution ABTI, comme le montre la figure 17. Cette action désélecte l'organe 41 de commande et le canal re- vient ensuite à l'état d'inactivité NOP, comme l'indique la ligne en bas de la figure 17. 35 Comme on l'a noté ci-dessus, une opération d'entrées-sorties entre un nodule 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 EIO0 suivie d'un certain nombre de séquences de recon- 40 nexion et de tSansmission des données, en terminant par une s6- . 102 .103 2485227 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 efLectuée par plusieurs appareils. 5 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 lr- 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- 10 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 15 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 20 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. 25 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 à 30 une grande variété de fonctionnement des appareils. La présente invention prévoit une utilisation maximale des ressources, tout d'abord en utilisant au maximum la largeur de bande de la mémoire. Chaque appareil utilise un minimum de la largeur de bande de la mémoire. Cette caractéristique permet 35 d'associer un n6mbre relativement élevé d'appareils avec la ligne particulière d'entrées-sorties.Du fait de la vitesse inhérente de la ligne d'entrées-sorties et de la technique de mise en mémoire-tampon propre à la présente invention, chaque transmission particulière s'effect4e à une vitesse relativement 40 élevée qui n'est limitée que par la vitesse de la mémoire. 104 2485227 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- 5 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 10 dans un circuit n'affecte pas le fonctionnement d'un module dans un autre circuit en liaison avec cet appareil. Il y a des contrôles approfondis d'erreurs afin de contrô- ler l'intégrité des données dans un circuit, les incidents de séquence et les circuits de synchronisation. 15 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 20 des entrées-sorties 10C. 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- 25 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 30) 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émoires-tampons de coopérer sans communiquer l'une avec l'autre. 35 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 40 en simultanéité et des attentes minimales avant d'accéder à un 2485227 105 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 uje utilisation maximale de la largeur de bande des entrées-sorties et une immobilisation mini- 5 male des ressources du processeur. Le système de traitement par multiprocesseurs qui fait l'objet de la présente invention comprend un réseau de distribution électrique qui permet de résoudre plusieurs problèmes rencontrés dans les réseaux suivant l'art antérieur. 10 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 15 du seème de traitement par multiprocesseurs. Le réseau de distribution électrique suivant la présente invention comprend plusieurs alimentations séparées et indépen- dantes; il distribue l'énergie électrique venant des sources d'alimentation aux modules de processeurs et aux organes de com20 mande de manière à permettre l'entretien en direct, 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 direct', cette par- 25 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 30 reste "en direct" comme on l'a défini ci-dessus. Dans la présente invention, l'alimentation de tout module de processeur ou de tout organe de commande peut être coupée de telle sorte que l'entretien en direct peut s'effectuer à l'état hors tension de ce module de processeur ou organe de com- 35 mande, tandis que le reste du système de traitement par multiprocesseurs reste en direct et opérationnel. On peut effectuer l'entretien "en direct" tout en respectant pleinement les règles de sécurité imposées par le laboratoire des Assureurs, De même, 'dans le réseau de distribution électrique qui fait 40 partie de la présente invention, chaque organe de commande 248 227 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- 5 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 10 oommande n'est jamais nécessaire en cas de défaillance de l'une de ses alimentations associées. la figure 30 représente un réseau de distribution électri- que assurant à la fois une source principale d'alimentation et une source d'alimentation de remplacement pour chaque organe 15 individuel 41 de commande à double entrée. Le réseau de distribution électrique est repéré par la référence générale 301 à la figure 30. Ie réseuu 301 de distribution électrique assure à chaque organe 41 de commande à double entrée une source d'alimenta- 20 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 25 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 30 é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. 35 Le réseau 701 de distribution électrique, représenté à la figure 30, fc irnit un avantage supplémentaire qui réside dans dans le fait quichaque module 33 de processeur, ainsi que l'u- nité centrale IC= et la mémoire 107 qui lui sont associés possède une sourc e d'alimentation séparée et indépendante qui 40 est affectée à ce module de processeur. Grâce à cette disposi- 106 2485227 tion, une panne ou une déconnexion manuelle de l'une quelconque des sources d'alimentation en vue de la réparation ou de l'en- tretien et du dépannage de cette source d'alimentation ou du module de processeur associé, se lnimitera donc en fait à un 5 seul module particulier de processeur et ne pourra affecter le fonctionnement d'aucun autre module de processeur du système de traitement par multiprocesseurs. Le réseau 301 de distribution électrique, représenté à la figure 30, fonctionne ainsi en association avec les modules in- 10 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. 15 Le réseau 301 de distribution électrique comprend plusieurs sources d'alimentation séparées et indépendantes 303 et chacune de ces sources d'alimentation 303 comporte une ligne 305, en fait une ligne 305 à multiconducteurs représentés à la figure 33, qui est affectée à l'alimentation électrique de l'unité 20 centrale et de la mémoire d'un module particulier de processeur connecté. Chaque organe 41 de commande est associé avec deux des sources 303 d'alimentation par l'intermédiaire d'une ligne prin- cipale 307, d'une ligne de remplacement 309 et d'un commuta- 25 teur automatique 311. Un commutateur 313 à manoeuvre manuelle est également as- socié avec chaque organe 41 de commande entre ce dernier, la ligne principale 307 et la ligne de remplacement 309e Les commutateurs 311 et 315 sont représentés plus en dé- 30 tail à la figure 31. la figure 32 représente des détails de construction d'é- léments d'une source d'alimentation 303. Comme le montre la figure 32, chaque source 303 d'alimen- tation comporte un conneceeur 315 d'entrée pour le branchement 35 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 319, une source d'alimenta- tion interruptible IPS de cinQmnlts. Cette source de courant interruptible de cinq volts alimente l'unité centrale 105, la 40 mémoire 107 et l'organe 41 de commande0 On se reportera égale- 107 2485227 ment à la figure 33. le redresseur 317 de courant alternatif en courant conti- nu fournit également, dans une deuxième ligne de sortie 321, une sortie en courant continu del soixante volts qui est fouirnie 5 àà un convertisseur continu-continu 32, représenté à la figure 32. Le convertisseur continu-continu fournit à son tour une tension de sortie de cinq volts dans une ligne 325 et une tension de sortie de douze volts dans une ligne 327. 10 Les sorties des lignes 325 et 327 sont, dans le réseau qui fait partie de la présente invention, des sorties d'alimen- tation électrique non interruptible 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 15 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 20 volts dans la ligne 319 est considérée comme étant une source d'alimentation interruptible car cette alimentation est fournie aux parties du système de traitement par multiprocesseurs dans lesquelles une interruption d'alimentation peut être acceptée.. Ainsi, l'alimentation interruptible en cinq volts est fournie 25 aux parties de l'unité centrale autres que la mémoire à semiconducteurs et aux seules parties de la mémoire qui sont à tores (et pour lesquelles une interruption d'alimentation ne provoque pas de perte de données stockées dans la mémoire), et à l'organe de commande qui, ainsi qu'on le décrira plus en dé- 30 tail ci-dessous, est alimenté par une source d'&imentation de remplacement en cas de défaillance de la source d'alimentation principale. Puisque l'alimentation électrique des lignes 325 et 327 doit être une alimentation non interruptible, la présente 35 invention fournit une batterie de secours pour l'entrée du convertisseur continu-continu 323. Cette batterie de secours se compose d'un module 329 de batterie et chargeur. Le module 329 est connecté au convertisseur continu-continu 323 par une ligne 331 et une diode 333. 40 Dans un exemple particulier de réalisation de la présente 108 2485227 invention, la batterie 323 fournit au convertisseur 325 une ten- sion de 48 V qui est à l'intérieur de la gamme des tensions d'en- trée dû convertisseur 323. La diode 333 assure l'alimentation du convertisseur 323 5 par la batterie si la tension dans la ligne 321 chute en dessous de 48 V. La diode 333 arrête également le courant venant de la batterie et de la ligne 333 lorsque la sortie du redresseur de co courant alternatif en courant continu dans la ligne 321 dépasse 48 V. 10 Chaque source d'alimentation 303 comprend également un cir- cuit d'alarme 335 prévu pour détecter un état de l'entrée d'ali- mentation en ci rant alternatif dans la ligne 315qui aurait eu pour résultat une tension insuffisante dans les lignes de sortie 319, 325 et 327. Le circuit d'alarme 335 transmet à l'u- 15 nitê centrale 105, par uneligne 337, un signal d'alarme de pan- ne d'alimentation. Du fait de la capacité accumulée dans la source d'alimentation 303, il y a suffisamment de temps entre le signal d'alar- me de tension et la perte de tension interruptible de 5 Vdans 20 la ligne 319 pour que l'unité centrale conserve son état avant la perte de tension. Cependant, l'alimentation non interruptible dans les 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é 25 à la figure 32 assure qu'il n'y aura pas d'interruption de l'a- limentation dans les lignes 325 et 327 en cas de panne d'alimen- tation dans la ligne d'entrée 315. Une source particulière 303 d'alimentation peut elle-même être en panne pour une raison quelconque, les autres sources 30 303 d'alimentation continuant à fonctionner. Dans ce cas-là, le réseau 301 de distribution électrique qui fait partie de la présente invention limite l'effet de la panne de la source d'a- limentation 303 à la perte d'une unité centrale particulière associée et d'une mémoire. Le commutateur automatique 311 pré- 35 voit une commutation automatique de la source d'alimentation défaillante à la source d'alimentation de remplacement de ma- nière à maintenir en fonctionnement l'organe 41 de commande associé. Ce dernier qui a été connecté à la source d'alimentation défaillante continue donc à fonctionner en liaison opérationnelle avec les autres modules de processeurs et éléments du 109 2485227 système de traitement par multiprocesseurs, car la tension requise est automatiquement commutée depuis la source d'alimenta- tion de remplacement. Comme le montre le mieux la figure 31, chaque commutateur 5 automatique 311 comprend deux diodes, c'est-à-dire une diode 341 associée avec la ligne 307 d'alimentation principale et une diode 343 associée avec la ligne 309 d'alimentation de remplacement. Les diodes 341 et 343 ont pour fonction de permettre l'alimen- tation d'un organe 41 de commande à partir soit de la ligne 307 10 d'alimentation principale et d'une source d'alimentation 303 cor- respondante, soit de la ligne d'alimentation de remplacement et de sa source d'alimentation correspondante 303, tout en mainte- nant les alimentations isolées. Cette disposition empêche qu'une source d'alimentation défaillante ne provoque une panne dans la 15 ligne d'alimentation de remplacement ou dans la ligne d'alimentaw tion principale qui lui sont associées. En fonctionnement normal, chaque diode lail.;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- 20 le et par l'alimentation de remplacement. Au cas o l'une de ces alimentations subit une défaillance, le courant total est fourni par l'autre source d'alimentation et ce transfert s'opère sans aucune perte de courant. Du fait qu'il se produit une faible chute de tension dans 25 les diodes 341 et 343, la tension dans les lignes 307 et 309 doit être supérieure à cinq volts suffisamment pour que, après la chute de tension dans les diodes 341 et 343, la tension d'ali- mentation de l'organe 41 de commande soit exactement de cinq volts. Les lignes 305 sont en parallèle avec les lignes 307 et 30 309 et la tension effectivement reçue par l'unité centrale de la mémoire doit être également de cinq volts; c'est pourquoi des diodes 339 d'équilibrage sont montées dans les lignes 305, afin d'assurer que la tension appliquée à chaque unité centrale, en aval des diodes, est exactement de cinq volts. 35 Le commutateur manuel 331 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 ftre déconnecté pour être retiré afin d'être entretenu et dépanné 4~0 Les détailm de fabrioRtion du commutateur 313 sontr repr- 110 2485227 sentés à la figure 31. Comme le montre cette figure, le commu- tateurn.313 comprend un interrupteur manuel 345, un transistor 347, une capacité 348, une r6sista ce 350 et une résistance 352. L'interrupteur manuel 345 est;fermè pour mettre au circuit le transistor 347 qui alimente ensuite l'organe 41 de commande. Il est important que, aussi bien la mise asous tension que la mise hors tension de l'organe 41 de commande s'opèrent de'ta- 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é 10 à réaction 348 agit en liaison avec la résistance 352 pour provoquer la montée en tension régulière requise lorsque l'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 345, la capacité à réaction 348 agit en 15 liaison avec la résistance 350 pour provoquer une chute régu- lière de tension. Dans un exemple préféré de réalisation de la présente invention, toutes les diodes 341, 343 et 339 sont des diodes Schottky qui produisent une chute de tension directe très faible et ceci 20 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 25 -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 3150 Le circuit 182 de mise sous tension PON débloque également l'organe de commande et le remet en fonctionnement après que la tension a été rétablie par le commutateur 313 et que la tension de cinq volts de caractéris- tique correcte a été appliquée à l'organe 41 de commande. 35 D'autres dtails 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 maintenamt à la figure 33 la tension fou- 40 nie par chaque source d'alimentattion 303 est trauBmise à %o 111 2485227 unité centrale associée, par la ligne verticale 305; chaque li- gne verticale 305 est une barre omnibus laminée qui comporte cinq couches de conducteurs électriques. Comme l'indiquent les légences de la figure 33, chaque 5 barre omnibus verticale 305- comporte deux conducteurs diffé6- rents mis à la terre. Un conducteur fournit la mise & la terre à la fois à l'a- limentation interruptibl en cinq volts IPS et à l'alimentation non interruptible en cinq volts UPS. 10 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 15 sur l'alimentation non interruptible en cinq volts UPS fournies à l'unité centrale. Ia barre omnibus horizontale 305, 307 comprend les lignes d'alimentation principale et d'alimentation de remplace- ment 307 et 309, cqmme l'indiquent les références de la figu- 20 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 A la terre et de huit couches de tension, indiquées par les légendes et notations V1 à V8 A la figure 33. 25 Chaque couche de tension est connectée à la sortie in- terruptible en cinq volts d'une source différente de tension 303. Ainsi, la couche Vl est connectée en 351 à l'alimenta- tion interruptible en cinq volts IPS dans le cas de la source d'alimentation 303 et du module de processeur située à l'extrême gauche de la figure 33, et la couche V2 est connectée en 353 à la source de tension 303 interruptible en cinq volts IPS dans le cas du module de processeur situé au centre de la figure 33, etc. Puisqu'il y a huit couches, Vl à VB8, et une terre commune 35 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 40 connectant simplement la ligne principale 307 et la ligne 112 2485227 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 VI1 et V2 et l'organe 41 de commande de cité droit de la figure 33 est 5 représenté comme étant connecté aux prises V2 et V3. Ainsi, n'importe quel organe 41 de commande peut être connec- té A deux quelconques des sources 303 d'alimentation, l'une quel- conque servant de source d'alimentation principale et l'autre servant de source d'alimentation de remplacement. 10 Le réseau de distribution électrique de la présente inven- tion fournit ainsi plusieurs avantages importants. Ce réseau de distribution électrique permet d'effectuer l'entretien en direct car un module de processeur ou un organe de commande peuvent être mis hors circuit tandis que le reste 15 du système de traitement par multiprocesseurs reste en ligne et en fonctionnement. Le réseau de distribution électrique satisfait pleinement les exigences de sécurité imposées par le laboratoire des Assu- reurs pour l'entretien en direct d'un élément mis hors circuit, 20 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 25 commande.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 A partir de l'une seulement des sources d'alimentation que l'organe de commande est maintenu en fonction- 30 nement continu sans interruption. Chaque module 33 de processeur, représenté à la figure 1, du système 31 de traitement par multiprocesseurs comprend une mémoire. Cette mémoire' est repérée par la référence générale 107 à 35 la figure et elle est représentée plus en détail à la figure 34. Ia mémoire 10' de chaque module 33 de processeur est asso- ciée à la fois à l'unité centrale 105 et au canal 109 d'entrées- sorties de ce modi:.e. Il existe un accès à double entrée dans la mémoire, par l',nmité centrale et par le canal. Ce qui re40 vient à dire que l' mitè centrale 105, représentée aux figures I 113 114 2485227 et 34, peut accéder à la mémoire pour des références de program- me ou de données, tandis que le canal 109 d'entrées-sorties peut également accéder directement à la mémoire (sans devoir traver- ser l'unité centrale) pour des trpismissions de données vers et 5. à partir d'un organe 41 de commandeeOe double accès à la mé- moire est illustré à la figure 34 et il sera décrit plus on 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 10 le fait que les accès de l'unité centrale et du canal à la mé- moire peuvent être imbriqués dans le temps. Il n'est nullement nécessaire que l'unité centrale ou le canal attendent pour accé- der à la mémoire, excepté dans le cas o à la fois l'unité cen- trale et le canal essaient d'accéder à la mémoire exactement au 15 même moment. En conséquence, gussi 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- 20 re. L'accès à double entrée permet également une exploitation prioritaire des entrées-sorties. L'unité centrale 105 a besoin d'être impliquée avec le canal 109 uniquement au déclenchement et à la fin des transmissions de données d'entrées-sorties. 25 L'unité centrale peut exécuter d'autres fonctions pendant la transmission effective elle-même des données d'entrées-sorties. La mémoire 107 représentée à la figure 34 comprend une mémoire physique qui se compose de 262 144 mots de seize bits d'information chacun. 30 Outre les seize bits d'information, chaque mot de la mé- moire comporte un bit supplémentaire de parité si la mémoire est une mémoire-à tores, ou six bits supplémentaires de correc- tion d'erreur si la mémoire est une mémoire à semiconducteurs. Le bit de parité permet de détecter les erreurs simples 35 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 40 blocs contigus de a 024 mots chacun (qui sont appelés des pa- 2485227 ges). Les pages de la mémoire physique sont numérotées consé- cutivement depuis la page zéro, en partant de l'emplacement physique zéro. Dans un exemple particulier de réalisation de la présente invention, la gammne d'adresses de la mémoire phy- 5 sique qui s'6tend 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/úait l'obJet de la présente invention est cependant constituée pour recevoir et utiliser vingt bits d'information d'adresses physiques, com- 10 me le fera mieux apparaitre la description suivanteo Dans un exemple particulier de réalisation de la présente invention, la mémoire physique est physiquement divisée en mo- dules physiques de 32 768 mots. Ainsi, huit de ces modules four- nissent]es 262 143 mots mentionnés ci-dessus. 15 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 l'unité centrale traitent exclusivement ces adresses logiques, distinc- 20 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. 25 la gamme d'adressage dans une zone donnée d'adesses lo- giques est celle d'une adresse logique de seize bits, ogest-â- dire de zéro à 65 535o. Ainsi, chaque zone dadresses logiques comprend soixante-quatre pages logiques de 9 024 mots ehacune. Dans le système de mémoire qui fait l'objet de la présen- 30 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 35 qu'il est nécessaire que les pages logiques soient dans la mé- moire physique centrale, elles peuvent être dans la mémoire auxiliaire o Ceci permet de mettre en application une disposition de mimoire virtuelle. 40 Une mémoire virtuelle offre deux avantages. 115 2485227 Tout d'abord, une mémoire virtuelle permet d'utiliser un espace en mémoire centrale physique qui est inférieur à celui qu'exigeraient; .e. zoines d'adres;;e: . logiques, cal la mémoire physique peut être complétée par une mémoire physique auxi- 5 liaire. * Ensuite, une mémoire virtuelle permet à des espaces d'a- dresses de plusieurs utilisateurs (multiprogrammation) d'utili- ser en commun la mémoire physique et chaque utilisateur n'a pas à s'occuper de l'affectation de la mémoire physique entre O10 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 15 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- ganisationea 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- 20 quatre pages de code et soixante-quatre pages de données) pour ce programme particulier d'utilisateur. Ce progrnmme 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 25 mémoire du programme d'un autre utilisateur. Le fait que les pages de code ne soient pas modifiables empêche également l'autodestruction d' un programme d'utilisa- teur. Ainsi, il existe deux niveaux de protection des program- 30 mes d'utilisateurs fonctionnant dans le cadre d'une exploita- tion en multiprogrammation, à savoir le fait que chaque relevé d'utilisateur ne signale que ses propres pages en mémoire et le fait que les pages de code ne sont pas modifiables. En outre, dans la présente invention, cette protection est réalisée sans 35 registres à limites de protection ou par des clés de garde souvent utilisées dans l'art antérieur. Ia traduction requiSe d'une adresse logique de seize bits en une adresse physique îe dix-huit bits est effectuée par un plan de relevé. Pormant une partie de ce plan de relevé, un 40 nombre de pages physiquei est obtenu par une opération de *o>- 116 117? 2485227 sultation à l'intérieur d'un relevé. Ce nombre de pages physi- ques est ensuite combiné à l'adresse à l'intérieur d'une page afin de former l'adresse complète 4e la mémoire physique. Seul le numéro de la page est traduit. Le décalage ou 5 adresse dans une page n'est jamais modifié dans le relevé. Dans la présente invention, il y a quatre zones deerelevé. Chaque zone de relevé correspond à l'une des quatre zones d'adressage logique (données de l'utilisateur, données du sys- tème, code de l'utilisateur et code du système). 10 La division de l'adresse logique en ces quatre zones sépa- rées et distinctes présente des avantages significatifs. La division permet d'isoler les programmes des données, de sorte que les programmes ne sont jamais modifiés. Cette di- vision permet d'isoler également les programmes et les données 15 du système des programmes et des données de l'utilisateur, ce qui assure la protection du système d'exploitation contre les erreurs de l'utilisateur. Les quatre zones de relevé sont désignées comme suit Relevé O - relevé des données de l'utilisateur. Toutes les 20 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- 25 lisateur et, en ouure, toutes les références à la mémoire faites par le canal d'entrées-sorties, le microprogramme de gestion de la ligne entre processeurs ou le microprogramme de gestion d'in- terruption signalent ce relevé. Ce relevé des données du système fournit un accès du canal à l'ensemble de la mémoire physique 30 par l'intermédiaire d'un seul mot d'adresse de seize bits. Relevé 2 - relevé du code de l'utilisateur. Ce relevé dé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- 35 teur. Relevé 3 - relevé du code du système. Ce relevé définit le programme du système d'exploitation. Toutes les instructions du système d'exploitation et des données constantes sont obtenues par l'intermédiaire de ce relevé du code du système. 40 Chaque zone de relevé comporte soixante-quatre entrées 118 2485227 correspondant aux soixante-quatre pages possibles de chaque zone d'adresse logique. Chaque entrée contient l'information suivan- te. 1) Le zone du numéro de la pige physique (qui peut avoir 5 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 10 référence comprend des bits de référence, et le bit de poids fort des bits de référence est mis à "un" par toute utilisation de la page correspondant à l'entrée du relevé. 4) Un bit-clé. Le bit-clé est mis à "un lorsqu'un accès d'enregistrement à la page correspondante de la mémoire est 15 réalisé. Les bits de référence et le bit-clé sont utilisés par la fonction de gestion de la mémoire du système d'exploitation afin de faciliter la sélection d'une page pour le recouvrement. Le bit-clé fournit également un moyen d'éviter d'inutiles intro- 20 ductions de pages de données dans la mémoire auxiliaire. 5) Un bit d'absence. Le bit d'absence est mis initialement à "un" par le système d'exploitation pour signaler l'absence d'une page de la mémoire centrale:. Un accès à une page compor- tant ce bit mis à "un provoque une interruption du programme de 25 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 30 dans le cas soit du code soit des données. Trois instructions sont utilisées par.le système d'exploitation en liaison avec le relevé. Ces trois instructions sont l'instruction d'insertion dans une entrée de relevé SMAI, l'ins- truction de lecture d'une entrée de relevé RMAP et l'instruction 35 de décalage d'une entrée de relevé AMAP. L'instruction d'insertion dans une entrée de relevé SMAP est utilisée par la fonction de gestion de la mémoire du systè- me d'exploitation pour insérer les données dans une entrée du relevé. Cette instruction requiert deux paramètres, à savoir 40 l'adresse d'entrée du relevé et les données à insérer. 119 2485227 L'instruction de lecture d'une entrée de relevé RMAP 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 d4'entrée de relevé, et le ré- 5 sultat'renvoyé par l'instruction est le contenu de l'entrée du relevé. L'instruction de décalage d'une entrée de relevé AMAP 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 10 utilisée par la fonction de gestion de la mémoire du système d'exploitation pour maintenir l'information historique de réf6- rence afin de faciliter la sélection d'une page pour le recou- vrement . Une interruption pour faute de page fournie par le bit 15 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- 20 tion d'interruption pour faute de page du système d'exploita- tion. La séquence d'interruption pour faute de page comprend les événements suivants : 1. Une référence d'adresse est faite à une page qui est 25 absente de la mémoire physique (le bit d'absence est mis à "un"). 2. L'interruption pour faute de page a lieuo 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 30 d'exploitation. Le cadre d'exploitation en cours est conservé dans une marque de pile d' interruption dans la mémoireo 3. Le programme de gestion d'interruption pour faute de page se déroule. Si la faute de page s'est produite du fait 35 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 ait que la page logique était absente de la mémoire physique centrale (mais présernte dazns la mémoire auxiliaire), le processus du 6o système d'exploitation se déroule de manière à Extraire la page absente de la mémoire auiliaire (habituellemoe à diqea) 120 2485221 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 complete, le cadre d'exploitation 5 qui a provoque la faute de page est remis dans l'état initial. 4. L'instruction ayant provoqué précédemment la faute de 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- 10 duite en page physique juste introduite depuis la mémoire auxi- liaire, et l'instruction prend fin. Comme on l'a noté ci-dessus, le canal d'entrées-sorties accède à la mémoire par l'intermédiaire de sa propre entrée. Les transmissions de données vers et depuis la mémoire par 15 le-canal d'entrées-sorties se font par l'intermédiaire du relevé des données du système. Ce qui revient à dire que les adresses logiques de seize bits fournies par le canal d'entrées-sorties sont traduites en une adresse physique de dix-huit bits au moyen du relevé des données du système. 20 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 25 (pour une adresse de dix-huit bits) avec seulement une adresse logique de seize bits, en parcourant le relevé. L'information d'adresse supplémentaire (l'information de la page physique) est oontenue dans le relevé et elle est fournie par le système d'exploitation avant que chaque transmission d'entrées-sorties ne 30 soit déclenchée. Comme le montrera mieux la description détaillée qui suit, la présente invention peut également s'appliquer facilement à une adresse physique de vingt bits. .La figure 34 est un schéma de fonctionnement montrant les 35 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 40 fournit à la fois à l'unité centrale 105 et au canal 1109 d'en- 121 248522? trées-sorties des entrées d'accès à la mémoire 107, et le ca- nal 109 d'entrées-sorties n'est donc pas nécessaire pour accéder à la mémoire par l'intermédiaire de l'unité centrale 105. La mémoire 107 comprend une logique 401 de commande de mé- 5 moire du relevé qui commande le début et la fin de l'accès aux modules 403 de la mémoire physique. La mémoire 107 comprend également une partie 405 de circu- lation des données contenant des registres (comme l'indiquent les légendes de la figure 34 et dont unedescription détaillée 10 est donnée ci-dessous) qui fournissent à la mémoire les données à.enregistrer et qui contiennent les données extraites de la mémoire. La mémoire 107 comprend également une partie 407 de relevé. Cette dernière partie inclut les registres d'adresses logiques 15 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 PRA et un registre 129 20 d'adresse de la mémoire du canal CMA. Ces deux registres sont connectés à un sélecteur d'adresse 415. Le sélecteur d'adresse 415 est connecté au relevé 409 par une ligne 417 d'adresse de page logique et le sélecteur d'adres- - 25 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 30 en un numéro de page physique, tandis que la ligne 419 de déca- lage de page transmet les dix bits de poidsfaible (d'une adres- se de dix-huit pages venant du sélecteur d'adresse 415) aux mo- dules 403 de la mémoire. Une ligne '421 de sortie fournit aux modules 403 l'adresse 35 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 PND, un registre 425 des données de la mémoire du 40 canal CMD^ un registre 431 d'instruction suivante NIt un registre 122 248522i 433 des données de la mémoire MD et un registre 125 des données du canal CD. lies sorties des registres PMD et CMD sont envoyées à un sé- lecteur 427 de données. Ce sélecteur 427 de données comporte une 5 ligne de sortie 429 qui fournit les données à introduire en mé- moire dans les modules 403. les données extraites de l'un des modules 403 de la mémoire sont introduites par une ligne 437 dans l'un des trois registres de données NI, MD et CD. 10 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- 15 tion venant des modules de la mémoire, et des indicateurs ou drapeaux d'erreurs. On se reportera maintenant à la figure 35. lIa partie 407 de relevé comprend, outre le relevé 409, un registre 441 de mémoire à relevé, une bascule 443 de sortie du relevé, un registre 445 20 de données de la mémoire à relevé MMD, un sélecteur 447 de 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 453tb bit de réfé- rence et une logique 455 de bit-clé. lia 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 30 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- 35 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 pbiysique de huit bits et un 40 décalage de page de dix bits. qui e combinent pour donner un 125 2485227 total de dix-huit bits. Comme on l'a noté ci-dessus, les nombres 8, 10, 12, 13, 14 et 18 qui ne figurent pas entre parenthèses sur certaines lignes des figures 34 et 35, se rapportent à cet exem- ple particulier de réalisation à dix-huit bits de la présente 5 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. 10 La figure 36 illustre la structure de la mémoire logique en quatre zones d'adresse logique séparées et distinctes 459, 461, 463 et 465. Ces quatre zones d'adresse logique sont : la zone 459 des données de l'utilisateur, la zone 461 des données du système, la zone 463 du code de l'utilisateur et la zone 465 du 15 code du système. La figure 36 illustre également les quatre parties du rele- vé correspondant aux zones d'adresse logique. Ainsi, la partie 467 du relevé des données de l'utilisateur correspond à la zone 459 d'adresse logique des données de l'uti- 20 lisateur, la partie 469 du relevé des données du système corres- pond à la zone 461 d'adresse logique des données du système, la partie 471 du relevé du code de l'utilisateur correspond à la zone 463 d'adresse logique du code de l'utilisateur et la partie 473 du relevé du code du système correspond à la zone 465 d'a- 25 dresse logique du code du système. Comme le montre également la figure 36, chaque partie du relevé comporte soixante-quatre entrées de pages logiques (page zéro àlage soixante-trois), et chaque entrée du relevé comprend seize bits, comme le montre la seule entrée de relevé à grande 30 échelle représentée à la figure 36. Comme l'indiquent les légendes associées à l'entrée de rele- vé à grande échelle représentée à la figure 36, chaque entrée de relevé comprend une zone de numéro de page physique de dix bits, un seul bit de parité P. une zone historique de référence compre- 35 nant trois bits de référence Re 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 40 Le bit de parité P est toujours eréé sous forme d'imparité 124 248522? pour fournir un contrôle d'intégrité de données sur les contenus à l'entrée du relevé. Les bits de la zone historique de référence R, S et T sont utilisés par la fonction de gestion de la mémoire du système 5 d'exploitation afin de conserver l'information historique de réfé- rence pour sélectionner la page la moins récemment utilisée pour le recouvrement. Le bit R est mis à "un" par n'importe quelle opération d'ex- traction ou d'enregistrement effcectuée sur cette page logique. 10 Les bits S et '' sont des bits d'enregistrement qui sont ma- nipulés par l'instruction de décalage d'une entrée de relevé AM.AP Le bit-clé D est mis à "un" par un accès d'enregistrement à cette page logique. Le système d'exploitation utilise le bit-clé 15 pour déterminer si une page de données a été modifiée depuis qu'elle a été extraite en dernier lieu de la mémoire auxiliaire. Le bit d'absence A est mis à "un" par le système d'exploi- tation pour signaler une page logique qui est absente de la mémoire centrale mais qui est présente dans la mémoire auxiliaire, 20 ou pour signaler une page qui est en dehors de la zone d'adres- - se logique de cet utilisateur. Les deux bits de poids fort, dans le cas de l'entrée de re- levé représentée à la figure 36, ne sont pas utilisés dans l'exemple particulier de réalisation de la présente invention illustré 25 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 30 une entrée de relevé SMAP, l'instruction de lecture d'une entrée de relevé RMAP et l'instruction de décalage d'une entrée de relevé AMAP. L'instruction SMAP est utilisée par la fonction de gestion de la mémoire du système d'exploitation pour insérer des données 35 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 115, représenté à la figure 12, de l'unité centrale 105. Le microprogramme agit en liaison avec la,!ogique 401 de commande de 40 la mitoire à relevé, représentée à la fig=e b4, tout d&abôO 125 2485227 pour sélectionner un emplacement dans le relevé 409 (à l'aide du premier paramètre de l'insertion) et ensuite pour insérer dans cet emplacement le deuxième paramètre de l'instruction, c'est-à-dire les nouvelles donnéesld'entrée du relevé. 5 Eht fonctionnement, comme le montre la figure 35, dans le premier stade de la séquence, le microprogramme 115 charge les nouvelles données d'entrée du relevé dans le registre 423 des données de la mémoire du processeur PMD. Dans le stade suivant de la séquence, l'adresse du relevé 10 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 15 été chargés dans leurs registres respectifs 411 et 423. Ensuite, le microprogramme 15 de l'unité centrale 105 dé- clenche une séquence d'opérations d'enregistrement de relevé de la logique 401 de commande de la mémoire à relevé, Cette séquen- ce d'opérations d'enregistrement de relevé est déclenchée après 20 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é SHAP sont accomplies par la logique 25 de commande de la mémoire à relevé. Ainsi, les autres actions sont toutes accomplies automatiquement par le matériel. Dans la séquence d'opération d'enregistrement de relevé, l'adresse du relevé est transmise du registre d'adresse de la mémoire du processeur PHA au relevé 409, par l'intermédiaire 30 du sélecteur 415 d'adresse et de la ligne 417. Seuls les huit bits de poids fort (la sélection du relevé et l'adresse du relevé) sont utilisés dans cette opération. Les deux bits de poids fort indiquent la sélection du re- levé, que ce soit les données de l'utilisateur, les données du 35 système, le codede l'utilisateur ou le code du système. Les dix bits de poids faible de la ligne d'adresse logique venant du sélecteur 415. d'adresse 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 40 cette opération. 2485227 Pendant que le relevé est adressé comme on l'a décrit ci- dessus, les nouvelles données du relevé sont transmises du re- gistre 423 des données de la mémoire du processeur PMD au géné- rateur 449 de parité de relevé etiau relevé 409, par l'intermé- 5 diaire du sélecteur 447 de données du relevé.' Le générateur de parité de relevé calcule l'imparité à partir des nouvelles 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 10 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 15 417. Cette opération termine la séquence d'instruction d'inser- tion de données dans une entrée du relevé SMAP. A la fin de cette instruction d'insertion de données dans une entrée du relevé SMAP, la partie appropriée du relevé a été 20 sélectionnée, l'entrée particulièrede la page logique dans cette - partie du relevé a été sélectionnée, les données et l'impazité 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é. 25 L'instruction d'insertion des données dans une entrée du relevé SMAP est utilisée par le système d'exploitation pour initialiser chaque entrée de page logique dans chacune des qua- tre parties du relevé, suivant les exigences. Une utilisation de l'instruction d'insertion de données 30 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 qHIune page a été transférée à partir de la mémoire auxiliaire. Une autre utilisation de l'instruction d'insertion de don- 35 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é RBAP est utilisée par la fonction de gestion de la mémoire du système d'exploitation pour interroger le contenu d'une entrée de relevé. 40 Dans cette instruction de lectUflre d'une entrée du relevé 126 127 2485227 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 5 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é RMP, comme le montre la figure 35, le microprogramme 115 charge l'adresse du relevé, y compris les deux bits de poids 10 fort pour la sélection du relevé, dans le registre 411 d'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, 15 dans cette séquence, l'adresse du relevé est transmise du regis- tre 411 d'adresse de la mémoire du processeur PNA au relevé 409, par l'intermédiaire du sélecteur 415 d'adresseG De nouveau, seuls les bits de sélection de relevé et d'adresse de page sont utilisés dans cette séquence. 20 Le contenu de l'entrée du relevé sélectionnée est transmis du relevé 409 au contrôleur 451 de parité de relevé, comme le montre la figure 35, et à la bascule 443 de sortie du relevé. Le contrôleur 451 de parité de relevé compare le bit de parité venu de l'entrée du relevé avec l'imparité calculée à partir des *25 données. Si la parité n'est pas correcte, l'adresse du relevé est chargée dans le registre 441 de pages de relevé et le signal d'erreur de parité du relevé détermine une indication d'erreur qui produit à l'unité centrale 105 une interruption pour erreur 30 de parité du relevé. D'autre part, si la parité est correcte, les données d'en- trée du relevé sont chargées de la bascule 443 de sortie du re- levé dans le registre 445 de données de la mémoire à relevé MMD. Enfin, le résultat de l'instruction est que le micropro- 35 gramme de l'instruction de lecture d'entrée de relevé RFLAP 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é 40 IMAP, la partie appropriée du relevé a été sélectionnée, ln- 128 2485227 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é çentrale. 5 Les utilisations de l'instruction de lecture d'entrée de relevé RMAP sont les suivantes : La fonction principale de cette instruction de lecture d'entrée de relevé RMAP est de permettre au système d'exploi- tation d'interroger la zone historique de référence et le bit10 clé d'une entrée de relevé (voir le format de l'entrée de rele- vé représenté à la figure 36) afin de déterminer une page en vue du recouvrement (comme le montrera mieux la description de l'o- pération suivante). L'instruction de lecture d'entrée de relevé RNAP est également 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 20 *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 P du format d'entrée du relevé représenté à la figure 36), dans une partie du relevé qui sont "décalées" d'une manière caractéristique après chaque interruption pour 25 faute de page dans cette partie du relevé. Cette instruction de décalage d'une entrée de relevé AHAP 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 30 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 PU exactement comme dans 35 l'instruction de lecture d'une entrée de relevé RXAP. A ce stade, une séquence d'opérations de lecture de relevé de la logique 401 de commande de la mémoire à relevé est déclen- chée et cette séquence se poursuit exactement comme dans l'ins- truction de lectu!re d'une entrée de relevé RMAP décrite ci- 40 dessus. 129 2485227 Le microprogramme 115, représenté à la figure 12, lit le contenu de l'entrée du relevé venant du registre 445 de données de la mémoire à relevé MID, représenté à la figure 35, extrait la zone historique de référence (les bits R, S et T de référen- 5 ce 40, Il et 12 représentés à la figure 36), décalela zone vers la droite d'une position et réinsère la zone pour former les nouvelles données d'entrée du relevé. Ainsi, un zéro a été introduit dans le bit R, le bit R a été introduit par décalage dans le bit S, le bit S a été introduit par décalage dans le 10 bit T, et l'ancien bit T est perdu. Le microprogramme 115 prend alors l'entrée modifiée du relevé, charge ces nouvelles données dans le registre 423 de données de la mémoire du processeur PHD, représenté à la figure 34, et réintroduit les nouvelles données d'entrée du relevé 15 dans l'entrée du relevé sélectionnée, comme dans la séquence d'insertion des données dans une entrée du relevé SMAP. . - Ces opérations terminent l'instruction de décalage d'une entrée de relevé AMiAP. Le résultat de l'instruction de décalage d'une entrée de 20 relevé AMAP est le suivant : une entrée de relevé a été extrai- te du relevé, sa zone historique de r6férence a été décalée et cette entrée modifiée a été réinsérée dans l'emplacement sélectionné du relevé. Comme on l'a noté précédemment, le bit R est mis à "un" 25 par n'importe quelle référence de la mémoire à la page logique correspondante, de sorte que lorsque ce bit est à l'état "un", c'est une indication que cette page a été utilisée depuis la dernière instruction d'insertion de données dans une entrée de relevé SMAP ou de décalage d'une entrée de relevé AMAP. 30 Cette mise à "un" du bit R en liaison avec l'instruction de décalage d'une entrée de relevé ANAP fournit un moyen de maintenir l'information concernant la fréquence d'utilisation dans la zone hiitorique de référence du relevé. La zone h:.storique de référence de toutes les entrées de 35 relevé dans un relevé donné est décalée de manière caractéris- tique après une interruption pour faute de page. Ainsi, la va- leur de la zone de référence de trois bits dans une entrée de relevé est une;..ndication de la fréquence d'accès depuis les trois interrupv.ons précédentes pour faute de page. 40 Par exempls une valeur binaire de sept (les trois bits de 2485227 référence étant tous mis à "un") indique des accès dans chacun des intervalles entre les interruptions précédentes pour faute de page. 1 Une valeur binaire de quatre dans la zone historique de 5 référence (le bit R étant à l'état "un" et les bits S et T à l'état "zéro") indique un accès dans l'intervalle depuis la dernière interruption pour faute de page et elle indique qu'il n'y a pas eu d'accès dans les intervalles qui précèdent la plus récente interruption pour faute de page. 10 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 historique de référence de trois bits est élevé, plus la fréquence d'accès récents à cette page logique est élevée. Cette information historique de référence est maintenue de sorte que, lorsqu'il faut sélectionner une page pour le recou- vrement, une page qui n'a pas été utilisée fréquemment dans le 20 récent passé peut être identifiée. Une page qui n'a pas livré d'accès fréquents dans le récent passé est susceptible de 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- 25 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- 30 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 35 relevé pendant une séquence d'accès à la mémoire par l'unité centrale. La séquence d'accès est similaire pour les divers accès à la mémoire par l'unité centrale, tels que l'enregistre- ient desdonnées, l'extraction des données ou l'extraction des instructions depuis la mémoire. t 40 La séquence d'accès à la mémoire par l'unité centrale 130 131 2485227 est déclenchée par le microprogramme 115 de l'unité centrale 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 5 411 d'adresses de la mémoire du processeur PMA et elle déclenche une séquence d'opérations d'extraction de données, d'enregistrementde données ou d'extraction d'instructions de la logique 401 de commande de la mémoire à relevé. L'adresse logique de dix-huit bits se compose de deux bits 10 de poids fort de sélection d'espace d'adresse logique et de seize bits de poids faible définissant un emplacement dans cet espace d'adresse logique. Les deux bits de sélection peuvent être déterminés par le microprogramme 115 de l'unité centrale ou ils peuvent être créés automatiquement dans l'unité centrale, 15 sur la base des contenus des registres d'instruction I et de conditions d'exploitation E. L'adresse logique de dix-huit bits comprend également, en plus des deux bits de poids fort de sélection d'adresse logique, six bits qui déterminent la page logique dans le relevé sélectionné 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'extractio:n données, d'enregistrement de données ou d'extraction d'instructions de la logique 401 de commande de la mémoire à relevé, après que toute 25 opération précédente du relevé ou de la mémoire a.été terminée, l'adresse de dix-huit bits contenue dans le registre 411 d'adresses de la mémoire du processeur PMA, représenté à la figure g5, 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. 30 La ligne 419 transmet la partie de décalage de page de l'adresse. Cette partie de décalage de page de l'adresse est transmise directement aux modules 403 de la mémoire physique, représentés à la figure 34, par la ligne 419. La ligne 417 transmet la partie d'adresse de page logique 35 (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 349 au 40 contrôleur 451 de parité de releVé de la figure 35 et à li 132 24 5227 bascule443 de sortie du relevé. Si le bit d'absence est à l'état "un", l'adresse de la page logiqueest chargée dans le registre 441 des pages du relevé, un signal d'interruption pour faute d1e page est transmis à l'unité 5 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 1o0 d'erreur de parité de relevé est transmis à l'unité centrale et la séquence d'accès à la mémoire est terminée. D'autre part, s'il n'y a pas d'erreur, l'adresse de la page physique est transmise de la bascule 443 de sortie du relevé aux modules 403 de la mémoire physique par l'intermédiaire de 15 la ligne 421; et la logique 401 de commande de la mémoire à re- levé émet une instruction dans la ligne 439 pour amener le mo- dule 403 de mémoire sélectionné à exécuter une opération d'ex- tractionou d'enregistrement. Dans une opération d'enregistrement dans l'unité centrale, 20 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 25 la mémoire à relevé provoque la modification et le réenregistre- ment des données d'entrée du relevé. Les données d'entrée du relevé, sans le bit de parité P ou le bit de référence R, sont transmises de la bascule 443 de sortie du relevé à la logique 455 du bit-clé représenté à la 30 figure 55, et au sélecteur 447 de données du relevé. Dans cette opération, la zone de la page physique d'une 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 35 réenregistrés sans modification. Si une opération d'enregistrement de données dans l'unité centrale est en cours d'exécution, le bit-clé D fourni au sélec- teur de données du relevé eât mis à "un" par la logique 455 du bit-clé. Sinon, le bit-clé n'est pas modifié. 40 Le bit R de référence fourni au sélecteur de données du re133 2485227 levé par la logique 453 du bit de référence est mis à "un", soit dans une opération d'extraction, soit dans une opération d'enregistrement. La zone de la page physique eti les bits S, T et A ne sont 5pas modifiés, comme on l'a noté ci-dessus. Le sélecteur 447 de données du relevé fournit ces nouvelles données du relevé au générateur 449 de parité .et au relevé 409. Un bit d'imparité est créé à partir des nouvelles données par le générateur 449 de parité, comme le montre la figure 35. 10 Un signal d'échantillonnage d'enregistrement de relevé ve- nant de la logique 401 de commande de la mémoire à relevé provo- que ensuite l'enregistrement des nouvelles données et de la nou- velle parité dans l'entrée du relevé sélectionnée par la ligne 417 d'adresse de la page logique. 15 Ainsi, la page logique a été traduite par l'intermédiaire de l'entrée du relevé, et cette dernière a été réenregistrée avec des bits de parité, de référence et de clé mis à jour. Lorsque le module 403 de la mémoire physique termine son opération d'extraction ou d'enregistrement, il envoie, par la 20 ligne 439, un signal de fin d'opération à la logique 401 de com- mande de la mémoire à relevé. Voir figure 34. Dans une opération d'extraction, le module 403 de la mémoire dirige les données de la mémoire vers la ligne 437, comme le mon- tre la figure 34. 25 Dans une séquence d'opérations d'extraction de données, les données sont chargées dans le registre 433 de données de la mé- moire MD, représenté à la figure 34, pour être utilisées par l'unité centrale 205. Dans une séquence d'opérations d'extraction d'instructions, 30 les données sont chargées dans le registre 431 d'instruction. suivante NI pour une exécution ultérieure par l'unité centrale 105. Les accès à la mémoire de l'unité centrale pour l'extraction de données, l'enregistrement de données et l'extraction d'instruc- 35 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. 40 Le registre 129 d'adresses de la mémoire du canal OIMA repré- 134 2485227 senté à la figure 34, est utilisé pour fournir l'adresse logique et ce registre indique toujours le relevé 469 des données du sys- tème. Voir figure 35. Le registre 425 de données deila mémoire du canal OMD repré- 5 senté à-la figure 34, est utilisé pour fournir les données à la mémoire dans une opération d'enregistrement. Le registre 125 de données du canal CD, représenté à la fi- gure 34, est utilisé pour recevoir les données venant de la mé- moire dans une opération d'extraction. 10 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. 15 En outre, la parité du relevé et les conditions d'absence sont transmises au canal 109 d'entrées-sorties, si elles se produisent dans le cas d'un accès à la mémoire du canal d'entrées- sorties. Comme on l'a noté en plusieurs points ci-dessus, les modules 20 403 de mémoire sont constitués d'une mémoire à semiconducteurs ou d'une mémoire à tores. Lorsque la mémoire est une mémoire à tores, les erreurs sont détectées par un système de détection d'erreurs de parité. Le système de détection d'erreurs de parité pour des modules de mé- 25 moire à tores détecte efficacement toutes les erreurs de bit uni- que. Les techniques classiques de création et de contrôle d'er- - reurs de parité sont utilisées et les détails de la mémoire à to- res ne seront donc pas décrits. La probabilité de défaillance d'une mémoire à semi-conducteurs est suffisamment élevée pour justifier un système de dé- tection et de correction d'erreurs; la présente invention four- nit un système de détection et de correction qui incorpore une zone de contrôle de six bits pour chaque mot de seize bits. Les figures 37 à 41 et la table 1 qui s'y rapporte, présentée ci- 35 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é- 40 sente invention peut, comme on le décrira en détail ci-après, dé- 2485227 tecter et corriger toutes les erreurs de bit unique et ce système est également capable de détecter toutes les erreurs ,de bit dou- ble. En outre, la plupart des erreurs de trois ou plusieurs bits sont détectées. 5 Bien que le système de détection et de correction d'erreurs soit décrit en relation avec une mémoire à semiconducteurs, on doit noter que le système ne se limite pas et ne se réduit pas aux mémoires à semiconducteurs. Il est au contraire utile pour n'importe quelle application de stockage ou de transmission de 10 données. Un avantage important du système de détection et de correction d'erreurs qui fait partie de la présente invention résulte du fait que, non seulement les erreurs de bit unique sont corri- gées, mais aussi que toute erreur suivante de bit double est dé- 15 tectée de manière sûre après la défaillance d'un bit unique. Le système de traitement par multiprocesseurs comprenant le système de détection et de correction d'erreurs de la pré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 20 dans la mémoire à semiconducteurs, jusqu'au moment o il est comn- mode de réparer la mémoire. lie 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 25 combinaison linéaire de huit bits d'information, comme le montre la figure 38. De même, chaque bit d'information se compose d'exactement 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- 30 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é. 35 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 40 utilisée pour identifier ou détecter la perte d'information dans 1 35 136 2485227 ce mot depuis le moment o il a été stocké en mémoire. Dans une mémoire à semiconducteurs, deux mécanismes de per- te d'information (erreur) sont possibles. L'un est une panne grave d'un dispositif de la mémoire qui rend ce dispositif in- 5 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- 10 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- 15 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 20 de mémoire. Si le décodeur de syndrome indique une erreur multiple, le fait de l'erreur multiple est alors communiqué à la partie de commande de la mémoire à relevé, par l'intermédiaire de l'une des lignes d'erreur et de commande, afin d'interrompre l'unité 25 centrale. On se reportera maintenant à la figure 37. le module 403 de mémoire inclut une partie 475 de logique de commande et de synchronisation et un ensemble 477 de mémoire à semi-conducteurs. L'ensemble 477 de mémoire permet de stocker 32 768 mots de vingt- 30 deux bits chacun. Comme le montre la figure 37, chaque mot com- porte une zone d'information de seize bits et une zone de contrôle de six bits. Chaque module 403 de mémoire à semiconducteurs comporte éga- lement, comme le montre la figure 37, une bascule 479 de sortie, ;35 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 403 de mémoire est connecté au reste du système par l'intermédiaire des lignes de signaux et de données représentées à la figure 37. Oês lifnneo comprennent : la ligne 429 137 2485227 d'acheminement des données vers la mémoire, les lignes 439 de commande et d'erreur vers la partie 401 de commande de la mé- moire à relevé, les lignes 419 et 421 d'adresse physique et la ligne 437 d'extraction des données de la mémoire. Ces lignes 5 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 10 bits d'information. La sortie du comparateur 483 de bits de contrôle est transmise, par une ligne 491 de syndrome, au décodeur 485 de syndrome et à la partie logique 475 de commande et de synchro- nisation. 15 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- nLses, par les lignes 495 et 497, à la partie logique 475 de commande et de synchronisation. La ligne 495 transmet un signal 20 d'ERREUR UNIQUE (erreur corrigible) et la ligne 497 transmet un. signal d'ERREUR MULTIPIE (erreur incorrigible). la logique 475 de commande et de synchronisation fournit des signaux de commande, par une ligne de commande 499, à l'en- semble 477 de mémoires à semiconducteurs et également à la bas- 25 cule 479 de sortie. La sortie du générateur 481 de bits de contrôle est trans-- mise à l'ensemble 477 de mémoire par une ligne 501. Comme le montre la figure 38, le générateur 481 de bits de contrôle comprend six arbres séparés 503 de parité de huit 30 bits. Comme le montre la figure 39, le comparateur 485 de bits de contrôle comprend six arbres séparés 505 de parité de neuf bits. - Comme le montre la figure 40, le décodeur de syndrome 485 35 comprend une partie 507 de décodeur et un arbre 509 de parité de six bits. En se reportant toujours à la figure 40, on verra que les sorties de la partie 507 de décodeur et de l'arbre 509 de pa- rité de six bits sont combinées dans la logique d'identifica40 tion d'erreur repérée d'une manière générale par la référence 2485227 138 511. Comme le montre la figure 41, le complémentateur 437 de bits comprend seize portes OU exclusif 513. En fonctionnement, le mot coAtenant des donéées de seize 5 bits est fourni par la ligne 428 à l'ensemble 477 de mémoire et également au générateur 481 de bits de contrôle. Voir figure 37. Le générateur 481 de bits de contrôle, comme le-montre le mieux la figure 38, crée six bits de contrôle GO à 05, à l'ai- de de six arbres 503 de parité de huit bits. 10 Comme le montre également la figure 38, l'arbre 503 de pa- rité de huit bits situé à l'extrême gauche crée le bit de con- trôle 0O, comme l'indique l'équation logique de 0O développée au bas de la figure 38. Le bit de contrôle G0 est donc le com- plément de la somme modulo deux des bits d'information 8 à 15. 15 Pour donner un autre exemple, le bit de contrôle 03 est créé par un arbre 503 de parité de huit bits, comme l'indique l'équation logique de C3 développée au bas de la figure 38. Le bit de contrôle 03 est la somme modulo deux des bits d'informa- tion 0, 1, 2, 4, 7, 9, 10 et 12, représentée par l'équation lo- 20 gique et illustrée également par les connexions entre l'arbre de parité de huit bits et les lignes de bits d'information corres- pondantes dans le schéma logique en haut de la figure 38. De même, chacun des autres bits de contrôle est créé par une addition modulo deux de huit bits d'information, comme le 25 montre le schéma logique en haut de la figure 38. Pour effectuer une opération d'enregistrement en mémoire, ces bix bits de contrôle créés ainsi par le générateur 481 de bits de contrôle, et les seize bits d'information transmis par la ligne 429 acheminant les données, sont introduits dans un 30 emplacement particulier de l'ensemble 477 de mémoire. Comme 'e montre la figure 37, les six bits de contrôle et les seize bits d'information sont introduits dans l'ensemble 477 de mémoire par la logique 475 de commande et de synchronisation et l'informa- tion d'adresse physique transmise par la ligne d'adresse physi- 35 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 40 cet emplacement dans l'ensemble de mémoire est ensuite accessi- 139 2485227 ble pour une opération d'extraction. Lorsqu'un mot particulier soit être extrait de l'ensemble 477 de mémoire, 1a logique 475/commande et de synchronisation et l'adresse transmise par la ligÀe d'adresse physique 419 et 5 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 10 dt la zone de contrôle de six bits sont transmis au comparateur .483 de bits de contrôle, par une ligne 489. Comme le montre la figure 59, le comparateur 483 de bits de contrôle forme six bits de syndrome S0 à B5. Chaque bit de syndrome est la sortie d'un arbre 505 de pa- 15 rité de neuf bits dont les entrées sont composées de huit bits d'information et d'un de contrôle. Chaque bit de syndrome est relié à un bit de contrôle numéroté de même. Ainsi, le bit de contrôle "zéro" est utilisé uniquement pour calculer le bit de syndrome "zéro", le.bit de contrôle "un" est utilisé uniquement 20 pour calculer le bit de syndrome "un", etc. Par exemple, le bit de syndrome "zéro" SQ 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. 25 De même, chacun des bits de syndrome-81 à 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 L1 chaque bit de syndrome dans la partie de schéma logique de la 30 figure 39. La présence ou l'absence d'erreurs et les types d'erreurs, la cas échéant, sont indentifiés par la traduction de la valeur des six bits de syndrome dans la ligne 491. La table a énumère les soixante-quatre valeurs possibles 35 du code de syndrome de six bits et elle donne la traduction de chaque valeur possible. TABLE 1 CODE DE SYNDROME sO SI s2 s3 s4 S5 0 O 0 0 0 . 0 0 0 0 0 0 1 0 0 1 0 X i 0 1 .0 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 0 0 '1 0 O O 0 0 0 1 O 0 1 0 o o o o o 0 1 o o o o 0 1 1 0 1 0 1 1 1 1 0 0 0 O O Q 1 0 1 1i 0 1 0 1 0 1 0 1 0 1 0 ERRER (aucune erreur) C5 04 (Double) C3 (Double) (Double) DO C2 (Double) (Double) (Multiple) (Double) D1 D2 (Double) Ci1 (Douqble) (Double) D3 (Double) S0 s1 S2 S3 S4 S5 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 I . 0 1i 1' 0 1 0 0 0 0 0 * O I O 0 0 0 1 0 1 0 1I 0 o 1 1 o o 0 0 0 0 o 1 0 0 0 0 0 O 0 1 1 0 1 1 0 O 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 0 )O, 1 1 0 ) 1 1 1 0 0 ERREUR C0 (Double) (Double) D8 (Double) D9 D10 (Double) (Double) D11 (Multiple - tous les bits sont à O (Double) D12 (Double) (Double) (Multiple) (Double) D13 D14 (Double) (Multiple) o r4- Co r>) t CODE DE SYNDROME S2 .S3 S4 1 0 S.5 ERREUR 1 (Multiple - Tous les bits sont à 1) 1 1 0 D4 I I I (Double) 1 O O O (Double) O O I D5 O I O D6 O 1 1 (Double) -.1~~ .*-M" , v v , D7 I O 1 (Double) I 1 O (Double) 1 I I (Multiple) AINSI, (Nombre de bits à 1 dans le syndrome) O BIT - PAS D'ERREUR 1 BIT ERREUR DU BIT DE CONTROIE 2 BITS - ERREUR DOUBLE S0 Si S2 S3 S4 S5 ERRESUR O I O I (Double) O I I O (Double) 0 1 I 1 (Iultiple) 1 1 1 0 0 0 D15 O O O 1 (Double) O O I O (Double) 0 0 1 1 (Multiple) O I O O (Double) 0 0 I (Multiple) o 1 I 0 (Multiple) O I I I (Double) 3 BITS - 4 BITS - 5 BITS 6 BITS - ERREUR ERREUR ERREUR ERREUR DU BIT D'INFOR2ATION DOUBLE MULTIPLE DOUBLE S0. Si 0 0 0 0 0 0 0 0 O O I 1 O O O O O -P r> co nA 142 2485227 Par exemple, si tous les bits de syndrome S0 à s5 sont à zéro, il n'y a pas d'erreur dans la zone d'information ni dans la zone de contrôle. C'est l'état représenté à gauche en haut de la table 1. ! La présence ou l'absence d'erreurs et le type d'erreur sont résumés au bas de la table 1. Dans ce résumé, lorsque tous les six bits de syndrome sont à l'état zéro", il n'y a pas d'erreur comme on l'a noté ci-des- sus. 10 Si un seulement des six bits de syndrome est à "un" ceci indique une erreur dans le bit de contrôle correspondant. On doit bien noter qu'à ce stade les erreurs de bits de contrôle sont des erreurs de bits uniques qui ne nécedsitent pas de correction du mot contenant les données. 15 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 20 de contrôle. Lorsque trois bits sont à "un" dans le code de syndrome de six bits, cet état peut correspondre soit à une erreur de bit d'information unique, soit à une~ erreur multiple. Un exemple d'erreur de bit unique dans un bit d'information 25 est donné par le code de syndrome 1 1 1 0 0 0 qui indique une erreur de bit unique dans le bit d'information D15 en bas et à droite de la table 1.Comme on le décrira plus en détail ci-des- sous, le décodeur de syndrome 485, représenté aux figures 37 et 40, produira l'inversion (correction) de la valeur incorrecte du .3o bit 15 d'information. Le -décodeur de syndrome 485 fournit deux fonctions. Tout d'abord, il fournit une entrée au complémentateur 487 de bits d'information, représenté à la figure 37, par l'inter- médiaire de la ligne 493 dans le cas d'erreurs de bits d'infor- 35 nation 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- 40 que est transmise paxr la ligne 495 d'ERREUR URIQUE à la logique 143 2485227 475 de commande et de synchronisation Une indication d'erreur multiple est transmise par la ligne 497 d'ERREUR MULTIPLE à la logique 475 de commande et de synchronisation. I 5 Un signal d'ERREUR MULTIPLE est créé dans tous les cas d'erreurs de bits doubles et dans la plupart des cas d'erreurs de bits triples ou davantage. Ce signal d'ERREUR MULTIPLE, com- me on l'a noté ci-dessus, produit une interruption de l'unité centrale 105. Voir figure 34. 10 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 15 bits SI à S5, afin de fournir l'information suffisante (trente- deux sorties) pour créer à la fois les types d'erreurs (qu'il s'agisse d'erreurs uniques ou d'erreurs doubles ou multiples) et les seize lignes de sortie nécessaires à l'inversion des erreurs de bits d'informaticon dans les seize bits d'informa- 20 tion. Ces seize lignes de sortie nécessaires à l'inversion des erreurs de bits d'informatimn 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 i T15 à la figure 40. Les sorties du décodeur 507 qui ne sont pas connectées à 25 la porte OU 512, corresponcllt aux erreurs dans les six bits de contrôle. Les erreurs daus 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'inform.tion) et ces sorties du décodeur ne sont donc pas utilisées. 30 Les autres sorties, c'est-à-dire celles qui sont connectées à la porte OU 512, représent nt des erreurs doubles ou multi- ples et elles sont indiquées le cette façon par les légendes à la figure 40. Tous ces cas E:rt recueillis par la porte OU 512 et ils constituent un élément du signal d'erreurs multiples 35 transmis dans la ligne 407 i la sortie de la logique 511 d'i- dentification d'erreurs. Comme le montre égalemet la figure 40, le décodeur de syndrome 45 comprend un arb * de parité 509 qui forme la somme modulo deux des bits de synd.ome SO à S5. 40 La sortie paire ou impe re résultante de l'arbre de parité 144 2485227 509 correspond aux classes d'erreurs mentionnées au bas de la table 1. Ainsi, la sortie PAIRE 514 correspond à des syndromes contenant zéro bit à "un", deux 1its à "un", quatre bits à "un" 5 ou sisc bits à "un". Le syndrome PAIR correspondant à zéro bit à "un" (aucune erreur) est exclu du signal 497 de sortie d'ERREUR MULTIPLE par une porte ET 515 qui exclut le cas de syndrome zéro (l'au- - tre signal d'entrée qui va du décodeur 507 à la porte 515). 10 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 NOMT IPLE. 15 Une sortie n'est souhaitée dans la ligne 495 indicatrice d'ERREUR UNIQUE que pour les erreurs de bits uniques. Comme la sortie impaire de l'arbre de parité 509, par la ligne 510, correspond à un bit à "un" (erreur de bit de contrôle), à trois bits à "un" (erreur de bit d'information ou erreurs de 20 bits multiples) ou 'à cinq-bits à "un" (erreurs de bits multi- 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 25 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 30 519. Une sortie d'ERREUR UNIQUE est créée ,dans la ligne 495 pour les codes de syndrome qui contiennent un seul bit à "un" (erreur de bits de contrôle) et aussi pour les codes de syn- drome quiicontiennent trois -bits à "un" correspondant à des 35 erreurs de bits d'information. Comme on l'a noté ci-dessus, la sortie impaire de l'arbre 509 de parité indique des syndromes cor contenant -m, trois ou cinq bits à "un". L'inverseur 517 et la porte ET '9e excluent les syndromes de trois bits d'erreurs multiplesiet tous les syndromes de cinq bits. Ainsi, la sortie 40 495 d'ERR1tR UNIQUE ne comprend que des erreurs de bits de 145 2485227 contrôle unique et des erreurs de bits d'information uniques. Les erreurs de bits de contrôle uniques n'ont pas besoin d'être corrigées et les erreurs de bits d'information uniques sont cor- rigées par le complémentateur 487 àe bits. 5 Les équations logiques pour l'ERREUR MULTPI1E et l'ERREUR UNIQUE, mentionnées au bas de la figure 40, représentent l'opé- ration décrite ci-dessus. Il y .a des erreurs de trois bits ou davantage qui ne sont pas identifiées comme des erreurs multiples et qui, en fait, 10 peuvent être identifiées incorrectement comme n'étant pas des erreurs ou comme étant des erreurs de bits uniques (erreurs 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 normalement détectée avant que des erreurs de bits triples ne se 15 produisent. Par exemple, le modèle normal de détérioration du stockage en mémoire impliquerait d'abord une erreur de bit uni- que provenant d'un bruit ou de la défaillance d'un composant, elle impliquerait ensuite une erreur de bit double provenant d'une autre défaillance, etc. et les erreurs de bits doubles seraient 20 détectées avant que puissent se développer les erreurs -de bits triples ou davantage. Le complémentateur 4851 de bits d'information,représenté à la figure 37, a pour fonction d'inverser des erreurs de bits d'information détectées par le décodeur 485 de syndrome. 25 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 3o 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 35 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 40 du système, les dbnnées du système, le code de l'utilisateur et 146 2485227 les données de l'utilisateur, et il fournit une traduction des adresses logiques en adresses physiques, dans ces emplacements d'adresse. La division de la mémoire logique en quatre emplacements * 5 d'adresses isole les programmes du système des interventions des'programmes de l'utilisateur et elle protège les programmes du système contre toute erreur de l'utilisateur. La division en quatre emplacements d'adresses logiques fournit également - une séparation du code et des données, aussi bien pour le code 10 et les données de l'utilisateur que pour le code et les données du système. Ces caractéristiques fournissent l'avantage de 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- 15 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 20 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- 25 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. 30 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 nesont pas transférées dans la mémoire auxiliaire car une copie valide de 35 cette page de données se trouvé déjà présente dans la mémoire auxiliaire.' Le système de mémoire inclut une logique de commande de la mémoire à relevé qui maintient automatiquement l'information des bits-clés et des bits de référence lorsque l'unité centrale et 40 le canal d'entrées-sorties accèdent à la mémoire. a 147 2485227 Le système de mémoire de la présente invention fournit trois instructions de l'unité centrale, c'est-à-dire l'instruction d'insertion'des données dans une entrée de relevé SkP, l'ins- truction de lecture d'une entrée dé relevé RMAP et l'instruction 5 de décalage d'une entrée de relevé A WP, 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 10 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ées-sorties est effectuée dans ou hors de la mémoire. 15 L'opération d'accès à la mémoire à double entrée comprend également un arbitrage effectué par la logique de commande de la mémoire à relevé, au cas o l'unité centrale et le canal d'entrées-sorties tenteraient un accès simultané à la mémoire. En cas d'accès simultané, le canal d'entrées-sorties est prioritaire 20 et l'unité centrale attend jusqu'à ce que l'accès particulier du canal d'entrées-sorties soit terminé. La mémoire physique peut être étendue par l'adjonction de modules de mémoire physique. Les modules de mémoire physique comprennent, dans le cas 25 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 30 module de mémoire physique. Le système de détection et de correc- tion d'erreurs comprend un mot de vingt-deux bits dans le moynn de stockage. Seize bits représentent les données et six bits fournissent une zone de contrôle de détection et de correction d'erreurs. La zone de contrôle cle six bits permet la détection 35 et la correction de toutes les erreurs uniques et la détection de toutes les erreurs doubles. La mémoire à tores inclut la parité pour-la détection d'er- reurs uniques. Dans l'ensemble du systèr'. de traitement par multiproces- 40 seurs qui fait l'objet de la Irésente invention, chaque module 148 2485227 de processeur comprend son propre système de mémoire centrale. Puisque chaque module de processeur possède son propre système de mémoire, on évite les problèmes de partage de mémoire dans un système de multitraitement. 5 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 10 centrales supplémentaires sont combinées avec une mémoire commune ,unique. Les problèmes de blocage concernant les communications entre les unités centrales, à l'aide de zones prévues dans une mémoire commune, sont évités par la présente invention qui ne 15 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 pout avoir 20 comme résultat une défaillance simultanée de plusieurs ou de toutes les unités centrales du système. Ce qui revient à dire que, dans un système à mémoire commune, une défaillance unique de la mémoire peut immobiliser le système en totalité ou en par- tie, alors que la défaillance d'une mémoire ne paralysera pas 25 le système de traitement par multiprocesseurs qui fait _l'objet de la présente invention. L'accès à la mémoire à double entrée par l'unité centrale et par le canal d'entrées-sorties est possible grâce à l'utili- sation de registres d'adresses séparés et de registres de don30 nées séparés vers et venant de la mémoire. L'unité centrale possède un registre particulier, le re- gistre d'instruction suivante NI, en particulier pour recevoir des instructions de la némoire. Ce registre séparé et particu- lier permet une prise en charge simultanée de l'instruction sui- 35 vante pendant l'exécution de l'instruction en cours, qui peut impliquer l'extraction de données de la mémoire. En conséquence, à la fin d'une instruction en cours, l'instruction suivante peut être déclenchée immédiatement sans qu'il faille attendre une prise en charge de l'instruction. 40 Le relevé est constitué pour fournir un accès signific=- 149 2485227 tivement plus rapide que l'accès à la mémoire physique centrale. Cette caractéristique présente plusieurs avantages dans la traduction des adresses par l'intermédiaire du relevé. Il en résulte que, dans le syfstème de mémoire qui fait 5 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. 10 De même, la vitesse élevée à laquelle le relevé est accessible, réduit la durée totale y compris la traduction des pages nécessaires à un accès à la mémoire. La parité est maintenue et contrôlée dans la mémoire à re- levé effective elle-même. Ceci fournit une indication immédiate 15 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 20 susceptible de variantes et de modifications qui apparaîtront à l'homme de l'art. 2485227 150 REVENDCATIONS 1- Système d'entrées-sorties pour un système de traitement par multiprocesseurs du genre comportant des processeurs, un système d'entrées-sorties, un système d'alimentation électrique et un système de mémoire, et dans lequel les processeurs sont interconnectés 5 pour assurer un traitement en simultanéité, ce système d'entrées- sorties étant caractérisé en ce qu'il comprend plusieurs modules de processeurs séparés, chaque processeur comprenant une unité centrale et une mémoire ;-certains au moins des modules de processeurs ayant un canal d'entrées-sorties ; 10 un organe de commande au moins pour commander la transmission des données entre un module de processeur et un appareil péri- phérique ; plusieurs entrées dans chaque organe de commande et plusieurs lignes d'entrées-sorties pour connecter chaque organe de commande afin qu'il soit accessible aux différents modules de processeurs ; et un moyen de logique commune d'in- terface pour assurer qu'une seule entrée à la fois connecte operationnellement l'organe de commande au système de traitement par multiprocesseurs. 2485227 151 2.- Sysi,ème d'entrées-sorti6s suivant la revendication , caractérisé en'ce que les entrées de chaque organe de commande et des composants connexes du système sont constituées de telle sor- te que les entrées d'un organe de commande sont logiquement et physiquement indépendantes l'une de l'autre; et en ce qu'aucune. partie de composant d'une entrée n'est également un composant de l'autre entrée d'un organe particulier de commande, de sorte qu'aucune défaillance de composant unique en un endroit quel- conque de l'organe de commande ne peut affecter simultanément le fonctionnement de plus d'une entrée. 3-. Système d'entrées-sorties suivant-la revendications,!--,._ caractérisé en ce qu'il comprend un moyen de détection des dé- faillances qui inclut une ligne interconnectant les.modules de processeurs afin de détecter qu'une entrée particulière ne connecte plus opérationnellement l'organe de commande au systè- me de traitement par multiprocesseurs, 4,.- Système d'entrées-sorties suivant la revendication_.3,, caractérisé en ce qu'il comprend un moyen logique de transmis- sion d'un signal de prise de possession à une autre entrée éven- tuelle pour que celle-ci connecte opérationnellement l'organe de commande au système de traitement par multiprocesseurs, en réponse à la détection d'une défaillance de l'entrée particu- lière, 5- Système d'entrées-sorties suivant l'une des revendications i P , caractérisé en ce qu'il comprend une partie de commande dans chaque organe de commande; en ce que-chacune'des entrées indi- viduelles d'un organe particulier de commande est physiquement et indépendamment connectée à un module de processeur, en même temps qu'une autre entrée de cet organe de commande est physi- quement connectée à un module différent de processeur; et en ce qu'il comprend un moyen de bascule d'acquisition pour établir une connexion logique entre la partie de commande de l'organe de commande et l'une des entrées, de sorte qu'une seule entrée commande l'organe de commande à n'importe quel moment et, de ce fait, une défaillance d'une entrée de la ligne d'entrées sorties ou du canal d'entrées-sorties ou du module de processeur ne peut jamais affecter l'autre entrée. 6.-- Système d'entrées-sorties suivant l'une des revendications 1 2485227 152 caractérisé en ce que chaque organe de co]mnande comprend une par tie d'interface et une partie de commande; en ce que la partie d'interface comprend les entrées m~ltiples, le moyen de logique commune d'interface et le moyen de bascule de prise de possession; 5 et en ce que la partie de commande comprend la partie de commande de la logique de l'organe et une mémoire-tampon. 7.- Système d'entrées-sorties suivant l'une des revendications 1 à 6, caractérisé en ce qu'il comprend une bascule de validation dans chaque entrée afin d'empêcher dynamiquement une entrée d'envoyer 10 des signaux dans sa ligne respective d'entrées-sorties en réponse à une défaillance dans une partie quelconque de l'organe de com- mande. - 8,- Système d'entrées-sorties suivant l'une des revendications .;-} .7, caractérisé en ce qu'il comprend un moyen de création et de con- 15 trôle de parité pour commencer à contrôler la parité avant que les données ne soient dirigées dans un registre de l'entrée et pour continuer le contrôle de parité pendant un certain temps après que les données ont été placées dans le registre, de sorte que la parité est contrôlée pendant une ouverture et non pas 20 simplement sur un bord afin d'assurer que les lignes acheminant les données ne sont pas en cours de changement pendant que les données sont acceptées dans le registre. 9 - Système d'entrées-srties suivant l'une des revendications I a 8,caractérisé en ce qu'il comprend, dans chaque organe de commande, 25 un moyen de mémoire-tampon sensible aux contraintes.- , 10.- Système d'entrées-sordties suivant l'une des revendications 9.* caractérisé en ce qu'il comprend un moyen à profondeur d'attente permettant d'attendre un certain temps après chaque déconnexion du canal d'entrées-sorties avant de faire la demande suivante de 30 reconnexion; de ce fait, les appareils faiblement prioritaires peuvent accéder au canal d'entrées-sorties de sorte que ces appa- reils ne sont pas surchargés. 11 .- Système d'entrées-sorties suivant la revendication i0o caractérisé en ce que la mémoire-tampon comprend un moyen à pro- 35 fondeur de seuil permettaat à 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. 40 12.- Système d'entréeSs-sorties suivant la revendication %'J+ 2485227 153 caractérisé en ce qu'il comprend un moyen de variation des con- traintes capables de modifier la profondeur d'attente à laquelle l'organe de commande adresse une djmande de reconnexion au moyen de canal d'entrées-sorties. 5 13.;- Système d'entrées-sorties suivant la revendication 1l ou 12 caractérisé en ce que la profondeur de la mémoire-tampon est la somme de la profondeur de seuil et de la profondeur d'attenpe. 14. - Système d' entrées-sorties suivant l'une des revendiadcns 1 à 8, , caractérisé en ce qu'il comprend un moyen de priorité pour sélectionner, conformément à un plan de priorité, prédéterminé, un organe de commande particulier à partir de plusieurs signaux de demande d'appareil qui peuvent se produire de façon asynchrone, ce moyen de priorité comprenant une connexion de balayage en étoi- le entre le moyen de canal d'entrées-sorties et les organes de 15 commande utilisant une ligne de données multibinaires; un moyen de lignes de rangement qui divise les organes de commande en plu- sieurs groupes auxquels est affectée une priorité *relative entre eux, une priorité étant également affectée aux organes de comman- de au sein de chaque groupe, un registre séparateur de priorité 20 pour déterminer l'organe de commande qui a la priorité la plus élevée au sein de chaque groupe et un moyen de sélection pour connecter au moyen de canal d'entrées-sorties l'organe de commandE le plus hautement prioritaire qui fait une demande de reconuexion. 15.- Système d'entrées-sorties suivant l'unedesrevenditions1214i--l 25 caractérisé en ce qu'il comprend une table de commande des entrées sorties dans la mémoire de chaque module de processeur et en ce qu'il contient une entrée qui définit une zone tampon dans la mé- moire et une longueur restante de comptage de multiplets à trans- mettre pour chaqu&eappareil périphérique connecté au moyen de ca- 30 nal d'entrées-sorties de ce module de processeur. 16 - Système d'entrées-sorties suivant la revendication 15, caractérisé en ce que le moyen de canal d'entrées-sorties, en réponse à une demande de reconnexion faite par un organe de com- mande lorsque le mot de comptage dans la table de commande des 35 entrées-sorties est'à "zéro", passe directement à l'état de sus- pension d'exécution du programme afin d'empêcher un recouvrement de la mémoire par un appareil défaillant0 17. - Système d'entrées-sorties suivant la revendication 3I5 ou 16, caractérisé en ce qu'il comprend, dans chaque entrée, une zone 40 d'erreur comportant plusieurs bits qui peuvent être mis à "unn" 2485227 154 , pour indiquer l'une quelconque de nombreuses erreurs dénombrées, et en ce que le moyen de canal d'entrées-sorties passe directe- ment à .l'ét.at de suspension d'exéc4tion du programme en cas d' er1lr quelconque. ~5 18: - Système d'entrées-sorties suvant la revendication 15 ou 16,, caractérisé en ce qu'il comprend, dans chaque entrée, une zone- qui peut être mise à "un" pour indiquer que la zone-tampon dans la mémoire peut être extraite de la mémoire mais non introduite en mémoire, de manière à protéger la mémoire contre une défail- 10 lance de l'organe de commande. 19. Système d'entrées-sorties suivant l'une des revendications .j à e caractérisé en ce qu'il comprend un moyen de protection qui empê- che un appareil périphérique d'affecter sa propre zone tampon dans le module de processeur 15 20 - Système d'entrées-sorties suivant la revendications, ; caractérisé en ce que le moyen de protection comprend un bit de protection qui permet uniquement une opération d'extraction de la mémoire du module de processeur et qui empêche une opéra- tion d'introduction dans la mémoire du module de processeur. 20 21.- Système d'entrées-sorties suivant la revendication , . caractérisé en ce que chaque module de processeur comporte, dans- sa mémoire, son propre moyen de table de commande d'entrées-sor- ties pour tous les appareils qui lui sont connectés, de sorte qu'une défaillance unique dans un organe de commande quelconque 25 ne peut détériorer la mémoire d'un module de processeur connecté à cet organe de commande particulier. 22 - Système d'entrées-sorties suivant l'une des revendications 1. S 21, caractérisé en ce qu'l comprend plusieurs moyens séparés d'ali- mentation électrique répartis et opérationnellement associés avec 30 les modules de processeurs et les organes de commande, de sorte qu'aucune panne individuelle de moyen d'alimentation électrique ne peut immobiliser le système de traitement par multiproces- seurs. 23. - Système d'entrées-sorties suivant la revendication22, 35 caractérisé en ce que les alimentations électriques séparées sont réparties et opérationnellement associées aux modules de processeurs et aux organes de commande à plusieurs entrées, de sorte que n'importe quel module de processeur ou organe de com- mande individuel peut être mis hors circuit sans que le fonction- 40 nement continu du reste du système de traitement par multiproces- I 2485227 155 seurs On soit affect'- et l'entretien en direct peut être effec- tué sur n'importe quel module de processeur ou organe de comminan- de individuel grâce a une coupuri progressive de l'alimentation électrique de ce module de processeur ou de cet organe de comman 5 de, tandis que le reste du système de traitement par multiproces seurs continue à fonctionner en liaison directe avec l'ordina- teur. 24. - Système d'entrées-sorties suivant la revendication22 caractérisé en ce que plusieurs alimentations électriques sépa- 10 rées sont opérationnellement associées avec chaque organe de commande de sorte que, si une alimentation électrique associée à un organe de commande vient à baisser, une autre alimentation électrique prend la relève pour empêcher la perte de cet organe de commande. 15 25. ;- Système d'entrées-sorties suivant la revendication?4, caractérisé en ce qu'il comprend un moyen de commutation à dio- des pour comnnecter les deux alimentations électriques à chaque organe de commande, de sorte que chaque alimentation électrique alimente l'organe de commande à tous moments; et en ce que, si 20 une alimentation électrique vient à défaillir, l'autre alimenta- tion électrique fournit toute la puissance à l'organe de commaS- de, aucune discontinuité n'apparaissant jamais dans la puissance fournie à l'organe de commande. 26. -Système d'entaét-sorties suivant l'une des revendications ]à 23, 25 caractérisé en ce qu'il comprend un moyen de circuit de mise sous tension pour déterminer le fonctionnement de l'organe de commande lors de la mise sous tension ou hors tension, afin de protéger la ligne d'entrées-sorties contre les signaux erronés et permettre un entretien en direct et une extension du système 30 27. - Système d'entrées-sorties suivant la revendication 2S, caractérisé en ce qu'il comprend, dans chaque entrée, des appareils d'interface qui commandent les lignes d'entrées-sor- ties, et en ce que le moyen de circuit de mise sous tension agi en liaison avec les appareils d'interface pendant la défaillant 35 ou la coupure d'une alimentation électrique associée, afin d'ez pêcher électriquement les appareils d'interface de commander lE ligne d'entrées-sorties et, de ce fait, empêcher qu'un organe de commande n'affecte la ligne d'entrées-sorties pendant la dé- faillance ou la coupure d'une alimentation électrique. 2485227 156 28.- Système d'entrées-sorties pour un système de traitement pour processeurs du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties; caractérisé par le fait qu'il comp6rte un organe de commande pour commander la transmission des données entre le module de processeur et un appareil périphérique ; une entrée dans l'organe de commande ; une ligne d.'entrées-sorties connectant le canal d'entréessorties du module de processeur à l'entrée de l'organe de commande et une bascule de validation dans l'entréelafin d'empêcher dynamiquement cette entrée d'envoyer des signaux dans la ligne d'entrées-sorties en réponse à une défaillance dans une partie quelconque de -l'organe de commande. 29.- Système d'entrées-sorties pour un système de traitement par processeurs du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties ; caractérisé par le fait qu'il comporte un organe de commande pour commander la -transmission des données entre .le module de processeur et un appareil périphérique ; une entrée dans l'organe de commande ; une ligne d'entrées-sorties connectant le canal d'entrées-sorties du module de processeur à l'entrée de l'organe de commande ; et un moyen de création et de contrôle de parité pour commencer à contrôler la parité avant que les données ne soient dirigées dans un registre de l'entrée et pour continuer le contrôle de parité pendant un certain temps après que les données ont été placées dans le registre, de sorte que la parité est contrôlée pendant une ouverture et non pas simplement sur un bord afin d'assurer que les lignes acheminant les données ne sont pas en cours de changement pendant que les données sont acceptées dans le registre. 2485221 157 30.~ Système d'entrées-sorties pour un système de traitement par processeurs-du genre comportant un module de processeur, un système d'alimentation électrique et un système de mémoires et dans lequel le module de processeur comporte une unité centrale, une mémoire et un canal d'entrées-sorties ; caractérisé par le fait qu'il comporte plusieurs organes de commande pour commander la transmission des données entre le module de processeur et les appareils périphériques ; une entrée dans chaque organe de commande ; une ligne d'entrées-sorties connectant le canal d'entrées-sorties du module de processeur à l'entrée de chaque organe de commande ; et un moyen de priorité pour sélectionner conformément à un plan de priorité prédéterminé, un organe de commande particulier à partir de plusieurs signaux de demandé d'appareils qui peuvent se produire de façon asynchrone, ce moyen de priorité comprenant une connexion de balayage en étoile entre le moyen d'entrées-sorties et les organes de commande utilisant une ligne de données multibinaires ; un moyen de ligne de rangement qui divise les organes de commande en plusieurs groupes auxquels est affectée une priorité relative entre eux, une priorité étant également affectée aux organes de co.:ande au sein de chaque groupe ; un registre séparateur de priorité peur déterminer l'organe de commande qui a la priorité la flus élevée au sein de chaque groupe et un moyen de sélection pour connecter au moyen de canal d'entrées-sorties l'organe de commande le plus hautement prioritaire qui fait une demande de reconnexion. 2485227 158 31.- Procédé de connexion d'organes de commande avec un canal d'entrées-sorties d'un module de processeur suivant un plan de priorité prédéterminé dans un système de traitement par processeurs du genre comportant un processeur, un système d'entrées-sorties, -un système d'alimentation électrique et un système de mémoires et dans lequel plusieurs organes de commande sont connectés à un canal d'entrées- sorties comportant une ligne acheminant des données de bits multiples, et peuvent valider chacun un signal de demande de reconnexion vu d'interruption envoyé dans le canal d'entrées-sorties simultanément avec la validation de signaux de demande de reconnexion ou d'interruption venant d'autres organes de commande, ce procédé étant caractérisé en ce qu'il comprend la connexion des organes de commande au canal d'entrées- sorties dans une connexion de balayage en étoile, de sorte que chaque organe de commande est connecté indépendamment au canal 'd'entrées- sorties et de sorte qu'un nombre quelconque d'organes de commande peuvent être en panne ou mis hors circuit sans affecter le balayage des autres organes de commande ; la détermination des organes de commande qui valident effectivement les demandes adressées au canal d'entrées-sorties ; la détermination de l'identité de l'organe de commande le plus hautement prioritaire qui valide une demande ; la sélection d'un organe de commande particulier par le canal d'entrées- sorties suivant le plan de priorité prédéterminé ; l'exécution d'une transmission de données entre le canal d'entrées-sorties et l'organe de commande sélectionné ; et la déconnexion de l'organe de commande sélectionné à la fin de la transmission des données. 32.. - Procédé suivant la revendicatioR 31, caractérisé en ce que le canal d'entrées-sorties comprend un registre de séparation de priorité ayant un seul bit pour chaque organe de commande et opérationnellement associé avec la ligne acheminant les données afin de sélectionner un organe de commande particulier, et comprenant la validation d'un signal de validation d'un bit dans la ligne de données par chaque organe de commande ayant une demande en cours, et séparant 159 2485227 la priorité des bits, dans la ligne acheminant les données, par le registre de séparation de priorité. 33 - Procédé suivant la revendication '32" caractérisé en ce que chaque organe de commande comporte une entrée et chaque entrée un bit 5 de sélection qui, lorsqu'il est à "un", permet à cette entrée de répondre aux instructions que le canal d'entrées-sorties dirige vers cette entrée, ce procédé comprenant la validation dans la ligne de données, d'un bit de sortie du registre de séparation de priorité qui met à "un" le bit de sélection de l'entrée d'un organe de commande, 10 et ce procédé comprenant également la mise à zéro de tous les bits de sélection des entrées des organes de commande qui ne sont pas sélectionnés. 34.- Procédé suivant la revendication 33,, caractérisé en ce que chaque entrée comporte un bit de validation pour empêcher l'organe 15 de commande de transmettre l'information par l'intermédiaire de cette entrée au canal d'entrées-sorties, et comprenant la mise à zéro du bit de validation d'une entrée lorsqu'un organe de commande accomplit une action qui pourrait affecter le fonctionnement d'autres organes de commande connectés au même canal d'entrées-sorties. , 20 35.- Procédé suiv`ant la revendication .33:-ou 34, caractérisé en ce qu'il comprend l'utilisation d'un moyen de ligne de rangement afin d'augmenter le nombre d'organes de commande possibles qui peuvent être prévus avec la ligne acheminant des données de bits multiples; et en ce que la priorité des organes de commande est déterminée à la 25 fois par le rang et par la priorité dans un rang. Procédé suivant l'une des revendications 3 à à 35,> caractérisé en ce qu'il comprend l'implantation d'une mémoire-tampon comportant plusieurs mots et sensible aux contraintes dans chaque organe de commande.