FR 2012711 A1 19700320 FR 6920439 A 19690619 69 20439 1 2012711 Le développement actuel de l'industrie des ordinateurs accroit la tendance vers l'emploi d'ordinateurs électroniques toujours plus importants et plus compliqués. Cette tendance a été facilitée par les accroissements de vitesse et la dimension du prix des éléments de circuits. D'autres augmentations des 5 débits des systèmes proviennent de nouvelles organisations des dispositifs d'ordinateurs. Une forme d'organisation d'ordinateur à laquelle on attache un intérêt croissant est celle de la configuration à multi-traitement où l'on utilise plusieurs unités autonomes de traitement capables de se partager une charge de travail commune. 10 Dans chacun de tels ordinateurs à multi-traitements, on doit fournir des moyens pour commander l'utilisation des unités du système, telles que les unités de traitement de données, les emplacements de mémoire et les dispositifs d'entrée-sortie (I/O) en fonction de la charge présentée au système par les divers usagers. Les fonctions que cette partie du système doit réaliser sont 15 souvent appelées des fonctions d'exécution. On les détermine par les nécessités fonctionnelles de la communauté des usagers. Les procédés applicables pour exécuter ces fonctions et leur efficacité dépendent de certaines propriétés de l'architecture du système, de la structure imposée par les utilisateurs et le systène des informations manipulées, et 20 dB la structure d'étape que le système créée durant sa marche. Le but de la conception de tout ordinateur est d'obtenir une efficacité élevée globale tout en satisfaisant à un enssnble objectifs opérationnels généraux qui peuvent être résumés par la nécessité qu'un correspondant individuel reçoive le bénéfice complet de la mise en commun des ressources d'information 25 existant dans le système, afin d'assurer un service dans un intervalle de temps spécifié par l'utilisateur [sujet à des limitations de capacité) au plus bas prix possible. Afin de décrire la présente invention on doit premièrement définir quelques termes. Un "ordinateur à multi-traitements" est un ordinateur qui comprend un 30 certain nombre d'unités de traitement autonomes se partageant l'accès à une zone de mémoire commune et pouvant exécuter des programmes simultanément. Le terme "travail" est utilisé pour désigner 1'ensemble des activités mises en jeu dans le système par 1'accceptation de la demande d'un correspondant individuel.Un ordinateur à multi-traitements peut traiter plusieurs travaux simultaifemant. 35 II est bien connu que de nombreux travaux peuvent être découpés étapes •e de travail d'exécution d'instructions qui sont presque indépendantes logiquement les unes des autres. On peut nommer ces séquences "tâches", soit donné un travail comprenant plusieurs tâches, on peut réaliser un ordinateur à multi-traitements pour les traiter simultanément. Ce mode d'opération est normalement 40 appelé "traitement parallèle". 69 20439 2 2012711 La présente invention représente une tentative de résolution du problème de la fourniture de facilités qui permette aux tâches d'utilisation et de contrôle s'.effectuant simultanément d'inter-réagir les unes avec les autres quand cela est approprié, sans avoir à intercaler dans le programme de nombreuses 5 instructions dans ce but, ce qui serait un gaspillage de l'espace de mémoire et des cycles de mémoire. Un certain nombre de tentatives de l'art antérieur pour réaliser des ordinateurs à multi-traitements de tailles variées ont été faites j elles impliquent des commandes qui effectuent des appels sélectifs répétés des emplace-10 ments de mémoire, ou bien elles sont basées sur des câblages à fonction spéciales disposés entre les dispositifs de traitement dans des buts d'interaction. La première solution est coûteuse aux points de vue capacité d'espace de mémoire et nombre de cycle de mémoire nécessaires comme on l'a déjà mentionné la seconde est coûteuse en matériel et n'offre que des possibilités limitées» 15 La demande de brevet déposée en France par la demanderesse sous le N° 009227 AM le 19.06.66 et le brevet obtenu par la demanderesse en France sous le n° 1 546 905 le 27.11.67décrivent un ordinateur à multi-traitements utilisant un groupe de conducteurs de liaison avec la mémoire ou "bus" commun et des commandes d'intéraction individuelles associées avec chacun des systèmes de trai-20 tement. Chacune des dites commandes d'intéraction peut communiquer avec toute autre commande d'intéraction par le dit bus. Cependant cette solution bien que considérablement supérieure à chacune des solutions déjà mentionnées de l'art antérieur, nécessite néanmoins un matériel considérable et le bus d'intéraction spécial. La solution offerte par la présente invention tente d'utiliser 25 les bus de module de mémoire existants pour des communications d'intéraction sans la mise en commun des mémoires conventionnelles et ne nécessite en outre que l'addition d'un minimum de matériel. □n a trouvé que l'amélioration des performances dans un ordinateur de multi-traitements comprenant plusieurs unités de traitements pouvant agir 30 individuellement, un dispositif de bus pour servir les dites unités de traitement et de nombreux modules de mémoire, est possibles par addition d'une quantité relativement petite de matériel additionnel au système de traitement, au mécanisme de bus et aux commandes des modules de mémoire. Ce matériel permet à un système de traitement de s'adresser à une mémoire pour une mise en mé-35 moire classique ou pour une opération de recherche et aussi pour transférer les. données au registre de données de la mémoire d'où elles peuvent être .transmises à un système de traitement destinataire sans être assujetties aux cycles de mémoire, et sans obliger la mémoire à envoyer le contenu d'un emplacement de mémoire à. spécifier vers un système de traitement destinataire. 40 En fournissant les facilités ci-dessus, les systèmes de traitements commu 69 20439 3 2012711 niquent par les bus de mémoire existant avec le moyen de sélection du mécanisme de bus existant et utilisent l'un des registres intermédiaires de données déjà existants dans les divers modules de mémoire dans le but de conserver l'information jusqu'à ce qu'un système de traitement destinataire puisse la 5 recevoir. Ainsi, avec très peu de matériel et des circuits de commande supplémentaires on peut s'adresser à un système de traitement destinataire sans pré-programmation importante des systèmes de traitement émetteur et destinataire et sans la nécessité d'un contrôle continu par le système de traitement destinataire pour voir si le message qui lui est destiné est prêt à être trans-10 mis par le système de traitement émetteur. En conséquence, un premier objet de l'invention est de fournir un ordinateur à multi-traitements plus souple permettant une communication entre les systèmes de traitements utilisant le plus possible le matériel déjà existant. Encore un autre objet de l'invention est d'utiliser les registres de con-15 servation de données des modules de mémoire pour transmettre des données sans utiliser les cycles de mémoire. Un autre objet de l'invention est de permettre à un système de traitement d'amener la recherche d'une unité de donnée dans une mémoire et sans envoi à un autre système de traitement. 20 Cependant, un autre objet de l'invention est de prévoir de telles intérac- tions directes entre les systèmes de traitements sans pré-programmation appréciable du système de traitement destinataire. Encore un autre objet de l'invention est de prévoir un système d'intéraction de système de traitement où un message à transmettre entre les dits systèmes 25 de traitements ressemble beaucoup à une demande classique d'emmagasinage ou de recherche. D'autres objets, caractéristiques et avantages de la présente invention, ressortiront mieux de l'exposé qui suit fait en référence aux dessins annexés à ce texte, qui représentent un mode de réalisation préféré de celle-ci. 30 Les objets de la présente invention sont réalisés d'une façon générale, par un ordinateur à multi-traitements comprenant plusieurs unités de traitements et au moins un module de mémoire auquel on peut relier chaque système de traitements directement par un bus de transmission de données.On prévoit des moyens dans chaque système de traitement pour spécifier au module de mémoire 35 les données qui doivent être transmises à un autre système de traitement. 0'autres moyens sont prévus dans chaque système de traitement pour fournir une identification du système de traitement destinataire de ces données au module de mémoire. On fournit des moyens au module de mémoire pour emmagasiner ladite identification du système de traitement destinataire auquel un segment donné 40 de données doit être transmis avec des moyens pour utiliser cette identification 69 20439 4 2012711 pour transmettre les données spécifiées, lorsqu'elles sont obtenues, au système de traitement identifié. Des moyens supplémentaires sont fournis à chaque système de traitement afin de reconnaître lorsqu'une partie d'une donnée apparaissant sur son bus provenant du dit module de mémoire est dirigée vers 5 lui et pour l'utilisation d'une telle donnée. Le procédé d'identification du système de traitement auquel on doit envoyer un message après la réalisation présentement décrite est l'adresse caractéristique du système de traitement lui-même Ainsi, en ce qui concerne le système global un message ressemble beaucoup à 10 une combinaison de demande d'emmagasinage et de recherche. Cependant, au lieu de faire utiliser l'adresse de l'émetteur par le module de mémoire pour renvoyer l'information à l'unité de traitement, on utilise l'adresse du destinataire. De plus, ans la réalisation actuellement décrite on suppose que l'unité de traitement se débranche elle-même du mécanisme de bus après une 15 demande de mise en mémoire, de recherche ou de transmission de message et lorsque les commandes de mécanisme de bus envoient sa demande dans le module de mémoire, l'unité de traitement appropriée est rebranchée. On croit que cela est lajonception la plus générale du multi-traitements qui est utilisée normalement dans de tels systèmes importants. Si une unité de traitement 20 demanderesse reste reliée au module de mémoire jusqu'à ce qu'elle reçoive son information pour des opérations normales d'emmagasinage et de recherche, du matériel supplémentaire est nécessairement ajouté au système pour débrancher le module d'émission du module de mémoire et ensuite permettre la connexion de l'unité de traitement destinataire. Cependant, une telle modification 25 appartient aux connaissances d'une personne spécialisée dans l'art des ordinateurs. Le système d'ordinateurs à multi-traitements décrit ici fournit un système à multi-traitements à souplesse élevée où une unité de traitement peut demander l'intervention d'une ou plusieurs autres unités de traitement à 30 l'intérieur du système sans la nécessité d'utiliser une pré-programmation compliquée des unités de traitement destinataires possibles et/ou un contrôle continu de quelques emplacements de mémoire pré-déterminés par les unités de traitement destinataires possibles. De plus on atteint ces buts par addition d'un minimum de matériel de corrman-35 de supplémentaire à l'intérieur des unités de traitement, du mécanisme de bus et des modules de mémoire. Finalement, les bus d'interconnexion existant dans tout ordinateur à multi-traitements, ont pour fonction de transmettre les messages entre les systèmes de traitement et cela supprime la nécessité d'un câblage complexe et coûteux dans ce but spécial. Ce dernier fait est d'im-40 portance particulière puisque l'on peut désirer modifier des systèmes exis 69 20439 5 2012711 tant i en ce cas, seuls les circuits de commande devront être modifiés et non les interconnexions par câble. La figure 1 est un diagramme fonctionnel global d'un ordinateur à multitraitements comprenant les enseignements de la présente invention, 5 La figure 2 est un organigramme montrant la marche générale des opéra tions commandées par l'horloge B, qui commande le fonctionnement du mécanisme de bus. La figure 3 est un diagramme illustrant la marche générale des opérations commandées par l'horloge S qui commande la séquence des événements dans les 10 modules de mémoire. La figure 4 représente l'assemblage des figures 4A et 4B. Les figures 4A et 4B comprennent un organigramme pour l'horloge P qui montre les opérations se produisant dans les systèmes de traitement durant cette séquence d'horloge. 15 La figure 5 représente l'assemblage des figures 5A-5D. Les figures 5A-5D représentent un diagramme schématique logique et fonctionnel des commandes essentielles à l'intérieur du mécanisme de bus indiqué dans la figure 1. La figure 6 représente l'assemblage des figures 6A et 6B. 20 Les figures 6A et 6B représente un diagramme schématique fonctionnel et logique des commandes essentielles à l'intérieur de l'un des modules de mémoire montré dans la figure 1. La figure 7 représente l'assemblage des figures 7A-7D. Les figures 7A-7D représentent un diagramme schématique, logique et fonc-25 tionnel des commandes essentielles à l'intérieur de l'une des unités de traitement montrés dans la figure 1. La figure 8 est un diagramme schématique logique montrant comment "l'indicateur" est utilisé pour lire des données dans un registre sélectionné du tableau de demandes montré dans la figure 7A. 30 La figure 9 est un diagramme schématique logique montrant comment "l'in dicateur" est utilisé pour lire les données du tableau de demande de la figure 7A. La figure 10 est un diagramme schématique logique montrant comment on peut utiliser un indicateur pour lire des données à l'intérieur et à l'extérieur du 35 tableau de recherches montré dans la figure 7C. Comme on l'a déjà dit la présente invention fournit un procédé et des moyens pour qu'une unité de traitement de données délivre un message inattendu à une autre unité de traitement par un bus de données existant à l'intérieur d'une configuration à multi-traitements. 40 Dans le mode de réalisation décrit le système contient plusieurs unités 69 20439 6 2012711 de traitements de données et plusieurs modules de mémoire, auxquels chaque unité de traitement à un accès direct. Lorsqu'un système de traitement contient un message pour un autre système de traitement il envoie le message au registre de données de l'un des modules de mémoire d'où il est envoyé au système 5 de traitement destinataire. Alternativement il peut envoyer une adresse de mémoire au module de mémoire, qui enverra alors le contenu de l'emplacement spécifié à l'unité de traitement destinataire. On fournit des moyens à l'unité de traitement destinataire de telle sorte que s'il reçoit un mot par le bus de mémoire et reconnait qu'il n'a pas demandé le mot, il considérera ledit 10 mot comme un message à traiter à la fin de l'exécution de l'instruction courante. Ily a de nombreuses façons différentes de mettre en oeuvre le concept de base de la présente invention. La réalisation ici décrite permet d'obtenir les résultats désirés de façon correcte. 15 En référence à la figure 1, on montre l'aménagement global du système de multi-traitements. Dans la partie supérieure de la figure, on montre les divers modules de mémoire 1-N, chacun comprenant son propre registre de donnée de mémoire (MDRJ. Chacun de ces modules est relié directement par un bus approprié au mécanisme de bus qui contient des commandes classiques pour ser-20 vir séquentiellement les unités de traitement et les modules de mémoire. Comme il sera expliqué ultérieurement dans la description du mécanisme de bus, pour les buts de la réalisation présente, on considère que le mécanisme de bus sert successivement un module de mémoire, puis une autre unité de traitement puis un autre module de mémoire etc... selon une séquence fixée. On peut modi-25 fier facilement cet arrangement selon certains critères de service désirés qui sont évidents à un spécialiste de l'art. Dans tous les cas on connait très bien un mécanisme de chronométrage et de service pour un tel mécanisme de bus et un tel service n'est pas considéré en lui-même dans la spécification présente. On ne montre que ces commandes qui sont nécessaires au schéma de commu-30 nication actuel. On montre de même plusieurs unités de traitement, de données dont chacune agit normalement de façon complètement indépendante des autres unités de traitement jusqu'à ce qu'une demande pour la réalisation â'un travail par une autre unité de traitement soit rencontré dans la séquence d'instruction moment auquel 35 le sytème de transmission de message agira. Procédant à une description plus spécifique de la marche de la présente invention, on suppose que les trois opérations possibles mettant en jeu une unité de traitement, le mécanisme de bus et un module de mémoire, sont une instruction d'emmagasinage dans la mémoire, une demande de recherche dans la 40 mémoire, ou une opération de transmission de message. La dernière opération 69 20439 7 2012711 peut se réduire à une simple transmission mais elle peut aussi impliquer un accès à la mémoire. Sans considérer laquelle de ces trois opérations doit être effectuée, une transmission d'information ou de données entre les diverses unités du système est approximativement la même chose. Le format de 5 cette transmission de données est montré par exemple dans le registre local de la figure 5B. On remarquera que l'on trouve 4 champs séparés dans ce registre. Le premier est le champ "opération" qui est codé pour indiquer si l'opération à réaliser est un emmagasinage,une recherche, ou une simple transmission de message. Le code d'opération pour une transmission avec accès 10 à la mémoire est le même que pour une recherche, la distinction entre ces deux opérations résidant dans le fait que l'identification de l'unité cle traitement, (contenu du champ "unité de traitement") spécifie soit le système de traitement demandeur,soit quelque autre système de traitement (destinataire). Le second champ est un champ "adresse" qui indique l'emplacement 15 de mémoire dans lequel les données doivent être emmagasinées ou recherchées. Dans le cas d'une simple transmission de message, ce champ adresse sera seulement utilisé pour spécifier le module de mémoire par lequel doit s'effectuer la transmission et pour indiquer à l'unité de traitement destinataire que la donnée qu'il reçoit est un message et non une réponse à une demande de 20 recherche faite par elle. Le champ de "données", comme le nom l'implique, est cette partie de la transmission d'informations qui contient les données à emmagasiner dans la mémoire ou représente un message à transmettre entre les unités de traitement. Finalement le champ de "unité de traitement" contient une identification, soit de l'unité de traitement, qui demandait un cy-25 cle d'accès à la mémoire durant une opération ordinaire de recherche, soit de l'unité de traitement réceptrice dans le cas d'une opération de transmission de messages (soit simple, soit nécessitant un accès à la mémoire). Les divers bits de commande montrés dans les registres'des figures 5,6 et 7 (c'est-à-dire les figures composées) sont principalement des bits de travail 30 utilsés par les circuits de commande respectifs des divers modules pour contrôler l'état des diverses opérations et ne sont pas compris dans les transmissions de données normales entre les composants du système. Avant de procéder à la description détaillée du fonctionnement du système présent on fera une description générale des organigrammes schématiques logi-35 ques montrés dans les figures 5A, 5D, 6A et 6B, et 7A-7D pour décrire la marche globale du système. En référence premièrement aux figures 5A-5D on montre les commandes essentielles du mécanisme de bus.Dans cette figure les éléments fonctionnels principaux sont le compteur de modules de mémoire (CTR-SM) le compteur de traitement (CTR-PR), et le registre local. Les compteurs de 40 module de mémoire et de traitement commandent la-mise en jeu des modules de 69 20439 8 2012711 mémoire et des unités de traitement par le mécanisme de bus et on les montre dans la réalisation présente comme mettant en jeu d'abord un module de mémoire et ensuite une unité de traitement. On remarquera que les compteurs sont par essence des boucles fermées. En d'autres termes, ils comptent jusqu'au 5 nombre maximum et reviennent à une valeur 1 et recommencent leur cycle. Le registre local reçoit une transmission d'information soit d'une unité de traitement, soit d'un module de mémoire, lorsque l'un ou l'autre a une information à transmettre, et l'information est emmagasinée dans ledit registre local. Si la transmission provient d'un module de mémoire, le champ "unité de 10 traitement" est décodé et on détermine à quelle unité de traitement doit être transmise ultérieurement l'information. Si d'un autre côté la transmission de l'information provient d'une unité de traitement, le champ "adresse" est décodé pour déterminer à quel module de mémoire doit être envoyée l'information, le fonctionnement spécifique des portes et circuits logiques sera décrit ul-15 térieurement. En référence maintenant aux figures 6A et 6B on montre la partie des circuits de commande d'un module de mémoire qui concerne l'invention présente. On comprendra naturellement que le module de mémoire fondamental est vraiment classique dans la mesure où il s'agit de circuit- d'adresse de lecture, de 20 commande, de commande d'écriture, de commande de détection etc... Seule les parties des commandes nécessaires pour la réalisation de la présente invention qui ne sont pas classiques sont représentées. Le registre de donnée de mémoire (MDR) 116 est de type classique. On remarquera que le champ "opération" traverse un décodeur où l'opération particulière qu'il contient est 25 identifiée. S'il est déterminé qu'une opération de recherche est à réaliser un cycle de lecture de la mémoire suivra. Si il est déterminé qu'une opération d'emmagasinage est ordonné un cycle d'écriture dans la mémoire suivra. Si il est déterminé qu'il s'agit d'une opération qui n'est ni de recherche, ni d'emmagasinage, il s'agit évidemment d'une transmission de message et la don-30 née du MDR sera transmise directement au système de traitement indiqué par le champ "traitement". Le détail du fonctionnement des autres composants logiques des figures SA et 6B sera décrit ultérieurement. En référence maintenant aux commandes des unités de traitement représentées dans les figures 7A-7D on considérera l'ensemble de registres "demandes" 35 représenté dans la figure 7A. Lorsque le système de traitement élabore une demande à la mémoire centrale au cours d'une opération quelconque, celle-ci est enregistrée dans l'ensemble de registres "demandes" sous la commande des compteurs d'adresse d'entrée et de sortie 224 et 231. Le fonctionnement d'un tel ensemble de registres est tout à fait classique et les détails sont 40 montrés ici seulement dans la mesure où ils s'appliquebt à l'invention présente. 69 20439 9 2012711 On comprendra que chacun des trois types généraux d'opération peut être disposé dans l'ensemble de registres "Demandes", c'est-à-dire, une recherche, un emmagasinage ou une transmission de message. Dans le cas d'une recherche ordinaire, l'identification propre du système de traitement sera placée dans le champ 5 "unité de traitement" et dans le cas d'une transmission de message, l'adresse ou identification du système de traitement destinataire sera placée dans ce champ comme on l'a expliqué plus haut. Lorsqu'une demande de l'ensemble de. registres est mise en exécution, elle est transférée au registre d'émission 172 montré dans la figure 7D. C'est le registre auquel accède le mécanisme de 10 bus, il est utilisé pour transmettre les données d'une unité de traitement à un module de mémoire sans considération de l'opération particulière concernée. Le registre de réception 38 de la figure 7B est utilisé comme son nom l'indique pour recevoir les données d'un module de mémoire par le mécanisme de bus. On remarquera que dans le registre de réception, il n'y a aucun champ "opéra-15 tion" ou "unité de traitement" car les commandes n'ont plus besoin de cette information. Pour déterminer si la donnés apparaissant dans le registre de réception est ou non le résultat d'une demande de recherche par l'unité de traitement réceptrice, une comparaison est réalisé entre l'adresse apparaissant actuellement dans le champ "adresse" du registre de réception et les adresses 20 emmagasinées dans le champ "adresse" des registres de l'ensemble de registres "recherches" (figure 7c). Cette comparaison est nécessaire pour que la donnée soit placée dans le registre correcte de l'ensemble "recherche" de telle sorte qu'elle soit renvoyée de façon appropriée à l'unité de traitement correcte en séquence correcte. Dans le cas d'une comparaison négative dans le champ adres-25 se, une commande de l'unité de traitement reconnait alors que la donnée apparaissant dans le champ "donnée" du registre de réception est une transmission de message d'une autre unité de traitement et en conséquence, le message est placé dans l'ensemble de registres "Messages" fi montré dans la figure 7B. La description générale ci-dessus des composants fonctionnels de principe 30 du mécanisme de bus, des commandes des systèmes de traitement, et des commandes des modules de mémoire permettra au lecteur de suivre plus facilement la marche du système de communication de l'ordinateur à multi-traitements décrit ici. Les détails spécifiques du fonctionnement de ces unités en rapport avec les horloges du système suivront ultérieurement* 35 Pour une description fonctionnelle générale de la marche des nombreuses unités, on se référera maintenant aux figures 2,3 et 4 (4A et 4B). Ces figures représentent essentiellement des organigrammes de la marche des diverses unités, et un examen des cadres individuels montrés dans ces figures indique les essais spécifiques réalisés à l'intérieur des circuits au cours dés diverses 40 étapes commandées par les signaux d'horloge. Le texte localisé sur le côté 69 20459 10 2012711 droit des divers cadres illustre la fonction qui est réalisée. Ainsi, par exemple dans la figure 2 le deuxième rang de cadre représente une demande au système de traitement ou au module de mémoire pour savoir s'ils ont reçu une demande durant leur cycle particulier d'utilisation par le mécanisme de bus. La 5 troisième rangée représente une demande au destinataire de la transmission de données du mécanisme de bus pour savoir s'il est en position de recevoir 1'information à transmettre. Le quatrième rang représente l'opération de transmission actuelle de l'information de l'émetteur au destinataire et finalement le cinquième rang concerne la remise à zéro des commandes de l'unité d'émission 10 pour signifier que l'opération est terminés. La disposition des figures 3 et 4 est essentiellement identique à celle de la figure 2 et les références à l'opération spécifique indiquées à l'intérieur des cadres actuels ainsi que les légendes apparaissant directement à leur droite dans la marge suffisent à l'expliquer. En conséquence, une description 15 spécifique de ces figures est superflue et leur examen montrera clairement la suite des étapes de fonctionnement à l'intérieur du système. On doit remarquer qu'une référence au tableau de séquence de chronométrage inséré vers la fin de la présente description peut être de quelque utilité pour préciser las étapes d'horloge particulières durant lesquelles les divers opérations décrites 20 dans les organigrammes se produisent. On doit maintenant remarquer que les horloges ne sont pas représentées dans les figures car elles sont de type classique et comprennent essentiellement plusieurs blocs ou étages, avec une entrée qui initie l'étape de chronométrage une première impulsion de sortie étant produite lorsque l'étage d'horloge ds>-25 vient "haut" et une seconde lorsque l'étage d'horloge redavient "bas". La première impulsion est utilisée normalement pour initier les diverses séquencss de commande et les secondes peuvent être soit ignorées, soit utilisées pour faire passer "haut" l'étage d'horloge suivant. Les opérations de branchement dans les séquences d'horloge sont accomplies de la façon illustrée pour l'hor-30 loge P. En référence à la figure 7C on remarquera qu'une entrée au circuit de la porte 258 provient de l'étage de chronométrage P6. En fonction du réglage du bit "en utilisation", la production de l'impulsion d'horloge P-6 amènera l'initiation soit de la séquence d'horloge P-7, soit de P-8. L'utilisation de toutes les impulsions de chronométrage énumérées du circuit de chronométrage 35 est montrée clairement dans les figures et on s'y réfère dans la description détaillée qui suit. Procédant maintenant à une description fonctionnement du présent système de communication à multi-traitements, on décrira d'abord le mécanisme de bus. □n peut se référer à la figure 2 qui est l'organigramme pour le mécanisme de 40 bus décrit précédemment, aux figures 5A, 5B qui comprennent les diagrammes 69 20439 11 2012711 logiques schématiques du mécanisme de bus et la partie horloge du mécanisme de bus des tableaux de séquence de chronométrage pour une meilleure compréhension de cette description. En référence à la figure 5A, on applique le contenu du compteur 100 de 5 module de mémoire (CTR-SM) au décodeur 102. Le compteur 100 a une capacité égale au nombre des modules de mémoire. Par exemple, si il y avait 6 modules de mémoire, le compteur 100 consisterait en trois bits. Il commencerait à zéro et compterait jusqu'à 7 et ensuite reviendrait à zéro. Dans la réalisation présente, la position "0" du compteur amène l'action de la ligne 104. Lorsque le 10 compteur est à sa limite maximum, la ligne 106 est active. On peut restaurer au commencement le compteur 100 à tout nombre désiré. Si l'on suppose que la ligne 106 est active au moment où l'impulsion B-1 est appliquée, le circuit ET 108 aura une sortie sur la ligne 110. La ligne 110 se prolonge jusqu'à la figure 6B des circuits de commande du module de mémoire. Dans cette figure la ligne 15 110 fait livrer passage au champ "adresse" "donnée" "unité de traitement" du registre de donnée de mémoire 116 au câble 112. Le câble 112 revient à la figure 5A et on peut voir que de cette façon on livre passage aux trois champs du registre MDR 116 dans le module de mémoire au registre local désigné par le numéro de référence 114 dans le mécanisme de bus. 20 En référence de nouveau à la figure 6B, on applique aussi la ligne 110 à la porte 118 afin de contrôler le bit de gauche ou bit "prêt" du registre de donnée de mémoire 116. Si ce bit est un "1", la ligne 120 va devenir active. Si cebit est un "0" la ligne 122 deviendra active. Les lignes 120 et 122 se prolongent jusqu'à la figure 5A et sont appliquées à des circuits OU 121 et 25 123 pour initier les séquences d'horloge B-2 ou B-5. Ainsi si le bit "prêt" est à l'état "1" la séquence d'horloge B-2 sera initiée et réciproquement si il est dans son état "0" la séquence d'horloge B-5 sera initiée.Si l'on suppose que l'horloge poursuit la séquence d'horloge B-2, les fonctionnements suivants auront lieu. En référence à la figure 5B le champ "traitement" du registre lo-30 cal'114 est appliqué au décodeur 124. Une des lignes de sortie du décodeur 124 sera active.Si l'on suppose que la ligne 126 provenant du décodeur est active au moment où l'impulsion B-2 est appliquée à la porte 128 sur la figure 5C, la ligne 130 deviendra active. La ligne 130 se prolonge jusqu'à la figure 7B où on l'applique à la porte 132 afin de contrôler la partie gauche ou bit 35 "complet" du registre de réception 138, aussi dans la figure 7B. Si ce bit est un "1" la ligne 134 deviendra active, si ce bit est un "0" la ligne 136 deviendra active . Les lignes 134 et 136 reviennent à la figure 5C. On peut voir que si la ligne 136 est active, l'horloge passera en B-3. par contre la ligne 134 est active l'horloge passera en B-5. 40 Si l'horloge va jusqu'en B-3 le circuit ET 140 Cfigure5C) aura une sortie 69 20439 12 2012711 pour habiliter la powte 142 qui agit pour disposer les champs "adresse" et "donnée" du registre local 114 sur le câble 144. Le câble 144 se prolonge jusqu'à la figure 7B. De cette façon on transfère les champs "adresse" et "donnée" du registre local 114 et le mécanisme de bus aux champs "adresse" et 5 "donnée" du registre de réception 138 dans le système de traitement. Ensuite l'horloge va en B-4. L'impulsion B-4 est appliquée au circuit ET 146 dans la figure 5A afin de mettre en fonction la ligne 148. La ligne 148 se prolonge jusqu'à la figure 6A où elle agit pour restaurer le bit gauche ou bit "prêt" du registre de donnée de mémoire 116 à "0". Dans la figure 5C, on 10 applique aussi l'impulsion B-4 au circuit ET 150 afin de mettre en fonction la ligne 152. La ligne 152 se prolonge jusqu'à la figure 7B où elle agit pour mettre le bit gauche ou bit "rempli" du registre de réception à "1". L'horloge passe ensuite à B-5 qui dans la figure 5B est utilisé pour augmenter d'une unité le contenu du compteur de système de traitement (CTR-PR3 15 154. L'horloge passe ensuite à B-6. Si l'on suppose que la ligne 158 de la figure 5B est active au moment où l'impulsion B6 est appliquée au circuit ET 158, on rend active la ligne 160. La ligne 160 se prolonge jusqu'à la figure 7D où on l'utilise pour habiliter la porte 162 afin de mettre le contenu du registre d'émission 172 sur le câble 170. Le câble 170 se prolonge jusqu'à la 20 figure 5A. De cette façon on fournit au registre local 114 du mécanisme de bus le contenu du registre d'émission 172 du mécanisme du système de traitement. Dans la figure 7D l'état actif de la ligne 160 se prolonge aussi à la ligne 1S4 que l'on utilise pour contrôler la sortie du décodeur 174. Si le champ "opération" du registre 172 est tout en "0" la ligne 166 va devenir active. Si ce 25 ne sont pas tous des zéro, la ligne 166 deviendra active. Les lignes 166 efc 168 se prolongent jusqu'à la figure 5B. On peut voir que si la ligne 168 est en action, l'horloge poursuivra jusqu'à B-7. Si d'un autre côté la ligne 166 est en action l'horloge se mettra en B-10. Supposons que l'horloge passe à B-7 dans la figure 5B, le décodeur 176 30 décide quel module de mémoire sera interrogé par l'impulsion B-7. On réalise cela comme on le comprendra bien, en regardant certains bits du champ "adresse" du registre local 114. Si l'on suppose que la ligne 178 devient active encore dans la figure 5B, un circuit ET 180 aura une sortie sur la ligne 182 (figure 5B), lorsque l'impulsion B-7 est appliquée. La ligne 182 se prolonge 35 jusqu'à la figure 6B (au bas) où on l'applique à la porte 184 afin de contrôler le bit gauche du registre de donnée de mémoire 116. Si le champ "opération" est tout en zéro et le bit "prêt" est "0" le circuit ET 186 aura une sortie sur la ligne 1B8. Si cette condition n'est pas réalisée, le circuit OU 190 aura une sortie sur la ligne 192. Les lignes 188 et 192 se prolongent dans 40 la figure 5D. Si la ligna 188 est en action l'horloge passera en B-8. Si 69 20439 13 2012711 autrement la ligne 192 est en action, l'horloge passera en B-10. Supposons que l'horloge passe en B-8. En référence à la figure 5D, on applique l'impulsion d'horloge B-B au circuit ET 194 qui comprend une sortie qui habilite la porte 196. La porte 196 met le contenu entier du registre local 114 dans la 5 figure 5D sur le câble 198. Le câble 198 se prolonge jusqu'à la figure 6A. De cette façon on transfère les contenus du registre local 114 dans la figure 5B du mécanisme de bus au registre de donnée de mémoire 116 du module de mémoire dans la figure 6A. L'horloge passe ensuite en B-9. Dans la figure 5B on applique l'impulsion 10 B-9 au circuit ET 200 afin de mettre en fonction la ligne 202. La ligne 202 se prolonge jusqu'à la figure 7B où on l'utilise pour restaurer le champ "opération" du registred'émission 172 à "0". L'horloge passe ensuite à B-10 qui est utilisée pour augmenter d'une unité le contenu du compteur de modules de mémoire 100 de la figure 5A. 15 Le mécanisme du module de mémoire sera ensuite décrit. On doit se référer aux figures 6A et 6B qui comprennent un schéma du mécanisme de commande, à l'organigramme de la figure 3 et à cette partie des tableaux de séquence de chronométrage indiquée comme horloge S. Dans la figure 6B on applique une impulsion S-1 à la porte 204 afin de contrôler le champ "opération" du registre 20 de donnée de mémoire 116. Si ce champ n'est pas tout en "zéros", l'horloge poursuit jusqu'à l'étage d'horloge S-2. Si ce champ est tout en "zéros", l'horloge passera en S-12. Supposons premièrement, que l'horloge passe en S-2. Cette impulsion est appliquée à la porte 206 dans la figure 6B afin de contrôler le champ "opération" 25 du registre de donnée de mémoire 116 pour voir si c'est ou non une opération "d'emmagasinage". Si c'est une opération "d'emmagasinage", l'horloge passe en S-3. Si ce n'est pas une opération "d'eirmagasinage", l'hrologe passera en S-7. Supposons premièrement que l'horloge passe en S-3. Dans la figure 6A on applique l'impulsion S-3 à la ligne 208 afin d'effectuer un accès d'écriture dans la 30 mémoire indiquée par le bloc important référencé mémoire. On remarquera qu'au même moment la bascule 210 est réglée à son état "1" par l'impulsion S-3. L'horloge passe ensuite à S-4 que l'on utilise dans la figure 6A pour contrôler la bascule 210. Si la bascule 210 est dans son état "1", l'horloge passera en S-5. Si la bascule 210 est dans son état "0", l'horloge passera à S-6. On doit 35 remarquer que lorsque l'accès de mémoire est terminé, une impulsion apparaitra sur la ligne 212 (figure 6A) qui restaurera la bascule 210 à son état "0". L'impulsion d'horloge S-5 était seulement utilisée pour retarder et ramène l'horloge à S-4 qui, comme on l'a déjà dit contrôle le réglage de la bascule 210. Supposons que l'horloge soit passée à S-6. Dans la figure 6A on applique 40 l'impulsion S-6 à la ligne 214 pour restaurer le champ "opération" du registre 69 20439 14 2012711 de donnée de mémoire, 116 à "0". La séquence d'horloge passe alors à S 12. Supposons maintenant que la séquence d'horloge passe de S-2 à S-7. Cet état est utilisé pour contrôler le champ "opération" du registre 116. Pour réaliser cela dans la figure SB, l'impulsion S-7 est appliquée à la porte 5 216. Si l'opération est une "recherche", (on remarque que la donnée résultante peut être ou ne pas être destinée au système de traitement demandeur] l'horloge passera en S-8. Si l'opération n'est pas une "recherche" l'horloge passera en S-11. Supposons que l'horloge passe en S-8. Dans la figure BA, l'impulsion S-8 est appliquée à la ligne 218 qui entraine un accès de lecture dans la 10 mémoire proprement dite (mémoire). Au même moment on met la bascule 220 à l'état "1". L'horloge passe ensuite en S-9 que l'on utilise pour contrôler la bascule 220. Si la bascule 220 est en "1", l'horloge passe en S-10 que l'on utilise seulement pour retard et ramène l'horloge à S-9 pour contrôler de nouveau la bas-15 cule 220. Lorsque l'accès "recherche" est terminé, on restaure la bascule 220 à son état "0" et l'horloge passe alors en S-11. □n applique l'impulsion d'hrologe S-11 dans la figure BA à la ligne 222 qui est utilisée pour mettre le bit gauche du registre de donnée de mémoire 116 à l'état "1". La coupure de S-11 initie S-6. L'étage S-12 est seulement 20 utilisé pour retard et après coupure remet le mécanisme de module de mémoire à l'étape S-1. Ensuite on va décrire le mécanisme du système de traitement au cours des séquences d'opération comme on l'a fait pour l'horloge du système de traitement (horloge-P) des tableaux de séquences de chronométrage. On doit aussi se réfé-25 rer aux figures 4A et 4B pour une description des opérations réalisées et principalement aux figures 7A-7D pour la localisation et le fonctionnement des composants spécifiques du' circuit. Dans le système de traitement se trouve trois ensembles principaux de registres. Le premier de ceux-ci est appelé l'ensemble de demande; il est représenté dans la figure 7A. Un autre ensemble 30 appelé "recherche" est montré dans le figure 7C. Le dernier de ces ensembles est montré dans la figure 7B et sera désigné bous le nom "d'ensemble M". Chaque registre dans un ensemble est composé d'une série de bascules de mémoire. On utilise des compteurs appropriés pour choisir les registres qui doivent être mis en mémoire ou extraits. Par exemple, l'adresse R dans le compteur 224 de 35 la figure 7A fournit une entrée au décodeur 226. Seule une ligne de la sortie du décodeur 226 peut être active à tout moment. Une ligne qui est active désigne le registre de l'ensemble "demandes" dans lequel on peut écrire. Par exemple, si la ligne 228 de la figure 7A est active, cela signifie que le registre dans lequel on peut écrire est celui qui est représenté à la partie 40 supérieure de l'ensemble de registres. BAD ORIGINAL 69 20439 15 2012711 En se référant brièvement au dessin détaillé, figure 8, on montre cette ligne ou indicateur 228. L'indicateur 22B conditionne la rangée de portes qui relie les lignes d'entrée (entrée des données) à l'entrée des bascules du registre. De façon similaire le compteur 230 de sortie d'adresse R et le déco-5 deur 232 commandent la sélection du registre de l'ensemble de "Demande" à partir duquel on peut lire l'information. Par exemple, si la ligne 234 de la figure 7 A est active, cela signifie que l'on peut accéder au registre le plus élevé de l'ensemble pour extraction. On montre cela de façon plus détaillée dans la figure 9 où la ligne 234 montrée comme indicateur conditionne la 10 rangée de portes qui relie la sortie des bascules de mémoire dans les registres de sortie des données. Dans la figure 7C le compteur de recherche d'adresses 236 et son décodeur associé 238 commandent à la fois l'enregistrement et l'extraction de l'ensemble de "recherche'.' Dn illustre cela dans la figure 10 où la ligne 240 est l'indicateur et conditionne les portes qui relient les 15 entrées des bascules aux lignes d'entrée de données. On remarquera aussi que la ligne 240 conditionne aussi la rangée inférieure des portes qui relient les sorties des bascules des registres aux lignes de sortie des données. En procédant maintenant aux opérations spécifiques du mécanisme de commande du système de traitement dans les figures 7B, on applique l'impulsion P-1 20 à la porte 242 afin de contrôler le champ "opération" du registre d'émission 172. Si ce champ est tout en "zéros", l'horloge passera en P-2. Si ce champ n'est pas tout en "zéros", l'horloge passera en P-11. Supposons que l'horloge passe en P-2. En référence à la figure 7A, on applique l'impulsion P-2 à la porte 244 afin de contrôler la sortie de l'unité de comparaison 246. Si le 25 compteur 230 correspond au compteur 224, il n'y a rien dans l'ensemble "Demandes" et par conséquent l'horloge peut passer à P-11. Si le compteur 230 ne correspond pas au compteur 224, l'horloge passera en P-3". Dans la figure 7A on applique l'impulsion P-3 à la porte 248 afin de contrôler le champ "opération" du registre dans l'ensemble de demande qui est désigné par le décodeur 30 232. Si cette opération est une "recherche", l'horloge passera en P-4. Si ce n'est pas une "recherche",l'horloge passera à P-9. Dans la figure 7A l'impulsion P-4 est appliquée à la porte 250 afin de contrôler la sortie de l'unité de comparaison 252. L'unité de comparaison 252 compare le champ "unité de traitement" du registre désigné par le décodeur 35 226 avec le numéro d'identification de l'unité de traitement qui est dans le registre 254. Si ces numéros correspondent l'horloge passera en P-5. S'ils ne correspondent pas l'horloge passera en P-9. A ce moment on doit remarquer que le numéro d'identification emmagasiné dans le registre 254 est par le numéro d'identification de l'unité de traitement elle-même. Si la sortie de l'unité 40 de comparaison 252 est en correspondance, cela signifie essentiellement que 69 20439 16 2012711 l'opération demandée par l'étage particulier de l'ensemble de "demandes" est une recherche et non une transmission de message entraînant un accès a la mémoire. Dans la figure 7C on applique l'impulsion P-5 au circuit OU 258 afin de restaurer le compteur 236 à "0". 5 En référence maintenant à la figure 7C, on applique l'impulsion P-6 à la porte 258 afin de contrôler le bit "en utilisation" du registre dans l'ensemble "Recherches" qui est désigné par la sortie du décodeur 238. Si ce bit est un "1", l'horloge passera à P-7. Si c'est un "0" l'horloge passera à P-8. Dans la figure 7C on applique l'impulsion P-7 au circuit OU 260 afin 10 d'augmenter d'une unité le contenu du compteur 236. L'horloge revient ainsi à P-6. Dans la figure 7C on applique l'impulsion P-8 à la porte 262 afin de transférer le champ "adresse" du registre dans l'ensemble "Demandes" qui est désigné par le décodeur 232, au registre de l'ensemble "Recherches" qui est désigné par le décodeur 238. On remarquera aussi que l'impulsion P-8 est aussi 15 utilisée pour faire payer le bit "en utilisation" à "1", et le bit "valide" à "0ra dans ce registre de l'ensemble de recherche qui est désigné par le décodeur 238. Cette dernière opération place effectivement l'adresse de donnée iiamandée par l'unité de traitement dans l'ensemble de "recherché" de telle sorts que lorsque la donnée est renvoyée du module de mémoire, l'unité de 20 traitement puisse reconnaître ladite donnée. Dans le cas où l'opération demandée était une transmission de message il n"y a aucune raison d'emmagasiner l'adresse de mémoire dans l'ensemble "Recherches" puisque le message ne revient pas au système de traitement émetteur, ce qui explique pourquoi l'horloge passa1 directement de P-4 à P-9. 25 Dans la figure 7D on applique l'impulsion P-9, la porte 264 afin de trans férer le registre dans l'ensemble de demande qui est désigné par le décodeur 232au registre 172 désigné comme le registre d'émission à partir duquel une opération est transmise au mécanisme de bus et ensuite à un module de mémoire. On applique l'impulsion P-10 dans la figure 7A pour augmenter le compteur 30 230. Dans la figure 7B, on applique l'impulsion P-11 à la porte 266 afin de contrôler le bit gauche ou "zéro" du registre de réception 138. Si ce bit est un "1" l'horloge passera à P-12. Si ce bit est un "zéro" l'horloge reviendra à P-1. Dans la figure 7C on applique l'impulsion P-12 au circuit OU 256 afin 35 de restaurer le compteur 236 à "0". Dans la figure 7C, on applique l'impulsion P-13 à la porte 268 afin de contrôler les bits "en utilisation" et "valide" du registre dans l'ensemble de recherche qui est désigné par le décodeur 238. Si le bit "en utilisation" 40 est un "1" et le bit "valide" est un "0H, le circuit ET 270 aura une sortie qui 69 20439 2012711 amènera l'horloge à passer à P-15. Si cette condition n'est pas satisfaite, le circuit OU 272 aura une sortie qui fera passer l'horloge à P-16. Dans la figure 7C, on applique l'impulsion P-14 au circuit DU 260 pour augmenter le compteur. 236. Le compteur passe ensuite à P-13. Dans la figure 5 7C, on applique l'impulsion P-15 à la porte 274 qui contrôle la sortie de l'unité de comparaison 276. Si la sortie est inégale l'horloge passera à P-16. Si la sortie est égale l'horloge passera à P-17, Encore dans la figure 7C on applique l'impulsion P-16 à la porte 278 pour contrôler si le compteur 236 se trouve à sa limite maximum. Si le compteur n'est pas à sa limite maximum 10 l'horloge passera à P-14. Si le compteur est à sa limite maximum, l'horloge passera à l'étage P-20. Encore dans la figure 7C on applique l'impulsion d'horloge P-17 à la porte 280 pour transférer le champ "données" du registre de réception 138 au champ "données" de ce registre de l'ensemble de recherche qui est désigné 15 par le décodeur 238. L'impulsion d'horloge P-18 est utilisée pour mettre à "1" le bit "valide" de ce registre de l'ensemble de recherche. Dans la figure 7D on utilise l'impulsion d'hrologe P-19 pour restaurer le bit "complet" du registre de réception 138 à "0". L'horloge passe alors à P-1. On applique l'impulsion P-20 à la porte 282 pour transférer le champ "don-20 née" du registre de réception 138 à ce registre dans l'ensemble M qui est désigné par le décodeur 284. On utilise alors l'impulsion P-21 pour augmenter le compteur 286 de l'ensemble M. La coupure de P-21 ramène à P-19. TABLEAU DE SEQUENCE DE CHRONOMETRAGE Horloge du mécanisme de bus (horlogeEO je B-1 Transférer les champs"adresse", "donnée", et "traitement" du MDR du module de mémoire désigné par la valeur actuelle du compteur SM dans le registre local. Contrôler le bit "prêt" du MDR du module de mémoire désigné par la valeur actuelle du compteur SM, 30 si sur "1" ^ B-2 si sur "0" -*• B-5 B-2 Contrôler le bit "complet" du registre de réception de l'unité de traitement de données désignée par le champ "unité de traitement" du registre local, si sur "1 " -*■ B-5 35 si sur "0" B-3 B-3 Transférer les champs "adresse" et "donnée" du registre local au champ "adresse" et "donnée" du registre de réception dans l'unité de traitement désigné par le champ "unité de traitement" du registre local. -►B-4 40 B-4 Restaurer le bit "prêt" du MDR du module de mémoire désigné par la valeur 69 20439 ' 18 2012711 actuelle du compteur SM à "0". Faire passer à "1" le bit complet du registre de réception du système de traitement désigné par le champ "unité de traitement" du registre local. -#• B-5 5 B-5 Augmenter le compteur PR d'une unité -+ B-B B-6 Transférer le registre d'émission de l'unité de traitement désignée par la valeur actuelle du compteur PR au registre local. Contrôler le champ "opération" du registre d'émission de l'unité de trai-10 tement désignée par la valeur actuelle du compteur PR. si tout en zéros -*■ B-10 Si ce n'est pas tout des zéros B-7 B-7 Contrôler le champ "opération" et le bit "prit" de MDR du module de mémoire désigné par le champ "adresse" du registre local. Si le 15 ohamp "opération est tout en zéros et le bit "prêt" est zéro -H3-8 si autrement, -*• B-10 B-8 Transférer le registre local au MDR du module de mémoire désigné par le champ "adresse" du registre local. -► 9 20 B-9 Restaurer le champ "opération" du registre émetteur désigné par la valeur actuelle du compteur PR à zéro B10 B10 Augmenter le compteur SM d'une unité B-1 25 Horloge du mécanisme de module de mémoire (Horloge S) S-1 Contrôler le champ "opération" du MDR si tout sn zéros -*■ S-12 si ce n'est pas tout en zéros S-2 S-2 Contrôler le Ghamp "d'opération" du MDR 30 si "emmagasinage" ■* S-3 si "non emmagasinage" ->- S-7 S-3 Effectuer l'accès à la mémoire (mettre la bascule 210 à "1") S-4 S-4 L'accès à la mémoire est-il terminé ? 35 (contrôler la bascule 210) si sur "1" -*■ S-5 Si sur "0" •* S-6 S-5 Retard seulement -►S-4 40 S-6 Restaurer le champ "opération" du MDR tout en zéros 69 20439 19 2012711 •+ S-12 S-7 Contrôler le champ "opération" du MDR si "recherche" -»• S-8 si "non recherche" -»■ S-11 5 S-8 Effectuer l'accès de recherche (mettre la bascule 220 à "1") -* S-9 S-9 L'accès de recherche est-il terminé ? (contrôler la bascule 220) si sur 1 -»■ S-10 10 si sur "0" S-11 S-10 Retard seulement -+ S-9 S-11 Mettre le bit "prêt" du MDR à "1" -+ S-6 15 S-12 Retard seulement -> S-1 Horloge du mécanisme du système de traitement (horloge P) P-1 Contrôler le champ "opération" du registre d'émission si tous zéros -*■ P-2 20 si pas tous zéros -* P-11 P-2 Contrôler la sortie de l'unité de comparaison entre le compteur d'adresse d'entrée R 224 et le compteur d'adresse de sortie R 230. si = ■* P-11 si / + P-3 25 P-3 Contrôler le champ "opération" du registre de demande désigné par le compteur de sortie d'adresse R si "recherche" -> P-4 si "non recherche" P-9 P-4 Comparer la sortie de l'unité de comparaison entre le champ "unité de 30 traitement" du registre de "demande" désigné par le compteur d'adresse de sortie R et le registre d'identification de l'unité de traitement 254. si = -*■ P-5 si A -y P-9 P-5 Restaurer le compteur d'adresse F à "0" 35 P-6 P-6 Contrôler le champ "en utilisation" du registre de "recherche" désigné par le compteur d'adresse F si sur "0" P-8 si sur "1" P-7 40 P-7 Augmenter le compteur d'adresse F d'une unité 69 20439 20 2012711 -+ P-6 P-8 Transférer le champ "adresse" du registre de demande désigné par le compteur d'adresse de sortie R au champ "adresse" du registre de recherche désigné par le compteur d'adresse F. 5 Régler le bit "en utilisation" à "1" Régler le bit "valide" à "0" -* P-9 P-9 Transformer le registre de demande désigné par le compteur d'adresse de sortie R au registre d'émission 10 P-10 P-10 Augmenter d'une unité le compteur d'adresse de sortie R -> P-11 P-11 Contrôler le bit "complet" du registre de réception si sur "1" + P-12 15 si sur "0" P-1 P-12 Restaurer le compteur d'adresse F à "0" P-13 P-13 Contrôler le bit "en utilisation" et le bit "valide" du registre de recherche désigné par le compteur d'adresse F. Si le bit "en utilisation" est 20 "1" et le bifvalide" est "0" -* P-15» autrement P-16 P-14 Augmenter le compteur d'adresse F P-13 25 P-15 Contrôle de l'unité de comparaison entre ls champ "adresse" du registre de réception et le champ "adresse" du registre de recherche désigné par le compteur d'adresse F si = -*■ P-17 si t P-16 30 P-16 Contrôler le compteur d'adresse F pour la limite MAX si sur la limite MAX ■* P-20 si non sur la limite MAX -»• P-14 P-17 Transférer le champ "données" du registre de réception au champ "données" du registre de recherche désigné par le compteur d'adresse F 35 - P-18 Mettre le bit "valide" du registre de recherche désigné par le compteur d'adresse F à "1" P-19 P-19 Restaurer le bit "complet" du registre de réception à "0" 40 P-1 69 20439 21 2012711 P-20 Transférer le champ "données" du registre de réception au registre de message désigné par le compteur d'entrée d'adresse M -* P-21 P-21 Augmenter d'une unité le compteur d'entrée d'adresse M 5 ■* P-19 La description ci-dessus du fonctionnement du mécanisme de système de traitement termine la description du fonctionnement du système de communication de l'ordinateur à multi-traitements. On pense qu'à partir de la description ci-dessus, le spécialiste de l'art peut facilement modifier un dispositif 10 d'ordinateur à multi-traitements comprenant des systèmes de traitement standards en un bus de données pouvant communiquer et commuter des modules de mémoire pour obtenir la communication système de traitement à système de traitement prévue par la présente invention.Comme on l'a déjà dit, seule cette partie du mécanisme relative à la présente invention a été décrite. Par exem-15 pie, les détails fonctionnels d'une unité de traitement n'ont évidemment pas été montrés. On suppose que le système de traitement lui-même alimente l'ensemble de "demande" de la figure 7A lorsque des ordres de demande de mémoire ou de transmission de message deviennent nécessaires dans la séquence d'instruction. L'instruction demandant une transmission de message indiquerait ce 20 chemin (c'est-à-dire le module de mémoire à utiliser) dans son champ"adresse". Similairement on a pas montré les détails du mécanisme de mémoire proprement dit des modules de mémoire. On suppose que les mémoires montrées dans la figure BA peuvent être des mémoires d'inscription ou d'extraction par accès au hasard bien qu'une mémoire classique à tores serait le plus probablement 25 utilisée dans ce but. Il existe plusieurs façons par lesquelles l'unité de traitement réceptrice peut être organisée pour répondre au mot message. Par exemple, elle peut agir comme si le mot avait été recherché au cours du traitement d'une instruction d'exécution, c'est-à-dire exécuter le 30 mot comme une instruction mais laisser le compteur d'instruction inchangé à moins que le mot soit une instruction de branchement, pourvu que la largeur de bus soit aussi grande que la longueur de l'instruction la plus longue ou l'instruction la plus longue que l'on laisse envoyer dans cette voie. Il peut aussi traiter le mot comme le champ "adresse" d'une instruction d'exécution 35 ou le champ "données immédiates" d'une instruction d'appel de superviseur. Il peut aussi utiliser les parties du mot pour déterminer par quelle voie le reste du mot doit être traité, etc... La façon exacte par laquelle le module de mémoire et le système de traitement récepteur reconnait que le mot est un message de système de trai-40 tement à système de traitement dépend de la demande de la mémoire et de la 69 20439 22 2012711 structure de bus du système particulier. Dans le système présent, les champs "opération" et "adresse" sont utilisés dans ce but. Si l'on simplifiait le système de telle sorte que toutes les transmissions de message entrainent des accès de mémoire les simples transmissions n'étant pas permises il ne serait 5 pas nécessaire que le module de mémoire reconnaisse qu'un message a été envoyé. Pour autant qu'il est concerné toutes les opérations seraient soit des recherches ou des mises en mémoire. Il ne serait pas difficile d'étendre le systène présent afin d'obtenir que le mécanisme de bus reconnaisse le code d'opération "transmission" et envoie une telle demande à tout module de mé-10 moire actuellement libre pour éviter les retards dûs à des demandes en conflit. Bien que l'on ait décrit dans ce qui précède et représenté sur les dessins les caractéristiques principales de l'invention, appliquées à un mbde de réalisation préféré de celle-ci, il est évident que l'homme de l'art peut y 15 apporter toutes modifications de forme ou de détail qu'il juge utiles sans pour autant sortir du cadre de ladite invention. 69 20439 23 2012711 REVENDICATIONS 1. Système de traitement de données comportant plusieurs unités de traitement et une mémoire centrale à laquelle chaque unité de traitement est connectable par un système de voies de transmission d'informations (dénommé "bu§M], la liaison ^n^£$aque unité de traitement et la mémoire centrale s'effectuant sans pas- 5 ser par l'intermédiaire d'une autre unité de traitement, et des moyens associés au "bus" pour connecter sélectivement une unité de traitement à la mémoire cenr traie, ce système étant caractérisé par la combinaison des éléments suivants ; a/ dans chaque unité de traitement, des moyens pour signaler à la mémoire qu'une opération d'emmagasinage, de recherche de message en mémoire ou de trans-10 mission de message à une autre unité de traitement doit être effectué par ladite mémoire centrais. b/ des moyens pour désigner à la mémoire l'unité de traitement destinataire du message, dans le cas d'une opération de recherche ou de transmission de message^et des moyens permettant à la mémoire centrale de conserver cette in-15 dication jusqu'à ce que la mémoire centrale puisse transmettre le message à l'unité de traitement désignée. c/ dans chaque unité de traitement, des moyens pour reconnaître l'existence d'informations apparaissant sur le "bus" et destinées à cette unité, et des moyens pour conserver ces informations jusqu'à ce qu'elles puissent être utili-20 sées 2. Système conforme à la revendication 1, caractérisé en outre en ce que chaque unité de traitement de données comporte des moyens de reconnaissance pour reconnaître si les informations reçues par l'intermédiaire du bus concernent une 25 opération de recherche de message demandée par cette unité ou une opération de transmission de message provoquée par une autre unité de traitement. 3. Système conforme à la revendication 2, caractérisé en outre en ce que les moyens de reconnaissance comportent : 30 - des moyens pour enregistrer en correspondance avec chaque demande de recherche des informations identifiant cette demande. - des moyens pour rechercher une correspondance entre un message provenant du bus et les informations identifiant les demandes de recherche. - des moyens commandés par l'absence d'une telle correspondance pour indi-35 quer que le message reçu provient d'une demande de transmission de message effectuée par une autre unité de traitement. - des moyens pour conserver un tel message jusqu'à ce qu'il soit possible de l'exploiter. 69 20439 24 2012711 4. Système conforme à la revendication 3 caractérisé en outre en ce que les informations identifiant une demande de recherche sont constituées par l'adresse du message recherché dans la mémoire centrale. 5 5. Système conforme à l'une des revendications précédentes,caractérisé en outre en ce que : - la mémoire centrale est divisée en modules - des moyens d'aiguillage sont associés au "bus" pour connecter sélectivement un module et une unité de traitement, ces moyens d'aiguillage étant 10 coirmandés par des signaux fournis par un module ou une unité de traitement demandant une connexion et désignant l'unité de traitement ou le module avec laquelle ou lequel la connexion est demandée. 8. Système conforme à la revendication 5 et caractérisé en outre en ce qus 15 les moyens d'aiguillage comportent un registre pour enregistrer temporairement des données à transmettre et des informations concernant la destination de ces données et la nature de l'opération à effectuer (emmagasinage en mémoire, recherche de message en mémoire, transmission de message entre unités de traitement), et comportent,également des moyens de comptage pour cor:-20 necter successivement les dits moyens d'aiguillage avec les divers modules et unités de traitement susceptibles de fournir des données à transmettre. 7. Système conforme à la revendication 5 ou 6 caractérisé en outre en ce que s - chaque module de mémoire comporte un ensemble de positions de mémoire 25 dans lequel les entrées et sorties sont effectuées selon des cycles dont le séquence est commandée par des moyens de chronométrage, et un registre pour emmagasiner temporairement les données et les informations concernant la destination de ces données et la nature de l'opération à effectuer, ce registre étant en communication avec l'ensemble des positions de mémoire d'une part 30 et avec les moyens d'aiguillage d'autre part. - dans une opération de transmission de message entre unités de traitement par l'intermédiaire d'un module de mémoire, le message est enregistré dans ledit registre et transmis à l'unité destinataire sans passer par ledit ensemble de positions de mémoire et sans être soumis à des conditions de synchroni- 35 sation avec les dits cycles.