JPH0754473B2 - Inter-CPU communication instruction execution method on virtual machine - Google Patents
Inter-CPU communication instruction execution method on virtual machineInfo
- Publication number
- JPH0754473B2 JPH0754473B2 JP62194851A JP19485187A JPH0754473B2 JP H0754473 B2 JPH0754473 B2 JP H0754473B2 JP 62194851 A JP62194851 A JP 62194851A JP 19485187 A JP19485187 A JP 19485187A JP H0754473 B2 JPH0754473 B2 JP H0754473B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- inter
- communication
- logical
- instruction
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
【発明の詳細な説明】 [概要] 複数のCPUを擁する計算機システムにおけるCPU間の通信
を行なうための命令として、例えば、SIGP命令がある。
該SIGP命令は通常、ハードウェア上でSIGP命令を実行し
たCPUから相手側のCPUへ情報を伝達するものである。DETAILED DESCRIPTION OF THE INVENTION [Outline] As an instruction for performing communication between CPUs in a computer system having a plurality of CPUs, for example, there is a SIGP instruction.
The SIGP instruction normally transfers information from the CPU that has executed the SIGP instruction on the hardware to the other CPU.
そのため、仮想計算機の論理CPU上でのSIGP命令の実行
は不可能であるから、仮想計計算機で計算機間通信を行
なうときは、各仮想計算機を総括するシステム制御プロ
グラムに制御が引き渡されて、該システム制御プログラ
ムによってエミュレーションが行なわれていた。Therefore, since it is impossible to execute the SIGP instruction on the logical CPU of the virtual computer, when performing computer-to-computer communication with the virtual computer, the control is handed over to the system control program that summarizes each virtual computer. Emulation was performed by the system control program.
従って、仮想計算機上でのCPU間の通信に当たっては常
にシステム制御プログラムが介在することになり、シス
テムの処理効率が低下するという問題点があった。Therefore, the system control program always intervenes in the communication between the CPUs on the virtual machine, and there is a problem that the processing efficiency of the system decreases.
本発明はこのような従来の問題点を解決するため、ドメ
インごとに保留(ペンディング)情報を格納するテーブ
ルを設け、この保留情報を操作することにより、仮想計
算機の論理CPU上でSIGP命令などのCPU間通信に係る命令
を直接実行することの可能な技術について開示してい
る。In order to solve such a conventional problem, the present invention provides a table storing pending (pending) information for each domain, and by operating this pending information, a SIGP instruction or the like on the logical CPU of the virtual machine It discloses a technique capable of directly executing an instruction related to communication between CPUs.
[産業上の利用分野] 本発明は仮想計算機システムにおけるCPU間通信の制御
に関するものであって、特にCPU間における通信を行な
うための命令(以下SIGP命令ともいう)をシステム制御
プログラムを介することなく仮想計算機のCPUが直接実
行することの可能な制御方式に係る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to control of communication between CPUs in a virtual computer system, and in particular, an instruction for performing communication between CPUs (hereinafter also referred to as SIGP instruction) does not go through a system control program. This relates to a control method that can be directly executed by the CPU of the virtual machine.
[従来の技術] 独立した複数の仮想計算機を擁していて、少なくとも一
組の実計算機を、必要の都度各仮想計算機に割り当て
て、処理を実行するごとく構成された仮想計算機システ
ムにおいては、仮想計算機がそれぞれオペレーティング
システム(OS)を有しているが更に各仮想計算機を総括
的に制御するシステム制御プログラムが存在する。[Prior Art] In a virtual computer system that has a plurality of independent virtual computers and is configured to execute processing by assigning at least one set of real computers to each virtual computer whenever necessary, Each has an operating system (OS), but there is a system control program that controls each virtual machine as a whole.
このような仮想計算機システムにおいて、処理を実行す
る上で、各仮想計算機上の論理CPU間の通信は必要不可
欠のものである。In such a virtual computer system, communication between logical CPUs on each virtual computer is indispensable for executing processing.
通常、各CPUはそれぞれが非同期的に動作しているもの
であるから、CPU間の通信は、通信元のCPUが通信先のCP
Uに割り込み(一般的な外部割り込みと等価)を要求
し、これを受けたCPUはこの情報を保留して、次のこれ
を実行し得るタイミングのときに、保留されている割り
込みを刈り取って該割り込みに係る処理を行なうという
制御により行なわれる。Normally, each CPU operates asynchronously, so communication between CPUs is performed by the source CPU
When U requests an interrupt (equivalent to a general external interrupt), the CPU that receives it holds this information, and at the next timing when this can be executed, the pending interrupt is pruned and This is performed under the control of performing processing related to the interrupt.
従って、仮想計算機の論理CPUがこのようなCPU間通信の
処理を直接行なうことは不可能である。そのため、従
来、仮想計算機上におけるCPU間通信を実現するために
は、前述したシステム制御プログラムが介在することに
よってエミュレートしていた。例えば、山谷・秋山.仮
想計算機.昭和55年5月20日(初版4刷).共立出版
(株).p167-175には、仮想計算機コミュニケーション
機能(VMCF)を利用した通信方式が提起されている。こ
れは主記憶上にパラメータリストを設けると共にコミュ
ニケーション手段としてVMCF用の外部割り込みを設ける
ものである。そして、VMCFを使用可能にする場合には、
まず制御プログラム(CP)に対してVMCFを使用すること
を通知する。Therefore, it is impossible for the logical CPU of the virtual machine to directly perform such inter-CPU communication processing. Therefore, conventionally, in order to realize the communication between the CPUs on the virtual computer, the emulation was performed by interposing the system control program described above. For example, Sanya and Akiyama. Virtual computer. May 20, 1980 (4th edition of the first edition). Kyoritsu Shuppan Co., Ltd. p167-175 proposes a communication method using a virtual machine communication function (VMCF). This provides a parameter list on the main memory and an external interrupt for VMCF as a communication means. And when enabling VMCF,
First, notify the control program (CP) that VMCF will be used.
[発明が解決しようとする問題点] 上述したように、従来の仮想計算機上でのCPU間通信に
おいては、論理CPUがSIGP命令を実行したとき、その都
度、システム制御プログラムが介入して、実計算機上で
割り込みに係る処理を行なうという方式を採っていた。
従って、CPU間通信は仮想計算機のOS内で実行される通
常の処理に比して制御が複雑となり、処理ステップも大
となるため、システム全体の処理効率を低下せしめると
いう問題点があった。[Problems to be Solved by the Invention] As described above, in the conventional inter-CPU communication on the virtual machine, the system control program intervenes every time the logical CPU executes the SIGP instruction, and It adopted a method of performing processing related to interrupts on a computer.
Therefore, the communication between the CPUs has a problem in that the control becomes complicated and the processing steps become large compared with the normal processing executed in the OS of the virtual machine, and the processing efficiency of the entire system is reduced.
本発明はこのような従来の問題点に鑑み、システム制御
プログラムに依存することなく、仮想計算機上において
直接SIGP命令によるCPU間の通信を行なうことの可能な
制御方式を提供することを目的としている。In view of such conventional problems, an object of the present invention is to provide a control method capable of directly performing communication between CPUs by a SIGP instruction on a virtual computer without depending on a system control program. .
[問題点を解決するための手段] 本発明によれば、上述の目的は前記特許請求の範囲に記
載した手段により達成される。[Means for Solving the Problems] According to the present invention, the above object is achieved by the means described in the claims.
すなわち、本発明は、ドメイン内の各論理CPUからアク
セスすることが可能な記憶領域に、該ドメインが擁する
論理CPUのそれぞれに対応せしめてドメイン内のいずれ
かの論理CPUがCPU間通信に係る命令を実行したとき、該
命令による要求内容と該命令を実行した論理CPUとを識
別し得る保留情報を表示するテーブルを設け、ドメイン
内の各論理CPUからアクセスすることが可能な記憶領域
に、該ドメインが擁する論理CPUのそれぞれに対応せし
めてドメイン内の何れかの論理CPUがCPU間通信に係る命
令を実行したとき、該命令による要求内容と該命令を実
行した論理CPUとを識別し得る保留情報を表示するテー
ブルを設け、論理CPUをディスパッチするときには、前
記テーブルの内容を実CPUが持つハードウェアのペンデ
ィングラッチにロードすると共に、仮想計算機上でCPU
間通信に係る命令を実行するときには、前記テーブル上
の通信先論理CPUの保留情報を参照し、その状態に応じ
て表示の操作を行なう手段と、テーブル上の自己に与え
られている領域の保留情報を参照して、その状態に応じ
た処理を行なう手段とを設けた仮想計算機上でのCPU間
通信命令実行方式である。That is, according to the present invention, a storage area that can be accessed from each logical CPU in a domain is associated with each of the logical CPUs in the domain, and one of the logical CPUs in the domain executes instructions related to inter-CPU communication. When a request is executed, a table is displayed to display pending information that can identify the request content of the instruction and the logical CPU that executed the instruction, and the storage area accessible from each logical CPU in the domain When any of the logical CPUs in the domain executes an instruction related to inter-CPU communication in association with each of the logical CPUs of the domain, the request content by the instruction and the logical CPU that executed the instruction can be distinguished from each other. A table for displaying information is provided, and when the logical CPU is dispatched, the contents of the table are loaded into the pending latch of the hardware of the real CPU and CPU San machine
When executing an instruction related to inter-communication, a means for performing a display operation according to the hold information of the communication destination logical CPU on the table and a hold of the area given to itself on the table It is an inter-CPU communication instruction execution method on a virtual machine provided with a means for referring to information and performing processing according to the state.
[実施例] 第1図は本発明の一実施例について説明する図であっ
て、1はメモリ上に設けられたSIGP命令制御用のペンデ
ィングテーブル、2、3はCPU内のレジスタ、4はCPUを
示している。[Embodiment] FIG. 1 is a diagram for explaining an embodiment of the present invention, in which 1 is a pending table for controlling a SIGP instruction provided on a memory, 2 and 3 are registers in a CPU, and 4 is a CPU. Is shown.
本実施例においては、仮想計算機において使用されるSI
GP命令の内、特に頻度の高いセンス(以下Sともいう。
また、図においてもSと記載している。)、エクスター
ナル・コール(以下ECともいう、また、図においてもEC
と記載している)、エマジェンシ・シグナル(以下ESと
もいう、また、図においてもESと記載している)の3種
類の要求について仮想計算機上で直接実行する場合につ
いて示している。In this embodiment, the SI used in the virtual machine
Of the GP commands, a particularly frequent sense (hereinafter also referred to as S).
In addition, S is also described in the figure. ), External call (hereinafter also referred to as EC, and EC
3), and an emergency signal (hereinafter, also referred to as ES, also referred to as ES in the figure), the case where the requests are directly executed on the virtual computer.
また、本実施例はペンディングテーブル1の内容から明
らかなように0〜15の16ドメインと、各ドメインごとに
0〜7の8論理CPUをサポートしている。各論理CPUは、
ES、ECについて、3の発信元CPU毎に1ビットを対応さ
せてペンディング(保留)情報としている。このペンデ
ィングテーブル1は、どの論理CPUからもアクセス可能
な主記憶上の固定領域におく。In addition, this embodiment supports 16 domains 0 to 15 and 8 logical CPUs 0 to 7 for each domain, as is clear from the contents of the pending table 1. Each logical CPU is
For ES and EC, 1 bit is associated with each of the 3 source CPUs to provide pending information. This pending table 1 is placed in a fixed area on the main memory that can be accessed by any logical CPU.
今、ドメイン1の論理CPU2がCPU3をターゲットとし、オ
ーダーがECであるSIGP命令を実行したとする。ペンディ
ングテーブル1の始点アドレスは固定である。Now, it is assumed that the logical CPU2 of the domain 1 targets the CPU3 and executes the SIGP instruction whose order is EC. The starting point address of the pending table 1 is fixed.
自ドメインIDとターゲットの論理CPUアドレスからどの
半語にアクセスすべきかのアドレスが求まる。The half-word address to be accessed can be obtained from the own domain ID and the target logical CPU address.
この場合 始点アドレス+1×16+3×2 である。In this case, the starting point address is + 1 × 16 + 3 × 2.
この半語をアクセスすることによって、ターゲットCPU
のペンディング情報を得る。そして、もし、いずれかの
CPUからのECペンディングがあれば、そこで条件コード
とステイタスをセットして、SIGP命令を終了する。も
し、ECペンディングが全て“0"あれば、自CPUに対応す
るビットを“1"にして、条件コード=0とする。このテ
ーブル上のペンディング情報は、その論理CPUをディス
パッチする時などに実CPUにロードされる。そして、そ
れによってハードウェアの割込制御回路にEC、ESペンデ
ィングが通知される。従ってシステム内にSIGP命令実行
時に存在しない論理CPUに対してもSIGP命令を発行する
ことが可能である。By accessing this halfword, the target CPU
Get pending information for. And if either
If there is EC pending from the CPU, set the condition code and status there and end the SIGP instruction. If all EC pendings are "0", the bit corresponding to the own CPU is set to "1" and the condition code = 0. The pending information on this table is loaded to the real CPU when the logical CPU is dispatched. Then, the EC or ES pending is notified to the hardware interrupt control circuit. Therefore, it is possible to issue a SIGP instruction to a logical CPU that does not exist in the system when the SIGP instruction is executed.
仮想計算機上でのSIGPによるペンディングを受取った論
理CPUも、また、割込処理時に、このテーブルのペンデ
ィング情報を操作する。The logical CPU that has received the pending by SIGP on the virtual machine also operates the pending information of this table at the time of interrupt processing.
この例では、今、ドメイン♯1の論理CPU♯3がディス
パッチされると、該当する半語がロードされて、論理CP
U♯2からのECペンディングが見える。これによって外
部割込が発生すると、テーブル上のCPU♯2からのECペ
ンディングに該当するビットをオフにする。In this example, when the logical CPU # 3 of the domain # 1 is dispatched, the corresponding halfword is loaded and the logical CP
You can see the EC pending from U # 2. When an external interrupt is generated by this, the bit corresponding to the EC pending from CPU # 2 on the table is turned off.
以上によって、仮想計算機上でSIGP命令を直接実行する
ができるわけであるが、更に応答性を高めるために実計
算機上で実行するためのハードウェアを活用することが
できる。As described above, the SIGP instruction can be directly executed on the virtual computer, but the hardware for executing on the real computer can be utilized to further improve the responsiveness.
実計算機上のSIGPではターゲットのCPUに対してのみオ
ーダーを送るが、仮想計算機上のSIGPではシステム内の
全CPUに対して送信する。SIGP on a real computer sends an order only to the target CPU, but SIGP on a virtual computer sends an order to all CPUs in the system.
この時、仮想計算機上のSIGPであることを示すフラグと
共に、ターゲットCPUのドメインIDと論理CPUアドレスを
送り、受信側でそれをチェックして自CPUに対するSIGP
か否かを判断する。前述の例に従えば、もし、システム
内にドメイン♯1の論理CPU♯3がいずれかの実CPU上で
走行中ならば、3のCPUでSIGP受信が行なわれて、ECの
外部割込要求が立つ。これにより、ペンディング・テー
ブルのロードを待たずに即時割込を発生することができ
る。At this time, the domain ID of the target CPU and the logical CPU address are sent together with the flag that indicates SIGP on the virtual machine, and the receiving side checks it and SIGP for the own CPU
Determine whether or not. According to the above example, if the logical CPU # 3 of the domain # 1 is running on any of the real CPUs in the system, the CPU of the 3 performs SIGP reception and the EC external interrupt request is issued. Stands. This allows an immediate interrupt to occur without waiting for the pending table to load.
[発明の効果] 以上説明したように本発明によれば仮想計算機システム
において、仮想計算機がSIGP命令を実行するときシステ
ム制御プログラムを介することなく、直接CPU間の通信
を行なうことができる。[Effect of the Invention] As described above, according to the present invention, in a virtual computer system, when a virtual computer executes a SIGP instruction, it is possible to directly communicate between CPUs without going through a system control program.
また、そのとき、該当する仮想計算機の論理CPUが実CPU
で走行中である場合には、直ちに割り込みを発生して、
ハードウェア的な処理により当該SIGP命令に係る処理を
行ない得る利点もある。At that time, the logical CPU of the corresponding virtual machine is the real CPU.
If you are driving in
There is also an advantage that processing related to the SIGP instruction can be performed by hardware processing.
第1図は本発明の一実施例について説明する図である。 1……ペンディングテーブル、2、3……レジスタ、4
……CPUFIG. 1 is a diagram for explaining an embodiment of the present invention. 1 ... Pending table, 2, 3 ... Register, 4
……CPU
Claims (2)
おいて、 ドメイン内の各論理CPUからアクセスすることが可能な
記憶領域に、該ドメインが擁する論理CPUのそれぞれに
対応せしめてドメイン内のいずれかの論理CPUがCPU間通
信に係る命令を実行したとき、該命令による要求内容と
該命令を実行した論理CPUとを識別し得る保留情報を表
示するテーブルを設け、 論理CPUをディスパッチするときには、前記テーブルの
内容を実CPUが持つハードウェアのペンディングラッチ
にロードすると共に、仮想計算機上でCPU間通信に係る
命令を実行するときには、前記テーブル上の通信先論理
CPUの保留情報を参照し、その状態に応じて表示の操作
を行なう手段と、テーブル上の自己に与えられている領
域の保留情報を参照して、その状態に応じた処理を行な
う手段とを設けたことを特徴とする仮想計算機上でのCP
U間通信命令実行方式。1. In a virtual computer system having a plurality of CPUs, a storage area that can be accessed from each logical CPU in a domain is associated with each of the logical CPUs in the domain, and either When a logical CPU executes an instruction related to inter-CPU communication, a table is provided for displaying pending information capable of identifying the content requested by the instruction and the logical CPU that executed the instruction. When dispatching the logical CPU, the table is displayed. Contents are loaded into the pending latch of the hardware of the real CPU, and when executing instructions related to inter-CPU communication on the virtual machine, the communication destination logic on the table
A means for referring to the CPU hold information and performing a display operation according to the state, and a means for performing a process according to the state by referring to the hold information in the area given to itself on the table. CP on the virtual machine characterized by the provision
Inter-U communication instruction execution method.
するとき、ハードウェアによりシステム内の全CPUに対
して、計算機間通信に係る発信を行なう特許請求の範囲
第(1)項記載の仮想計算機上でのCPU間通信命令実行
方式。2. When the virtual computer executes an instruction related to inter-CPU communication, the hardware issues an inter-computer communication call to all CPUs in the system. Inter-CPU communication instruction execution method on virtual machine.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62194851A JPH0754473B2 (en) | 1987-08-04 | 1987-08-04 | Inter-CPU communication instruction execution method on virtual machine |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62194851A JPH0754473B2 (en) | 1987-08-04 | 1987-08-04 | Inter-CPU communication instruction execution method on virtual machine |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6437635A JPS6437635A (en) | 1989-02-08 |
| JPH0754473B2 true JPH0754473B2 (en) | 1995-06-07 |
Family
ID=16331337
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62194851A Expired - Lifetime JPH0754473B2 (en) | 1987-08-04 | 1987-08-04 | Inter-CPU communication instruction execution method on virtual machine |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0754473B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112122904B (en) * | 2020-08-05 | 2021-06-18 | 利辛县富亚纱网有限公司 | Continuous compression fittings is detained to gauze magnetism |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5925303B2 (en) * | 1980-05-16 | 1984-06-16 | 富士通株式会社 | Multiple virtual memory control method in multiple virtual computer system |
-
1987
- 1987-08-04 JP JP62194851A patent/JPH0754473B2/en not_active Expired - Lifetime
Non-Patent Citations (1)
| Title |
|---|
| 山谷・秋山、仮想計算機、昭和55年5月20日、共立出版(株)、P.167−175 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6437635A (en) | 1989-02-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5706514A (en) | Distributed execution of mode mismatched commands in multiprocessor computer systems | |
| US5095427A (en) | Dispatch control of virtual machine | |
| JP2610812B2 (en) | Emulation of data processing system | |
| US5109489A (en) | I/o execution method for a virtual machine system and system therefor | |
| US6272618B1 (en) | System and method for handling interrupts in a multi-processor computer | |
| US4729094A (en) | Method and apparatus for coordinating execution of an instruction by a coprocessor | |
| JPS61206043A (en) | Interrupt control method in virtual computer system | |
| JP2000293436A (en) | Support for multiple outstanding requests for multiple targets in pipelined memory systems | |
| JPH0594317A (en) | Input output interrupt processing system of virtual machine | |
| JPS63310051A (en) | Method and apparatus for executing input/output process containing program input/output instruction | |
| EP0525831B1 (en) | Method and apparatus for enabling a processor to coordinate with a coprocessor in the execution of an instruction which is in the intruction stream of the processor. | |
| US5367676A (en) | Data processor for multiple macro-service processings based on a single macro-service request | |
| US4758950A (en) | Method and apparatus for selectively delaying an interrupt of a coprocessor | |
| EP0290942B1 (en) | Guest machine execution control system for virtual machine system | |
| JPH0754473B2 (en) | Inter-CPU communication instruction execution method on virtual machine | |
| US4758978A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| JPS6336012B2 (en) | ||
| JPS61184643A (en) | Starting control system for virtual computer | |
| JPS62221041A (en) | Dispatch controller in virtual computer system | |
| JPH06324861A (en) | System and method for controlling cpu | |
| JPH0413716B2 (en) | ||
| JPH0567973B2 (en) | ||
| JP2557366B2 (en) | Input / output procedure converter | |
| JPH0754469B2 (en) | Input / output instruction execution unit for virtual computer system | |
| JPH06242975A (en) | Virtual computer dispatch method for multiple information processing system. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080607 Year of fee payment: 13 |