Brevet FR2611285A1 — publié le 19880826

Titre: CONTROLEUR POUR DEUX REGISTRES CHRONOMETRIQUES D'-UN SYSTEME DE MACHINE VIRTUELLE DONT L'UN ACTUALISE SEULEMENT EN MODE SYSTEME D'EXPLOI- TATION EN MACHINE VIRTUELLE. La présente invention se rapporte à un contrôleur pour registres chronométriques pour emploi dans un système de machine virtuelle. L'homme de l'art sait qu'un système de machine virtuelle comporte une unité centrale de traitement réelle (CPU réelle) et peut fonctionner dans l'un d'une pluralité de modes. Les modes comprennent un mode machine non virtuelle (NVM), un mode surveillance de machine virtuelle (VMM) et un mode système d'exploi- tation en machine virtuelle (VMOS). De la façon que l'on va décrire plus loin plus en détail, un système d'exploitation (OS) opère sur l'unité centrale de traitement réelle. Lorsqu'il opère sur l'unité centrale de traitement réelle, le système d'exploitation est dénommé par l'homme de l'art système d'exploitation hôte. En accord avec le système d'exploitation hôte, le mode machine non virtuelle exécute des travaux ordinaires, un pour chaque utili- sateur. Au lieu des travaux ordinaires, le mode surveillance de machine virtuelle exécute un programme de contrôle de machine virutelle (VMCP) en accord avec le système d'exploitation hôte et en tant que travail spécifique du système d'exploitation hôte. Lors de cette exécution, le programme de contrôle de machine virtuelle forme et contrôle une pluralité de systèmes d'exploitation invités. En accord avec chaque système d'exploitation invité, le mode système d'exploitation en machine virtuelle exécute d'autres travaux parmi les travaux ordinaires. On peut donc comprendre que le mode système d'exploitation en machine virtuelle fait opérer les systèmes d'exploi- tation invités. Conformément à la demande de brevet des Etats Unis N de série 908 269 déposée le 17 Septembre 1986 par le présent déposant sur la base de la demande de brevet japonais No. 205 533 de 1985, un registre de mode est utilisé dans un tel système de machine virtuelle. Le registre de mode peut comporter deux mémoires de un bit et indiquer l'un des modes, soit le mode machine non virtuelle, soit le mode surveillance de machine virtuelle, soit le mode système d'exploi- tation en machine virtuelle, dans lequel le système de machine virtuelleopère pour chaque utilisateur. On va également décrire plus en détail ci-dessous qu'une interruption est reçue par l'unité centrale de traitement réelle pour allouer du temps de proces- seur aux travaux exécutés en mode machine non virtuelle et au programme de contrôle de machine virtuelle qui est exécuté en mode surveillance de machine virtuelle. Le système d'exploitation hôte est informé de la surve- nance de l'interruption. L'interruption peut donc être dénommée une interruption du système d'exploi- tation hôte. De façon semblable, une interruption est reçue pour les systèmes d'exploitation invités et pour les travaux qui sont en cours d'exécution en mode système d'exploitation en machine virtuelle. Par l'intermé- diaire du programme de contrôle de machine virtuelle, le système d'exploitation hôte est informé de la survenance de l'interruption pour allouer du temps de processeur aux systèmes d'exploitation invités. Cette interruption sera dénommée une interruption primaire du système d'exploitation en machine virtuelle D'un autre côté, le système d'exploitation invité est informé de la survenance de l'interruption pour allouer du temps de processeur aux travaux exécutés en mode système d'exploitation en machine virtuelle et il juge de la question de savoir si, oui ou non, le système d'exploitation invité peut traiter l'inter- ruption. Ce n'est que si le système d'exploitation invité ne peut pas traiter l'interruption que le système d'exploitation invité fait un compte-rendu de la survenance de l'interruption au système d'exploitation hôte par l'intermédiaire du programme de contrôle de machine virtuelle. Cette dernière interruption sera dénommée interruption secondaire du système d'exploitation en machine virtuelle. Dans un système conventionnel de machine virtuelle, on utilise un registre chronométrique pour traiter l'interruption du système d'exploitation hôte. On utilise un registre chronométrique différent pour traiter à la fois l'interruption primaire et l'interruption secondaire du système d'exploitation en machine virtuelle. Le contrôle de différents registres chronométriques est donc compliqué comme cela apparaîtra clairement plus loin. Ceci se traduit par une augmentation de dépense. Un but de la présente invention est donc de proposer un contrôleur à registre chronométrique qui soit prévu pour emploi dans un système de machine virtuelle et que l'on puisse faire fonctionner de façon simple avec une dépense réduite. Un autre but de cette invention est de proposer un contrôleur à registre chronométrique du type décrit qui simplifie un processus d'allocation de temps de processeur pour un système d'exploitation invité ou pour un travail qui est exécuté en accord avec le système d'exploitation invité. D'autres buts de cette invention apparaîtront clairement au fur et à mesure de la progression de la description. Pour décrire l'essentiel de cette invention, il est possible de comprendre qu'un contrôleur à registres chronométriques est prévu pour emploi dans un système de machine virtuelle qui comporte une unité centrale de traitement réel!e et qui peut fonctionner en mode machine non virtuelle d'exécution d'un travail ordinaire en accord avec un système d'exploitation hôte qui opère sur l'unité centrale de traitement réelle, en un mode surveillance de machine virtuelle d'exécution d'un programme de contrôle de machine virtuelle en accord avec le système d'exploitation hôte pour former et contrôler une pluralité de systèmes d'exploitation invités et en un mode système d'exploi- tation en machine virtuelle d'opération des systèmes d' exploitation invités; et de comprendre que le contrôleur à registres chronométriques contient un registre de mode qui indique si le système de machine virtuelle opère en l'un des modes suivants, mode machine non virtuelle, mode surveillance de machine virtuelle et mode système d'exploitation en machine virtuelle. Selon cette invention, le contrôleur à registres chronométriques indiqué ci-dessus se caractérise par: (A) un premier registre chronométrique couplé au registre de mode et actualisé lorsque le registre de mode indique l'un quelconque du mode machine non virtuelle, du mode surveillance de machine virtuelle et du mode système d'exploitation en machine virtuelle; (B) un second registre chronométrique couplé au registre de mode et actualisé lorsque le registre de mode n'indique ni le mode machine non virtuelle, ni le mode surveillance de machine virtuelle, mais uniquement le mode système d'exploitation en machine virtuelle; (C) un circuit de réception d'interruption qui est couplé au premier et au second registres chronométriques, qui ne reçoit une première inter- ruption en tant que première interruption reçue que si le premier registre chronométrique est actualisé à une première valeur prédéterminée et qui ne reçoit une seconde interruption en tant que seconde inter- ruption reçue que si le second registre chronométrique est actualisé à une seconde valeur prédéterminée; et (D) des moyens d'information couplés au circuit de réception d'interruption pour informer le système d'exploitation hôte de la première interruption reçue et les systèmes d'exploitation invités de la seconde interruption reçue. La figure 1 est un schéma utilisé pour décrire le fonctionnement d'un système de machine virtuelle pour faciliter la compréhension de la présente invention; la figure 2, qui s'étend sur deux feuilles, figures 2 (a) et (b) représentent différentes divisions de mémoire, sections et blocs de mémoire du système de machine virtuelle mentionné en liaison avec la figure 1; la figure 3, dessinée sur deux feuilles, figures 3 (a) et (b), est un diagramme par blocs d'une unité centrale de traitement réelle et de portes qui sont utilisées dans le système de machine virtuelle men- tionné en liaison avec les figures 1 et 2 et qui comporte un contrôleur à registre chronométrique conforme à une réalisation de cette invention; et la figure 4 est un ordinogramme illustrant le fonctionnement du contrôleur à registre chronométrique décrit sur la figure 3. En se reportant à la figure 1, on va tout d'abord décrire de façon générale un système de machine virtuelle pour faciliter la compréhension de la présente invention. Le système de machine virtuelle comporte une unité centrale de traitement réelle (CPU réelle) qui sera illustrée plus loin. L'homme de l'art sait que le système de machine virtuelle peut fonctionner en l'un d'une Pluralité de modes pendant une certaine durée de tempz pour chaque utilisateur. Ces modes comportent un mode machine non virtuelle (NVM), un mode surveillance de machine virtuelle (VMM), et un mode système d'exploitation en machine virtuelle (VMOS). Un système d'exploitation (OS) passe sur l'unité centrale de traitement réelle. Lorsqu'il passe sur l'unité centrale de traitement réelle, le système d'exploitation est dénommé système d'exploitation hôte (HOS) et il est repéré en 11. En accord avec le système d'exploitation hôte 11, le mode machine non virtuelle exécute une pluralité de travaux ordi- naires tels que 12 et 13, chacun pour une certaine durée de temps pour chaque utilisateur. Au lieu des travaux ordinaires 12 et 13, le mode surveillance de machine virtuelle exécute un programme de contrôle de machine virtuelle (VMCP) 15 en accord avec le système d'exploitation hôte 11 en tant que travail particulier du système d'exploitation hôte 11. Lors de cette exécution, le programme de contrôle de la machine virtuelle 15 forme et contrôle les systèmes d'exploitation invités (GOS) 16, 17,... et 19, du premier au nième. En accord avec chaque système d'exploitation invité, le mode système d'exploitation en machine virtuelle exécute d'autres travaux parmi les travaux ordinaires. On supposera que le mode système d'exploitation en machine virtuelle exécute des travaux ordinaires 21 et 22 en accord avec le premier système d'exploitation invité 16 et des travaux ordinaires 23 et 24 en accord avec le second système d'exploitation invité 17. De cette façon, les travaux ordinaires 28 et 29 sont exécutés en accord avec le nième système d'exploitation invité 19. Il est possible de comprendre que le mode système d'exploitation en machine virtuelle fait -pérer les systèmes d'exploi- tation invités 16 à 19. En bref, le système de machine virtuelle peut fonctionner dans l'un, sélectionné, des modes suivants, mode machine non virtuelle d'exécution des travaux ordinaires 12 ou 13 et mode de surveillance de machine virtuelle d'exécution du programme de contrôle de machine virtuelle 15. De tels travaux ordinaires 12 et 13, ainsi que le programme de contrôle de machine virtuelle 15, sont exécutés sous le contrôle du système d'exploitation hôte 11. En variante, le système de machine virtuelle peut fonctionner en mode système d'exploitation en machine virtuelle d'opération des systèmes d'exploitation invités 16 à 19. Dans le mode système d'exploitation en machine virtuelle, les travaux ordinaires 21 à 29 sont exécutés sous le con- trôle des systèmes d'exploitation invités 16 à 19. Les travaux 12 et 13, le programme de contrôle de machine virtuelle 15, les systèmes d'exploitation invités 16 à 19 et les travaux 21 à 29 font l'objet d'une répartition lors d'une interruption reçue par l'unité centrale de traitement réelle. Pendant un temps d'arrêt court, l'interruption sera dénommée interruption du système d'exploitation hôte si elle est reçue pendant que les travaux 12 et 13 sont en cours d'exécution en mode machine non virtuelle et pendant que le programme de contrôle de machine virtuelle 15 est en cours d'exécution en mode surveil- lance de machine virtuelle. L'interruption sera dénommée interruption primaire du système d'exploi- tation en machine virtuelle si elle est reçue pendant que les systèmes d'exploitaion invités 16 à 19 opèrent. L'interruption sera dénommée interruption secondaire du système d'exploitation en machine virtuelle si elle est reçue pendant que les travaux 21 à 29 sont exécutés en mode système d'exploitation en machine virtuelle. On se réfère coLiectivement aux interrup- tions primaires et secondaires du système d'exploi- tation en machine virtuelle comme à une interruption du système d'exploitation en machine virtuelle. En se reportant à la figure 2 en plus de la figure 1, une mémoire du système de machine virtuelle comporte une division 31 pour système d'exploitation hôte (HOS) qui, à son tour, comporte des sections travaux 32 et 33 pour les travaux ordinaires 12 et 13 et une section 35 programme de contrôle de machine virtuelle (VMCP) pour le programme de contrôle de machine virtuelle 15. Les divisions 36, 37,... et 39 allant de la première à la nième division du système d'exploitation invité (GOS) sont pour les systèmes d'exploitation 16 à 19 allant du premier au nième système d'exploitation et comportent des sections travaux 41, 42, 43, 44,. , 48 et 49 pour les travaux..DTD: ordinaires 21 à 29 et des sections de données chrono- métriques 51, 52,..., et 54, allant de la première à la nième section, pour les section travaux 41 et 49 des divisions respectives 36 à 39 pour le système d'exploitation invité. La division 31 pour le système d'exploitation hôte comporte une section 51 pour données chronomé- triques relatives au système d'exploitation hôte pour les sections travaux 32 et 33 et pour la section 35 pour le programme de contrôle de machine virtuelle. La section 35 pour le programme de contrôle de machine virtuelle comporte un bloc programme de contrôle (non représenté) et des blocs de contrôle de processeur (VPCB) 56, 57,... et 59, allant du premier au nième bloc de contrôle pour contrôler les divisions 36 à 39 pour systèmes d'exploitation invités, allant de la première à la nième division. D'un autre côté, les divisions 36 à 39 pour systèmes d'exploitation invités comportent de mémoires de sauvagarde 61, 62,... et 64 allant de la première à la nième mémoire de sauvegarde. La division 31 pour le système d'exploitation hôte comporte une mémoire de sauvegarde hôte 65. La mémoire de sauvegarde hôte 65 et les mémoires de sauvegarde 61 à 64, allant de la première à la nième mémoire de sauvegarde, servent collecti- vement de section de sauvegarde. De la façon indiquée par une ligne courbe pré- sentant des têtes de flèche aux deux extrémités, la section 55 de données chronométriques du système d'exploitation hôte présente un bloc de données chronométriques pour conserver les données chronomé- triques de la progression de la section travaux 32, et, par conséquent, de l'exécution du travail ordinaire 12. Ceci s'applique à la section 35 de programme de contrôle de machine virtuelle et de même aux sections 51 à 54 de données chronométriques, allant de la première à la nième section. De façon connue de l'homme de l'art, une interrup- tion peut être reçue pendant que l'un des travaux ordinaires 12 et 13 est en cours d'exécution en mode machine non virtuelle. Lors de la réception de l'inter- ruption en tant qu'interruption du système d'exploi- tation hôte, l'information qui la concerne est sauvegardée dans la mémoire de sauvegarde hôte 65. L'interruption peut également être reçue en tant qu'interruption du système d'exploitation hôte pendant que le programme de contrôle machine virtuelle 15 est en cours d'exécution en mode surveillance de machine virtuelle. L'information concernant cette dernière interruption est sauvegardée dans celui des blocs de contrôle de processeur virtuel 56 à 59 qui est indiqué par le bloc de programme de contrôle de la section 35 du programme de contrôle de machine virtuelle. Dans l'un et l'a tre cas, la division 31 du système d'exploitation hôte est informée de la survenance de l'interruption de la façon que l'on va expliquer ci-desous à titre d'exemple. De façon connue, une interruption peut être reçue en tant qu'interruption principale du système d'exploitation de machine virtuelle pendant que l'un des systèmes d'exploitation invités 16 à 19 est en cours d'exécution en mode système d'exploitation en machine virtuelle. L'information concernant cette interruption est sauvegardée dans les blocs de contrôle de processeur virtuel 56 à 59 en accord avec l'indi- cation fournie par le bloc de programme de contrôle. De cette façon, la section 35 de contrôle de machine virtuelle de la division 31 du système d'exploitation hôte est informée de la survenance de l'interruption primaire du système d'exploitation en machine virtuelle. Alternativement, une interruption peut être reçue en tant qu'interruption secondaire du système d'exploi- tation en machine virtuelle pendant que l'un des travaux ordinaires 21 à 29 est en cours d'exécution en mode système d'exploitation en machine virtuelle. L'information concernant l'interruption secondaire du système d'exploitation en machine virtuelle est sauvegardée dans les mémoires de sauvegarde 61 à 64 en accord avec l'indication fournie par le bloc de programme de contrôle. De la façon que l'on va expliquer plus loin à titre d'exemple, la survenance de l'inter- ruption secondaire du système d'exploitation en machine virtuelle fait l'objet d'un compte-rendu à l'une des divisions 36 à 39 des systèmes d'exploitation invités et par conséquent à celui des systèmes d'exploitation invités 16 à 19 qui est indiqué par le bloc de programme de contrôle comme système d'exploitation intéressé. L'homme de l'art sait que le système d'exploitation intéressé juge de la question de savoir si, oui ou non, le système d'explcitation intéressé peut traiter l'interruption secondaire du système d'exploitation en machine virtuelle. Si ce traitement est possible, le système d'exploitation intéressé traite l'interrup- tion en question. Si ce traitement est impossible, le système d'exploitation intéressé rend compte de la survenance de l'interruption en question à la section du programme de contrôle de machine virtuelledu système d'exploitation hôte 11. De la façon que l'on va maintenant illustrer, l'unité centrale de traitement réelle comporte une pluralité de registres chronométriques. Dans un contrô- leur conventionnel à registres chronométriques, un seul des registres chronométriques sert à allouer du temps de processeur à l'un des sytèmes d'exploi- tation invités 16 à 19 en réponse à l'interruption primaire du système d'exploitation en machine virtuelle, et également à allouer du temps de processeur à l'un des travaux ordinaires 21 à 29 en réponse à l'interrup- tion secondaire du système d'exploitation en machine virtuelle. Il a donc été nécessaire de définir un compte chronométrique dans le registre chronométrique unique pour permettre d'effectuer une comparaison entre une première donnée chronométrique assignée à l'un des systèmes d'exploitation invités 36 à 39 et une seconde donnée chronométrique assignée à l'une des sections travaux 41 à 49 et de déterminer quelle est la plus petite de la première et de la seconde données chronométriques qui sont dans l'unique registre chronométrique. Ceci est compliqué et se traduit par une dépense déraisonnablement augmentée. En se reportant maintenant à la figure 3 ainsi qu'aux figures 1 et 2, l'unité centrale de traitement réelle comporte un contrôleur à registres chronomé- triques 66 conforme à une réalisation préférée de cette invention en plus d'une partie arithmétique 67 et d'une partie 68 qui fournit l'instruction. De façon connue de l'homme de l'art, la partie arithmé- tique 67 comporte une unité arithmétique qui est représentée symboliquement. La partie 68 qui fournit l'instruction comporte un compteur de séquence d'instruction (IC) 71 pour un compte de séquence d'instruction, un registre d'usage général de calcul d'adresse GR 76 contenant un premier contenu indicatif d'une donnée d'adresse logique, et un registre d'usage générale de translation d'adresse GR 77 contenant un second contenu indicatif d'une adresse réelle à laquelle est mémorisée une table de translation d'adresse (non représentée). De la façon que l'on va facilement comprendre à partir de la figure 3, le compteur de séquence d'instruction 71 est accompagné d'un sélecteur d'entrée de compteur par l'intermédiaire duquel le compte de séquence d'instruction est habi- tuellement compté, par valeur croissante, de la façon connue. Le contrôleur 66 à registres chronométriques comporte un premier et un second registres chronomé- triques A et B 81 et 82 accompagnés par un premier et un second sélecteurs d'entrée. A partir de la description relative au contrôleur conventionnel à registres chronométriques, on comprendra qu'il faut porter son attention sur l'interruption qu'occasionnent le premier et le second registres chronométriques 81 et 82. Selon cette invention, seul le second registre chronométrique 82 est contrôlé pour ne pouvoir fonctionner ni en mode machine non virtuelle,ni en mode surveillance de machine virtuelle,mais uniquement en mode système d'exploitation en machine virtuelle. Dans ce but, un registre de mode 83 sert à conserver une donnée de mode de a façon que l'on va brièvement donner à titre d'exemple. Un circuit d'échantillonnage 84, sensible à la donnée de mode, produit un signal d'échantillonnage qui contrôle le second registre chronométrique 82 parmi les autres. De la façon décrite dans la demande de brevet des Etats-Unis No. de série: 908 269 auquel on se réfère ci-dessus, le registre de mode 83 peut comporter une première et une seconde mémoires de un bit qui sont placées à gauche et à droite de la figure et dans lesquelles un premier et un second bits binaires sont définis collectivement comme donnée de mode pour un bloc de mémoire de mode (non représenté) de la division 31 du système d'exploitation hôte. Dans ce cas, le circuit d'échantillonnage 84 est de préférence une porte ET à deux entrées pour laquelle les bits binaires représentent les niveaux logiques un et/ou zéro. Le signal d'échantillonnage a soit le niveau logique un, soit le niveau logique zéro. Supposons que le mode machine non virtuelle soit indiqué soit par (0, 0) ou par (0, 1). Le mode surveil- lance de machine virtuelle est indiqué par (1, 0) et le mode système d'exploitation en machine virtuelle par (1, 1). Selon les circonstances, le signal d'échan- tillonnage a le niveau logique zéro à la fois en mode machine non virtuelle et en mode surveillance de machine virtuelle. Ce n'est qu'en mode système d'exploitation en machine virtuelle que le signal d'échantillonnage a le niveau logique un. Signalons en passant que le premier bit de la donnée de mode sert comme signal de porte qui n'a le niveau logique zéro qu'en mode machine non virtuelle et le niveau logique un soit en mode surveillance de machine vir- tuelle soit en mode système d'exploitation en machine virtuelle. N'étant pas contrôlé par le signal d'échantillon- nage, le premier registre chronométrique 81 peut fonctionner dans tous les modes, mode machine non virtuelle, mode surveillance de machine virtuelle, et mode système d'exploitation en machine virtuelle. A moins qu'un premier signal de sélection ne soit envoyé au premier sélecteur d'entrée de la façon que l'on va décrire maintenant, le premier registre chrono- métrique 81 décompte, par valeur décroissante, par l'intermédiaire du premier sélecteur d'entrée, un premier compte chronométrique, ou compte A, à la cadence d'horloge de la machine. De cette façon le premier registre chronométrique 81 est habituellement actualisé à la cadence d'horloge de la machine. Ce n'est qu'en mode système d'exploitation en machine virtuelle que le second registre chronométrique 82 décompte, par valeur décroissante, par l'intermédiaire du second sélecteur d'entrée, un second compte chrono- métrique, ou compte B, à la cadence d'horloge de la machine, à moins qu'un second signal de sélection ne soit envoyé au second sélecteur d'entrée. Que ce soit en mode machine non virtuelle ou en mode surveil- lance de machine virtuelle, le second compte chrono- métrique n'est pas décompté. Un premier comparateur 86 est prévu pour comparer le premier compte chronométrique avec une première valeur ou compte prédéterminé pour donner un signal de déclenchement du registre chronométrique A en tant que premier signal d'interruption chaque fois que le compte du premier registre chronométrique est décompté jusqu'à la première valeur prédéterminée. De même, un second comparateur 87 est prévu pour donner un signal de déclenchement du registre chronométrique B en tant que second signal d'interruption chaque fois que le compte du second registre chronométrique est décompté jusqu'à ure seconde valeur prédéterminée. Typiquement, chacune, de la première et de la seconde valeur prédéterminée, est donnée par des zéros binaires partout. Les signaux de déclenchement des registres chrono- métriques A et B sont utilisés dans un circuit 88 de réception d'interruption pour activer un premier et un second indicateurs de réception d'interruption A et B qui ne sont représentés ici et dans le circuit 88 de réception d'interruption que par deux lignes horizontales parallèles vers le haut et vers le bas de la figure. Le premier indicateur de réception d'interruption indique la survenance de soit l'inter- ruption, mentionnée ci-dessus, du système d'exploi- tation hôte, soit l'interruption primaire, décrite ci-dessus, du système d'exploitation en machine virtuelle. Le second indicateur de réception d'inter- ruption indique la survenance de l'interruption secondaire, mentionnée ci-dessus, du système d'exploi- tation en machine virtuelle. Il est maintenant possible de résumer en disant que le circuit de réception d'interruption 88 est couplé au premier et au second registres chronométriques 81 et 82 et ne reçoit une première interruption en tant que première interruption reçue que si le premier registre chronométrique 81 est actualisé à la première valeur prédéterminée. Le circuit 88 de réception d'interruption ne reçoit une seconde interruption en tant que seconde interruption reçue que si le second registre chronométrique 82 est actualisé à la seconde 16 2611285 valeur prédéterminée durant le mode système opératoire en machine virtuelle seul. Sur la figure 3, la première à la cinquième portes A 91, 92, 93, 94 et 95, la première à la troisième portes B I6, 97 et 98 et une porte d'entrée 99sont interposées entre l'untié certrale de traitement réelle et la mémoire représentée en référence sur la figure 2. Chacune des portes 91 à 99 peut être une porte ET à deux entrées. Une combinaison de la seconde à la cinquième portes A 92 à 95 et de la seconde et de la troisième portes B 97 et 98 peut être dénommée une disposition de porte. Les portes 91 à 93, en allant de la première à la troisième, sont ouvertes par le premier indicateur de réception d'interruption. La quatrième porte A 94 est ouverte par un signal inverse du signal d'échantillonnage fourni par un inverseur 100, et de façon plus précise soit en mode machine non virtuelle soit en mode surveillance de machine virtuelle. La cinquième porte A 95 est ouverte par le signal d'échantillonnage, et de façon plus précise uniquement en mode système d'exploitation en machine virtuelle. La première et la seconde portes B 96 et 97 sont ouvertes par le second indicateur de réception d'inter- ruption. La troisième porte B 98 est ouverte par le signal d'échantillonnage et, de façon plus précise, uniquement en mode système d'exploitation en machine virtuelle. La porte d'entrée 99 est ouverte par le signal de porte, et de façon plus précise soit en mode surveillance de machine virtuelle soit en mode système d'exploitation en machine virtuelle. Le premier indicateur de réception d'interruption est envoyé au premier sélecteur d'entrée en tant que premier signal de sélection mentionné ci-dessus. Le second indicateur de réception d'interruption est envoyé au second sélecteur d'entrée en tant que second signal de sélection décrit cidessus. Le premier et le second détecteurs de réception d'interruption sont envoyés au sélecteur d'entrée de compteur en tant que signal de sélection de compteur. Lorsque le premier détecteur de réception d'inter- ruption est activé dans le circuit 88 de réception d'interruption, le sélecteur d'entrée de compteur reçoit le signal de sélection de compteur. Dans ce cas, le compteur 71 de séquence d'instruction reçoit, en tant que compte de séquence d'instruction récent, par la première porte A 91 et par le sélecteur d'entrée de compteur, un compte de séquence d'instruction IC provenant de la division 31 du système d'exploitation hôte. Si le second indicateur de réception d'inter- ruption est activé, le sélecteur d'entrée de compteur reçoit également le signal de sélection de compteur. Le compteur de séquence d'instruction 71 reçoit alors, en tant que nouveau compte de séquence d'instruction par l'intermédiaire de la première porte B 96 et et du sélecteur d'entrée de compteur, un compte de séquence d'instruction IC provenant de l'une, de la première à la nième, des divisions 36 à 39 du système d'exploitation invité, qui est indiquée par le bloc de programme de contrôle de la section 35 du programme de contrôle de machine virtuelle. Si le premier indicateur de réception d'inter- ruption est activé en mode machine non virtuelle, le premier registre chronométrique 81 reçoit, en tant que premier compte chronométrique récent, par l'inter- médiaire du premier sélecteur d'entrée, une donnée chronométrique provenant de l'un des blocs de données chronométriques de la section 55 de données chronomé- triques du système d'exploitation hôte. Si le premier indicateur- de réception d'interruption est activé soit en mode surveillance de machine virtuelle, soit en mode système d'exploitation en machine virtuelle, le premier registre chronométrique 81 reçoit, en tant que nouveau premier compte chronométrique, par l'inter- médiaire de la porte d'entrée 99 et du premier sélecteur d'entrée, une don7 e chronométrique provenant de l'un, du premier aunième, des blocs 56 à 59 de contrôle du processeur virtuel en accord avec l'indication fournie par le bloc de programme de contrôle de la section 35 du programme de contrôle de machine vir- tuelle. Le premier registre chronométrique 81 est géré de cette façon par la division 31 du système d'exploitation hôte et par conséquent par le système d'exploitation hôte 11 dans n'importe lequel du mode machine non virtuelle, du mode surveillance de machine virtuelle et du mode système d'exploitation en machine virtuelle. Si le second indicateur de réception d'inter- ruption est activé en mode système d'exploitation en machine virtuelle, le second registre chronométrique 82 reçoit, en tant que nouveau second compte chrono- métrique, par l'intermédiaire du second sélecteur d'entrée, une donnée chronométrique provenant de l'un des blocs de données chronométriques de la première à la nième sections 51 à 54 de données chronométriques sous le contrôle de l'indication fournie par le bloc de programme de contrôle de la section 35 de programme de contrôle de machine virtuelle. De cette façon, le second registre chronométrique 82 est géré par les divisions 36 à 39 du système d'exploitation invité et par conséquent par les systèmes d'exploitation invités 16 à 19 en mode système d'exploitation en machine virtuelle. Si le premier indicateur de réception d'interrup- tion est activé soit en mode machine non virtuelle, soit en mode surveillance cde machine virtuelle, le contenu du registre d'usage général 76 de calcul d'adresse est fourni, par l'intermédiaire de la seconde et de la quatrième portes A 92 et 94, à la mémoire de sauvegarde hôte 65. Si le premier indicateur de réception d'interrupticl est activé en mode système d'exploitation en mémoire virtuelle, le contenu du registre d'usage général 76 de calcul d'adresse est fourni, par l'intermédiaire de la cinquième et de la troisième portes A 95 et 93, à l'un, du premier au nième,desblocs 56 à 59 de contrôle de processeur virtuel en accord avec l'indication fournie par le bloc de programme de contrôle de la section 35 de programme de contrôle de machine virtuelle. En outre, le contenu du registre d'usage général 77 de trans- lation d'adresse est envoyée, par l'intermédiaire de la troisième porte A 93, aux blocs 56 à 59 de contrôle de processeur virtuel, du premier au nième, en accord avec l'indication fournie par le bloc de programme de contrôle. De cette façon, la disposition de porte vérifie ou confirme le mode d'opération du système de machine virtuelleense référant au registre de mode 83 soit par l'inverse du signal d'échan- tillonnage, soit par le signal d'échantillonange. Lorsque le système de machine virtuelle opère soit en mode machine non virtuelle, soit en mode surveillance de machine virtelle, la disposition de porte informe la mémoire de sauvegarde hôte 65 de la survenance de l'interruption, décrite ci-dessus, du système d'exploitation hôte. Lorsque le système de machine virtuelle opère en mode système d'exploitation en machine virtuelle, la disposition de porte informe la section 35 de programme de contrôle de machine virtuelle de la survenance de l'interruption primaire, mentionnée ci-dessus, du système d'exploitation en 2611285 machine virtuelle. On se réfère alors collectivement à l'interruption du système d'exploitation hôte et à l'interruption principale du système d'exploitation en machine virtuelle comme à la première interruption. La mémoire de sauvegarde hôte 65 et la section 35 de programme de contrôle ée machine virtuelle sont des parties qui constituent la division 31 du système d'exploitation hôte. En conséquence, on comprend que la disposition de porte informe la division 31 du système d'exploitation hôte et donc le système d'exploitation hôte 11 de la survenance de la première interruption. Si le second indicateur de réception d'inter- ruption est activé en mode système d'exploitation en machine virtuelle, le contenu du registre d'usage général 76 du calcul d'adresse est envoyé, par l'inter- médiaire de la seconde et de la troisième portes B 97 et 98, à l'une, de la première à la nième, desmémoires de sauvegarde 61 à 64 qui est indiquée par le bloc de programme de contrôle de la section 35 du programme de contrôle de machine virtuelle. En vérifiant au moyen du signal d'échantillonnage le mode sytème d'exploitation en machine virtuelle dans lequel le système de machine virtuelle opère actuellement, la disposition de porte informe les divisions 36 à 39 du système d'exploitation invité, de la première à la nième, de la survenance de l'interruption secondaire du système d'exploitation en machine virtuelle, interruption que l'on appelle maintenant la seconde interruption. On comprendpar conséquent que la dispo- sition de porte rend compte de la seconde interruption à celui, du premier au nième, des systèmes d'exploi- tation invités 16 à 19 qui est indiqué comme système d'exploitation intéressé par le bloc de programme de contrôle de la section 35 de programme de contrôle 21 2611285 de machine virtuelle. De la façon décrite précédemment, le système d'exploitation concerné traite la seconde interruption si possible et, à son tour informe le système d'exploitation hôte 11 de la survenance de la seconde interruptio- s'il lui est impossible de traiter l'interruption n question. En se reportant finalement à la figure 4, le fonctionnement du contrôleur à registres chronométriques 66 est représenté sous forme d'un ordinogramme sim- plifié. Le fonctionnement s'explique de lui-même à partir de ce qui a été dit ci-dessus. On se rend compte maintenant de ce que le contrôleur à registres chronométriques 66 peut fonctioner de façon simple lors de l'allocation de temps de processeur aux systèmes d'exploitation invités 16 à 19, du premier au nième, ainsi que lors de cette allocation aux travaux ordinaires 21 à 29 lorsque les systèmes d'exploitation invités 16 à 19 opèrent. Il est ainsi possible de réduire de façon inespérée les dépenses. Bien que cette invention ait été jusqu'ici décrite en liaison spécifique avec une seule de ses réalisa- tions préférées, il est maintenant facilement possible à l'homme de l'art de mettre cette invention en vigueur de différentes autres façons. Par exemple, il est possible de modifier soit la donnée du mode soit une combinaison du registre de mode 83 et du circuit d'échantillonnage 84 en considération des modes dans lesquels le système de machine virtuelle peut fonctionner. Il est en outre possible de comprendre que le système de machine virtuelle comprend séparément la combinaison du registre de mode 83 et du circuit d'échantillonnage 84 d'une part et du contrôleur à registres chronométriques 66 d'autre part. 22 2611285 *2 2 REVENDICATIONS 1. Contrôleur à registres chronométriques prévu p cur emploi dans un système de machine virtuelle qui comporte une unité centrale de traitement réelle et qui peut fonctionner en mode machine non virtuelle d'exécution d'un travail crdinaire en accord avec un système d'exploitation hôte (11) qui opère sur ladite unité centrale de traitement réelle, en un mode surveillance de machine virtuelle d'exécution d'un programme de contrôle de machine virtuelle en accord avec ledit système d'exploitation hôte (11) pour former et contrôler une pluralité de systèmes d'exploitation invités (16, 17,... 19), et en un mode système d'exploitation en machine virtuelle d'opération desdits systèmes d'exploitation invités (16, 17,... 19); ledit contrôleur (66) à registres chronométriques contenant un registre de mode (83) qui indique si ledit système de machine virtuelle opère en l'un desdists modes suivants, ledit mode machine non virtuelle, ledit mode surveillance de machine virtuelle, et ledit mode système d'exploitation en machine virtuelle, contrôleur caractérisé en ce que l'amélioration comporte; un premier registre chronométrique (81) couplé audit registre de mode et actualisé lorsque ledit registre de mode (83) indique l'un quelconque dudit mode machine non virtuelle, dudit mode surveillance de machine virtuelle, et dudit mode système d'exploi- tation en machine virtuelle; un second registre chronométrique (82) couplé audit registre de mode (83) et actualisé lorsque ledit registre de mode (83) n'indique ni ledit mode machine non virtuelle, ni ledit mode surveillance de machine virtuelle, mais uniquement ledit mode système d'exploi- tation en machine virtuelle; 23 2611285 un circuit (88) de réception d'interruption qui est couplé audit premier (81) et -audit second (82) registres chronométriques, qui ne reçoit une première interruption en tant que première interruption reçue que si ledit premier registre chronométrique (81) est actualisé à une remière valeur prédéterminée, et qui ne reçoit une seconde interruption en tant que seconde interruption reçue que si ledit second registre chronométrique (82) est actualisé à une seconde valeur prédéterminée; et des moyens d'information (A, B) couplés audit circuit (88) de réception d'interruption pour informer ledit système d'exploitation hôte (11) de ladite première interruption reçue et lesdits systèmes d'exploitation invités (16, 17,... 19) de ladite seconde interruption reçue. 2. Contrôleur à registres chronométriques selon la revendication 1, caractérisé en ce que lesdits moyens d'information (A, B) sont en outre couplés audit registre de mode (81) pour informer ledit système d'exploitation hôte (11) de ladite première interruption reçue lorsque ledit registre de mode (81) indique l'un des deux, dudit mode machine nonvirtuelle et dudit mode surveillance de machine virtuelle, lesdits moyens d'information (A, B) informant ledit programme de contrôle de machine virtuelle de ladite première interruption reçue lorsque ledit registre de mode (81) indique ledit mode système d'exploitation en machine virtuelle. 3. Contrôleur à registres chronométriques selon la revendication 2, caractérisé en ce que ledit premier registre chronométrique (81) est géré par ledit système d'exploitation hôte (11) en n'importe lequel dudit mode machine non-virtuelle, dudit mode survaillance de machine virtuelle et dudit mode système d'exploita- 24 2 6 11285 tion en machine virtuelle, ledit second registre chronométrique (82) étant géré par lesdits systèmes d'exploitation invités (16, 17,... 19) dans ledit mode système d'exploitation en machine virtuelle uniquement.