JPH0754473B2 - 仮想計算機上でのcpu間通信命令実行方式 - Google Patents
仮想計算機上でのcpu間通信命令実行方式Info
- 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へ情報を伝達するものである。
を行なうための命令として、例えば、SIGP命令がある。
該SIGP命令は通常、ハードウェア上でSIGP命令を実行し
たCPUから相手側のCPUへ情報を伝達するものである。
そのため、仮想計算機の論理CPU上でのSIGP命令の実行
は不可能であるから、仮想計計算機で計算機間通信を行
なうときは、各仮想計算機を総括するシステム制御プロ
グラムに制御が引き渡されて、該システム制御プログラ
ムによってエミュレーションが行なわれていた。
は不可能であるから、仮想計計算機で計算機間通信を行
なうときは、各仮想計算機を総括するシステム制御プロ
グラムに制御が引き渡されて、該システム制御プログラ
ムによってエミュレーションが行なわれていた。
従って、仮想計算機上でのCPU間の通信に当たっては常
にシステム制御プログラムが介在することになり、シス
テムの処理効率が低下するという問題点があった。
にシステム制御プログラムが介在することになり、シス
テムの処理効率が低下するという問題点があった。
本発明はこのような従来の問題点を解決するため、ドメ
インごとに保留(ペンディング)情報を格納するテーブ
ルを設け、この保留情報を操作することにより、仮想計
算機の論理CPU上でSIGP命令などのCPU間通信に係る命令
を直接実行することの可能な技術について開示してい
る。
インごとに保留(ペンディング)情報を格納するテーブ
ルを設け、この保留情報を操作することにより、仮想計
算機の論理CPU上でSIGP命令などのCPU間通信に係る命令
を直接実行することの可能な技術について開示してい
る。
[産業上の利用分野] 本発明は仮想計算機システムにおけるCPU間通信の制御
に関するものであって、特にCPU間における通信を行な
うための命令(以下SIGP命令ともいう)をシステム制御
プログラムを介することなく仮想計算機のCPUが直接実
行することの可能な制御方式に係る。
に関するものであって、特にCPU間における通信を行な
うための命令(以下SIGP命令ともいう)をシステム制御
プログラムを介することなく仮想計算機のCPUが直接実
行することの可能な制御方式に係る。
[従来の技術] 独立した複数の仮想計算機を擁していて、少なくとも一
組の実計算機を、必要の都度各仮想計算機に割り当て
て、処理を実行するごとく構成された仮想計算機システ
ムにおいては、仮想計算機がそれぞれオペレーティング
システム(OS)を有しているが更に各仮想計算機を総括
的に制御するシステム制御プログラムが存在する。
組の実計算機を、必要の都度各仮想計算機に割り当て
て、処理を実行するごとく構成された仮想計算機システ
ムにおいては、仮想計算機がそれぞれオペレーティング
システム(OS)を有しているが更に各仮想計算機を総括
的に制御するシステム制御プログラムが存在する。
このような仮想計算機システムにおいて、処理を実行す
る上で、各仮想計算機上の論理CPU間の通信は必要不可
欠のものである。
る上で、各仮想計算機上の論理CPU間の通信は必要不可
欠のものである。
通常、各CPUはそれぞれが非同期的に動作しているもの
であるから、CPU間の通信は、通信元のCPUが通信先のCP
Uに割り込み(一般的な外部割り込みと等価)を要求
し、これを受けたCPUはこの情報を保留して、次のこれ
を実行し得るタイミングのときに、保留されている割り
込みを刈り取って該割り込みに係る処理を行なうという
制御により行なわれる。
であるから、CPU間の通信は、通信元のCPUが通信先のCP
Uに割り込み(一般的な外部割り込みと等価)を要求
し、これを受けたCPUはこの情報を保留して、次のこれ
を実行し得るタイミングのときに、保留されている割り
込みを刈り取って該割り込みに係る処理を行なうという
制御により行なわれる。
従って、仮想計算機の論理CPUがこのようなCPU間通信の
処理を直接行なうことは不可能である。そのため、従
来、仮想計算機上におけるCPU間通信を実現するために
は、前述したシステム制御プログラムが介在することに
よってエミュレートしていた。例えば、山谷・秋山.仮
想計算機.昭和55年5月20日(初版4刷).共立出版
(株).p167-175には、仮想計算機コミュニケーション
機能(VMCF)を利用した通信方式が提起されている。こ
れは主記憶上にパラメータリストを設けると共にコミュ
ニケーション手段としてVMCF用の外部割り込みを設ける
ものである。そして、VMCFを使用可能にする場合には、
まず制御プログラム(CP)に対してVMCFを使用すること
を通知する。
処理を直接行なうことは不可能である。そのため、従
来、仮想計算機上におけるCPU間通信を実現するために
は、前述したシステム制御プログラムが介在することに
よってエミュレートしていた。例えば、山谷・秋山.仮
想計算機.昭和55年5月20日(初版4刷).共立出版
(株).p167-175には、仮想計算機コミュニケーション
機能(VMCF)を利用した通信方式が提起されている。こ
れは主記憶上にパラメータリストを設けると共にコミュ
ニケーション手段としてVMCF用の外部割り込みを設ける
ものである。そして、VMCFを使用可能にする場合には、
まず制御プログラム(CP)に対してVMCFを使用すること
を通知する。
[発明が解決しようとする問題点] 上述したように、従来の仮想計算機上でのCPU間通信に
おいては、論理CPUがSIGP命令を実行したとき、その都
度、システム制御プログラムが介入して、実計算機上で
割り込みに係る処理を行なうという方式を採っていた。
従って、CPU間通信は仮想計算機のOS内で実行される通
常の処理に比して制御が複雑となり、処理ステップも大
となるため、システム全体の処理効率を低下せしめると
いう問題点があった。
おいては、論理CPUがSIGP命令を実行したとき、その都
度、システム制御プログラムが介入して、実計算機上で
割り込みに係る処理を行なうという方式を採っていた。
従って、CPU間通信は仮想計算機のOS内で実行される通
常の処理に比して制御が複雑となり、処理ステップも大
となるため、システム全体の処理効率を低下せしめると
いう問題点があった。
本発明はこのような従来の問題点に鑑み、システム制御
プログラムに依存することなく、仮想計算機上において
直接SIGP命令によるCPU間の通信を行なうことの可能な
制御方式を提供することを目的としている。
プログラムに依存することなく、仮想計算機上において
直接SIGP命令によるCPU間の通信を行なうことの可能な
制御方式を提供することを目的としている。
[問題点を解決するための手段] 本発明によれば、上述の目的は前記特許請求の範囲に記
載した手段により達成される。
載した手段により達成される。
すなわち、本発明は、ドメイン内の各論理CPUからアク
セスすることが可能な記憶領域に、該ドメインが擁する
論理CPUのそれぞれに対応せしめてドメイン内のいずれ
かの論理CPUがCPU間通信に係る命令を実行したとき、該
命令による要求内容と該命令を実行した論理CPUとを識
別し得る保留情報を表示するテーブルを設け、ドメイン
内の各論理CPUからアクセスすることが可能な記憶領域
に、該ドメインが擁する論理CPUのそれぞれに対応せし
めてドメイン内の何れかの論理CPUがCPU間通信に係る命
令を実行したとき、該命令による要求内容と該命令を実
行した論理CPUとを識別し得る保留情報を表示するテー
ブルを設け、論理CPUをディスパッチするときには、前
記テーブルの内容を実CPUが持つハードウェアのペンデ
ィングラッチにロードすると共に、仮想計算機上でCPU
間通信に係る命令を実行するときには、前記テーブル上
の通信先論理CPUの保留情報を参照し、その状態に応じ
て表示の操作を行なう手段と、テーブル上の自己に与え
られている領域の保留情報を参照して、その状態に応じ
た処理を行なう手段とを設けた仮想計算機上でのCPU間
通信命令実行方式である。
セスすることが可能な記憶領域に、該ドメインが擁する
論理CPUのそれぞれに対応せしめてドメイン内のいずれ
かの論理CPUがCPU間通信に係る命令を実行したとき、該
命令による要求内容と該命令を実行した論理CPUとを識
別し得る保留情報を表示するテーブルを設け、ドメイン
内の各論理CPUからアクセスすることが可能な記憶領域
に、該ドメインが擁する論理CPUのそれぞれに対応せし
めてドメイン内の何れかの論理CPUがCPU間通信に係る命
令を実行したとき、該命令による要求内容と該命令を実
行した論理CPUとを識別し得る保留情報を表示するテー
ブルを設け、論理CPUをディスパッチするときには、前
記テーブルの内容を実CPUが持つハードウェアのペンデ
ィングラッチにロードすると共に、仮想計算機上でCPU
間通信に係る命令を実行するときには、前記テーブル上
の通信先論理CPUの保留情報を参照し、その状態に応じ
て表示の操作を行なう手段と、テーブル上の自己に与え
られている領域の保留情報を参照して、その状態に応じ
た処理を行なう手段とを設けた仮想計算機上でのCPU間
通信命令実行方式である。
[実施例] 第1図は本発明の一実施例について説明する図であっ
て、1はメモリ上に設けられたSIGP命令制御用のペンデ
ィングテーブル、2、3はCPU内のレジスタ、4はCPUを
示している。
て、1はメモリ上に設けられたSIGP命令制御用のペンデ
ィングテーブル、2、3はCPU内のレジスタ、4はCPUを
示している。
本実施例においては、仮想計算機において使用されるSI
GP命令の内、特に頻度の高いセンス(以下Sともいう。
また、図においてもSと記載している。)、エクスター
ナル・コール(以下ECともいう、また、図においてもEC
と記載している)、エマジェンシ・シグナル(以下ESと
もいう、また、図においてもESと記載している)の3種
類の要求について仮想計算機上で直接実行する場合につ
いて示している。
GP命令の内、特に頻度の高いセンス(以下Sともいう。
また、図においてもSと記載している。)、エクスター
ナル・コール(以下ECともいう、また、図においてもEC
と記載している)、エマジェンシ・シグナル(以下ESと
もいう、また、図においてもESと記載している)の3種
類の要求について仮想計算機上で直接実行する場合につ
いて示している。
また、本実施例はペンディングテーブル1の内容から明
らかなように0〜15の16ドメインと、各ドメインごとに
0〜7の8論理CPUをサポートしている。各論理CPUは、
ES、ECについて、3の発信元CPU毎に1ビットを対応さ
せてペンディング(保留)情報としている。このペンデ
ィングテーブル1は、どの論理CPUからもアクセス可能
な主記憶上の固定領域におく。
らかなように0〜15の16ドメインと、各ドメインごとに
0〜7の8論理CPUをサポートしている。各論理CPUは、
ES、ECについて、3の発信元CPU毎に1ビットを対応さ
せてペンディング(保留)情報としている。このペンデ
ィングテーブル1は、どの論理CPUからもアクセス可能
な主記憶上の固定領域におく。
今、ドメイン1の論理CPU2がCPU3をターゲットとし、オ
ーダーがECであるSIGP命令を実行したとする。ペンディ
ングテーブル1の始点アドレスは固定である。
ーダーがECであるSIGP命令を実行したとする。ペンディ
ングテーブル1の始点アドレスは固定である。
自ドメインIDとターゲットの論理CPUアドレスからどの
半語にアクセスすべきかのアドレスが求まる。
半語にアクセスすべきかのアドレスが求まる。
この場合 始点アドレス+1×16+3×2 である。
この半語をアクセスすることによって、ターゲットCPU
のペンディング情報を得る。そして、もし、いずれかの
CPUからのECペンディングがあれば、そこで条件コード
とステイタスをセットして、SIGP命令を終了する。も
し、ECペンディングが全て“0"あれば、自CPUに対応す
るビットを“1"にして、条件コード=0とする。このテ
ーブル上のペンディング情報は、その論理CPUをディス
パッチする時などに実CPUにロードされる。そして、そ
れによってハードウェアの割込制御回路にEC、ESペンデ
ィングが通知される。従ってシステム内にSIGP命令実行
時に存在しない論理CPUに対してもSIGP命令を発行する
ことが可能である。
のペンディング情報を得る。そして、もし、いずれかの
CPUからのECペンディングがあれば、そこで条件コード
とステイタスをセットして、SIGP命令を終了する。も
し、ECペンディングが全て“0"あれば、自CPUに対応す
るビットを“1"にして、条件コード=0とする。このテ
ーブル上のペンディング情報は、その論理CPUをディス
パッチする時などに実CPUにロードされる。そして、そ
れによってハードウェアの割込制御回路にEC、ESペンデ
ィングが通知される。従ってシステム内にSIGP命令実行
時に存在しない論理CPUに対してもSIGP命令を発行する
ことが可能である。
仮想計算機上でのSIGPによるペンディングを受取った論
理CPUも、また、割込処理時に、このテーブルのペンデ
ィング情報を操作する。
理CPUも、また、割込処理時に、このテーブルのペンデ
ィング情報を操作する。
この例では、今、ドメイン♯1の論理CPU♯3がディス
パッチされると、該当する半語がロードされて、論理CP
U♯2からのECペンディングが見える。これによって外
部割込が発生すると、テーブル上のCPU♯2からのECペ
ンディングに該当するビットをオフにする。
パッチされると、該当する半語がロードされて、論理CP
U♯2からのECペンディングが見える。これによって外
部割込が発生すると、テーブル上のCPU♯2からのECペ
ンディングに該当するビットをオフにする。
以上によって、仮想計算機上でSIGP命令を直接実行する
ができるわけであるが、更に応答性を高めるために実計
算機上で実行するためのハードウェアを活用することが
できる。
ができるわけであるが、更に応答性を高めるために実計
算機上で実行するためのハードウェアを活用することが
できる。
実計算機上のSIGPではターゲットのCPUに対してのみオ
ーダーを送るが、仮想計算機上のSIGPではシステム内の
全CPUに対して送信する。
ーダーを送るが、仮想計算機上のSIGPではシステム内の
全CPUに対して送信する。
この時、仮想計算機上のSIGPであることを示すフラグと
共に、ターゲットCPUのドメインIDと論理CPUアドレスを
送り、受信側でそれをチェックして自CPUに対するSIGP
か否かを判断する。前述の例に従えば、もし、システム
内にドメイン♯1の論理CPU♯3がいずれかの実CPU上で
走行中ならば、3のCPUでSIGP受信が行なわれて、ECの
外部割込要求が立つ。これにより、ペンディング・テー
ブルのロードを待たずに即時割込を発生することができ
る。
共に、ターゲットCPUのドメインIDと論理CPUアドレスを
送り、受信側でそれをチェックして自CPUに対するSIGP
か否かを判断する。前述の例に従えば、もし、システム
内にドメイン♯1の論理CPU♯3がいずれかの実CPU上で
走行中ならば、3のCPUでSIGP受信が行なわれて、ECの
外部割込要求が立つ。これにより、ペンディング・テー
ブルのロードを待たずに即時割込を発生することができ
る。
[発明の効果] 以上説明したように本発明によれば仮想計算機システム
において、仮想計算機がSIGP命令を実行するときシステ
ム制御プログラムを介することなく、直接CPU間の通信
を行なうことができる。
において、仮想計算機がSIGP命令を実行するときシステ
ム制御プログラムを介することなく、直接CPU間の通信
を行なうことができる。
また、そのとき、該当する仮想計算機の論理CPUが実CPU
で走行中である場合には、直ちに割り込みを発生して、
ハードウェア的な処理により当該SIGP命令に係る処理を
行ない得る利点もある。
で走行中である場合には、直ちに割り込みを発生して、
ハードウェア的な処理により当該SIGP命令に係る処理を
行ない得る利点もある。
第1図は本発明の一実施例について説明する図である。 1……ペンディングテーブル、2、3……レジスタ、4
……CPU
……CPU
Claims (2)
- 【請求項1】複数のCPUを有する仮想計算機システムに
おいて、 ドメイン内の各論理CPUからアクセスすることが可能な
記憶領域に、該ドメインが擁する論理CPUのそれぞれに
対応せしめてドメイン内のいずれかの論理CPUがCPU間通
信に係る命令を実行したとき、該命令による要求内容と
該命令を実行した論理CPUとを識別し得る保留情報を表
示するテーブルを設け、 論理CPUをディスパッチするときには、前記テーブルの
内容を実CPUが持つハードウェアのペンディングラッチ
にロードすると共に、仮想計算機上でCPU間通信に係る
命令を実行するときには、前記テーブル上の通信先論理
CPUの保留情報を参照し、その状態に応じて表示の操作
を行なう手段と、テーブル上の自己に与えられている領
域の保留情報を参照して、その状態に応じた処理を行な
う手段とを設けたことを特徴とする仮想計算機上でのCP
U間通信命令実行方式。 - 【請求項2】仮想計算機がCPU間通信に係る命令を実行
するとき、ハードウェアによりシステム内の全CPUに対
して、計算機間通信に係る発信を行なう特許請求の範囲
第(1)項記載の仮想計算機上でのCPU間通信命令実行
方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62194851A JPH0754473B2 (ja) | 1987-08-04 | 1987-08-04 | 仮想計算機上でのcpu間通信命令実行方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62194851A JPH0754473B2 (ja) | 1987-08-04 | 1987-08-04 | 仮想計算機上でのcpu間通信命令実行方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6437635A JPS6437635A (en) | 1989-02-08 |
| JPH0754473B2 true JPH0754473B2 (ja) | 1995-06-07 |
Family
ID=16331337
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62194851A Expired - Lifetime JPH0754473B2 (ja) | 1987-08-04 | 1987-08-04 | 仮想計算機上でのcpu間通信命令実行方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0754473B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112122904B (zh) * | 2020-08-05 | 2021-06-18 | 利辛县富亚纱网有限公司 | 一种纱网磁扣连续压合装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5925303B2 (ja) * | 1980-05-16 | 1984-06-16 | 富士通株式会社 | 多重仮想計算機システムにおける多重仮想記憶制御方式 |
-
1987
- 1987-08-04 JP JP62194851A patent/JPH0754473B2/ja 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 (ja) | データ処理システムのエミユレーシヨン | |
| 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 (ja) | 仮想計算機システムにおける割込制御方法 | |
| JP2000293436A (ja) | パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート | |
| JPH0594317A (ja) | 仮想計算機の入出力割り込み処理方式 | |
| JPS63310051A (ja) | プログラム入出力命令を含む入出力プロセスの実行方法および装置 | |
| 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 (ja) | 仮想計算機上でのcpu間通信命令実行方式 | |
| US4758978A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| JPS6336012B2 (ja) | ||
| JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
| JPS62221041A (ja) | 仮想計算機システムにおけるデイスパツチ制御装置 | |
| JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
| JPH0413716B2 (ja) | ||
| JPH0567973B2 (ja) | ||
| JP2557366B2 (ja) | 入出力手順変換装置 | |
| JPH0754469B2 (ja) | 仮想計算機システムのための入出力命令実行装置 | |
| JPH06242975A (ja) | 多重情報処理システムの仮想計算機ディスパッチ方式 |
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 |