Brevet FR2480458A1 — publié le 19811016

t-48È4S La présente invention concerne particulie- rement un dispositif pour transférer des informations entre une unité d'antémémoire/de-gestion de mémoire, une unité centrale de traitement et de commande, un processeur commercial et-un processeur scientifique. Dans l'industrie des systèmes de traite- ment de données, un effort continu a été fait pour aug- menter 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 sys- tème de traitement de données, il existe deux variables très importantes qui sont la vitesse de fonctionnement du processeur employé dans le système et la vitesse à laquelle des données peuvent être transférées entre la mémoire du système et l'unité de traitement. Une approche connue pour augmenter les performances du système de traitement de données consiste à prévoir un ensemble d'unités de traitement ou processeurs connectés chacun à la mémoire du système par un bus de données commun. Dans la- suite de cette approche, des processeurs individuels ont été spécialement définis pour exécuter des types particuliers d9opérations de traitement. Ainsi, le système de traitement de données peut comprendre un processeur scientifique rapide spécialement adapté pour exécuter des calculs mathéma- tiques complexes à un rendement de haut niveau, un processeur d'instructions commerciales spécialement défini pour exécuter officiellement des opérations com- munes dans un traitement de données relatives aux affaires, et une unité centrale de traitement plus généralisé servant de processeur principal ou pilote pour commander le fonctionnement de tout le système de traitement de données tout en offrant d'autres possibilités de traitement. BR 7249 US/LC 248O4B8 Dans de tels systèmes de traitement de données multiples, il est commun pour chaque processeur d'é- changer des informations avec la mémoire du système au moyen de connexions individuelles à un bus de données commun qui est lui-même connecté à la mémoire du système. L'augmentation importante de la capacité de traitement fournie par l'utilisation de processeurs multiples définis spécialement a permis d'améliorer les performances d'ensemble du système, mais l'énorme quantité de données qui sont constamment demandées par les processeurs dépasse la capacité de la mémoire du système à transférer les données jusqu'aux processeurs pour qu'elles soient traitées à des débits optimaux. Une seconde approche, pour augmenter au maxi- mum les performances d'un système de traitement de données, consiste à réduire au minimum le nombre de fois o un processeur demande l'accès à la mémoire du système pour obtenir des données contenues dans celle-ci. Cette approche envisage l'utilisation d'une mémoire très rapide et de capacité limitée qu'on appelle "antémémoire". Les informations les plus récentes demandées par l'unité centrale de traitement à la mémoire du système sont mémorisées dans l'antémémoire en même temps qu'elles sont transférées à l'unité centrale de traitement. Des demandes ultérieures pour ces informations donnent lieu à un transfert des données directement à partir de l'anté- mémoire jusqu'à l'unité centrale de traitement sans qu'il soit nécessaire d'avoir accès à la mémoire du système de plus grande capacité mais moins rapide. Une troisième approche pour augmenter les performances d'un système de traitement de données qui est une solution dérivée de la première et de la seconde approches consiste à prévoir plusieurs proces- seurs spécialisés dans le système de traitement de données et à utiliser l'antémémoire pour l'unité de BR 7249 US/LC traitement et de commande, par exemple, l'unité centrale de traitement CPU. Cette approche permet d'améliorer jusqu'à un certain degré le manque de capacité à trans- férer des données suffisantes jusqu'aux processeurs pour leur permettre de fonctionner de façon efficace. L'unité centrale de traitement CPU est, cependant, principalement avantagée car il'est directement connecté à l'antémémoire et qu'il a moins souvent besoin d'avoir accès à la mémoire du système. Un avantage secondaire est donné aux autres processeurs car une diminution de circulation sur le bus de données transférant des informations entre la mémoire du système et les proces- seurs provient des demandes moins nombreuses d'accès à la mémoire faites par l'unité CPU. - Même de cette approche hybride, on n'a pas pu obtenir, cependant, un système de traitement de données dans lequel des processeurs spécialisés multiples puissent fonctionner en permanence de façon optimale. Un obstacle important pour augmenter au maximum des capacités de traitement des processeurs du système de traitement de données provient de l'impossibilité de pouvoir transférer des informations dans le système à des débits suffisamment élevés pour tirer un avantage des rendements propres aux multiples processeurs définis spécialement. Un objet de la présente invention est l'aug- mentation supplémentaire des performances dtunsystème de traitement de données sans augmenter de façon impor- tante le coût de ce système. Un autre objet de l'invention est une antémé- moire partagée en commun par plusieurs processeurs spé- cialisés dans.un système de traitement de données. Un autre objet de l'invention est une dispo- sition de bus perfectionnée pour transférer des informa- tions entre une antémémoire et plusieurs processeurs spécialisés d'un système. BR 7249 US/ LC 480458" - Un autre objet -de l'invention est un disposi- tif de bus local pour transférer des informations mémo- risées dans une antémémoire jusqu'à n'importe quel processeur d'un ensemble de processeurs spécialisés. Selon la présente invention, un système de traitement de données est caractérisé en ce qu'il-com- prend un système principal comportant un ensemble d'unités de traitement de données principales reliées à un bus de système, les unités de traitement de données principales comprenant des modules de mémoire de système et des moyens de système principaux pour lancer des opérations de transfert d'informations-, un sous-système central comprenant un ensemble de moyens de traitement de sous-système pour lancer indépendamment des opéra- tions de transfert d'informations dirigés vers les unités de traitement principales et vers d'autres des moyens de traitement de sous-système; des moyens de bus de sous-système étant reliés à chacun de l'ensemble des moyens de traitement de sous-système pour émettre de façon asynchrone des transferts d'informations pendant des cycles de bus de sous-système ayant des périodes de temps prédéterminées pour utiliser les moyens de bus de sous-système afin d'émettre les trans- ferts d'informations; et des moyens de commande de bus reliés audit bus de système et aux moyens de bus de sous-système pour attribuer de façon sélective les cycles de bus de sous-système à un desdits moyens de système principaux ou à un desdits moyens de traitement de sous-système pour lancer desdits transferts d'in- formations, les moyens de bus de sous-système étant en outre, conçus pour émettre de façon asynchrone des transferts d'informations entre les moyens de bus de sous-système et le bus de système pendant lesdits cycles de bus attribués. BR 7249 US/LC t48O458' 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 selon la présente invention, - la figure 3 représente des détails des connexions à l'unité arithmétique et logique de l'unité centrale de traitement selon la présente invention, - la figure 4 représente des détails de la composition des emplacements de la mémoire de contrôle de l'unité centrale de traitement selon la présente invention, - 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é central de traitement selon la présente invention v - 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 selon la présente invention; 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 selon la présente invention; BR 7249 US/LC -2480458 - 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 selon la présente invention - 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 megabus connectant les unités de traitement selon la présente invention; - la figure Il 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 mémoire d'un sous-système central selon la présente invention; - la figure 1Z est un schéma fonctionnel détaillé représentant ladaptateur de megabus servant à contrôler le transfert d'informations entre le sous-système central et le megabus de la présente invention - la figure 13 est un schéma fonctionnel représentant les registres de l'uni-té centrale de traitement servant d'interface avec le bus local; - la figure 14 est un schéma fonctionnel représentant les registres du processeur d'instruc- tions commerciales servant d'interface avec le bus local; - la figure 15 est un schéma fonctionnel, des registres du processeur scientifique servant d'interface avec le 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 le megabus 3 - la figure 17 est un schéma fonctionnel BR 7249 US/ LC -'7 des registres contenus dans un module de mémoire à simple largeur et à double extraction servant d'in- terface avec le megabus j - la figure 18 est un échéma fonctionnel des registres contenus dans un module de mémoire à double largeur servant d'interface avec l'adaptateur de megabus de la présente invention s - la figure 19 est un schéma fonctionnel représentant la manière suivant laquelle les parties - 10 A et B des figures 20A à 468 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érisl de l'adaptateur de bus local représenté sur la figure 11; et - les figures 34A à 46B sont des schémas logiques détaillés d'un exemple de réalisation matériel de l'adaptateur de megabus, représenté sur la figure 12. La figure I 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 systè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émoirejde 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 7249 US/LC Z8o458 B 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 ôt de l'unité 103 d'antémémoiPe/MMU. Il est prévu un bus local physique-9 organise- 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 O deux autres processeurs. Une autre interface spécialisée est prévue entre chaque processeur et l'ûnité 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 7249 US/ LC 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)3, 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 Il et BRAM 12 Le second élément 16 comprend également un bus d'entrée ou intérieur CI) 14 auquel est connecté, e 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 1l. Un troisième élément 22 (figure 2(B)l 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(Bl3) est la section d'adressage de l'unité CPU qui comprend un registre 23 dladresse de procédure (Pl 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éextraction. 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 OR 7249 US/ LC 24804S8 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 moins 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 du 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 local 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 diriger 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 données à 16 ou 32 éléments binaires ou bits du bus local 9. Sa sortie est connectée à un bus L 32. Le bus 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 procédure entreht dans l'unité CPU par l'intermédiaire du bus de source 33 qui est com- mandé à partir du bus L 32 par les sélecteurs de données. BR 7249 US/LC- 6w 1 1 Des dqnnées de procédure entrent dans l'unité PU par l'interMédiaire d'un groupe différent de sélecteurs PA 39 et PW 40, ees données provenant du tampon-de procédure 36, Le tampon de procédure a la repponsabi- 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 poursles 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é CPUe Le bus F 37 est un bus spécial qui est utilisé pour le transfert d'informations dans le registre F 36, 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 xegistre 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 A5'42 dans l'une des zones de Liaison ou FN du registre F 38. À l 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 qtiisê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, B30 BT, Dest 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, q.'il est à moitié vide, il déclenche alors automa- tiquement une lecture de procédure de mémoire par V'intermédiaire du bus local 9, à partir de l'uni.té103 BR 7249 US/ LC d'antémémoire/MMU. Les données en retour sont chargées dans les deux emplacements suivants qui sont 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 3 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, to 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 j le curseur à droite 36-1 repré- senta e l 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:l'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 l-es -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 PR 7249 US/ LC 1 3 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- s 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 la plupart des 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- vent 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 0, 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 BRAM12 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 7249 US/LC 1 4 élément 51 commande le bus I 14. L'aspect important des deux registres BRAN 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 commrandent é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 c-e 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 BRAM et DRAM sont reliés. Les sorties de ces deux bus sont reliéess 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 7249 US/ LC - >2480458 soit arrêté, le signal de bus pouvant alors se relâcher (passer à un niveau prédéterminé tel que O 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 1S 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é auxregistres 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 18 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 7249 US/ ILC 2480458, leur utilisation par l'unité arithmétique sous la cBm- mande de la partie microprogrammée, 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 traitagmnt d'opérandes, la génération d'opérandes à introdulra- dans les registres de données DRAM 11 ou d'opraIndes qui doivent être envoyés au bus extérieur 17., sit 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 3 la * section de l'unité centrale CPU incluant les bus extié- rieur 17 et d'écriture 84. Le bus extérieur 17 a$t le- bus o différents chemins de données sont regroupes. c'est-à-dire, les chemins par le registre Y 24., 1e registre P 23, la sortie de l'unité DALU 15 et le lus de RAM 13. Le bus d'écriture 84 est le bus utilisé pr transférer des opérandes au registre BRAN 12., aux registres de données d'écriture, et à l'unité ALU 55 qui est l'unité arithmétique et.logique ALU priecipfale - pour le traitement d'adresses. Un groupe de vingt-quatre registres * dgia- lage 19 de multiplexage, connectés entre le-bus exte- rieur 17 et le bus d'écriture 84 permettent de décaler 1, 2 ou 4 bits d'opérandes en direction du bus exte- 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 RAMI 13 et sont sélectionnés par l'intermédiaire d'un multiplmxiEur dm 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 7249 US/ tC 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 5.(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-systeme central de traitement. Le contenu du bus extérieur 17 peut être transféré soit directemeht 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écisions Tout décalags 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'oérahde, ou transférer l'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 7249 US/ I.C 2480458 ' 1a Le registre Q 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- lage de 40 bits. Dans ces décalages en registre double, les opérandes intéressants sont les 16 bits renvoyés au registre Q et les 16 bits transférés auxdeux empla- -cements 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.ile 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(8) et le décodeur 59 essocié. Le registre XB 58 est utilisé pendant le décalage d'index pour saisir les bits d'index qui sont décaleés à droite pour des opérandes dessous-mot 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 desdécalages de chiffre, et quatre bits à la fois pour des décalages d'opérande évalué en bits. Le registre-XB contient des informations qui sont ensuite utilisées pour BR 7249 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 CIP 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 BR 7249 US/LC 480458' 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 5. ensuite ces données dans 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 desunité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- trôle 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 7249 US/LC 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 dOanté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é-extraction 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 microprogramme). 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 7249 US/LC 2480458 t Ainsi, l'extraction d'un mot du tampon 36 fait prog.res- 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 commande 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 7249 US/ LC - 2480.458; 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 contenues dans le système. 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 1 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- pr6gramms 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- PR 7249 US/LC 2480458 ' 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'horioge 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 85 nanosecondes, nanosecondes, 115 nanosecondes et 130 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 contr8le, 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 7249 US/LC 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 vràie 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 FKo. 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 D 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 rel-ié au dispositif de constantes KON 70. Le champ suivant de mémoire' de contrôle, constitué par les bits 48 à 63, concerne principalement BR 7249 US/LC 2480458 ' l'adressage et la commande du registre DRAM 11 et du registre BRAM 12. Le champ DW de deu, bits est utilisé pour commander l'écriture dans le registre DRAM Il 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. 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é 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 BRAM. 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 7249 US/ LC Z'7- tion des différentes bascules bistables et la valida- tion de différentes fonctions de commande. Ce champ est également utilisé pour commander 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 3A, 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 sut: 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 contr6ô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 R 7249 US/ LC 248È458, registres sont validés pour le bus W et indiquant si le registre Q 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 partis logique ou là 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 suivants, 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-qule 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 7249 US/LC 2 480458 cqntrô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 centrale 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- s 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 BMN. 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 7249 US/LC Dans la phase suivante de microprogramme, le champ LB provoque ensuite l'émission 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. Le multiplexeur d'adresse 25 est conditionné pour validernle 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, tandis que 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'a ce que la fin du cycle de bus local ait été détectée, les données provenant de l'unité d'antém6- 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. Le 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) DR 7249 US/LC -4804Ss, soit validé pour le bus intérieur. Dens 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 consiste à attendre le retouri:des donné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 uo 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-7249 US/LC - 24-8È458 * DRAM 11 au;bus R 13, Le champ DA, c'est-à-dire le champde 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. 19-1 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.3 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 7249 US/ LC mis à un dans le registre X 57. S'il n'y a pas de dépassement de capacité, le registre X 57 doit être remis à zéro automatiquement. 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émo re/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 I 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 été adressé à cet effet. L'unité BALU 55, qui est commandée par le champ BA, doit être conditionnée pour.laisser passer le con;enu (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 7249 US/ I C 248o458. 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élisé 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 relides 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 ouvers la droite. Il est probable que les opérandes soient tous les deux BR 7249 US/ LC dans le registre DRAM, 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 A 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'éu bus extérieur par l'intermédiaire du sélecteur 20, an 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 executé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 un transfert 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 SH 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 7249 US/LC comne une eçtension du bus extéreurg pour engendrer un opérande de 32 bits. Dans le cas présent, 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 8 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 renvo'yés dans les registres B et Q. Les effets d'ex- trémité particuliers 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 à gauche 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 aligné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 7249 US/LC 480458 ' 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 bus 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 15 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 le 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 7249 US/LC capacité de mémoire de chaque bloc peut être de I 024 (1K) emplacements adressables contenant chacun 98 bits, c'est à dire, vingt-quatre 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 une fonction 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ées 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 7249 US/ LC 248 458 mémoire de cqntr6le, Dans le passé, 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élection 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 q.'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 les 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 la piésente invention, cette paire d'adresses est contrainte de BR 7249 US/ LC 248È458 telle manière que tous les branchement: 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 25? 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)sont 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 0?4) 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 cs. 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 OR 7249 US/ LC 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-à-dire celle 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 7249 US/ LC 2480458 4. 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 une vitesse accrue alors que si un multiplexeur tel que le multiplexeur 256-- était utilisé pour les deux blocs, toutes les 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 avent 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, ces 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 DR 7249 US/ iLC sélectionner un mqt 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 contrôle 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-a 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. Celles-ci sont le résultat des huit types de branchement possibles. qui peuvent etre spécifiés dans le mot de mémoire de controle. Ces types de branchement sont connus comme branchements XO.et Xl, XA, XB, XRo 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é,. NA(A), ou son complément, NA(A). Les six autres typas 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ée pour lancer le décodage d'un code opération d'une nouvelle instruction. Le branchement XB est utilisé pour exécuter le décodag'e initial de certaines-des syllabes d'adresse qui sont possibles dans l'unité CPU. Le branchement XR est utilisé pour BR 7249 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 vas, 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 le's 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é pour poursuivre la sélection d'une routine d'un certain nombre de routines quisont utilisées pour mémori.ser 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[S) 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 (113 et un zéro (.O), 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:iaux types d'instructions et-engendre les quatre derniers bits, BR 7249 US/ LC c'est-à-dire lei bits 7 à 10, à partir d'une mémoire PRpM de XR. Le troisième bit du branchement XE est le signal de type d'instruction mentionné plus haut. Le bit suivant indique si le bit O du registre Fest à zéro ou non, 1e bit suivant indique si les bits I à 3 du registre F 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 utilisent 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ée 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 7249 US/ LC 24'80458 sortie deux signaux TCTRUE- ou NON 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 contrôle. 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 des éléments logiques, la sortie du multiplexeur d'adresse 256 du bloc supDerieur 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-st dû au fait que les éléments 254 et 255 sont rée2asés avec des mémoires PROM plus rapides ayant une plus petite capacité de mémoire de mots. En conséquence, ce cji représente une ligne d'adresse pour une mémoire PREYv de 1K mots (4 bits/mot), devient une ligne de va!iation sélective pour deux mémoires PROM de 512 mots, une entrée.de validation de l'élément 255 de mémnzre PROM étant couplée par un inverseur 264. En pa=ziculier, 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 eaçon légèrement différente. La raison en est qu'une mezr e PROM de 512 mots ne nécessite que neuf bits 30. d'=:zesse. Le dixième bit d'adresse, qui est un bit d'a=zesse pour toutes les autres mémoires PROM de me-zre de contrôle, est par contre utilisé comme sezz-d bit de validation des mémoires PROM de mémoire de -ontrôle de 512 par 4 bits. C'est ainsi que l'élé- mer-- 254 est validé pour des adresses de 400 à 5FF BPF -49 US/LC 2480458 3 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 600 à 7FF en hexadé- cimal. 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, doé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 per 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 OR 7249 US/ LC -48 "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 PROP 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, est 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- contrele 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 coups,. 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 dO au multiplexeur d'adresse 256 du bloc supérieur. Les mémoires PROM 254 et 255 compensent le retard dO 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 DR 7249 US/ LC que soient les informations de sortie-engendrées, celles qui vont directement Jusqu'au registre MLR 82 ou celles qui voit 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é. 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 a 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 val'ida- tion est beaucoup plus court que le chemin d'adresse si l'on compare les 15 nanosecondes de temps de validation aux 60 nanosecondes de temps de propagation BR 7249 US/ LC 2480458 - 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 p-our 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), cha.que 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 il est 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 bloc 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 7249 US/ itC 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 niveau.x de multiplexeurs, un niveau comprenant le multiplexeur 300 et l'autre niveau com- prenantles multiplexeurs 302 et 3.04 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 àuivant. 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 GPO à 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-153 du mot de microprogramme. Les sorties GPO à GP7 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 sent égale- ment reliés, pour recevoir respectivement à 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 champ TP-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- mationet de négation sont utilisées. Les multiplexeurs 302 et 304, qui peuvent être par exemple du type SN74S251 fabriqué par Texas BR 7249 US/ t.C Instruments Inc., permettent la commutation des signaux de sqrties 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 6ircuit logique de la figure 7. Ainsi qu'on-peut le voix subz 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 des 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 ia 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 7249 US/LC 24e0458' 53' 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 302 et 304 pourraient aussi être utilisés dans une disposition semblable à celle 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 30. 4 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 25. 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 premnier 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 I reçoit par chacune de ses BR 7249 US/LC huit entrées le signal NA^^ Le multiplexeur MULX 2 reçoit aussi le mê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 l.e 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 6. Les deux premiers signaux d'entrée du multiplexeur MUX 10, NA(A) et NA(A), 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 contr8le 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 XXXDCOO, XXX01, XXXi0 et XXX11 (oi X est un I binaire ou un zéro binaire), une séquence qui est un branchement peut BR 7249 US/ LC alltr à:l'adresse XXXOP ou à l'adresse XXX01 selon qu'il l'agit d'une condition d'absence de correspon- dance ou de correspondance, ou une autre séquence peut aller à l'adresse XXX10 ou à l'adresse XXX11. Cependant, même si les emplacements XXXII et XXX01 contiennent exactement les mêmes informationso ils ns peuvent pas être partag&s, c'est-&-dire que deux emplacements doivent être utilisés même pour le même contenu. Cela est dO au fait que les deux adresses sont impaires et que le seul appartement permis est entre uns adresse - impaire et une adresse paireo Dans une autre technique connue, une condition d'absence de correspondance peut être établie pour permettre l'adressage de l em- placement 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 po.ids 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'sngendrer pu de former l'adresse suivante pour la mémoire de contrôle, l'utilisation de la disposition de la présente inven- tien-représentée sur les figures, en particulier sur BR 7249 US/ L.C les figures 5 et 8, est préférable. En particulier, les circuits 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)3.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 NACA), reçu du registre 82 pour le mot de m&moire de contrôle en cours de traitement, tandis que, pour le branchement XI, le complément de ce bit NA(A) est utilisé. A titre d'exemple, on va considérer la fi- gure 9. Si l'adresse --NA est telle qu'elle est repré- sentie 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 X1, 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 ligne de 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 7249 US/ LC riement d'emplacements de mémoire plus efficace.s 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. emplacement 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, le bit NA10 pour le branchement XO peut avoir été établi à la valeur binaire un au lieu de NACA), tant que le bit NA10 pour le branchement X1 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 106 au moyen du bus de système ou megabus 105. Les informations comprennent 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 7249 Us/LC 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 100, 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 magabus 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, BR 7249 US/LC 2480458 ' 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 maitre eto.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 le 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 maitre peut adresser tout autre unité comme esclave par le bus local ou par le megabus. I:1l 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 1D9, 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 BR 7249 US/LC 2480o458 (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'aucuns 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é maitre. Le cycle de répon-se 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 BR 7249 US/LC 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 -5 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 comimutateurs 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. A titre 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 de l'unité esclave apparaît sur le bus d'adresse pour tous les transferts de non-mémoire et chaque unité compare 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 BR 7249 US/LC 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 sortis et, par exemples tous les codes de fonction de sortie peuvent définir des transferts de sortis (des écrituresi tandis que tous les codes de fonction d'entrée peuvent définir des demandes de transfert d'entrée (des 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 1-5 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 dedonné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 BR 7249 US/LC -2480458 telles qu'une vitesse de terminal, un mode de lec- teur de cartes, etc. Les fonctions d'entrés comprennent. des fonctions semblables aux fonctions de sortie excepté qua 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ées d'entrée,"d'adresse- d'entrée, et de portée d'entrée de même que les commandes de configuration de tache et d'interruption d'entrée. De plus, ces fonctions comprennent la 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 a 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, 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é, I'unité place son vecteur d'in- terruption sur le bus, le vecteur d'interruption comprenant le numéro de canal de l'unité CPb 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é BR 7249 US/LC CPU accepte l'interruption si 1-e 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 fbrmats de bus de données et d'adresse pour les opérations de bus qui viennent d'être décrites. La figure 1oa 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 transpfè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. BR 7249 US/LC - Une unité esclave transmet des informations selon les formats de la figure 10c 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 *BR 7249 US/LC 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 18723 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é 103. 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- BR 7249 US/LC 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:32) ou les 32 bits de données (plus les bits de parité) qui sont fournis par l'adap- tateur de megabus (MBOT 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 m4gabus sont normalement fournies en réponse à une commande d'entrée-sortie ou 8'une lecture de mémoire. L'unité d'antémémoire et de répertoire 403 est une mémoire très rapide et 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émoi-re. Un exemple de mémoire d'antémémoire appropriée est décrit dans la demande de brevet des des E.U.Ao n B63 091, intitulée "FIRST IN FIRST BR 7249 US/LC 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 qutelle 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écpte 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-3- 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. BR 7249 US/LC 248.0458 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. BR 7249 US/LC Les signaux de demande CPREQT, SIREQT, CIREQT et FIFDMT 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 CIASNO, 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 BR 7249 US/LC b 2480458 qui peuvent effectuer cette opération exécutent des routines ou programmes de-test logique de qualité (QLT). Le signal 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 LaPWON 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 noéces- saires spécialement en liaison avec 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 en 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 -sigaaux étant des réponses en- gendrées respectivement par les processeurs CIP et SIP pour indiquer que Ies processeurs ne peuvent accepter certaines-demandes ou transferts de données car ils sent entrain d'exécuter d'autres opérations. BR 7249 US/LC Pareillement, les signaux CITRAP et SITRAP sont transmis 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 upe 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 186 bits et est constitué de deux multiplets de huit bits. Comme on l'a expliqué plus haut, le bus 2Q local peut transférer deux mbts 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 BR 7249 US/LC 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-à l'unité maitre 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 DBLW, BYAD, WCTL1 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 O 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 qignal 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 lessignaux 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 écrito Les multiplets 0 BR 7249 US/LC t480458 et I du mot n et le multiplet 0 du mot n+1 sont écrits quand les signaux WCTLI et WCTL2 sont égaux à zéro, que le signal 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 à un et que le signal WCTL2 est égal à zéro, le multiplet 1 du mot n et le multi- plet 0 du mot n+1 sont alors écrits. Les multiplets 0 et 1-du mot n et du mot n+1 sont tous écrits chaque fois que les signaux OBLW 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 0 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'il 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 BR 7249 US/LC une réponse de processeur à une commande d'entrée transmise précédemment au processeur répondant pendant un 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 dens 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 signal LBLOCK 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 deinterdire 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èms 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'unité 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 de mémoire bloqué. Dans la présente invention, le signal LBLOCK est à l'ét-at vrai pour les types bloqué et non bloqué d'opérations RMW et il est utilisé en association avec le 4ignal 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 BR 7249 US/LC 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é maitre à 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'ETABLISSEMENT 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 ot certains emplacements de mémoire sont accessibles en lecture seulement, en lecture et et é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 35. dans la technique de traitement de données et ne BR 7249 US/LC 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. D'autres 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.Ao. n 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 8 uq numéro de canal de bus local commun 111. Cpmme 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 commande 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 BSAD 15:3 d'un décodeur de numéro de canal de megabus 422 quand une demande ou une réponse est transmise à BR 7249 US/LC l'unité d'antémémoire/MMU par- une unité reliése 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 commandede 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 connaître 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 BR 7249 US/LC 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'unité 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 centrali Ces signaux d'entrée sont repré- sentés aux sorties de la mémoire FIFO o ils sont désignés par FIMREF, FIBYTE, FIWRIT. FISHBC, FILOCK, FIDBPL, FIDBWD, FIREDR, FIREOL et FIYELO. Les fono- tionnalités de certains de ces signaux n'ont pas été décrites mais on notera, cependant, que les fonctionnalités des-signaux FIBYTE et FIDBWD carres- 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 BR 7249 US/LC 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éesqui l'accompagnent sont erronées. Ce signal est utilisé par la.mémdire 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 FIREOL à 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étaction 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 FIDBPL (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 BR 7249 US/LC 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, LBYELO, 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- BR 7249 US/LC - 2480458 connus, d'accusé de réception et d'accusé de réception négatif, entre les unités re'liées au megabus ou entre l'antémémoire/MMU et l'un des processeurs CPU, SIPD 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 demandés 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 signal 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 RQGTCPet 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 BR 7249 US/LC à 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ésentes 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é 2 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 quatre 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 BR 7249 US/LC 2 480458 CPU 459 et, en fait, sont chargés dans 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 15, con- cernant les nombreux autres éléments qui sont inclus dans les processeurs- CIP et SIP, ns 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 i4, le signal-de demande accordée envoyé au processeur CIP (RQGTCII 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 b'us est dirigé vers lui et que les- données sont transférées pendant le cycle de bus. Le signal DCNNCI 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 BR 7249 US/LC 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 ies 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 mégabus, 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 0: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 BR 7249 US/LC 248È458 central dirige 32 bits de données pendant un cycle de bus en direction de l'unité d'antémémoire/MMU 1Q3 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 m9gabus émet deux cycles de mdgabus 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 mdgabus 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 m4gabus à l'unité d'antémémoire/ MMU par le m&gabus, est transmis par le réseau 503 à la mémoire FIFO. A la sortie d'un soussystème central, le signal correspondant CABYTE engendré dans BR 7249 US/LC Z4 8458 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 lessignaux BSREQT, BSDCNN, BSWAIT, BSLKNC, BSQLTA, BSMCLR, BSPWON, BSRINT, ESTRAP, BSDTo BSAD, BSMREF, BSBYTE, BSWRIT, BSSHBC> BSLOCK, BSDOBWD,- BSREDR, BSREDL et BSYELO. Les autres signaux de commande vont être décrits en détail. La 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 mdgabus. 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, mégabus ont demandé un cycle de bus. Quand ce signal est à l'état faux, il indique qu'il n'y a pas de demandes en attente qui proviennent des unités 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 d-ans la technique qu'on affecte à des unités particulières BR 7249 US/LC 24É0458 : 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 -t 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, int4tulé: "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é BR 7249 US/LC 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 en dé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é maitre 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. Pareillement, 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 BSOCNN par l'adaptateur de megabus indiquant qu'un transfert de données est dirigé vers l'unité esclave pendant un cycle de bus particulier et qu'aucune réponse n'arrive de l'unité esclave, la conclusion est que l'unité esclave adressée n'existe pas dans le système. Chaque système contient au moins un contrôleur de BR 7249'US/LC 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 don'nées. On notera en outre à propos du signal de réponse BS.WAIT qu'une unité maître ayant reçu ce signal cherche à obtenir le cyc-le de bus qui suit par le dispositif d'interruption de connexion men- tionné plus haÉut. 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 réponse autre WAIT (d'attente) soit reçue. Avant de définir les fonctionnalités des - autres signaux de megabus, on va expliquer les cor- - respondances des éléments das figures 16, 17 et 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 reliés 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 parallèle 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 BR 7249 US/LC d'entrée de données 601, un registre de sortie de données 603, un registre d'entrée d'adresse 605 et- un codeur de destination de réponse 607. Comme-on l'a décrit plus'haut, quand une unité reliée au megabus, S par exemple le sous-systè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 lire 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 603. 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 signal 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, comme il est indiqué,.les différents signaux pour contrôler le fonctionnement du module de mémoire par rapport à sontIhntrfaee avec le megabus. La fonctionnalité des signaux BSRLTO, BSQLTI et BSEXTC sera décrite dans la suite. BR 7249 US/LC -' - 2480458 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 registred'entrée d'adresse f629. 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 transfert 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 a extraction double d'engendrer deux secondes moitiés de cycles de bus 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 nu 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 BR 7249 US/LC 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érente. Les avantagés 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 dé 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 d-e 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 BR 7249 US/LC 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 parallèle, soit à écrire dans le module de mémoire, soit à lire dans ce module. Le registre de commande de transfert 855 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 signal BSACKR pour indiquer à l'unité demanderesse de mémoire que la mémoire est en mesure d'adapter des transferts de données d'une largeur de 32 bits. Une caractéristique de la présente invention est que l'adaptateur de megabus valide un sous- système 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 à reconnaitre 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- tème, l'adaptateur de megabus répond avec les 32 bits de données demandés indépendamment du fait qu'ils soient mémorisés dans un module de mémoire de largeur 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 commande BSDBPL, BSDBWD et BSRESQ de la manière suivante avec les autres signaux de commande. BR 7249 US/LC -r48048 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 (LBAO) et son propre numéro de canal est placé dans les positions de bits 0-9 du champ de données de bus local.(LBODT). 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 destines au megabus et émet un cycle de bus- pour transférer les données au module de mémoire adressée. 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émofre 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 pré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 BR 7249 US/LC t480458 ' 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 reconnaît 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ée% ESDT. Les signaux BSMREF, BSWRIT, BSDBP'L, BSDBWD, BSLOCK 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 ESAD, 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 BSDOPL. Le module transfère ensuite une deuxième seconde moitié du cycle de bus, BR 7249 US/LC 248o458 avec le même champ d'adresse, le mot de données demandé suivant dans les positions de bits 0-15 du champ BSDT, 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 lj 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 u.n BR 7249 US/LC 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 et à extraction double répond de la même 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'exécuter 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émoire à é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 les signaux BSSHBC, BSDBPL, 8SDBWD, 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. Le 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 BR 7249-US/LC des multiplets 0 et 1 d'un mot adressé. La valeur du bit SSAD 23 significative, 16 bits de données sont chargés dans le ch-amp de données, c'est-à-dir.e dans les positions de bits BSDT O0-SSDT 15,. les signaux BSMREF et BSWRIT sont remis-à zéro, et les signaux BSSH8C, BSBYTE, BSDBPL, BSDBWD, BSLOCK et BSLKNC sont mis à un. Ce type d'écriture est également exécuté de la même meanière par les trois types de modules de mémoire. Dans le quatrième type d'écriture, le multiplet de poids faible du mât n et le multiplet de poids fort du mot n+l1 doivent être écrits. L'adresse du mot n est placée dans les positions de bits BSAD 0-BSAD 22, le bit BSAD 23 est mis à un, les données sont placées dans les positions de bits USDT 8- BSDT 23, les signaux BSMREF, BSWRIT, BSBYTE et BSDBWD sont remis à zéro et les signaux BSSHBC, BSDBP-L. 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 aption 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 BSRESQ 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 reconnaît 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+1. Le cinquième type d'écriture est celui dans lequel les deux multiplets du mot n et le muliplet de BR 7249 US/LC tz480458- 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 00- 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 0- 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 8SRESQ à 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+i. L'adresse du mot n est placée dans les positions de bits BSAD 0- BSAD 22, le bit BSAD 23 est mis à un, les données sont placées dans les positions de bits BSDT 8- BSOT 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 faift 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. ' BR 7249 US/LC Z480458 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 0 -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- BSOT 31, les signaux BSMREF, BSWRIT, BSDBPL et BSDBWO 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 BSDT 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 megabus, ces lignes servant à l'exé- cution de tests logiques internes dans certaines conditions. Un signal 8SQLTO 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 BR 7249 US/LC - 480o458 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 correctement, 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. n0 140 621, intitulée "SELF-EVALUATION SYSTEM FOR DETERMINING THE 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 correspondants (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 BR 7249 US/LC d'écrire et de lire dans la mémoire du système ainsi que de transmettre des commandes à dpautres unités par le megabus. L'adaptateur de megabus comprend deux chemins de données presque indépendants.o 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:1S), une adresse (MYAD 0:24) et des signaux de commande (CAMREF-CAYELO) 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éeso La mémoire FIFO 505 reçoit les données de magabus BSDT 00:35; l'adresse de megabus BSAD 00:25 et les signaux de commande de megabus BSMREF--BSYEL0 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 FIFO 505 peuvent être transférées sur le bus local comme des données MBDT 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 BR 7249 US/LC * t480458 virtuelle 405 reçoit l'adresse de megabus FIAD 0:24 comme elle a été transfé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 511 reçoit les-sighaux d'en- trée BSWAIT, BSNAKR, BSACKR, BSDCNN, 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 être conservées, le circuit de commande de mémoire FIFO 513 engendre 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 FIF0 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 ies 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. BR 7249 US/LC 24804'58 1 0 5 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 celuid'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 entraîne 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 BR 7249 US/LC 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 la 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, BR 7249 US/LC Z480458 l'adaptateur de megabus 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 a 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é 8 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é de cycle de bus 521, et les signaux FIDT 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 megabus 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 elsle 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 reconnaitre BR 7249 US/LC 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 SNOINT 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 bu-s 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. BR 7249 US/LC *480458, 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 FIDOT 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 FIAO 0:7 qui est séleo- 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ème 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 BSAO 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. MBODT 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 BR 7249 US/LC Z480458 mentionné plus 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 deuxmots 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- tement en cours dans l'unité CPU. BR 7249 US/LC 2480458, Un générateur d'adresse d'unité arithmé- tique et logique ALU 531 est utilisé par l'adap- tateur de megabus pour que les adresses convenables soient engendrées en fonction du type d2unité reliée au msgabus qui est adressée. Le générateur d'adresse de ALU 531 reçoit l1adress'e de bus local par les lignes LBAD 0:23 et est agence pour faire progresser l'adresse de 0 ou de 1o Si l'adresse demandée par les lignes LBAD 0:23 ast 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 la 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 doadresse 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 mégabus jusqu'à l'adaptateur de m9gabuso L'adaptateur de megabus comprend en outre un circuit logique ds 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 megabus à-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 mégabus 535 qui déclenche un transfert de meégabus en réponse à des signaux de commande provenant BR 7249 US/LC 2480458. du bus local, c'est-à-dire aux signaux CAWRIT-CABYTE. Le circuit logique de commande de mode de maître 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ésents 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 me-gabus 535 seront décrits dans la suite à propos de la description - détaillée des circuits logiques. On-ve 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 c8te-à- côte selon la disposition indiquée sur la figure 19. BR 7249 US/LC 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 lccal 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 01AD6 de la figure 20A est une pastille de circuit multiplexeur classique fabriqué sous le numéro d'identification 74SS4 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: "THE TTL DATA BOOK FOR DESIGN ENGINEERS". Ces désignations commerciales sont évidentes pour l'homme de l'art. Les figures 20A, 208 et 21 représentent un exemple de réalisation du multiplexeur d'adresse. virtuelle de la figure 11. Le circuit 01806 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 le signal de sortie VAIN 00 (bit O du champ d'adresse). La première porte ET reçoit les signaux BR 7249 US/LC ENMBA1, LOGICI, FIAD 00 et LOGIC1. Le signal FIAO 00O 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 attribué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 01025 sont remis à zéro. Le signal LOGIC1 est engendré par un circuit de commande 03025 également représenté sur la figure 27B. Le signal LOGIC1 est toujours à l'état vrai car le signal correspondant à l'entrée ZGNOB 19 est à l'état faux mais il est inversé quand il est envoyé au circuit 03D25-. Le circuit de commande 03025 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 01806 (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 01025 et le bit O 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 0 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 BR 7249 US/LC des lignes VAIN 0-23 à l'exception du circuit multi- plexeur 01D07 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émcire. Le signal ERRCLR es.t 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 multiplexeur '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 L'MBWRT. Le signal.RQGTFI est le signal de sortie du registre de demande accordése 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 à partir de l'adaptateur de megabus ou vers l'adapta- teur de megabus à partir du-bus local. BR 7249 US/LC 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 2XI. Le premier circuit multiplexeur reçoit à ses entrées les signaux PAMROO et VAINOO. Comme on l'a déjè expliqué., le signal VAINOO est le signal de sortie du circuit 01B06 de la figure 20A. Le signal RAMROO est un signal engendré dans l'unité d'antémémoire/MMU et correspond au bit engendré 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 LBADOO 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 LBADO0 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 SVAEPAOO 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 08B08 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 22Bfonctionnent 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. BR 7249 US/LC 117- 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 LOTR). 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 D1825 et de la porte OU 01A25 de la figure 27A. Les figures 24A et 24B 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 LBOT 0:32 (plus les 4 bits de parité). Par exemple, le signal LBDTOO est engendré par une porte OU 11A14 (figure 24A) à partir de trois entrées de signaux CADOOO, L2D00 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 LBDTOO-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 BR 7249 US/LC --2480458 circuits de commande 01A14 et 03A14 sont validés par le signal IIMBCYCL (provenant de l'inverseur OY026 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 OU 03B26 reçoit les signaux de demandes CPREQT, SIREQT, CIREQT 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, CIASNO et FIASND, sont respectivement engendrés par des portes ET 05526, 07B26, 09B26 et 11526. 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 au 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 I'NALRQ 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'adap- tateur de mégabus pour valider le transfert d'infor- mations à partir de la mémoire FIFO. BR 7249 US/LC Les autres entrées de la porte ET 0'5626 reçoivent les signaux CPREQT, SIASNDD CIASND et FIASNDo. 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 i-l 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, 09826- et 11826 fonctionnent d'une manière semblable à la- porte ET 05826 Les figures 26A et 26B représentent un exemple de réalisation du décodeur de numéro ds canal 421. Sur la figure 26A, le décodeur 01A24 reçoit les signaux d'entrée LBCMDI1 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 que le signal LBCMOO est à l'état vrai [égal à zéro). Le décodeur 01A24 engendre les signaux de sortie DSTNCP, DSTNSIJ DSTNCI et DSTNCA pour leur transfert au décodeur d'instruc- tion 415. Le circuit de commande de numéro de canal de mégabus est représenté sur la figure 31B comme circuit 09D29 qui sert à valider un transfert de l'adaptateur de mégabus à l'adaptateur de bus- local quand le signal MBCYCL est à l'état vrai (égal à zéro). Dans ce cas, le signal LBCMDOO 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 BR 7249 US/LC t480458 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 28A 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 28A 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 29B) du signal de sortie APMREF du circuit01B24 de la figure 28A et qui est à l'état vrai (égal à zéro) chaque fois qu'un des processeurs reliés au bus local a obtenu un cycle de bus local.Ainsi, le décodeur 05.A24 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 LBCMDS- 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 megabus 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 BR 7249 US/LC -2480458 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 OU 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 28B qui engendre le signal RDCYCL à sa sortie, reçoit à ses entrées les signaux LB2MRY et APWRITo 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 01024 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 reéfé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 non-mémoire faite par un des processeurs reliés au bus local et que l'unité de BR 7249 US/LC 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 06D24 et 07D24 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 à 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) chaque fois que l'un des signaux MBCMLB 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 11D26 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 12D24 (figure 26B). Les signaux d'entrée de la porte OU 12D24 sont les BR 7249 US/LC 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 05828 (figure 30). Cette bascule D fait partie du circuit logique d'erreur deMMU 427 et le 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 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 01828, 03B28, 05828 et 07828 (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 SDBPLI à l'autre entrée de la porte OU 12024 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- m8me 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 BR 7249 US/LC. 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 LB2MRY. Comme on l'a préciseé, 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) BR 7249 US/LC 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 l'indique 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-FIYELO engendrés aux sorties de la mémoire FIFO 505 par l'adaptateur de mêgabus (figure 12). Les signaux FIDBDL, FIBYTE, FIDBWD et FIAD23 sont tous reçus aux entrées du multiplexeur 01A30 (figure 32A) dans lequel les 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 BR 7249 US/LC e48o458 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 FIREOT de ce circuit signifie que la mémoire FIFO a demandé l'accès à I'adaptateur de bus local. Comme on l'a déjà expliqué, le signal FIMREF reflète une demande d'écriture de mémoire principale par une unité reliée au mégabus, et il est donc nécessaire d'avoir accès 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 signaux de synchronisation 419 est constitué par les circuits 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 l'antémémoire e.st occupée comme l'indique le signal CABUSY. Le circuit logique 417 engendre les signaux à BR 7249 US/LC 2 480458 DCNNCP, DCNNSI et DCNNCI qui sont.égaux à un chaque fois qu'un transfert est dirigé vers Ipun 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 06029 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 DYSRCO (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 (figure 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émofire, 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 port'e-ET contenue dans le BR 7249 US/LC 248o458B* 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 12B28 (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: (13 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 BR 7249 US/LC qu'elle viole 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 06029 est à un et le signal LBDCNN est à zéro. La dernière porte ET du circuit 06029 engendre un signal de sortie à un s'il y a un transfert entre deux processeurs re.lié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 1OC27 (figure 29B) et il prend la valeur du signal de sortie NOMYP2 du circuit de retard 08B27 (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 01028 (figure 30) . Le signal LBACKR à un indique un signal ACK d'accusé de réception envoyé par l'unité reliée au megabus et le signal à BR 7249 US/LC 248O458 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 mégabus a émis un signal NAKo indiqué par le signal MBNAKR à zéro, 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-34B, 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 OIAA03 reçoit le signal BSDTOO d'une ligne de données du mégabus. 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 m4gabus 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 0800DD10 (figure 41B). Une entrée de la porte ET 08DD10 reçoit un signal de sortie d'une bascule JK DD10 qui est à un quand l'adaptateur de m4gabus a assumé un cycle de mégabus par le circuit logique de priorité de bus mentionné plus haut. L'autre entrée de la porte ET 08DD10 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, BR 7249 US/LC le circuit émetteur-récepteur 01AAO3 transmet le bit de données MYOTDO à 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 BSDT01-BSDT07, respectivement, de la manière expliquée à propos du circuit émetteur-récepteur 01AA03. Pareillement, les émetteurs-récepteurs 01BB03-O8BB03 servant d'interface avec le me'gabus respectivement pour les signaux BSDTOB-BSDT15o Les bits de données BSDT16-BSDT23 sont émis et reçus par les émetteurs- récepteurs 01AAO4-08AA04 (figure 32A) et les bits de données BSODT24BSDT31 sont émis et reçus par les émetteurs-récepteurs 018B04-08B804o Lesa bits de parité associés aux mots de données sont reçus et émis par les émetteurs-récepteurs 09AA03 et 09BB03. L'émetteur-récepteur O10AA03 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 du.m6gabus. L'inverseur 13AA03 est prévu pour inverser la valeur du signal de double extraction reçu BSDBPLo L'émetteur-récepteur BB03 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, BR 7249 US/LC l'émetteur-récepteur 02CC03 reçoit- et émet le signal YELO, l'émetteurrécepteur 03CCO3reçgit 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 a partir de l'adaptateur de megabus en direction du megabus par les émetteurs-récepteurs 05CC03 et 06CC03. La porte OU 06DD03 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 08DO03 reçoit les signaux 8SNAKR reçus du mégabus. Le signal MYREQT de demande d'adaptateur de mégabus est transmis au mégabus comme signal BSREQL et il est reçu du mégabus comme signal BSREQL par l'émetteur-récepteur 09CC03. Les émetteurs-récepteurs 10CC03, 11CC03 et- 12CC03 reçoivent et émettent le signal de remise à zéro générale (MCLR), le signal de reprise d'in- terruption (RIMT) et le signal (TRAP), respectivement. Sur la figure 35A, les émetteurs-récepteurs 01AAO4- 08AA04 et 01BB04-08BB04 émettent les signaux LDTR16- LDTR31 sous forme de signaux BSOT16-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 BR 7249 US/LC 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 signal 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, les é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-MYAB22 provenant de l'adaptateur de mégabus au mégabus et reçoivent les signaux BSADOO-BSAD22 provenant du mégabus La figure 36B comprend un générateur de parité 1000DD08 poûr 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. BR 7249 US/LC 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 01B805, 04BB05 et 066B05 sélectionnent les six bits de poids fort du premier mot de données (LDTR00-LDTR05) ou les six bits de poids fort du second mot de données (LDTR16-LDTR21), sous la commande du signal de validation SHIFTO, pour engendrer les 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 MYDT06 et MYDT07 sous la commande des signaux SHIFTD et CAWRIT. Si deux bits de commande à zéro, LOTR0S et LDTR07 sont transférés à la sortie, si le signal SHIFTD est à un et si le signal CAWRIT est à zéro, les signaux LDTR22 et LOTR23 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 commpnde sont à un, les signaux CIRQGF et SIRQGF-(engendrés par l'adaptateur de bus local) sont transférés respectivement aux sorties du multi- plexeur Q8B805 comme signaux MYDT06 et MYDT07. Le multiplexeur 01OD05 (figure 378) est également commandé par les signaux SHIFTD et CAWRIT pour engendrer les sighaux de données de sortie MYDT08 et MYDT09. Le signal MYDT08 prend la valeur de l'un des signaux LDTR08, LDTR24 et MYCHN2, c'est-à-dire le second bit du numéro de canal d'adaptateur de me'gabus engendré par le commutateur d'hexadécimal 01AA11 (figure 42A), selon la valeur des signaux de commande. BR 7249 US/LC 248o458 Pareillement, le signal MYDT09 prend la valeur de l'un des signaux LDTRO9o LDTR25 et MYCHN3 selon les valeurs des signaux de commande. Les multiplexeurs 0400DD05, 060005 et 08OD05 sélectionnent les signaux LDTRIO-LDTR15 ou LDTR26- LDTR31 pour engendrer les signaux de sortie MYDT10- MYDT15 sous la commande dv signal SHIFTDO Les bits de parit.é MYOPOO et MYDPOB sont engendrés par les multiplexeurs 11BB05 et 1100DD05 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 FIF0 5054 du registre d'adresse d'écri- ture 507,.du registre d'adresse de lecture 509, du détecteur d'écriture 511S 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 secoride moitié de cycle de bus 521. 2D Sur les figures 38A, 388 et 39A. oh 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 01AAOS est un élément de mémoire de 4X4 recevant les signaux d'entrée BSDTOO-BSDT03 et engendrant les signaux de sorties'correspondants FIDTOO-FIDT03. L'emplacement en mémoire RAM 01AAS06 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 BR 7249 US/LC 1 3 o 24g0458 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 OU 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 SHBFIF à 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 11913 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 DBPL 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 1000DD13 de la figure 44B sous la commande du signal SHBREG engendré par la bascule D 1200DD13. La commande des bascules D 11BB13 et 12BB13 est réalisée respectivement par trois portes ET 11AA13, BR 7249 US/LC 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 BSDBWD. 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 07DD13 et 1000D13.,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 m6gabus 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 REDA01 et REDADO sont respectivement engendrés par les bascules JK 05CC13 et 05DD0013. L'adresse de lecture progresse sous la commande du signal RARINC engendré par la porte OU 0400D15 (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 05D0013 par des entrées d'inversion, ces bascules changent d'état. Le comparateur 02D0013 de la figure 44A contrôle le contenu de la mémoire FIFO 505 en comparant BR 7249 US/LC 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 actuellement 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 07BB06 et 10BB06 mettent les lignes de signaux MBDTO8-MBDT15 aux valeurs des signaux FIDTOe-FIDT15 ou des signaux FIADOOFIAD07 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 01DD06-1000DD06 de la - figure 38B donnent aux signaux MBDT16-MBDT31 les valeurs des signaux FIDT16-FIDT31 ou des signaux FIOTOO-FIDT15 sous la commande du signal FIFSHF. 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 seconds moitié de cycle de bus ou pendant une seconde opération de lecture d'un module BR 7249 US/LC 248o458 de mémoire de largeur simple et à extraction simple; les signaux FIDTOO-FIDT15 sont alors validés aux sorties de ces multiplexeurs. La figure 39A représente les mémoires RAM 01AA07-10AA07 utilisées pour mémoriser les signaux de commande de mégabus et les signaux de parité de données de mégabuso 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 0600DD11 de la figure 42Be Le signal 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- naitre une telle demande d'interruption est représenté sur les figures 42A et 42B o-il comprend un compa- ratsur 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 à 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 BSAD15 et BSAD14. Ces signaux de commande BR 7249 US/LC 2480458' 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 (1) 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 06CCIl 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 BSDTOO-BSDT15 sont chargés dans les registres ' 02BB07 et 05BB07. Les portes OU 01CC07-08CC07 et 01DD07-08DD07 (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 MBDT 0:16 pour leur transfert jusqu'à l'adaptateur de bus local. Les bits de parité appropriés sont fournis par les multiplexeurs 09CC07 et 090D007 de la figure 398. La figure 40A représente un exemple de réalisation de matériel d'un emplacement de mémoire FIF0 pour mémoriser-quatre groupes d'adresses de mégabus. Ces éléments de mémoire RAM sont également contrôles par-les signaux WRTADO, WRTAD1, REDADO et REDAD1. Les figures 42A et 428 représentent un exemple de réalisation de matériel du comparateur de niveaux 529 de la figure 12. Le registre 12AA11 BR 7249 US/LC 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- lé bus local. Ces signaux sont reçus aux entrées LDTR26-LOTR31 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 cdmparateur 1000D11 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 06D011 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 01CC09 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 01DO09 de la figure 40B reçoit le signal PROPOO et met le signal CARY01 à un. Le signal BR 7249-US/LC CARY01 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 PROP01.Oo Le bit PROP01 est aussi envoyé à une entrée du générateur de report 01DDO9 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. 10CCO9, 070DD0O9 et 100009 coopèrent avec le générateur de report O0DD09 et le générateur de report 04D0009 pour faire progresser de un les signaux LBADOO-LBAD22 et fournir l'adresse incrémentée aux lignes de signaux MYADOO-MYAD22 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 maître 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 MYDCNN. Le signal MYDCNN n'est engendré que si tous les signaux d'entrée de la porte ET 04CC10 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 reliée 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 3K 07B810 de la figure 41A. Le signal BSDCNB est le- signal de sortie de l'inverseur 11CC10 de la figure 41B BR 7249 US/LC qui reçoit le signal d'entrée BSDCNB- engendré par la porte OU à entrées inversées 118510 de la figure 41A. Une entrée de la porte OU 11BB10 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 10AAIO reçoivent en commun le signal BSDCNN envoyé par la sortie de la porte OU 020008 de la figure 37B. L'autre entrée de la porte OU 118B10 reçoit le signal DCN00 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és de la porte ET 04CC10 et il est engendré par la porte OU à sortie inversée 07CC10 de la -figure 41B8 Cette porte OU reçoit les signaux d'entrée BSACKR, BSNAKR et BSMCLR provenant du mégabus par l'inter- médiairs 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 07CC10O sont à zéro, le signal NYDCNR.est alors à un. Le signal d'entrée de la porte ET 04CC10 est engendré par la porte ET 08DO15 de la figure 46Bo Le signal MBIDCN est à un si la 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 BSREQO qui est le signal de sortie de la porte ET 03AAIO retardé de nanosecondes. Le signal BSREQD est à un si le signal BSOCNB qui vient d'être défini est à un et que le signal BSREQL provenant du mégabus est à 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é 24-80458 au bus local est l'unité de'destination des signaux BSAD14 et BSAD15. La porte OU 05BBi2 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 08BB12 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, (2) 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 02DD12 pour fournir un signal d'entrée à la porte OU 04DD12 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'units de destination d'un cycle de mégabus, les portes ET 03BB-12 et 03CC12 déclenchent la bascule D 03DDI12 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 ehgendrer les signaux de commande de fin de cycle d'adaptateur de mégabus. La bascule D 01DD14 de la figure 45B, particulièrement importante, sert à engendrer le signal MYINCR chaque fois que le signal CADBWD est à 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 46B 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 0 04CC15 de la figure 46B 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 06DD15 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 248-0458 est le signal BRKEND engendré comme l'inverse du signal BRKAGN retardé de 75 nanosecondes par le circuit de retard 09BB15 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 1OCC15 uniquement si une autre - interruption d'écriture n'a pas été demandée par la porte ET 09AA15 dans un délai de 75 nanosecondeso L'entrée de remise à zéro de la bascule 0600DD15 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. 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ée0 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 droit 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 s;ystème-. 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'anté- 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 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 d'ans 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 BSDT 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 16 bits transférés en réponse à la première demande de lecture sont mémorisés dans le registre de seconde moitié decycle de bus 521 et lé 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é, celuici 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 entraîne 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èle 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 À5 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 en, parallèle, et qu'une demande d'écriture de largeur double a été faite, l'unité de mémoire répond avec des signaux BSACKR 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 reconnait qu'une autre demande d'écriture: de mémoire est nécessaire, la 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:16 sous forme de signaux MYDT 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 6:10 contient le numéro d-e 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'adaptateur de 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 - 153 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 3 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. 2480458 - 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 avaient des doubles contenus en même temps dans l'anté- mémoire du sous-système 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 503. 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 24804 58 envoyés au multiplexeur d'entrés 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écleo- 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 s5ils 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 dDaccà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, lanté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 comportant un sys- tème principal qui comprend un ensemble d'unités de traitement de données principales reliées par un bus de système (105) et incluant des modules de mémoire. de système (106) et des moyens de systèmie principal (107-, 109) pour engendrer des transferts d'informations et un sous-système central, caractérisé en ce que le Sous-système central comprend un ensemble de moyens de traitement de sous-système (100, 101, 102) pour engendrer indépen- damment des transferts d'informations dirigés vers - les unités de traitement principales et vers d'autres moyens des moyens de traitement de sous-système - un bus de sous -système (9) relié à chacun de l'ensemble des moyens de traitement de sous- système pour transmettre de façon asynchrone des in- formations transférées pendant des cycles de bus de sous-système constituant des périodes de temps pré- déterminées pour l'utilisation du bus de sous-système afin de transmettre les informations transférées; et, - un moyen de commande de bus (103) relié au bus de système et au bus de sous-système pour attri- buer de façon sélective les cycles de bus de sous- système à l'un des moyens de système principal ou à l'un des moyens de traitement de so:us-systèmne afin d'engendrer les transferts d'informations, le bus de sous-système permettant en outre de transmettre de façon asynchrone des informations transférées entre le bus de soussystème et le bus de système pendant les cycles. de bus attribués- 2. Système de traitement de données selon la revendication 1, caractérisé en ce que les moyens de traitement de sous-système comprennent un ensemble d'unités de traitement spécialisées dont l'une d'elles BR 7249 US/ LC sert d'unité de traitement et de commande dans le sous-système central. 3. Système de traitement de données selon la revendication 1, caractérisé en ce que, les informa- tions transférées comprenant des données d'informations, des données d'adresse et des données de commande, le bus de sous-système comprend un moyen pour transmettre de façon séparée les données d'informations, les données d'adresse et les données de commande. 4. Système de traitement de données selon la revendication 3, caractérisé en ce que les moyens de traitement de sous-système comprennent des moyens (451, 613) pour demander l'utilisation du bus de sous-système pendant les cycles de bus de sous-système. 5. Système de traitement de données selon la revendication 4, caractérisé en ce que le moyen de commande de bus (103) comprend un moyen sélecteur de demande (407) agencé pour recevoir les demandes de cycles de bus de sous-système engendrées par les moyens de traitement de sous-système et pour attribuer de façon sélective un cycle de bus de sous-système à un des moyens de traitement de sous-système demandeur, et un moyen indicateur de demande accordée (409) agencé pour indiquer l'attribution d'un cycle de bus de sous-systèma à un des moyens de traitement de sous- système demandeur d'un cycle de bus de sous-système. 6. Système de traitement de données selon la revendication 5, caractérisé en ce que ledit moyen de commande de bus (103) comprend en outre des moyens logiques de commande (415, 417, 421, 423) agencés pour recevoir les données de commande transmises par les.moyens de traitement de sous-système et pour com- mander les moyens de traitement de sous-système afin qu'ils reçoivent des données transférées qui leur sont destinées. BR 7249 US/ LC 7. Système de traitement de données selon la revendication 6, caractérisé en ce que le sous- système central comprend en outre une mémoire d'anté- mémoire adressable (403) comportant un ensemble d'emplacements de mémoire adressables, et en ce que le moyen de commande de bus comprend des moyens multi- plexeurs d'adresse et de données (405, 401) agencés pour recevoir des données d'adresse et des données d'informations contenues dans les informations trans- férées à la demande des moyens de traitement de sous- système, pour avoir accès de façon sélective aux emplacements de mémoire de la mémoire d'antémémoire conformément aux données d'adresse reçues et pour transférer de façon sélective à la mémoire d'anté- mémoire les données d'informations reçues des moyens de traitement de sous-système par un multiplexeur d'entrée de données d'antémémoire (401) des moyens multiplexeurs. 8. Système de traitement de données comportant un système principal, un sous-système central et un bus de sous-système, caractérisé en ce que le système principal comprend un ensemble d'unités de traitement de données principales reliées ensemble par un bus de système (105) pour échanger des informations de façon bidirectionnelle entre elles, des modules de mémoire de-système (106) et une unité de traitement de données principale (109) pour engendrer des trans- ferts d'informations aux modules de mémoire de système et pour demander des transferts d'informations des modules de mémoire de système en ce que le sous-système central comprend un ensemble de moyens de traitement de sous-système (100, 101, 102) pour engendrer de façon indépendante des transferts d'informations vers les unités de traitement de 35. données principales et à d'autres moyens de traitement BR 7249 US/ LC