FR2617622A1 - Monitoring device for a virtual machine system - Google Patents
Monitoring device for a virtual machine system Download PDFInfo
- Publication number
- FR2617622A1 FR2617622A1 FR8809009A FR8809009A FR2617622A1 FR 2617622 A1 FR2617622 A1 FR 2617622A1 FR 8809009 A FR8809009 A FR 8809009A FR 8809009 A FR8809009 A FR 8809009A FR 2617622 A1 FR2617622 A1 FR 2617622A1
- Authority
- FR
- France
- Prior art keywords
- machine
- address
- instruction
- mode
- memory
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
Abstract
Description
DISPOSITIF DE CONTROLE POUR SYSTEME DE
MACHINE VIRTUELLE
La présente invention concerne un dispositif pour contrôler un système de machine virtuelle et, plus précisément, celle-ci concerne l'opération de contrôle de commutation effectué au début d'une instruction machine lorsqu'un calculateur fonctionne en mode de machine virtuelle.MONITORING DEVICE FOR
VIRTUAL MACHINE
The present invention relates to a device for controlling a virtual machine system and, more specifically, this relates to the switching control operation carried out at the start of a machine instruction when a computer is operating in virtual machine mode.
Au cours des dernières années, comme le domaine d'application des calculateurs numériques s'est considérablement élargi, des espaces mémoire de plus en plus importants sont devenus nécessaires, et le système de stockage virtuel dans lequel l'espace mémoire peut être étendu quelle que soit la taille de la mémoire centrale réelle, a été utilisé. En outre, en tant qu'extension au système de stockage virtuel, un système de machine virtuelle qui utilise une machine réelle unique en tant que pluralité de machines apparentes, a été développé. In recent years, as the field of application of digital computers has grown considerably, more and more memory spaces have become necessary, and the virtual storage system in which the memory space can be extended whatever or the size of the real central memory, was used. Furthermore, as an extension to the virtual storage system, a virtual machine system which uses a single real machine as a plurality of apparent machines has been developed.
Dans le système de machine virtuelle, une pluralité de systèmes d'exploitation peuvent fonctionner sur une machine réelle ou machine nue unique de façon apparemment simultanée de manière à ce que toutes les ressources matérielles, y compris non seulement la mémoire centrale et les dispositifs d'entrée/sortie, mais également une unité centrale de traitement peuvent être utilisées en commun par plusieurs utilisateurs. Il est ainsi possible de mettre au point ou de tester un système en cours de développement sans interrompre le service en cours fourni par le système pendant qu'il fonctionne, améliorant ainsi l'efficacité d'utilisation des ressources matérielles et diminuant les coûts du matériel réel. Par conséquent, le système de machine virtuelle fait l'objet d'un intérêt croissant. In the virtual machine system, a plurality of operating systems can operate on a single real machine or bare machine in an apparently simultaneous manner so that all hardware resources, including not only main memory and devices. input / output, but also a central processing unit can be used in common by several users. It is thus possible to perfect or test a system under development without interrupting the current service provided by the system while it is running, thus improving the efficiency of use of material resources and reducing hardware costs. real. Therefore, the virtual machine system is the subject of increasing interest.
Dans un dispositif de traitement des données comportant un système de machine virtuelle de ce type, lorsque le processeur est en mode machine virtuelle (désigné ci-après mode MV) dans lequel certaines instructions de contrôle telles qu'une instruction de contrôle d'entrée/sortie, et une instruction de contrôle du système, sont exécutées dans la machine virtuelle, une certaine opération est nécessaire pour établir un lien entre une ressource virtuelle et une ressource réelle.A cet effet, une simulation logicielle ou une émulation matérielle, appelée fonction d'assistance, est en mode MV, le processeur doit satisfaire c des exigences de fonctionnement (par exemple pour permettre un contrôle par le logiciel effectuant la simulation) différentes de celle que l'on observe en mode machine réele (que l'on désignera ci-après "mode MR") dans lequel les instructions sont exécutées sur la machine réelle. In a data processing device comprising a virtual machine system of this type, when the processor is in virtual machine mode (hereinafter referred to as MV mode) in which certain control instructions such as an input control instruction / output, and a system control instruction, are executed in the virtual machine, a certain operation is necessary to establish a link between a virtual resource and a real resource. For this purpose, a software simulation or a hardware emulation, called function d assistance, is in MV mode, the processor must satisfy c operating requirements (for example to allow control by the software performing the simulation) different from that observed in real machine mode (which will be designated here -after "MR mode") in which the instructions are executed on the real machine.
Pour contrôler le système de machine virtuelle, on distingue si le processeur est placé en mode MB ou MV pendant la séquence logicielle câblée de l'instruction machine correspondante, et on fait passer le processeur en mode de fonctionnement discriminé. To control the virtual machine system, a distinction is made whether the processor is placed in MB or MV mode during the wired software sequence from the corresponding machine instruction, and the processor is put into discriminated operating mode.
Dans de nombreux dispositifs de traitement des données, pour exécuter des instructions machine par logiciel câblé, un cycle machine plus proche d'un début d'instructions machine doit traiter un plus grand nombre de conditions de discriminations. In many data processing devices, to execute machine instructions by hardwired software, a machine cycle closer to the start of machine instructions must deal with a greater number of discrimination conditions.
Par conséquent, l'insertion d'un système logique de discrimination de mode dégrade les performances du processeur, même lorsque celui-ci se trouve dans le mode de fonctionnement correspondant aux spécifications en cours.Consequently, the insertion of a logical mode discrimination system degrades the performance of the processor, even when the latter is in the operating mode corresponding to the current specifications.
La présente invention a pour but de fournir un dispositif pour contrôler un système de machine virtuelle qui ne présente pas les inconvénients de la technique classique décrite ci-dessus. The object of the present invention is to provide a device for controlling a virtual machine system which does not have the drawbacks of the conventional technique described above.
Un dispositif pour contrôler un système de machine virtuelle dans lequel une pluralité de systèmes d'exploitation fonctionnent sur une machine réelle unique conformément à la présente invention, comprend : un registre pour stocker une première information utilisée pour distinguer si une instruction machine est exécutée par la machine unique en mode machine réelle ou en mode machine virtuelle; une mémoire de contrôle pour stocker un microprogramme définissant les opérations effectuées par diverses instructions machine en mode machine réelle et en mode machine virtuelle ; une mémoire de décodage d'instruction pour stocker une adresse de départ du microprogramme dans la mémoire de contrôle et une seconde information utilisée pour désigner la commutation de fonctionnement pour chaque instruction machine ; et un moyen pour modifier l'adresse de départ du microprogramme, fournie par la mémoire de décodage d'instruction, sur la base de la première et de la seconde informations et fournissant en sortie l'adresse de départ modifiée en tant qu'edresse de la mémoire de contrôle ;
le dessin annexé est un schéma fonctionnel d'un mode de réalisation de la présente invention.A device for controlling a virtual machine system in which a plurality of operating systems operate on a single real machine in accordance with the present invention, comprises: a register for storing first information used to distinguish whether a machine instruction is executed by the single machine in real machine mode or in virtual machine mode; a control memory for storing a firmware defining the operations performed by various machine instructions in real machine mode and in virtual machine mode; an instruction decoding memory for storing a starting address of the firmware in the control memory and a second piece of information used to designate the operation switching for each machine instruction; and means for modifying the starting address of the firmware, provided by the instruction decoding memory, on the basis of the first and second information and outputting the modified starting address as the address of the control memory;
the accompanying drawing is a block diagram of an embodiment of the present invention.
Se référant aux dessins, un registre d'instruction machine 1 stocke une instruction machine devant être exécutée qui est fournie par une mémoire centrale (non représentée). Une borne de sortie 2 du registre d'instruction machine 1, destinée à fournir un code OPCO, est connectée à une borne d'entrée 3C d'une mémoire de décodage d'instruction (qui sera désignée ci-après MDI3). La MDI3 stocke des informations de contrôle et, plus précisément, les adresses de départ de microprogrammes contenues dans la mémoire de contrôle 11 (qui sera décrite plus loin), définissant les opérations exécutées par les diverses instructions machine et des informations de contrôle permettant de désigner la commutation de fonctionnement pour chaque instruction machine. Ces informations de contrôle sont nécessaires pour exécuter diverses instructions machine. Referring to the drawings, a machine instruction register 1 stores a machine instruction to be executed which is supplied by a central memory (not shown). An output terminal 2 of the machine instruction register 1, intended to supply an OPCO code, is connected to an input terminal 3C of an instruction decoding memory (which will be designated below MDI3). The MDI3 stores control information and, more precisely, the starting addresses of firmware contained in the control memory 11 (which will be described later), defining the operations executed by the various machine instructions and control information making it possible to designate operation switching for each machine instruction. This control information is necessary to execute various machine instructions.
Une borne 3A de la MDI3, destinée à fournir en sortie un signal désignant une adresse de départ en langage machine dans la mémoire de contrôle 11, est connectée à une borne d'entrée 5A d'un circuit de modification d'adresse 5. Une borne 3B de la MDI3, destinée à fournir en sortie un signal de commande désignant la commutation de fonctionnement en langage machine, est connectée à une borne d'entrée d'une porte ET 6. L'autre borne d'entrée de la porte ET 6 est connectée à la borne de sortie d'un registre de mode d'exécution 4. A terminal 3A of the MDI3, intended to output a signal designating a starting address in machine language in the control memory 11, is connected to an input terminal 5A of an address modification circuit 5. A terminal 3B of the MDI3, intended to provide as an output a control signal designating the operation switching in machine language, is connected to an input terminal of an AND gate 6. The other input terminal of the AND gate 6 is connected to the output terminal of an execution mode register 4.
Le registre de mode d'exécution 4 stocke une information indiquant si le processeur est actuellement placé en mode machine réelle ou en mode machine virtuelle. The execution mode register 4 stores information indicating whether the processor is currently placed in real machine mode or in virtual machine mode.
La borne de sortie de la porte ET 6 est connectée à une borne de contrôle 5C du circuit de modification d'adresse 5. A la réception d'un signal "1" sur la borne de contrôle 5C, le circuit de modification d'adresse 5 modifie un signal fourni à la borne d'entrée SA et produit en sortie le signal modifié sur sa borne de sortie 5B. The output terminal of AND gate 6 is connected to a control terminal 5C of the address modification circuit 5. On receipt of a signal "1" on the control terminal 5C, the address modification circuit 5 modifies a signal supplied to the input terminal SA and outputs the modified signal on its output terminal 5B.
La borne de sortie 5B du circuit de modification d'adresse 5 est connecté à une borne d'entrée d'un sélecteur 7. L'autre borne d'entrée du sélecteur 7 est connectée à une borne de sortie 14A d'un séquenceur de microprogramme 14. La borne de sortie du sélecteur 7 est connectée à une borne d'adresse 11A de la mémoire de contrôle 11 et à la borne d'entrée d'un registre d'adresse 12. La borne de sortie du registre d'adresse 12 est connectée à une borne d'entrée 14B du séquenceur de microprogramme 14. The output terminal 5B of the address modification circuit 5 is connected to an input terminal of a selector 7. The other input terminal of the selector 7 is connected to an output terminal 14A of a sequencer. firmware 14. The output terminal of the selector 7 is connected to an address terminal 11A of the control memory 11 and to the input terminal of an address register 12. The output terminal of the address register 12 is connected to an input terminal 14B of the firmware sequencer 14.
La mémoire de contrôle 11 stocke un microprogramme et fournit en sortie une commande du microprogramme, correspondant à un signal d'adresse fourni en entrée par la borne d'adresse 11A à un registre de commande 13 par l'intermédiaire d'une borne de sortie lla. Une sortie partielle 13A du registre de commande 13 est fournie en entrée à une borne d'entrée 14C du séquenceur de microprogamme 14. The control memory 11 stores a microprogram and outputs a command of the microprogram, corresponding to an address signal supplied at the input by the address terminal 11A to a command register 13 via an output terminal. lla. A partial output 13A of the control register 13 is supplied as input to an input terminal 14C of the microprogam sequencer 14.
On décrit ci-après le fonctionnement du circuit représenté dans le dessin. The operation of the circuit shown in the drawing is described below.
Se référant à ce dessin, des instructions machine d'un logiciel fonctionnant sur une machine réelle, sont recherchées dans la mémoire principale (non représentée) et séquentiellement chargées dans le registre d'instructions machine 1. Parmi les instructions machine chargées dans le registre d'instructions machine 1, le code d'instructions OPCO est fourni à la MDI 3. La MDI 3 fournit une adresse de départ du microprogramme dans la mémoire de contrôle 11, qui correspond à L'instruction machine fournie au circuit de modification d'adresse 5 et une information de contrôle permettant de désigner la commutation de fonctionnement à la porte ET 6. Referring to this drawing, machine instructions for software operating on a real machine are sought in the main memory (not shown) and sequentially loaded into the machine instruction register 1. Among the machine instructions loaded into the register d machine instructions 1, the OPCO instruction code is supplied to the MDI 3. The MDI 3 provides a starting address for the firmware in the control memory 11, which corresponds to the machine instruction supplied to the address modification circuit 5 and control information making it possible to designate the operation switching at the AND gate 6.
Une sortie de La porte ET 6 est positionnée à "1" lorsqu'une sortie du registre de mode d'exécution 4 est à "1", c'est-à-dire lorsque le processeur est en mode MV et l'information de désignation de commutation de fonctionnement provenant de la MDI 3 est à "1". An output of the AND gate 6 is positioned at "1" when an output of the execution mode register 4 is at "1", that is to say when the processor is in MV mode and the information of operation switching designation from MDI 3 is "1".
Dans le cas contraire, la sortie de la porte ET 6 est positionnée à "O". Plus précisément, lorsque Le processeur est placé en mode MV et lorsque l'infor- mation de désignation de commutation de fonctionnement -est fournie, le circuit de modification d'adresse 5 modifie partiellement une adresse de départ du microprogramme fournie par la MDI 3, et fournit l'adresse modifiée au sélecteur 7. La métode de modification n'est pas spécifiée dans ce mode de réalisation.Otherwise, the output of AND gate 6 is positioned at "O". More precisely, when the processor is placed in MV mode and when the information for operating switching designation is provided, the address modification circuit 5 partially modifies a starting address of the firmware supplied by the MDI 3, and provides the modified address to the selector 7. The modification method is not specified in this embodiment.
Comme exemples des méthodes de modification, on peut citer une méthode d inversion partielle (plusieurs bits) d'une adresse de départ de microprogramme fournie par la MDI 3 et une métode de remplacement partielle de l'adresse de départ du microprogramme par une valeur de registre définie séparément. Le sélecteur 7 sélectionne la sortie du circuit de modification d'adresse 5 à la place de la sortie du séquenceur de microprogramme 14, et les fournit à la mémoire de contrôle 11. La séquence de microprogramme définissant l'opération exécutée par l'instruction machine est ainsi amorcée.As examples of the modification methods, one can cite a method of partial inversion (several bits) of a starting address of firmware supplied by the MDI 3 and a method of partially replacing the starting address of the firmware with a value of register defined separately. The selector 7 selects the output of the address modification circuit 5 in place of the output of the firmware sequencer 14, and supplies them to the control memory 11. The firmware sequence defining the operation executed by the machine instruction is thus initiated.
Dans la mémoire de contrôle 11, le microprogramme est adressé à l'avance de façon à ce qu'une adresse de microprogramme modifiée corresponde à
L'adresse de départ d'une séquence de microprogramme correspondant à un traitement particulier, Lorsqu'une instruction machine donnée est exécutée en mode MV.In the control memory 11, the firmware is addressed in advance so that a modified firmware address corresponds to
The starting address of a firmware sequence corresponding to a particular processing, When a given machine instruction is executed in MV mode.
Le rôle principal de la séquence# de microprogramme correspondant au traitement particulier, est de permettre au logiciel de simulation de prendre le contrôle en cas de simulation par logiciel. A cet effet, la séquence de microprogramme du traitement commun peut être amorcée. Comme méthode de modification de l'adresse de départ d'un microprogramme, on préfère la méthode de remplacement par une valeur de registre définie séparément, comme décrit ci-dessus.The main role of the firmware sequence # corresponding to the particular processing, is to allow the simulation software to take control in the event of software simulation. For this purpose, the firmware sequence of the common processing can be started. As a method of modifying the starting address of a firmware, the method of replacement by a separately defined register value is preferred, as described above.
L'information de désignation de commutation de fonctionnement stockée dans la MDI 3 n'est positionnée que pour une instruction machine ayant des spécifications de fonctionnement différentes, lorsque le processeur est placé en mode MV, comme décrit précédemment. En ce qui concerne l'instruction machine, l'adresse de départ du microprogramme en mode MR diffère de celle du mode MV. Par conséquent, la logique du microprogramme peut être spécialisée et simplifiée, ce qui évite toute dégradation des performances du processeur, même lorsque celui-ci est placé dans le mode de fonctionnement des spécifications en cours. The operation switching designation information stored in the MDI 3 is only positioned for a machine instruction having different operating specifications, when the processor is placed in MV mode, as described above. Regarding the machine instruction, the starting address of the firmware in MR mode differs from that of MV mode. Consequently, the logic of the firmware can be specialized and simplified, which avoids any degradation of the performance of the processor, even when the latter is placed in the operating mode of the specifications in progress.
Claims (2)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16621187A JPS6410338A (en) | 1987-07-02 | 1987-07-02 | Virtual computer controller |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2617622A1 true FR2617622A1 (en) | 1989-01-06 |
FR2617622B1 FR2617622B1 (en) | 1994-07-08 |
Family
ID=15827161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8809009A Expired - Fee Related FR2617622B1 (en) | 1987-07-02 | 1988-07-04 | CONTROL DEVICE FOR VIRTUAL MACHINE SYSTEM |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPS6410338A (en) |
FR (1) | FR2617622B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE680827A (en) * | 1965-05-10 | 1966-10-17 | ||
US3344404A (en) * | 1964-09-10 | 1967-09-26 | Honeywell Inc | Multiple mode data processing system controlled by information bits or special characters |
EP0137191A2 (en) * | 1983-09-08 | 1985-04-17 | Hitachi, Ltd. | Virtual machine system controller |
FR2587519A1 (en) * | 1985-09-18 | 1987-03-20 | Nec Corp | Mode-changing arrangement making it possible to selectively change operating modes of a virtual machine system |
-
1987
- 1987-07-02 JP JP16621187A patent/JPS6410338A/en active Pending
-
1988
- 1988-07-04 FR FR8809009A patent/FR2617622B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3344404A (en) * | 1964-09-10 | 1967-09-26 | Honeywell Inc | Multiple mode data processing system controlled by information bits or special characters |
BE680827A (en) * | 1965-05-10 | 1966-10-17 | ||
EP0137191A2 (en) * | 1983-09-08 | 1985-04-17 | Hitachi, Ltd. | Virtual machine system controller |
FR2587519A1 (en) * | 1985-09-18 | 1987-03-20 | Nec Corp | Mode-changing arrangement making it possible to selectively change operating modes of a virtual machine system |
Non-Patent Citations (1)
Title |
---|
IBM TECHNICAL DISCLOSURE BULLETIN, vol. 14, no. 7, décembre 1971, page 2109, New York, US; J.R. BROWN et al.: "Conditionally executable instructions" * |
Also Published As
Publication number | Publication date |
---|---|
JPS6410338A (en) | 1989-01-13 |
FR2617622B1 (en) | 1994-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7297769B2 (en) | Shader distribution among client machines for pre-caching | |
US9733927B2 (en) | Detection of software or hardware incompatibilities in software packages | |
FR2793053A1 (en) | SYSTEM AND METHOD FOR IDENTIFYING AND ACCESSING ONLINE SERVICES | |
FR2755775A1 (en) | METHOD AND SYSTEM FOR ESTABLISHING COMMUNICATIONS WITH A REMOTE SYSTEM, IN PARTICULAR VIA THE INTERNET, DURING A BOOT SEQUENCE | |
US20070143589A1 (en) | Method and apparatus for dynamically selecting one of multiple firmware images for booting an I/O controller | |
FR2667171A1 (en) | Portable support with easily programmable microcircuit and method of programming this microcircuit | |
FR2824160A1 (en) | DYNAMICALLY CONFIGURABLE GENERIC CONTAINER | |
FR2845175A1 (en) | METHOD AND SYSTEM FOR SWITCHING BETWEEN TWO OR MORE IMAGES OF SOFTWARE ON A HOST DEVICE | |
FR2828294A1 (en) | METHOD FOR GENERATING AN IMAGE IN DEAD MEMORY | |
FR2497374A1 (en) | COMPUTER MACHINE FOR MULTITASK PROCESSING | |
EP1386230A2 (en) | Method and system for managing shared-library executables | |
FR2916553A1 (en) | SYSTEM AND METHOD FOR IMAGE NETWORK COMMUNICATION INFORMATION PROCESSING SYSTEM | |
CN110321178A (en) | Starting processing method, device, equipment and the storage medium of attached application end | |
CN109683973A (en) | A kind of Insyde product BIOS method for customizing, device, terminal and storage medium | |
CN109684125A (en) | A kind of method, apparatus, equipment and storage medium for repairing DDR physical damage | |
FR2643478A1 (en) | MAP WITH INTEGRATED CIRCUIT | |
FR2617622A1 (en) | Monitoring device for a virtual machine system | |
FR2754079A1 (en) | Data processing in card readers used for access control | |
EP0512881B1 (en) | Apparatus and method for the selection of information usable by a local unit linked to a digital transmission system | |
CN115114600A (en) | Unified management and control method and system for internal equipment and external equipment | |
FR2719406A1 (en) | Procedure for automatic replacement of an identification module for the user of a mobile terminal in a radiocommunication network. | |
CN108390850B (en) | Data processing method and device, electronic equipment and server | |
KR100498771B1 (en) | Method and system for managing applications for a mobile terminal | |
US20080294642A1 (en) | Remote service system and method for functionally constrained data processing devices | |
US20020022944A1 (en) | Device for analyzing digital data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |