FR2609196A1 - Systeme multiprocesseur - Google Patents

Systeme multiprocesseur Download PDF

Info

Publication number
FR2609196A1
FR2609196A1 FR8718220A FR8718220A FR2609196A1 FR 2609196 A1 FR2609196 A1 FR 2609196A1 FR 8718220 A FR8718220 A FR 8718220A FR 8718220 A FR8718220 A FR 8718220A FR 2609196 A1 FR2609196 A1 FR 2609196A1
Authority
FR
France
Prior art keywords
cpu
section
virtual memory
program
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8718220A
Other languages
English (en)
Other versions
FR2609196B1 (fr
Inventor
Masahito Makishita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of FR2609196A1 publication Critical patent/FR2609196A1/fr
Application granted granted Critical
Publication of FR2609196B1 publication Critical patent/FR2609196B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

SYSTEME MULTIPROCESSEUR PRESENTANT UNE PREMIERE 1 ET UNE SECONDE 2 UNITES CENTRALES DE TRAITEMENT CPU. CE SYSTEME COMPORTE UN MOYEN FORMANT PREMIERE MEMOIRE VIRTUELLE 3 QUI A UNE CAPACITE DE MEMOIRE PLUS FAIBLE, UN MOYEN FORMANT SYSTEME D'EXPLOITATION OS 12, UN MOYEN FORMANT PREMIER CONTROLE D'ESPACE 8, UN MOYEN FORMANT SECONDE MEMOIRE VIRTUELLE 4, UN MOYEN FORMANT SECOND CONTROLE D'ESPACE 9, DES MOYENS FORMANT PREMIER ET SECOND PROGRAMMES 10 ET 11. APPLICATION EN INFORMATIQUE.

Description

Titre : SYSTEME MULTIPROCESSEUR
La présente invention se rapporte à un système multiprocesseur contrôlé par un unique système d'exploitation (OS) et présentant une pluralité d'unités centrales de traitement (CPU) et, de façon plus particulière, à un système multiprocesseur permettant l'extension de la capacité de mémoire virtuelle du système sans affecter si- gnificativement son système d'~xploitation.
De façon générale, indépendamment de la question de savoir laquelle d'une pluralité d'unités CPU exécute le système d'exploitation, il est nécessaire que le système d'exploitation puisse accéder à toute zone de cette unité et des programmes utilisateurs.
Du fait de cette nécessité, dans le type de système multiprocesseur de l'art antérieur, chaque unité CPU possède une mémoire virtuelle de la même capacité. Par conséquent chaque unité CPU a un nombre commun de bits indiquant une adresse, et la section de commande de l'adresse et la zone dans laquelle il faut ranger l'adresse sont aussi grandes que ce nombre de bits.
Une telle technique a été décrite dans un manuel intitulé "bibliothèque logique du système "OS/VS2, volumes 2 et 4" pages 2-255 à 2-280 et 4-115 à 4-117.6, publié en octobre 1979 par International Business Machines Corporation, ainsi que dans le descriptif du brevet U.K. No.
15009393.
En attendant, la dimension d'un programme exécutable est limitée par celle de la mémoire virtuelle. Par conséquent, pour exécuter un programme plus grand, il faut augmenter la capacité de mémoire virtuelle.
Pour augmenter la capacité à mémoire virtuelle de façon à satisfaire à cette demande, il faut augmenter suffisamment le nombre de bits pour une adresse pour que le système d'exploitation puisse accéder à la totalité de la mémoire virtuelle augmentée. Toutefois une adresse est traitée dans la section de la commande de l'adresse et dans la zone de mémorisation des adresses qui, en particulier dans le système d'exploitation, sont entièrement remplies. Par conséquent il y a un inconvénient en ce sens que, si l'on utilise cette formule, il faut modifier la structure câblée de chaque unité CPU pour pouvoir traiter la mémoire virtuelle augmentée.En outre, il y a un autre inconvénient consistant en ce qu'il faut modifier dans une large mesure le système d'exploitation luimême du fait que la section de la commande de l'adresse et la zone de mémorisation des adresses ont augmenté pour arriver au même nombre de bits.
Un but de la présente invention est donc de remédier aux inconvénients mentionnés ci-dessus et de proposer un système multiprocesseur dont la capacité de mémoire virtuelle puisse s'augmenter sans entraîner de modification importante du système d'exploitation.
Selon l'un des aspects de l'invention, on propose un système multiprocesseur présentant une première et une seconde unités centrales de traitement (CPU).
Ledit système multiprocesseur comporte : un moyen formant première mémoire virtuelle qui a capacité de mémoire plus faible et qui est contrôlée par la première unité CPU
un moyen formant système d'exploitation (OS) exploité par l'une et l'autre de la première et de la seconde unités CPU et n'accédant qu'à la zone du moyen formant la première mémoire virtuelle
un moyen formant premier contrôle d'espace pour contrôler l'espace virtuel du moyen formant la première mémoire virtuelle
un moyen formant seconde mémoire virtuelle qui inclut au moins une partie du moyen formant première mémoire virtuelle, qui a une capacité de mémoire plus grande que celle du moyen formant première mémoire virtuelle, et qui est contrôlé par la seconde unité CPU
un moyen formant second contrôle d'espace pour contrôler l'espace virtuel de ce moyen formant seconde mémoire virtuelle
un moyen formant premier programme auquel peuvent accéder l'un et l'autre du moyen formant premier contrôle d'espace et du moyen formant second contrôle d'espace ; et
un moyen formant second programme auquel ne peut accéder que le moyen formant second contrôle d'espace et qui est mémorisé dans la zone du moyen formant seconde mémoire virtuelle qui ne recouvre pas la zone du moyen formant première mémoire virtuelle.
D'autres caractéristiques et avantages de l'invention apparaitront à partir de la description détaillée qui suit de l'une de ses réalisations préférées, prise en liaison avec les dessins joints sur lesquels.
La figure 1 est un diagramme de la réalisation préférée de l'invention.
La figure 2 est un diagramme pour décrire la différence de dimension entre les unités de contrôle d'espace 8 et 9 de la figure 1
La figure 3 est un diagramme de la structure d'un programme
Les figures 4A à 4C sont des diagrammes des formats d'une commande d'appel spéciale et d'une commande de renvoi spéciale
La figure 5 est un diagramme pour décrire le fonctionnement de la réalisation préférée de l'invention.
La figure 6 est un diagramme d'un exemple de structure d'une section de traitement 5 ; et
La figure 7 est un diagramme d'un exemple de structure d'une autre section de traitement 13.
Sur les figures, les mêmes chiffres de référence désignent respectivement les mêmes éléments constituants.
On va maintenant décrire en détail une réalisation préférée de l'invention en se référant aux dessins joints.
En se reportant à la figure 1, la réalisation de l'invention comporte une première mémoire virtuelle 3 qui présente une capacité de mémoire plus faible, une première unité centrale de traitement (CPU) 1 qui présente une structure câblée capable de traiter la première mémoire virtuelle 3, une seconde mémoire virtuelle 4 qui présente une capacité de mémoire plus importante, et une seconde unité CPU 2 qui présente une structure câblée capable de traiter la seconde mémoire virtuelle 4.
La première mémoire virtuelle 3 comporte en outre un système d'exploitation (OS) 12 qui opère sur la première unité CPU 1 et-dont létenduede référence est limitée à la zone de la première mémoire virtuelle 3, une première section de programme 10 exécutée à la fois par la première unité CPU 1 et par la seconde unité CPU 2, une première section de contrôle 6 exécutée par la première unité CPU 1 pour exécuter la première section de programme 10, une première section de contrôle d'espace 8 sensible à l'information apportant des instructions (un mot indiquant l'espace d'adressage; en provenance de la première section de contrôle 6 pour accéder à la première mémoire virtuelle 3 incluant la première section de programme 10, une seconde section de contrôle 7 pour exécuter la première section de programme 10 et une seconde section de programme 11 qui n'est présente que dans la seconde mémoire virtuelle 4, et une seconde section de contrôle d'espace 9, sensible à un mot indiquant l'espace, en provenance de ladite seconde section de contrôle 7, pour accéder à la seconde mémoire virtuelle 4 incluant la première et la seconde sections de programme 10 et 11.
La première unité CPU 1 présente une section de traitement 5 dont la structure est représentée sur la figure 6 et la seconde unité CPU 2 présente une section de traitement 13 dont la structure est représentée sur la figure 7.
On va maintenant décrire en détail la diference de dimension entre la première et la seconde sections de contrôle d'espace 8 et 9 en se référant aux figures 1 et 2.
En se reportant aux figures 1 et 2, on suppose que les mêmes adresses dans la première et dans la seconde mémoires virtuelles 3 et 4 représentent respectivement les mêmes données. On suppose en outre que la première mémoire virtuelle3.a,au maximum, l'adresse 16 mégabytes (MB), que la seconde mémoire virtuelle 4 a, au maximum, l'adresse 2 gigabytes (GB), que la première section de programme 10 ne va pas au-delà de l'adresse 100-kilobytes (KB) et que la seconde section de programme 11 ne va pas au-delà de l'adresse 17-MB. Par conséquent la première section de contrôle d'espace 8 n'est pas d'une taille supérieure à ce qui suffit pour couvrir 16 MB, tandis que la seconde section de contrôle d'espace 9 est assez grande pour couvrir 2 GB.Par conséquent la seconde section de contrôle d'espace 9, présentant les entrées correspondantes, peut accéder à la seconde section de programme 11.
Dans une telle structure, s'il faut, par exemple, exécuter un grand programme i , constitué de la première section de programme 10 et de la seconde section de programme 11, et trop grand pour la capacité de mémoire de la première mémoire virtuelle 3, le programme d se divise entre la première section de programme 10 et la seconde section de programme 11. La première section de programme séparée 10 se place dans la première mémoire virtuelle 3 et la seconde section de programme 11 se place dans une zone située à l'extérieur de la première mémoire virtuelle 3 mais dans la seconde mémoire virtuelle 4.En même temps, les sections de traitement 5 et 13 exécutent le traitement nécessaire pour transférer l'exécution du programme d depuis la première unité CPU 1 vers la seconde unité CPU 2 et le traitement nécessaire pour renvoyer l'exécution du programme i depuis la seconde unité
CPU 2 vers la première unité CPU 1.Il en résulte que la seconde mémoire virtuelle 4, dont la capacité de mémoire est trop grande pour être utilisée par la première unité centrale CPU 1, peut être utilisée par le programme d .En d'autres termes, même si le système d'exploitation OS 12 ne peut accéder qu'à la première mémoire virtuelle 3, le fait de donner la seconde section de contrôle d'espace 9 au programme d va permettre au programme i de s'ajouter la section de programme 11 et d'utiliser la seconde mémoire virtuelle 4 dont la capacité de mémoire est bien supérieure à celle du système d'exploitation OS 12.
Bien que la description suivante de la réalisation préférée suppose l'emploi des deux sections de contrôle 6 et 7 pour exécuter l'unique programme d , la présente invention n'est pas limitée à ce cas mais peut se concrétiser avec une unique section de contrôle combinant les deux.
On va maintenant décrire en détail le fonctionnement de la réalisation préférée de l'invention en se référant aux figures 1 à 7 en ce qui concerne l'exécution du programme d pris à titre d'exemple.
On va décrire tout d'abord ci-dessous la relation entre un exemple des contenus de la première section de programme 10 et de la seconde section de programme 11.
En se reportant aux figures 1 et 3, la première section de programme 10 inclut une première routine 17 décrite en un mode d'adressage à 24 bits et exécutée par la première unité CPU 1 et une seconde routine 18 décrite dans un mode d'adressage à 31 bits et exécutée par la seconde unité CPU 2. La première routine 17 inclut une com mande d'appel spéciale (CALL) et la seconde routine 18 inclut un groupe de commandes de transfert (MOVE) 19, une commande d'appel ordinaire 20 et une commande de renvoi du contrôle spéciale (RETURN) 16.
En se reportant maintenant à la figure 4A, la commande spéciale d'appel 14 est constituée d'un code de commande 14a et de l'adresse 14b d'un descripteur de procédure. En se reportant à la figure 4b, l'adresse 14b du descri,Pteur de procédure est en outre constituée d'un numéro d'identification 140 de la centrale CPU indiquant si la seconde routine 18, qu'il faut appeler par une commande d'appel (CALL), doit être exécutée par la première centrale CPU 1 ou par la seconde centrale CPU 2, ainsi que de l'adresse du point d'entrée 141. Le numéro d'identification CPU 140 est "O" si la seconde routine 18 doit être exécutée par la première centrale CPU 1, ou 1 si elle doit être exécutée par la seconde centrale CPU 2.
Signalons en passant que, puisque la réalisation de l'invention ne présente que deux unités CPU, il suffit d'un identificateur d'un seul bit pour le numéro d'identification 140 de la centrale CPU. Par contre un système présentant davantage de centrales CPU nécessiterait plus d'un bit.
En se reportant à la figure 4C, la commande spéciale de renvoi (RETURN) 16 est constituée d'un code de commande.
Sur la base des hypothèses ci-dessus, on va décrire ci-dessous le fonctionnement de la réalisation de la présente invention.
En se reportant aux figures 1 et 5, le système d'exploitation OS 12 démarre, dans la première centrale
CPU 1 (S1), l'opération concernant la première mémoire virtuelle 3. En démarrant l'exécution du programme i la première unité CPU 1 génère la première section de contrôle 6 et la section de contrôle d'espace 8 sous le con trôle du système d'exploitation OS 12. Puis la première unité CPU 1 charge dans une unité de la mémoire principale (non représentée) la première section de programme 10 (52). En outre la première unité CPU 1 génère la seconde section de contrôle 7 et la seconde section de contrôle d'espace 9 dans la seconde mémoire virtuelle 4 sous contrôle du système d'exploitation OS 12. Ici, le système d'exploitation OS 12 ne contrôle que la capacité de la seconde mémoire virtuelle 4, mais ne peut pas y accéder.
Ensuite le contenu de la première section de contrôle 6 est transféré dans un groupe de registres câblés 62 de la section de traitement 5 de la première unité CPU 1 et la première unité CPU 1 (54) démarre l'exécution de la première routine 17 qui se trouve dans la première section de programme 10.
En se reportant à la figure 3, la première routine 17 est l'une des routines constituant la première section de programme 10, et la commande spéciale d'appel (CALL) 14, décrite en référence aux figures 4A et 4B, en fait partie.
En se reportant à nouveau aux figures 1 et 4B, dont le numéro d'identification 140 de la centrale CPU se trouve le "1" logique qui indique la commutation pour passer de la première unité CPU 1 à la seconde unité CPU 2, et, dans l'adresse 141 du point d'entrée se trouve l'adresse de la commande-guide de la seconde routine 18 qui fait partie de la première section de programme 10.
Au fur et à mesure que le programme est successivement exécuté par la première unité CPU 1, la commande spéciale d'appel (CALL) 14 de la première routine 17 est exécutée (voir 55 sur la figure 5). En l'exécutant, la section de traitement 5 qui se trouve dans la première unité CPU 1 met fin à la séquence suivante de traitement.
En se reportant aux figures 1 et 6, en réponse à l'émission de la commande spéciale d'appel (CALL) 14 dans la première unité CPU 1, un registre de commande 60 mémorise la commande spéciale d'appel (CALL) 14. Alors, en réponse à la commande spéciale d'appel (CALL) 14 émanant de ce registre de commande 60, un moyen de décodage 61 met successivement en oeuvre une section 63 exécutant le transfert du processus en mémoire auxiliaire (ROLL-OUT), une section 64 exécutant la correction de la section de contrôle, une section 67 exécutant la mise en mémoire de l'information du renvoi du contrôle, et une section 65 générant le signal de mise en oeuvre.En réponse à la mise en oeuvre de la section 63 exécutant le transfert du processus en mémoire auxiliaire (ROLL-OUT), le contenu du groupe de registres câblés 62, utilisé dans l'exécution de la première section de programme 10, est renvoyé à la première section de contrôle 6 qui se trouve dans la première mémoire virtuelle 3.
Ensuite, le contenu de la seconde section de contrôle 7, associée à l'avance à la première section de contrôle 6, est corrigé de façon à devenir identique à celui de la première section de contrôle 6. L'information d'association pour la première et la seconde sections de contrôle 6 et 7 se trouve dans la première section de contrôle 6. Au cours du processus de correction, le mot indiquant l'espace d'adressage n'est pas modifié. Par conséquent la section 64 exécutant la correction de la section de contrôle transfère le contenu, renvoyé,en provenance du groupe de registres câblés 62, à la première unité de contrôle 6, et de la première unité de contrôle 6 à la seconde unité de contrôle 7 pour corriger le contenu de cette dernière. A ce moment, le mot indiquant l'espace d'adressage, qui se trouve dans la seconde section de contrôle 7, n'est pas modifié.En même temps, l'adresse à exécuter ensuite dans la seconde section de contrôle 7 est modifiée en fonction de l'adresse du point d'entrée fournie par le registre de commande 60. La section 67 exécu tant la mise en mémoire de l'information de renvoi du contrôle mémorise, dans un registre 68, l'adresse d'une commande qui vient après la commande spéciale d'appel (CALL) 14. Après cette action, la section 65 générant le signal de mise en oeuvre envoie un signal de mise en oeuvre pour l'exécution du contenu de la seconde section de contrôle 7 concernant la seconde unité CPU 2.
En se reportant maintenant aux figures 1 et 7, en réponse au signal de mise en oeuvre provenant de la section 65 de génération du signal de mise en oeuvre de la première unité CPU 1, une section 76 exécutant le transfert du processus en mémoire principale (ROLL-IN) est mise en oeuvre. En réponse à cette mise en oeuvre, le contenu de la seconde section de contrôle 7 est transféré sur un groupe de registres câblés 72 pour démarrer l'exécution par la seconde section de contrôle 7.
Par conséquent la seconde unité centrale CPU 2 démarre l'exécution à partir de l'adresse du point d'entrée représentant la seconde routine 18. Comme résultat de ce pas, le traitement par la première section de programme 10 exécuté jusqu'ici dans la première unité CPU 1 est récupéré par la seconde unité CPU 2.
Dans la réalisation précédente, la première section de programme 10 mise en oeuvre dans l'unité CPU 1 par le système d'exploitation OS 12 émet par elle-même la commande spéciale d'appel (CALL) 14 pour faire que la première et la seconde sections de traitement 5 et 13 passent le contrôle à la seconde unité CPU 2. Toutefois l'invention n'est pas limitée à cette disposition.Par exemple, il est également possible de mettre en oeuvre la seconde routine 18 de la première section de programme 10, après que le système d'exploitation OS 12 ait généré la seconde section de contrôle d'espace 9, par une instruction envoyée par la première unité CPU 1 à la seconde unité CPU 2 pour faire que la première section de programme 10, actionnée par la seconde unité CPU 2, génère le contenu de la seconde section de programme Il dans une zone à laquelle puisse accéder la seconde section de contrôle d'espace 9 de façon que la seconde section de programme 11 soit exécutée lors de l'appel du programme.
En se reportant à la figure 5, la seconde routine 18 accède à la seconde mémoire virtuelle 4 au moyen de la seconde section de contrôle d'espace 9 et génère et exécute la seconde section de programme 11 (56).
On va décrire en détail ce pas ci-dessous.
En se reportant aux figures 1 et 3, la seconde unité CPU 2, au cours de l'exécution de la seconde routine 18 par le premier programme 10, transfère la seconde section de programme 11 dans une zone située à l'extérieur de la première mémoire virtuelle 3,mais dans la seconde mémoire virtuelle 4,en exécutant le groupe de commandes de transfert (MOVE),S'il est nécessaire d'appeler la seconde section de programme 11 à partir de la seconde routine 18, on exécute la commande d'appel 20, qui fait partie de la seconde routine 18. Ce traitement par la commande d'appel 20, qui est un appel émanant de la seconde routine 18 pour la seconde section de programme 11, se fait dans la seconde mémoire virtuelle 4.Par conséquent il n'y a pas besoin de la commande spéciale d'appel (CALL) représentée sur la figure 4A, mais il suffit d'une commande ordinaire CALL, préparée pour un langage sophistiqué, comme le COBOL, prévu pour être traité par des processeurs généraux.
Dans la seconde section de programme 11, dont l'exécution est démarrée par la commande d'appel (CALL) mentionnée ci-dessus 20, peuvent se trouver soit uniquement des données, soit également une commande.
Dans la seconde unité CPU 2, la seconde section de programme 11 est exécutée en réponse à la commande d'appel (CALL) précédente 20. S'il est nécessaire de ren voyer le contrôle, depuis la seconde section de programme 11, à la seconde routine 18, une commande de renvoi du contrôle (RETURN) ordinaire 21 est exécutée puisque le traitement de ce renvoi se fait dans la seconde mémoire virtuelle 4. En réponse à l'exécution de cette commande de renvoi (RETURN) 21, une commande qui vient après la commande d'appel (CALL) 20 de la seconde routine 18 est exécutée. Dans l'unité CPU 2, l'exécution de la seconde routine 18 se poursuit. L'exécution de la commande spéciale 16 de renvoi du contrôle (RETURN) dans la seconde unité CPU 2 se fait comme décrit ci-dessous (voir S7 sur la figure 5).
En se reportant aux figures 1 et 7, en réponse à l'émission de la commande spéciale de renvoi du contrôle (RETURN) dans la seconde unité CPU 2, un registre de commandes 70 mémorise la commande spéciale 16 de renvoi du contrôle (RETURN). Puis, en réponse à l'émission de la commande spéciale 16 de renvoi du contrôle (RETURN) à partir de ce registre de commandes 70, un moyen de décodage 71 active successivement une section 73 exécutant le transfert du processus en mémoire auxiliaire (ROLL-OUT), une section 74 exécutant la correction de la section de contrôle et une section 75 générant un signal de reprise.
En réponse à cette activation, la section 73 exécutant le transfert du processus en mémoire auxilaire (ROLL-OUT) transfère le contenu du groupe de registres câblés 72, utilisé dans l'exécution de la première et de la seconde sections de programme 10 et 11, dans la seconde section de contrôle 7 qui se trouve dans la seconde mémoire virtuelle 4.
La section 74 exécutant la correction de la section de contrôle corrige la première section de contrôle 6 avec le contenu de la seconde section de contrôle 7 de façon que la première, associée à l'avance à la dernière, ait le même contenu que la seconde section de contrôle 7 en mode attente. Signalons que l'information associée pour la seconde et la première sections de contrôle 7 et 6 se trouve dans la seconde section de contrôle 7. La section 75 générant le signal de reprise envoie à la première unité CPU 1 un signal de reprise d'exécution concernant la première section de contrôIe 6.
En se reportant maintenant aux figures 1 et 6, en réponse au signal de reprise provenant de la section 75 générant le signal de reprise, une section 66 exécutant le transfert du processus en mémoire principale (ROLL-IN) transfère le contenu de la première section de contrôle 6, indiqué par le signal de reprise, au groupe de registres câblés 62 dans la première unité CPU 1. Cette action 2 transfert, par contre, se place après que l'adresse du point d'entrée, placée en attente pendant l'exécution de la commande spéciale d'appel (CALL) 14, soit mémorisée dans un registre d'adresses pour l'exécution suivante dans la première section de contrôle 6.
Ceci permet à la première unité CPU de reprendre l'exécution à partir de la commande qui suit la commande spéciale d'appel (CALL) 14.
Le processus précédent fait passer le contrôle de la seconde unité CPU 2 à la première unité CPU 1.
Dans cette réalisation, une commande spéciale de renvoi du contrôle (RETURN) sert à faire passer le contrôle de la seconde unité CPU 2 à la première unité CPU 1.
Toutefois l'invention n'est pas limitée à cette disposition, mais on peut également utiliser une adresse de renvoi du contrôle (RETURN) et, si nécessaire, une commande spéciale présentant un numéro d'identification de la première unité CPU 1, pour faire passer le contrôle de la première unité CPU 1 à la seconde unité CPU 2.
Le motif de l'emploi d'une commande spéciale de renvoi du contrôle (RETURN) dans cette réalisation constitue l'avantage que l'on explique ci-dessous. Si une dispo sition est réalisée avec la commande spéciale d'appel (CALL) concernant l'adresse de renvoi du contrôle (RETURN) et, si nécessaire, l'attente du numéro d'identification de l'unité CPU appropriée de façon à utiliser, par exemple, un registre ayant un numéro prédéterminé, on peut utiliser une commande spéciale de renvoi du contrôle (RETURN) ne comportant que le code de commande représenté sur la figure 4C.
Dans l'opération décrite ci-dessus, la seconde section de programme 11 ne peut pas utiliser directement les fonctions du système d'exploitation OS 12. Par conséquent la seconde section de programme 11 doit être composée soit pour avoir un contenu ne nécessitant pas l'emploi des fonctions du système d'exploitation OS 12 soit, s'il faut utiliser les fonctions de ce système d'exploitation OS 12, pour utiliser la première routine 17 du premier programme d'exploitation 10.
L'invention utilise une formule par laquelle la seconde section de contrôle d'espace 9 prévue pour couvrir la seconde mémoire virtuelle 4 qui a une plus grande capacité de mémoire est prévue séparément de la première section de contrôle d'espace 8 prévue pour couvrir la première mémoire virtuelle 3 qui a une plus faible capacité de mémoire pour donner les instructions provenant des sections de contrôle 6 et 7 à la première et à la seconde sections 8 et 9 de contrôle d'espace pour l'exécution du programme.
Selon l'invention, lorsque le programme est exé- cuté sur la première unité CPU 1 sous le contrôle de la section de contrôle 6 en réponse à une telle instruction, on peut accéder à la première mémoire virtuelle 3 en utilisant la première section de contrôle d'espace 8 et on peut alors utiliser les fonctions du système d'exploitation OS. Lorsque le programme est exécuté sur la seconde unité CPU 2 sous le contrôle de la section de contrôle 7, on peut accéder à la seconde mémoire virtuelle 4 en utilisant la seconde section de contrôle d'espace 9. Par conséquent, selon l'invention, le programme à exécuter est divisé entre la première et la seconde sections de programme 10 et 11, dont la première section de programme 10 est disposée dans la première mémoire virtuelle 3 et dans la seconde section de programme 11 est disposée dans la seconde mémoire virtuelle 4.Selon l'invention, le contrôle de l'exécution de programme passe de la première unité CPU 1 à la seconde unité CPU 2 sur une instruction provenant de la première section de traitement 5, puis ce contrôle est renvoyé de la seconde unité CPU 2 à la première unité CPU 1 sur une instruction provenant de la seconde section de traitement 13. En utilisant cette formule, l'invention permet au programme d'utiliser la seconde mémoire virtuelle 4 d'une capacité de mémoire plus grande.
Dans ce cas, du fait que létenduidans laquelle le pro gramme d'exploitation OS peut accéder est limitéçàlalapartie commune de la mémoire virtuelle, c'est-à-dire à la partie qui se trouve à l'intérieur de la première mémoire virtuelle 3, le programme d'exploitation OS ne doit être que légèrement modifié, impliquant un peu plus que le contrôle de la seconde section de contrôle d'espace 9. Il en résulte que l'on peut augmenter la capacité de mémoire virtuelle sans entrainer de modification substantielle du système d'ex ploitatiôn OS.

Claims (1)

  1. REVENDICATIONS
    Système multiprocesseur présentant une première (1) et une seconde (2) unités centrales de traitement (CPU), caractérisé en ce qu'il comporte
    un moyen formant première mémoire virtuelle (3) qui a une capacité de mémoire plus faible et qui est contrôlée par ladite première unité CPU (1) ;
    un moyen formant système d'exploitation (OS)(12) exploité par l'une et l'autre de ladite première (1) et de ladite seconde (2) unités CPU et n'accédant qu'à la zone dudit moyen formant la première mémoire virtuelle (3);;
    un moyen formant premier contrôle d'espace (8) pour contrôler l'espace virtuel dudit moyen formant la première mémoire virtuelle (3)
    un moyen formant seconde mémoire virtuelle (4) qui inclut au moins une partie dudit moyen formant première mémoire virtuelle (3), qui a une capacité de mémoire plus grande que celle dudit moyen formant première mémoire virtuelle (3), et qui est contrôlé par ladite seconde unité CPU (2)
    un moyen formant second contrôle d'espace (9) pour contrôler l'espace virtuel de ce moyen formant seconde mémoire virtuelle (4)
    un moyen formant premier programme (10) auquel peuvent accéder l'un et l'autre du moyen formant premier contrôle d'espace (8) et du moyen formant second contrôle d'espace (9); et
    un moyen formant second programme (11) auquel ne peut accéder que ledit moyen formant second contrôle d'espace (9) et qui est mémorisé dans la zone dudit moyen formant seconde mémoire virtuelle (4) qui ne recouvre pas la zone dudit moyen formant première mémoire virtuelle.
FR8718220A 1986-12-29 1987-12-28 Systeme multiprocesseur Expired - Fee Related FR2609196B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61309479A JPS63167953A (ja) 1986-12-29 1986-12-29 マルチプロセツサシステム

Publications (2)

Publication Number Publication Date
FR2609196A1 true FR2609196A1 (fr) 1988-07-01
FR2609196B1 FR2609196B1 (fr) 1995-04-21

Family

ID=17993479

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8718220A Expired - Fee Related FR2609196B1 (fr) 1986-12-29 1987-12-28 Systeme multiprocesseur

Country Status (2)

Country Link
JP (1) JPS63167953A (fr)
FR (1) FR2609196B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0543032A1 (fr) * 1991-11-16 1993-05-26 International Business Machines Corporation Schéma d'adressage de mémoire étendue

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5823374A (ja) * 1981-07-31 1983-02-12 Hitachi Ltd アドレス空間拡張方式
EP0194696A2 (fr) * 1985-03-15 1986-09-17 Sony Corporation Système multiprocesseur

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63121964A (ja) * 1986-11-11 1988-05-26 Mitsubishi Electric Corp 複数プロセツサによる共有メモリのアクセス方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5823374A (ja) * 1981-07-31 1983-02-12 Hitachi Ltd アドレス空間拡張方式
EP0194696A2 (fr) * 1985-03-15 1986-09-17 Sony Corporation Système multiprocesseur

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 7, no. 101 (P-194)(1246) 28 Avril 1983 & JP-A-58 023 374 ( HITACHI SEISAKUSHO K.K. ) 12 Février 1983 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0543032A1 (fr) * 1991-11-16 1993-05-26 International Business Machines Corporation Schéma d'adressage de mémoire étendue

Also Published As

Publication number Publication date
FR2609196B1 (fr) 1995-04-21
JPH0511336B2 (fr) 1993-02-15
JPS63167953A (ja) 1988-07-12

Similar Documents

Publication Publication Date Title
EP1619589B1 (fr) Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé
US9189263B1 (en) Object synchronization in shared object space
EP1736887A2 (fr) Repertoire de pages memoire
FR2474201A1 (fr) Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
US7519809B2 (en) Operating system-wide sandboxing via switchable user skins
WO1999012099A1 (fr) Procede d'allocation de memoire dans un systeme de traitement de l'information multiprocesseur
FR2608807A1 (fr) Systeme multiprocesseur et procede d'equilibrage de charge pour ledit systeme
EP1619590B1 (fr) Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé
FR2674654A1 (fr) Systeme de commande de registres partages.
EP1617335A1 (fr) Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé
JPH1069414A (ja) ローカル・ハードディスクを用いたキャッシング・ネットワーク及びcd−romファイル・アクセスのための方法
FR2489021A1 (fr) Agencement d'antememoires comprenant une antememoire tampon en combinaison avec une paire d'antememoires
EP1522923A2 (fr) Architecture de processeur à plusieurs contextes d'exécution simultanés
US6317818B1 (en) Pre-fetching of pages prior to a hard page fault sequence
US7197600B2 (en) Transferring data along with code for program overlays
FR2699703A1 (fr) Procédé de gestion d'une mémoire tampon, support d'enregistrement et système informatique l'incorporant.
FR2609196A1 (fr) Systeme multiprocesseur
EP0251861B1 (fr) Unité de gestion de mémoire
US7143399B2 (en) Method and apparatus for prefetching memory pages during execution of a computer program
CN106775501A (zh) 基于非易失内存设备的数据去冗余方法及系统
EP4187393A1 (fr) Gestion dynamique d'un pare-feu de mémoire
US8850443B2 (en) Asynchronous input/output (I/O) using alternate stack switching in kernel space
FR2461329A1 (fr) Dispositif de traitement de donnees a deux niveaux de memorisation
FR2818403A1 (fr) Procede de gestion de memoire
EP3629185A1 (fr) Procédé de gestion de la fourniture d'informations, en particulier des instructions, à un microprocesseur et système correspondant

Legal Events

Date Code Title Description
ST Notification of lapse