Brevet FR2687812A1 — publié le 19930827

i L'invention concerne un système de traitement de l'information et, en particulier, un procédé pour indi- quer une zone pour la mémorisation de données et la mise en correspondance d'un espace virtuel avec une unité de mémoire réelle. Comme il est bien connu dans la technique, une unité de mémoire d'extension (EXP MEM) est un agencement de mémoire placé entre une unité de mémoire centrale (MN MEM) et une unité de mémoire externe (EXT MEM) telle qu'un disque On appelle unité de mémoire réelle la com- binaison de l'unité de mémoire centrale et de l'unité de mémoire d'extension L'unité de mémoire d'extension ne peut être mise en fonctionnement qu'à une vitesse d'accès inférieure à celle de l'unité de mémoire centrale, bien que sa capacité de mémoire soit beaucoup plus grande que celle de l'unité de mémoire centrale On considère que les performances du système de traitement de l'informa- tion peuvent être améliorées en utilisant l'unité de mémoire d'extension comme zone pour mémoriser les données qui étaient mémorisées jusqu'ici dans l'unité de mémoire externe Par exemple, on peut utiliser l'unité de mé- moire d'extension comme mémoire temporaire pour un fichier ou comme zone bouclée pour un contrôle de mémoire virtuelle. On suppose que l'unité de mémoire centrale peut être mise en fonctionnement à une vitesse d'accès prin- cipale AS(MN) et qu'elle a une capacité de mémoire prin- cipale SC(MN), que l'unité de mémoire d'extension peut être mise en fonctionnement à une vitesse d'accès d'ex- tension AS(EXP) et qu'elle a une capacité de mémoire d'extension SC(EXP), et que l'unité de mémoire externe peut être mise en fonctionnement à une vitesse d'accès externe AS(EXT) et qu'elle a une capacité de mémoire externe SC(EXT) Les relations suivantes s'appliquent généralement à la vitesse d'accès et à la capacité de mémoire de l'unité de mémoire centrale, de l'unité de mémoire d'extension et de l'unité de mémoire externe: AS(MN) ' AS(EXP) > AS(EXT), et SC(MN) 4 SC(EXP) -t SC(EXT). Des adresses qui sont indépendantes de celles af- fectées à l'unité de mémoire centrale sont affectées à l'unité de mémoire d'extension Les adresses affectées à l'unité de mémoire centrale sont appelées adresses réelles de mémoire centrale, alors que les adresses affectées à l'unité de mémoire d'extension sont appelées adresses réelles de mémoire d'extension. Dans la mesure o l'unité de mémoire centrale, l'unité de mémoire d'extension et l'unité de mémoire externe sont liées entre elles, il est nécessaire de contrôler effectivement l'attribution des données entre ces unités de mémoire afin d'améliorer les performances du système de traitement de l'information tout en tirant pleinement avantage de l'unité de mémoire d'extension. A cet égard, la présente invention a trait à la fourni- ture d'un agencement de contrôle qui permet-:' le contrôle effectif de l'attribution des données et, en particulier, à la fourniture d'un agencement de contrôle qui permetts le contrôle effectif, même quand le contrôle de l'espace virtuel,ne ser Evant-que por l'unité de mémoire centrale dans l'art antérieur, est également appliqué à l'unité de mémoire d'extension. Le brevet des Etats Unis d'Amérique NO 4 476 524 délivré à Brown et al, révèle certaines techniques anté- rieures concernant le procédé pour contrôler le contenu de mémoire mémorisé dans l'unité de mémoire d'extension et la façon selon laquelle un programmeur identifie les adresses dans l'unité de mémoire d'extension L'art an- térieur révélé dans le brevet mentionné ci-dessus permet au programmeur de n'identifier que les adresses réelles parmi les adresses de l'unité de mémoire d'extension. Dans le système de traitement de l'information assurant une multiprogrammation dans laquelle une pluralité de programmes sont déroulés par une pluralité d'utilisa- teurs, un programme de commande (par exemple, un système d'exploitation) servant à commander le système de trai- tement de l'information contrôle le contenu de mémoire dans l'unité de mémoire d'extension Un procédé de con- trôle du contenu de mémoire dans l'unité de mémoire d'extension par le programme de commande est tel que suit: 1 Un utilisateur ou un programme qui voudrait avoir accès au contenu de mémoire mémorisé dans l'unité de mémoire d'extension fait appel à ce programme de commande. 2 Le programme de commande contrôle si la demande faite par l'utilisateur ou par le programme ayant émis la demande est justifiée, à la suite de quoi il y a accès. Comme il ressort de la description ci-dessus, chaque fois que l'utilisateur ou le programme a accès au contenu de mémoire mémorisé dans l'unité de mémoire d'extension, l'art antérieur révélé dans le brevet ci- dessus exige qu'il le fasse par le programme de commande. Il en résulte qu'il faut beaucoup de temps pour traiter le contenu de mémoire mémorisé dans l'unité de mémoire d'extension dans l'art antérieur, d'o il n'en résulte qu'une diminution des performances de traitement. Un système de contrôle de mémoire virtuelle permet à l'unité de mémoire centrale d'agrandir l'espace de mémoire logique, pour protéger le contenu mémorisé, pour mettre en oeuvre des données des programmes en commun, et pour utiliser effectivement les ressources en réattribuant des-ddonnées dans l'unité de mémoire réelle. Bien que le procédé de contrôle du contenu de mémoire mémorisé dans l'unité de mémoire d'extension par le programme de commande mentionné ci-dessus puisse le réaliser, cette réalisation pose un problème de diminution des performances du système car il est né- cessaire de le faire au moyen du programme de commande. S'il est possible d'appliquer le système de con- trôle de mémoire virtuelle,qui n'existe à l'heure ac- tuelle que pour l'unité de mémoire centrale de mémoire externe. Un exemple d'application d'un système de contrôle de mémoire virtuelle classique à l'unité de mémoire d'ex- tension est révélé dans une publication de référence SA 22-7201-0 de International Business Machines Corpora- tion (Octobre 1990), pages 7-39 à 7-41, intitulée "Enterprise Systems Architecture/390: Principles of Operation" Un système de traitement de l'information révélé dans la publication de référence mentionnée ci- dessus comprend une table de pages (une table de tra- duction d'adresses) pour mémoriser des mots de table de pages o la correspondance est définie entre des adresses de page virtuelle et des adresses de page de mémoire centrale C'est-à-dire que le système de traitement de l'information exécute une traduction d'adresse pour tra- duire une adresse de page virtuelle en une adresse de page de mémoire centrale par la mise en oeuvre de la table de pages Quand une page réelle correspondant à une recherche de page virtuelle est absente dans l'unité de mémoire centrale, un bit de page invalide représente un " 1 " dans la table de pages Dans ce cas, le système de traitement de l'information exécute une traduction d'adresse supplémentaire pour déterminer dans quelle unité se trouve mémorisée la-page réelle en question, soit l'unité de mémoire d'extension, soit l'unité de mémoire externe De plus, un programme de commande de système est rendu actif quand la page réelle est absente dans l'unité de mémoire centrale Ce programme est sub- stantiellement modifié par la traduction d'adresse sup- plémentaire Cependant, cette modification est accompa- gnée par une diminution des performances du programme proprement dit Les performances de ce programme ont des effets importants sur celles du système de traitement de l'information et, par conséquent, la traduction d'adresse supplémentaire modifie défavorablement les performances du système de traitement de l'information. L'accès à la table de pages ou, si nécessaire, la traduction d'adresse supplémentaire qui suit ne révèle que l'unité de mémoire dans laquelle est mémorisée la page réelle Cependant, l'unité de mémoire mémorisant la page réelle en question n'est pas toujours l'unité optimale pour cela Un autre traitement est nécessaire pour déterminer l'unité de mémoire optimale pour la page réelle selon les attributs des données (opérandes) et la fréquence d'accès Ainsi, on souhaite disposer d'un moyen permettant de juger dans quelle unité de mémoire doivent se trouver les données auxquelles un programme mémorisé doit avoir accès. Par conséquent, un but de l'invention est de fournir un système de traitement de l'information qui permette un contrôle systématique d'une unité de mémoire d'exten- sion ainsi que d'une unité de mémoire centrale par un système-de contrôle de mémoire virtuelle. Un autre but de l'invention est de fournir un sys- tème de traitement de l'information du type décrit, qui soit capable d'exécuter effectivement une réattribution de contenus mémorisés entre l'unité de mémoire centrale et une unité de mémoire 'externe à vitesse élevée. D'autres buts de l'invention ressortiront de la description qui suit. Selon un premier aspect de l'invention, un système-de traitement de l'information comprend une unité de mémoire centrale pouvant être mise en fonc- tionnement à vitesse relativement élevée et ayant une capacité de mémoire relativement petite, une unité de mémoire d'extension pouvant être mise en fonctionnement à une vitesse relativement faible et ayant une capacité de mémoire relativement grande, une unité de traitement d'instructions produisant une adresse virtuelle, et une table de traduction d'adresses pour traduire l'adresse virtuelle en une adresse réelle La table de traduction d'adresses contient des mots de table de pages -qui in- cluent des adresses de page réelle correspondant à des adresses de page virtuelle et des bits de présence en mémoire centrale/en mémoire d'extension correspondant aux adresses de page réelle respectives Les bits de présence en mémoire centrale/en mémoire d'extension indiquent dans quelle unité de mémoire sont mémorisées des pages réelles indiquées par les adresses de page réelle, soit l'unité de mémoire centrale, soit l'unité de mémoire d'extension. Selon un deuxibme a-spect de: l'invention, un système de traitement de l'information comprend une unité de mémoire centrale pouvant être mise en fonctionnement à une vitesse relativement élevée et ayant une capacité de mémoire relativement petite, une unité de mémoire d'ex- tension pouvant être mise en fonctionnement à une vitesse relativement faible et ayant une capacité de mémoire relativement grande, et une unité de traitement d'ins- tructions pour traiter un mot d'instruction pour avoir accès à au moins un opérande afin de produire une adresse virtuelle L'unité de traitement d'instructions comprend un moyen de détermination du type d'accès pour déter- miner un type d'accès pour au moins l'opérande selon les informations incluses dans le mot d'instruction Le type d'accès indique quelle unité de mémoire est l'unité optimale pour au moins l'opérande, soit l'unité de mémoire centrale, soit l'unité de mémoire d'extension. Le moyen de détermination du type d'accès produit un bit de type d'accès indiquant le type d'accès La table de traduction d'adresses traduit l'adresse virtuelle en une adresse réelle La table de traduction d'adresses contient des mots de table de pages qui incluent des adresses de page réelle correspondant à des adresses de page virtuelle et des bits de présence en mémoire cen- trale/ en mémoire d'extension correspondant aux adresses de page réelle respectives pour indiquer dans quelle unité de mémoire sont mémorisées les pages réelles, soit l'unité de mémoire centrale, soit l'unité de mémoire d'extension. Selon un troisième aspect de l'invention, un sys- tème de traitement de l'information comprend une unité de mémoire centrale pouvant être mise en fonctionnement à une vitesse relativement élevée et ayant une capacité de mémoire relativement petite, une unité de mémoire d'extension pouvant être mise en fonctionnement à une vitesse relativement faible et ayant une capacité de mémoire relativement grande, et une unité de traitement d'instructions incluant des registres de descripteur de segment pour mémoriser des descripteurs de segment défi- nissant des segments qui sont des blocs de données lo- giques Les descripteurs de segment incluent des adresses virtuelles de début, des longueurs de segment, et des bits de mémoire d'extension indiquant quelle unité de mémoire est l'unité optimale pour les segments, soit l'unité de mémoire centrale, soit l'unité de mémoire d'extension. Selon un quatrième aspect de l'invention, un sys- tème de traitement de l'information comprend une unité de mémoire centrale pouvant être mise en fonctionnement à une vitesse relativement élevée et ayant une capacité de mémoire relativement petite, une unité de mémoire d'extension pouvant être mise en fonctionnement à une vitesse relativement faible et ayant une capacité de mémoire relativement grande et une unité de traitement d'instructions incluant un moyen pour indiquer des nu- méros d'espaces virtuels pour indiquer une pluralité d'espaces virtuels et un moyen pour déterminer quelle unité de mémoire est l'unité optimale pour un espace vir- tuel indiqué, soit l'unité de mémoire centrale, soit l'unité de mémoire d'extension. D'autres caractéristiques et avantages de la pré- sente invention seront mis en évidence dans la descrip- tion suivante, donnée à titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels: la Figure 1 est un schéma fonctionnel d'un système central de traitement d'un processeur unique dans un système de traitement de l'information auquel est appli- cable la présente invention; la Figure 2 représente un format d'une instruction de transfert de données pour transférer des données entre une unité de mémoire centrale et une unité de mémoire d'extension, o l'instruction de transfert de données est exécutée dans le système centrale de traitement représenté sur la Figure 1; la Figure 3 est un schéma fonctionnel d'une unité de traitement d'instructions servant dans le système central de traitement représenté sur la Figure 1; la Figure 4 (A) représente un format d'un descrip- teur de segment mémorisé dans un registre de descripteur de segment pour sa mise en oeuvre dans l'unité de trai- tement d'instructions représentée sur la Figure 3; la Figure 4 (B) représente un format d'une zone d'Indicateur du descripteur de segment représenté sur la Figure 4 (A); la Figure 5 est un schéma fonctionnel servant à décrire l'opération de traduction d'adresse dans le sys- tème de traitement de l'information selon la présente invention; la Figure 6 (A) représente un format d'un mot de table de pages (PTW) pour l'unité de mémoire centrale pour sa mise en oeuvre dans le système central de trai- tement représenté sur la Figure 1; la Figure 6 (B) représente un format d'un autre mot de table de pages (PTW) pour l'unité de mémoire d'ex- tension pour sa mise en oeuvre dans le système central de traitement représenté sur la Figure 1; la Figure 7 est une vue servant à décrire l'opéra- tion de contrôle de présence selon le type d'accès et un bit de présence en mémoire centrale/ en mémoire d'ex- tension E et un bit de présence de page P dont les deux sont inclus dans un mot de table de pages (PTW); la Figure 8 est un schéma de circuit d'un circuit de contrôle de la présence d'une page représenté sur la Figure 7; la Figure 9 est un schéma fonctionnel d'une unité de commande de mémoire servant dans le système central de traitement représenté sur la Figure 1; la Figure 10 est un schéma fonctionnel d'une autre unité de traitement d'instructions servant dans le sys- tème central de traitement représenté sur la Figure l;et la Figure 11 est un schéma fonctionnel d'encore une autre unité de traitement d'instructions servant dans le système central de traitement représenté sur la Figure 1. En se référant à la Figure 1, on va décrire dans son ensemble un système central de traitement d'un pro- cesseur de signaux dans un système de traitement de l'information selon la présente invention Le système central de traitement comprend une unité de traitement d'instructions (IP) 21, une unité de traduction d'adresses (AT) 22, une unité de commande de mémoire (MC) 23, une unité de mémoire centrale (MM) 24, et une unité de mé- moire d'extension (EM) 25 La combinaison de l'unité de mémoire centrale 24 et de l'unité de mémoire d'extension est appelée unité de mémoire réelle. L'unité de traitement d'instructions 21 fournit à l'unité de traduction d'adresses 22 une adresse vir- tuelle VA et une commande par un bus d'adresse 51 et par un bus de commande 52, respectivement L'unité de trai- tement d'instructions 21 reçoit des données/état de lecture de l'unité de traduction d'adresses 22 par un- bus de données/état de lecture 53 L'unité de traitement d'instructions 21 fournit à l'unité de traduction d'adresses 22 des données d'écriture par un bus de don- nées d'écriture 54 L'unité de traduction d'adresses 22 fournit à l'unité de commande de mémoire 23 une adresse réelle et une commande par un bus d'adresse 55 et par un bus de commande 56, respectivement L'unité de traduc- tion d'adresse 22 reçoit des-données/état de lecture de l'unité de commande de mémoire 23 par un bus de données/ état de lecture 57 L'unité de traduction d'adresses 22 fournit à l'unité de commande de mémoire 23 des données d'écriture par un bus de données d'écriture 58 L'unité de commande de mémoire 23 fournit à l'unité de mémoire centrale 24 une adresse de mémoire centrale MMA et une commande par un bus d'adresse 59 et par un bus de com- mande 60 L'unité de commande de mémoire 23 reçoit des données/état de lecture de l'unité de mémoire centrale 24 par un bus de-données/état de lecture 61 L'unité de commande de mémoire 23 fournit à l'unité de mémoire centrale 24 des données d'écriture par un bus de données d'écriture 62 L'unité de commande de mémoire 23 fournit à l'unité de mémoire d'extension 25 une adresse de mémoire d'extension EMA et une commande par un bus d'adresse 63 et par un bus de commande 64, respective- ment L'unité de commande de mémoire 23 reçoit des données/état de lecture de l'unité de mémoire d'extension par un bus de données/état de lecture 65 L'unité de commande de mémoire 23 fournit à l'unité de mémoire d'extension 25 des données d'écriture par un bus de il données d'écriture 66. La Figure 2 représente un format d'une instruction de transfert de données L'instruction de transfert de données est une instruction pour l'exécution d'un trans- fert de données entre l'unité de mémoire centrale 24 et l'unité de mémoire d'extension 25 qui est exécutée dans le système central de traitement représenté sur la Fi- gure 1 Dans l'exemple représenté, l'instruction de transfert de données est classée en deux instructions, c'est-à-dire, une première instruction:: de transfert de données indiquant le transfert de données de l'unité de mémoire centrale 24 à l'unité de mémoire d'extension 25, et une seconde instruction de transfert de données indi- quant le transfert de données de l'unité de mémoire d'extension 25 à l'unité de mémoire centrale 24 La pre- mière instruction de transfert de données est appelée instruction MMEP, alors que la seconde instruction de transfert de données est appelée instruction MEMP. Chaque instruction de transfert de données est constituée d'un mot d'instruction 200, d'un premier descripteur d'opérande 201, et d'un second descripteur d'opérande 202 Le mot d'instruction 200 comprend une zone OP in- diquant l'opération de l'instruction en question, une zone Xl indiquant le numéro d'un registre d'index pour un premier opérande, et une zone X 2 indiquant le numéro d'un autre registre d'index pour un second opérande. Le premier descripteur d'opérande 201 comprend une zone de premier descripteur (Dl) indiquant un descripteur de segment pour le premier opérande, une zone yl indi- quant un emplacement d'opérande pour le premier opérande, et une zone L indiquant la longueur des données de transfert Pareillement, le second descripteur 202 com- prend une zone de second descripteur (D 2) indiquant un un autre descripteur de segment pour le second opérande et une zone y 2 indiquant un autre emplacement d'opérande pour le second opérande. En se référant à la Figure 3, on va décrire l'unité de traitement d'instructions 21 servant dans le système central de traitement représenté sur la Figure 1 L'unité de traitement d'instructions 21 traite l'instruction de transfert de données représentée sur la Figure 2 pour générer des première et seconde adresses virtuelles pour les premier et second opérandes et des premier et second bits de type d'accès al et a 2 pour les premier et second opérandes. L'unité de traitement d'instructions 21 reçoit l'instruction de transfert de données représentée sur la Figure 2 L'unité de traitement d'instructions 21 comprend des registres d'index 203 qui mémorisent- chacun une adresse de base pour l'opérande et ainsi de suite. Dans les registres d'index 203, on a indiqué un registre d'index 204 par la zone X 2 dans le mot d'instruction 200, alors qu'un autre registre d'index 205 est indiqué par la zone Xl dans le mot d'instruction 200 L'unité de traitement d'instructions 21 comprend en outre des registres de descripteur de segment 206. D'après les Figures 4 (A) et (B), chacun des regis- tres de descripteur de segment 206 mémorise un descrip- teur de segment définissant des segments qui sont des blocs de données logiques Le descripteur de segment comprend des zones de Base et de Limite indiquant l'em- placement et la longueur d'un espace virtuel du segment, respectivement, et une zone W indiquant le numéro de registre d'espace virtuel d'un registre d'espace virtuel (WSR) pour la mémorisation d'un numéro d'espace virtuel (WSN) Le descripteur de segment comprend en outre une zone d'Indicateur indiquant un attribut du segment. L'attribut du segment est indiqué sur la Figure 4 (B). En se référant à nouveau à la Figure 3, on voit que la zone Dl dans le premier descripteur d'opérande 201 indique un des registres de descripteur de segment 206 qui mémorise une zone W 207 et une zone de Base 208, alors que la zone D 2 dans le second descripteur d'opé- rande 202 indique un autre des registres de descripteur 206 qui mémorise une autre zone W 209 et une autre zone de Base 210 L'unité de traitement d'instructions 21 comprend des registres d'espace virtuel 211 Dans les registres d'espace virtuel 211, un registre d'espace virtuel 212 est indiqué par la zone W 207,alors qu'un autre registre d'espace virtuel 213 est indiqué par la zone W 209. L'unité de traitement d'instructions 21 comprend en outre des premier et second additionneurs 214 et 215 et un circuit de détermination du type d'accès 216. Le premier additionneur 214 reçoit le contenu du re- gistre d'index 205, la zone de Base 208, et la zone yl du premier descripteur d'opérande 201 Le premier addi- tionneur 214 additionne le contenu du registre d'index 205, la zone de Base 208, et la zone yl pour produire une première adresse-d'intra- espace virtuel qui inclut une zone N O P et une zone de décalage La combinaison de la première adresse d'intra-espace virtuel et du numéro d'espace virtuel WSN dans le registre d'espace virtuel 212 constitue la première adresse virtuelle pour le premier opérande qui est mémorisée dans un registre de première adresse virtuelle 217 Leicirbuit 'de détermination du type d'accès 216 reçoit la zone OP du mot d'instruc- tion 200 Le-ciràuit de détermination du type d'accès 216 détermine un premier type d'accès pour le premier opé- rande selon la zone OP pour produire un bit de premier type d'accès al indiquant le premier type d'accès qui est mémorisé dans un registre de premier type d'accès 218. Pareillement, le second additionneur 215 reçoit le contenu du registre d'index 204, la zone de Base 210, et la zone y 2 du second descripteur d'opérande 202 Le second additionneur 215 additionne le contenu du registre d'index 204, la zone de Base 210 et la zone y 2 pour produire une seconde adresse d'intra-espace virtuel qui comprend une autre zone de N O P et une autre zone de décalage La combinaison de la seconde adresse d'intra- espace virtuel et du numéro d'espace virtuel WSN dans le registre d'espace virtuel 213 constitue la seconde adresse virtuelle pour le second opérande qui est mémo- risée dans un registre de seconde adresse virtuelle 219. Le circuitde détermination du type d'accès 2 ' 6 détermine également le second type d'accès pour le second opérande selon la zone OP pour produire un bit de second type d'accès a 2 indiquant le second type d'accès qui est mé- morisé dans un registre de second type d'accès 220. Chacun des bits -de premier etisecondtypes d'accès al et a 2 est un bit pour indiquer quelle unité de mémoire est l'unité optimale pour l'opérande, soit l'unité de mé- moire centrale 24, soit l'unité de mémoire d'extension De la manière indiquée sur la Figure 2, le type d'accès est déterminé selon un tableau tel que suit: TABLEAU En outre, la zone L dans le premier descripteur d'opérande 201 indique, en tant qu'un des registres d'index 203, un registre d'index 227 qui mémorise un signal de longueur des données de transfert indiquant la longueur des données de transfert L Le signal de longueur des données de transfert est mémorisé dans un registre de longueur des données de transfert 228. Comme on l'a décrit plus haut, l'unité de traite- ment d'instructions 21 génère les première et seconde adresses virtuelles pour les premier et second opérandes Zone OP TYPE D'ACCES jerd (en binaire) I opérande 2 d opérande 000 000 1101 ACCES A LA MEMOIRE ACCES A LA MEMOIRE CENTRALE D'EXTENSION 000 000 1111 ACCES A LA MEMOIRE ACCES A LA MEMOIRE D'EXTENSION CENTRALE et les bits de premier et second types d'accès al et a 2 pour les premier et second opérandes Des instructions autres que l'instruction de transfert de données men- tionnée ci-dessus sont mises en oeuvre pour un accès à l'unité de mémoirecentrale 24 Les types d'accès de ces instructions indiquent que leurs opérandes doivent être tous trouvés dans l'unité de mémoire centrale 24 en conséquence. En se référant à la Figure 5, on va décrire l'unité de traduction d'adresses 22 L'unité de traduction d'adresses 22 reçoit l'adresse virtuelle VA de l'unité de traitement d'instructions 21 L'unité de traduction d'adresses 22 traduit l'adresse virtuelle VA en une adresse réelle par la mise en oeuvre d'une table de traduction d'adresses mémorisée dans l'unité de mémoire centrale 24. L'adresse virtuelle est mémorisée dans un registre d'adresse virtuelle 100 qui correspond à un des registres d'adresse virtuelle 217 et 219 représentés sur la Fi- gure 3 Une adresse de base est mémorisée dans un re- gistre de base de répertoire de table de pages 101. L'unité de mémoire centrale 24 comprend un répertoire de table de pages d'espace virtuel (WSPTD) 102 pour mé- moriser des mots de répertoire de table de pages (PTDW) et comprend une table de pages (PT) 103 pour mémoriser des mots de table de pages (PTW) La table de pages 103 sert de table de traduction d'adresses L'unité de mé- moire centrale 24 mémorise des pages réelles de mémoire centrale 104 L'unité de mémoire d'extension 25 mémorise des pages réelles de mémoire d'extension 105 L'unité de mémoire centrale 24 comprend en outre des premier à troisième registres d'adresse 110,111 et 112 L'unité de mémoire d'extension 25 comprend un registre d'adresse 113. On va décrire dans la suite le fonctionnement de l'unité de traduction d'adresses 22 Tout d'abord, une recherche est faite dans le répertoire de table de pages d'espace virtuel 102 par la mise en oeuvre de la zone WSN de l'adresse virtuelle VA L'adresse de base du répertoire de table de pages d'espace virtuel 102 est mémorisée dans le registre de base du répertoire de table de pages 101 Le premier registre d'adresse 110 mémorise l'adresse qui est constituée par la combinaison de l'adresse de base mémorisée, dans le registre de base du répertoire de table de pages 101 et de la zone WSN de l'adresse virtuelle VA et qui indique un mot de réper- toire de table de pages (PTDW) 106 mémorisé dans le ré- pertoire de table de pages d'espace virtuel 102 Le mot de répertoire de table de pages 106 inclut une adresse de début pour la table de pages 103 et une base de table de pages PTB Le deuxième registre d'adresse 111 mémo- rise l'adresse qui est constituée par la combinaison de la base de table de pages PTB et de la zone de N O VP de l'adresse virtuelle VA et qui indique un mot de table de pages (PTW) 107 mémorisé dans la table de pages 103 Le mot de table de pages 107 comprend une adresse de page réelle, un bit de présence en mémoire centrale/en mé- moire d'extension E indiquant 1-'-unitélde-mémoire -dans la- quelle est mémoriséé unepage-réelle,dans l'unité de mémoire centrale 24 ou dans l'unité de mémoire d'extension 25, et un bit de présence de page P indiquant la présence ou l'absence de la page réelle dans l'unité de mémoire réelle. On suppose que le bit de présence en mémoire cen- trale/ en mémoire d'extension E représente un zéro lo- gique Dans ce cas, l'adresse réelle dans le mot de table de pages 107 indique une adresse de début pour les pages réelles de mémoire centrale 104 dans l'unité de mémoire centrale 24 Le troisième registre d'adresse 112 mémorise la combinaison de l'adresse de début et de la zone de décalage de l'adresse virtuelle VA en tant qu'adresse de mémoire centrale MMA qui indique une page réelle de mémoire centrale 108 comme étant une des pages réelles de mémoire centrale 104. D'autre part, on suppose que le bit de présence en mémoire centrale/ en mémoire d'extension E représente un niveau logique un Dans ces conditions, l'adresse réelle dans le mot de table de pages 107 indique une adresse de début pour les pages réelles de mémoire d'ex- tension 105 dans l'unité de mémoire d'extension 25 Le registre d'adresse 113 mémorise la combinaison de l'adresse de début et de la zone de décalage de l'adresse virtuelle VA en tant qu'adresse de mémoire d'extension EMA qui indique une page réelle de mémoire d'extension 109 comme étant une des pages réelles de mémoire d'ex- tension 105. * Les Figures 6 (A) et (B) représentent des formats du mot de table de pages PTW La Figure 6 (A) représente un format du mot de table de pages PTW qui indique la page réelle mémorisée dans l'unité de mémoire centrale 24, alors que la Figure 6 (B) représente un autre format du mot de table de pages PTW qui indique la page réelle mémorisée dans l'unité de mémoire d'extension 25 Le mot de table de pages PTW inclut le bit de présence en mé- moire centrale/ en mémoire d'extension E à la position de bit 29 et une zone C indiquant un attribut de la page réelle. En se référant aux Figures 7 et 8, on voit qu'en simultanéité avec l'opération de traduction d'adresse mentionnée ci-dessus, un circuit de contrôle de la pré- sence d'une page 305 contrôle la présence ou l'absence de la page réelle dans l'unité de mémoire réelle selon le bit de type d'accès T de chaque opérande, et le bit de présence en mémoire centrale/en mémoire d'extension E et le bit de présence de page P dans le mot de table de pages PTW Le circuit de contrôle de la présence d'une page 305 génère l'un de trois mots d'état qui indiquent un état parmi un état d'erreur par page manquante (MPF) indiqué par un mot d'état MPF, un état d'erreur de sécurité (SF) indiqué par un mot d'état SF, et un état OK indiqué par un mot d'état OK, respectivement L'état MPF indique l'absence de la page réelle correspondant à une page virtuelle donnée dans l'unité de mémoire réelle. L'état SF indique qu'on doit se référer à la page réelle à laquelle un accès n'est pas autorisé L'état OK indique qu'une adresse réelle obtenue par la traduction d'adresse est correcte car la page réelle correspondant à la page virtuelle donnée est présente dans l'unité de mémoire réelle et qu'un accès à cette adresse réelle peut être autorisé Comme l'indique la Figure 6 (B),le circuit de contrôle de la présence d'une page 305 comprend des première à onzième portes 306,307,308,309,310,311,312, 313,314,315 et 316. Quand le mot d'état OK est produit à la fois pour les premier et second opérandes par le circuit de con- trôle de la présence d'une page 305,un transfert de données commence. On va maintenant décrire l'unité de commande de mémoire 23 en se référant à la Figure 9 L'unité de com- mande de mémoire 23 commande le transfert de données entre l'unité de mémoire centrale 14 et l'unité de mé- moire d'extension 25 L'unité de commande de mémoire 23 comprend un registre de données 501,un registre d'adresse de mémoire centrale 502,un premier circuit de progression 503,un registre d'adresse de mémoire d'extension 504, un second circuit de progression 505, un registre de longueur des données de transfert 506, un circuit de régres- sion 507,un registre de direction de transfert 509,un circuit de commande 510, et un détecteur de zéro 511. Le registre d'adresse de mémoire centrale 502 mé- morise l'adresse de mémoire centrale MMA fournie par l'unité de traduction d'adresses 22 par l'intermédiaire du bus d'adresse 55 L'adresse de mémoire centrale MMA mémorisée est envoyée à l'unité de mémoire centrale 24 par le bus d'adresse 59 Pareillement, le registre d'adresse de mémoire d'extension 504 mémorise l'adresse de mémoire d'extension EMA fournie par l'unité de tra- duction d'adresses 22 par l'intermédiaire du bus d'adresse 55 L'adresse de mémoire d'extension EMA mémo- risée est envoyée-à l'unité de mémoire d'extension 25 par le bus d'adresse 63 En outre, le registre de lon- gueur des données de transfert 506 mémorise un signal de longueur des données de transfert LEN fourni par - l'unité de traduction d'adresses 22 par l'intermédiaire du bus d'adresse 55 Le registre de direction de trans- fert 509 mémorise un signal de direction de transfert D fourni par l'unité de traduction d'adresses 22 par l'in- termédiaire du bus d'adresse 55 Pour l'exemple repré- senté, le signal de direction de transfert D représente le zéro logique quand des données doivent être trans- férées de l'unité de mémoire centrale 24 à l'unité de mémoire d'extension 25 Quand des données doivent être transférées de l'unité de mémoire d'extension 25 à l'unité de mémoire centrale 24, le signal de direction de transfert D représente le niveau logique un. Les données sont transférées entre l'unité de mé- moire centrale 24 et l'unité de mémoire d'extension 25. L'adresse de mémoire centrale MMA mémorisée dans le registre d'adresse de mémoire centrale 502 est incré- mentée d'une unité par la mise en oeuvre du premier cir- cuit de progression 503 par chaque cycle de transfert. L'adresse de mémoire d'extension EMA mémorisée dans le registre d'adresse de mémoire d'extension 504 est incré- mentée d'une unité par la mise en oeuvre du second cir- cuit de progression 505 par chaque cycle de transfert. Le signal de longueur des données de transfert LEN mémo- risé dans le registre de longueur des données de trans- fert 506 est décrémenté d'une unité par la mise en oeuvre du circuit de régression 511 par chaque cycle de transfert Le détecteur de zéro 511 détecte si le signal de longueur des données de transfert LEN mémorisé a ou non une valeur égale à zéro Quand le signal de longueur des données de transfert LEN mémorisé a la valeur zéro, le détecteur de zéro 511 produit un signal de détection de zéro END Le signal de détection de zéro END est fourni au circuit de commande 510 Le circuit de com- mande 510 reçoit le signal de direction de transfert D du registre de direction de transfert 509 En réponse au signal de détection de zéro END et au signal de di- rection de transfert D, le circuit de commande 510 pro- duit une commande de la manière qui est décrite ci- dessous. Quand le signal de détection de zéro END et le signal de direction de transfert D représentent tous les deux le zéro logique, le circuit de commande 510 envoie une commande de lecture et une commande d'écriture à l'unité de mémoire centrale 24 et à l'unité de mémoire d'extension 25 par l'intermédiaire des bus de commande et 64, respectivement. Quand le signal de détection de zéro END représente le zéro logique et le signal de direction de transfert D représente le un logique, le circuit de commande 510 envoie une commande d'écriture et une commande de lec- ture à l'unité de mémoire centrale 24 et à l'unité de mémoire d'extension 25 par les bus de commande 60 et 64, respectivement. Quand le signal de détection de zéro END représente le un logique, le circuit de commande 510 envoie un signal de fin de transfert à l'unité de traduction d'adresses 22 par le bus de données/état de lecture 57. En se référant à nouveau à la Figure 7, on voit que l'exécution du programme est interrompue quand le cir- cuit de contrôle de la présence d'une page 305 génère le mot d'état SF pour l'un des premier et second opérandes en dehors de l'accès normal à l'unité de mémoire réelle. D'autre part, le mot d'état MPF pour l'un des premier 2687812- et second opérandes entraîne l'attribution de pages par un programme de commande Le programme de commande est informé du bit de type d'accès T qui est une cause de l'état MPF Comme on l'a mentionné plus haut, le mot d'état MPF est généré quand la page réelle correspondant à la page virtuelle donnée n'est pas présente dans l'unité de mémoire réelle Quand le mot d'état MPF est généré, un état d'exception se produit Le traitement de cet état d'exception est exécuté par le programme de commande. D'une façon un peu plus détaillée, il existe un premier et un second cas d'exception On va d'abord décrire le premier cas Le second cas sera décrit après dans la suite. ( 1) Le premier cas o se produit l'état d'exception pendant un accès à l'unité de mémoire centrale 24, c'est- à-dire pendant l'accès à la mémoire centrale: (a) Quand le bit de présence en mémoire centrale/ en mémoire d'extension E et le bit de présence de page P représentent tous les deux le zéro logique, la page réelle n'est pas encore préparée ou est présente dans une unité de mémoire externe Quand la page réelle n'est pas encore préparée, le programme de commande obtient la page réelle de la manière bien connue dans la technique. Ensuite, le programme de commande réécrit le bit de pré- sence de page P du mot de table de pages PTW à l'état logique un et réécrit la zone-d'adresse réelle de ma- nière à indiquer la page réelle obtenue Quand la page réelle est présente dans l'unité de mémoire externe, le programme de commande obtient la page réelle de mé- moire centrale de la manière bien connue dans la tech- nique et charge la page réelle Ensuite, le programme de commande réécrit le bit de présence de page P du mot de table de pages PTW à l'état logique un et réécrit la zone d'adresse réelle de manière à indiquer la page réelle obtenue. (b) Quand le bit de présence en mémoire centrale/ en mémoire d'extension E et le bit de présence de page P représentent tous les deux le niveau logique un, la page réelle est présente dans l'unité de mémoire d'ex- tension 25 Dans ce cas, le programme de commande ob- tient la page réelle de mémoire centrale de la manière bien connue dans la technique et charge la page réelle de l'unité de mémoire d'extension 25 Ensuite, le pro- gramme de commande réécrit le bit de présence de page P du mot de table de pages PTW à l'état logique zéro et réécrit la zone d'adresse réelle de manière à indiquer la page réelle obtenue. (c) Quand le bit de présence en mémoire centrale/ en mémoire d'extension E représente le niveau logique un et le bit de présence de page P représente le niveau logique zéro, la page réelle est présente dans l'unité de mémoire externe Dans ces conditions, le programme de commande obtient la page réelle de mémoire-d'extension de la manière bien connue dans la technique et charge la page réelle de l'unité de mémoire externe Ensuite, le programme de commande réécrit le bit de présence de page P du mot de table de pages PTW à l'état logique un et réécrit la zone d'adresse réelle de manière à indi- quer la page réelle obtenue. ( 2) Le second cas o se produit l'état d'exception pendant un accès à l'unité de mémoire d'extension 25, c'est-à-dire, pendant l'accès à la mémoire d'extension: (a) Quand le bit de présence en mémoire centrale/ en mémoire d'extension E et le bit de présence de page P représentent tous les deux le niveau logique zéro, la page réelle n'est pas encore préparée ou est présente dans l'unité de mémoire externe Quand la page réelle n'est pas préparée, le programme de commande obtient la page réelle d'extension de la manière bien connue dans la technique Ensuite, le programme de commande réécrit le bit de présence en mémoire centrale/en mémoire d'extension E et le bit de présence de page P du mot de table de pages PTW à l'état logique un Quand la page réelle est présente dans l'unité de mémoire externe, l'exécution du programme est interrompue de la même ma- nière que lorsque l'état SF est généré Il en est ainsi car un accès à la page de mémoire centrale est sur le point d'être réalisé par l'accès à la mémoire d'extension. (b) Quand le bit de présence en mémoire centrale/ en mémoire d'extension E représente le niveau logique un et le bit de présence de page P représente le niveau logique zéro, la page réelle est présente dans l'unité de mémoire externe Dans ce cas, le programme de com- mande obtient la page réelle de mémoire d'extension de la manière bien connue dans la technique et charge la page réelle de l'unité de mémoire externe Ensuite, le programme de commande réécrit le bit de présence de page P du mot de table de pages PTW à l'état logique un et réécrit la zone d'adresse réelle de manière à indiquer la page réelle obtenue. En se référant à la Figure 10, on va maintenant décrire une autre unité de traitement d'instructions 21 a mise en oeuvre dans le système central de traitement représenté sur la Figure 1 L'unité de traitement d'ins- tructions 21 a est semblable à celle représentée sur la Figure 3, excepté pour la détermination du type d'accès de la manière qui sera décrite dans la suite. En se référant à nouveau aux Figures 4 (A) et (B), on voit que le descripteur de segment comporte la zone d'indicateur (Indicateur) incluant le bit de mémoire d'extension, c'est-à-dire le bit 22 indiquant le type d'accès Quand le bit de mémoire d'extension (bit 22) est au niveau logique zéro, le type d'accès indique l'accès à la mémoire centrale D'autre part, le type d'accès indique l'accès à la mémoire d'extension quand le bit de mémoire d'extension (bit 22) est au niveau logique un En d'autres termes, le bit de mémoire d'extension indique quelle unité de mémoire est l'unité optimale pour les segments en question, soit l'unité de mémoire centrale 24, soit l'unité de mémoire d'extension 25. En se référant à nouveau à la Figure 10, on voit que la zone Dl du premier descripteur d'opérande 201 indique le registre de descripteur de segment qui mémo- rise non seulement le numéro de registre d'espace vir- tuel 207 et la zone de base 208 mais également un bit de mémoire d'extension (bit 22) 223 La zone D 2 du second descripteur d'opérande 202 indique le registre de des- cripteur de segment qui mémorise un autre bit de mémoire d'extension (bit 22) 224 ainsi que le numéro de registre d'espace virtuel 209 et une autre zone de base 210 Le bit de mémoire d'extension 223 est mémorisé dans le re- gistre de premiertype d'accès 218 en tant que bit-de premiertype d'accès al indiquant le type d'accès pour le premier opérande, alors que le bit de mémoire d'extension 224 est mémorisé dans le registre de second type d'accès 220 en tant que bit de second type d'accès a 2 indiquant le type d'accès pour le second opérande. En se référant à la Figure 11, on va décrire encore une autre unité de traitement d'instructions 21 b mise en oeuvre dans le système central de traitement représenté sur la Figure 1 L'unité de traitement d'instructions 21 b est semblable à celle représentée sur la Figure 3, excepté qu'elle comprend des premier et second circuits de détermination du type d'accès 225 et 226 à la place du circuit de détermination du type d'accès 216 Pour l'exemple représenté, le type d'accès est défini comme l'accès à la mémoire d'extension quand le numéro d'espace virtuel WSN est au moins égal à deux cent cinquante-six. Autrement, le type d'accès est défini comme l'accès à la mémoire centrale Le numéro d'espace virtuel WSN mémo- risé dans le registre d'espace virtuel 212 est fourni au premier circuit de détermination de type d'accès 225. Le premier circuit de détermination de type d'accès 225 détermine le type d'accès pour le premier opérande selon le numéro d'espace virtuel WSN fourni Le premier circuit de détermination de type d'accès 225 fournit un type d'accès déterminé au registre de premier type d'accès 218 en tant que bit de premier type d'accès al indiquant le type d'accès pour le premier opérande Pareillement, le numéro d'espace virtuel WSN mémorisé dans le registre d'espace virtuel 213 est fourni au second circuit de détermination de type d'accès 226 Le second circuit de détermination de type d'accès 226 détermine le type d'accès pour le second opérande selon le numéro d'espace virtuel WSN fourni Le second circuit de détermination de type d'accès 226 fournit un type d'accès déterminé au registre de second type d'accès 220 en tant que bit de second type d'accès a 2 indiquant le type d'accès pour le second opérande De toute façon, chacun des premier et second circuits de détermination de type d'accès 225 et 226 détermine quelle unité de mémoire est l'unité optimale pour un espace virtuel indiqué, soit l'unité de mémoire centrale 24, soit l'unité de mémoire d'extension 25. Comme il ressort de la description précédente, il est possible pour le système de traitement de l'infor- mation selon la présente invention de commander l'unité de mémoire d'extension 25 selon l'adresse virtuelle VA. De plus, il est possible d'exécuter rapidement une tra- duction:d'adresse-pour l'unité de mémoire d'extension En outre, il est possible de réexécuter effective- ment une attribution de pages rapidement par la mise en oeuvre du bit de type d'accès T nouvellement introduit par la présente invention et du bit de présence en mémoire centrale/en mémoire d'extension E dans la table de pages. Bien que l'invention ait été ainsi très largement décrite par rapport à quelques exemples de réalisation préférés de celle-ci, il sera maintenant facilement possible pour l'homme de l'art d'appliquer l'invention d'autres manières différentes. REVENDICATIONS 1 Système de traitement de l'information,caracté- risé en ce qu'il comprend: une unité de mémoire centrale ( 24) pouvant être mise en fonctionnement à une vitesse relativement élevée et ayant une capacité de mémoire relativement petite; une unité de mémoire d'extension ( 25) pouvant être mise en fonctionnement à une vitesse relativement faible et ayant une capacité de mémoire relativement grande; une unité de traitement d'instructions ( 21) pro- duisant une adresse virtuelle (VA); et une table de traduction d'adresses ( 103) pour tra- duire ladite adresse virtuelle (VA) en une adresse réelle, ladite table de traduction d'adresses contenant des mots de table de pages (PTW,107) qui incluent des adresses de page réelle correspondant à des adresses de page virtuelle et des bits de présence en mémoire cen- trale/ en mémoire d'extension (E) correspondant aux adresses de page réelle respectives, lesdits bits de présence en mémoire centrale/en mémoire d'extension indiquant dans quelle unité de mémoire sont mémorisées les pages réelles indiquées par lesdites adresses de page réelle, soit l'unité de mémoire centrale, soit l'unité de mémoire d'extension. 2 Système de traitement de l'information, carac- térisé en ce qu'il comprend: une unité de mémoire centrale ( 24) pouvant être mise en fonctionnement à une vitesse relativement élevée et ayant une capacité de mémoire relativement petite; une unité d'extension ( 25) pouvant être mise en fonctionnement à une vitesse relativement faible et ayant une capacité de mémoire relativement grande; une unité de traitement d'instructions ( 21) pour traiter un mot d'instruction ( 200) pour avoir accès à au moins un opérande afin de produire une adresse vir- tuelle (VA), _ladite unité de traitement d'instructions incluant un moyen de détermination du type d'accès ( 216) pour déterminer un type d'accès pour ledit opérande au moins selon les informations incluses dans ledit mot d'instruction, ledit type d'accès indiquant quelle unité de mémoire est l'unité optimale pour ledit opé- rande au moins, soit ladite unité de mémoire centrale, soit ladite unité de mémoire d'extension, ledit moyen de détermination du type d'accès produisant un bit de type d'accès (al,a 2) indiquant ledit type d'accès; et une table de traduction d'adresses ( 103) pour tra- duire ladite adresse virtuelle (VA) en une adresse réelle, lad ite table de traduction d'adresses contenant des mots de table de pages (PTW,107) qui incluent des adresses de page réelle correspondant à des adresses de page virtuelle et des bits de présence en mémoire cen- trale/ en mémoire d'extension (E) correspondant aux adresses de page réelle respectives pour indiquer dans quelle unité de mémoire sont mémorisées les pages réelles, soit ladite unité de mémoire centrale, soit ladite unité de mémoire d'extension. 3 Système de traitement de l'information, caracté- risé en ce qu'il comprend: une unité de mémoire centrale ( 24) pouvant être mise en fonctionnement à une vitesse relativement élevée et ayant une capacité de mémoire relativement petite; une unité d'extension ( 25) pouvant être mise en fonctionnement à une vitesse relativement faible et ayant une capacité de mémoire relativement grande; et une unité de traduction d'instructions ( 21 a) in- cluant des registres de descripteur de segment ( 206) pour mémoriser des descripteurs de segment définissant des segments qui sont des blocs de données logiques, lesdits descripteurs de segment incluant des adresses virtuelles de début, des longueurs de segment, et des bits de mémoire d'extension ( 223,224) indiquant quelle unité de mémoire est l'unité optimale pour lesdits segments, soit ladite;unité de mémoire centrale, soit ladite unité de mémoire d'extension. 4 Système de traitement de l'information, caracté- risé en ce qu'il comprend: une unité de mémoire centrale ( 24) pouvant être mise en fonctionnement à une vitesse relativement élevée et ayant une capacité de mémoire relativement petite; une unité d'extension ( 25) pouvant être mise en fonctionnement à une vitesse relativement faible et ayant une capacité de mémoire relativement grande; et une unité de traitement d'instructions ( 21 b) in- cluant des moyens ( 212,213) pour indiquer des numéros d'espacesvirtuels identifiant une pluralité d'espaces virtuels et des moyens ( 225,226) pour déterminer quelle unité de mémoire est l'unité optimale pour un espace virtuel indiqué, soit ladite unité de mémoire centrale, soit ladite unité de mémoire d'extension.