1* La présente invention concerne particuliè- rement un dispositif pour transférer des informations entre un soussystème central comprenant une unité d'antémémoire/de gestion de mémoire, une unité centrale de traitement et de commande, un processeur commercial, un processeur scientifique, et un ensemble de modules de mémoire ayant des fonctionnalités de transfert de données et des largeurs de chemins de données différentes. Dans l'industrie des systèmes de traitement de données, un effort continu a été fait pour augmenter les performances des systèmes de traitement de données tout en.cherchant à diminuer leur coût. Parmi les nombreuses variables prises en considération pour chercher à augmenter les performances d'un système de traitement de données, il existe deux variables tr-ès importantes qui sont le débit de transfert de données entre des processeurs utilisés dans le. sys- tème et les modules de mémoire du système, et la souplesse d'emploi des processeurs pour constituer une interface avec des types différents de modules de mémoire. Dans beaucoup de modules de mémoire connus, le transfert de données entre le module considéré et un processeur est limité à un seul mot de données en réponse à une seule demande de mémoire. Puisqu'il existe un coût inhérent à l'augmentation de la longueur d'un mot de données, il y a des limites supérieures pratiques en ce qui concerne le nombre d'éléments binaires (bits) pouvant être inclus dans un mot de données et transférés en parallèle par le module de mémoire. Un second type de module de mémoire connu ne maintient la limitation que du transfert d'un mot de données en parallèle mais offre la possibilité de transférer deux mots de données au moyen de cycles BR 7245 US/LC de bus successifs lancés en réponse à une seule demande de mémoire. Le rendement de tout le système de traitement de données est ainsi augmenté car une grande partie du traitement pour obtenir un second mot de données est évitée puisque ce second mot est automatiquement transmis dans un second cycle d'une seconde moitié de bus. L'utilisation récente des circuits intégrés pour la construction des blocs fonctionnels de systèmes de traitement de données entiers a permis de réduire de façon importante l'encombrement physique d'un système et, par conséquent, les longueurs des bus et des câbles interconnectant les éléments du système ont été diminuées de façon importante. De là est apparue la possibilité d'aug- menter le nombre de bits d'informations transférés en parallèle le long des bus et des câbles sans augmenter le coût de l'ensemble. Dans certains sys- tèmes de traitement de données plus récents, il est ainsi possible de transférer deux mots de données en parallèle entre un module de mémoire et les processeurs du système. Un dilemme apparaît, cependant, quand ces différents types de modules de mémoire sont inclus dans un seul système de traitement de données. Pour augmenter au maximum le rendement du système, il est nécessaire de pouvoir mémoriser des infor- mations avec la même facilité dans n'importe lequel des modules de mémoire. Cependant, puisque les modules de mémoire sont conçus-pour effectuer des transferts de différentes largeurs et dans de-s modes de transfert différents, un problème surgit quand un processeur demande des informations mémorisées quel- que part dans la mémoire du système, sans connaître le type de module qui doit répondre à la demande de mémoire. Il est très peu satisfaisant de limiter BR 7245 US/LC, les processaurs ou unités centrales de traitement à des contraintes. de transfert d'informations imposées par le module de mémoire le moins efficace, mais en même temps les processeurs doivent être assurés qu'une demande de mémoire sera satisfaite dans son inté- gralité. Un objet de la présente invention est l'aug- mentation du débit de transfert de données dans un système de traitement de données avec l'augmentation simultanée de la souplesse d'emploi du système pour exécuter différents types de transferts de données. Un autre objet de la présents invention est une unité d'antémémoire/de gestion de mémoire pour constituer une interface entre des processeurs et différents types de modules de mémoire pour que les processeurs aient toutes leurs demandes de mémoire satisfaites sans qu'ils aient une préconnaissance du type de module de mémoire répondant. Un autre objet de l'invention est une dis- position de bus de données perfectionnée pour trans- férer des informations entre différents types de modules- de mémoire et des unités de processeurs multiples. Un autre objet de l'invention est un adap- tateur de mégabus pour constituer une interface entre différents types de modules de mémoire et un ensemble de processeurs de données de manière à ce qu'une * demande de processeur impliquant le transfert de plu- sieurs mots de données en parallèle soit exécutée dans son intégralité sans tenir compte du fait que le module de mémoire adressé est capable ou non de transférer plus d'un mot de données en.parallèle. Un autre objet de l'invention est un adap- tateur de mégabus pour échanger des informations avec des modules de mémoire qui ne transfèrent qu'un seul mot de données en parallèle, qui transfèrent un mot de données en parallèle mais deux mots successifs BR 7245 US/LC 248O4.6O0 en réponse à une seule demand.e de mémoire, ou qui trans- fèrent deux mots de données en parallèle. Selon la présente invention, un système de traitement de données est caractérisé en ce qu'il comprend: - un sous-système de modules de mémoire comprenant: - un premier module de mémoire incluant un premier chemin de données d'une première largeur de bits, le premier module de mémoire étant conçu pour mémoriser des données dans un ensemble d'emplacements de mémoire adressables, pour exécuter des-transferts de données par le premier chemin de données en réponse à des demandes de transferts de données, et pour en- gendrer des indices de réponse indiquant les perfor- mances du transfert de données, - un second module de mémoire incluant un second chemin de données d'une seconde largeur de bits supérieure à la première largeur de bits, le second module de mémoire étant conçu pour mémoriser des données dans un ensemble d'emplacements de mémoire adressables, pour exécuter des transferts de données par le second chemin de données en.réponse à des demandes de transferts de données, et pour engendrer des indices de réponse indiquant les performances du transfert de données; et un sous-système central comprenant: - des moyens de traitement de sous-système pour lancer des demandes pour des transferts de données de la seconde largeur de bits entre le sous-système de modules de mémoire et le sous-système central, - des moyens pour émettre-les demandes de transfert de données et effectuer les transferts de données demandés entre les moyens de traitement de sous-système et le sous- système de modules de mémoire, et BR 7245 US/LC - des moyens pour recevoir les indices de réponse engendrés et émis par le premier module de mémoire et par le second module de mémoire et pour lancer des demandes supplémentaires de transferts de données entre le premier module de mémoire et les moyens de'traitement de sous-système quand les indices de réponse reçus indiquent qu'une demande de transfert de données a été exécutée par le premier module de mémoire, lesdites demandes supplémentaires de transferts de données étant faites pour valider le transfert cumulatif de bits de données égaux en nombre à la seconde largeur de bits-entre le premier module de-mérnoire et les moyens de traitement de sous-système. 1-5 D'autres caractéristiques et avantages de la présente invention seront mis en évidence dans la description suivante, donnée à titre d'exemple non limitatif, en référence aux figures annexées dans lesquelles: - la figure 1 est un schéma fonctionnel d'ensemble d'un système de traitement de données dans lequel un dispositif selon la présente invention est inclus - les figures 2(A) et 2(B) représentent un schéma fonctionnel détaillé de l'unité centrale de traitement du système de la figure 1; - la figure 3 représente. des détails-des connexions à l'unité arithmétique et logique de l'unité centrale de traitement de la figure 2; - la figure 4 représente des détails de la SR 7245 US/LC composition des emplacements de la mémoire de contrôle de l'unité centrale de traitement de la figure 2; - la figure 5 est un schéma fonctionnel détaillé de la mémoire de contrôle et des circuits logiques associés contenus dans l'unité centrale de traitement de la fig.ure 2; - la figure 6 est un tableau représentant les signaux utilisés pour adresser la mémoire de contrôle et pour répondre à différentes conditions de branchement; - - la figure 7 est un schéma fonctionnel détaillé représentant un circuit logique de test utilisé pour valider la mémoire de contrôle de l'unité centrale de traitement de la figure 2; - la figure 8 représente les détails d'un multiplexeur utilisé pour adresser la mémoire de contrôle de l'unité centrale de traitement de la figure 2;. - la figure 9 représente un exemple de l'opé- ration d'appariement d'emplacements dans la mémoire de contrôle de l'unité centrale de traitement de la figure 2 - les figures 10a à 10k représentent des formats pour transférer des informations dans les champs d'adresse et de données du bus local ou du mégabus connectant les unités de traitement selon la présente invention - la figure 11 est un schéma fonctionnel détaillé représentant un adaptateur de bus local servant à contrôler le transfert d'informations entre les processeurs et l'unité d'antémémoire/de gestion de- BR 7245 US/LC mémoire d'un sous-système central selon la présente invention; - la figure 12 est un schéma fonctionnel détaillé représentant l'adaptateur de mégabus servant à contrôler le transfert d'informations entre le sous- système central et.l'adaptateur de mégabus de la présente invention; - la figure 13 est un. schéma fonctionnel représentant les registres de l'unité centrale de traitement servant d'interface avec l'adaptateur de bus local - la figure 14 est un schéma fonctionnel représentant les registres du processeur d'instruc- tions commerciales servant d'interface avec l'adap- tateur de bus local; - la figure 15 est un schéma fonctionnel des registres du processeur scientifique servant d'interface avec l'adaptateur de bus local; - la figure 16 est un schéma fonctionnel des registres contenus dans un module de mémoire à simple largeur et à simple extraction servant d'interface avec l'adaptateur de mégabus de la présente invention - la figure 17 est un schéma fonctionnel des registres contenus dans'un module cie mémoire à simple largeur et à double extraction servant d'in- terface avec l'adaptateur de mégabus de la présente invention; - la figure 18 est un schéma fonctionnel des registres contenus dans un module de mémoire à double largeur servant d'interface avec l'adaptateur OR 7245 US/LC -2480460 de mégabus de la présente invention; - la figure 19 est un schéma fonctionnel représentant la manière suivant laquelle les parties A et B des figures 20A à 46B sont reliées l'une à l'autre - les figures 20A à 33B sont des schémas logiques détaillés d'un exemple de réalisation ma- tériel de l'adaptateur de bus local représenté sur la figure 11; et - les figures 34A à 468 sont des schémas logiques détaillés d'un exemple de réalisation matériel de l'adaptateur de mégabus de la présente invention, représenté sur la figure 12. La figure 1 est un schéma fonctionnel d'en- semble de la configuration d'un système de traitement de données pouvant inclure une unité centrale de trai- tement CPU, selon la présente invention. Ce sys.tème comprend une unité centrale de traitement.(CPU) 100, et des processeurs facultatifs qui peuvent comprendre un processeur ou unité de traitement d'instructions scientifiques (SIP) 101 et un processeur ou unité de traitement d'instructions commerciales (CIP) 102. Ces processeurs facultatifs peuvent être utilisés pour étendre la portée du processeur de base 100 à des ap- plications spéciales Le système peut aussi comprendre une unité 103 d'antémémoire/de gestion de mémoire MMU, un bus électrique de système 105, des modules de mémoire principale 106, des contrôleurs d'entrée- sortie 107 reliés à des dispositifs d'entrée-sortie 108, BR 7245 US/LC et un contrôleur ou processeur de transmission multi- ligne (MLCP) 109. Le système peut également avoir une configuration à processeurs multiples dans laquelle un second sous-système central 110 comprend l'ensemble ou une partie des éléments du système décrit plus haut. Les processeurs -de sous-système central sont connectés entre eux par l'intermédiaire d'un bus local 9 et ils sont connectés au reste du système par l'inter- médiaire de l'unité 103 d'antémémoire/de gestion de mémoire MMU. La fonction de l'unité 103 dans le sous- système central est de constituer une mémoire tampon pour la partie de la mémoire principale 106 qui est utilisée par les processeurs, et de fournir la traduc- tion de l'adresse de mémoire principale. La fonction du bus local est de constituer une interconnexion des processeurs et de l'unité 103 d'antémémoire/MMU. Il est prévu un bus local physique 9 organisé en de nombreuses interfaces. Comme l'indique la figure 1, des interfaces spécialisées sont prévues entre l'unité CPU 100 et les- deux autres processeurs. Une autre interface spécialisée est prévue entre chaque processeur et l'unité d'anté- mémoire/MMU 103. Le bus local 9 est une interface à temps partagé ou publique, c'est-à-dire, partagée par les trois processeurs et l'unit.é 103. De plus, l'unité 103 constitue une interface avec le reste du-système dont fait partie la mémoire principale 106 par l'inter- médiaire du bus de système 105, et avec les dispositifs d'entrée-sortie 108 par l'intermédiaire des contrô- leurs 107. On va maintenant décrire l'unité centrale de traitement selon la présente invention, en se référant au schéma fonctionnel des figures 1(A) et 2(B). En particulier, on va décrire les différents bus électri- ques et unités fonctionnelles, ainsi que leurs inter- actions. Les éléments principaux de l'unité CPU sont BR 7245 US/ i. 24804 60 représentés par les blocs délimités par des tirets. Un premier élément est l'interface de bus local 10 (figure 2(A)) qui comprend un tampon de données 31, un tampon de mémoire de procédure par permutation cir- culaire 36, et différents multiplexeurs de mot et d'adresse de procédure/données 34, 35, 39 et 40 reliés à un bus de source 33 ainsi qu'à d'autres circuits qui seront décrits par la suite. Le premier élément 10 est utilisé pour la réception de données provenant ' du bus de système 105. Un second élément 16 (figure 2(B)), est l'élément arithmétique qui comprend plusieurs circuits incluant deux groupes de blocs registres (RAM) désignés par DRAM 11 et BRAM 12, et un bus de RAM 13 auquel sont connectés les registres DRAM 11 et BRAM 12. Le second élément 16 comprend également un bus d'entrée ou intérieur (1) 14 auquel est connecté le registre BRAM 12, ainsi que d'autres circuits. Le second élément 16 comprend, en outre, une unité DALU 15 arithmétique et -logique qui est reliée pour commander le registre DRAM 11. Un troisième élément 22 (figure 2(B)) de l'unité CPU comprend un bus extérieur 17 et un bus d'écriture 84, des registres à décalage 19-1 et 192 reliant ces deux bus et des sélecteurs les commandant. Ces sélecteurs comprennent un sélecteur 20 de DALU 15/ bus 13 et un sélecteur 21 de registre Y/registre P (YP). Un quatrième élément 27. (figures 2(A) et 2(B)) est la section d'adressage de l'unité CPU qui comprend un registre 23 d'adresse de procédure (P) et un re- gistre 24 d'adresse de données (Y). Ce quatrième élé- ment comprend également un multiplexeur d'adresse 25 et un registre 26 d'adresse-de préextractien. L'élé- ment 27 comprend aussi un registre 28 de données d'é- criture (W) et un sélecteur 29 de données d'écriture (WS). Cette partie de l'unité CPU est utilisée pour le BR 7245 US/IC ê transfert de données vers le bus local 9. Un dispositif 30 de la figure 2(A) est un circuit logique de test de l'unité CPU qui comprend, ainsi que l'indique la figure 7, un groupe-de multi- plexeurs de huit-à-un commandant un. second groupe d'au moint deux multiplexeurs de huit-à-un servant à engendrer un seul signal binaire appelé "test vrai" ou "test faux", qui est utilisé ensuite pour commander un branchement dans la partie microprogrammée. Les signaux de test vrai et de test faux sont envoyés-dans des mémoires mortes programmables PROM contenues dans des blocs de mémoire de contrôle 80 et 81, représentés sur la figure 5. - Un générateur d'adresse suivante 44 de la figure 2(A) est relié à un registre F 38 et à un bus F 37. Le générateur 44.a pour fonction principale d'engendrer des adresses de microprogramme à utiliser dans l'unité CPU. La fonction de l'élàment 10, qui est dans la zone d'entrée de données de bus local, est de recevoir des données revenant de l'unité 103 d'antémémoire/MMU ou d'autres dispositifs par le bus Iocal 9 pour sélec- tionner des données des mémoires PROM de séquence d'appel, si une exécution de procédure de séquence d'appel est demandée, et pour diri-ger ces données vers le tampon de données approprié. Si une extraction d'instruction est demandée, les données sont placées. dans le registre de fonction 38. En particulier, le - tampon de données principal 31 reçoit des mots de don- nées à 16 ou 32 bits du bus local 9. Sa sortie est connectée à un bus L 32. Le bu.s L 32 est utilisé pour commander le bus de source 33 par l'utilisation de deux. sélecteurs DA 34 et DW 35 et pour commander le tampon de procédure à quatre mots 36. Des données de non pro- cédure entrent dans l'unité CPU par l'intermédiaire du bus de source 33 qui est commandé à partir du bus L 32 par les sélecteurs de données. BR 7245 US/ LC Des données de prQcédure entrent dans l'unité CPU par l'intermédiaire d'un groupe différent de sélecteurs PA 39 et PW 40, ces données provenant du tampon- de procédure 36, Le tampon de procédure a la responsabi- lité de contenir les deux ou trois mots suivants de-la procédure à exécuter, de sorte que lorsqu'ils sont demandés, un délai n'est pas nécessaire pour les extrai- re. Il est rechargé automatiquement à partir de l'unité 103 d'antémémoire/MMU par l'intermédiaire du bus local 9 quand il est vidé par l'unité CPU. - = Le bus F 37 est un bus spécial qui est utilisé pour le transfert d'informations dans le registre F 38, c'est-à-dire, les quatre zones désignées par FOP, FM, FN et Liaison sur la figure 2(A). Le registre 38 est le registre d'instruction principale de l'unité CPU. La- FonctiQn du bus F 37 est de prendre des données dans le registre F 38 et d'envoyer des données au registre F à partir-de différentes sources. Un multiplexeur 43 est également prévu pour permettre le chargement de 2Q constantes ou de données en provenance d'un élément AS'42 dans l'une des zones. de Liaison ou FN du registre F 38. Il est également prévu dans la zone d'entrée de données constituée par l'élément 10 un groupe de mémoires PROM 41 de séquence d'appel qui peuvent être utilisées pour fournir des instructions, au lieu - d'instructions de mémoire, si le fonctionnement est en mode de séquence d'appel. Le tampon 36 qui comporte des emplacements A, B. C , E est une mémoire de procédure par permutation circulaire à quatre mots. Chaque fois que le tampon a la place pour deux mots de procédure, c'est-à-dire, qu'il est à moitié vide, il déclenche alors automa- tiquement une lecture de procédure de mémoire par l'intermédiaire du bus local 9, à partir de l'unité 103 BR 7245 US/ i C d'antémémoire/MMU. Les données en retour sont chargées dans les deux emplacements suivants quisont disponi- bles dans le tampon 36. Quand l'unité CPU utilise des procédures en les émettant en direction du bus de source 33 pour leur utilisation à l'intérieur des élé- ments de traitement de l'unité CPU, ou en les envoyant au registre F 38 car elles sont une. partie d'une ins- truction,--les deux pointeurs 36-1 et 36-2, qui repré- sentent effectivement des curseurs dans le tampon 36, progressent alors jusqu'à l'emplacement suivant dispo- nible par l'utilisation d'un compteur contenu dans le tampon 36 qui valide successivement les quatre empla- cements pour les sorties du tampon 36. Le curseur ou pointeur à gauche 362 indique le mot ou procédure suivante à extraire; le curseur à droite 36-1 repré- sente le mot qui suit. Quelquefois, un mot de procédure est utilisé en haut, auquel cas le mot indiqué par le curseur à gauche est utilisé pour.engendrer-'i'in- formation, en traversant le multiplexeur PW 40. Quelque- fois, deux mots de procédure s'ont nécessaires (comme lorsqu'il s'agit d'une extraction d'adresse sous forme de grande adresse (LAF). Les mots indiqués par les curseurs à gauche et à droite sont alors combinés dans le multiplexeur PA 39 du sélecteur de procédure. Cela sera décrit plus en détail dans la suite de la description de cette partie de circuit logique. L'élément 10 est ainsi la zone dont la fonc- tion est d'amener des données dans l'unité CPU par le bus de source 33, par l'intermédiaire des sélecteurs de données 34 et 35 ou des sélecteurs de procédure 39 et 40, ou d'amener des données directement dans le registre d'instruction F. 38 par l'intermédiaire du tampon de procédure 36 et du bus F 37. Un dispositif (F') 76 est utilisé pour conserver des bits sélection- nés en provenance d'informations ou syllabes d'adresse BR 7245 US/ LC - auxiliaire. La syllabe d'adresse est, présentement, une partie d'un descripteur de données à 16 bits. Certains bits du descripteur doivent être conservés pour une analyse ultérieure. Le bit de longueur d'o- pérande dans le descripteur de CIP et les bits de longueur d'opérande, avec signe ou sans signe du descripteur de registre K,-doivent être conservés. Ces bits sont conservés dans le registre à cinq bits F' 76. Le second élément 16 contient l'unité arithmé- tique et logique (DALU) 15, les registres BRAM 12 et DRAM 11, contenant tous. les registres visibles par le programmeur, plus un certain nombre de registres de travail non visibles par le programmeur. Ces éléments de mémorisation de données sont organisés comme suit: le registre DRAM 11, qui est une des deux souces pou- vant commander le bus de RAM 13, contient 32 emplace- ments dont chacun a une longueur de 24 bits. Ces empla- cements sont utilisés pour contenir les registres désignés par D, deux moitiés (K & L) des registres désignés par K qui ont une longueur de 32 bits, un certain nombre de pointeurs internes, et sept registres désignés par M. Le registre BRAM 12, qui contient 16 mots de 24 bits chacun, contient les sept registres de base plus un certain nombre de pointeurs visibles et non visibles par le programmeur de différents types. La figure 3 représente de façon plus détaillée les connexions entre les registres RAM, les bus et l'unité DALU 15. Les registres DRAM 11 et BRAM 12 peuvent constituer chacun des sources pour le bus de RAM 13. Le registre BRAM 12 a effectivement une struc- ture double; c'est-à-dire qu'il est constitué par deux registres BRAM 60 et 61 en parallèle dans l'unité CPU. Les deux éléments du registre BRAM 12 sont chargés de façon identique. L'élément 60 commande le bus R (ou transfère des données vers celui-ci), et l'autre BR 7245 US/' C élément 61 commande le bus I 14. L'aspect important des deux regstres BRAM identiques est que le système a sa vitesse de traitement augmentée. Le bus R peut être commandé par le registre BRAM 60 ou par le registre DRAM 11.. Comme on le verra dans la suite, d'autres sources commandent également le bus I 14. L'unité DALU 15 utilise le bus I et le bus R à ses entrées et la sortie de l'unité DALU peut ensuite être recyclée par rapport au registre DRAM et/ou utilisée ailleurs dans l'unité CPU. L'élément 16 comprend-deux bus d'un intérêt majeur. Le bus d'entrée ou intérieur (I) 14 est la source principale d'entrée originale dans le processeur, c'est- à-dire que des données de mémoire atteignent ce bus comme celles émises par la sortie du registre Q 50 qui sont transmises par le circuit de commande 54 ainsi que celles émises par la sortie du registre BRAM 12. Le second bus R ou bus de RAM est le point o les sorties des deux registres RAM différents, c'est-à-dire les registres B'RAM et DRAM sont reliés. Les sorties de ces deux bus sont reliées aux entrées de l'unité DALU 15, qui engendre des données pouvant être renvoyées dans le registre DRAM 11 ou envoyées au bus extérieur 17 pour un autre traitement dans le système. Les deux bus intérieur et de RAM,.14 et. 13, utilisent un élément matériel considéré comme ce qu'on appelle un "verrou de pas" (BL) qui est une porte dont les entrée et sortie sont reliées pour un couplage avec des signaux sur le bus. Ce verrou est destiné à prendre la. suite du contrôle de ce signal après.que la source de commande soit obligée de laisser le bus pour des raisons de synchronisation et de mise en sé- quence. Quand cela se produit, le verrou maintient alors ce signal au même niveau qu'il avait quand la source de commande était présente, jusqu'à ce que le verrou BR 7245 US/lC soit arrêté, le signal de bus pouvant alors se relâcher (passer à un niveau prédéterminé tel que 0 volt). Le bus de RAM 13 est l'interface servant au transfert de données entre le tableau de commande 90 et l'unité centrale de traitement, ce bus étant connecté à.l'unité par l'intermédiaire de 16 lignes bidirection- nelles de signaux. Les données de mémoire sont envoyées au bus intérieur 14 par l'intermédiaire d'un groupe de circuits de commande appelés verrous de données (DL) 51. Les verrous de données sont connectés en'parallèle avec un second groupe de verrous appelés verrous d'extension de signe (SE) 52. Ces verrous-.52 sont uti-- lisés pour étendre au signe ou à zéro les verrous de données 51 quand ils ne fournissent au bus à 24 bits qu'une quantité de 16 bits. De même les verrous 52 sont utilisés pour prendre 7 ou 8 bits de l'instruction courante et pour faire une extension de signe à 24 bits afin d'être utilisés par les instructions de branchement et de valeur qui obtiennent respectivement leur dépla- cement et leur opérande de la portion à droite du mot d'instruction. Un circuit logique de sélection/modification 53 est également associé aux registres BRAM 12 et-DRAM 11 ce circuit permet d'adresser les registres BRAM et DRAM par blocs de huit registres, en, utilisant différentes zones de l'instruction pour commander la sélection de registres. individuels à l'intérieur du bloc considéré. Un générateur de constantes (KON) 70 est également inclus dans l'élément 16 d'unité principale arithmétique et logique ALU, ce générateur constituant une autre source pour le bus intérieur 14, c'est-à-dire qu'il constitue la source qui peut être utilisée-pour engendrer sur le bus intérieur des constantes à 24 bits (selon les signaux d'entrée qu'il reçoit en provenance des zones BI et K du mot de mémoire de contrôle) pour BR 7245 US/ LC leur utilisation par l'unité arithmétique sous la com- mande de la partie microprogramméeq Ainsi, l'élément 16 est la zone principale d'opérations arithmétiques de l'unité centrale de traitement CPU, c'est-à-dire qu'il assure le traitement d'opérandes, la génération d'opérandes à introduire dans les registres de données DRAM Il ou d'opérandes qui doivent être envoyés au bus extérieur 17, soit pour être renvoyés au registre BRAM 12, soit pour être envoyés aux différents registres d'adresse et de données afin d'être émis en direction du bus local 9. L'élément 22 correspond principalement à la section de l'unité centrale CPU incluant les bus exté- rieur 17 et d'écriture 84. Le bus extérieur 17 est le bus o différents chemins de données sont regroupés, c'est-à-dire, les chemins par le registre Y 24, le registre P 23, la sortie de l'unité DALU-15 et le bus de RAM 13. Le bus d'écriture 84 est le bus utilisé pour transférer des opérandes au registre BRAM 12, aux registres de données d'écriture, et à l'unité BALU 55 qui est l'unité arithmétique et logique ALU principale pour le traitement d'adresses. - Un groupe de vingt-quatre registres à déca- lage 19 de multiplexage, connectés entre le bus exté- rieur 17 et le bus d'écriture 84 permettent de décaler 1, 2 ou 4 bits d'opérandes en direction du bus exté- rieur 17. De plus, un groupe de seize registres à décalage 56 de multiplexage sont prévus pour le char- gement d'opérandes dans le registre Q 50. Deux des quatre types différents d'opérandes qui sont.émis en direction du bus extérieur provien- nent de l'unité DALU 15 et du bus de RAM 13 et sont sélectionnés par l'intermédiaire'd'un multiplexeur de deux-à-un 20 relié au bus extérieur 17. Les deux autres sources pour le bus extérieur 17 sont le registre Y 24, *BR 7245 US/ I..C qui est le registre d'adresse de données, et le registre d'adresse de procédure (P) 23. Les sorties de ces deux registres sources sont reliées au bus extérieur 17 par l'intermédiaire d'un multiplexeur de deux-à-un 21 (sélecteur de Y/P). Un registre I 57 est également relié au bus extérieur 17; ce registre est un registre d'in- dicateur pour le sous-système central de traitement. Le contenu du bus extérieur 17 peut être transféré soit directeméht ou par décalage jusqu'au bus d'écri- ture 84 pour un autre traitement dans l'unité CPU, Le contenu du bus extérieur peut aussi être chargé direc- tement dans le registre Q 50 de sorte que le registre Q puisse être utilisé pour des opérations de décalage à double précision- Tout décalage ayant lieu dans.l'unité CPU se produit par traitement d'opérandes entre le bus exté- rieur 17 et le bus d'écriture 84. Les ving-quatre registres à décalage 19 sont utilisés pour décaler des opérandes à 24 bits, c'est-à-dire la longueur des opérandes sur le bus extérieur 17 et sur le bus d'écri- ture 84 (à gauche ou à droite) sous la commande du mot de mémoire de contrôle. Ces registres peuvent décaler les bits d'opérande de 1, 2 ou 4 positions, faire traverser directement l'opérande, ou transférer 1'opé- rande en ihiterchangeant les deux multiplets à droite de l'opérande. Le fonctionnement de ces registres à décalage est commandé par une portion spéciale du mot de mémoire de contrôle. Cette section de l'unité CPU est utilisée pour décaler des opérandes à 24 bits. Quand des opérandes à 32 bits (de registre double) sont décalés, l'opérande à droite est chargé dans le registre Q 50 par l'intermédiaire du bus extérieur 17, et un décalage est ensuite effectué, non seulement, dans les registres 19 du bus d'écriture, mais également; dans les seize registres à décalage 56 de registre Q. BR 7245 US/ LC Le registre 4 contient des informations traitées comme une extension de 16 bits du côté droit de l'opérande de 24 bits qui est décalé jusqu'au bus d'écriture 84; les extrémités de ces deux registres à décalage sont reliées entre elles, ce qui permet d'obtenir un déca- lags de 40 bits. Dans ces décalages en registre double, les opérandes intéressants sont les 18 bits renvoyés au registre Q et les 16 bits transférés,auxdeux empla- c.. cments de multiplet à.droite du bus extérieur 17, tandis que les 8 bits à gauche des données' de bus d'écriture sont habituellement rejetés. L'élément 75 représente le circuit de collecte des bits d'état dans l'unité CPU pour leur transmission au bus d'écriture par l'intermédiaire du circuit-de commande 93 dans certaines conditions. Le bus d'écri- ture a deux sources dont la principale est le registre à décalage 19 relié au bus extérieur 17. Ce-registre à décalage 19 peut être invalidé comme source d'entrée du bus d'écriture 84 pour que l'élément 75 de collecte des bits d'état (S/Z) puisse envoyer des bits d'état sur le bus d'écriture 84 pour une analyse ultérieure par la partie microprogrammée. Il est également prévu une unité associée au registre Q 50, non dé-crite précédemment, qui est le registre XB 58 de la figure 2(B) et le décodeur 59 associé. Le registre XB 58 est utilisé pendant le décalage d'index pour saisir les bits d'index qui sont décalés à droite pour des opérandes dessous-mbt - et - qui seraient perdus puisqu'ils se déplacent vers la droite du seul bit de mot dans l'adresse. Le registre XB les saisit, un bit à la fois pour des décalages de demi-mot, deux bits à la fois pour des décalages de chiffre, et quatre bits à la fois pour des décalages d'opérande évalué en bits. Le registreXB contient des informations qui sont ensuite utilisées-pour BR 7245 US/ LC commander directement une sélection de-moitié gauche ou droite quand il traite des opérandes à demi-mots, quand il engendre un paramètre à envoyer au processeur d'instructions commerciales CIR pour des opérandes à chiffres, et pour engendrer un masque de 15 zéros binaires et un seul un. binaire, en association avec le décodeur 59, quand il traite des opérandes à bits. C'est ainsi que pour un opérande à bits, un mot est lu,. un masque est utilisé pour mettre à un ou remettre à zéro le bit sélectionné dans le mot, et le mot est ensuite écrit à nouveau dans la mémoire. Le masque est engendré par le décodeur 59 et il est envoyé à' l'entrée du registre Q 50. C'est ainsi qu'un élément des données qui peuvent être chargées dans le registre Q est le masque de décodeur engendré à partir du contenu du registre XB 58. Le quatrième élément principal de l'unité-CPU est l'élément 27 dont la Fonction est d'engendrer des adresses, des commandes et des opérandes à trans- mettre au bus local 9 et, par l'intermédiaire du bus local, au processeur CIP 102, au processeur SIP'101, ou à l'unité.103 d'antémémoire/MMU, et donc à la mémoire ou aux dispositifs d'entrée-sortie Cet élément prin- cipal peut être décomposé en trois zones approximatives dont la première est le registre de données d'écriture (W) 28 et le sélecteur d'écriture (WS) 29. Le registre 28 est un registre à 32 bits ayant une capacité de chargement cloisonné, c'est-à-dire de chargement de moitié droite ou de moitié gauche ou des deux moitiés à la.fois. La moitié droite.est toujours chargée à partir de 16 bits du bus d'écriture 84 par l'inter- médiaire des circuits de commande 74. La moitié gauche est chargée avec des données provenant du sélecteur d'écriture 29. Ce sélecteur d'écriture reçoit à ses 16 entrées soit les 16 bits de la moitié droite du bus GR 7245 US/ LC d'écriture 84, soit les 8 bits à gauche du bus d'écri- ture plus l'extension de signe ou de zéros. Le- bus d'écriture est le chemin principal par lequel des don- nées peuvent être envoyées au registre W 28 pour écrire ensuite ces données dan.s tout autre dispositif relié au bus local 9. La zone suivante de l'interface de sortie de bus local 27 est le circuit de commande 71. Le circuit de commande 71 commande une série de lignes de commandes qui accompagnent tous les transferts par l'unité CPU sur le bus local et indique-à l'unité 103 d'anté- mémoire/MMU un cycle de référence de mémoire, un cycle de référence d'entrée-sortie, ou un cycle de référence de bus local, ou à une des unités de traitement par le bus 'local. Les informations transférées à partir de la ligne 72 sur les lignes de commandes sont déduites des zones ou champs F et FK du mot de mémoire de con- trBle ou de microprogramme (FW), représenté sur la figure 4, qui commande à d'autres moments le fonction- nement du registre F 38 de l'élément 10. La troisième partie de l'élément 27 comprend les deux registres d'adresse principale, c'est-à-dire le registre Y 24 pour des adresses de mémoire de non- procédure et pour des adresses d'autres dispositifs sur les bus local et de système, et le registre P 23 (le compteur de programme) ainsi que le registre de pré-extraction 26. Le compteur P 23 garde la trace du dernier mot que la partie microprogrammée a utilisée, ce mot ayant été extrait du tampon de permutation circulaire 36 et étant introduit dans l'unité CPU 100 pour que des opérations. soient effectuées sur ce mot. Le registre de préextraction (PF) 26 garde la trace du mot qui doit être ensuite extrait de la mémoire; c'est ainsi que les registres P et PF peuvent avoir leurs contenus BR 7245 US/ I.{ qui diffèrent de n'importe quel nombre dans une adresse de mémoire, de un à quatre mots selon le contenu du tampon de permutation circulaire et depuis quand le système central de traitement a extrait des données du tampon. Si le système central de traitement a extrait toutes les données du tampon, l'unité 103 d'antémémoire/ MMU a besoin d'un intervalle de temps limité pour répondre avec de nouvelles données.en réponse à une demande et pour remplir le tampon 36 à nouveau. Dans ces conditions, le registre de pré-extractioh 26 et le compteur ou registre P 23 ont des contenus d'adresse proches ou identiques. Quand le tampon 36 est plein et que l'unité CPU 100 n'a pas extrait de données récemment, le registre P a alors son contenu inférieur de deux à quatre mots à celui du registre de pré-extrac- tion puisqu'il indique le dernier mot extrait tandis que le registre de pré-extraction indique le mot suivant à venir de la mémoire dès qu'il y aura de la - place pour lui dans le registre de pré-extraction. Les contenus du registre P 23 ne sont jamais admis comme source d'adresse de mémoire pour le bus local 9. Les deux sources de données qui peuvent at- teindre le bus local par l'intermédiaire du multiplexeur d'adresse virtuelle 25 sont le registre Y 24 (qui est utilisé pour toutes les extractions de non-procédure) et le registre de pré-extraction 26 (qui est utilisé automatiquement par le circuit logique de pré-extraction pour atteindre la mémoire et demander des mots à utiliser dans des phases suivantes d'exécution de microgramme). Les flèches sur les circuits 23, 24 et 26 indiquent la capacité de progression de ces registres particuliers. C'est ainsi que le registre P peut pro- gresser de un ou de deux mots en fonction du nombre de mots qui sont extraits du tampon 36 en même temps. BR 7245 US/,' Ainsi, l'extraction d'un mot du tampon 36 fait progres- ser automatiquement le contenu du registre P de un l'extraction de deux mots du tampon 36 fait progresser automatiquement le contenu du registre P.de deux. Le registre de pré-extraction a son contenu qui progresse toujours de deux car des pré-extractions sont toujours effectuées sur deux mots. Le registre Y peut avoir son contenu qui progresse de un ou de deux sous la commande de la partie microprogrammée quand celle-ci est utilisée ou en préparation pour une utilisation ultérieure. Le mot de microprogramme contient une zone de commande de bus qui permet de commander cette pro.- gression et les différentes demandes de cycle au bus local. Les entrées du registre W 28 constituent deux chemins de données à 16 bits pris de différentes ma- nières. Si une adresse à 24 bits doit être écrite, les circuits de 6ommande 74 sont alors commandés pour vali- der les 16 bits à droite du bus d'écriture et les transférer aux entrées de 16 bits à droite du registre W. Le multiplexeur 29 est conditionné de façon à ce que les huit bits à gauche du bus d'écriture et les huit bits à zéro de poids fort à gauche soient envoyés aux entrées de 16 bits à gauche du registre W 28. Une adresse à 24 bits de deux mots est ainsi chargée dans le registre W pour être écrite ensuite dans la mémoire. Si un seul mot doit être écrit dans la mémoire, la moitié droite du registre W n'est alors pas validée et ne change pas, et le multiplexeur 29 est conditionné pour valider le transfert des 16 bits à droite du bus d'écriture aux entrées de 16 bits à gauche du re- gistre W dans lequel ils sont chargés. Pour des écri-; tures de mots uniques, la moitié gauche du registre W contient les données qui sont écrites dans la mémoire. Les circuits logiques qui ont ét'é décrits BR 7245 US/ LC jusqu'ici sont utilisés pour demander et accepter des données d'autres unités sur le bus local 9, telles que l'unité 103 d'antémémoire/MMU, le processeur CIP 102 ou le processeur SIP 101, afin d'opérer sur ces données et de les mémoriser de façon interne dans divers re- gistres par l'intermédiaire des deux unités arithméti- ques et logiques ALU qui sont contehues dans le systèmes, et afin de créer de nouveaux opérandes qui sont ensuite modifiés et envoyés sur le bus local pour être trans- mis à une des unités reliées à ce bus ainsi qu'une adresse indiquant l'unité concernée (calculée de façon interne dans l'unité centrale de traitement CPU et utilisée pour commander le bus local). Toutes ces opé- rations sont exécutées sous commande de la partie microprogrammée qui est contenue dans les deux blocs de mémoire de contrôle 80 et 81., de I 048 mots par 96 bits par mot, incluses dans l'unité CPU. La mémoire de contrôle est constituée d'un certain nombre de zones ou champs individuels qui commandent chacun un aspect des performances internes de l'unité CPU. La figure 4 représente le mot de micro-, programme et les différents champs intéressants à.l'in- térieur de ce mot. Le premier de ces champs est le champ de bus local (LB) formé par les bits 0 à 7 de mémoire de contrôle..Le champ LB concerne les demandes de différents cycles faites à partir du bus local 9 et les réponses qui lui sont faites. Il est également responsable de l'émission d'adresses virtuelles-par l'intermédiaire du registre de pré-extraction 26 ou du registre Y 24, et il commande les différentes progres- sions des. registres Y et P. Ce champ de bus local com- mande aussi les lectures successives de données dans le tampon de procédure par permutation circulaire 36, et les validations respectives des multiplexeurs de données et de procédure 34, 35, 39 et 40 pour le trans- BR 7245 US/LC fert d'informations sur le bus de source 33 et leur utilisation ultérieure par le bus intérieur 14. Le champ suivant, constitué par les bits 8 et 9 de mémoire de contrôle, est le champ d'horloge (CK) utilisé pour commander la vitesse d'horloge de l'unité CPU, c'est-à-dire, l'intervalle de temps entre les impulsions d'horloge successives dans l'unité CPU. Chaque phase de microprogramme comporte une vitesse d'horloge appropriée à sa complexité. Dans le système de la présente invention, on a prévu quatre intervalles de temps possibles entre les impulsions d'horloge successives, comme par exemple 98 nanosecondes, nanosecondes, 130 nanosecondes et170 nanosecondes. L'intervalle de temps qui est utilisé pour une phase. de microprogramme est commandé par le champ CK pour cette phase. Le champ suivant est le champ de test et de commande TC constitué par les bits 10 à 15 de mémoire de contrôle. Ce champ à 6 bits sélectionne une des 64 fonctions logiques possibles à l'intérieur de l'unité CPU pour tester et commander des séquences de microprogramme. Le champ suivant est le champ BR de branche- ment, constitué par les bits 17 à 19 de mémoire de contrôle, qui est utilisé pour,commander le type d'action à prendre en fonction d'un résultat-de test, c'est-à-dire quel type de branchement doit être effectué à savoir si le branchement sélectionne simplement une phase parmi deux phases de microprogramme, ou si ce branchement sélectionne une phase de microprogramme ou une procédure conditionnelle de génération d'adresse de mémoire de contrôle (la génération d'une adresse d'une multiplicité d'adresses suivantes de mémoire de contrôle basée sur l'état d'un ou de plusieurs éléments logiques dans l'unité CPU) dans laquelle BR 7245 US/ LC 2 S l'adresse suivante est commandée par une fonction du contenu de registre F 38. Le champ suivant qui présente un intérêt est le champ TP de test de polarité constitué par le bit 21. Ce champ contrôle si la condition de test établie par test est vraie ou fausse. Le champ NA, constitué par les bits 22 à 31, est un champ à dix bits qui est utilisé pour-engendrer au moins une des deux adresses sélectionnées par tous les branchements. L'autre adresse est également déduite du même champ NA ou des procédures conditionnelles de génération d'adresse de mémoire de contrôle mentionnées plus haut. Le champ suivant, constitué par les bits 32 à 39, est le champ de commande de registre F qui est divisé en une partie de quatre bits désignée par F et une seconde partie de quatre bits désignée par FK.* Les champs F et FK sont utilisés pour commander le chargement et l. 'échantillonnage de différents éléments dans le registre F et dans la zone du bus F 37: c'est ainsi qu'ils sont utilisés pour commander l'échantil- lonnage des dispositifs F' et AS', des sous-parties du regIstre F 38 et du multiplexeur 43. Les champs F et FK'contrâlent quels sont les dispositifs chargés et quelles sont les sources de ces dispositifs. Le champ suivant,constitué par les bits 40 à 47, est le champ K de constante qui est utilisé pour commander le bus intérieur I 14. C'est un champ de 8 bits qui fournit les huit bits à droite pour toutes les constantes qui sont admises pour le bus 14. Les 16 bits à gauche de la constante sont contrôlés par le champ de bus I qui sera décrit dans la suite. Le champ K- est directement relié au dispositif de constantes KON 70. Le champ suivant de mémoire de contrôle, constitué par les bits 48 à 63, concerne principalement BR 7245 US! LC 2460460- l'adressage et la commande du registre DRAM 11 et du registre DRAM 12. Le champ DW de deux bits est utilisé pour commander l'écriture dans le registre DRAM 11 avec un bit commandant des opérations d'écriture dans les huits positions de bits de poids fort à gauche du registre DRAM, et l'autre bit commandant les opérations d'écriture dans les 16 positions de bits de poids faible à droite du registre. Le bit suivant, c'est-à- dire le bit 50 de champ BW, est utilisé pour commander des opérations d'écriture dans les deux parties du registre BRAM, dans lesquelles des écritures-sont toujours faites en même temps o Le champ suivant DS, constitué par cinq bits, assure la sélection d'un des 32 registres du registre DRAM 11. Le champ DM, constitué f par les bits 56 et 57,.est le champ de sélection-modi- fication associé au registre DRAM qui permet la sélection soit directement du registre DRAM, soit d'une des trois fonctions différentes du registre F 38 pour modifier l'adressage du registre DRAM. Le champ suivant est le champ de sélection de B (BS), constitué par les bits 60 à 63, qui est utilisé pour la sélection d'un des 16 registres du registre BRAM. Le champ de deux bits, constitué par les bits 58 et 59, est le champ de sélection-modifi- cation (BM) pour l'adressage de registre BRAMo Il - opère comme le champ pour l'adressage de registre DRAM à l'exception du fait qu'il est séparé de sorte que des fonctions de sélection et de modification.indépen- dantes peuvent être exécutées pour les deux registes BRAM 12 et DRAM 11. Le champ suivant est le champ.GP, constitué par les bits 65 à 71, qui est utilisé pour commander un grand nombre de micro-opérations à toutes fins dans l'unité de traitement, telles que la synchronisa- BR 7245 US/ [ C 248'0460 tion des différentes bascules bistables et la valida- tion de différentes fonctions de commande. Ce champ est également utilisé pour commandes l'accès au tableau de commande 90 à partir de l'unité CPU, pour l'entrée et la sortie de données au tableau de commande, et pour commander différentes bascules qui y sont contenues. Le champ suivant, constitué par les bits 72 et 73, est le champ RB utilisé pour commander l'émis- sion à partir d'une source de données sur le bus R 13, un bit commandant le registre BRAM et l'autre bit com- mandant le registre DRAM. Le champ BA, constitué par les bits 74 à 79, est utilisé pour commander les fonctions de l'unité BALU 55, c'est-à-dire l'unité arithmétique et logique qui a ses entrées reliées au bus intérieur I et au bus d'écriture W et qui est utilisée pour commander le registre Y 24. Les six bits du champ BA sont utilisés comme suit-: un bit est introduit comme report dans l'unité BALU, un bit est destiné à la commande de l'unité arithmétique et logique, et les quatre autres bits assurent la sélection de fonctions particulières. Le champ suivant est le champ IB, constitué- par les bits 80 à 83, qui est utilisé pour contrâler- quelle est la source de données validée pour le bus intérieur 14. Ce champ peut valider les verrous de données, l'extension de signe pour le registre F, ou sélectionner une constante, ou'le registre BRAM dans différentes combinaisons par rapport au bus I 14. Le champ suivant est le champ SH, constitué par les bits 84 à 89, qui est utilisé pour commander à la fois les registres à décalage et les sources du bus d'écri- ture W qui ont été décrits plus haut. Les six bits de ce champ permettent au système d'avoir une grande quantité de commandes autonomes par lesquelles des BR 7245 US/ LC -29 registres sont validés pour le bus W et indiquant si le registre i est ou non chargé et dans quelle direction est décalé l'opérande qui traverse les registres à décalage. Le dernier champ est le champ DA, constitué par les bits 90 à 95, dont la fonction est de commander l'unité DALU 15 avec six bits ayant des fonctions ana- logues à celles des bits du champ BA, c'est-à-dire, un bit sert à introduire un report, un bit sert à sélectionner la partie logique ou la partie arithméti- que, et les quatre autres bits servent à sélectionner des fonctions particulières. La mémoire de contrôle de l'unité CPU (figure ) est constituée, dans l'exemple de réalisation pré- féré de l'invention, de deux blocs de mémoire de con- trôle: un bloc supérieur 80 et un bloc inférieur 81. Le bloc supérieur est adressé par le générateur d'adres- se suivante 44 et le bloc inférieur est adress-é direc- tement par une portion du contenu du mot de mémoire de contrôle qui est traité Dans le cas des types les plus communs de branchements, c'est le même champ NA du mot de mémoire de contrôle qui est utilisé comme source de base de l'adresse suivante, et une modification de celle-ci est faite de manière que les deux adresses destinées aux blocs supérieur et inférieur soient- essentiellement identiques. Dans le cas des autres branchements, c'est-àdire ceux qui sélectionnent une adresse suivante ou une adresse dérivée de la procédure conditionnelle de génération en mémoire PROM, le bloc inférieur reçoit le champ d'adresse suivante inchangé à partir du mot de mémoire de contrôle, tandis que le bloc supérieur reçoit l'adresse conditionnelle du mot de mémoire de contrôle. La mémoire de contrôle est ainsi divisée de telle sorte que le système puisse avoir un accès simultané à deux mots de mémoire de BR 7245 US/ L.C contrôle possibles pouvant donner une adresse suivante et qu'il puisse ajourner la décision disant lequel va être utilisé jusqu'à peu près l'extrême fin de la phase d'opération de mémoire de contrôle en cours, juste avant de transférer les données dans le registre de commande 82. Les détails du fonctionnement de la mémoire de contrôle seront décrits dans la suite. On va maintenant décrire la manière suivant laquelle l'unité CPU et la partie microprogrammée agissent l'une sur l'autre pour exécuter certaines opérations typiques du processeur central, telles que a) la lecture d'un mot en mémoire; b) le calcul d'une adresse suivante pour la lecture d'un autre mot en mémoire: c) l'écriture d'un mot en mémoire; et d) l'exécution d'opérations selon un certain type d'algotithme d'-itération, qui sont entièrement internes à l'unité CPU. On va-décrire des situations typiques et des opérations représentatives. Dans le cas d'une lecture de mot en mémoire, pendant une phase d'opération de mémoire de contrôle, le mot de mémoire de contrôle valide l'adresse virtuelle de mémoire du mot provenant du registre BRAM 12 sur le bus de RAM 13 par l'intermédiaire des champs RB, BS et BM. Le champ SH conditionne ensuite le bus extérieur et la source de bus W de-manière que le bus de RAM soit validé pour un transfert jusqu'au bus extérieur 17 par l'intermédiaire du sélecteur 20, et qu'il soit ensuite non modifié pour un transfert jusqu'au bus W 84 par l'intermédiaire du registre à décalage 19, Le bus W est relié à l'entrée de l'unité BALU 55, qui est conditionnée par le champ BA pour que son entrée reliée au bus W soit validée pour un transfert direct d'informations jusqu'à sa sortie. En même temps, le champ LB provoque le chargement du registre Y 24, c'est-à-dire en transférant l'adresse dans ce registre. BR 7245 US/!C Dans la phase suivante de microprogramme, le champ LB provoque ensuite l'émissiân d'une demande vers le bus local pour indiquer qu'une demande de mé- moire doit être faite et que l'adresse fournie au bus local doit être utilisée. pour faire cette-demande. Les lignes de commande 71 sont conditionnées par les champs F et FK (représentés par une flèche 72 sur la figure 2(A)) pour indiquer que la demande de lecture de mémoire est demandée. L-e multiplexeur d'adresse 25 est conditionné pour valider le contenu du registre Y sur le bus local par l'intermédiaire des 24 lignes d'adresse. L'unité 103 d'antémémoire/MMU qui contrôle et commande toutes les activités sur le bus local, accuse réception de la demande, tandisque l'unité CPU exécute la phase suivante de microprogramme. Dans la phase suivante de microprogramme,-le champ de bus local spécifie ensuite un blocage, qui indique que l'unité CPU ne doit pas laisser cette phase de microprogramme jusqu'à ce que la fin du cycle de bus local ait été -20 détectée, les données provenant de l'unité d'antémé- moire/MMU étant renvoyées au tampon de données de CPU par l'intermédiaire du bus local. Dès que ce renvoi est détecté, le blocage prend alors fin, et l'unité CPU entre dans la quatrième phase de ce cycle de lecture. La quatrième phase est celle dans laquelle la partie microprogrammée spécifie un champ LB qui utilise les données qui se trouvent dans le tampon de données, et qui les dirige sur le bus intérieur 14 pour qu'elles soient utilisées par l'unité CPU. Le champ LB valide ensuite le circuit de commande de DA 34 ou le circuit de commande de DW 35, selon qu'un mot de 16 bits ou qu'une adresse de 24 bits.est demandée sur le bus de source. A son tour, le champ de bus in- térieur spécifie que le bus de source (soit tous les 24 bits, soit les 16 bits de signe étendu à 24 de ce bus) BR 7245 US/ LC 2480-460 soit validé pour le bus intérieur. Dans le bus intérieur, en supposant qu'un mot de 16 bits a été envoyé par le tampon de données, le champ DA. est utilisé pour valider l'unité DALU pour la lecture du bus intérieur et les champs DW, D et DM sont ensuite commandés-pour adresser et effectuer un chargement d'un des 32 re- gistres du registre DRAM. Cela termine la quatrième phase de cette séquence de commande, la première ayant. permis le chargement du registre Y, la seconde ayant permis d'émettre la demande de lecture, la troisième ayant consisté à attendre le retourvdesdonnées, et la quatrième permettant de prendre les données et de les transférer dans un des registres de l'unité CPU. Une deuxième séquence typique d'opérations qui peut être exécutée par le système est le traitement d'opérandes dans une opération arithmétique, telle que d'additionner un opérande qui a été extrait de la mé- moire et un opérande provenant des.registres de données. et, après addition, de le renvoyer au registre de don- nées et de le placer également dans le tampon de don- nées d'écriture de sorte qu'il puisse être ultérieure- ment écrit à nouveau en mémoire. Cette séquence d'opé- rations doit commencer à la suite du blocage considéré dans l'opération précédente. Cette séquence-est celle dans laquelle les données sont validées, c'est-à-dire * un mot dans le cas d'un opérande de mot, pour leur. transfert du tampon de données 31 au bus de source par l'intermédiaire du bus L-32 et des multiplexeurs de données 35. Ensuite, le champ de bus I 14 spécifie que le bus de source de signe étendu soit validé pour un transfert sur le bus intérieur par l'intermédiaire du dispositif d'extension de signe 52 et des verrous de données 51. En même temps, le champ de commande de bus R spécifie que le registre de données particulier à considérer soit validé pour un transfert du registre BR 7245 US/ IC DRAM 11 au;bus R 13. Le champ DA, c'est-à-dire le champ de commande d'unité DALU, spécifie alors que l'unité DALU soit conditionnée pour additionner les 24 bits sur le bus R 13 et les 24 bits sur le I 14. L'unité DALU 15 doit avoir à sa sortie 24 bits repré- sentant la somme. Le bit DW indique que la somme à la sortie de l'unité DALU doit être écrite à nouveau dans le registre DRAM 11. En même temps, les informations à la sortie de l'unité DALU validée doivent être transférées au bus W au moyen du champ SH. Ce champ indique que le sélecteur 20 doit être validé pour un transfert d'in- formations sur le bus extérieur et qu'il doit être conditionné pour sélectionner la sortie de l'unité DALU au lieu de la sortie du bus R pour effectuer cette opération. En même temps aussi, le registre à décalage 191 doit être conditionné pour que le contenu traverse le bus extérieur sans-modification jusqu'au bus d'é- criture 84. Le même champ LB qui a spécifié-les multi- plexeurs DW 35 pour un transfert jusqu'au bus de source 33, doit avoir spécifié aussi que le bus d'écri- ture soit validé pour un transfert à la moitié gauche du registre W 28. par l'intermédiaire du sélecteur 29. Toutes ces opérations sont exécutées pendant une seule phase de microprogramme. Puisqu'il s'agit d'une opéra- tion d'addition, il est probable-qu'un test de dépas- sement de capacité soit effectué sur l'addition, ce test étant spécifié par le circuit logique de test 30. Le circuit logique d'adresse suivante doit engendrer une adresse qui indique une entrée particulière- à laquelle il faut aller si l'opérande doit être immédia- tement écrit à nouveau en mémoire. L'autre adresse, qui doit être celle du bloc inférieur, doit être engen- drée pour l'exécution de la phase suivante par laquelle l'indicateur de dépassement de capacité est ensuite BR 7245 US/ LC -, 2480460 mis à un dans le registre X 57. S'il n'y a pas de dépassement-de capacité, le registre I 57 doit être remis à zéro utaomatiquement. La troisième opération consiste à écrire un opérande en mémoire. Cette opération demande trois phases de microprogramme. La première est celle dans laquelle l'adresse o l'opérande doit être écrit est chargée dans le registre Y 24. La deuxième est celle par laquelle l'opérande à écrire est chargé dans le registre W. 28. La troisième est celle o le champ LB spécifie qu'une demande de bus local, spécifiant une écriture de mémoire, doit être adressée au bus local pour que l'unité 103 d'antémémoire/MMU la reçoive et l'exécute. La première phase qui permet de charger le registre Y 24, obtient probablement l!adresse d'un des * 16 emplacements de la mémoire à accès sélectif BRAM. Cela-est réalisé en conditionnant le champ de bus I de manière que le bus t reçoive les informations de sortie de registre ou mémoire BRAM. Le champ de sélection de B indique lequel des 16 registres de BRAM a' éte adressé à cet effet. L'unité BALU 55, qui est commandée par le champ BA, doit être conditionnée pour laisser passer le contenu (24 bits) du bus inférieur à sa sortie. Le champ LB estcelui qui spécifie le chargement du regis- tre Y. Puisque l'entrée du registre Y est reliée à la sortie de l'unité BALU, il permet le transfert du con- tenu du registre sélectionné dans le registre BRAM jusqu'au registre Y. La phase suivante de mémoire de contrâle permet de prendre l'opérande à sa source, quelle que soit celle-ci, qui est dans le cas présent un des 32 emplacements de DRAM. Le champ DS sélectionne le registre des 32 registres de DRAM qui doit être validé. Le champ RB valide le registre DRAM pour un transfert sur le bus R. Le champ SH sélectionne le bus BR 7245 US/ 'j; et de RAM pour un transfert sur le bus extérieur 17 par l'intermédiaire du sélecteur 20, et le bus extérieur pour un transfert sur le bus d'écriture 84 par l'inter- médiaire du registre à décalage 19 sans qu'il y ait de décalage dans celui-ci. Le champ LB spécifie le chargement de la moitié gauche du registre W. Cela est réelisé en conditionnant le sélecteur de W 29 pour valider le transfert des deux-tiers à droite du bus d'écriture dans la moitié gauche du registre W, et en validant le registre W pour que sa moitié gauche soit chargée. Enfin, la troisième phase de microprogramme est exécutée. Dans cette phase, la seule opération essentielle est que le champ de bus local, c'est-à- dire le champ LB, spécifie une écriture du contenu de bus local en mémoire. Pour cela, les bits F et FK sont utilisés pour alimenter les lignes de commandes reliées au bus local et pour indiquer à l'unité d'an- témémoire/MMU qu'il s'agit d'une opération d'écriture de mémoire. L'adresse contenue dans. le registre Y 24 est alors validée pour un transfert jusqu'au bus local par l'intermédiaire du sélecteur d'adresse virtuelle 25. Les données contenues dans le registre W 28 sont transférées dans le bus local. L'unité d'antémémoire/ MMU qui surveille tous les transferts par le bus local reconnaît celui-ci comme appartenant à un cycle d'écri- ture de mémoire, et prend l'adresse, établit une cor- respondance pour celle-ci, et l'envoie en'mémoire avec les données, et indique à la mémoire par le système qu'il s'agit d'une opération d'écriture de mémoire. La quatrième séquence d'une opération typique que l'unité CPU peut exécuter est celle dans laquelle un opérande en double précision est décalé d'un certain nombre de bits vers la gauche ou vers la droite. Il est probable que les opérandes soient tous les deux BR.7245 US/ I.C dans le registre BRAM, c'est-à-dire si les deux opé- randes à considérer sont dans le registre BRAM, la première phase de microprogramme doit déclencher le transfert à la droite de ces deux opérandes dans le registre Q. Cela est réalisé de la-façon suivante. Le champ BS doit être conditionné pour adresser un des 16 emplacements qui contient l'opérande dans le regis- tre BRAM 12. Le champ de bus R, commandant le bus de RAM 13; doit être conditionné pour prendre les infor- mations à la sortie du registre BRAM au lieu des in- formations à la sortie du registre DRAM. Le champ SH doit être conditionné pour transférer le contenu du bus R jusqu'au bus extérieur par l'intermédiaire du sélecteur 20, en validant ce transfert jusqu'au bus extérieur et en sélectionnant son entrée reliée au bus R, et il doit aussi spécifier que le registre Q et le bus W reçoivent tous les deux le contenu du bus extérieur et valider le registre Q pour son chargement. L'opérande adressé dans le registre BRAM peut ainsi être transféré dans le'registre Q. La phase ou les phases suivantes sont celles dans lesquelles les décalages sont effectivement exécutés. Dans une telle phase, l'autre des deux re- gistres contenant le second opérande dans le registre BRAM est adressé par le champ de sélection de B et le registre BRAM est validé pour untransfert sur le bus de RAM 13 au moyen du champ RB. Le bus de RAM. est ensuite validé pour un transfert Jusqu'au bus extérieur-par l'intermédiaire du sélecteur 20. Le champ S-i prend n'importe quelle valeur d'un certain nombre de valeurs selon la direction et la quantité de bits dont le décalage doit être exécuté. Le champ SH permet de sélectionner un décalage à gauche ou à droite d'un, de deux ou de quatre bits. Dans n'importe lequel de 'ces cas, le registre Q est considéré pour le connecter BR 7245 US/ LC coMne Une estensiQn du bus extérieur, pour engendrer un opérande de 32 bits. Dans le-cas présenta il s'agit d'un opérande de 40 bits mais les huits bits à gauche sur le bus extérieur sont ignorés. Cet opérande de 32 bits est décalé à gauche ou à droite comme l'indique le champ SH. Les 16 bits à droite sont envoyés au registre Q et les 16 bits à gauche et les B bits ignorés sont transférés sur le bus W. Cette opération est com- mandée par le champ SH qui a un contrôle exclusif sur la distance de décalage. L'opérande ayant été décalé à partir du bus extérieur jusqu'au bus W et à partir du registre Q pour y revenir, le champ SH permet le rechargement de l'opérande décalé dans le registre Q. tandis qu'en même temps le champ BW permet de charger le contenu du bus W dans l'emplacement de registre BRAM adressé. Ainsi, les contenus des registres B et Q ont été décalés et renvoyés dans les registres B et Q. Les effets d'ex- trémité partic.uliers associés à ce décalage. s'il s'agit d'un décalage ouvert, circulaire ou arithmétique, sont une fonction des bascules de commande de l'unité CPU. Ce type d'opération, dans laquelle un décalage est exécuté, est répétée un certain nombre de fois dans diverses combinaisons, c'est-à-dire que, si l'on sou- haite effectuer un décalage à g-auche de cinq bits, on doit faire suivre un décalage d'un bit à gauche d'un décalage de quatre bits à gauche. Pour effectuer un décalage à droite de trois bits, il faut faire un décalage à droite de deux bits suivi d'un décalage à droite d'un bit par exemple. Ensuite, une fois que le décalage final a été exécuté, c'est-à-dire après que les opérandes sont correctement alig'nés dans l'emplacement de registre BRAM adressé et dans le registre Q, l'opération finale ne provoque pas de décalage, mais elle permet de BR 7245 US/ CL renvoyer le contenu du registre Q dans l'emplacement de registre BRAM à partir duquel il -avait été chargé ini- tialement, Cette opération est exécutée de la façon suivante. Le champ de bus I spécifie que le bus I est commandé par le registre Q (les 16 bits du registre Q étendus de huit bits à zéro). L'unité DALU 15 est com- mandée par le champ DA de sorte que les informations en sortie de l'unité DALU traversent le bus I sans être modifiées. Le champ SH est sélectionné pour qu'il puisse valider l'unité DALU pour un transfert sans modifica- tion de ses informations de sortie jusqu'au b.us exté- rieur 17 par l'intermédiaire du sélecteur 20, et encore sans modification jusqu'au bus W 84 par l'intermédiaire du registre à décalage 19. Le bit BW 50 du mot de micro- programme est alors mis à un pour conditionner le char- gement du registre BRAM à partir du bus W, et les bits BS (de sélection de B) sont conditionnés pour spécifier l'emplacement des 16 emplacements de registre BRAM qui doit recevoir l'opérande décalé. Cela est réalisé dans un certain nombre de phases de microprogramme, par exemple, trois ou plus. Une phase est utilisée pour charger le registre Q afin d'engendrer un opérande de bits, une phase ou davantage pour exécuter le décalage voulu de cet opérande, et ensuite une autre phase pour renvoyer l'e contenu du registre Q (les 16 bits à droite) dans le registre BRAM et terminer l'opération. La figure 5 représente l'organisation des blocs supérieur et inférieur 80 et 81 de mémoire de contrôle PROM et, en particulier, la manière suivant laquelle ils sont reliés ou couplés pour obtenir une vitesse de traitement maximale. Chacun des blocs de mémoire de contrôle comprend une ou plusieurs mémoires mortes programmables PROM incluant chacune un ensemble de pastilles électroniques. A titre d'exemple, -la BR 7245 US/ LC 39. capacité de mémoire de chaque bloc peut être de I 024 (11) emplacements adressables contenant chacun 96 bits, c'est à dire, vingtquatre pastilles de 1K chacune, chaque emplacement contenant quatre bits. Pour accroi- tre la vitesse de fonctionnement, chaque bloc comporte au moins deux mémoires PROM dont l'une d'elles est plus rapide (temps de propagation d'adresse inférieur) que l'autre dans ce bloc de manière à compenser le temps de propagation dans d'autres éléments inclus dans la mémoire de contrôle. Deux blocs sont utilisés principalement pour une adaptation efficace à des décisions de branchement déduites du mot de micropro- gramme présent et du générateur d'adresse suivante 44. Un bloc est organisé pour être.adressé directement par le mot de microprogramme tandis que l'autre bloc (par exemple, le bloc supérieur) est organisé pour être adressé par le mot de microprogramme et/ou unefonction dérivée du mot de microprogramme et différents éléments logiques inclus dans l'unité CPU 100. En conséquence, le bloc supérieur nécessite une entrée multiplexée et, comme on le verra dans la suite, une des deux mémoires PROM du bloc supérieur est définie avec un temps de propagation d'adresse plus rapide que celui des autres mémoires PROM des deux blocs. Cela est obtenu dans la pratique en utilisant deux mémoires PROM dont l'une d'elles a une vitesse de fonctionnement accrue, c'est-à-dire, un temps de propagation d'adresse infé- rieur. L'intérêt de coupler les mémoires PROM de mémoire de contrôle est de réduire le temps nécessaire pour engendrer l'adresse suivante de mémoire de contrô- le, pour sélectionner les donnéés. appropriées à cette adresse, et pour les valider à l'entrée du registre de données de mémoire de contrôle principal MLR 82 de la figure 2(B) qui est le registre de sortie de la BR 7245 US/ LC 24804.60, rnémqire de cQntrôle, Dans le passée on utilisait un seul groupe de mémoires PROM de mémoire de contrôle et on sélectionnait une seule adresse pour les adresser. - Dans ces conditions, le temps nécessaire pour propager des données à travers les circuits logiques de la mémoire de contrôle correspond au temps de séll.ection d'adresse, c'est-à-dire l'intervalle de temps entre le changement d'entrée d'adresse de mémoire PROM et o la sortie est stable. Pour des mémoires PROM typiques de mémoire de contrôle, cet intervalle de temps est beaucoup plus long que le temps qu'on appelle "de' va- lidation". On peut prévoir des mémoires PROM de mémoire de contrôle ayant une entrée de validation qui peut être typiquement mise en circuit et hors-circuit beaucoup plus vite (le "temps de validation") que l.es sorties adressées. L'approche de base qui est donc faite dans la présente invention est de séparer les mémoires PROM de mémoire de contrôle en deux groupes ou blocs de manière que les adresses respectives pour chaque groupe, par exemple une adresse parmi. deux adresses de branche- ment, puissent être transférées simultanément.par les pastilles de mémoire de contrôle, et de manière que la- décision disant quelle adresse-utiliser puisse' étre ajournée jusqu'au dernier moment o la décision est ap- pliquée en validant la sortie de l'un ou de l'autre des deux groupes ou blocs. Dans -l'unité CPU décrite, ainsi qu'avec d'autres ordinateurs, toutes les opérations dites de branchement comportent une sélection d'une adresse parmi deux adres- ses dont l'une est explicitement fournie par le mot de microprogramme dans la phase'ou pas de microprogramme en cours d'exécution, et dont l'autre est plus ou moins indirectement engendrée à partir des données disponibles dans le pas en cours. Dans l'unité CPU selon ln présente invention, cette paire' d'adresses est contrainte de BR 7245 US/ LC telle manière que tous les branchements consistent à sélectionner une adresse parmi deux dont l'une est pour le bloc inférieur et l'autre est pour le bloc su- périeur. Le bloc inférieur peut utiliser des adresses dans l'intervalle de 000 à 3FF en hexadécimal, et le bloc supérieur de mémoire de-contrôle peut utiliser des adresses de 400 à 7FF en hexadécimal. La structure utilisée pour mettre en oeuvre cette méthode de division de mémoire de contrôle est représentée dans le schéma de la figure 5. Comme le montre la figure, la mémoire de contrôle est divisée en cing groupes d'éléments ou mémoires PROM de mémoire de contrôle 251 à 255. Les éléments 251 et 252 qui, comme il est indiqué à l'intérieur des parenthèses de la figure, comprennent un total de 24 pastilles de mémoire de contrôle (19 dans l'élément 251 et 5 dans l'élément 252?Jsont les éléments qui contiennent les données pour le bloc inférieur de mémoire de contrôle. Les éléments 253, 254 et 255 (qui comprennent un total de 29 pastilles) sont les éléments qui contiennent les données pour le bloc supérieur. Trois types de cir- cuits intégrés sont utilisés pour réaliser ces éléments. L'élément 251 est constitué de 19 pastilles de mémoire de contrôle de 1K (1 024) par 4 bits ayant un temps de propagation d'adresse typique de 60 nanosecondes. L'élément 252 et l'élément 253 sont constitués de pas- tilles de mémoire de contrôle spécifiquement sélection- nées de 1K par 4 bits ayant un temps de propagation d'adresse typique de 50 nanosecondes. Les éléments 254 et 255 sont constitués de pastilles de mémoire de con- trôle sélectionnées de 512 par 4 bits ayant un temps de propagation d'adresse typique de 40 nanosecondes. Il y a deux raisons pour lesquelles on utilise des pastilles ou circuits de différents temps de pro- pagation d'adresse dans ce circuit logique. Les parties BR 7245 US/ IC sélectionnées dans les éléments 253, 254 et 255 sont sélectionnées pour être plus rapides que leurs cor- respondantes dans les éléments 251 et 252 de manière à compenser le temps de propagation dans le multiplexeur d'adresse 256 de bloc supérieur. De plus, les éléments 252, 254 et 255 sont sélectionnés pour être plus rapides que les éléments 251 et 253, respectivement, en raison du délai de propagation nécessaire dans le circuit logi- que préparatoire 259 qui est en série avec leur sortie par rapport au registre MLR 82. Le multiplexeur d'adresse 256 de bloc supé- rieur, qui est-contenu dans le générateur d'adresse suivante 44, est utilisé pour fournir une des deux adresses qui sont sélectionnées dans un branchement de microprogramme. L'adresse de bloc inférieur (l'adresse utilisée par les mémoires PROM de bloc inférieur de mémoire de contrôle) est plus ou moins directement dé- duite de l'adresse suivante qui est contenue dans le mot de microprogramme (le champ NA) et elle est l'adres- se qui est explicitement sélectionnée dans ce mot de mémoire de contrôle. L'autre adresse qui est utilisée pour un branchement, c'est-à-direcelle qui est utilisée dans le bloc supérieur, est une certaine dérivation logique du champ NA:ou une adresse engendrée logiquement à partir des mémoires PROM ou d'un autre circuit logique de l'unité CPU (ainsi que les trois entrées du multi- plexeur 256 l'indiquent) qui sont sélectionnés confor- mément au type de branchement. Cet autre circuit logique, c'est-à-dire les mémoires PROM ou autre circuit logique d'adressage logique et le multiplexeur d'adresses de bloc supérieur qui le sélectionne, demande un temps de propagation supplémentaire qui n'est pas nécessaire pour le chemin d'adresse dans le bloc inférieur. La différence entre ces deux chemins d'adresse est com- pensée par la différence de vitesses des pastilles BR 7245 US/ LC de mémoire de contrôle en série avec ceux-ci. En uti- lisant un bloc (c'est-à-dire le bloc inférieur) qui comporte un chemin d'adresse direct, seules certaines mémoires PROM doivent avoir unevitesse accrue alors que si un multiplexeur tel que le multiplexeur 256 était utilisé pour les deux blocs., toutes.ies mémoires PROM devraient avoir une vitesse-accrue pour donner le même temps de propagation. - Comme on l'a remarqué, le délai de propaga- tion pour atteindre et traverser le multiplexeur d'adresse 256 de bloc supérieur qui engendre des bits d'adresse reçus par les mémoires PROM les plus rapides du bloc supérieur, est uniformément plus rapide que celui pour traverser les éléments correspondants du bloc - inférieur. Ainsi, les données à la sortie de chaque mémoire PROM sont stables à peu près en même temps. Le circuit logique préparatoire 259 qui est connecté à la sortie des mémoires PROM les plus rapides de chaque bloc, c'est-à-dire aux éléments 252, 254 et 255 est utilisé pour exécuter un certain décodage logique préparatoire du mot de mémoire de contrôle suivant avant de le verrouiller dans le registre MLR 82. C'est ainsi que ce circuit- 259 peut comprendre le circuit logique de sélection/modification 53 qui est utilisé pour engendrer les signaux d'entrée d'adresse du registre DRAM 11 et dû registre BRAM 12, c-es signaux d'entrée d'adresse devant être disponibles au début du cycle de mémoire de contrôle. En particulier, les signaux d'entrée d'adresse ne doivent pas être engen- drés après que l'horloge principale a validé le trans- fert des données dans le registre MLR, mais ils doi- vent être engendrés à l'entrée du registre MLR afin d'être disponibles dès que la transition d'horloge s'est produite. Les deux adresses qui sont utilisées pour OR 7245 US/ t C :44 sélectionner un mot de mémoire de contrôle dans le bloc inférieur et dans le bloc supérieur sont engendrées de la manière suivante.L'adresse NA du bloc inférieur provient directement du mot de mémoire -.de cont'rle pour le pas ou phase de microprogramme en cours. Ainsi, cette adresse est disponible dès que le mot de mémoire de contrôle a été transféré dans le registre MLR 82. L'adresse NA est envoyée à l'entrée des deux éléments 251 et 252. L'adresse de bloc supérieur, à la sortie.. du multiplexeur 256, c'est-à-dire, les signaux d'entrée d'adresse des éléments 253, 254 et 255, est une déri- vation logique d'un certain nombre de fonctions logiques comprises dans l'unité CPU. Le multiplexeur d'adresse peut engendrer,-dans l'exemple de réalisation préféré de la présente invention, huit adresses fonctionnelles différentes qui peuvent être utilisées par le bloc supérieur. Celle.s-ci sont le résultat des huit types de branchement possibles qui peuvent être spécifiés dans le mot de mémoire de contrôle. Ces types de branchement sont connus comme branchements XOet Xi, XA, XB> XR, XE, XW et XL repré- sentés dans le tableau de la figure 6. Les types de branchements XO et X1, qui sont les types de branche- ment-- les plus communs, sont fondamentalement une fonction logique directe du champ NA. Ces types de branchement utilisent le champ NA, avec le bit de poids faible NA10 ou NA(A] inchangé, NACA), ou son complément, NA(A). Les six autres types de branchement sont utilisés pour des opérations spécifiques. Le branchement XA est utilisé pour sélectionner l'adresse de début approprié pour lancer le décodage d'un code opération d'une nouvelle instruction. Le branchement XB est utilisé pour exécuter lIf décodage initial de certaines des syllabes d'adresse qui sont possibles dans l'unité CPU. Le branchement XR est utilisé pour BR 7245 US/LC sélectionner l'adresse de début pour l'exécution de la routine afin de lire l'opérande dans la plupart des cas, ou pour l'exécution de certaines instructions qui peuvent être exécutées immédiatement. Le branchement XE est utilisé pour sélectionner une;adresse parmi les adresses de début des routines de microprogramme qui sont utilisées pour exécuter les algorithmes d'instructions individuels. Le branchement XW est utilisé pourpoursuivre la sélection d'une routine d'un certain nombre de routines qui sont utilisées pour mémoriser l'opérande. Le branchement XL est utilisé pour permettre une procédure conditionnelle de microprogramme simplifiée sous la commande de la partie microprogrammée. Ce branchement utilise le con- tenu du.registre de liaison, qui peut être chargé sous commande microprogrammée pour contrôler quatre bits de l'adresse de bloc supérieur. L'ensemble des branchements principaux XA, XB, XR, XE, WX et XL utilisent les deux bits de poids fort (NAI, 2) du champ NA comme leurs bits de poids fort, mais ils engendrent les huit. autres bits pour leur adresse particulière d'une manière différente. La procédure ou branchement XA utilise la sortie de cinq mémoires PROM(5) de XA pour engendrer les bits 3 à 10 de l'adresse suivante de XA. Le branchement XB utilise trois signaux de constante, deux uns en binaire (11) et un zéro (0), et un bit qui est le bit de sortie d'un des emplace- ments de bit du registre F 38, et quatre bits de sortie d'une mémoire PROM qui est commandée par le registre F pour engendrer les bits 7 à 10 de son champ NA. Le branchement XR force trois bits à zéro (000) engendre le bit suivant avec le contenu d'une bascule de commmande (KOP) dont l'état correspond aux types d'instruction, et engendre les quatre derniers bits, BR 7245 US/ LC c'est-à-dire le5 bits 7 à 10, à partir d'une mémoire PROM de XR. Le troisième bit du branchement XE est le signal de type d'instruction mentionné plis haut. Le bit suivant indique si le bit 0 du registre F est à zéro ou non, le bit suivant indique si les bits 1 à 3 du registre 38 sont tous à zéro ou non, et si les bits 4 à 8 du registre F sont utilisés comme bits 6 à 10 du champ NA. Le branchement XW donne une combinaison de signaux: un zéro de constante et trois bits de sortie d'une mémoire PROM qui décode et classifie le type de longueur d'opérande pour les bits 4 à 6. Le bit 7 est à un, le bit 8 est un bit de sortie de la mémoire PROM qui classifie des opérandes comme étant des adresses ou non, et enfin deux bits qui sont les bits de sortie d'une mémoire PROM de XW, pour les bits 9 à 10 du champ NA qui identifie si le.résultat est d'aller à la mémoire, à un registre de base ou de données ou à un registre K (non représenté). Les lignes d'adresse pour le branchement XL ûtilisent les bits I à 6 du champ NA pour les six premiers bits, et utilisent ensuite quatre bits de registre de liaison pour engendrer les quatre derniers bits (bits 7 à 10). Ces différents signaux ou bits d'entrés sont sélectionnés par le groupe de multiplexeurs de huit-à- un qui constituent le multiplexeur d'adresse 256 du bloc supérieur. L'adresse particulière qui est sélectionnée par ce multiplexeur est sélectionnée en utilisant le mot de mémoire de contrôle en cours de traitement. Dans ce mot de mémoire de contrôle, un branchement est exécuté en sélectionnant une condition de test et en la contrôlant pour déterminer si elle est satisfaisante ou non. Le circuit logique de test 30 engendre à sa BR 7245 US/ I-C- sortie deux signaux TCTRUE- ou NDN VRAI et TCTRUE+ ou VRAI. Le signal TúTRUE- est le signal sur la ligne 261 dans le schéma de la figure 5 et le signal TCTRUE+ est le signal sur 'la ligne 262. Ces deux signaux sont envoyés aux entrées de validation des mémoires PROM. correspondantes de mémoire de contrBle. Au début d'une phase de microprogramme donnée, le champ NA devient stable et cette adresse commence immédiatement à se propager dans les éléments 251 et 252 de la mémoire de contrôle. Tout de suite après, suivant la vitesse de fonctionnement deE éléments logiques, la sortie du multiplexeur d'adresse 256 du bloc supérieur devient stable, et l'adresse NA commence à se propager dans les éléments 253, -254 et 255. On notera 'qu'un des bits d'adresse à la' sortie du multi- plexeur 256 sélectionne un des éléments 254 et 2'5. Ce- la est dû.au fait que les éléments 254 et 255 sont réalisés avec des mémoires PROM plus rapides ayant une plus petite capacité-de mémoire de mots. En conséquence, ce qui représente une ligne d"'adresse pour une mémoire PROM de 1K mots (4 bits/mot), devient une ligne de validation sélective pour deux mémoires PROM de 512 mots, une entrée de validation de l'élément 255 de mémoire PROM étant couplée par-,un inverseur 264. En particulier, dans les éléments 254 et 255, qui sont les mémoires PROM sélectionnées -de mémoire de contrôle de 512 par 4 bits, les bits d'adresse sont subdivisés de façon légèrement différente. La raison en est qu'une mémoire PROM de 512 mots ne nécessite que neuf bits d'adresse. 'Le 'dixième bit d'adresse, qui est un bit d'adresse pour toutes les autres mémoires PROM de. mémoire de contrôle, est par contre utilisé comme second bit de validation des mémoires PROM de mémoire de contrôle de 512 par 4 bits. C'est ainsi que 1'1élé- ment 254 est validé pour des adresses de 400 à 5FF BR 7245 US/ LC - en hexadécimal, et puisque l'inverse de cette même ligne d'adresse est reliée à l'élément 255, celui-ci est validé pour des adresses de 6800 à 7FF en hexadé- cimal. 5. Ainsi, dès que les adresses sont disponibles, elles sont propagées dans les mémoires PROM de mémoire de contrôle. Pendant ce temps, en parallèle, le circuit logique de test 30 (de condition de test), représenté en détail sur la figure 7, décide si la.condition de test est satisfaite ou non, les signaux de sortie. TCTRUE- et TCTRUE+ devenant stables ensuite. Si la condition de test dans la polarité indiquée est satis- faite, l'état bas du signal TCTRUE+ valide alors les mémoires PROM 253, 254 et 255r-tandis que le signal TCTRUE- à l'état haut invalide les mémoires PROM 251 et 252. Ainsi, les sorties des connexions câblées selon la fonction logique OU telles qu'elles sont représentées par les références 257 et 258 (de 76 et 20 lignes cou- plées respectivement) représentent le contenu de l'em- placement adressé dans. le bloc supérieur de.la mémoire de contrôle. Cependant, si la condition de test n'est pas satisfaite, le signal TCTRUE- (NON VRAI) a l'autre. polarité ou état logique qui valide les éléments 251 et 252 de mémoire de contrôle, tandis que le signal TCTRUE+ invalide les éléments 253, 254 et 255. Dans ce cas, les sorties des connexions câblées selon la fonc- tion OU 257 et 258 représentent le contenu de l'empla- cement adressé dans le bloc inférieur de mémoire de contréle. Le temps de validation pour les mémoires PROM de mémoire de contrôle est typiquement de 15.à 20 nano- secondes. Celui-ci est bien inférieur au temps de propagation d'adresse pour une mémoire PROM qui peut être par exemple, comme on l'a noté sur la figure 5, de 60 nanosecondes pour la mémoire PROM 251. Le BR 7245 US,' I.C "retard" à partir du moment o les résultats de condi- tion de test sont connus a été ainsi amélioré de manière que le temps de propagation de validation des mémoires PROM soit contrôlé plutôt que le temps de propagation d'adresse dans les mémoires PROM. La raison de ces considérations particulières faites sur la synchroni- sation dans cette chaîne de circuits logiques, c'est- à-dire le-temps de propagation pour la génération et sélection d'adresse de bloc supérieur, le temps de synchronisation dans les mémoires PROM-de mémoire de contrôle, et le temps de synchronisation dans le circuit logique préparatoire, ett que le temps le plus défavo- rable au bout duquel les données à l'entrée du registre MLR 82 doivent être stables, est le temps o l'horloge principale est déclenchée. Une des fonctions principales est le contrôle du temps de cycle, et donc de la vitesse de fonctionnement de l'unité CPU. Si chacune des mémoires PROM de mémoire de contrôle a un temps de propagation de 60 nanosecondes, dans le cas le plus défavorable, si une sélection d'adresse de bloc supérieur était en cours, il faudrait nanosecondes au total à partir d'un point de début de préparation pour que l'entrée du registre MLR 82 devienne stable. Pour accroître la vitesse, il est donc préférable d'utiliser des mémoires PROM ayant trois temps de propagation différents. La mémoire PROM 252 compense la vitesse réduite ou ralentie provoquée par le circuit logique préparatoire ou de sélection/ modification 259. La mémoire PROM 253 compense le retard accru dans l'adressage dû au multiplexeur d'adresse 256 du bloc supérieur, Les mémoires PROM 254 et 255 compensent le retard dû au multiplexeur 256 et au circuit logique 259. Ainsi, le temps le plus défa- vorable dans ce réseau est presque le même quel que soit le bloc utilisé, supérieur ou inférieur, et quelles BR 7245 US/!l), que soient les informations de sortie engendrées, celles qui vont directement jusqu'au registre MLR 82 ou celles qui vobt d'abord jusqu'au circuit logique 259 avant d'aller jusqu'au registre MLR. Si les éléments 253, 254 et 255 n'étaient pas plus rapides que les éléments 251 et 252, la période d'horloge devrait être plus longue pour n'importe quelle phase de microprogramme dans laquelle le bloc supérieur serait. le bloc sélec- tionn.0 Le temps de cycle pour cette phase de mémoire de contrôle doit donc être plus long car il faudrait tenir compte du temps supplémentaire pour que les mémoires d'adresse suivante PROM et le multiplexeur d'adresse de bloc supérieur engendrent une adresse stable pour l'adressage des mémoires PROM de mémoire de contrôle. Le principe de base impliqué dans le circuit logique représenté sur la figure 5 est résumé comme suit. Puisque le chemin d'adresse dans les mémoires PROM de mémoire de contrôle est si lent par rapport au chemin de validation, le chemin d'adresse est toujours ouvert à gauche, c'est-àdire l'adresse suivante passe par le bloc inférieur de mémoire de contrôle et l'adresse de sortie du multiplexeur d'adresse 256 passe par le bloc supérieur de la mémoire de contrôle, tandis que la décision est prise pour déterminer quel bloc va finalement être utilisé. La synchronisation de cette décision ne devient critique que lorsque le moment est venu de valider les sorties de ces mémoires PROM de mémoire de contrôle, auquel cas la condition de test. engendrée, vraie ou fausse, valide les mémoires PROM de bloc inférieur ou de bloc supérieur, selon le chemin que doit suivre le branchement. Le chemin de valida- tion est beaucoup plus court q.ue le chemin d'adresse si l'on compare les 15 nanosecondes de temps de validation aux 60 nanosecondes de temps de propagation BR 7245 US/ LC 2.80460 d'adresse, ce qui permet d'ajourner la décision de sélection de -bloc pendant 45 nanosecondes dans une phase typique de mémoire de contrôle, ce qui permet d'avoir chaque phase de mémoire de contrôle beaucoup plus rapide. -. On va se- référer maintenant à la figure 7 o le circuit logique de test 30 pour engendrer les signaux TCTRUE+ et TCTRUE- est représenté en détail. Le signal TCTRUE+ est engendré à la sortie de négation d'un multiplexeur 302 sur la ligne 262, et le signal TCTRUE- est engendré à la sortie de négation- d'un multi- plexeur 304 sur la ligne 261. Les lignes 261 et 262. sont reliées aux mémoires PROM comme l'indique la figu- re 5. Les multiplexeurs 302 et 304 ont chacun huit. entrées (0-7), chaque entrée ayant le même numéro étant reliée pour recevoir le même signal d'entrée. Ces * entrées sont reliées aux huit sorties d'un mutliple- xeur 300 qui comprend présentement huit multiplexeurs MUX 1-MUX 8 ayant chacun huit entrées et une sortie. Les soixante quatre entrées du multiplexeur 300 sont chacune reliées pour recevoir une condition de.test de différents circuits fonctionnels inclus dans l'unité centrale de traitement 100 comme ilest indiqué par le circuit.logique de test 30 de la figure 7. Selon la condition définie par le circuit fonctionnel testé, le bloc-supérieur ou le blod inférieur de mémoire de contrôle est validé, et par conséquent, adressé. Les - entrées des multiplexeurs qui sont sélectionnées et/ou validées sont déterminées par les bits de commande reçus du mot de mémoire de contrôle en cours de trai- tement, c'est-à-dire le mot de microprogramme provenant de la mémoire de contrôle. Il est ainsi souhaitable d'effectuer un branchement sur une variété de différents signaux qui peuvent, par exemple, être au nombre de soixante quatre, BR 7245 US/ LC de telle sorte qu'un seul signal représente l'entrée sélectionnée parmi les soixante quatre entrées, Le circuit logique de test de la figure 7 offre cette possibilité avec un temps de propagation minimal en utilisant deux niveaux de multiplexeurs, un niveau comprenant le multiplexeur 300 et l'autre niveau com- prenant les multiplexeurs 302 et 304. Le circuit logique de la figure 7 valide également le branchement basé sur une des deux polarités du même signal. Le fonctionnement du circuit logique de test 30 de la figure 7 est le suivant. Une entrée de chacun des huit multiplexeurs inclus dans le multiple- xeur 300 est sélectionnée pour une propagation jusqu'aux sorties de négation GPR à GP7 respectivement par les trois bits reçus aux entrées de sélection 3,. 4 et 5 de chacun des huit multiplexeurs. Ces trois bits sont reçus du champ TC (bits 13-15) du mot de microprogramme. Les sorties GPO à GPR7 sont respectivement reliées aux entrées numérotées de 0 à 7 de chacun des multiplexeurs 302 et 304. Les multiplexeurs 302 et 304 sont égale- ment reliés pour recevoir respect4,omPnt à leurs entrées de validation les signaux CRTCSP- et CRTCSP+. Les signaux CRTCSP (d'affirmation et de négation) sont également reçus du mot de microprogramme traité et, en particulier, du bit 21 du champTP du mot de micro- programme, qui est transféré par l'intermédiaire du registre 82. Pour le bit 21 (du champ TP), l'élément à l'emplacement de bit 21 dans le registre 82 est présentement un élément bistable (bascule) ayant une sortie de négation et une sortie d'affirmation. Selon le niveau logique nécessaire pour d'autres bits du mot de microprogramme, l'une ou les deux sorties d'affir- mation.et de négation sont utilisées. Les multiplexeurs 302 et 304, qui peuvent être par exemple du type SN74S251 fabriqué par Texas BR 7245 US/.C 2480-460 Instruments Inc., permettent la commutation des signaux de sorties d'affirmation et de négation du multiplexeur si le signal à l'entrée de validation est à un niveau logique bas ou à zéro, Si ce signal à l'entrée de vali- dation est à un niveau logique haut, les sorties sont à un état faux et par conséquent, tel qu'il est struc- turé, ce multiplexeur ayant une entrée de validation à un niveau haut est effectivement coupé du circuit logique de la figuré 7. Ainsi qu'on peut le voir -sur la figure 7, un seul des multiplexeurs 302 et 304 est validé à un moment donné. Les sorties des multiple - xeurs 302 et 304 sont reliées de sorte que la sortie d'affirmation de chaque multiplexeur soit couplée à la sortie de négation de l'autre multiplexeur pour produire ce qu'on appelle une connexion de circuit OU câblé. Quand l'un dés multiplexeurs 302.et 304 est - validé, les signaux TCTRUE sont obtenus avec la polarité appropriée. Le signal TCTRUE qui est à un niveau logique bas ou à zéro, valide le bloc auquel sa ligne est reliée. C'est ainsi que le signal TCTRUE- valide le bloc inférieur quand il est à un niveau bas. Le fonctionnement du circuit logique de la figure 7.montre que, si le signal CRTCSP- est à un niveau haut et que, par conséquent, le signal CRTCSP+ est à un niveau bas, le multiplexeur 304 est alors actif ou validé et le signal TCTRUE- reflète le niveau [haut ou bas) de la condition de test définie parmi les soixante quatre conditions et le signal TCTRUE+ reflète l'inverse de ce niveau. Si le signal CRTCSP- est à un niveau bas et que par conséquent, le signal CRTCSP+ est à un niveau haut, le mutliplexeur 302 est actif ou validé et le signal TCTRUE+ reflète le niveau de la condition de test définie et le signal TCTRUE- reflète l'inverse de ce niveau. La va- lidation du bloc supérieur ou du bloc inférieur de la BR 7245 US/l.C mémoire de contrôle est déterminée par le niveau bas du signal TCTRUE- ou du signal TCTRUE+. On notera que le code opération d'une ins- truction lue en mémoire 106 peut être utilisé pour sélectionner une condition de test parmi plusieurs conditions de test qui peuvent être différentes de celles reçues par le multiplexeur 300. Dans ce cas, les bits de code opération pourraient être utilisés pour sélectionner les entrées de condition de test d'un premier multiplexeur semblable au multiplexeur 300 ou une partie de celui-ci, et deux multiplexeurs sembla- bles aux multiplexeurs 3U2 et 304 pourraient aussi être utilisés dans une disposition semblable à celle E. représentée sur la figure 7. On notera également que l'utilisation du code opération pour ainsi sélection- ner une condition de test pourrait être envisagée en prévoyant un circuit indépendant ou en parallèle:;avec le circuit logique de la figure 7. Si l'on considère un circuit en parallèle, les multiplexeurs 302 et 304 commandés par les bits de microprogramme devraient alors être invalidés quand les multiplexeurs commandés par le code opération sont validés et vice versa. On va maintenant décrire la figure 8 qui représente les détails du multiplexeur 256 de la figure 5 -ainsi que les connexions de celui-ci avec les autres circuits. En particulier, le multiplexeur 256 représenté comprend dix multiplexeurs ayant chacun huit entrées. Les entrées de ces dix multiplexeurs correspondent aux signaux identifiés dans le tableau de la figure 6. Ces signaux sont envoyés pour indiquer les'huit types de branchement de la figure 6, de telle sorte que le premier signal pour chacun des types de branchement est reçu aux huit entrées correspondantes du multiplexeur MUX 1 inclus dans le multiplexeur 256. Ainsi, le multiplexeur MUX 1 reçoit par chacune de ses BR 7245 US/ LC huit entrées le signal NA1. Le multiplexeur MUX 2 - reçoit aussi lexm!êMe signal (NA2) à chacune de ses huit entrées. Pour chacun des autres multiplexeurs du multiplexeur 256, à l'exception des deux premières entrées, les signaux reçus'à leurs entrées sont, pour la plupart, différents. Par exemple, le multiplexeur MUX 3 reçoit à son entrée numéro trois,le signal XA3 qui est, comme le montre le tableau de la figure 6,. le troisième bit de l'adresse de bloc supérieur pour le branchement XA, ce troisième bit étant un bit. pro- venant de l'emplacement 3 d'une mémoire PROM dite de XA qui n'est pas représentée, mais qui peut être simplement un décodeur relié pour recevoir des signaux à ses entrées principales du registre F 38 et dont la sortie est reliée pour envoyer le bit au multiplexeur MUX 3 du multiplexeur 256. Les autres entrées des autres multiplexeurs du multiplexeur 256 reçoivent également les signaux d'entrée indiqués sur la figure 6S Les deux premiers signaux d'entrée du multiplexeur MUX 10ï NA(A) et NA(TA), ont un autre intérêt. En particulier, l'utilisa- tion de ces bits dont l'un est le complément de l'autre permet une plus grande souplesse et une meilleure effi- cacité dans. l'appariement des emplacements de mémoires PROM de mémoire de contrôle pour des opérations de branchement. Dans l'art antérieur, on sait effectuer un branchement à un emplacement impair de mémoire PROM sur une condition-de correspondance de branchement et un branchement à un emplacement pair sur une condition d'abscence de correspondance de branchement, ou vice versa. Cependant, une telle technique comporte des limitations. Par exemple, en supposant quatre emplace- ments consécutifs dont les adresses sont XXXOO, XXX01, XXX10 et XXXil [o X est un 1 binaire ou un zéro binaire), une séquence qui est un branchement peut BR 7245 US/ LC allfr à:l'adresse XXXOQ ou à l'adresse XXX01 selon qu'il s'agit d'une condition d'absence de correspon- dance ou de correspondance, ou une autre séquence peut aller à l'adresse XXXI1 ou à l'adresse XXX11. Cependant, S même si les emplacements XXX11 et XXX01I contiennent exactement les mêmes informations, ils ne peuvent pas être partagés, c'est-à-dire que deux emplacements doivent être utilisés même pour le même contenu. Cela est dû au fait que les deux adresses sont impaires et que le seul appariement permis est entre une adresse impaire et une adresse paire. Dans une autre technique connue, une condition d'absence de correspondance peut être établie pour permettre l'adressage. de l'em- placemeht spécifié par le mot de mémoire de contrôle et une condition de correspondance peut être établie pour permettre l'adressage d'un emplacement spécifié- par les bits d'adresse de poids fort avec les deux bits de poids faible à zéro, par exemple. De cette manière, une adresse dont les deux bits de poids faible étaient tous les deux à un peut être appariée avec des adresses dont les deux bits de poids faible étaient tous les deux à zéro ou dont-l'un était à un.et l'autre à zéro (dans un ordre indifférent). Cependant, cette technique restreint l'adresse commune à une adresse dont les deux bits de poids faible sont à un (ou vice versa, c'est-à-dire que les deux bits sont à zéro avec une modification appropriée de l'autre paire d'adresses o l'une d'elles a ses deux bits de poids faible soit tous les deux à un, soit l'un d'eux à un et l'autre à zéro). Dans une unité de traitement de données qui permet à une variété de sources d'engendrer ou de former l'adresse suivante pour la mémoire de contrôle, l'utilisation de la disposition de la présente inven- tion représentée sur les figures, en particulier sur BR 7245 US/ IC les figures 5 et 8, est préférable. En'particulier, les circWits logiques représentés sur ces figures permettent de réduire le nombre total d'emplacements microprogrammés ou de mémoire de contrôle en permettant que tous les emplacements soient utilisés comme rem- placements à un nombre accru d'emplacements sélection- nés. Pour réaliser cela, la position de bit de poids faible (NA10) est reliée de manière que pour le bran- chement XO, NA10 est en fait le même que le bit NA10, c'est-à-dire NA(A), reçu du registre 82 pour le mot de mémoire de contrôle en cours de traitement, tandis que, pour le branchement Xl, le complément de ce bit NA(A) est utilisé. t A titre d'exemple, on va considérêr la fi- gure 9. Si l'adresse NA est telle qu'elle est repré- sentée sur la première ligne, l'adresse de bloc infé- rieur est alors la même. L'adresse de bloc supérieur est par contre dépendante du type de branchement XO ou X1. S'il s'agit d'un branchement Xl, l'adresse de bloc supérieur est alors telle qu'elle est représentée sur la troisième ligne de la figure. L'adresse finale dépend de la valeur' zéro ou un du signal TCTRUE-. Si ce signal est à zéro, les mémoires PROM du bloc inférieur sont alors validées. Ainsi, comme le montre la quatrième lignede la figure, l'adresse finale est destinée au bloc inférieur si le signal TCTRUE- est à zéro. Si le signal TCTRUE- est à un, l'adresse finale est alors destinée au bloc supérieur, et selon le type de branchement X1 ou XO, l'adresse finale est celle représentée respectivement sur les lignes 5 et 6 de la figure 9. En particulier, on remarquera que l'adresse de bloc inférieur de la ligne 4 peut être appariée avec l'une des adresses de bloc supérieur représentées sur les lignes 5 et 6. De cette manière, on peut obtenir un appa- BR 7245 US/ LC - 58 riement d'emplacements de mémoire plus efficace. Des variantes de l'exemple représenté sur la figure 9 mon- trent qu'un emplacement d'adresse paire du bloc infé- rieur peut être apparié avec un emplacement d'adresse paire ou impaire du bloc supérieur, et qu'un empla- cement d'adresse impaire du bloc inférieur peut être également apparié avec un emplacement d'adresse paire ou impaire dans le bloc supérieur. On notera que l'appariement décrit plus haut pourrait être obtenu en établissant la valeur binaire du bit NA10 indépendamment de la valeur binaire du bit NA10 du mot de microprogramme en cours de traite- ment. Par exemple, lDébit NA10 pour le branchement XO peut avoir été établi à la valeur binaire un au lieu de NA(A), tant que le bit NAIO pour le branchement Xl représente son complément, dans le cas présent, un zéro. On va maintenant décrire de façon générale le transfert des informations. Un aspect particulièrement intéressant de -la présente invention est le transfert d'informations dans un sous-système central et entre un soussystème central et les éléments de système tels que le pro-- cesseur de transmission 109, le contrôleur d'entrée- sortie 107 et les dispositifs d'entrée-sortie 108, et les modules de mémoire 105 au moyen du bus de système ou megabus 105. Les informationscomprennent des signaux de commande, des données et des adresses circulant dans les-deux sens entre les éléments d'un sous-système central et entre un sous-système central et d'autres éléments du système. Le megabus 105 et le bus local 9 sont capables de transmettre en paral- lèle deux mots de données, c'est-à-dire 32 bits plus des bits de parité, 24 bits d'adresse plus des bits de parité, et un ensemble de bits de signaux de BR 7245 US/LC 9 commande par des lignes ou conducteurs de signaux différents. Dans un sous-système central, chacun des éléments qui représentent l'unité d'antémémoire/de gesion de mémoire 103, l'unité centrale CPU 1Q0, le processeur scientifique SIP 101, et le processeur commercial 102, comprend des éléments de circuit pour recevoir et émettre des bits d'informations en provenance et en direction des autres éléments Connectés au bus local 9 dans le sous-système central. L'unité d'antémémoire/MMU 103 constitue en outre une interface avec le megabus 105 et, par conséquent, comprend avec les autres éléments de circuit connectés au megabus, des éléments de circuit pour recevoir et émettre de façon similaire des informations trans- mises par le megabus. Les caractéristiques de fonctionnement du megabus et du bus local sont tout à fait semblables en ce qu'ils permettent chacun à deux unités qui leur sont connectées d'échanger des informations entre elles à un moment donné par l'intermédiaire de chemins de signaux, à la fois spécialisés et communs, pour la transmission des bits de données, d'adresses et des signaux de commande. Les échanges d'informations par le megabus ou le bus local sont aussi asynchrones. Toute unité souhaitant échanger des informations avec une autre unité, demande un cycle de bus. Quand ce cycle de bus est accordé, l'unité demanderesse devient le maître, et peut adresser tout autre unité dans le système comme esclave si cette unité est à l'intérieur d'un sous- système central ou connectée au megabus. La plupart des transferts se font dans le sens de maître à esclave. Dans les cas-o un cycle de réponse est demandé, l'unité demanderesse assume le rôle de maître, s'assure un cycle de bus, et émet une demande de fonctionnement à une unité de destination ou esclave. Une information d'iden- tification de la source de la demande de fonction- nement, contenue sous forme d'un numéro de canal dans la demande, permet à l'unité esclave de diriger ultérieurement une réponse jusqu'à l'unité maître. Quand l'unité esclave a exécuté une opération de- mandée et qu'elle doit émettre une réponse à l'unité demanderesse, l'unité esclave assume le rôle de maître et, pendant un second cycle de bus, elle déclenche un transfert jusqu'à l'unité demanderesse qui assume alors le rôle d'esclave-. Ces deux cycles de bus peuvent terminer l'échange d'informations entre les unités. Un intervalle de temps intermédiaire peut être utilisé sur 1-e bus entre les deux cycles [le cycle de demande et le cycle de réponse) par d'autres éléments de système pour faire des demandes sans rapport avec les deux unités. - Un élément maître peut adresser tout autre unité comme esclave par le bus local ou par le megabus.I le réalise en plaçant l'adresse esclave sur les conducteurs d'adresse du bus. Ainsi, l'unité CPU 100 envoie une adresse d'esclave sur les conduc- teurs ou lignes d'adresse du bus local 9 tandis que le processeur de transmission 109, par exemple, envoie l'adresse d'esclave sur les lignes d'adresse du megabus 105. Comme on l'a mentionné plus haut, il peut y avoir 24 lignes d'adresse qui peuvent être interprétées de deux façons selon l'état d'une ligne de signal de commande associé qui est appelé signal de référence de mémoire MREF. Si le signal de réfé- rence de mémoire est à l'état VRAI (ZERO binaire), l'unité demanderesse est en train d'adresser un emplacement des modules de mémoire 106. Cependant, si le signal de référence de mémoire est à l'état FAUX (UN binaire), les lignes d'adresse contiennent alors un numéro de canal à dix bits et un code de fonction à six bits. Quand un numéro de canal et un code de fonction sont transmis par les lignes d'adresse, les unités de source et de destination, c'est-à- dire les unités maître et esclave, font passer des informations de commande, des données ou des inter- ruptions. Chacune des unités de système à l'intérieur et à l'extérieur d'un sous-système central est iden- tifié par un numéro de canal à dix bits établi uni- quement par des commutateurs à l'intérieur des unités particulières. Quand une unité maître demande un cycle de réponse d'une unité esclave, elle l'indique à l'unité esclave par l'état d'une ligne de signal de commande binaire appelé WRIT. Dans un état, le signal WRIT indique à l'unité esclave qu'un cycle de réponse est demandé comme, par exemple dans une commande de lecture, et quand le signal WRIT est dans l'autre état binaire, il indique à l'unité esclave qu'aucune réponse n'est demandée. Quand le signal MREF indique qu'un cycle de référence de non-mémoire est demandé, les lignes de données du bus local ou du megabus contiennent le numéro de canal de l'unité demanderesse chaque fois qu'une réponse est demandée de l'unité esclave en direction de l'unité maître. Le cycle de réponse est alors dirigé vers l'unité demanderesse par un transfert de référence de non-mémoire et une ligne de signal de commande SHBC, appelée ligne de seconde- moitié de cycle de bus, est validée pour indiquer à l'unité demanderesse que les informations trans- férées à celle-ci sont la réponse de l'unité esclave à une demande précédemment émise par l'unité maître. Comme on l'a mentionné plus haut, un numéro de canal est attribué à chaque point d'extrémité dans un système particulier à l'exception des éléments de traitement de type mémoire qui sont identifiés par les adresses de mémoire. Un numéro de canal est attribué à ces éléments de système et les éléments de duplex intégral et les éléments de semi-duplex utilisent deux numéros de canal. Seuls les dispo- sitifs de sortie ou d'entrée n'utilisent qu'un numéro de canal chacun. Les numéros de canal peuvent varier facilement et, en conséquence, un ou plusieurs commutateurs rotatifs d'hexadécimal (par exemple des commutateurs à molette) peuvent être utilisés pour chaque unité connectée au bus local ou au megabus pour indiquer ou établir l'adresse de l'unité particulière. Quand la configuration d'un système est établie, le numéro de canal peut ainsi être défini pour chaque unité particulière connectée au bus comme il peut être approprié pour. ce système particu- lier. Des unités avec des portes d'accès.d'entrée- sortie multiples exigent généralement un bloc-de numéros de canal. Atitre d'exemple, une unité à quatre portes peut utiliser des commutateurs rotatifs pour affecter les sept bits supérieurs d'un numéro de canal et peut utiliser les trois bits de poids faible de ce numéro pour définir le numéro de porte d'accès afin de distinguer les portes d'entrée des portes de sortie, Le numéro de canal deel'unité esclave apparait sur le bus d'adresse pour tous les transferts de non-mémoire et chaque unité comparé ce, numéro à son propre numéro mémorisé à l'intérieur (mémorisé à l'intérieur au moyen des commutateurs rotatifs). L'unité qui effectue une comparaison est, par défi- nition, l'esclave et doit répondre au cycle de bus en cours. En général, deux points d'extrémité d'un seul système n'ont pas le même numéro de canal. Une fonction de bus spécifique ou d'entrée- sortie est indiquée par les lignes 18-23 des lignes d'adresse de bus pendant un cycle de référence de non-mémoire. Les codes de fonction définissent des opérations d'entrée ou de sortie et, par exemple, tous les codes de fonction de sortie peuvent définir des transferts de sortie (des écritures) tandis que tou's les codes de fonction d'entrée peuvent définir des demandes de transfert d'entrée (dés lectures). Il y a différentes fonctions de sortie et d'entrée. Une des fonctions de sortie est une commande par laquelle une quantité de données, par exemple 32 bits, sont chargées à partir des lignes de données du megabus ou du bus local dans l'unité de système définie par le numéro de canal dans le champ de numéro de canal des lignes d'adresse. Les significations des bits de données individuels sont spécifiques de composants, mais le terme "quan- tité de données" est choisi pour indiquer que les données sont à mémoriser, envoyer, transmettre, etc. selon la fonctionnalité spécifique du composant. Une - autre fonction de sortie est une commande par laquelle une quantité de 24 bits est par exemple chargée dans un registre d'adresse de canal. L'adresse est une adresse de multiplet de mémoire et corres- pond à l'emplacement de début en mémoire o le canal commence l'entrée ou la sortie de données. D'autres fonctions de sortie*différentes comprennent une commande de portée de sortie qui définit la capacité du tampon de mémoire affecté au canal pour un transfert spécifique, une commande de contrâle de sortie qui entraîne des réponses spécifiques par ses bits individuels, des fonctions de tâche de sortie telles que des commandes d'impression PRINT, et des configurations de sortie indiquant des fonctions telles qu'une vitesse de terminal, un mode de lec- teur de cartes, etc. Les fonctions d'entrée comprennent des - fonctions semblables aux fonctions de sortie' excepté que dans ce cas les données sont transférées de l'unité au bus. Les fonctions d'entrée comprennent ainsi les commandes de donnéds d'entrée, d'adresse d'entrée, et de portée d'entrée de même que les commandes de configuration de tâche et d',interruption d'entrée. De plus, ces fonctions comprennent la o. commande'd'identification de dispositif par laquelle le canal place son numéro d'identification de dispo- sitif sur le bus. Différents signaux d'état sont également inclus pour indiquer par exemple qu'un dispositif spécifique est opérationnel PRZT, s'il est prêt à accepter des informations du bus BUSY, s'il y a une erreur de mémoire non-corrigible REDL,REDR, s'il y a eu une erreur de mémoire corrigée YELO,z s'il y a une demande de dispositif ou de ressource non-existante UARL. En plus des écritures et des lectures de mémoire et des commandes d'entrée et de sortie de dispositifs d'entrée-sortie, une unité connectée au megabus ou au bus local peut demander une inter- ruption de l'unité CPU 100 ou l'exécution d'une action particulière par l'unité CPU 100. Une unité voulant interrompre l'unité CPU 100 demande un cycle de bus et quand le cycle de bus est accordé, l0unité place son vecteur d'in- terruption sur le bus, le vecteur d'interruption comprenant le numéro de canal de l'unité CPU et le sien, c'est-à-dire, le propre numéro de niveau d'interruption de l'unité qui la transmet. Si le numéro de canal est le numéro de l'unité CPU, l'unité -2480460 CPU accepte l'interruption si le niveau présenté est numériquement inférieur au niveau d'interruption en cours de CPU et si l'unité CPU ne vient pas d'accepter une autre interruption. L'acceptation d'une interruption est indiquée par un signal ACK de bus et la non-acceptation d'une interruption est indiquée par un signal NAK. Des dispositifs recevant un signal NAK redemandent une interruption quand un signal indiquant la reprise d'une inter- ruption normale est reçu de l'unité CPU, c'est-à- dire quand le signal PRINT (de reprise d'inter- ruptions) est à l'état vrai. L'unité CPU émet ce signal quand il a terminé un changement de niveau et que, par conséquent, il peut accepter des in- terruptions une fois encore. Le numéro de canal de l'unité maître est fourni dans le vecteur à utiliser. puisque plus d'un canal peuvent être au même niveau- d'interruption. Le niveau d'interruption ZERO a une- signification spéciale puisqu'il est défini pour -- indiquer que l'unité ne fera pas d'interruption.. Les figures 10a-10k représentent les formats de bus de données et d'adresse pour les opérations de bus qui viennent d'être décrites. La figure 10a représente le format pour une écriture de mémoire et l'on voit que les 24 bits d'adresse 0-23 définissent une adresse de mémoire parti- culière et le bus d'adresse transfère un mot simple (bits 0-15) ou un mot double (bits 0-31) de données à transférer à l'adresse de mémoire définie. Une demande de lecture de mémoire est représentée sur la figure 10b et, une fois encore, les bits d'adresse 0-23 définissent l'adresse de mémoire à lire et les bits 0-9 de bus de données définissent le numéro de canal de la source de la demande de lecture de mémoire. - 66 Une unité esclave transmet des informations selon les formats de la figure 10o en réponse à une demande de lecture de mémoire. Les bits 8-17 du champ d'adresse contiennent le numéro de canal de l'unité de destination (l'unité demanderesse) du ou-des deux mots respectivement contenus dans les bits 0-15 ou dans les bits 0-31 du bus de données. Les figures 10d et 10e représentent les formats pour une commande de sortie de dispositif d'entrée-sortie et pour une commande d'entrée de dispositif d'entrée-sortie. Dans la commande de sortie, les bits 8-17 du bus d'adresse contiennent le numéro de canal de l'unité de destination et un code de fonction est spécifié dans les bits 18-23. Le bus de données contient 16 ou 32 bits de données à traiter conformément au code de fonction spécifié. La commande d'entrée a un format de bus d'adresse semblable et contient dans les bits 0-9 du bus de données le numéro de canal de la source de la commande. Ainsi, le bus de données, dans le cas de la commande d'entrée de dispositif d'entrée-sortie, spécifie à l'unité esclave ou à celle faisant la réponse, l'identificatin de la source de la commande d'entrée. La figure 10f représente la réponse d'une unité esclave à une commande d'entrée de dispositif d'entrée-sortie. Les bits 8-17 du bus d'adresse contiennent le numéro de canal de l'unité de desti- nation comme il a été spécifié par les bits 0-9 du bus de données pour la commande d'entrée de dispositif d'entrée-sortie. Le bus de données contient 16 ou 32 bits de données extraites au moyen de la commande d'entrée. Les figures 10g et 10h spécifient une commande de sortie de chargement de dispositif d'entrée-sortie [IOLD) dans laquelle les bits 0-7 du bus d'adresse spécifient le numéro de module de l'adresse de début des données et le dispositif est défini par le numéro de canal établi par les bits 8-17. Les bits 18-23 du bus d'adresse spécifient le code de fonction et le bus de données spécifie par les bits 0-15 établis l'adresse de début des données à charger. Le format établi dans la figure 10h spécifie le numéro de canal de destination dans les bits 8-17 et un code de fonction dans les bits 18-23. Le bus spécifie dans les bits 0-15 la portée des adresses de-chargement. Les figures 10j et 10k représentent les formats de bus pour des actions concernant-l'unité CPU. Les bits 8-17 du bus d'adresse spécifient, dans chaque cas, le numéro de canal de destination et, pour une demande d'action de CPU, un code d'action est spécifié dans les bits 18-23 alors que ces bits doivent être forcés à ZERO pour une demande d'interruption. Le bus de données d'une demande d'action de CPU contient 16 ou 32 bits de données associés à l'action définie. Le bus de données contient, pendant une demande d'in- terruption, le numéro de canal de la source de'la demande d'interruption dans les bits 0-9 et le numéro de niveau de priorité de la source dans les bits 10-15. Le schéma fonctionnel de la figure 11 représente les éléments spécifiques de l'unité d'anté- mémoire/de gestion de mémoire MMU 103 impliqués pour le transfert d'informations entre l'unité CPU 100, le processeur SIP 101, le processeur CIP 102 et l'anté- mémoire contenue dans l'unité 10.3. Les éléments de cette figure sont aussi désignés sous le nom d'adap-. tateur de bus local. La figure 12 est un schéma fonctionnel d'un dispositif contenu dans l'unité d'antémémoire/MMU 103 qui constitue une interface entre le bus de système ou megabus 105 et le sous- système central et qui assure le contrôle des transferts d'informations le long du megabus. Ce dispositif est quelquefois désigné sous le nom d'adaptateur de megabus. Sur la figure 11, les signaux qui sont transmis par le bus local sont établis comme ayant le bus local pour source ou destination. Un multiplexeur d'entrée de données d'anté- mémoire 401 fournit 32 bits de données (2 mots de 2 multiplets chacun)- pour leur mémorisation dans l'anté- mémoire 403. Le multiplexeur d'entrée de données d'antémémoire 401 sélectionne les 32 bits de données (plus les 4 bits de parité pour un total de 36 bits) qui se trouvent alors sur les lignes de données du bus local (LBDT 0:321 ou les 32 bits de données (plus les bits de parité) qui sont fournis par l'adap- tateur de megabus (MBDT 0:32). Les données de bus local LBDT ont comme source l'unité CPU 100, le processeur SIP 101, le processeur CIP 102, ou l'unité d'antémémoire/MMU 103, alors que la source des données de megabus MBDT- peuvent être les-modules de mémoire 106, les dispositifs d'entréesortie 108, le.processeur de transmission 109 ou tout autre unité connectée au megabus. Les données du mégabus sont normalement fournies en réponse à une commande d'entrée-sortie ou à une lecture de mémoire. L'unité- d'antémémoire et de répertoire 403 est une mémoire très rapideet de capacité limitée pour mémoriser des -doubles d'un groupe sélectionné de mots de données également mémorisés dans les modules de mémoire 106. Par exemple, la mémoire d'antémémoire peut avoir une capacité de 4096 mots avec un nombre égal d'entrées dans le-répertoire d'antémémoire. Un exemple de mémoire d'antémémoire appropriée est décrit dans la demande de brevet des des E.U.A. n 863 091, intitulée "FIRST IN FIRST OUT ACTIVITY QUEUE FOR A CACHE STORE", déposée par la demanderesse le 22 décembre 1977. Une description détaillée de la fonction et du mode de fonctionnement de l'unité d'antémé- moire et de répertoire 403 n'est pas nécessaire * pour la compréhension de la présente invention. Généralement, la mémoire d'antémémoire contient les informations les plus récemment demandées et une écriture est faite dans une de ses entrées en même temps qu'elle est faite dans un module de mémoire 106. Cependant, il est important de comprendre que l'intégrité d'une mémoire d'antémémoire doit être maintenue tout le temps et que, par conséquent, si une unité hors d'un sous-système central'particulier exécute une mise à jour de mémoire sur un emplacement d'un module de mémoire 106 dont le contenu est éga- lement mémorisé dans la mémoire d'antémémoire 403, les données en mémoire d'antémémoire doivent être également mises à jour. Comme on l'expliquera dans la suite, l'adaptateur de megabus exécute ces mises à jour d'intégrité. La fonction d'une mémoire d'antémémoire est de réduire le temps nécessaire pour fournir les données adressées par un des processeurs, c'est-à- -25 dire, l'unité CPU 100, le processeur SIP 101 ou le processeur CIP 102. Chaque fois qu'une lecture de mémoire est demandée par un des processeurs, une consultation est faite dans le répertoire de l'anté- mémoire pour voir si ces données particulières sont contenues dans la mémoire d'antémémoire. Si c'est le cas, les informations sont alors émises de la mémoire d'antémémoire 403 comme données de bus local LBDT. Pareillement, le signal de sortie CAHIT indique que les données demandées se trouvent ou non dans l'antémémoire 403. Si un des processeurs CPU 100, SIP 101 ou CIP 102 exécute une mise à jour d'un emplacement de mémoire représenté dans l'antémémoire 403, une commande d'écriture de mémoire pour exécuter une mise à jour semblable est émise en direction de l'emplacement affecté dans le module de mémoire 106 afin d'assurer l'intégrité des données qui y sont mémorisées. Le répertoire de l'unité d'antémémoire 403 contient des indications des adresses associées aux données qui y sont contenues. Ces adresses sont fournies par un multiplexeur d'entrée d'adresse virtuelle 405. Le multiplexeur 405 sélectionne une des adresses virtuelles provenant de l'unité CPU (CPVADR), du processeur SIP (SIVADR), du processeur CIP (CIVADR) ou du megabus (FIAD). Ces adresses ont une longueur de 24 bits avec des bits de parité appropriés. La sortie du multiplexeur d'adresse virtuelle 405 trans- met l'adresse VAIN 0:24 à une entrée du répertoire de l'unité d'antémémoire 403. Comme on l'a précisé plus haut, 'le transfert d'informations le long du megabus ou du bus local se fait de façon asynchrone. Ainsi, l'unité CPU 100, le processeur SIP 101, et le processeur CIP 102 doivent demander un cycle de bus local avant de pouvoir trans- férer des informations à une autre unité dans le sous- système central, à l'unité d'antémémoire/MMU, ou à une autre unité connectée au megabus. Une quatrième source de demande pour un cycle de bus local est une mémoire de premier entré-premier sorti (FIFO) contenue dans l'unité d'antémémoire/MMU 103 et qui contient un nombre limité de "demandes" de transferts d'informations le long du megabus 105. Les demandes de transferts d'in- formations contenues dans la mémoire FIFO sont géné- ralement des demandes d'écritures en mémoire principale exécutées par une unité de traitement reliée au megabus. Les signaux de demande CPREQT, SIREQT, CIREQT et FIFOMT sont envoyés à un réseau d'arbitrage de demande 407 qui, lorsqu'il y a un cycle de bus local disponible, affecte le cycle de bus à un des demandeurs. Une telle affectation est faite par les signaux de validation CIASND, CPASND, SIASND et FIASND envoyés à un registre de demande accordée 409, au multiplexeur d'entrée d'adresse virtuelle 405, à un multiplexeur de référence de mémoire 411 et à un multiplexeur d'adresse de multiplet BYAD 413. Le registre de demande accordée 409 engendre un signal de validation à transmettre à l'unité demanderesse à laquelle un cycle de bus local est accordé. Ainsi, les signaux RQGTCP, RQGTSI, RQGTCI, et RQGTFI prennent des valeurs qui indiquent l'accord d'un cycle de bus local respectivement à l'unité CPU, au processeur SIP, au processeur CIP et à la mémoire FIFO. Les sorties du registre de demande accordée 409 sont aussi reliées à des entrées d'un décodeur d'instruction 415. Des signaux de commande supplémentaires sont transférés par le bus local entre l'unité d'anté- mémoire/MMU et les processeurs connectés au bus local. Le signal PRINT (de reprise d'interruptions) est engendré par l'unité CPU pour indiquer que l'unité CPU accepte une interruption du processeur CIP, du processeur SIP ou d'une unité de sous-système non central, c'est-à-dire une unité reliée au megabus. Le signal LBMCLR est normalement à l'état faux et passe à l'état vrai quand le bouton de REMISE A ZERO DE MAITRE sur le panneau d'entretien est enfoncé. Quand le signal LBMCLR est à l'état vrai, les unités sur le bus sont initialisées et les unités qui peuvent effectuer cette opération exécutent des routines ou programmes de test logique de qualité (QLT). Le si.gnal LBQLTA indiqué sur la figure 11 une sortie du circuit logique de commande 417 indique qu'un cycle de test logique de qualité est exécuté ou qu'une erreur a été détectée pendant le déroulement d'un cycle d'exécution de programme de test QLT. Le signal LBPWON est à l'état vrai quand toutes les sources d'alimentation dans le système fonctionnent correctement; en présence d'un défaut d'alimentation, le signal LBPWON passe. à l'état faux au moins deux millisecondes avant la perte de + 5 volts en continu pour les circuits logiques. Des contrôleurs reliés au bus doivent exécuter une initialisation à ce point et arrêter toute circulation sur le bus pour permettre au logiciel de l'unité CPU d'exécuter des opérations d'élimination qui peuvent être-néces- saires spécialement en liaison ayec la mémoire. Au retour de l'alimentation, la tension de + 5 volts en continu appliquée aux circuits logiques doit être stable avant que le signal LBPWON passe à l'état vrai. Les contrôleurs reliés au bus exécutent l'initia- lisation au retour de l'alimentaiton de + 5 volts en continu. Les signaux de présence de processeur CPPRZT, CIPRZT et SIPRZT indiquent que les processeurs associés sont e.n place et fonctionnent dans le soussystème central. Les signaux de processeur occupé CIBUSY et SIBUSY sont transmis le long du bus local par des lignes réservées, ces signaux étant des réponses en- gendrées respectivement par les processeurs CIP et SIP pour indiquer que les processeurs ne peuvent accepter certaines-demandes ou transferts de données car ils sont en train d'exécuter d'autres opérations. Pareillement, les signaux CITRAP et SITRAP sont transmi.s par des lignes réservées sur le bus local à partir respectivement du processeur CIP et du processeur SIP, ces signaux indiquant quand une ou plusieurs unités sur le bus ont détecté une condition de traitement qui nécessite une interruption qui est souvent mise en oeuvre par un branchement forcé à un emplacement particulier de microprogramme. Le multiplexeur BYAD 413 reçoit les signaux d'entrée désignés collectivement par BYAD. Ces signaux sont les bits d'adresse 23 des adresses fournies par l'unité CPU, le processeur CIP, le processeur SIP et la mémoire FIFO. La sortie du multiplexeur 413 est reliée à l'unité logique de commande 417. Le signal BYAD indique un multiplet particulier dans un mot de données. Dans l'exemple de réalisation de l'invention décrit, chaque mot de données a une longueur de 16 bits et est constitué de deux multiplets de huit bits. Comme, on l'a expliqué plus haut, le bus local peut transférer deux mots de données en paral- lèle bien qu'un seul multiplet de données puisse être transféré à la fois. Le multiplexeur de MREF 411 reçoit le signal de validation du réseau d'arbitrage de demande 407 indiquant-lequel des processeurs de soussystème ou la mémoire FIFO a obtenu l'affectation d'un cycle de bus local. Le multiplexeur de MREF 411 sélectionne les signaux d'entrée provenant d'un des processeurs CPU, SIP, CIP ou de la mémoire FIFO (figure 12) et fournit les signaux sélectionnés au générateur de signaux de synchronisation 419. Les signaux d'entrée du multiplexeur de MREF 411 sont désignés par MREF, WRIT et DBLW, les préfixes à deux lettres comme par exemple CP, SI, CI et FI désignant la source des signaux. Cette convention est adoptée pour toute la description détaillée. Comme on l'a précisé plus haut, le signal WRIT à l'état vrai indique qu'aucune réponse n'est attendue à la suite du transfert d'une unité maître à une unité esclave qui l'accompagne. Quand ce signal est à l'état faux et qu'il accompagne un transfert, il indique qu'une réponse de l'unité esclave à v l'unité maître est attendue. Le signal MREF examine si l'information sur le bus d'adresse est une adresse de mémoire ou une adresse de dispositif d'entrée- sortie (numéro de canal et code de fonction). Le signal DBLW indique le nombre de mots dans le champ de données du bus local pendant une opération d'écri- ture ou une réponse à une demande de lecture. Les signaux JBLW, BYAD, WCTLI et WCTL2 sont utilisés en combinaison pour contrôler les multiplets à écrire dans l'unité d'antémémoire/MMU ou dans la mémoire du système pendant un cycle d'écriture. Ces signaux comportent quatre bits et peuvent donc donner 16 combinaisons possibles qui ne sont pas toutes utilisées. Puisque le bus local est capable de trans- férer deux mots ou quatre multiplets de données simul- tanément, on peut les considérer comme le multiplet 0 et le multiplet 1 d'un mot n et le multiplet 0 et le mumtiplet 1 du mot n+1. Quand les signaux WCTL1, DBLW et WCTL2 sont tous égaux à zéro, l'unité d'antémémoire/MMU ou la mémoire de système interprète alors une demande d'écriture pour écrire le multiplet 0 et le multiplet 1 du mot n sans tenir compte de la valeur du signal BYAD. Quand les signaux BYAD> DBLW et WCTL2 sont à zéro et que le signal WCTL1 est égal à un, seul le multiplet 0 du mot n est alors écrit. Si les signaux BYAD et WCTL1 sont tous les deux égaux à un et que les signaux DBLW et WCTL2 sont tous les deux égaux à zéro, le multiplet 1 du mot n est alors écrit. Les multiplets 0 et I du mot n et le multiplet 0 du mot n+1 sont écrits quand les signaux WCTL1 et WCT.L2- sont égaux à zéro, que lesignail CBLW est égal à un et que le signal BYAD est égal à zéro ou à un. Quand les signaux BYAD, WCTL1 et DBLW sont tous égaux à unoet que le signal WCTL2 est égal à zéro, le multiplet I du mot n et le multi- plet O du mot n+1 sont alors écrits. Les multiplets O et I du mot n et du mot n+1 sont tous écrits chaque fois que les signaux DBLW et WCTL2 sont égaux à un, que le signal WCTL2 est égal à zéro et que le signal BYAD est égal à zéro ou à un. Enfin, le multiplet 1 du mot n et les multiplets O et 1- du mot n+1 sont écrits quand tous les quatre signaux de commande sont égaux à un. Le générateur de signaux de synchronisation 419 reçoit les signaux de sortie sélectionnés du multiplexeur de MREF 411 et fournit des signaux de commande de synchronisation à l'unité logique de commande 417 en fonction du signal de référence de mémoire ou du signal de référence de dispositif d'entrée-sortie reçu du bus local 9 selon qu'il s'agit d'une demande initiale ou d'une réponse à une demande. -- Les signaux LBLOCK et LBSHBC ont des si- gnifications indépendantes de même qu'une inter- prétation combinatoire. Quand-le signal LBSHBC est égal à un et qu'ii est transmis le long du bus local Jusqu'aux processeurs du sous-système central, il indique que les données qui l'accompagnent sont transférées en réponse à une commande d'entrée trans- mise précédemment par un des processeurs de sous- système central à l'unité d'antémémoire/MMU. -Quand le signal LBSHBC est engendré par les processeurs dans le sous-système central avec le signal MREF inactif (c'est-à-dire égal à zéro), il identifie une réponse de processeur 3 une commande d'entrée transmise précédemment au processeur répondant pendant ujn cycle de bus local précédent. Par définition, le signal LBSHBC définit dans un état que les données qui l'accompagnent sont transférées dans un cycle de bus de réponse à un cycle de bus de 'demande reçu précédemment, quand ce signal est considéré de façon indépendante. Le signalLBLOCK indique, quand il est -égal à un, qu'une opération de lecture, de modifica- tion ou d'écriture (RMW) a été demandée par l'unité CPU. Un blocage est en effet un moyen d'interdire une référence de mémoire à une adresse particulière dans l'unité d'antémémoire/MMU et dans la mémoire de système une fois que cet emplacement est en train d'être adressé par une unité connectée au megabus, par exemple, par le processeur CIP, le -- - - processeur SIP ou l'uni-té CPU. -Le concept de blocage d'un emplacement de mémoire particulier pour empêcher -son accès par une autre unité demanderesse dans certaines conditions est bien-connu- et utilisé pour assurer l'intégrité des informations mémorisées dans l'emplacement.demémoire bloqué. Dans la présente invention,. le signal LBLOCK est à l'état vrai pour les types bloqué et non bloqué d'opérations RMW et il est utilisé en association avec le signal LBSHBC pour spécifier la fonction bloquée/non bloquée pendant un cycle d'opération RMW. Le signal LBSHBC est à l'état faux (égal à zéro) pour l'opération RMW bloquée et à l'état vrai (égal à un) pour l'opération RMW non bloquée. Le signal MREF doit également être à l'état vrai pour les demandes d'opération RMW bloquées et non bloquées puisqu'une opération de- référence de mémoire est exécutée. Le signal LBWRIT spécifie si une opération RMW donnée est une opé- ration de lecture ou d'écriture de mémoire comme on l'a décrit plus haut, puisque le signal LBWRIT spécifie la direction du transfert. qui est exécuté, c'est-à-dire, d'unité maître à unité esclave ou d'unité esclave à unité maître. Il faut ajouter que le blocage mentionné est réalisé par une bascule contenue dans la mémoire, l'état de cette bascule étant déterminé par les cycles de bus qui établissent ou annulent le blocage. Le blocage peut être établi pendant une partie d'un cycle d'écriture ou d' ne demande de lecture et - peut être annulé d'une manière semblable. Quand un blocage est établi, une unité essayant d'effectuer une opération d'ECRITURE, de TEST et d'EIAB:LISSEMENT DE BLOCAGE, ou de LECTURE, de TEST et d'ETABLISSEMENT DE BLOCAGE demandera une réponse NAK de cette unité. Des unités qui exécutent normalement des cycles d'écriture ou de lecture ne sont pas averties de l'état de blocage et reçoivent des réponses ACK, NAK ou WAIT comme on l'expliquera dans la suite. Le signal CPPROC indique à l'unité d'anté- mémoire/MMU, quand il est à l'état vrai (égal à un), que la demande de mémoire en cours doit être contrôlée pour exécuter une validation de protection. Cela concerne le concept mentionné plus haut de numéros d'anneau et implique une hiérarchie d'accès établie dans le système o certains emplacements d.e mémoire sont accessibles en lecture seulement, en lecture et- en écriture uniquement par certains éléments du système, ou accessibles uniquement dans certaines conditions spécifiées. Le concept général d'un accès restreint à des informations particulières ou à des emplacements de mémoire particuliers est bien connu dans la technique de traitement de données et ne constitue pas une caractéristique spécifique de la présente invention. Il suffit de savoir que si une demande est faite pour un accès à la mémoire par une unité demanderesse non autorisée à avoir accès à l'emplacement demandé, la mémoire indique qu'une violation de protection s'est produite et transmet un indicateur d'erreur à l'unité demanderesse. Dtautres informations concernant les violations de protection en rapport avec les numéros d'anneau sont données dans la demande de brevet des E.U.A. n0 863 091 mentionnée plus haut. Les trois premiers bits des lignes de commande de bus local LBCMD sont envoyés au bus local par-un des processeurs CPU, CIP ou SIP et envoyés à un décodeur de numéro de canal 421. Dans un sous-système central, l'unité d'antémémoire/MMU utilise un numéro de canal (local] à trois bits en rapport avec le numéro de canal (de système) à 10 bits correspondant. Ainsi, par exemple, l'unité CPU peut correspondre au numéro de canal de bus local 000, le processeur SIP peut correspondre au numéro de canal 001, le processeur CPI peut corres- pondre au numéro de canal 010, l'unité d'antémémoire/ MMU peut correspondre au numéro de canal 011 et une unité reliée au megabus peut correspondre à un numéro de canal de bus local commun 111. Comme on le voit, le décodeur de numéro de canal 421 indique au décodeur d'instruction 415 que l'antémémoire ou le megabus est l'unité de destination et indique également au circuit logique de dommande 417 que l'antémémoire, le megabus, le processeur CIP, 'l'unité CPU ou le processeur SIP est l'unité de destination. Le décodeur de numéro de canal 421 reçoit également les trois bits de poids faible d'une adresse de megabus BSAO 15:3 d'un décodeur de numéro de canal de megabus 422 quand une demande ou une réponse est transmise à l'unité d'antémémoire/MMU par une unité reliée au megabus. L'information LBCMD 3:6 fournie à un décodeur de code de commande 423 est le code de commande engendré par l'un des processeurs CIP, SIP ou CPU ou un code de commande fourni par des circuits de commande de code de'commande de megabus (BSAD 18:6) au décodeur 423. Le décodeur de code de commande 423 peut fournir un des six signaux de sortie du circuit logique-de commande 417 indiquant la fonction demandée qui doit être exécutée. Les commandes comprennent la commande LSDSCR, demandant un chargement d'un descripteur de segment assemblé par le processeur demandeur dans la table de descripteurs de segments de l'unité d'antémémoire/ MMU, la commande LDSGBR, demandant un chargement du registre de base de segment, la commande LDMDER. demandant un chargement de bitssélectionnés dans un descripteur de segment dans le registre de mode d'anté- mémoire/MMU, la commande XLTADR, demandant une traduc-- tion d'adresse virtuelle en une adresse physique sans l'exécution d'un accès à la mémoire et le renvoi de l'adresse traduite à l'unité demanderesse, la commande IIVCTR, demandant la mémorisation du vecteur d'in- terruption dans l'unité CPU, et la commande LVLCHG, demandant un chargement du registre de niveau d'in- terruption. Il n'est pas nécessaire de connaitre les opérations exactes exécutées en réponse à une fonction- décodée pour comprendre le but et le fonctionnement de la présente invention.. Le circuit logique de commande 417 reçoit également un signal d'entrée d'un module logique d'erreur d'unité MMU 427. En général, la sortie du module 427 indique la présence d'une demande pour une ressource qui n'est pas disponible pour le moment au système de traitement de données ou l'existence d'une violation de protection de mémoire.-Par -exemple, si l'unité CPU demande une lecture de la mémoire de système à une adresse d'emplacement qui n'est pas inclus dans la mémoire de système, cette adresse est alors indiquée'&à l'uni.té CPU comme n'étant pas disponible et la mémoire de système donne cette indication par les signaux UARL (mot à gauche non disponible) et UARR (mot à droite non disponible). Pareillement, si une violation de la structure de priorité en anneau s'est produite à la suite d'une demande interdite d'un des processeurs CIP, SIP ou. CPU, celle-ci est indiquée par le signal PROV (de violation de protection). L'unité logique de commande 417 reçoit également des signaux d',entrée provenant directement de la mémoire FIFO (figure 12) et qui reflètent des transferts du megabus à l'unité d'antémémoire/ MMU en direction d'éléments contenus dans le sous- système central. Ces signaux d'entrée sont-repré- sentes aux sorties de la mémoire FIFO o ils sont désignés par FIMREF, FIBYTE, FIWRIT, FISHBC, FILOCK, FIDBPL, FIDBWD, FIREDR, FIREDL et FIYELO. Les fonc- tionnalités de certains de ces signau'x n'ont pas été décrites mais on notera, cependant, que les fonctionnalités des signaux FIBYTE et FIDBWD corres- pondent respectivement aux significations des signaux BYAD et DBLW qui ont été précisées à propos du bus local. Les signaux FIREDR, FIREDL et FIYELO défi- nissent ensemble l'intégrité des données transférées pendant ce même cycle de bus. Le signal FIREDL à l'état vrai indique que les données qui l'accompagnent sont erronées. Ce signal est utilisé par la mémoire de système dans une réponse à une opération de lecture pour indiquer une erreur incorrigible dans le mot le plus à gauche ou de poids fort (si deux mots sont renvoyés en parallèle). Si un seul mot est renvoyé, il est considéré comme étant le mot de poids fort. Le signal FIREDR à l'état vrai indique également que les informations transférées qui l'accompagnent sont erronées. Ce signal est utilisé par la mémoire dans une réponse à une demande de lecture pour indiquer une erreur incorrigible dans le mot de poids faible renvoyé (si deux mots sont renvoyés en parallèle). Un exemple d'erreur qui peut se produire en mettant les signaux FIREDR et FIREDL à l'état vrai est une erreur de parité incorrigible dans les mots appropriés des données renvoyées. Le signal FIYELO à l'état vrai pendant une seconde moitié de cycle de bus, indique que les informations transférées qui l'accompagnent sont correctes, mais qu'une opération de correction d'erreur a été exécutée. Il désigne donc un défaut de programme tel qu'une erreur de parité corrigée et il est pris en consi- dération pour indiquer qu'une action de maintenance doit être entreprise avant que le défaut devienne incorrigible. Quand une mémoire EDAC (de détection et de correction d'erreur) est utilisée, le signal FIYELO à l'état vrai indique alors qu'une erreur de parité à un seul bit, par exemple, a été détectée et corrigée par la mémoire. La fonction du signal FIJBPL (d'extraction double) sera définie dans la suite, mais on peut dire dès maintenant qu'en général, il indique que deux cyles de bus doivent être utilisés pour trans- férer une succession de mots simples au lieu d'utiliser un seul cycle de bus pour- transférer deux mots en parallèle. Les signaux de sortie de l'unité logique de commande 417 comprennent ceux qui sont indiqués comme étant des signaux de commande d'antémémoire CACNTRL 0:10. Ces signaux sont les'mêmes signaux d'état que les signaux FICNTRL 0:10 décrits plus haut et qui comprennent les signaux CAMREF, CABYTE, CAWRIT, CASHBC, 'CALOCK, CADBPL, CADBWD, CAREDR, CAREDL et CAYELO transférés par l'adaptateur de megabus, représenté sur la figure 12, au megabus. Les signaux de sortie de données-arrivant- maintenant DCNNCP, DCNNSI et DCNNCI signifient qu'un cycle de réponse est dirigé par l'unité d'antémémoire/ MMU respectivement vers les processeurs CPU, SIP et CIP. Quand ces signaux sont reçus par les processeurs cor- respondants, ils servent à valider la synchronisation des signaux de données, d'adresse et de commande transférés dans les registres appropriés dans les unités de processeur. La ligne LBINTEGRITY représentée sur la figure 11 indique collectivement les signaux LBREDR, LBREDL, LBYEL0, LBUARL, LBUARR et LBPROV transmis aux processeurs CIP, SIP et CPU pour indiquer l'état des données transférées. Le signal INPNDG esttransmis uniquement entre l'antémémoire et l'unité CPU pour indiquer à l'unité CPU qu'une interruption de niveau de priorité supérieur au niveau de priorité d'interruption en cours a été acceptée par l'antémémoire/MMU. Les signaux MYCHN1 et MYCHN2 sont transmis de l'unité d'antémémoire/MMU à l'unité CPU pour informer l'unité CPU du numéro de canal qui lui est attribué. Ces lignes représentent respectivement les sorties 21 et 22 d'un commutateur HXRTRY (commutateur rotatif d'hexadécimal) situé dans l'unité d'antémémoire/MMU qui définissent, comme on l'a mentionné plus haut, les numéros de canal attribués manuellement de.l'unité d'antémémoire/MMU et des pro- cesseurs qui lui sont associés. - Le signal LBACKR engendré par l'unité logique de commande 417 transmet les signaux ACK et NAK bien connus, d'accusé de réception et d'accusé de réception négatif, entre les unités reliées au megabus ou entre l'antémémoire/MMU et l'un des processeurs CPU, SIP, CIP. Le signal LBACKR est un signal binaire comportant deux états dont l'un signifie un accusé de réception ACK et l'autre un accusé de réception négatif NAK. Le dernier signal représenté sur la figure 11 est le signal LBLKNC qui n'a une signification que pendant une demande de lecture de mémoire bloquée- -envoyée à la mémoire de système. Quand le signal LBLOCK est à l'état vrai et que le contenu d'un emplacement de mémoire adressé se trouve dans l'antémémoire, le signal LBLKNC.demande à la mémoire de système de ne pas exécuter l'opération de lecture actuellement s15 demandée mais de mettre à un/remettre à zéro sa bascule de blocage et de renvoyer les données dans l'anté- mémoire/MMU. Puisque le système de la présente invention peut comprendre différents types de modules de mémoire (ainsi qu'on l'expliquera dans la suite), la réponse exacte du module de mémoire à un signai LBLKNC peut varier. - Les figures 13, 14 et 15 représentent sous forme schématique l'interface respectivement des processeurs CPU, CIP et SIP avec le bus local. Comme on a déjà fait une description approfondie de la structure de l'unité CPU, il suffit de considérer seulement les éléments d'interface représentés sur les figures 13-15 pour comprendre la présente invention. Sur la figure 13, l'interface d'unité CPU comprend un registre d'interface spécialisée 451 qui reçoit les signaux RQGTCP et DCNNCP transmis par le - bus local à l'unité CPU par l'adaptateur de bus local. Le signal RQGTCP sert de signal de validation pour déclencher un transfert d'informations de l'unité CPU * 84 à une unité de destination pendant un cycle de bus particulier. Le signal DCNNCP valide les éléments d'interface sur la figure 13 pour recevoir des informations par le bus local. - -Les définitions des signaux reçus et/ou émis par les registres représentés sur la figure 13 ont été données plus haut à l'exception du signal de sortie d'un registre d'adresse virtuelle de CPU 453. Ce registre reçoit et émet 23 bits d'adresse CPVADR 0:23 correspondant à une adresse virtuelle quand une référence de.mémoire est déclenchée par l'unité CPU ou à un numéro de canal de destination-quand un échange d'informations entre un dispositif d'entrée- sortie ou une autre unité et une unité autre que la mémoire est demandé. Le signal de sortie CPBYAD-est un signal à un seul bit indiquant si le multiplet 1 ou le multiplet 2 d'un mot de données est concerné. Le registre d'état de CPU 452-reçoit prin= cipalement des signaux d'entrée pour informer l'unité - 20 CPU de l'état des autres éléments dans le système. Le registre d'état signale la présence-d'une unité CPU opérationnelle dans le système par le signal CPPRZT. Le registre de commande de CPU 457 engendre les commandes à neuf bits comprenant un numéro de canal local à trois bits et six bits de données*de commande. Puisque l'unité CPU peut recevoir et-émettre - des données, elle comprend un registre d'entrée de données de CPU 459 et un registre de sortie de données de CPU 461. Comme le montre le registre de sortie -de données de CPU 461 de la figure 13, trente-deux bits de données sont dirigés dans une *partie de réception de données et quat.re bits de parité sont dirigés dans une partie de bits de parité. Ces mêmes informations, c'est-à-dire les quatre bits de parité sont chargés en double dans le registre d'entrée de données de CPU 459 et, en fait, sont chargés da.ns tout élément du système qui émet'ou reçoit deux mots de données simultanément. Enfin, le registre de commande de référence de mémoire de CPU 463 de la figure 13 engendre les informations qui décrivent le type d'opération demandée par l'unité CPU et définissent les multiplets dans un mot de données adressé auquel l'unité veut avoir accès. Les figures 14 et 15 représentent sous forme schématique, les parties d'interface de bus local des processeurs CIP et SIP. Les détails, autres. que ceux présentés sur les figures 14 et 1-5, con- cernant les nombreux autres éléments qui sont inclus dans les processeurs CIP et SIP, ne sont pas né- cessaires pour comprendre la présente invention et ils sont, d'ailleurs, bien connus de l'homme de l'art. Sur la figure 14, le signal de demande accordée envoyé au processeur CIP (RQGTCI) indique qu'un cycle de bus a été accordé au processeur CIP et valide le transfert d'informations par le bus. local. Le signal DCNNCI informe le processeur CIP qu'un cycle de bus est dirigé vers lui et que les données sont transférées pendant le cycle de bus. Le signal 0CNNCI valide ainsi les registres dans. la partie d'interface du processeur.CIP pour accepter les informations transférées par le bus local. La figure 15 représente sous forme schéma- tique le dispositif d'interface dans le processeur SIP pour recevoir et pour émettre des informations en direction d'autres éléments du système par le bus. local. Dans l'exemple de réalisation de la présente invention décrit ici, le signal RQGTSI qui est engendré par le registre de demande accordée et transféré au processeur SIP par le bus local, valide le processeur SIP pour le transfert d'informations en direction du 2'480460 bus local à partir des registres représentés sur la figure 15. Le signal DCNNSI qui accompagne un transfert d'informations en direction du processeur SIP, valide les registres de la figure 15 pour accepter les in- formations provenant du bus local. La figure 12 représente sous forme schéma- tique, la partie de l'Unité.d'antémémoire/MMU qui sert d'interface entre un sous-système central et le mégabus. Cette partie d'interface avec le megabus, qui est l'adaptateur de m6gabus, fournit les signaux de sortie, mentionnés plus haut, de la mémoire FIFO, c'est-à-dire les 32 bits des données transférées à partir du mega- bus, MBDT 0:32, et l'adresse des megabus-transférée, FIAD 0:24. Pareillement, les données transférées à partir du bus local, LDTR 0;32, l'adresse de bus local, LBAD 011:24 et les signaux de commande, par exemple, CAMREF, CABYTE,-CAWRIT, etc. engendrés par l'unité logique de commande 417 (figure 11) sont trans- férés par le dispositif de la figure 12 jusqu'au megabus. Avant de considérer les détails de la figure 12, on va d'abord considérer certaines parties des figures 16-18, car ces figures représentent sous forme schématique la partie d'interface des modules de mémoire 106 convenable pour une utilisation dans le système de traitement de données de la présente in- vention-. Comme on l'a expliqué plus haut, le bus local a une capacité de transfert de 32 bits de données en parallèle dans un sous-système central. Pareillement, le megabus peut transférer dans les deux sens 32 bits de données en parallèle. Le système a pourtant comme caractéristique que le megabus peut servir d'interface avec des modules de mémoire ou avec d'autres unités de traitement qui ne peuvent transférer que 16 bits de données en parallèle. Ainsi, si un sous-système central dirige 32 bits de données pendant un cycle de bus en direction de l'unité d'antémémoire/MMU 103 pour un transfert par.le mégabus Jusqu'à un module. de mémoire 106 et si le module de mémoire ne peut recevoir que 16 bits en parallèle, comme sur les- figures 16 et 17, l'unité d'antémémoire/MMU et, en particulier, l'adaptateur de mdgabus, engendrent deux cycles de bus et transfèrent 16 bits pendant chaque cycle.-Pareillement, si un. module de mémoire 106 répond à une demande de lecture de deux mots ou 32 bits, l'adaptateur de mégabus émet deux cycles de. mégabus pour le module de mémoire de transfert de manière à ce que tous les 32 bits de données demandés soient transférés et assemblés dans un champ. de données de 32 bits en parallèle. Sur la figure 12, le megabus 501 transfère les 32 bits de bus de données BSDT (plus 4 bits de parité), une adresse de bus à 24 bits BSAD (plus I bit de parité), et des nombreux-signaux de commande jusqu'à un réseau émetteur-récepteur 503. Quand une des unités reliées-au me'gabus transfère des infor- mations par le mgabus jusqu'à l'adaptateur de mdgabus d'un sous-système central, le réseau d'émetteurs- récepteurs 503 valide, par exemple; le transfert des 32 bits de données BSDT dans la mémoire FIFO 505 de la figure 12. Cependant, quand le transfert se fait de l'unité d'antémémoire/MMU à une unité reliée au mégabus,- les 32 bits de données, LDTR 0:16 et MYDT 0:16 sont transmis par les émetteurs-récepteurs 503 jusqu'aux lignes de données ee megabus BSDT. Dans un autre exemple, le signal de commande BSBYTE; transféré d'une unité reliée. au mdgabus à l'unit:é d'antémémoire/ MMU par le mégabus, est transmis par le réseau 503 à la mémoire FIFO. A la sorti.e d'un sous-système central, le signal correspondant CABYTE engendré dans 8 ce sous-système central est envoyé à la ligne BSBYTE du megabus 501 par le réseau 503. La plupart des signaux de commande circulant dans le megabus sont les doubles des signaux.de com- mande-de bus local qui ont été définis plus haut, aussi on peut se référer à la description qui précède pour immédiatement comprendre la signification de ces signaux. Ces signaux comprennent les signaux BSREQT, BSDCNN, BSWAIT, BSLKNC, BSQLTA, BSMCLR, BSPWON, BSRINT, BSTRAP> BSDT, BSAD, BSMREF, BSBYTE, BSWRIT, BSSHBC, BSLDCK, BSDBWD, BSREDR, BSREDL et BSYELO. Les autres signaux de commande vont être décrits en détail. Le signal BSREQH indique une demande de bus de niveau de priorité élevé en provenance d'une Unité de niveau de priorité élevé reliée au m9gabus. Quand ce signal est à l'état vrai, il indique qu'une ou plusieurs unités dans le groupe des unités de niveau de priorité élevé reliées au mdgabus ont demandé un cycle de bus. Quand ce signal est à l'état faux, il indique qu'il n'y a pas -de dermiandes en attente qui proviennent des unites de niveau de priorité élevé. Le signal BSREQL à l'état vrai indique qu'une ou plusieurs unités dans un groupe d'unités, de niveau de priorité bas reliées au mégabus ont demandé un cycle de bus. Pareillement, quand le signal est à l'état faux, il indique qu'il n'y a pas de demandes en attente qui proviennent d'unités du groupe d'unités de niveau de priorité bas. Le concept de regroupement des unités reliées au mègabus en un groupe de niveau de priorité élevé et un groupe de niveau de priorité bas ne constitue pas une caractéristique de la présente invention. En effet, il est bien connu dans la technique qu'on affecte à des unités particulières *Z480460 des niveaux de priorité différents selon la conception d'un système de traitement de-données. Par exemple, une unité centrale de traitement a un niveau de priorité bas et une unité de mémoire a un niveau de priorité élevé. Une telle répartition de priorités permet de s'assurer que chaque fois que l'unité de mémoire peut transférer des données en réponse à une demande de lecture de mémoire, un cycle de bus est accordé à la mémoire avant qu'un cycle de bus soit accordé à l'unité centrale de traitement. La raison d'être de cette répartition de priorités est que l'unité centrale de traitement émet la demande de lecture de mémoire et qu'elle doit attendre les informations demandées. La ligne de données BSTIE représente un autre groupe de signaux de priorité utilisés par l'adaptateur de megabus pour choisir parmi les demandes de cycles de megabus et pour-déterminer à quelle unité reliée au megabus doit être accordé le cycle de megabus suivant. Le groupe de signaux représentés par la ligne BSTIE comprend les signaux BSIUOK, BSHUOK, BSGUOK, etc. qui sont transmis par le megabus sur des lignes spécia- lisées de manière que chaque unité reliée au megabus puisse demander un cycle de megabus ou puisse accepter de recevoir des informations d'une manière ordonnée. Un dispositif et un procédé appropriés pour exécuter les routines ou programmes d'interruption de connexion pour permettre à un système commandé d'avoir accès à une unité reliée au megabus et à l'unité d'antémémoire/ MMU est décrit en détail dans le brevet des E.U.A. n 4 050 097, du 27 septembre 1976, intitulé: "SYNCHRONIZATION TECHNIQUE FOR DATA TRESFERS OVER AN ASYNCHRONOUS COMMON BUS NETWORK COUPLING DATA PROCESSING APPARATUS", déposé par la demanderesse. Puisque la description du fonctionnement précis du-dispositif d'interruption de connexion contenu dans l'unité d'antémémoire/MMU et les unités reliées au megabus n'est pas nécessaire pour comprendre complètement la présente invention, et comme le brevet cité décrit endétail les séquences de synchronisation et les éléments opérationnels utilisés dans le dispositif d'interruption de connexion, ces détails ne seront pas décrits dans la suite. Les signaux BSACKR et BSNAKR correspondent aux valeurs du signal LBACKR définies plus haut. Ainsi, le signal BSACKR indique qu'une unité esclave a accepté un transfert à partir d'une unité maître et que, par exemple, ce transfert peut être issu d'un module de mémoire à la suite d'une demande de lecture ou d'écriture dans sa direction par un des processeurs de sous-système central au moyen de l'unité d'antémémoire/MMU. Par'eillement, le signal BSNAKR indique que l'unité esclave refuse le transfert pour des raisons qui peuvent être spécifiques de l'unité esclave particulière. En général; le signal BSNAKR est rendu visible par programme pour que des actions spécifiques à prendre deviennent la conséquence d'une décision programmée. Quand le signal est.utilisé pour indiquer que l'unité esclave est occupée, cela implique que l'état occupé de l'unité esclave persiste pendant un intervalle de temps relativement long. En dehors du fait qu'une unité esclave adressée émette un signal BSACKR, BSWAIT ou BSNAKR, il est aussi possible que cette unité n'émette aucune réponse du tout. Ainsi. si plusieurs microsecondes s'écoulent après l'émission d'un signal BSDCNN par l'adaptateur de-megabus indiquant qu'un transfert de données est dirigé vers l'unité esclavb pendant un cycle de bus particulier et qu'aucune réponse n'arrive de l'unité escl-aye, la conclusion est que l'unité esclave adressée-n'existe pas d.ans le système. Chaque système contient au moins un contrôleur de 9'9 temps mort par bus, c'est-à-dire pour le bus local et pour le megabus qui émet un signal NAK d'accusé de-réception négatif au nom de l'unité esclave absente. Cela élimine toute suspension de traitement qui aurait lieu autrement. La structure et le fonctionnement d'un contrôleur de temps mort de sécurité sont bien connus dans la technique de traitement de données. On notera en outre à propos du signal de réponse BSWAIT qu'une unité maître ayant reçu ce signal cherche à obtenir le cycle de bus qui suit par le dispositif d'interruption de connexion men- tionnâ plus hiut. L'unité maître ayant.un niveau de priorité élevé peut prendre -possession-de tout cycle de bus unique à l'exception de ceux émis par des unités de niveau de priorité supérieur jusqu'à ce qu'une r9ponse autre WAIT (d'attente) Soit'reçue. Avant de définir les -Fonctionnal.ités des autres signaux de megsbus, on va expliquer les cor- respondances des élémen-ts des figures 16, 17 st-18 ' avec ceux de la figure 12. Les figures 16-18 représentent les parties d'interface de trois types différents de modules de mémoire qui peuvent être relias au megabus pour constituer une interface avec l'unité d'antémémoire/ MMU et le sous-système central. La figure 16 repré- sente sous forme schématique les registres inclus dans un module de mémoire de largeur simple et à extraction simple. Dans l'exemple de réalisation de la présente invention qui est décrit, une mémoire de largeur simple et à extraction simple constitue une mémoire pouvant recevoir et émettre 16 bits de données en parallle et ne pouvant émettre qu'une seconde moitié de cycle de bus en réponse à une demande de lecture de mémoire. Le dispositif d'inter- face représenté sur la figure 16 comprend un registre d'entrée de donnéesBO01, un registre de sortie de données 603, un registre d'entrée d'adresse 605 et un codeur de destination de réponse 807. Comme on l'a décrit plus haut, quand une unité reliée au megabus, par exemple le soussystème central, demande une lecture de mémoire d'une mémoire de largeur simple et. à extraction simple, 24 bits d'informations d'adresse BSAD 0:24 sont transmis au registre d'entrée d'adresse 605 et le numéro de canal de l'unitédemanderesse -est transmis par les lignes BSDT 0:32 jusqu'au registre d'entrée de données 601.-Le module de mémoire essaie de lira l'emplacement désigné par l'adresse et s'il y parvient, il dirige le numéro de canal du demandeur dans le champ d'adresse BSAD 0:24 au moyen du codeur de destination de réponse 607, et - envoie 16 bits de données dans le registre de sortie de données 803. Le module de mémoire demande un cycle de bus au moyen du registre de réponse de mémoire 609 de la figure 16, ce qui met le-signa.l BSREQT à l'état vrai et, si le module s'assure un cycle de bus au moyen du dispositif d'interruption de connexion et - les signaux BSTIE reçus et émis par le registre de priorité de bus 611, les données dans le registre de sortie de données 603 et le numéro de canal de destination dans le codeur de destination de-réponse 607 sont transférés jusqu'au megabus. Le-dispositif d'interface pour un module de mémoire de largeur simple et à extraction simple représenté sur la figure 16 comprend en outre un registre d'état de système 613 et un registre. de commande de transfert 615 pour recevoir et émettre, commeail est indiqué, les différents signaux pour contrôler le fonctionnement du module de mémoire par rapport à on:tefase avec le megabus. La fonctionnalité des signaux BSRLTO, BSQLTI et BSEXTC sera décrite dans la suite. La figure 17 représente sous forme schéma- tique le dispositif d'interface pour un module de mémoire de largeur simple et à extraction double qui peut être également connecté au megabus. Ce type de module de mémoire fonctionne essentiellement d'une manière identique au module de mémoire de la figure 16 en ce qu'il reçoit et transfère 16 bits de données en parallèle au moyen de son registre d'entrée de données 621 et de son registre de sortie de données 623. Le registre de réponse de mémoire 625 est également sensible aux mêmes signaux que le registre de réponse de mémoire 609 du module de mémoire de la figure 16. Pareillement, le codeur de destination de réponse 627, le registre d'entrée d'adresse 629, le registre d'état de système 631 et le registre de priorité de bus 633 reçoivent et émettent les mêmes signaux que les éléments équivalents de la figure 16. La différence importante entre le module de mémoire de largeur simple et à extraction simple de la figure 16 et le module de mémoire de largeur simple et à extraction double de la figure 17 est due au registre de commande de transfert 635 de la figure 17. En plus de tous les signaux d'entrée et de sortie du registre de commande de transfert 615 du module de mémoire de la figure 16, le registre de commande de trar.sfert.635 de la figure 17 reçoit le signal supplémentaire BSDBPL qui, lorsqu'il est à l'état vrai, permet au module de mémoire de largeur simple et à extraction double d'engendrer deux secondes moitiés de cycles de bu:s en réponse è une demande de lecture de mémoire à moins que les adresses demandées s'écartent d'une limite de module de mémoire ou que la seconde adresse ne soit pas physiquement présente dans la mémoire de système. Ainsi, au lieu d'émettre simplement un mot de 16 bits en réponse à une demande de lecture, le module de mémoire de largeur simple et à extraction double transfère successivement, quand le signal BSDBPL est à l'état vrai, deux mots de 16 bits associés chacun à une seconde moitié de cycle 'de bus différentes Les avantages offerts par un module de mémoire de largeur simple et à extraction double seront évidents pour l'homme de l'art puisqu'un tel module permet de diminuer le nombre de demandes de mémoire en permettant à une seule demande de mémoire de provoquer le transfert de deux mots de données. La figure 18 représente sous forme schéma- tique un dispositif d'interface entre un troisième type de module de mémoire et le megabus. Ce type de module de mémoire est appelé module de mémoire de largeur double et à extraction simple qui permet un transfert de 32 bits de données en parallèle pendant un cycle de bus. Les signaux transmis entre le megabus et le registre de réponse de mémoire 649, le codeur de destination de réponse 643, le registre d'entrée d'adresse 645, le registre d'état de système 647 et le registre de priorité de bus 649 du module de mémoire de la figure 18 sont identiques aux signaux correspondants des modules de mémoire des figures 16 et 17. Cependant, il existe des différences dans le registre de sortie de données 651,-le registre d'entrée de données 653 et le-registre de commande de transfert 655. D'abord, le registre de sortie de données 651 et le registre d'entrée de données 653 peuvent maintenant traiter 32-bits de données en parallèle. De plus, trois signaux supplémentaires sont transmis entre le -megabus et le registre de commande de trans- fert 655 et ils sont ensuite transmis au dispositif d'interface de la figure 17,, Ces signaux sont les signaux BSLKNC, BSRESQ et BSDBWD. La fonctionnalité du signal BSLKNC a été déjà définie en référence au bus local et au signal LBLKNC. Le signal BSDBWD à l'état vrai indique que la demande de mémoire implique 32 bits de données en parellàla, soit à écrire dans le module de mémoire, soit à Iire dans ce module. Le registre de commande de transfert 655 du module de mémoire de la figure 18 reçoit en outre et transmet le signal BSRESQ qui est mis à l'état vrai par le module de mémoire répondant qu'il est capable de transférer 32 bits de données en parallèle en association avec le Bignal BSACKR pour indiquer à l'unité demanderess; de mémoire que la mémoire est en mesure d'adapter dés transferts de données d'une largeur de 32 bits. Ue caractéristique de la présente invention est que i'adaptateur de magabus valide un sous- systeme central pour échanger des informations avec l'un quelconque des trois types de modules de mémoire décrits en référence aux figures 16, 17 et 18. Cette fonction est réalisée sans que l'un des processeurs CPU. SIP, CIP ait a reconnaître ou à tenir compte de cet échange d'informations avec un type particulier de module de mémoire. Ainsi, si l'unité CPU demande une lecture de largeur double de la mémoire de sys- teme, l'adaptateur de-megabus répond -avec les 32 bits de données demandés indépendamment du fait qu'ils soaient mémorisés dans un module de mémoire de largeOr simple et à extraction double ou dans un module de mémoire de largeur double. Cela est rélisé par l'adap- tateur de megabus qui engendre et reconnaît des valeurs particulières des signaux de co'mmande BSDBPL, BSDBWD et BSRESQ de la manière suivante avec les autres signaux de commande. 98. Si un des processeurs de sous-système central demande une lecture de deux mots en parallèle, il fournit l'adresse de mot de mémoire dans les bits 0-24 du champ d'adresse de bus local (LBAD) et son propre numéro de canal est placé dans les positions de bits 0-9 du champ de données de bus local (LBDT). Les signaux CASHBC, CAWRIT, CADBPL et CADBWD sont mis à un, le signal CAMREF est remis à zéro, et le signal CABYTE est remis à zéro ou mis à un. L'unité d'anté- mémoire/MMU transfère, au moyen du réseau émetteur- récepteur 503, les signaux qui comprennent l'adresse>, le champ de données et les signaux de commande en provenance du bus local et destinés au megabus et émet un cycle de bus pour transférer les données au module de mémoire adressé. Si l'emplacement de mémoire adressé est dans un module de mémoire de largeur simple et à extraction simple, la réponse de mémoire est -de placer le numéro de canal demandeur dans-les positions de bits 8-17 du champ d'adresse BSAD et un mot de données (16 bits] dans les positions-de bits 0-15 du champ de données BSDT. Les signaux BSMREF, BSWRIT, BSDBPL, BSDBWD, BSLOCK et BSLKNC sont mis-à un et le signal BSSHBC est remis à zéro. L'adaptateur de megabus reconnaît à partir de la combinaison de signaux de commande reçus du module de mémoire que 16 bits de données ont été seulement renvoyés et il- émet une autre demande de lecture de. mémoire après avoir fait progresser l'adresse transférée qrécé- demment de un de manière à obtenir les autres 16 bits des. données demandées. Si le module de mémoire répondant est un module de mémoire de largeur double, la réponse diffère en ce. que le champ de données BSDT comprend 32 bits de données, le signal BSDBWD est remis à zéro et le signal BSDBPL est mis à un. L'unité d'antémé- moire/MMU reconnait que la demande de mémoire a été satisfaite et transfère les données à l'unité deman- deresse par l'intermédiaire du bus local. Si la demande de lecture a été faite pour deux mots de 16 bits à transférer en séquence, la demande de mémoire est la même que la demande de mémoire pour les deux mots en parallèle mais le signal CADBPL est mis à un. Un module de mémoire de largeur simple et à extraction simple répond en plaçant le numéro de canal du processeur demandeur dans les positions de bits 8-17 du champ d'adresse BSAD et un mot de données dans les positions de bits du champ de données BSDT. Les signaux BSMREF, BSWRIT, BSDBPL, BSDBWD, BSLDOCK et BSLKNC sont mis à un, le signal BSSHBC est remis à zéro et le signal BSRESQ est mis à un car le module de mémoire de largeur simple et à extraction simple ne reçoit pas de signal par la ligne de signal BSRESQ. L'unité d'antémémoire/MMU se rend compte, à la récep- tion de la réponse du module de mémoire, qu'un seul mot de données a été transféré alors que deux mots avaient été demandés, aussi elle fait progresser l'adresse demandée précédemment, elle demande que les données à la nouvelle adresse soient -Fournies et, une fois qu'elle a reçu les autres 16 bits, elle assemble un mot de 32 bits à transférer au processeur demandeur. "Le module de mémoire de largeur simple et à extraction double transfère le numéro de canal de * l'unité demanderesse dans les positions de bits 8-17 du champ BSAD, un mot de données dans les positions de bits 0-16 du champ et met à un les signaux BSMREF, BSWRIT, BSDWD, BSLOCK et BSLKNC, et remet-à zéro les signaux BSSHBC et BSDBPL. Le module transfère ensuite une deuxième seconde moitié du cycle de bus, avec le même champ d'adresse, le mot de données demandé suivant dans les positions de bits 0-15 du champ BSOT, et les mêmes valeurs pour les signaux de commande à l'exception du signal BSDBPL qui est mis à un. Un processeur peut aussi demander que deux mots soient lus en parallèle ou séquentiellement. Le processeur mettrait à une valeur des positions de bits 0-22 du champ d'adresse LBAD à l'adresse de mot de mémoire et placerait son propre numéro de canal dans les positions de bits 0-9 du champ de donnée LBDT. Les signaux CASHBC, CAWRIT, CALOCK et CALKNC devraient être remis à zéro et les signaux CADBDL et CADBWD mis à un-. L'adaptateur de megabus transfère la demande au megabus et le module de mémoire adressé répond. Si le module de mémoire répondant est un module de mémoire de largeur simple et à extraction simple, sa réponse est de placer le numéro de canal du demandeur dans les positions de bits 8-17 du champ BSAD et un mot de données dans les positions de bits 0-15 du champ BSDT. Les signaux de commande doivent être mis aux mêmes valeurs que celles rela- tives au cas de demandesde lecture de deux mots en parallèle. L'adaptateur de megabus reconnaît aussi dans ce cas., en examinant les valeurs des signaux de commande renvoyés, qu'un seul mot de données sur les deux mots de données demandés a été envoyé et il engendre une demande de lecture appro- priée destinée au même module de mémoire pour obtenir le mot de données adressé suivant. A la réception des deux mots de données, l'adaptateur de megabus les transmet à l'unité demanderesse par l'intermé- diaire du bus local. Si le module de mémoire répondant était un module de largeur double, il répond exactement de la même manière qu'un module le ferait s'il devait répondre à une demande de lecture de deux mots en parallèle et il met le signal BSRESQ à un. Un module de mémoire de largeur simple ou et à extraction double répond de la mime.manière qu'un module le ferait pour une demande de lecture de deux mots en séquence. Le dispositif selon la présente invention permet d'exfcuter 7 types de cycles d'écriture non-bloquants. Dans chacune des demandes d'écriture des positions de bits 0-22 du champ d'adresse de bus BSAD sont placées à une valeur pour donner l'adresse de mot de mémoir? à écrire. Si un multiplet de données doit' tre écrit au début à cette adresse, le bit 24 du champ d'adresse BSAD est remis à zéro, les bits 0-7 du champ de données BSDT prennent la valeur des données à écrire> les signaux BSMREF, BSWRIT et BSBYTE sont remis à zéro et lès signaux BSSHBC, BSDBPL, BSDEWD, BSLOCK et BSLKNC sont mis à un. Les trois types de modules de mémoire sont capables d'exécuter cette opération d'écriture et engendrent un signal BSACKR ou un signal BSWAIT. L.e signal BSRESQ est remis à zéro. - Dans le second type d'écriture, le multiplet de poids faible du mot adressé par l'adresse de mémoire dans le champ d'adresse BSAD 0-22 est écrit. Le bit BSAD 23 est mis à un, les bits 8-15 du champ de données BSDT ont la valeur des données _ écrire, les signaux BSMREF, BSWRIT et BSBYTE sont remis à zér.o et les signaux BSSHBC, BSDBPL, BSDBWD, BSLOCK et BSLKNC sont mis à un. Les trois types de modules de mémoire sont capables d'exécuter ce type de demande d'écriture. Le troisième type d'écriture est l'écriture des multiplets -0 et 1 d'unmot adressé. La valeur du bit BSAD 23 significative-, 16 bits de données sont chargés dans le champ de données, c'est-à-dire dans les positions de bits BSDT O0-BSDT 15, les * 5 signaux BSMREF et BSWRIT sont remis à zéro, et les signaux BSSHBC, BSBYTE,-BSDBPL, BSDBWD, BSLOCK e.t BSLKNC sont mis à un. Ce type d'écriture est également exécuté de la même manière par les trois types de modules de mémoire. Dans le quatrième type d'écriture, le multiplet de poids faible du mot n et. le multiplet de poid-s fort du mot n+1 doivent être écrits. L'adresse du mot n est placée dans les positions de bits BSAD O-BSAD 22, le bit BSAD 23 est mis à un, les données sont placées dans les positions -de bits BSDT 8- BSDT 23, les signaux BSMREF,]BSWRIT, BSBYTE et BSDBWD sont remis à zéro et les signaux BSSHBC, BSDBPL, BSLOCK et BSLKNC sont mis à un. Seuls les modules de mémoire de largeur double peuvent exécuter ce type d'écriture pendant un seul cycle de bus et si les emplacements adressés sont contenus dans un module de mémoire de largeur double, le signal BSRESQ est. remis à zéro. L'adaptateur de-megabus reconnaît qu'aucune autre action n'est nécessaire dans ce cas. Si l'opération d'écriture concerne un module de mémoire de largeur simple et à extraction simple ou un module de mémoire de largeur simple et à extraction double,-le signal SSRESQ est maintenu à un car aucun de ces modules de mémoire ne reçoit le signal de la ligne BSRESQ. Dans ce cas, l'adaptateur de megabus recannait que le seul multiplet de poids faible du mot n a été écrit et il émet une autre demande d'écriture pour l'écriture du multiplet de poids fort du mot n+l. Le cinquième type d'écriture-est celui dans lequel les-deux multiplets du mot n et le muliplet de '1 poids fort du mot n+1 sont écrits. Dans ce cas, l'adresse du mot n est placée dans le champ d'adresse BSAD D00- BSAD 22, le bit BSAD 23 est. mis à un ou remis à zéro, les données sont placées dans les positions de bits BSDT O- BSDT 23, les signaux BSMREF, BSWRIT et BSDBWD sont remis à zéro, et les signaux BSSHBC, BSBYTE, BSDBPL, BSLOCK, BSLKNC sont mis à un. Le module de mémoire répond en remettant le signal BSRESQ à zéro si c'est un module de mémoire de largeur double et les emplacements adressés sont sont inclus dans ce module. Si le module de mémoire est un module de mémoire de largeur simple et à extraction simple, ou un module de mémoire de largeur simple et à extraction double, le signal BSRESQ est mis à un pour les mêmes raisons que dans le cas d'une lecture de. type quatre et l'adaptateur de megabus engendre une nouvelle demande d'écriture pour l'écri- ture du multiplet de poids fort du mot n+1. Le sixième type d'écriture consiste à écrire le multiplet de poids faible du mot n et les deux multiplets du mot n+1. L'adresse du mot n est placée dans les positions de bits BSAD O- BSAD 22, le bit BSAD 23 est mis à un, les données sont placées dans les positions de bits BSDT 8- BSDT 31, les signaux BSMREF, BSWRIT, BSBYTE, BSDBPL et BSDBWD sont remis à zéro et les signaux BSSHBC, BSLOCK et BSLKNC sont mis à un.- Si le module de mémoire dans lequel se fait l'écriture est un module de largeur double, le signal BSRESQ est encore remis à zéro pour indiquer que les trois multiplets de données ont été écrits pendant un cycle de bus. Si le module de mémoire dans lequel se fait l'écriture n'est pas un module de mémoire de largeur double, l'adaptateur de megabus émet une seconde demande d'écriture pour l'écriture des deux multiplets du mot n+1. Le dernier type d'écriture consiste à écrire deux mots ou 32 bits de données en même temps. L'adresse du mot n est placée dans les positions de bits BSAD O -BSAD 22, le bit BSAD 23 est remis à zéro ou mis à un, les données sont placées dans les positions de bits BSDT 0- BSDT 31, les signaux BSMREF, BSWRIT, BSDBPL et BSDBWD sont remis à zéro et les signaux BSSHBC, BSBYTE, BSLOCK et BSLKNC sont mis à un. Comme dans le cas des types d'écriture quatre à six, si le module de mémoire dans lequel se fait l'écriture est un module de mémoire de largeur double, le signal BSRESQ est remis à zéro quand l'écriture a été exécutée de façon satisfaisante. Si ce n'est pas le cas, l'adaptateur de megabus reconnaît à partir des valeurs des signaux de commande que les premiers 16 bits de données ont été seulement écrits dans le mot n et, en conséquence, il engendre une seconde demande d'écriture pour l'écriture du contenu des positions de bits BSOT 16- BSDT 31 dans le mot n+1. La nécessité d'un second cycle de bus est indiquée par le signal BSRESQ à zéro. Si l'on se réfère à nouveau à la figure 12, on voit que les lignes de signaux BSQLTO et BSQLTI font partie du magabus, ces lignes servant à l'exé- cution de tests logiques internes dans certaines conditions. Un signal BSQLTO est engendré en haut du système physique et introduit la première unité sur le bus par le signal BSQLTI qui est combiné logique- ment par une porte ET avec un signal qui indique que l'unité particulière a terminé son test logique. A partir de cette unité, le signal de sortie de la porte ET est envoyé à l'unité suivante comme signal BSQLTO o l'opération- est répétée. Le signal en bas du système physique, indique, quand il est-à l'état faux, que toutes les unités dans le système ont terminé successivement leur test logique. Les 24804.60 unités qui n'ont pas de moyens de test logique internes, doivent connecter de façon interne leurs lignes BSQLTO et BSQLTI. La ligne de signal BSQLTA parcourt toute la longueur du megabus et sert à acheminer le signal de continuité et de test logique réalisés du bas du système jusqu'au tableau de commande de l'unité CPU dans laquelle la ligne est reliée à un dispositif de visualisation convenable.. Le signal BSQLTA est normalement à l'état faux quand l'ensemble du système fonctionne correctsment,'-mais il est à l'état vrai au début d'un test logique. Une exécution satisfaisante de tous les test logiques de qualité dans le système remet le signal BSQLTA à l'état faux. La demande de brevet des E.U.A. n 140 621, intitulée "SELF-EVALUATION SYSTEM FOR DETERMINING 'HE OPERATIONAL INTERGRITY OF A DATA PROCESSING SYSTEM", déposée par la demanderesse, décrit un dispositif de test logique de qualité qui peut être introduit dans le système de la présente invention. Les signaux BSEXTC et BSTIMR sont des signaux divers utilisés dans le megabus et qui ne se rapportent pas spécifiquement à la présente invention. Le signal RSTIMR est engendré par chaque source d'alimentation du système et envoyé aux cartes de circuits d'un porte-cartes particulier pour fournir une transition positive à la fréquence de ligne correspondante (60 Hz ou 50 Hz). Le signal BSEXTC est transmis par une ligne reliant un bloc de cinq cartes adjacentes entre elles, ce signal provenant de l'extérieur et étant limité à des fréquences basses. L'adaptateur de megabus permet aux pro- cesseurs CPU, SIP et CIP d'un sous-système central d'écrire et de lire dans la mémoire du système ainsi que de transmettre des commandes à d'autres unités par le megabus. L'adaptateur de megabus comprend deux chemins de données presque indépendants. Le premier chemin de données permet à un sous-système central d'envoyer des informations au megabus. Cette opération est validée par les signaux d'entrée du côté droit du réseau d'émetteurs-récepteurs 503 transférant des données (LDTR 16:16 et MYDT 0:16), une adresse (MYAD 0:24) et des signaux de commande (CAMREFCAYELO) aux lignes correspondantes du megabus. Le second chemin de données permet à des informations dirigées vers le sous-système central et engendrées par des unités connectées au megabus de passer du megabus au bus local. Cela est réalisé par un registre de mémoire FIFO ayant, par exemple, la capacité de mémoriser quatre enregistrements de 72 bits d'informations ou transférées. La mémoire FIFO 505 reçoit les données de megabus BSDT 00:36, l'adresse de megabus BSAD 00:25 et les signaux de commande de megabus BSMREF-BSYELD chaque fois qu'un transfert d'informations est dirigé vers le -sous-système central ou qu'une écriture de mémoire principale est exécutée. Les informations sont écrites dans la mémoire -FIFO et aucune autre action immédiate n'est prise. Cela permet au bus local et au megabus de fonctionner preque complètement de façon asynchrone, ce qui augmente de façon im- portante l'efficacité des deux bus. Les informations mémorisées dans la mémoire FIFO0 505 peuvent être transférées sur le bus local comme des données MSOT 0:32, une adresse FIAD 0:24 et des signaux de commande.FIMREF-FIYELO. Comme on l'a déjà expliqué, le multiplexeur d'entrée de données d'antémémoire 401 (figure 11) reçoit les données de megabus MBDT 0:32, le multiplexeur d'entrée d'adresse virtuelle 405 -reçoit l'adresse de megabus FIAD 0:24 comme elle a été transf6érée par la mémoire FIFO 505 et les signaux de commande de megabus sont transférés à l'unité logique de commande 417 comme la ligne commune FICNTRL 0:10 l'indique. Le registre d'adresse d'écriture 507 enregistre le chargment d'informations de megabus dans la mémoire FIFO 505 et le registre d'adresse de lecture 509 enregistre les informations contenues dans la mémoire FIFO 505 transférées jusqu'à l'adap- tateur de bus local de la figure 11. Le détecteur d'écriture de megabus 51.1 reçoit les signaux d'en- trée BSWAIT, BSNAKR, BSACKR, BSOCNN, BSWRIT et BSMREF et, quand une certaine combinaison de signaux est détectée, engendre une commande de chargement envoyée à un circuit de commande de mémoire FIFO 513. Si les dernières informations mémorisées dans la mémoire FIFO 505 doivent êtreconservées, le circuit de commande de mémoire FIFO 513 e.ngendre des signaux de commande d'écriture WRTINC qui sont envoyés au registre d'adresse d'écriture 507 pour que les informations suivantes transférées à partir du megabus 501 par l'intermédiaire du réseau d'émetteurs- récepteurs 503 soient écrites dans l'emplacement d'adresse disponible suivante de la mémoire FIFO 505. Cependant, s'il se trouve que les informations pré- cédemment écrites dans la mémoire FIFO 505 n'ont pas besoin d'être conservées, les nouvelles infor- mations transférées peuvent être écrites sur les informations transférées en dernier. Le circuit de commande de mémoire FIFO 513 engendre également un signal REDINC représentatif et l'envoie au registre d'adresse de lecture 509 pour commander le transfert d'informations de la mémoire FIFO 505 aux unités réceptrices appropriées dans l'adaptateur de bus local. Les différents types de transferts d'in- formations dans la mémoire FIFO 505 correspondent, par exemple, à des écritures de mémoire principale adressées à un module de mémoire principale relié au megabus par une autre unité de traitement éga- lement reliée au megabus. Comme on l'a précisé plus haut, l'unité d'antémémoire/MMU doit être maintenue à jour chaque fois que de telles écritures de mémoire principale sont exécutées et, par consé- quent, les données sont saisies dans la mémoire FIFO 505 chaque fois que le détecteur d'écriture de megabus 511 détecte une écriture de mémoire principale. Les informations saisies traversent la mémoire FIFO 505 et déclenchent une demande pendant un cycle de bus local de manière à être transférées jusqu'à l'adap- tateur de bus local pour mettre à jour, s'il y a lieu, la mémoire d'antémémoire. Un second type de cycle qui est saisi par la mémoire FIFO 505 est celui d'une commande de test provenant d'une unité de processeur reliée au megabus et destinée au processeur SIP ou au pro- cesseur CIP du sous-système central. Une telle commande de test placée sur le megabus est comparable en format à une opération d'entrée-sortie et contient le numéro de canal du processeur SIP ou CIP concerné qui doit la recevoir. Si le numéro de canal est déterminé pour indiquer une unité située dans le sous-système central, les informations sont saisies dans la mémoire FIFO 505. Elle entraine-aussi la transmission d'une'demande de mémoire FIFO jusqu'au bus local et le transfert d'informations convenables jusqu'au processeur adressé SIP ou CIP. Un 'troisième type de transfert d'informa- tions saisies dans la mémoire FIFO 505 correspond à une réponse de mémoire à une demande de lecture émise par l'un des processeurs CPU, SIP et CIP d'un sous- système central. Ces réponses doivent être gardées dans un ordre de premier entré-premier sorti de flot d'informations, et puisqu'une réponse de mémoire prend la forme d'une seconde moitié de cycle de bus sur le megabus, elle doit être acceptée par la mémoire FIFO 505 et pour cela une demande de mémoire FIFO doit être envoyée à l'adaptateur de bus local et de là au processeur demandeur et'à la mémoire d'antémémoire. Une autre caractéristique de la mémoire FIFO 505, du détecteur d'écriture de megabus 511 et du circuit de commande de mémoire FIFO 513 est- qu'ils fonctionnent pour forcer l'adaptateur de bus local à transférer des informations de la mémoire FIFO 505 à la mémoire d'antémémoire ou au processeur relié au bus local de manière à s'assurer que 1a capacité de la mémoire FIFO 505 n'est pas dépassée. Cela est réalisé par l'adaptateur de megabus qui prend le contrôle de la mémoire d'antémémoire loin du bus local et engendre les commandes nécessaires pour effectuer des mises à jour dans l'antémémoire qui correspondent aux écritures de mémoire principale détectées précédemment par des unités de traitement à l'extérieur du sous-système central. Ces mises à jour d'antémémoire sont exécutées autant de fois qu'il est nécessaire pour vider.la mémoire FIFO ou détecter que la mémoire FIFO ne contient plus les informations correspondant à une écriture de mémoire principale. La raison pour laquelle la mémoire FIFO 505 pourrait être dépassée en capacité est que la priorité d'un sous-système central relié au megabus peut être à un niveau bas en Comparaison des autres unités de traitement reliées au megabus et que, par conséquent, l'adaptateur de mégabus peut être en train d'essayer d'obtenir l'accès au megabus pendant une période de temps prolongée o de nombreux transferts d'informa- tions de megabus peuvent se faire avec une mémorisation en mémoire FIFO 505. Le signal FIFOMT à l'état faux indique que la mémoire FIFO n'est pas vide, ce signal étant envoyé au réseau d'arbitrage de demandes pour qu'un cycle de bus local soit accordé à la mémoire FIFO. Sur la figure 12, le chemin de données à l'intérieur de l'adaptateur de megabus qui sert au transfert de données de megabus jusqu'à l'adaptateur de bus local est divisé en deux sous-chemins. Seize bits de données (MBDT 0:16) sont transférés par une porte OU 515 et 16 bits de donn'es (MBDT 16:16) sont transférés par un multiplexeur 517. Les signaux d'entrée de la porte OU 515 sont les signaux MBIN 0:16 provenant d'un registre d'interruption 519, les signaux MBSH 0:16 proviennent d'un registre de seconde moitité decycle de bus 521, et les signaux FIDOT 0:16 proviennent de la mémoire FIFO 505. Les signaux d'entrée du multiplexeur 517 sont les mots de données de poids-fort et de poids faible transférés à partir de la mémoire FIFO 505, c'est-à-dire, respec- tivement les signaux FIDT 0:16 et FIDT 16:16. Le registre d'interruption 519 valide l'adap- tateur de megebus pour mémoriser temporairement une interruption transférée du mégabus pour qu'elle permette à l'unité CPU de terminer l'instruction éventuellement en cours d'exécution avant de se mettre dans un état o elle puisse être interrompue. Cela peut demander plusieurs cycles de mémoire de CPU et en prévoyant le registre d'interruption 519, il est possible à l'adaptateur de megabus de reconnaître une interruption reçue et l'interruption même peut être mémorisée en dehors jusqu'à ce que l'unité CPU puisse la traiter. Quand l'unité CPU entre dans un état d'interuption possible, elle envoie une commande par l'intermédiaire du bus local à l'interface de megabus. Cette commande est signalée par la ligne SNDINT reliée au registre d'interruption 519 pour valider le transfert des signaux MBIN 0:16 dans la porte OU 515 et ainsi jusqu'à l'adaptateur de bus local. Le registre de seconde moitié de cycle de bus 521 s'adapte à la situation qui vient d'être décrite dans laquelle le sous-système central demande un transfert de deux mots en parallèle. le module de mémoire relié au megabus qui transfère les données n'ayant pas la possibilité de transférer un mot de largeur double. Un tel module de mémoire est un module de mémoire de largeur simple et à extraction double décrit plus haut qui délivre deux mots en série pendant des secondes moitiés de cycles de bus de megabus successifs ou un module de mémoire de largeur simple et à extraction simple qui exige un cycle de mémoire pour chaque mot délivré. En fait, quand les deux mots de données demandés ne sont pas transférés en parallèle, le registre de seconde moitié de cycle de bus 521 mémorise le premier mot transféré et le second mot transféré est écrit dans la mémoire FIFO 505. Quand ce mot en mémoire FIFO 505 est engendré à la sortie, les signaux MBSH 0:16 sont transférés du registre de seconde moitié de cycle de bus 521 à la porte OU 515 en même temps que les signaux FIDT 0:16 sont transférés au multiplexeur 517. Cela permet d'assembler dans la séquence appropriée les 32 bits de données demandés. - 2480460 Si les 32 bits de,données sont reçus pendant un seul cycle de bus, ils sont transférés dans la mémoire FIFO 505 et de la sortie de celle-ci sont transmis à l'adaptateur de bus local. Le signaux FIDT 0:16 peuvent être transférés jusqu'à la porte OU 515 et les signaux FIDT 16:16 sont sélectionnés à l'entrée du multiplexeur 517. Le multiplexeur 517 reçoit également un troisième groupe de signaux FIAD 0:7 qui est sélec- tionné pendant certaines opérations de mode de test o une adresse d'entrée-sortie de mode doit être transférée du megabus à l'un des processeurs CIP et SIP du sous-systèms central. Dans une telle opération, l'unité reliée au megabus place 16 bits à interpréter comme partie d'une adresse sur les lignes MBDT 0:16 et huit bits supplémentaires sur les lignes BSAD 0:7. Comme ces bits passent dans la mémoire FIFO 505, les bits de données deviennent les bits FIDT 0:16 et les bits d'adresse deviennent les bits FIAD 0:7. Les bits de données sont transférés par la porte OU 515 pour devenir les bits MBDOT 0:16 et le multi- plexeur 517 sélectionne les huit bits d'adresse pour qu'ils deviennent les bits MBDT 16:8, le reste du champ de données étant rempli avec des bits à zéro. En utilisant le champ de données pour 16 bits et le champ d'adresse pour-8 bits, l'opération de mode de test peut être exécutée par des dispositifs qui ne peuvent transférer que 16 bits de données en parallèle. Les données sont transmises du bus local au megabus par 32 lignes spécialisées LFTR 0:32 (plus 4 lignes de parité). Les lignes de données sont reliées à l'entrée d'un multiplexeur de sortie de données 523 de même que la ligne de numéro de canal de l'unité d'antémémoire/MMU acheminant un signal engendré par le commutateur rotatif en hexadécimal mentionné plws haut et envoyé au multiplexeur de sortie de données 523 par la ligne MYCHN. La sortie du multiplexeur de sortie de données 523 engendre les 16 bits du champ de données de sortie MYDT 0:16. Les signaux LDTR 16:16 sont également envoyés direc- tement au réseau d'émetteurs-récepteurs'503 de manière à ce que le champ de données de sortie de 32 bits de largeur, DSDT 0:32, comprenne les signaux LDTR 16:16, LDTR 0:16 ou MYCHN dans les 16 positions de bits de poids fort, et les signaux LDTR 16:16 - dans les 16 positions de bits de poids faible. La fonction du multiplexeur de sortie de données 523 est de valider l'unité d'antémémoire/MMU pour un transfert de 32 bits en parallèle ou de deux mots de 16 bits en série, selon le type d'unité de trai- tement de destination reliée au bus local. Le signal MYCHN est aussi envoyé à un décodeur de numéro de canal 525 avec les 9 bits du champ d'adresse BSAD 11:9. Cela permet à l'adap- tateur de megabus de déterminer si une réponse est dirigée vers le soussystème central qui lui est associé. Si c'est le cas, le signal ITSAME est mis à l'état vrai et envoyé au registre de commande d'interruption 527. Un comparateur de niveaux 529 reçoit le niveau transmis avec une demande d'inter- ruption provenant du champ BSDT 10:6 du megabus et le numéro de niveau LDTR 26:6 du traitement qui est en cours dans l'unité CPU. La sortie du comparateur de niveaux 529 est reliée à une entrée d'un circuit de commande d'interruption 527 qui met le signal MYINT à l'état vrai si le numéro de niveau de l'in- terruption demandée est supérieur (d'un niveau de priorité supérieur ou plus élevé) au niveau de trai- ternent en cours dans l'unité CPU. 2-480460 Un générateur d'adresse d'unité arithmé- tique et logique ALU 531 est utilisé par l'adap- tateur de m'gabus pour que les adresses convenables soient engendrées en fonction du type d'unité reliée au mégabus qui est adressée. Le générateur d'adresse de ALU 531 reçoit l'adresse de bus local par les lignes LBAD 0:23 et est agencé pour faire progresser l'adresse de 0 ou de 1. Si -l'adresse demandée par les lignes LBAD 0:23 est une des adresses d'un module de mémoire de largeur double ou de largeur simple et à extraction double, il n'est pas nécessaire de - faire progresser l'adresse de sortie MYAD 0:23 car ces types de modules de mémoire peuvent transférer les 32 bits demandés. Cependant, si le module de mémoire adressé est un module de mémoire de largeur simple et à extraction simple, les signaux MYAD 0:23 sont d'abord transférés sur les lignes BSAD 0:23 par le réseau 503 et ensuite l'adaptateur de mégabus engendre un nouveau cycle de lecture ou d'écriture pendant lequel le générateur d'adresse de ALU 531 envoie les signaux d'adresse MYAD 0:23 + I sur les lignes BSAD 0:23. Les deux mots appropriés sont ainsi adressés dans le module de mémoire et transférés par le m4gabus jusqu'à-l'adaptateur de mégabus. L'adaptateur de-megabus comprend en outre un circuit logique de mode d'esclave de mégabus 533 pour contrôler la réponse de l'unité d'antémémoire/MMU à une demande faite par une unité de traitement reliée au megabus et à une réponse faite par une unité de traitement reliée au mégabus à une demande précédente d'un processeur de sous-système central. Pareillement, l'adaptateur de megabus comprend un circuit logique de commande de mode de maître de megabus 535 qui déclenche un transfert de meégabus en réponse à des signaux de commande provenant * du bus local, c'est-à-dire aux signaux CAWRIT-CABYTE. Le circuit logique de commande de mode de maîtr.e de megabus 535 et le circuit logique de réponse de mode d'esclave de megabus 533 ont une conception classique et ne constituent pas une caractéristique de la présente invention. D'une façon générale, ces circuits logiques permettent au-megabus d'engendrer les signaux DCNN nécessaires pour synchroniser les transferts de données et d'adresse vers l'extérieur du megabus par l'intermédiaire du réseau d'émetteurs-récepteurs 503. Ces circuits logiques engendrent également les signaux ACK, NACK, et WAIT pour des réponses renvoyées au megabus. Ces signaux sont connus dans la technique des unités de traitement CPU, des contrôleurs et des interfaces de mémoire. La structure et le mode de fonctionnement du circuit logique de réponse de mode d'esclave de megabus 533 et du circuit logique de commande de mode de maître de megabus 535 seront décrits dans la suite à propos de la description détaillée des circuits logiques. On va maintenant décrire un exemple de réalisation préféré de l'adaptateur de bus local selon la présente invention. Comme on l'a déjà précisé, l'unité d'anté- mémoire/MMU d'un sous-système central comprend un adaptateur de bus local pour contrôler le transfert d'informations par le bus local entre les processeurs CPU, CIP, SIP et l'unité d'antémémoire/MMU. Le dispo- sitif significatif dans l'adaptateur de bus local est représenté en détail dans les schémas-fonctionnels logiques des figures 20A-32B. Pour faciliter la compréhension de l'invention, toutes les -figures, des figures 20A à 32B, comportant une partie A et une partie B, telles que celles des figures 20A et 20B, seront séparées des autres figures et réunies côte-à- côte selon la disposition indiquée sur la figure 19. 24804.60 114-- De cette manière, chacun des schémas comportant des parties A et B peut être considéré comme une feuille intégrée. La structure et le fonctionnement de base de l'adaptateur de bus local de l'unité d'antémémoire/ MMU ont été décrits en.référence aux figures 11, 13, 14 et 15 mais ce qui suit permettra de compléter la description de l'exemple de réalisation préféré de l'adaptateur de bus local selon la présente invention. Les schémas logiques des figures 20A-32B représentent des pastilles logiques de circuits intégrés classiques et connues qui sont disponibles chez les fabricants de circuits intégrés commercialisés. Un code d'identification de partie individuelle est indiqué sur chaque élément représenté. Par exemple, le multiplexeur 01A06 de la figure 20A est une pastille de circuit multiplexeur classique fabriqué sous le numéro d'identification 74S64-par Texas Instruments. En fait, toute pastille de circuit ayant une désignation commerciale commençant par 74 est fabriquée par Texas Instruments et des détails supplé- mentaires sur ces circuits se trouvent dans la publi- cation de Texas Instruments de 1976, 2ème édition, intitulée "iTHE TTL DATA BOOK FOR DESIGN ENGINEERS". Ces désignations commerciales sont évidentes pour l'homme de l'art. Les figures 20A, 206 et 21 représentent un exemple de réalisation du multiplexeur d'adresse virtuelle de la figure 11. Le-circuit 01B06 de la figure 20A est décrit à titre d'exemple. Ce circuit comprend quatre portes ET comportant plusieurs entrées et une porte OU recevant les signaux de sortie des portes ET. Une seule porte ET parmi les quatre a toutes ses entrées simultanément égales à un pour engendrer leWsignal de sortie VAIN 00 (bit O du champ d'adresse). La première porte ET reçoit les signaux ENMBA1, LOGICI, FIAD 00 et LOGIC1. Le signal FIAD 00, ainsi qu'on l'a déjà expliqué, est engendré par la mémoire FIFO 505 de l'adaptateur de megabus de la figure 12. Les signaux ENMBA1 et LOGICI sont des signaux de validation engendrés par des circuits représentés sur la figure 27B. Le, circuit de commande 01D25 de la figure 27B reçoit les signaux attribfués du réseau d'arbitrage de demandes 407 et engendre des signaux de validation pour une adresse de megabus, une adresse de SIP, une adresse de CIP ou une adresse de CPU. Ainsi, si la mémoire FIFO a été attribuée à un cycle de bus local, le signal ENMBA1 est mis à un et les autres signaux de sortie du circuit 01D25 sont remis à zéro. Le signal LOGICI est engendré par un circuit de commande 03D25 également représenté sur la figure 27B. Le signal LOGIC1 est toujours à l'état vrai car le signal correspondant à l'entrée ZGNDB 19 est à l'état faux mais il est inversé quand il est envoyé au circuit 03D25. Le circuit de commande 03D25 est aussi validé par le signal ZGNDB 19. Ainsi, si la mémoire FIFO a été attribuée à un cycle de megabus, toutes les entrées de la porte ET en haut du multiplexeur 01B06 (figure 20A) sont validées et le signal VAIN 00 a la valeur du signal FIAD 00. Les trois autres portes ET reliées au multiplexeur 01B06 reçoivent les signaux de sortie de validation du circuit de commande 01D25 et le bit 0 de l'adresse fournie par l'un des processeurs-CPU, SIP et CIP est validé. Il est évident que le multiplexeur 01B06 fait prendre au signal VAIN 00 la valeur du bit d'adresse fournie par-celui qui est validé parmi les processeurs CPU, SIP et CIP et la mémoire FIFO. Les autres circuits des figures 20A, 208- et 21 fonctionnent de la même manière que le circuit 01B06 pour engendrer, en combinaison, les bits 0-22 - 480460 des lignes VAIN 0-23 à l'exception du circuit multi- plexeur 01007 de la figure 21.-Ce circuit multiplexeur est validé par le signal ENMBA1 défini plus haut et il est constitué de quatre multiplexeurs 2X1. Le premier multiplexeur correspond au multiplexeur de BYAD 413 de la figure 11. Il sélectionne le signal LBBYAD ou le signal FIAD 23 selon la valeur du signal ENMBA1 et engendre le signal de sortie VBYTAD. Le signal VBYTAD est un signal binaire qui indique lequel des deux multiplets doit être lu ou écrit en mémoire. Le signal ERRCLR est envoyé à une des deux entrées du second multiplexeur et, par conséquent, le signal de sortie du second multi- plexeur est le signal ERRCLR indépendamment de la valeur du signal ENMBA1. Le troisième circuit multi- plexeur reçoit à ses deux entrées le signal ENPALB indiquant que le transfert d'une adresse physique au bus local doit être validé et, pour cela, le signal de sortie du troisième circuit multiplexeu.r est le signal ENPALB. Le dernier circuit multiplexeur du multiplexeur 01D07 reçoit les signaux d'entrée APWRIT et RQGTFI et engendre le signal de sortie LMBWRT. Le signal RQGTFI edt le signal de sortie du registre de demande accordée 409 et qui indique que la mémoire FIFO et l'adaptateur de megabus ont été acceptés pour le cycle de bus local suivant. Le signal APWRIT qui est un signal WRIT d'écriture, indique la direction dans laquelle un transfert de bus local doit avoir lieu, c'est-à-dire, s'il s'agit d'une demande ou écriture de mémoire ou d'une réponse de mémoire. Le signal LMBWRT est un signal binaire qui indique si les informations sont transférées vers 'le bus local O à partir de l'adaptateur de megabus ou vers l'adapta- teur de megabus à partir du bus local. 248O460 1 1 7 Les figures 22A et 22B représentent des circuits multiplexeurs pour engendrer les signaux LBAD 00-LBAD 23. Par exemple, le multiplexeur 01A08 de la figure 22A est constitué de quatre circuits multiplexeurs 2X1. Le premier circuit multiplexeur reçoit à ses entrées les signaux PAMRDO et VAINO0. Comme on l'a déjà expliqué, le signal VAIN00 est le signal de sortie du circuit 01806 de la figure 20A. Le signal RAMR00 est un signal engendré dans l'unité d'antémémoire/MMU et correspond au bit hengendré dans l'unité d'antémémoire/MMU et correspond au bit zéro d'une adresse physique présente dans un des modules de mémoire connectés au mégabus. Le signal LBAD00 prend la valeur d'un des deux signaux d'entrée selon la valeur d'un signal d'adresse virtuelle ou- d'adresse physique de sélection SVAEPA. Ainsi, si le signal LBAD00 doit prendre la valeur d'une adresse physique, le signal SVAEBA est à l'état faux, et si le signal LBADO0 doit refléter une adresse virtuelle, et si le signal SVAEPA00 doit refléter une adresse virtuelle, le signal SVAEBA est alors à l'état vrai. Le circuit de commande 10A08 et les portes OU 08108 et 08808 de la figure 22A sont utilisés pour engendrer le bit de parité à transmettre avec le champ d'adresse. Les autres circuits multiplexeurs de la figure 22A et de la figure 228 fonctionnent de la même manière que le circuit multiplexeur 01A08 décrit plus haut à l'exception du fait qu'ils reçoivent des bits différents des lignes d'entrée d'adresse et engendrent des bits différents sur les lignes de sortie d'adresse. Les détails du fonctionnement de ces circuits multiplexeurs supplémentaires seront évidents pour l'homme de l'art, Les figures 23A et 23B représentent un exemple de réalisation du multiplexeur d'entrée de données 401 d'antémémoire. Ce multiplexeur est constitué-de 16 multiplexeurs 2X1 commandés par le signal ENMBLR et validés par le signal LDLDTR (des lignes de données de chargement LDTR). Quand le signal ENMBLR est à l'état vrai, les données de mégabus (MBDT) sont validées sur les lignes de sortie LDTR. Quand le signal ENMBLR est à l'état faux, les données de bus local (LBDT) sont validées sur les lignes LDTR. Le signal ENMBLR est le signal de sortie de l'inverseur 01B25 et de la porte OU 01A25 de la figure 27A. Les figures 24A et 246 représentent un exemple de réalisation d'une partie de l'unité de mémoire et de répertoire d'antémémoire 403 qui fournit les données de sortie LBDT 0:32 (plus les 4 bits de parité). Par exemple, le signal LBDTO0 est engendré par une porte OU 11A14 {figure 24A) à partir de trois entrées de signaux CADO 00, L2D000 et SEGD24. Les signaux d'entrée de la porte OU 11A14 sont engendrés dans la mémoire d'antémémoire et il suffit pour comprendre la présente invention de savoir que si le contenu d'une adresse demandée se trouve dans l'antémémoire,-les données correspondantes sont envoyées sur les lignes de données CADO. Les portes OU des figures 24A et 24B sont les sources des signaux de données de bus local LBDT00-LBDT32. La figure 24A représente également la source du champ de commande de bus local LBCMD 3:6. Ces signaux sont engendrés par les circuits de commande 01A14 et-03A14 respectivement à'partir des signaux d'entrée FIAD18-FIAD23. Pareillement, le circuit de commande 03A14 engendre la seconde moitié de cycle de bus de bus local LBSHBC à partir de la seconde moitié de cycle de bus de mémoire FIFO, FISHBC. Les circuits de commande.01A14 et 03A14 sont validés- par le signal MBCYCL (provenant de l'inverseur 0Y026 de la figure 28 et de la porte OU 09025 de la figure 27B) qui est engendré chaque fois qu'un cycle de bus local a été accordé à l'adaptateur de mégabus pour transférer des informations de la mémoire FIFO 505 à l'adaptateur de bus local représenté sur la figure 11. La figure 25 représente un exemple de réalisation du réseau d'arbitrage de demandes 407. Sur cette figure, un circuit DU 03B26 reçoit les signaux de demandes CPREQT, SIREQT, CIREÉT et FIREQT (engendré quand le signal RIFOMI n'est pas à l'état vrai) et engendre un signal de demande active RQACTV chaque fois-qu'un des signaux de demandes est à l'état vrai. Les signaux affectés CPASND, SIASND, CIASND et FIASND, sont respectivement engendrés par des portes ET 05B26, 07526, 09B26 et 11B26. Ces portes ET reçoivent chacune le signal d'entrée LBRQIH de la porte OU 01B26 qui indique une invalidation de demande de bus local. Cette porte OU reçoit à une entrée un signal engendré par la porte OU 01A26 qui spécifie que toutes les demandes doivent être inva- lidées quand il est égal à un. Les signaux d'entrée de la porte OU 01A26 proviennent des sorties du registre de demande accordée 409 qui engendre les signaux RQGTCP, RQGTSI et RQGTCT. Ainsi, chaque fois qu'une demande a été accordée à un des processeurs reliés eu bus local, sa ligne de demande accordée associée est mise à zéro et puisque le signal sur cette ligne est inversé à l'entrée de la porte-OU 01A26, le signal INALRQ est donc à un. L'autre entrée de la porte OU 01B26 invalide les signaux de demandes de bus local IHLBRQ qui sont à l'état vrai chaque fois qu'un cycle de bus local a été affecté à l'adep- tateur de mégabus pour valider le transfert d'infor- mations à partir de la mémoire FIFO. Les. autres entrées de la porte ET 05B26 reçoivent les signaux CPREQT. SIASND, CIASND et FIASND. Si l'ensemble de ces signaux d'entrée sont à l'état faux (égaux à un], le cycle de bus local suivant est alors affecté à l'unité CPU et le signal CPASND est mis & un. Le signal CPASND est reçu par les portes ET 07B26, 09B26 et 11B26 -et, quand il est à l'état vrai (égal à zéro), il invalide l'affectation d'un cycle de bus local aux processeurs SIP et CIP et à la mémoire FIFO. Les portes ET 07B26, 0U9826 et 11B26 fonctionnent d'une-manière semblable à la porte ET 05B26. - Les figures 26A et 265 représentent un exemple de réalisation du décodeur de numéro de canal 421. Sur la figure 26A, le décodeur 01A24 reçoit les signaux d'entrée LBCMD1 et LBCMD2 du bus local. Le signal de validation NHBTCD est engendré par la porte OU 10A24. La porte OU 10A24 reçoit les signaux LBCMDO et CABUSY et le.décodeur 01A24 est ainsi validé chaque fois que l'unité d'anté- mémoire/MMU n'est pas occupée et q'ue le signal LBCMDO est à l'état vrai (égal à zéro). Le décodeur 01A24 engendre les signaux de sortie DSTNCP, DSTNSI, DSTNCI et DSTNCA pour leur transfert au décodeur d'instruc- tion 415. Le circuit de commande de numéro de canal de m6gabus est représenté sur la figure 31B comme circuit 09029 qui sert à valider un transfert de l'adaptateur de megabus à l'adaptateur de bus local quand le signal MBCYCL est à l'état vrai (égal à zéro]. Dans ce cas, le signal LBCMDO est mis à la masse, le signal LBCMD1 est rendu égal au signal FIAD14 et le signal LBCMD2 est rendu égal au signal FIAD15. Les figures 26A et 26B représentent le décodeur de code de fonction 423 et le circuit de commande de code de fonction de mégabus. 425. Le décodeur de code de fonction est le décodeur 05A24 de la figure 26A qui est validé quand les signaux LB2MRY et CACMND sont à l'état vrai (égaux à zéro) et que le signal ENCAFC est-à l'état faux (égal à un). Le signal ENCAFC est le signal de sortie de la porte ET 08A24 de la figure 26A qui reçoit à ses entrées les signaux LBCMDO et INALRQ. Comme on l'a déjà précisé, la source du signal INALRQ est la porte OU 01A26 de la figure 25. Le signal CACMND est le signal de sortie inversé de la porte ET 09A24 de la figure 2BA qui reçoit à ses entrées les signaux LBCMD1 et LBCMD2. Le signal LB2MRY est le signal inversé (par l'in- verseur 01C27 de la figure 2.9B) du signal de sortie APMREF du circuit 01B2-4 de la figure 26A et qui est à l'état vrai (égal à zéro) chaque fois qu'un des processeurs reliés au bus local -a obtenu un cycl.e de bus local. Ainsi, le décodeur 05A24 est validé chaque fois qu'un transfert est effectué de l'adaptateur de mégabus (figure 12) au bus local 9 pour décoder les valeurs des signaux LBCMDO6- LBCMD8 et engendrer à ses sorties les compléments des signaux qui ont été déjà définis, REDSCR, LDSGTR, XLTADR, LSDSCR, IIVCTR, LVLCHG, RDMDER et LBMDER. Le circuit de commande de code de fonction de mégabus 425 se compose des circuits de commande 01A14 et 03A14 de la figure 24A qui donnent aux signaux LBCMD3-LBCMD8 les valeurs des signaux FIAD18-FIAD23. Les éléments de circuit spécifiques consti- tuant le décodeur d'instruction 415 et l'unité logique de commande 417 sont représentés sur les figures 26A-26B, 27A-27B, 28, 29A-29B, 30, 31A31B, 32A-32B et 33A-33B. Une description détaillée de le l'ensemble des éléments de circuit internes et des signaux mis en oeuvre dans ces éléments n'est pas nécessaire pour comprendre la présente invention. Cependant, l'attention sera portée dans la suite sur les éléments qui reçoivent les fonctions décodées par le décodeur de fonction 423 et qui engendrent des instructions 'décodées et transférées du décodeur d'instruction 415 à l'unité logique de commande 417. De même, on expliquera dans la suite quelle est la source des signaux CACNTRL 0:10. Les signaux RDCYCL, INCYCL, LBCRMB, MRFCYL et LBCRLB sont engendrés par des portes ET représen- tées sur la figure 26B. Chacune de ces portes ET reçoit à une entrée le signal PSCYL qui est engendré par la sortie de la porte ODU 01C26 de la figure 28. Le signal PSCYCL est à l'état vrai (égal à zéro) quand un des signaux CPASND, CIASND ou SIASND ont été mis à l'état vrai (égaux à zéro). La porte ET 01D24 de la figure 26B qui engendre le signal RDCYCL à sa sortie, reaçoit à ses entrées les signaux LB2MRY et APWRIT. La relation entre ces deux signaux d'entrée a été définie plus haut. En résumé, le signal RDCYCL est mis à un à la sortie de la porte ET 01D24 chaque fois que le processeur relié au bus local demande un cycle de lecture de mémoire. Le signal INCYCL est mis à un chaque fois' qu'il y a une reférence de nonmémoire faite par un processeur relié au bus local et que le signal de destination d'antémémoire DSTNCA est égal à un après avoir été inversé par l'inverseur 05C24 de la figure 26B. - Le signal LBCRMB est égal à un quand il y a une référence de nonmémoire faite par un des processeurs reliés au bus local-et que l'unité de destination est connectée au mégabus ainsi que l'in- dique le signal DSTNMB mis-à un. Le signal MRFCYL est égal à un chaque fois qu'un processeur relié au bus local fait une demande de mémoire. Les inverseurs 06024 et 07024-de la figure 26B sont prévus pour inverser respectivement les valeurs des signaux RDCYCL et LBCRMB. -- Le signal LBCRLB provenant de la sortie de la porte ET 06C24 de la figure 26B est égal à un chaque fois que les signaux PSCYCL. LB2MRY, DSTNMB et DSTNCA sont égaux à un. Les signaux MBCMLB, MBRSLB et FICYCL trans- férés du décodeur d'instruction 415 à l'unité logique de commande 417 sont engendrés par le circuit déco- deur 05C26 de la figure 28. Les signaux d'entrée a décoder sont les signaux FISHBC et FIMREF et leur décodage est validé chaque fois qu'une demande a été accordée à la mémoire FIFO comme l'indique le signal RQGTFI à l'état vrai (égal à zéro) quand il est envoyé à l'entrée inversée. Le signal MBCYCL est engendré par la porte OU 09D25 (figure 27B) cheque fois que l'un des signaux MBCML.B et MBRSLB est à l'état vrai (égal à zéro). Le signal WRCYCL est engendré par l'inver- seur 11026 (figure 28) comme signal inverse du signal LBWCYL engendré par la porte ET.07C26. Si les signaux - LBWRIT, LB2MRY et PSCYCL sont à l'état vrai (égaux à zéro) alors le signal WRCYCL émis par l'inverseur 11026 est aussi à l'état vrai. Les signaux de commande d'antémémoire sont engendrés aux sorties de l'unité logique de commande 417 de la façon suivante. Le signal CADBPL est le signal de sortie de la porte OU 12D024 (figure 26B). - Les signaux d'entrée de la porte OU 12024 sont les - 124 signaux WRDBPL. et SDBPL1.. Le signal WRDBPL est engendré par la porte ET 12C24 et il est égal à un chaque fois que les signaux WRCYCL, LBWCT2 et UARRFP sont égaux à un. La source du signal WRCYCL a déjà été décrite, le signal LBWCT2 provient comme on l'a déjà expliqué d'un des processeurs reliés au bus local et le signal UARRFP est le signal de sortie de la bascule D 05B28 (figure 30). Cette bascule D fait partie du circuit logique d'erreur de MMU 427 et lea signal UARRFP est mis à un quand une adresse de mémoire demandée est à l'intérieur des limites des modules de mémoire disponibles. Comme on l'a expliqué, le circuit logique d'erreur 427 contrôle si l'adresse est physiquement présente dans le système de traitement.de données et s'il n'y J a pas eu une tentative d'accès à un emplacement de mémoire par un demandeur qui n'est pas autorisé à avoir accès à cet emplacement. Comme on l'a vu, la fonction du circuit logique d'erreur de MMU 427 n'est pas une caractéristique de la présente invention, mais on voit que les 'bascules D 01B28, 03B26, 05B28 et 07B28 (figure 30) constituent le circuit logique d'erreur de MMU 427. Le circuit de commande 09B28 engendre trois des signaux d'INTEGRITE DE LB, LBPROV, LBUARL et LBUARR. Le signal SDBPL1 à l'autre entrée de la porte OU 12D24 de la figure 26B est le signal de sortie de la porte ET 08C26 [figure 28). Cette porte ET reçoit à ses entrées les signaux RDCYCL, MUUARR, RGTHIT, CPLOCK et SWRNLH. Le signal SWRNLH est lui- même le signal de sortie inversée de la porte OU C26 de la figure-28 qui reçoit les signaux d'entrée APDBLW et LFTHIT. En résumé, le signal de sortie CADBPL est engendré chaque fois que les empla- cements de mémoire demandés sont contenus dans les limites de mémoire du système, que-deux mots ont été demandés, et qu'aucun des mots adressés ne se trouve dans la mémoire d'antémémoire 403. Les signaux CASHBC, CALOCK, CABYTE et CAWRIT sont engendrés par le circuit de commande 01D27 (figure 29B). Les valeurs des signaux CALOCK et CABYTE reflètent les valeurs des signaux CPLOCK et LBWCT1 reçus par l'unité d'antémémoire/MMU. Le signal CAWRIT est mis à la valeur du signal LBWRIT engendré par l'inverseur 09D23 (figure 33) à partir du signal APWRIT. Le signal APWRIT est lui-même mis à zéro chaque fois qu'un des processeurs reliés au bus local a demandé une opération d'écriture en mémoire et auquel a été accordé un cycle de bus local. Le signal CASHBC est mis à la valeur du signal LBSHBC qui est engendré par le circuit de commande 03A14 (figure 24) et qui reflète la valeur du signal FISHBC. Les signaux CAYELO et CAMREF sont engendrés par le circuit de commande 06C30 (figure 32B) pour être respectivement égaux aux signaux CPYELO et LB2NRY. Comme on l'a précisé, le signal CPYELO est un signal de sortie de l'unité CPU et le signal LB2MRY indique - un transfert du bus local à- la mémoire quand il est à l'état vrai. Un signal CALKNC est engendré par la porte ET 04A29 (figure 31A) chaque fois que les signaux FULHIT, CPLOCK et RDCYCL sont tous à un. Le signal FULHIT est un signal de sortie de la mémoire d'antémémoire 403 qui indique que toutes les données demandées dans une- opération de lecture de mémoire se trouvent déjà dans la mémoire d'antémémoire. Le signal CPLOCK est égal à un à l'entrée de la porte ET 04A29 chaque fois qu'une opération de lecture, de modification, d'écriture (RMW) 1-2 6 a été demandée par-l'unité CPU et quand le signal RDCYCL est à un à l'entrée de cette porte, il indique qu'un cycle de lecture-de mémoire est demandé. Le signal CADBWD est le signal de sortie de la porte OU 11C24 (figure 26B) qui est égal à un chaque fois qu'un ou les deux signaux CADBLW et SDBPL1 sont égaux à un. La manière suivant laquelle le signal SDBPL1 est engendré a déjà été décrite et le signal CADBLW est le signal de sortie de la porte ET 07B29 (figure 31A) qui est égal à un chaque' fois qu'un cycle d'écriture est demandé comme l'indique le signal WRCYCL, que le processeur concerné a demandé un mot double comme leindique le signal LBDBLW et qu'il n'y a pas eu de demande de ressource non dispo- nible comme l'indique le signal UARRFP. Comme on l'a déjà expliqué, l'unité logique de commande 417 reçoit également les signaux de com- mande de FIFO, FIMREF-FIYEL0 engendrés aux sorties de la mémoire FIFO 505 par l'adaptateur de megabus (figure 12). Les signaux FIDBDL, FIBYTE, FIDBWD et FIAD23 sont tous reçus aux entrées du multiplexeur 01A30 (figure 32A) dans lequei 1es signaux de bus local correspondants ou les signaux eux-mêmes sont sélectionnés selon la valeur du signal FICYCL. Si un cycle de mémoire FIFO a été accordé par l'adap- tateur de bus local; les signaux provenant de la mémoire FIFO sont sélectionnés, alors que si un cycle de non-mémoire FIFO est accordé, les signaux provenant du bus local sont sélectionnés. Les signaux FIREDL et FIREDR sont envoyés aux entrées respectivement de la porte OU 04A30 et de la porte OU 05A30 (figure 32a). Les autres entrées de ces portes OU reçoivent respectivement les signaux UARLFP et UARRFP. La fonction de ces portes OU est d'engendrer des signaux internes à transmettre avec les données transférées pour indiquer qu'une erreur non corrigible a été détectée dans le mot de poids fort ou dans le mot de poids faible des données qui accompagnent les signaux d'erreur. Quand cette erreur est détectée par la mémoire du système, elle est indiquée par les signaux FIREDL et FIREDR. Les signaux UARLFP et UARRFP indiquent une demande de ressource non disponible détectée par l'unité d'antémémoire/MMU. Le signal FILOCK est reçu par l'inverseur 07A30 dont la sortie est reliée à l'élément de circuit 09A30 de la figure 32A. Comme on l'a vu, le signal FISHBC est envoyé à une entrée du circuit de commande 03A14 qui l'utilise pour -établir la valeur du signal LBSHBC. Le signal FIMREF est reçu par le circuit 11C23 (figure 33B) de même que le signal FISHBC. Le signal de-sortie FIREQT de ce circuit signifie que la mémoire FIFO a demandé l'accès à l'adaptateur de bus local. Comme on l'a déjà expliqué, le signal FIMREF reflète une demande di'écriture de mémoire principale par une unité reliée au mégabus,- et il est donc nécessaire d'avoir cces au bus local et à la mémoire d'antémémoire pour s'assurer que l'emplacement de mémoire dans l'antémémoire est mis à jour. Le générateur de si naux de synchronisation 419 est constitué par les cir uits de retard 03B27 et 08B27 de la figure 29A. Le circuit de retard 03B27 est déclenché chaque fois qu'une référence de mémoire se produit concurremment avec une demande active d'utilisation du bus local. Le circuit de retard 08B27 est déclenché chaque fois qu'une référence de mémoire est faite et que t2antémémoire est occupée comme l'indique le signal CABUSY. Le circuit logique 417 engendre les signaux - DCNNCP, DCNNSI et DCNNCI qui sont. égaux & un chaque fois qu'un transfert est dirigé vers l'un des pro- cesseurs CPU, SIP et CIP par l'adaptateur de bus local. Ces signaux permettent au processeur récepteur d'accepter un transfert de bus local. Ces signaux sont engendrés par les portes ET 09C29, 10C29 et 11C29 de la figure 31B. Par exemple, le- signal DCNNCP est égal à un si les signaux LBDCNN et DSTNCP envoyés aux entrées de la porte ET 09C29 de la figure 31B sont tous les deux à l'état vrai (égaux à zéro). Comme on l'a vu, le signal DSTNCP est un signal de sortie du décodeur de numéro de canal 421 et, spécifiquement, du circuit décodeur 01A24 de la figure 26A. Le signal LBDCNN.est le signal de sortie inversée du circuit 06D29 de la figure 318 qui est à l'état vrai chaque fois que le signal de sortie de n'importe quelle porte ET, parmi les quatre portes ET contenues dans ce circuit, est à un. Une de ces portes ET reçoit les signaux d'entrée FULHIT, CPLOCK, RDCYCL et DYSRCD dont on a déjà précisé l'origine. Le signal DYSRCD (de recherche de réper- toire) est le signal de sortie du circuit de commande 01A29 (figure 31A) et qui a la valeur du signal MMRYP3 provenant du circuit de retard 03B27.(tfigure 29A). Ainsi, si un cycle de lecture a été demandé par un processeur relié au bus local, si les informations demandées sont mémorisées dans la mémoire d'anté- mémoire,.si l'unité CPU n'a pas verrouillé l'empla- cement de mémoire d'antémémoire, et si une recherche de répertoire a été exécutée, la porte ET à quatre entrées engendre un signal à un et le signal LBDCNN est mis à l'état vrai (égal à zéro). Une seconde porte ET contenue dans le circuit 06D29 reçoit les signaux d'entrée MBCOVR et APWRIT. Comme on l'a vu, le signal APWRIT indique qu'une opération d'écriture de mémoire est demandée par un processeur relié au bus local quand ce signal est à l'état vrai (égal à zéro). Ainsi, si aucune opération d'écriture n'est demandée, le signal APWRIT est à un, le signal MBCOVR a la valeur inversée du signal MBCOVR transféré de l'adaptateur de megabus à l'adaptateur de bus local. La valeur du signal inversé MBCOVR est un si un transfert est dirigé vers le bus local et, par conséquent, le signal LBDCNN est mis à zéro. Le signal LBDCNN prend également la valeur zéro quand les signaux MBLBIO, DYISRCD et INHDCN sont tous égaux à un. Ces trois signaux sont les signaux d'entrée de la troisième porte ET contenue dans le circuit 06D29. Le signal MBLBIO est un signal de sortie de la porte OU 05C29 qui est mis à un chaque fois que le mégabus dirige une commande vers le bus local. Le signal DYSCRO est mis à un chaque fois qu'une recherche de répertoire d'anté- mémoire a été faite, et le signal INHDCN est mis à un chaque fois qu'un signal DCNN ne doit pas être in- validé. Le signal INHDCN est engendré par la porte ET 04C29 qui reçoit les signaux d'entrée ERREND et APWRIT. Le signal ERREND est le signal de sortie de l'inverseur 12828 (figure 30) qui reçoit le signal d'entrée ERREND engendré à la sortie inversée de la porte OU 12A28 de la figure 30. Comme on l'a vu à propos des circuits de la figure 30, la valeur du signal ERREND envoyé à l'entrée d'inversion de la porte ET 04C29 signifie que: (1) il y a une demande de mémoire en- gendrée par un processeur relié au bus local et que la demande concerne une ressource non disponible ou qu'elle viols une règle de protection, ou (2) il y a un transfert de bus local en direction du mégabus indiquant que la mémoire doit être ignorée. Le signal' APWRIT est mis à un quand il est envoyé à l'entrée d'inversion de la porte ET 04C29 si un processeur relié au bus local a demandé un cycle d'écriture de mémoire. En résumé, si la génération d'un signal DCNN n'a pas été invalidée et s'il y a un transfert.de mégabus vers le bus local, et que le répertoire d'antémémoire a été recherché, le signal de sortie de la porte ET à trois entrées du circuit 06D29 est à un et le signal LBDCNN est à zéro. La dernière porte ET du circuit 06D29 engendre un signal de sortie à un s'il y a un transfert entre deux processeurs reliés au bus local comme l'indique le signal LBCRLB à un et qu'un transfert de bus local est valide à ce moment comme l'indique le signal LBVALD à un. Le signal LBVALD est le signal de sortie de l'inverseur 10C27 (figure 296) et il prend la valeur du-signal de sortie NOMYP2 du circuit de retard 08627 (figure 29A). Le signal de'sortie INPNDG est engendré par le circuit logique de commande 417 au moyen d'un circuit de commande approprié qui reçoit un signal de sortie de l'adaptateur de mégabus indiquant qu'une interruption est présente dans le registre d'inter- ruption 519 (figure 12). Le signal est le signal MBIPND engendré par le registre d'interruption et transféré par une ligne spécialisée du bus local à l'unité CPU. Le signal LBACKR est un signal de sortie de la bascule D 01D28 [figure 30) . Le signal LBACKR à un indique un signal ACK d'accusé de réception envoyé par l'unité reliée au me'gabus et le signal à zéro indique un signal NAK de non-accusé de réception. Le signal LBACKR est mis à zéro chaque fois qu'il y a une remise à zéro générale, une interruption d'écri- ture comme l'indique le signal WBRKIN è un reçu de l'adaptateur de mégabus, ou chaque fois que le signal CASTRT est à un. Si le megabus a émis un signal NAK, indiqué par le signal MBNAKR à zéros,- la bascule D 01D28 est remise à zéro et le signal LBACKR est mis à zéro. On va maintenant décrire un exemple de réalisation préféré de l'adaptateur de mégabus. Les figures 34A-348, 35A-35B et 36A-36B représentent un exemple de réalisation de matériel du réseau-d'émetteurs-récepteurs E-R 503 de la figure 12. Par exemple, l'émetteur-récepteur 01AAO3 reçoit le signal BSDTOO d'une ligne de données du mdgabus. La partie de récepteur du circuit émetteur-récepteur fournit une valeur inversée des données de mégabus reçues et un transfert de données inversées de l'adap- tateur de mègabus au mdgabus est exécuté par la partie de circuit de commande du circuit émetteur-récepteur. Le circuit de commande reçoit un signal d'entrée MYDTOO et transmet une valeur inversée du signal, BSDTOO, quand le signal de validation MYDCNW est à l'état vrai (égal à zéro). Le signal MYDCNW est engendré par la porte ET 08DD10 (figure 41B). Une entrée de la porte ET 08DD10 reçoit un signal de sortie d'une bascule JK 0500DD10 qui est à un quand l'adaptateur de mégabus a assumé un cycle de m6gabus par le circuit logique de priorité de bus mentionné plus haut. L'autre entrée de la porte ET 08DD010 reçoit le signal CAWRIT qui est le signal de sortie du circuit de commande 10AA04 de la figure 35A. Ce signal provient de l'adaptateur de bus local et il a la valeur un chaque fois qu'une opération d'écriture de mémoire a été demandée..Ainsi, le circuit émetteur-récepteur 01-AA03 transmet-le bit de données MYDTOO à la ligne de mégabus BSDTOO quand il y a eu une demande provenant de l'intérieur du sous-système central pour obtenir un transfert vers le mégabus et que l'adaptateur de mégabus a assumé un cycle de mégabus. Les circuits émetteurs-récepteurs 02AA03- 08AA03 émettent et reçoivent les bits de données du mégabus BSDT1O-BSDT07, respectivement, de la manière expliquée à propos du circuit émetteur-récepteur 01AA03. Pareillement, les émetteurs-récepteurs 01BB03-08BB03 servent d'interface avec le m'gabus respectivement pour les signaux BSDTOB8-BSDT15. Les bits de données BSDT16-BSIT-23 sont émis et reçus par les émetteurs- récepteurs 01AAO4-08AA04 (figure 32A) et les bits de données BSDT24BSDT31 sont émis et reçus par les émetteurs-récepteurs 01BBO4-08BB04. Les bits de parité associés aux mots de données sont reçus et émis par les émetteurs-récepteurs S09AA03 et 09BB03. L'émstteur-récepteur 10AA03 reçoit le signal BSA023 et émet le signal LBAD23. L'émetteur-récepteur 11AA03 reçoit et émet le signal de double extraction DBPL et l'émetteur-récepteur 12AA03 reçoit et émet la seconde moitié de-cycle de bus sous forme de signal CASHBC quand elle est transmise au mégabus et de signal ISSHBC quand elle est reçue dumégabus. L'inverseur 13AA03 est prévu pour inverser la valeur du signal de double extraction reçu BSDBPL. L'émetteur-récepteur 1OBB03 reçoit et émet le signal de priorité élevée de demande de bus BSREQH, l'émetteur-récepteur 11BB03 reçoit et émet le signal LOCK, et l'émetteur-récepteur 12BB03 reçoit et émet le signal WRIT. - Sur la figure 34B, l'émetteur-récepteur 01CC03 reçoit et émet le signal de référence de mémoire MREF, l'émetteur-récepteur 02CC03 reçoit et émet le signal YELO, l'émetteur-récepteur 03CC03 reçoit et émet le signal REDL, et l'émetteur-récepteur 04CC03 reçoit et émet le signal BYTE. Le signal WAIT est reçu et émis à partir de l'adaptateur de mégabus en direction du meégabus par les émetteurs-récepteurs 05CC03 et 06CC03. La porte OU 0600DD03 relie les sorties des émetteurs- récepteurs de signal WAIT. Le signal NAKR est reçu et émis par les émetteurs-récepteurs 07CC03 et 08CC03 et la porte OU 08DD003 reçoit les signaux BSNAKR reçus du mégabus. Le signal MYREQT de demande d'adaptateur de mégabus est transmis au megabus comme signal BSREQL et il est reçu du m9gabus comme signal BSREQL par l'émetteur-récepteur 09CC03. Les émetteurs-récepteurs 10CC03, 11iiCC03 et 12CC03 reçoivent et émettent le signal de remise à zéro générale (MCLR), le signal de reprise d'in- terruption CRIMT) et le signal (TRAP), respectivement. * Sur la figure 35A, les émetteurs-récepteurs OIAAO4- 08AA04 et 01BB04-08BB04 émettent les signaux LDTRI6- LDTR31 sous forme de signaux BSDTI6-BSDT31. Comme on l'a vu, les signaux de données LDTR sont les signaux de'sortie du multiplexeur d'entrée de données d'antémémoire 401 et correspondent aux signaux de données de bus local assurés par l'adaptateur de megabus. Sur la figure 35A sont également représentés les circuits de commande 10AA04, 12AA04, 10BB04 et 12BB04 qui servent d'interface pour les signaux de commande d'antémémoire [CACNTRL 0:10) engendrés par l'unité logique de commande 417 (figure-11) avec les émetteurs-récepteurs qui ont été décrits. Le signal PULLUP a un niveau haut constant - 2480460 qui est utilisé pour valider les différents éléments de circuit de l'adaptateur de mégabus, par exemple, le circuit de commande 10AA04. Le sign-al MYINCR utilisé pour valider les circuits de commande 10BB04 et 12BB04 est un signal de sortie de la bascule D 01DD14 (figure 45B) qui est mis à un pour valider le circuit de commande. Sur la figure 35B, ies émetteurs-récepteurs 01CC04 et 02CC04 reçoivent et émettent les deux autres;bits de parité de données. L'émetteur-récepteur 03CC04 reçoit et émet le signal de largeur double DBWD et l'émetteur- - récepteur 06CC04 reçoit et émet le signal de blocage et d'absence de cycle LKNC. Les émetteurs-récepteurs -04CC04, 05CC04, 07CC04 et 08CC04 émettent toujours à leur sortie inversée un niveau haut quand ils sont validés,puisque l'entrée des circuits de commande dans les émetteurs-récepteurs est maintenue à la masse. Ces émetteurs-récepteurs reçoivent les signaux BSRESQ (de qualification de réponse), le signal BSREDR (d'erreur non corrigible dans le mot de données de poids faible), le signal BSSPR7 (de réserve SPARE) et le signal BSSPR8 (de réserve SPARE), respectivement. La figure 36A représente un exemple de réalisation de matériel des émetteurs-récepteurs pour recevoir et émettre des données d'adresse. Ainsi, les émetteurs-récepteurs 01AA08-12BB08 transmettent les signaux MYADOO-MYAD22 provenant de l'adaptateur de mégabus au megabus et reçoivent les signaux BSADOO-BSAD22 provenant du megabus. La figure 36B comprend un générateur de parité 10DO08 pour engendrer un bit de parité paire ou impaire à transmettre avec les données d'adresse. La figure 36B représente également les émetteurs-récepteurs des signaux DCNN et ACKR. Un exemple de réalisation du multiplexeur de sortie de données 523 de la figure 12 est repré- senté sur les Figures 37A et 37B. Les multiplexeurs 01BB05, 04BB05 et 06BB05 sélectionnent les' six bits de poids fort du premier mot de données (LDTRIO-LDTRO5) ou les six bits de poids fort du second mot de données (LDTR16-LDTR21), sous la commande du signal de - validation SHIFTD, pour engendrer le-s signaux MYDTOO- --MYDT05. La valeur du signal SHIFTD est établie par la porte OU 09CC05 à un chaque fois que l'un des signaux CAMREF et MYINCR est à l'état vrai (égal à zéro). Quand il est égal à un, le signal SHIFTD permet le transfert des six bits de poids fort du second mot de données dans le champ de données d'adaptateur de megabus MYDT 0:5. Le multiplexeur 08BB05 engendre les bits de'données MYDT0O et MYDOT07 sous la commande des signaux SHIFTD et CAWRIT. Si deux bits de commande à zéro, LDTRO6 et LDOTR07 sont transférés à la sortie, si ls signal SHIFTD est à un et si le signal CAWRIT est à zéro, les signaux LDTR22 et.LDTR23 sont alors transférés aux sorties et si le signal CAWRIT est à un et que le signal SHIFTD est à zéro ou que les deux signaux de commande sont à un, les signaux CIRQGF et SIR4GF (engendrés par l'adaptateur de bus local) sont transférés respectivement aux sorties du multi- plexeur 08BB05 comme signaux MYDTO6 et MYDT07. Le multiplexeur 01D0005 (figure 378) est également commandé par les signaux SHIFTD et CAWRIT pour engendrer les signaux de données de sortie MYDT08 et MYDT09. Le signal MYDT08 prend-la valeur de l'un des signaux LDTRO8, LDTR24 et MYCHN2, c'est-à-dire le second bit du numéro de canal d'adaptateur de m gabus engendré par le commutateur d'hexadécimal 01AA11 (figure 42A), selon la valeur des signaux de commande. Pareillement, le signal MYDT09 prend la valeur de l'un des signaux LDTR09, LDJTR25.et MYCHN3 selon les valeurs des signaux de commande. Les multiplexeurs 04D0005, 06DD05 et 0800DD05 sélectionnent les signaux LDTR10-LOTR15 ou LDTR26- LDTR31 pour engendrer les signaux de sortie MYDT10- MYDT15 sous la commande du signal SHIFTD. Les bits de parit.é MYDP00 et MYBP08 sont engendrés par les multiplexeurs 11BB05 et 11DB05 selon les valeurs des signaux de commande SHIFTD et CAWRIT. Les figures 38A-38B, 39A-39B, 40A et 44A-44B représentent un exemple de réalisation de matériel de la mémoire FIFO 505, du reg.istre d'adresse d'écri- ture 507, du registre d'adresse de lecture 509, du détecteur d'écriture511, du circuit de commande de mémoire FIFO 513, de la porte OU 515, du multiplexeur 517, du registre d'interruption 519 et du registre de seconde moitié de cycle de bus 521. Sur les figures 38A, 38B et 39A, on a représenté un groupe de mémoires à accès sélectif ou mémoires vives (RAM) et de multiplexeurs de sortie. La mémoire RAM 1OIAA06 est un élément de mémoire de 4X4 recevant les signaux d'entrée BSDTOO-BSDTO3 et engendrant les signaux de sortie correspondants FIDTOO-FIDT03. L'emplacement en mémoire RAM 01AA06 dans lequel des données sont écrites est contrôlé par des signaux de commande d'écriture WRTADO et - WRTAD1 de telle sorte que des informations peuvent être écrites dans la mémoire RAM et peuvent être décalées de l'entrée à la sortie. Les signaux de commande d'adresse de lecture REDADO et REDAD1 contrôlent -les adresses 0-3 à partir desquelles des informations sont lues'en mémoire. Les signaux WRTADO et WRTAD1 sont engendrés par des bascules JK 05BB13 et 05AA13.(figure 44A).- Ces bascules JK reçoivent le signal WRTINC qui est à l'état vrai (égal à zéro) chaque fois que l'adresse d'écriture de la mémoire FIFO doit progresser. Le signal WRTINC est le signal de sortie d'un inverseur 04CC13 (figure 44B) qui reçoit un signal d'entrée WRT030 provenant du circuit de retard.02BB13. Le circuit de retard est déclenché par un signal d'écri- ture et de mémorisation WRTSTR engendré par la porte DU 04AA13 de la figure 44A. Le signal d'écriture et de mémorisation est mis à un chaque fois que la mémoire de système engendre un signal ACK pour une opération d'écriture de mémoire (MEMACK égal à zéro) ou que les données d'une seconde moitié de cycle de bus doivent être mémorisées dans la mémoire FIFO comme l'indique le signal SHSFIF à l'état vrai. Cela se produit quand la mémoire FIFO doit saisir un second mot de données transféré pendant un second cycle de bus par un module de mémoire de largeur simple et à extraction double ou en réponse à une seconde demande de lecture d'un module de mémoire de largeur simple et à extraction simple. Spécifiquement, le signal SHBIF est un signal de sortie de la bascule D 11B13 de la figure 44A. Comme on l'a décrit plus haut à propos de la figure 12, le premier mot de données transféré en réponse à une demande d'extraction double OSPL ou en réponse à une demande de lecture de largeur double d'un module de mémoire de largeur simple et à extraction simple est mémorisé dans les registres 07D013 et 100013 de la figure 446 sous la commande du signal SHBREG engendré par la bascule D 12DD13. - La commande des bascules O 11BB13 et 12B613 est réalisée respectivement par trois- portes ET 11AA13, 12AA13 et 13AA13. Initialement, le signal SHBREG envoyé à une entrée de la porte ET 13AA13. est à zéro et le signal de sortie inversée DBLSHB est donc à un. Le signal DBLSHB est inversé par l'entrée de la porte ET 12AA13 et il est logiquement combiné au signal BSOBWD. Le signal FSTSHB est ainsi mis à un et il fait basculer la bascule D 12BB13 pour mettre le signal SHBREG à un. Les signaux BSDTOO- BSDT15 sont ainsi chargés dans les registres 07DB13 et 10DD13. La mise à un du signal SHBREG met le signal DBLSHB à un après qu'il ait été inversé à la sortie de la porte ET 13AA13. Il en résulte que le signal de sortie FSTSHB de la porte ET 12AA13 - est mis à zéro. La porte ET 11AA13 reçoit les signaux d'entrée FSTSHB et CALKNC par l'intermédiaire d'in- verseurs pour mettre le signal de dernière seconde moitié de cycle de bus [LSTSHB) à un et faire ainsi changer d'état la bascule 11BB13 en mettant le signal SHBFIF,à un. C'est de cette manière que l'adresse d'écriture de mémoire FIFO progresse et que les 16 bits de données de mégabus transférés pendant le cycle de mégabus suivant sont mémorisés dans la mémoire FIFO. Les signaux de commande de lecture REDAD1 et REDADO sont respectivement engendrés par les bascules JK 05CC13 et 05DD13. L'adresse de lecture progresse sous la commande du signal RARINC engendré par la porte OU 0400DD15 (figure 46B). Le signal RARINC est mis à zéro chaque fois qu'une opération de lecture de mémoire FIFO est déclenchée en réponse, par exemple, à une interruption d'écriture, et puisque le signal RARINC est reçu dans les bascules JK 05CC13 et 05DB13 par des entrées d'inversion, ces bascules changent d'état. Le comparateur 02DD0013 de la figure 44A contrôle le contenu de la mémoire FIFO 505 en comparant la valeur des signaux d'adresse d'écriture WRTADO et WRTAD1 aux signaux d'adresse de lecture REDADO et REDAD1. Si ces deux quantités sont égales, le signal FIFOMT est alors mis à un pour indiquer que la mémoire FIFO est aotuellement vide, Comme l'in- dique la figure 11, le signal FIFOMT est le signal envoyé au réseau d'arbitrage de demandes 407 pour demander l'affectation d'un cycle de bus local-à la mémoire FIFO. Sur la figure 38A, les circuits multiplexeurs 01BB06 et 04BB06 sélectionnent les signaux FIDTOO- FIDT07 ou zéro sous la commande du signal FIFSHF. La valeur sélectionnée est transférée par les lignes de signaux MBDTOOMBDT07. Ces lignes peuvent donc transmettre la valeur zéro ou les signaux FIDTOO- FIDT07. Les multiplexeurs 07BB08 et 10BB0S mettent les lignes de signaux MBDT08-MBDT15 aux valeurs des signaux FIDT08-FIDT15 ou des signaux FIADOOFIAD007 sous la commande du signal FIFSHF. Le transfert des signaux d'adresse aux lignes de données de-megabus est exécuté, comme on l'a vu, chaque fois qu'une opération de mode d'entrée-sortie concerne le soussystème central. Les multiplexeurs 010006-10DO06 de. la figure 386 donnent aux signaux MBDT16-MBDT31 les valeurs des signaux FIDT18-FIDT31 ou des signaux FIDTOO-FIDT15 sous la commande du signal FIFSHFo Ainsi, si les données mémorisées dans la mémoire FIFO ne l'ont pas été en réponse à une deuxième seconde moitié de cycle de bus, les signaux FIDT16-FIDT31 sont'alors validés aux sorties de ces multiplexeurs. Inversement, si les données de mémoire FIFO ont été mémorisées pendant une deuxième seconde moitié de cycle de bus ou pendant une seconde opération de lecture d'un module de mémoire de largeur simple et à extraction simple, les signaux FIOTOO-FIDT15 sont alors validés aux sorties de ces multiplexeurs. La figure 39A représente les mémoires RAM 01AAO7-10AA07 utilisées pour mémoriser-les signaux de commande de mégabus et les signaux de parité de données de mégabus. Ces signaux peuvent traverser les mémoires RAM sous la commande des signaux d'adresse d'écriture et de lecture de même que leurs adresses et données associées. Les registres 02BB07 et 05BB07 mémorisent 16 bits de données de bus (BSDTOO-BSDT15) sous la commande du signal ACK d'interruption INTACK. Ces mêmes 16 bits de données sont transférés comme signaux MBINOO-MBIN15 sous la commande du signal d'interrup- tion envoyée SNDINT. Le signal SNDINT est un signal de sortie de l'unité logique de commande 417 et le signal INTACK est engendré par la bascule D 06DD11 de la figure 42B. Le signai INTACK est à l'état vrai quand l'adaptateur de mégabus reconnaît qu'une unité de traitement reliée au mégabus envoie une demande d'interruption au sous-système central. Le circuit logique pour recon- naître une telle demande d'interruption est représenté sur les figures 42A et 42B o il comprend un compa- rateur 02BB11 pour comparer le numéro de canal émis avec la demande d'interruption au numéro de canal- du sous-système central. S'ils sont égaux, le signal ITSAME est mis 2 un et envoyé à la porte ET 06CC11 de la figure 42B. Cette porte ET reçoit également le signal MYPRZT et le signal CPINTR du multiplexeur BB11 de la figure 42A. Le signal MYPRZT sélectionne un des signaux d'entrée CPPRZT, SIPRZT et CIPRZT envoyés par l'adaptateur de bus local sous la commande des signaux BSAD1I5 et BSAD14. Ces signaux de commande contiennent le numéro de canal à deux bits d'un pro- cesseur relié au bus local. Le signal CPINTR est mis à un si les deux signaux BSAD15 et BSAD14 sont à zéro. Ainsi, quand (1I l'interruption est dirigée vers l'unité CPU et le soussystème central, (2) que l'unité CPU est présente dans le sous-système central au moment de l'interruption, et (3) que les signaux BSAD16-17 sont égaux aux signaux MYCHN3 et MYCHN2 et que les signaux BSAD12-13 sont égaux à zéro, la porte ET 06CC11 met alors le signal MYINTS à un,-ce qui fait basculer la bascule D 04DD11 et met le signal MYINTR à un. Celui-ci met à son-tour le signal INTACK à un. Quand le signal INTACK est égal à un, les signaux BSOT00-BSDT15 sont chargés dans les registres 02BB07 et 05BB07. Les portes OU 01CC07-08CC07 et 01D007-08D007 (figure 39B) constituent la porte OU 515 de la figure 12. Elles laissent passer soit les seize premiers bits de données de FIFO, soit les seize bits de données de registre d'interruption, soit les seize bits de données de registre d'interruption, soit les seize bits de seconde moitié de cycle de bus envoyés par les lignes de données MBOT 0:16 pour leur transfert jusqu'à l'adaptateur de bus local. Les bits de parité appropriés sont fournis par les multiplexeurs 09CC07 et 09OD07 de la figure 36B. La figure 40A représente un exemple de réalisation de matériel d'un emplacement de mémoire FIFO pour mémoriser quatre groupes d'adresses de mégabus. Ces éléments de mémoire RAM sont également contrôlés par les signaux WRTADO, WRTAD1, REDADO et REDAD1. Les figures 42A et 42B représentent un exemple de réalisation de matériel du comparateur de niveaux 529 de la figure 12. Le registre 12AA11 de la figure 42A reçoit des signaux d'entrée cor- respondant au numéro de niveau de l'unité de trai- tement qui est en train de commander le bus local. Ces signaux sont reçus aux entrées LDTR26-LDTR31 sous la commande du signal LVLCHG. Les signaux de sortie du registre 12AA11, LBLVLO-5, sont mémorisés dans le registre 12BB11 de la figure 42A qui engendre en conséquence les signaux de sortie MBLVGX, MBLVEX et MBLVLX. Le comparateur 1ODD11 de la figure 42B reçoit les signaux de sortie du comparateur 11CC11 et engendre un signal de sortie MBLVLS si le niveau de mégabus est inférieur au niveau actuellement traité par le bus local. S'il en est ainsi, la bascule D 06DD011 de la figure 42B accuse réception de l'in- terruption de mégabus en envoyant un signal ACK. Un exemple de réalisation du générateur d'adresse de ALU 531 est représenté sur la figure 40B. Comme on l'a vu à propos de la figure 12, le géné- rateur d'adresse de ALU est utilisé chaque fois qu'une demande de module de mémoire de largeur double est émise par un processeur relié au bus local et que le module de mémoire contenant l'adresse demandée est un module de mémoire de largeur simple et à extraction simple. Dans ce cas, le-signal MYINCR est mis à un et envoyé à une entrée de l'unité ALU 01CCO9 de la figure 40B. Cette unité ALU reçoit éga- lement les quatre bits de poids faible d'une adresse de bus local, LBAD19LBAD22. Si le signal MYINCR est à un, la valeur des quatre bits d'entrée est incré- mentée de un et les signaux de sortie MYAD19-MYAD22 sont engendrés. Si un report est engendré, le signal PROPO0 est mis à l'état vrai (égal à zéro). Le géné- rateur de report 01DD09 de la figure 40B reçoit le signal PROPOO et met le signal CARY01 à un. Le signal CARYOI est envoyé à une entrée de l'unité ALU 04CC09 de la figure 40B et il est additionné avec la valeur des signaux LBAD15-LBAD18 pour engendrer les signaux MYAD15-MYAD18 plus un bit de report PROPO1. Le bit PROP01 est aussi envoyé à une entrée du générateur de report 0100D09 pour commander la valeur de report CARY02. D'après la description qui vient d'être faite, il est évident que les unités ALU 07CC09, 10CC09, 07D0009 et 10D0009 coopèrent avec le générateur de report 01DD009 et le générateur de report 04DD0009 pour faire progresser de un les signaux LBADOO-LBAD22 et fournir l'adresse incrémentée aux lignes de signaux MYADOO-I1YAD22 pour son transfert jusqu'aux lignes d'adresse de mégabus. Les figures 41A et 41B représentent un exemple de réalisation du circuit logique de commande de mode de maitre du mégabus 535 de la figure 12 par lequel l'adaptateur de mégabus demande un cycle de mégabus et déclenche un transfert d'informations du bus local au mégabus. Comme on l'a vu à propos des circuits émetteurs-récepteurs, un transfert de données de bus local au mégabus est validé par le signal MYOCNN. Le signal MYDCNN n'est engendré que si tous les signaux d'entrée de la porte ET 04CO10 de la figure 418 sont à un. Les signaux d'entrée BSHUOK, BSGUOK, BSFUOK et BSEUOK constituent les signaux BSTIE utilisés par le circuit d'interruption de connexion contenu dans chaque unité de traitement relite au mégabus incluant l'adaptateur de mégabus. Le signal HIREQT est commandé par la bascule JK 09BB10 et le signal MYREQT est commandé. par la bascule JK 07BB3O10 de la figure 41A. Le signal BSDCNB est le signal de sortie de l'inverseur 11CC10 de la figure 41B qui reçoit le signal d'entrée BSDCNB engendré par la porte OU à entrées inversées 11BB10 de la figure 41A. Une entrée de la porte OU 11BB1O reçoit le signal BSDCNN qui est le signal de sortie inversée de la porte ET 10AA10. Les entrées de la porte ET 10AA10 reçoivent en commun le signal BSDCNN envoyé par la sortie de la porte OU 02DD08 de la figure 37B. L'autre entrée de la porte OU 11BB10 reçoit le signal DCN060 qui est le signal de sortie de la porte ET 10AA10 retardé de 60 nanosecondes par le circuit de retard 11AA10. Le signal MYDCNR est aussi envoyé à une entrée de"la porte ET 04CC10 et il estengendré par la porte OU-à sortie inversée 07CC10 de la figure 41B. Cette porte OU reçoit les signaux d'entrée BSACKR, BSNAKR et BSMCLR provenant du mégabus par l'inter- médiaire du réseau d'émetteurs-récepteurs 503. L'autre entrée de la porte OU reçoit le signal BSWAIT qui a la même valeur que le signal BSWAIT-reçu du mégabus. Si tous les signaux d'entrée de la porte OU O7CC10 sont à zéro, le signal MYDCNR.est alors à un. Le signal d'entrée de la porte ET 04CC10 est engendré par la porte ET 08DD15 de la figure 46B. Le signal MBIDCN est à un si le mémoire FIFO est vide et qu'il n'y a pas d'interruption d'écriture en cours de traitement. La dernière entrée de la porte ET 04CC10 reçoit le signal BSREQD qui est le signal de sortie de la porte ET 03AAO10 retardé de nanosecondes. Le signal BSREQD est à un si le signal BSDCNB qui vient d'être défini est à un et que le signal BSREQL provenant du mégabus es-t à un. Les figures 43A et 43B représentent un exemple de réalisation de matériel du circuit logique de réponse de mode d'esclave de mégabus 533 de la figure 12. La porte ET 02AA12 et la porte OU 01AA12 de la figure 43A déterminent si un processeur relié 248 0 4 60 rlu bus local est l'unité de destination des signaux BSA014 et BSADI5. La porte OU 05BB12 et la porte ET CC12 des figures 43A et 43B déterminent si l'un des processeurs SIP et CIP est dans un état interrompu. Pareillement, la porte OU 06BB12 et la bascule D06CC12 déterminent si l'un des processeurs SIP et CIP est occupé. Si (1) les processeurs SIP et CIP ne sont pas dans un état interrompu, C2) que ni l'un ni l'autre n'est occupé, et (3) si l'un de ces processeurs est indiqué comme unité de destination, la porte ET 02BB12 de la figure 43A met alors le signal ACKCYC à un et la porte ET 02CC12 de la figure 43B déclenche la bascule D 020D12 pour fournir un signal d'entrée à la porte OU 040D12 pour engendrer le signal MYACKR qui est un signal ACK d'accusé de réception d'adap- tateur de mégabus transmis au mégabus par les émetteurs- récepteurs 503. Cependant, si l'un des processeurs SIP et CIP est dans l'état interrompu, et qu'il est également l'unité de destination d'un cycle de mégabus, les portes ET 035B12 et 03CC12 déclenchent la bascule O 03D012 de la figure 43B pour engendrer un signal de sortie pour que la porte OU 05DD12 mette le signal MYNAKR à l'état vrai. L'autre circuit important est le circuit 11CC12 de la figure 43B qui engendre le signal MYRINT en réponse au signal LVLCHG à un pour indiquer aux unités reliées au mégabus par l'intermédiaire du signal MBRINT que des interruptions de CPU peuvent à nouveau être engendrées. Les figures 45A et 45B représentent des exemples de réalisation des circuits pour engendrer les signaux de commande de fin de cycle d'adaptateur de mégabus. La bascule D 010014 de la figure 45B, particulièrement importante, sert à engendrer le signal MYINCR chaque fois que le signal CAOBWO est 24804-60 1 4 6 à un pour indiquer une demande d'un mot de largeur double. Ces circuits contrôlent également les dépas- sements de temps sur le mégabus et engendrent les signaux d'unité de gestion de mémoire MMU, MBUARL et MBUARR, si un emplacement de mémoire demandé n'est pas physiquement disponible dans le système. Les figures 46A et 468 représentent des circuits pour exécuter une interruption d'écriture en réponse à l'accumulation de cycles de mégabus impliquant des écritures en mémoire FIFO 505. Le signal d'indication d'interruption d'écriture est engendré par la bascule D 04CC15 de la figure 468 sous la commande des signaux d'entrée SWBRKN, BRKCYC, et BRKAGN. Le signal SWBRKN est le signal de sortie de la porte ET 03AA15 de la figure 46A qui-est égal à zéro (puisque la sortie de la porte ET est inversée) quand les signaux FIFOMT, FIWRIT, BRKRUN et MBIBSY sont tous égaux à un. Le signal FIFOMT envoyé à la porte ET 03AA15 est à un quand il n'y a pas d'entrées faites présentement dans la mémoire FIFO. Le signal FIWRIT a la valeur du signal transféré à partir de la sortie de l'élément de mémoire RAM 04AA07 de la figure 39A. Le signal BRKRUN est à un quand une interruption d'écriture n'est pas interdite en raison d'une référence de mémoire d'antémémoire ou d'une' opération d'écriture d'antémémoire en cours et d'un cycle d'interruption actif en cours. Le signal MBIBSY est à un quand l'adaptateur de mégabus demande un cycle de mégabus et le signal MYDBRH, décrit plus haut, est à zéro quand il est engendré par la sortie inversée de la bascule D 01CC11 (figure 42B). Le signal BRKCYC est un signal de sortie de la bascule D 0600DD15 dont l'entrée est commandée par le signal SWBRKN retardé de 75 nanosecondes par le circuit de retard 03BB15. Le signal d'entrée CD est FIWRIT et le signal d'entrée C 147 - est le signal BRKEND engendré comme l'inverse du signal BRKAGN retardé de 75 nanosecondes par le circuit de retard O9BB15 de la figure 46A. Puisque le signal-d'entrée du circuit de retard 09BB15 est inversé, le signal BRKEND est à un à sa sortie inversée reliée au circuit 10CC15 uniquement si une autre interruption d'écriture n'a pas été demandée par la porte ET 09AA15 dans un délai de 75 nanosecondes. L'entrée de remise à zéro de la bascule 06DD15 reçoit l'inverse du signal FIFOMT. En résumé, les circuits représentés sur les figures 46A et 46B forcent l'adaptateur de bus local à accorder à ia mémoire FIFO des cycles de'bus local pour vider cette mémoire. 15. On va maintenant décrire le fonctionnement- du sous-système central. Tout d'abord, l'un des processeurs CPU, SIP et CIP envoie une demande de cycle de bus local à l'unité d'antémémoire/MMU. Si l'antémémoire n'a pas été affectée, un cycle d'arbitrage d'antémémoire sur la base du premier venu-premier servi a lieu et l'antémémoire est affectée au demandeur de niveau de priorité le plus élevé par le registre de demande accordée 409 de la figure 11. Si l'antémémoire a été affectée, les demandeurs suivants doivent alors attendre qu'un cycle de bus local soit disponible. Une fois que l'antémémoire a été affectée, un signal de demande accordée est envoyé au processeur désigné et l'adresse virtuelle de ce processeur et le signal d'adresse BYAD sont sélectionnés par le multiplexeur d'adresse virtuelle 405 et le multiplexeur de BYAD 413 de la figure 11. Tous les indicateurs d'intégrité et de synchronisation sont remis à zéro. Ensuite, la ligne de référence de mémoire du processeur sélectionné MREF est contrôlée pour voir si elle est active. Si ce n'est pas le cas, le processeur dirige alors une référence vers une unité de non- mémoire. Si la ligne de référence de mémoire est active, une demande de mémoire est alors indiquée. La première phase d'exécution pendant une demande de mémoire est de contrôler les droits d'accès du processeur demandeur à l'emplacement de mémoire adressé. Si le processeur n'a pas le d.roit d'accès, le signal LBACKR est mis à zéro et le signal LBPROV (un des signaux d'INTEGRITE DE LB) est mis à un. S'il s'agit d'une demande de lecture indiquée par le signal LBWRIT à zéro, le processeur sélec- tionné émet un signal DCNN quand les informations demandées deviennent disponibles et la ligne de demande accordée de ce processeur est mise à zéro. S'il s'agit d'une demande d'écriture, il n'est pas nécessaire qu'un signal DCNN soit transmis au processeur sélectionné. Si la demande passe le-contrôle de droit d'accès, l'adresse demandée est contrôlée pour voir si elle est disponible dans la mémoire -du systèfe.-. Si le signal LBACKR n'est pas à zéro, le signal LBUARL, qui est aussi un des signaux d'INTEGRITE DE LB, est mis à un. S'il s'agit d'une demande de mot double comme l'indique le signal DBLW, le signal LBUARR est aussi à un. S-'il s'agit d'une demande de lecture, un signal DCNN est transmis au processeur sélectionné au moment approprié à la suite du signal DCNN, et qu'il s'agisse d'une demande de lecture ou d'écriture, la ligne de demande accordée au processeur sélec- tionné est mise à zéro. Si le premier mot demandé était disponible, la demande est contrôlée pour voir s'il s'agit d'une demande de mot double, et, si c'est le cas, un contrôle est fait pour voir si l'adresse supérieure de un à l'adresse demandée est également disponible. Si ce n'est pas le cas, le signal LBUARR est mis à un. Ensuite, la ligne de signal WRIT du processeur sélectionné est contrôlée pour voir si elle est mise à un et si c'est une opération d'écriture de mémoire qui est exécutée. Si la ligne de signal WRIT du processeur sélectionné est à zéro, c'est une demande de lecture de mémoire qui est traitée. D'abord, le répertoire- d'entrées en mémoire d'antémémoire 403 est examiné pour voir si l'adresse demandée se trouve dans l'anté- mémoire. Si c'est le cas, et si la ligne de signal DBLW du processeur sélectionné est mise à un, le répertoire d'unité 403 est en outre examiné pour voir si le second mot se trouve aussi dans l'antémémoire. Si tous les mots demandés se trouvent dans l'Qnté- mémoire, il n'est pas nécessaire qu'une demande de lecture de mémoire de système soit émise. Si un - ou plusieurs des mots demandés ne se trouvent pas dans l'antémémoire, une demande de lecture de mémoire de système doit être faite. L'adresse demandée est validée sous forme des signaux LBAD 0:24 par le répertoire d'antémémoire 403 et le signal CADBPL est mis à zéro ou à un par le circuit logique de commande 417 selon qu'un ou deux mots sont demandés. L'opération de lecture de mémoire de système implique la validation de l'adresse demandée et des signaux de commande nécessaires au mégabus sous la commande du signal MYDCNN. L'unité de mémoire adressée exécute ensuite une opération de lecture et répond de la manière décrite plus haut selon qu'il s'agit d'un module de largeur simple et à extraction simple, d'un module de largeur simple et à extraction double, ou d'un 1 50 module de mémoire de largeur double. L'adaptateur de mégabus reçoit la réponse de la mémoire et si le signal BSRESQ est à zéro, tous les 32 bits de données et les bits de commande appropriés sont alors mémorisés dans la mémoire FIFO 505. Si le signal BSRESQ est à un mais si le signal BSDBPL est à zéro, les signaux BSDT 0:16 sont alors validés dans le registre de seconde moitié de cycle de bus 521 et l'adaptateur de mégabus attend qu'un second signal de seconde moitié de cycle de bus soit émis par la mémoire effectuant le transfert. Quand le second signal de seconde moitié de cycle de bus est reçu, les signaux BSOT 0:16 sont validés par rapport aux signaux FIAD 0:16 de même que les signaux de commande appropriés mémorisés dans les emplacements de signaux de commande de mémoire FIFO. Quand ces signaux introduits en mémoire FIFO sont extraits de la mémoire, le multiplexeur 517 sélectionne les signaux d'entrée FIDT 0:16 et le registre.de seconde moitié de cycle de bus 521 transfère les signaux MBSH 0:16 jusqu'à la porte OU 515 pour valider le transfert en parallèle de tous les 32 bits de données vers le bus local. Enfin, si-la mémoire répondant est un module de mémoire de largeur simple et à extraction simple, les 15 bits transférés en réponse à la première demande de lecture sont mémorisés dans le registre de seconde moitié de cycle de bus 521 et le générateur- d'adresse de ALU 531 est validé pour faire progresser de un l'adresse LBAD et une seconde demande-de lecture est envoyée à la mémoire. Si la mémoire répond avec un mot demandé, celui-ci est chargé dans la mémoire FIFO 505 avec les signaux de commande appropriés. Quand ces données particulières introduites sont transférées à partir de la mémoire FIFO, un. transfert simultané des 16 bits contenus dans le registre de seconde moitié de cycle de bus est validé en direction de la porte OU 515 qui, en association avec le multi- plexeur 517, transfère les 32 bits demandés. Le transfert de données. sur l'adaptateur de mégabus jusqu'à l'adaptateur de bus local en réponse à une demande de lecture engendrée par le processeur relié au bus local entraine l'écriture des données demandées dans l'antémémoire et leur transfert par les lignes de données de bus local jusqu'au processeur demandeur de même qu'un signal de validation sur la ligne DCNN du processeur demandeur. Après l'émission du signal DCNN, la ligne de signal RQGT du processeur demandeur est mise à zéro et l'anté- mémoire est validée pour être réaffectée. Si le processeur relié au bus local a demandé une opération d'écriture de mémoire-au lieu d'une opération de lecture de mémoire, une recherche de répertoire est exécutée sur l'unité de mémoire et de répertoire d'antémémoire 403 pour déterminer si les deux emplacements de mémoire désignés s'y trouvent. Un contrôle de droit d'accès est également exécuté et les adresses sont contrôlées pour voir si elles sont disponibles dans la mémoire du système. Si ces contrôles sont satisfaisants, les signaux CADBPL et CADBWD sont mis à un si une opération d'écriture de deux mots est demandée, les adresses sont validées sous forme de signaux LBAD 0:24 par l'unité de mémoire et de répertoire d'antémémoire 403, et les signaux LBDT 0:32 plus 4 bits de parité sont validés sous forme de signaux LDTR 0:32 (plus 4 bits de parité). En outre, si les emplacements de mémoire dans lesquels les données doivent être écrites se trouvent dans l'an- - témémoire, l'antémémoire est mise à jour en parallèls avec l'écriture en mémoire. Pareillement, le circuit logique de commande 417 met aux valeurs appropriées les signaux CABYTE, CAWRIT, CAMREF et LBAD23 pour contrôler quels bits doivent être écrits dans les emplacements de mémoire adressés. Le signal MYDCNN valide le transfert-des 32 bits de données, de l'adresse et des signaux de commande jusqu'au mégabus et, l'unité de mémoire adressée exécute son écriture de mémoire. Si l'unité de mémoire peut transférer 32 bits an parallèle, et qu'une demande d'écriture de largeur double a été faite, l'unité de mémoire répond avec des signaux B.SACKR et BSRESQ à zéro. Si le signal CADBPL est à un, le multiplexeur de sortie de données 523 transfère-d'abord les signaux LDTR 0:16 à MYDT 0:16 et une opération d'écriture initiale est exécutées. Ensuite, les signaux LDTR 16:16 sont validés sous forme de signaux MYDT 0:16 par le multiplexeur de sortie de données 523 et une deuxième seconde moitié de cycle de bus est déclenchée. Enfin, si la mémoire adressée est un module de mémoire de largeur simple et à extraction simple, il répond avec un signal BSACKR et une combinaison de signaux.de commande, comme on l'a expliqué plus haut, relative aux types d'écriture 1-3. Si le signal DBWD était égal à un, l'adaptateur de mégabus reconnaît qu'une autre demande d'écriture de mémoire est nécessaire-, le générateur d'adresse de ALU 331 fait progresser l'adresse, et le multi- plexeur de sortie de données valide les signaux LDTR- 16:18 sous forme de signaux MYOT 0:16. Une seconde demande d'écriture est émise. Si un cycle de référence de non-mémoire a été demandé, la ligne de signal MREF du processeur sélectionné est mise à zéro et un numéro de canal- de destination est mémorisé dans les positions de bits LBCMD 0:3. L'adaptateur de bus local contrôle les trois bits du numéro de canal et s'ils corres- pondent au numéro de canal d'un processeur relié au bus local, il émet un signal DCNN en direction de ce processeur adressé pour transférer les données et les signaux de commande à celui-ci. Si le numéro de canal d'un processeur de bus local ou de l'unité d'antémémoire/MMU n'est pas spécifié, les chemins de données sont établis pour un cycle de métabus de référence de non-mémoire. Les signaux LBDT 0:32 sont validés sous forme de signaux LDTR 0:32 par le multiplexeur d'entrée de données d'antémémoire 401. Pareillement, les signaux VADR 0:23 du processeur sélectionné sont validés sous forme de signaux LBAD 0:23 par l'unité de mémoire et de répertoire d'antémémoire 403. L'unité logique de commande 417 valide les sorties appropriées des signaux de commande d'antémémoire CACNTRL et l'adaptateur de mégabus valide le transfert des informations au mégabus après qu'il a obtenu un cycle de mégabus. * Si une unité de traitemet réliée au mégabus émet une commande de mode d'entrée-sortie en direction d'un sous-système central, celle-ci est reconnue par l'adaptateur de mégabus quand le signal BSDCNN est égal à zéro, que les signaux BSMREF, BSSHBC et BSLOCK sont égaux à un et que le champ d'adresse BSAD 8:10 contient le numéro de canal de l'un des processeurs CPU, SIP et CIP ou de l'unité d'antémémoire/MMU du soussystème central. Si le numéro de canal est celui de l'unité CPU, l'adaptateurrde mégabus contrôle pour voir si l'unité CPU est présente. Si le signal CPPRZT est égal à zéro, aucune réponse n'est émise en direction du mégabus. Cependant, si le signal BSSHBC n'est pas à zéro, si le code de fonction de- mande une interruption et si le niveau d'interruption est inférieur à celui de l'unité CPU en cours, et si aucune interruption n'est en attente, les signaux BSDT 0:16 sont validés dans le registre d'interrup- tion 519 et l'indicateur d'attente d'interruption INPNDG est mis à un. Le signal BSACKR est ensuite mis à un et l'unité effectuant le transfert sur le mégabus reçoit un signal ACK. Cependant, si l'antémémoire n'est pas en train d'attendre une seconde moitié de cycle de bus en réponse à une demande de lecture, une demande d'un cycle de bus local est engendrée par l'adaptateur de mégabus et, une fois affectés, les chemins de données sont établis pour transférer une commande de mégabus au bus local en initialisant les lignes d'intégrité et de synchronisation du bus local et en validant les signaux MBDT 0:32 sous forme de signaux LBDT 0:32. Le code de fonction est contrôlé pour voir s'il y a une commande d'initialisation et, si ce n'est pas le cas, la ligne de signal DCNN du processeur adressé est mise à un et le signal LBSHBC est mis à zéro pour transférer les informations de mégabus au processeur adressé par le mégabus. Si le code de fonction a spécifié une commande d'initialisation et que le processeur adressé était occupé, un signal NAK d'accusé de réception négatif -est envoyé au mégabus. Si le processeur n'était pas occupé mais s'il était dans un état interrompu et qu'un code de fonction d'entrée n'était pas spécifié, un signal NAK est alors envoyé au mégabus. Si le processeur n'était pas en état interrompu, ou si un code de fonction d'entrée était spécifié, le signal de processeur adressé, DCNN, est mis à un, le signal LBSHBC est mis à zéro, et un signal ACK d'accusé de réception est envoyé au mégabus. Après l'envoi d'un signal ACK'ou d'un signal NAK au mégabus, l'antémémoire est disponible pour être réaffectée. Comme on l'a expliqué, l'adaptateur de mégabus saisit les demandes d'écriture de mémoire principale engendrées par l'unité de traitement reliée au mégabus de manière à maintenir l'intégrité de la mémoire d'antémémoire dans le-sous-système central. Si ces demandes d'écriture n'étaient pas saisies et traitées par le sous-système central et si les emplacements de mémoire adressés av-aient des doubles contenus en même temps dans l'anté- mémoire du sous-systèms central, le sous-système central ne traiterait pas les données les plus courantes. Le-détecteur d'écriture de mégabus 511 de la figure 12 reconnait une demande d'écriture -de mémoire principale par les signaux BSDCNN, BSWRIT et BSMREF mis- à un quand ils sont transférés du mégabus dans le réseau d'émetteurs-récepteurs 5030 En reconnaissant cet état d'événements, l'infor- mation de cycle de mégabus est mémorisée dans la mémoire FIFO et le circuit de commande de FIFO 513 fait progresser le contenu du registre d'adresse d'écriture 507. Ensuite, le signal FIFOMT est mis à un car le contenu du registre d'adresse d'écriture et le contenu du registre d'adresse de lecture ne sont pas égaux, ce qui indique que la mémoire FIFO 505 n'est plus vide. Le signal FIFOMT à un signifie qu'une demande d'accès à la mémoire FIFO de l'anté- mémoire sera considérée par le réseau d'arbitrage de demandes 407. Quand l'antémémoire est affectée à la mémoire FIFO, les chemins de données sont établis pour le transfert des données, de l'adresse et des signaux de commande de mémoire FIFO à l'adaptateur de bus local. Cela signifie que les signaux FIAD 0:23 sont envoyés au multiplexeur d'entrée d'adresse virtuelle 405 et que les signaux MBDT 0:32 sont envoyés au multiplexeur d'entrée de données d'anté- mémoire 401. Pareillement, les signaux FICNTRL 0:10 sont envoyés à l'unité de commande 417. Une mise à jour de la mémoire d'antémémoire est ensuite-déclen- chée si l'emplacement de mémoire adressé se trouve présentement dans l'antémémoire et le registre d'adresse de lecture de FIFO a son contenu incrémenté de un par le circuit de commande de FIFO 513. Puisque le registre d'adresse d'écriture 507 et le registre d'adresse de lecture 509 sont simplement des compteurs remis à zéro en réponse à un signal de remise à zéro générale, les contenus des compteurs sont comparés et s'ils sont égaux, le signal FIFOMT est mis à zéro, le signal de demande de FIFO accordée est mis à zéro et l'adaptateur de bus local est libre d'accorder une demande d'accès à une autre unité. Si le mot adressé par les signaux FIAD 0:23 ne se trouve pas dans l'antémémoire, celle-ci n'est évidemment pas mise à jour. Si le mot adressé se trouve dans l'antémémoire, les multiplets appropriés sont écrits.conformément aux valeurs des signaux FIBYTE, LBWCT1, LBWCT2 et FIAD23. Si le signal FIFOMT n'est pas égal à zéro, l'antémémoire est alors réaffectée à la mémoire FIFO et toutes les demandes d'écriture se trouvant en mémoire FIFO sont traitées jusqu'à ce que le signal FIFOMT soit égal à zéro. REVENDICATIONS 1. Système de traitement de données comportant un sous-système de modules de mémoire et un sous- système central, caractérisé en ce que le sous-système de modules de mémoire comprend:: (1) un premier module de mémoire (figure 17) comprenant un premier chemin de données d'une première largeur de bits, ce premier module de mémoire étant agencé pour mémoriser des données dans un ensemble d'emplacements de mémoire adressables, pour exécuter des transferts de données par ledit premier chemin de données en réponse à des demandes de transferts de données, et pour engendrer des signaux de réponse indiquant les performances.d'un tel transfert de données; - (2) un second module de mémoire (figure 18) comprenant un second chemin de données d'une seconde largeur de bits supérieure à la première largeur de bits, le second module de mémoire étant agencé pour mémoriser des données dans un ensemble d'emplacements de mémoire adressables, pour exécuter des transferts de données par ledit second chemin de données en réponse à des demandes de transferts de données, et pour engendrer des signaux de réponse indiquant les performances d'un tel transfert de données; et en ce que le sous-système central comprend (1) un moyen de traitement de sous-système (100) pour engendrer des demandes de transferts de données de la seconde largeur de bits entre le sous- système de modules de mémoire et le sous-système central (2) un moyen (103) pour transmettre lesdites demandes de transferts de données et effectuer les transferts de données demandés entre ledit moyen de traitement de sous- systàre et le sous-système de modules de mémoire.; et, BR 7245 US/ LC (3) un moyen (figure 12) pour recevoir lesdits signaux de réponse engendrés et transmis par le premier module de mémoire et par le second module de mémoire et pour engendrer des demandes supplémentaires de - transferts de données entre le premier module de mémoire et le moyen de traitement de sous-système quand les signaux de réponse reçus indiquent qu'une demande 'de transfert de données a été exécutée-par le premier module de mémoire, lesdites demandes supplémentaires de transferts de données étant faites pour valider le transfert cumulatif de bits de données en nombre égal à celui de la seconde largeur de bits entre le premier module de mémoire et le moyen da traitement de sous- système. 2. Système de traitement de données selon la revendication 1, caractérisé en ce qu'il comprend, en outre, des unités de traitement du système (107, 109) pour exécuter des transferts de données avec le.premier module de mémoire et avec le second module de mémoire. 3. Système de traitement de données selon la revendication 2, caractérisé en ce que, ledit moyen de réception (figure 12) étant conçu pour détecter des transferts de données effectués entre lesdites unités de traitement et le premier et le second modules de mémoire, il comprend, en outre, une mémoire de premier entré -premier sorti FIFO (505) pour mémoriser les transferts de données détectés. 4. Système de traitement de données selon la revendication 1, caractérisé en ce que ledit moyen de réception (figure 12) comprend: (1) un générateur d'adresse (531) pour engen- drer des adresses dans le premier module de mémoire pour les demandes supplémentaires-de transferts de données engendrées par ce moyen; et, (2) un registre de seconde moitié de cycle BR 7245 US/ LC de bus (521) pour mémoriser les informations trans- férées du premier module de mémoire au moyen de réception en réponse aux demandes supplémentaires de transferts de données engendrées par ledit moyen de réception. 5. Système de traitement de données selon la revendication 1, caractérisé en ce que, les données transférées comprenant des données d'adresse, des données de commande et des données d'informations, ledit moyen de réception comprend un multiplexeur de sortie (517) pour transférer de façon sélective des données d'adresse, des données de commande ou des données d'informations, reçues dans lés données transférées par le moyen de réception, jusqu'au moyen de traitement de sous-système par le moyen de transmission (103). 6. Système de traitement de données comportant un sous-systeme de modules de mémoire, un sous-système central et un moyen 'd'interface entre le sous-système de modules de mémoire et le sous-système central, caractérisé en ce que le sous-système de modules de mémoire comprend: (1) un premier module de mémoire (figure 16, figure 17) comprenant un premier chemin de données d'une première largeur de bits, le premier module de mémoire étant agencé pour mémoriser des données dans un ensemble d'emplacements de mémoire adressables, pour exécuter des transferts de données par le premier chemin de données en réponse à des demandes de trans- ferts de données, et pour engendrer des signaux de réponse indiquant les performances d'un tel transfert de données; et, (2) un second module de mémoire (figure 18) comprenant un second chemin de données d'une seconde largeur de bits supérieure à la première largeur de bits, le second module de mémoire étant agencé pour mémoriser des données dans un ensemble d'emplacements BR 7245 US/ LC O de mémoire adressables, pour exécuter-des transferts de données par le second chemin de données en réponse à des demandes de transferts de données, et pour engen- drer des signaux de réponse indiquant les performances d'un tel transfert de données; en ce que le sous-système central (100, 101, 102, 9) comprend un ensemble d'unités de traitement de sous- système (100, 101, 102) pour engendrer des demandes de transferts de données entre le sous-système de modules de mémoire et le sous-système central; et, en ce que le moyen d'interface (103) comprend des moyens pour transmettre les demandes de transferts de données et pour transférer les données demandées entre les unités de traitement du sous-système-et le sous-système de modules de mémoire. 7. Système de traitement de données selon la revendication 6, caractérisé en ce qu'il comprend en outre, un ensemble d'unités de traitement de' système, un bus de système (105) reliant le sous-système de modules de mémoire et les unités de traitement de système pour un échange de données bidirectionnel entre eux, et -un bus de sous-système (9) pour relier les unités de traitement de système pour un échange de données bidirectionnel entre elles, ledit moyen d'interface (103) reliant le bus de système-au bus de sous-système pour permettre le transfert des demandes de transferts de données et des données demandées entre le bus de système et le bus de sous-système. 8. Système de traitement de données selon la revendication 7, caractérisé en ce que ledit moyen d'interface (103) comprend un-moyen émetteurrécepteur (503) pour recevoir des données transférées du bus de système et pour émettre des données transférées au bus de système, lesdites données transférées com- prenant des données d'adresse,'des données de commande et des données d'informations. BR 7245 US/'LC 9. Système de traitement de données selon la revendication B, caractérisé en ce que ledit moyen d'interface (103) comprend, en outre, des moyens (531, 533, 535) pour engendrer un ensemble de demandes de transferts de données d'une première largeur de bits à partir du premier module de mémoire quand (1) une demande de transfert de données de la seconde largeur de bits est reçue d'une des unités de traitement de sous-système, et (2) les données demandées se trouvent dans le premier module de mémoire. 10. Système de traitement de données selon la revendication 9, caractérisé en ce que, une demande de transfert de données comprenant une donnée d'adresse correspondant à une adresse du sous-système de modules de mémoire, lesdits moyens d'engendrement (531, 533, 535) comprennent une unité arithmétique et logique (531) pour faire-progresser de façon sélective une donnée d'adresse reçue d'une des unités de traitement de sous-système. 11. Système de traitement de données selon la revendication 7, caractérisé en ce que, les unités de traitement de système étant à l'origine des trans- ferts de données de système au sous-système de modules de mémoire, ledit moyen d'interface (103) comprend un moyen (511) pour détecter lesdits transferts de données de système, pour mémoriser les données de transferts de système détectés, et pour transférer les'données de transferts de système mémorisées au sous-système central. 12. Système de traitement de données selon la revendication 11, caractérisé en ce que le moyen de mémorisation inclus dans le moyen d'interface (103) est constitué d'une mémoire de premier entré-premier BR 7245 US/ LC 1 62 sorti FIFO (505) comportant un ensemble d'emplacements de mémoire et d'un moyen pour commanderla mémorisation des données de transferts de système détectés dans les emplacements de mémoire de la mémoire FIFO. BR 7245 Us/ LC