JPH0754469B2 - 仮想計算機システムのための入出力命令実行装置 - Google Patents

仮想計算機システムのための入出力命令実行装置

Info

Publication number
JPH0754469B2
JPH0754469B2 JP60130038A JP13003885A JPH0754469B2 JP H0754469 B2 JPH0754469 B2 JP H0754469B2 JP 60130038 A JP60130038 A JP 60130038A JP 13003885 A JP13003885 A JP 13003885A JP H0754469 B2 JPH0754469 B2 JP H0754469B2
Authority
JP
Japan
Prior art keywords
address
input
virtual
virtual computer
channel
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
Application number
JP60130038A
Other languages
English (en)
Other versions
JPS61288231A (ja
Inventor
英典 梅野
隆重 久保
亘喬 萩原
博昭 佐藤
英雄 澤本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60130038A priority Critical patent/JPH0754469B2/ja
Publication of JPS61288231A publication Critical patent/JPS61288231A/ja
Publication of JPH0754469B2 publication Critical patent/JPH0754469B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システムにおける入出力処理の制
御に関し、特に、入出力処理の直接実行機構に関する。
〔発明の背景〕
通常の仮想計算機システムにおいて、入出力命令の実行
は、仮想計算機制御プログラム(以下VMMと略記)が介
入して、シミユレーシヨン処理により実現され、そのた
め、大きなオーバヘツドを伴う。特開昭58-200363号及
び同58-200364号の発明は、仮想計算機(以下VMと略
記)が発行した入出力命令で実計算機の入出力装置を直
接駆動することによつて、前記のオーバヘツドを削減し
ようとするものであり、その目的のために、中央処理装
置と入出力データ制御装置の間の通信のための専用領域
(通信領域)を、主記憶装置内に用意する。中央処理装
置は、VMから発行された入出力命令に応答して、通信領
域に、VM識別子、入出力装置番号及びチヤネルプログラ
ムアドレスをセツトする。入出力データ制御装置は、通
信領域から前記の情報を読出して、入出力装置番号とチ
ヤネルプログラムアドレスを実システムのものに変換
し、入出力動作を実行する。VMの入出力装置番号から実
入出力装置番号への変換は、中央処理装置による通信領
域への情報設定の時に行なわれてもよい。入出力装置番
号変換テーブルとアドレス変換テーブルは、主記憶装置
内に用意される。
しかしながら、これらの発明は、前掲公報の記載による
限り、次のような問題を残す。
(a)複数のVMが、入出力装置、入出力制御装置、チヤ
ネル等の入出力リソースを共有すれば、当然にリソース
競合が起こるが、これをソフトウエアとハードウェアで
どのように解決するのか、明らかでない。したがつて、
入出力命令の実行に際してVMMの介入が必要か否かも、
不明である。
(b)入出力動作終了時における処理、すなわち、VMへ
の割込反映、入出力割込マスクの制御、割込優先順位の
制御などの方法が、全く示されていない。おそらく、入
出力割込みに対しては、VMMの介入が必要であると考え
られる。
(c)通信領域の管理方法が明らかでない。例えば、入
出力装置ビジー等の条件コードを中央処理装置に返す時
に、通信領域から該当するエントリを取除く必要があろ
う。入出力終了割込みに際しても同様である。更に、通
信領域の登録や検索の具体的方法や、中央処理装置と入
出力データ制御装置の間のロツク方法なども、明らかで
ない。
本出願人の出願に係る特願昭59-5587号(特開昭60-1501
40号)の発明は、前記(a)及び(b)の問題を解決す
るものである。しかし、それも、次のような問題を残
す。
(イ)アーキテクチヤを異にする複数のVMがあるとき、
アドレス変換テーブルの形式は、一般に、VMによつて異
なる。チヤネルプログラムに関するアドレス変換に際し
てこのようなアーキテクチヤの違いに対処するための、
具体的手段が必要である。
(ロ)VMが仮想記憶方式のOSを持てば、そのチヤネルプ
ログラムには、アドレスレベルの異なるもの、すなわ
ち、VMの仮想記憶空間上のチヤネルプログラムと、VMの
実記憶空間上のチヤネルプログラムとが混在する場合が
ある。このような場合に対処するための具体的手段が必
要である。
(ハ)VMMの制御下でVMの入出力命令の実行環境を定義
するための命令が必要であり、そのような命令の取扱い
を明確にする必要がある。
〔発明の目的〕
本発明の目的は、仮想計算機システムにおける入出力命
令の直接実行機構のために、VM間のアーキテクチヤの違
いや、チヤネルプログラムのアドレスレベルの変化に対
処する手段を、提供することにある。
〔発明の概要〕
本発明は、VM間のアーキテクチヤ(すなわちアドレス変
換テーブルの形式)の違いに対処するために、各VMに割
当てられた入出力装置に対応して主記憶装置中に用意さ
れた特定の領域(例えば、ハードウェア又はマイクロプ
ログラムのみが直接アクセスできるサブチヤネル制御ブ
ロツク)に、当該VMのアーキテクチヤを示す情報を、当
該VMの定義時に設定する。この情報の設定は、他のVM定
義情報の設定と共に、VMM専用の命令の実行を介して行
なわれるようにするのがよい。チヤネルプログラムの実
行に際して、VMのアドレス変換テーブルを参照する時に
は、このアーキテクチヤ情報が読出され、それに基づい
たテーブル検索が行なわれる。
また、チヤネルプログラムが複数のアドレスレベルを選
択的に使用できるようにするために、入出力命令はチヤ
ネルプログラム中で用いられるアドレスレベルを示す情
報を持ち、チヤネルプログラム実行時には、この情報に
従い、必要があれば前記アーキテクチヤ情報も用いて、
それぞれのアドレスレベルに適したアドレス変換が行な
われる。前記のアドレスレベルを示す情報は、主記憶装
置の前記特定領域に格納し、そこから読出して使用する
ようにしておくのがよい。
前記のアドレスレベルを示す情報は、一つのチヤネルプ
ログラムが複数のアドレスレベルを混用できるようにす
るために、複数のアドレスレベルを示しうるようにして
もよく、この場合に、入出力命令は、更に、チヤネルプ
ログラム内のどの位置でアドレスレベルが変化するかを
示す情報を持つのがよい。そして、チヤネルプログラム
の実行が終わつた時には、最後に実行されたチヤネル指
令語に続くチヤネル指令語のアドレスを知るための情報
に加えて、最後に実行されたチヤネル指令語のアドレス
レベルを示す情報が、主記憶装置の前記特定領域に転送
され、後続する動作に利用される。
〔発明の実施例〕
第2図は、本発明を含む計算機システムの概略を示す。
このシステムは、中央処理装置(CPU)1000、主記憶装
置(MS)2000、入出力プロセツサ(IOP)3000及び入出
力コントローラ(IOC)4000を有する。このような概要
的構成自体は、周知である。
CPU1000は、VMM用プレフイクスレジスタ(CPPXR)101
0、走行中VM用プレフイクスレジスタ(VMPXR)1070、仮
想計算機(VMS)制御レジスタ群1080、VMS制御フラグ群
1090、制御レジスタ(CR)群1100、プログラムステータ
スワード(PSW)1020、入出力(I/O)命令実行回路103
0、I/O命令実行用マイクロプログラム(μPI)1050、I/
O割込回路1040及びI/O割込処理用マイクロプログラム
(μPII)1060を有する。これらは、基本的には従来の
システムにも備えられているものであるが、1030,1040,
1050及び1060は、本発明に適合するように修正されてい
る。
CPPXR1010は、VMMのプレフイクスのホスト絶対アドレス
(実計算機システムの絶対アドレス)を保持し、VMPXR1
070は、走行中のVMのプレフイクスのホスト絶対アドレ
スを保持する。なお、これらについては後に再述する。
VMS制御レジスタ群1080は、第3図に示すように、走行
中の常駐VM(後述するように、MS上の単一の連続領域を
主記憶装置として割当てられたVM)の主記憶装置のホス
ト絶対アドレスの下限(α)及び上限(β)並びにVM番
号(VM#)を保持する各レジスタ1080(1)、1080
(2)及び1080(3)からなる。なお、α及びβについ
ては後で詳述する。
VMS制御フラグ群1090は、第4図に示されるように、フ
ラグG1090(1)、V1090(2)及びGS1090(3)からな
る。これらのフラグは、それぞれ、次のようなモードを
表わす。
(1)フラグG G=1……VMモード G=0……ハイパモード VMモードは、VMが走行中のモードであり、ハイパモード
は、VMMが走行中のモードである。
(2)フラグV V=1……VMSモード V=0……ネイテイブモード VMSモードは、仮想計算機システムとしての動作が行な
われるモードであり、前記のフラグG及び後記のフラグ
GSは、このモードにおいてのみ意味を持つ。ネイテイブ
モードは、実計算機モードであり、このモードでは通常
のOS下での動作が行なわれる。
(3)フラグGS GS=01……V=RのVMモード GS=10……V=ResiのVMモード GS=11……V=VのVMモード このフラグは、走行中のVMのストレジモード(VMの主記
憶装置への実MSの領域の割当ての型)を表わす。すなわ
ち、“01"は走行中のVMの主記憶装置がα=0に始まる
連続領域であること(V=RのVM)を表わし、“10"は
通常の常駐VM(V=ResiのVM)を表わし、“11"はその
他のVM(V=VのVM)を表わす。
第2図に戻り、MS2000は、領域2001と2002に大別され
る。領域2001は、ハードウエアシステムエリア(HSA)
と呼ばれ、ここに対しては、ハードウエア又はマイクロ
プログラムのみが参照・更新を行なうことができ、CPU1
000のプログラム命令によつて直接アクセスすることは
できない。HSAは、I/O要求キユー2070、I/O割込要求キ
ユー2080及びサブチヤネル制御ブロツク群2090を収容す
る。I/O要求キユー2070は、第5図に示されるように、
入出力装置と一対一に対応するサブチヤネル(SC)に対
するI/O要求の待行列を保持する。I/O割込要求キユー20
80は、第6図に示すように、入出力動作を完了したサブ
チヤネル(SC)の待行列を、割込優先順位別に保持す
る。これらは従来のものと同じである。サブチヤネル制
御ブロツク群2090は本発明の特徴を含み、それについて
は後述する。
領域2002は、プログラムでアクセスすることが可能な領
域であり、VMMのプレフイクス(PSA)2100、VM1のPSA21
10、VMnのPSA2120及びVMM常駐部2200を含む。これら
も、従来と変らない。
第7図は、常駐VMの記憶装置階層を表わす。第1常駐VM
(VM1)の主記憶装置2000−1は、MSのプログラムアク
セス可能領域2002における、ホスト絶対アドレスα1
らβ1までの連続領域を占め、VM絶対アドレス0〜β1
α1を持ち、ホスト絶対アドレスγ1に始まるVM1のPSA21
10と、VM1のOSが用意するアドレス変換テーブル2000−1
Tとを含む。アドレス変換テーブル2000-1Tは、VM1のOS
が生成する任意数の仮想記憶空間2000-1VとVM1の主記憶
装置2000−1の間の、アドレスの対応関係を与える。VM
nで代表される他の常駐VMの主記憶装置2000−nも同様
である。走行中のVMの主記憶装置のホスト絶対アドレス
の下限と上限、例えば、VM1の走行中はα1とβ1が、VMS
制御レジスタ群1080中に、α1080(1)とβ1080(2)
として、それぞれ保持される。
VMMのPSA2100は、ホスト絶対アドレスP0から始まる。プ
レフイクス(PSA)は、主記憶装置に用意された固定領
域で、ハードウエアが直接管理する割込情報を保持する
ためのものである。仮想計算機システムにおいては、VM
Mと各VMが各自のPSAを持つ。VMMのPSAのホスト絶対アド
レスP0は、CPPXR1010に常時保持されており、走行中のV
MのPSAのホスト絶対アドレスγ(例えば、VM1が走行中
ならばγ1)は、VMPXR1070に保持される。走行中のVMに
反映すべきハードウエア割込み、例えば、走行中のVMの
仮想記憶空間で生じるページフオルト割込みは、VMPXR1
070を介して、直接に、走行中のVMのPSAに反映される。
すなわち、VMMのPSA2100を読出して一旦VMMに制御を渡
し、VMM中のシミユレーシヨンプログラムによつて走行
中のVMのPSAに反映するのではなく、ハードウエアとマ
イクロプログラムにより、VMPXR1070に従つて走行中のV
MのPSA(例えば2110)に直接アクセスして、反映処理を
行なう。これらも従来と同じである。
第2図に戻りIOP3000は、サブチヤネルレジスタ群301
0、上下限レジスタ群3030及び制御用のマイクロプログ
ラム(μPIII)3020を有する。サブチヤネルレジスタ群
3010は本発明の特徴を含み、それに応じて、μPIII3020
も従来のものとは異なる機能を持ち、これらについては
後述する。上下限レジスタ群3030は、第8図に示される
ように、各常駐VM(VM1〜VMn)の主記憶装置の下限及び
上限のホスト絶対アドレスα1〜αn,β1〜βn並びに状
態ビツトs1u1〜snunを保持する。状態ビツトsiuiの意味
は次のとおりである。
si=1……V=R又はReciのVM si=0……V=VのVM ui=1……有効エントリ ui=0……無効エントリ siとuiが共に“1"のときのみ、下限アドレスαiと上限
アドレスβiがその意味を持つ。これらの情報は、常駐V
Mが定義、すなわちlog−onされる時に、そのためのVMM
専用命令を実行するハードウエア又はマイクロプログラ
ムにより、HSA2001内の特定の領域中に生成され、IOP30
00が、I/O動作の実行に際し、前記領域から上下限レジ
スタ群3030に取込む。これらは従来と変りがない。
第1図a〜eは、第2図に示されたサブチヤネル制御ブ
ロツク群2090の詳細を示す。サブチヤネル制御ブロツク
群2090は、各サブチヤネルに対応してサブチヤネル制御
ブロツク2090Kを持つ。サブチヤネル制御ブロツク2090K
は、第1図bに示されるように、VM情報2090-KVと、サ
ブチヤネルステータスワード(SCSW)2090-KSを保持す
る。VM情報2090-KVは、第1図cに示されるように、次
のような情報を含む。
(1)VM#は、対応するサブチヤネルを使用するVMの識
別番号である。
(2)状態フイールド2090−KVSは、前記VM#が示すVM
に関するこのサブチヤネルの状態を表わす。例えば、こ
のフイールドは1バイトの長さを持ち、その最上位ビツ
トが“1"であることにより、このサブチヤネルが当該VM
に専属的に割当てられていることを表わす。
(3)CCWアドレス変換情報2090-KVCは、このサブチヤ
ネルの制御に使われるチヤネル指令語(CCW)のための
アドレス変換に関する情報であり、第1図dに示される
ように、以下の情報を含む。
(i)Lは、CCWのアドレスレベル(CCW自体のアドレス
及びCCWが指定するデータアドレスの種類)を示し、本
発明により新たに用意されたものである。
L=00……ホスト絶対アドレスによるCCW L=01……VMの絶対アドレスによるCCW L=10……VMの仮想アドレスによるCCW L=11……VMの絶対アドレスによるCCWとVMの仮想アド
レスによるCCWの混在 (ii)SSは、VMの仮想記憶空間のセグメントサイズを示
す。すなわち、 SS=00……64KBのセグメントサイズ SS=10……1MBのセグメントサイズ (iii)PSは同じくページサイズを示す。
PS=01……2KBのページサイズ PS=10……4KBのページサイズ (iv)Cは、L=11の場合に、VMの仮想アドレスによる
CCW列とVMの絶対アドレスによるCCW列の、境界をなすCC
W(例えば“Tra-nsfer in channel"コマンド)の位置を
示し、本発明により新たに用意されたものである。
(v)Fは、使用されるCCWのフオーマツトを示す。
F=0……フオーマツト0 F=1……フオーマツト1 フオーマツト0のCCWは、第9図aに示されており、そ
のデータアドレスは24ビツトの長さである。フオーマツ
ト1のCCWは、第9図bに示されており、そのデータア
ドレスは31ビツトの長さである。
(4)STOは、VMの仮想アドレスによるCCWが使用される
場合に、そのCCWが属するVMの仮想記憶空間を定義する
セグメントテーブルの先頭アドレス(セグメントテーブ
ルオリジン)を含む。このアドレスは、VMの実アドレス
である。
(5)CCWアドレスは、対応するサブチヤネルで実行さ
れるチヤネルプログラムの先頭のCCWのアドレスを示
す。
VMアーキテクチヤ(AR)2090-KVAは、当該サブチヤネル
を使用するVMのアーキテクチヤを、次のように識別す
る。
AR=01……アーキテクチヤM AR=10……アーキテクチヤM/EA AR=11……アーキテクチヤM/XA ここで、M,M/EA及びE/XAは、3種の異なるアーキテクチ
ヤを表わすために仮りに用いられた記号であつて、それ
以上の特別の意味は持たない。アーキテクチヤが異なる
と、アドレス変換テーブルのレイアウトやエントリバイ
ト数などが異なるので、この差異に適応するために、本
発明によりこの情報が用意される。
SCSW2090-KSは、I/O動作完了時における当該サブチヤネ
ルの状態を表わし、第1図eに示されるように、次のよ
うな情報を含む。
(1)ALは、このサブチヤネルで最後に実行されたCCW
のアドレスレベルを示す。
AL=00……ホスト絶対アドレス AL=01……VMの絶対アドレス AL=10……VMの仮想アドレス これは、本発明により新たに用意された情報である。
(2)最後に実行されたCCWのアドレスに“8"を加えた
値は、その次のCCWのアドレスを示す。“8"を加えたの
は、CCWの長さが8バイトであることによる。このアド
レスの値は、前記ALが示すアドレスレベルによるもので
ある。第1図fは、以上の諸情報を一括して示す。
第2図に戻り、IOP3000内のサブチヤネルレジスタ群301
0は、第10図に示されるように、各サブチヤネル対応に
サブチヤネルレジスタ3010−Kを持ち、各サブチヤネル
レジスタは、対応するサブチヤネルが使用するCCWのた
めのアドレス変換に必要な情報AR、L、SS、PS、VM#、
C、F、STO及びCCWアドレスを含む。これらの意味内容
は、前述したサブチヤネル制御ブロツク中のVM情報2090
-KV(第1図c及びd)における、同一符号で示された
情報と同じである。
これらの情報は、次のようにして生成又は取得される。
まず、VMの定義時に、そのためのVMM専用命令を実行す
るハードウエア又はマイクロプログラムにより、そのVM
に専属的に割当てられたサブチヤネルに対応するサブチ
ヤネル制御ブロツクの、VM情報領域2090−KVに、VM#、
状態フイールド及びARがセツトされる。当該サブチヤネ
ル制御ブロツク中のCCWアドレス変換情報2090−KVCの内
容は、後述するようにして、このサブチヤネルに向けら
れたI/O起動命令の実行時に、I/O命令のオペランドの情
報とCR1100から転送される。IOP内のサブチヤネルレジ
スタ3010−Kの内容は、後述するようにして、サブチヤ
ネルの起動時に、サブチヤネル制御ブロツクのVM情報領
域2090-KVから取込まれる。また、SCSW2090-KSの内容
は、I/O処理完了時に、IOP3000から得られる。なお、複
数のVMで共用されるサブチヤネルに対するI/O命令は、
競合問題の解決のため、直接実行を避けて、従来のよう
にVMMの介入により処理するのが好ましい。
第11図は、VMのOSから発行されたI/O起動命令と、それ
に対応するチヤネルプログラム(CCWチエイン)の一例
を示す。I/O起動命令2801は、命令コードSSCH(スター
トサブチヤネル)と、ベースレジスタ指定値Bと、デイ
スプレイスメントDを含む。Bで指定されるベースレジ
スタの内容とDの和が、オペランド2800のアドレスを与
える。サブチヤネル番号を格納したレジスタ2802も、I/
O起動命令2801のオペランドの一つであり、特定のレジ
スタ番号で指定される。
オペランド2800は、情報STO、C、L、F及びCCWアドレ
スを含み、これらの意味内容は、既述の第1図において
同一符号で示されたものと同じである。ただし、VMのOS
自体はVMか実計算機かを区別せずに、単に絶対アドレス
か仮想アドレスかを区別するだけであり、それが、VMS
の下で、IOP3000により、第1図について説明したよう
な意味に解釈されるのである。したがつて、ネイテイブ
モードにおいては、STOは実計算機システムにおける実
アドレスであり、Lが示すアドレスレベルも、実計算機
システムにおけるものと解釈される。
第11図は、VMの絶対アドレスによるCCWの列2810−R
に、VMの仮想アドレスによるCCWの列2810−Vが続く例
を示している。このとき、I/O起動命令のオペランド280
0中のLは“11"であり、CCWアドレスは、絶対アドレスC
CW列2810−Rの先頭CCW1の位置を、VMの絶対アドレスに
より示し、Cは、絶対アドレスCCW列2810−Rの末尾に
置かれたTIC(Transfer in channel)コマンドの相対位
置を示す。TICコマンドは、チヤネルプログラムにおけ
るジヤンプ命令であり、そのジヤンプ先は、VMの仮想記
憶空間(例えば第7図の2000-1V)中のCCW列2810−Vの
先頭CCW4の位置を、VMの仮想アドレスにより示す。この
仮想記憶空間2000-1Vのためのセグメントテーブルの先
頭アドレスは、オペランド2800中のSTOにより、VMの実
アドレスで示されている。なお、本実施例では、説明を
簡明にするため、絶対アドレスCCW列と仮想アドレスCCW
列の混在は、第11図に示される型においてのみ許される
ものとするが、他の型の混在も許されるようにしてもよ
いのはもちろんである。
以下、動作を説明する。計算機システムをVMSモードで
動かすかネイテイブモードで動かすかが、初期プログラ
ムロード時に指定される。この指定は、オペレータが行
なつてもよい。フラグV1090(2)は、VMSモードのとき
に“1"にセツトされ、ネイテイブモードのときに“0"に
セツトされる。以下、VMSモードの場合について述べ
る。VMの定義時に、常駐VMに対して、前述のように、そ
のVMの主記憶装置の下限アドレスαと上限アドレスβが
HSA2001内の特定の領域にセツトされるとともに、そのV
Mに専属的に割当てられたサブチヤネルに対応するサブ
チヤネル制御ブロツクのVM情報領域2090−KVにおいて、
VM#、状態フイールド及びARがセツトされる。そのほか
に、仮想サブチヤネル番号から実サブチヤネル番号への
変換テーブルその他のVMSに必要な変換テーブルが、従
来どおり用意される。
あるVMの走行を開始させるに当たり、VM起動専用命令を
介して、フラグG1090(1)、GS1090(3)及びVM#108
0(3)がセツトされ、更に、常駐VMの場合は、その主
記憶装置の下限アドレスα1080(1)と上限アドレスβ
1080(2)がセツトされる。本実施例では、常駐VMから
のI/O命令のみが直接実行されるものとし、以下、常駐V
Mについて説明する。CR1100には、VMのOSにより、SS及
びPSの値がセツトされる。
走行中のVMがI/O起動命令2801を発行すると、CPU1000の
I/O命令実行回路1030は、それを解釈し、オペランド280
0のアドレスをBとDに基づいて計算した後、μPI1050
に制御を渡す。μPI1050は、変換テーブルに基づいて、
I/O起動命令が指定するサブチヤネル番号2802を実サブ
チヤネル番号に変換し、続いて、該当するサブチヤネル
制御ブロツク2090−Kを、サブチヤネル制御ブロツク群
2090から取出し、状態フイールド2090−KVSを調べる。
その結果、そのサブチヤネルが当該VMに専属的に割当て
られたものでなければ(先頭ビツト=“0")、直接実行
が許されないので、VMMが呼出されるが、専属的に割当
てられたサブチヤネルであれば(先頭ビツト=“1")、
次に、そのサブチヤネルがビジーであるか否かが調べら
れる。ビジー状態か否かは、従来どおり、適当な状態ビ
ツトにより示される。もしもビジーであれば、条件コー
ドがセツトされて、処理は終了する。しかし、ビジーで
なければ、μPI1050は、命令オペランド2800中のSTO、
C、L、F及びCCWアドレスと、CR1100中のSS及びPS
を、該当するサブチヤネル制御ブロツクのVM情報領域20
90−KVに移し、それが終ると、対応する要求を、I/O要
求キユー2070に加入させ、次いで、IOP3000に起動信号
を送り、ここでCPU1000での処理は完了する。以上の処
理は、処理される情報の内容を除けば、従来のもの(例
えば前掲特願昭59-5587号)と基本的に同じである。
起動信号を受けたIOP3000は、非同期にI/O起動処理を行
なう。すなわち、μPIII3020は、適当なタイミングで、
I/O要求キユー2070の先頭にあるI/O要求を取出し、対応
するサブチヤネル制御ブロツク2090−K中の所要情報
を、対応するサブチヤネルレジスタ3010−Kに取出し
て、それらの指示するところに従い、IOC4000を介し
て、入出力機器を制御する。特に、本発明の特徴である
アドレス処理は、次のように行なわれる。
(1)L=00の場合 各CCW自体のアドレスと、各CCWが指定するデータアドレ
スは、すべてホスト絶対アドレスと見なされる。したが
つて、いかなるアドレス変換処理も行なわれない。
(2)L=01の場合 CCWに関連するアドレスは、すべてVMの絶対アドレスと
見なされ、ホスト絶対アドレスに変換される。μPIII30
20は、サブチヤネルレジスタ3010−K中のVM#に基づ
き、対応する上下限レジスタ群3030のエントリを調べ、
それが有効(si,ui=1,1)ならば、指定されたアドレ
スに下限値αiを加算して、ホスト絶対アドレスを得
る。その際、得られたアドレス値がβiを越えれば、ア
ドレス例外処理が行なわれる。si,ui#1,1ならば、ア
ドレス変換は禁止され、VMMの割込みが生じる。
(3)L=10の場合 CCWに関連するアドレスは、すべてVMの仮想アドレスと
みなされる。μPIII3020は、サブチヤネルレジスタ3010
−K中のVM#とSTOに基づいて、当該VMのアドレス変換
テーブルのホスト絶対アドレスを求め、更にARを参照し
つつ、このアドレス変換テーブルを検索し、指定された
アドレスをVMの絶対アドレスに変換する。ARは、VMのア
ーキテクチヤの相違、したがつて、アドレス変換テーブ
ル(セグメントテーブルとページテーブル)の形式の相
違を示し、それによりテーブル検索処理の細部が定めら
れる。こうして得られたVMの相対アドレスは、次いで、
前記(2)の場合と同様にして、ホスト絶対アドレスに
変換される。
(4)L=11の場合 この場合のCCW列の一例が、前述のように、第11図に示
されている。μPIII3020は、絶対アドレスCCW列2810−
R中の各CCWに対して、サブチヤネルレジスタ3010−K
中のCが示す位置にあるTICコマンドを読出すまでは、
前記(2)の場合と同様なアドレス変換処理を行ない、
TICのジヤンプ先アドレス、及びそれ以降における仮想
アドレスCCW2810−V中の各CCWに関連するアドレスにつ
いては、前記(3)の場合と同様なアドレス変換処理を
行なう。
IOP3000によるI/O実行処理が完了すると、I/O終了割込
みが生じる。この割込みは、ハードウエア又はマイクロ
プログラムにより直接に、又は、VMMによるシミユレー
シヨンにより、VMに反映させることができ、いずれの方
法も、基本的には従来技術に属する。ただ、本発明によ
れば、I/O終了割込みの処理に際して、μPIII3020によ
りサブチヤネル制御ブロツク2090−Kに転送されるSCSW
2090-KSは、情報ALを含む。この情報ALは、前述のよう
に、実行されたCCW列中の最後のCCWが、どのアドレスレ
ベルによるものであるかを示し、第11図に示されるよう
な異なるアドレスレベルのCCWの混在が、本発明によつ
て許容される(L=11の場合)結果、必要となるもので
ある。例えば、一旦中断されたチヤネルプログラムの実
行を再開する場合、SCSW2090-KSの「最終CCW+8」が示
す次に実行すべきCCWは、実アドレスCCW列2810−Rに属
するのか、それとも、仮想アドレスCCW列2810−Vに属
するかを知る必要があり、これを知るために情報ALが参
照される。
常駐VMの主記憶装置の下限アドレスα及び上限アドレス
βのHSAへの設定、並びにサブチヤネル制御ブロツクのV
M情報領域2090-KVへのVM#、状態フイールド及びARの設
定を生じるVMM専用命令は、いわゆる特権命令として扱
うことができる。その場合、それらは、フラグG1090
(1)とV1090(2)によつて示されるハイパモードに
おいてのみ実行可能であり、他のモードにおいては、命
令例外として処理される。
前記実施例において、VMの実アドレスと絶対アドレス
は、IOP3000における処理に関しては、区別することな
く扱われる。したがつて、前記説明において、VMの絶対
アドレスは、VMの実アドレスと読替えることができる。
このように扱つても、VMのソフトウエアに対して、プレ
フイクス変換の影響を受けない領域にCCW列を置くとい
う制限を課せば、支障はない。前記の制限を除き、実ア
ドレスと絶対アドレスを区別して処理するようにするこ
ともできるが、そのためには、VMのプレフイクスレジス
タをIOP3000内に設けねばならず、また、処理も複雑に
なる。
また、マイクロプログラムμPI〜IIIに代えてワイヤー
ドロジツクを用いてもよいことは、いうまでもない。
〔発明の効果〕
本発明によれば、異なるアーキテクチヤのVMを含む仮想
計算機システム、更には、異なるアドレスレベルのCCW
からなるチヤネルプログラムを持つVMを含む仮想計算機
システムにおいても、I/O命令の直接実行が可能であ
り、したがつて、仮想計算機システムにおけるオーバヘ
ツドの主要因の一つであるI/Oシミユレーシヨンのオー
バヘツドを、削減することができる。
【図面の簡単な説明】
第1図a〜eは本発明におけるサブチヤネル制御ブロツ
クの内容の模式図、第1図fは第1図c〜eの情報の一
覧図、第2図は本発明を含む計算機システムのブロツク
ダイヤグラム、第3図はVMS制御レジスタ群の模式図、
第4図はVMS制御フラグ群の模式図、第5図はI/O要求キ
ユーの模式図、第6図はI/O割込要求キユーの模式図、
第7図は仮想計算機の主記憶装置の階層構造の模式図、
第8図は上下限レジスタ群の模式図、第9図はCCWのフ
オーマツト図、第10図はサブチヤネルレジスタの内容の
模式図、第11図は本発明によるチヤネルプログラムの一
例の模式図である。 1030……I/O命令実行回路、1050……I/O命令実行用マイ
クロプログラム、2001……ハードウエア又はマイクロプ
ログラムによつてのみアクセスしうる主記憶装置領域、
2090……サブチヤネル制御ブロツク群、2090-KS……サ
ブチヤネルステータスワード、2090-KVS……専属チヤネ
ルか否かを示す状態フイールド、2090-KVC……チヤネル
指令語アドレス変換情報、2090-KVA……VMのアーキテク
チヤを示す情報(AR)、3010……サブチヤネル制御用レ
ジスタ群、3020……I/Oプロセツサ制御用マイクロプロ
グラム、L……アドレスレベル情報、C……アドレスレ
ベル変化点情報、AL……最終チヤネル指令語のアドレス
レベルを示す情報、AR……VMのアーキテクチヤを示す情
報。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 博昭 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 澤本 英雄 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】1台の実計算機システム上で仮想計算機制
    御プログラムの制御下に仮想記憶機能を持つ仮想計算機
    を含む複数の仮想計算機が走行しうる仮想計算機システ
    ムのための、仮想計算機から発行された入出力命令を前
    記仮想計算機制御プログラムの介入なしに直接実行する
    装置において、仮想記憶機能を持つ各仮想計算機の仮想
    記憶アドレス変換テーブルの形式を示すアーキテクチヤ
    情報をその仮想計算機に割当てられた入出力装置に対応
    して主記憶装置中に用意された特定の領域に予め設定す
    る手段と、仮想計算機から発行された入出力命令の直接
    実行に際しての仮想記憶アドレスの変換のために前記ア
    ーキテクチヤ情報を読出してそれに基づき当該仮想計算
    機の仮想記憶アドレス変換テーブルの検索を制御する手
    段とを備えた、入出力命令実行装置。
  2. 【請求項2】特許請求の範囲1において、そのアーキテ
    クチヤ情報の設定は、他の仮想計算機定義情報の設定と
    共に、仮想計算機制御プログラム専用の命令の実行を介
    してのみ実行される、入出力命令実行装置。
  3. 【請求項3】特許請求の範囲1又は2において、その入
    出力命令の直接実行は常駐仮想計算機に専属的に割当て
    られた入出力装置についてのみ行なわれる、入出力命令
    実行装置。
  4. 【請求項4】1台の実計算機システム上で仮想計算機制
    御プログラムの制御下に仮想記憶機能を持つ仮想計算機
    を含む複数の仮想計算機が走行しうる仮想計算機システ
    ムのための、仮想計算機から発行された入出力命令を前
    記仮想計算機制御プログラムの介入なしに直接実行する
    装置において、仮想記憶機能を持つ各仮想計算機の仮想
    記憶アドレス変換テーブルの形式を示すアーキテクチヤ
    情報をその仮想計算機に割当てられた入出力装置に対応
    して主記憶装置中に用意された特定の領域に予め設定す
    る手段と、仮想計算機から発行された入出力命令の直接
    実行に際しての仮想記憶アドレスの変換のために前記ア
    ーキテクチヤ情報を読出してそれに基づき当該仮想計算
    機の仮想記憶アドレス変換テーブルの検索を制御する手
    段と、前記入出力命令により与えられるチヤネルプログ
    ラムのアドレスレベルを示す情報に応じて前記検索制御
    手段と協同して所要のアドレス変換を行ないつつチヤネ
    ルプログラムを実行する手段とを備えた、入出力命令実
    行装置。
  5. 【請求項5】特許請求の範囲4において、その入出力命
    令により与えられるチヤネルプログラムのアドレスレベ
    ルを示す情報を主記憶装置中の前記特定領域に格納する
    手段と、チヤネルプログラムの実行に際して前記情報を
    前記チヤネルプログラム実行手段に読出す手段とを備え
    た、入出力命令実行装置。
  6. 【請求項6】特許請求の範囲5において、その入出力命
    令により与えられるチヤネルプログラムのアドレスレベ
    ルを示す情報は混用される複数のアドレスレベルを示す
    ことが可能な、入出力命令実行装置。
  7. 【請求項7】特許請求の範囲6において、その入出力命
    令は更にチヤネルプログラム内でのアドレスレベル変化
    位置を示す情報を含み、この情報もまた、前記格納手段
    により前記特定領域に格納され、そして前記読出手段に
    より前記チヤネルプログラム実行手段に読出される、入
    出力命令実行装置。
  8. 【請求項8】特許請求の範囲6又は7において、そのチ
    ヤネルプログラム実行手段は、チヤネルプログラムの実
    行を終えた時に、最後に実行されたチヤネル指令語に続
    くチヤネル指令語のアドレスを知るための情報と共に前
    記最後に実行されたチヤネル指令語のアドレスレベルを
    示す情報を主記憶装置の前記特定領域に転送する手段を
    含む、入出力命令実行装置。
JP60130038A 1985-06-17 1985-06-17 仮想計算機システムのための入出力命令実行装置 Expired - Lifetime JPH0754469B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60130038A JPH0754469B2 (ja) 1985-06-17 1985-06-17 仮想計算機システムのための入出力命令実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60130038A JPH0754469B2 (ja) 1985-06-17 1985-06-17 仮想計算機システムのための入出力命令実行装置

Publications (2)

Publication Number Publication Date
JPS61288231A JPS61288231A (ja) 1986-12-18
JPH0754469B2 true JPH0754469B2 (ja) 1995-06-07

Family

ID=15024597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60130038A Expired - Lifetime JPH0754469B2 (ja) 1985-06-17 1985-06-17 仮想計算機システムのための入出力命令実行装置

Country Status (1)

Country Link
JP (1) JPH0754469B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01271854A (ja) * 1988-04-22 1989-10-30 Nec Corp 仮想計算機のアドレス変換回路
JP2682746B2 (ja) * 1991-01-29 1997-11-26 株式会社日立製作所 仮想計算機システム
JP5195228B2 (ja) * 2008-09-26 2013-05-08 富士通株式会社 処理プログラム、処理装置及び処理方法

Also Published As

Publication number Publication date
JPS61288231A (ja) 1986-12-18

Similar Documents

Publication Publication Date Title
US4885681A (en) I/O Execution method for a virtual machine system and system therefor
US4347565A (en) Address control system for software simulation
US4459661A (en) Channel address control system for a virtual machine system
US7712104B2 (en) Multi OS configuration method and computer system
JPS6083168A (ja) マルチプロセツサ・システム制御方法
JPS61190638A (ja) 仮想計算機のフアイル制御方式
US5392409A (en) I/O execution method for a virtual machine system and system therefor
JPH0430053B2 (ja)
JP2991242B2 (ja) マルチプロセッサコンピュータシステム使用方法
JPH0754469B2 (ja) 仮想計算機システムのための入出力命令実行装置
JP2001216172A (ja) マルチos構成方法
JPH0564375B2 (ja)
JPS6049352B2 (ja) デ−タ処理装置
JPS6336012B2 (ja)
JPS62120542A (ja) 情報処理装置
JPH0567973B2 (ja)
JPH0711784B2 (ja) 計算機システム
JP2556018B2 (ja) チヤネルパスグル−プ管理方式
Umeno et al. New methods for realizing plural near-native performance virtual machines
EP0280523A2 (en) Computer system conversion apparatus
JPS62221041A (ja) 仮想計算機システムにおけるデイスパツチ制御装置
JPS5918787B2 (ja) Tlbパ−テイシヨン方式
JPS6338729B2 (ja)
JPS6134632A (ja) 仮想計算機命令制御方式
JPH0318936A (ja) リカーシブ仮想計算機の入出力実行装置