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

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

Info

Publication number
JPS61288231A
JPS61288231A JP60130038A JP13003885A JPS61288231A JP S61288231 A JPS61288231 A JP S61288231A JP 60130038 A JP60130038 A JP 60130038A JP 13003885 A JP13003885 A JP 13003885A JP S61288231 A JPS61288231 A JP S61288231A
Authority
JP
Japan
Prior art keywords
virtual
input
address
virtual machine
output
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
Application number
JP60130038A
Other languages
English (en)
Other versions
JPH0754469B2 (ja
Inventor
Hidenori Umeno
梅野 英典
Takashige Kubo
久保 隆重
Nobutaka Hagiwara
萩原 亘喬
Hiroaki Sato
博昭 佐藤
Hideo Sawamoto
英雄 澤本
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システムにおける入出力処理の制
御に関し、特に、入出力処理の直接実行機構に関する。
〔発明の背景〕
通常の仮想計算機システムにおいて、入出力命令の実行
は、仮想計算機制御プログラム(以下VMMと略記)が
介入して、シミュレーション処理により実現され、その
ため、大きなオーバヘッドを伴う。特開昭58−200
363号及び同58−′200364号の発明は、仮想
計算機(以下VMと略記)が発行した入出力命令で実計
算機の入出力装置を直接駆動することによって、前記の
オーバヘッドを削減しようとするものであり、その目的
のために、中央処理装置と入出力データ制御装置の間の
通信のための専用領域(通信領域)を、主記憶装置内に
用意する。中央処理装置は、VMから発行された入出力
命令に応答して、通信領域に、VM識別子、入出力装置
番号及びチャネルプログラムアドレスをセットする。入
出力データ制御装置は、通信領域から前記の情報を読出
して、入出力装置番号とチャネルプログラムアドレスを
実システムのものに変換し、入出力動作を実行する。
VMの入出力装置番号から実入出力装置番号への変換は
、中央処理装置による通信領域への情報設定の時に行な
われてもよい。入出力装置番号変換テーブルとアドレス
変換テーブルは、主記憶装置内に用意される。
しかしながら、これらの発明は、前掲公報の記載による
限り、次のような問題を残す。
(a)  複数のVMが、入出力装置、入出力制御装置
、チャネル等の入出カリソースを共有すれば、当然にリ
ソース競合が起こるが、これをソフトウェアとハードウ
ェアでどのように解決するのか、明らかでない。したが
って、入出力命令の実行に際してVMMの介入が必要か
否かも、不明である。
(b)  入出力動作終了時における処理、すなわち、
VMへの割込反映、入出力割込マスクの制御、割込優先
順位の制御などの方法が、全く示されていない。おそら
く、入出力割込みに対しては、VMMの介入が必要であ
ると考えられる。
(C)  通信領域の管理方法が明らかでない。例えば
、入出力装置ビジー等の条件コードを中央処理装置に返
す時に、通信領域から該当するエン) IJを取除く必
要があろう。入出力終了割込みに際しても同様である。
更に、通信領域の登録や検索の具体的方法や、中央処理
装置と入出力データ制御装置の間のロック方法なども、
明らかでない。
本出願人の出願に係る特願昭59−5587号の発明は
、前記(a)及び(b)の問題を解決するものである。
しかし、それも、次のような問題を残す。
(f)アーキテクチャを異にする複数のVMがあるとき
、アドレス如換テーブルの形式は、一般に、VMによっ
て異なる。チャネルプログラムに関するアドレス変換に
際してこのようなアーキテクチャの違いに対処するだめ
の、具体的手段が必要である。
(ロ)VMが仮想記憶方式のO8を持てば、そのチャネ
ルプログラムには、アドレスレベルの異なるもの、すな
わち、VMの仮想記憶空間上のチャネルプログラムと、
VMの実記憶空間上のチャネルプログラムとが混在する
場合がある。このような場合に対処するための具体的手
段が必要である。
(ハ) VMMの制御下でVMの入出力命令の実行環境
を定義するための命令が必要であり、そのような命令の
取扱いを明確にする必要がある。
〔発明の目的〕
本発明の目的は、仮想計算機システムにおける入出力命
令の直接実行機構のために、VM間のアーキテクチャの
違いや、チャネルプログラムのアドレスレベルの変化に
対処する手段を、提供することにある。
〔発明の概要〕
本発明は、VM間のアーキテクチャ(すなわちアドレス
変換テーブルの形式)の違いに対処するために、各VM
に割当てられた入出力装置に対応して主記憶装置中に用
意された特定の領域(例えば、ハードウェア又はマイク
ロプログラムのみが直接アクセスできるサブチャネル制
御ブロック)に、当該VMのアーキテクチャを示す情報
を、当該VMの定義時に設定する。この情報の設定は、
他のVM定義情報の設定と共に、VMM専用の命令の実
行を介して行なわれるようにするのがよい。
チャネルプログラムの実行に際して、VMのアドレス変
換テーブルを参照する時には、このアーキテクチャ情報
が読出され、それに基づいたテーブル検索が行なわれる
また、チャネルプログラム中におけるアドレスレベルの
変化に対処するために、入出力命令はチャネルプログラ
ム中で用いられるアドレスレベル及びその変化を示す情
報を持ち、チャネルプログラム実行時には、この情報に
従い、必要があれば前記アーキテクチャ情報も用いて、
それぞれのアドレスレベルに適したアドレス変換が行な
われる。
チャネルプログラムの実行を終えた時には、最後に実行
されたチャネル指令語のアドレスに加えて、そのアドレ
スレベルが、主記憶装置の前記特定領域に転送され、後
続する動作に利用される。
〔発明の実施例〕
第2図は、本発明を含む計算機システムの概略を示す。
このシステムは、中央処理装置(CPU)1000、主
記憶装置(MS)2000 、入出カプロセッサ(IO
P)3000及び入出力コントローラ(IOC)を有す
る。このような概要的構成自体は、周知である。
CPU1000け、VMM用グレフィクスレジスタ(C
PPXII、 ) 1010、走行中VM用プレフィク
スレジスタ(VMPXR,)1070、仮想計算機(V
MS)制御レジスタ群1080、VMS制御フラグ群1
090、制御レジスタ(C’R)群1100、プログラ
ムステータスワード(PSW)xo’zo%入出力(I
lo)命令実行回路1030、I10命令命令用マイク
ロプログラム(μPI)1050、I10割込回路10
40及びI10割込処理用マイクロプログラム(μPi
1060を有する。これらは、基本的には従来のシステ
ムにも備えられているものであるが、1030,104
0.1050及び1060は、本発明に適合するように
修正されている。
CPPXR1010は、VMMのブレフイクスのホスト
絶対アドレス(実計算機システムの絶対アドレス)を保
持し、VMPXR,1070は、走行中のVMのプレフ
イクスのホスト絶対アドレスを保持する。
なお、これらについては後に再述する。VMS制御レジ
しタ群1080は、第3図に示すように、走行中の常駐
VM(後述するように、MS上の単一の連続領域を主記
憶装置として割当てられだVM)の主記憶装置のホスト
絶対アドレスの下限(α)及び上限(β)並びにVM番
号(VM+)を保持する各レジスタ1080(1)、1
080(2)及び1080(3)からなる。なお、α及
びβについては後で詳述する。
VMS制御フラグ群1090は、第4図に示されるよう
に、フラグQ 1090(1)、 V 1090(2)
及びG51090(3)からなる。これらのフラグは、
それぞれ、次のようなモードを表わす。
(1)  フラグG G=1・・・・・・VMモード G=0・・・・・・ハイバモード VMモードは、VMが走行中のモードであシ、ハイパモ
ードは、VMMが走行中のモードである。
(2)フラグV V=1・・・・・・VMSモード ■二〇・・・・・・ネイティブモード VMSモードは、仮想計算機システムとしての動作が行
なわれるモードであり、前記の7ラグG及び後記のフラ
グGSは、このモードにおいてのみ意味を持つ。ネイテ
ィブモードは、実計算機モードであり、このモードでは
通常のO8下での動作が行なわれる。
(3)  フラグGS GS=01・・・・・・V=R,のVMモードGS=1
0・・・・・・V=几、1のVMモードGS=11・・
・・・・V=VのVMモードこのフラグは、走行中のV
Mのストレジモード(VMO主記憶装置への実MSの領
域の割当ての型ンを表わす。すなわち、”01”は走行
中のVMの主記憶装置がα=0に始まる連続領域である
こと(V=RのVM)を表わし、10”は通常の常駐V
M(V=R□皿のVM)を表わし、11”はその他のV
M(V=VのVM)を表わす。
MS2000は、領域2001と2002に大別される
。領域2001は、ハードウェアシステムエリア(H8
A)と呼ばれ、ここに対しては、ハードウェア又はマイ
クロプログラムのみが参照・更新を行なうことができ、
CPU100Oのプログラム命令によって直接アクセス
することはできない。
HS Aは、I10要求キュー2070、I10割込要
求キュー2080及びサブチャネル制御ブロック群20
90を収容する。I10要求キュー2070け。
第5図に示されるように、入出力装置と一対一に対応す
るサブチャネル(SC)に対するI10要求の待行列を
保持する。I10割込要求キュー2080は、第6図に
示すように、入出力動作を完了したサブチャネル(SC
)の待行列を、割込優先順位別に保持する。これらは従
来のものと同じである。
サブチャネル制御ブロック群209Ou本発明の特徴を
含み、それについては後述する。
領域2002は、プログラムでアクセスすることが可能
な領域であり、VMMのプレフィクス(PSA)210
0、VMIのP S A 2110、VMnのPSA2
120及びV’MM常駐部2200を含む。これらも、
従来と変らない。
第7図は、常駐VMの記憶装置階層を表わす。
第1常駐VM(VMI)O主記憶装置2000−1は、
MSのプログラムアクセス可能領域2002における、
ホスト絶対アドレスαIからβ1までの連続領域を占め
、VM絶対アドレス0〜β1−αlを持ち、ホスト絶対
アドレスr1に始まるVMIのPSA2110と%VM
IのOSが用意するアドレス変換テーブル2000−I
Tとを含む。アドレス変換テーブル2000−ITは、
VMIのO8が生成する任意数の仮想記憶空間2000
−IVとVMIの主記憶装置2000−1の間の、アド
レスの対応関係を与える。VMnで代表される他の常駐
VMの主記憶装置2000−nも同様である。走行中の
VMの主記憶装置のホスト絶対アドレスの下限と上限、
例えば、VMIの走行中はαlとβlが、VMS制御レ
ジしタ群1080中に、α1080(1)とβ1080
(2)として、それぞれ保持される。
VMMのP S A 2100は、ホスト絶対アドレス
Poから始まる。グレフィクス(PSA)は、主記憶装
置に用意された固定領域で、ハードウェアが直接管理す
る割込情報を保持するためのものである。仮想計算機シ
ステムにおいては、VMMと各VMが各自のPSAを持
つ。VMMのPSAのホスト絶対アドレスPaは、CP
PX几1010に常時保持されており、走行中のVMの
PEAのホスト絶対アドレスr(例えば、VMIが走行
中ならばγ! )は、VMPXR1070に保持される
。走行中のVMに反映すべきハードウェア割込み、例え
ば、走行中のVMの仮想記憶空間で生じるページフォル
ト割、込みは、VMPX几1070を介して、直接に、
走行中のVMのPSAに反映される。すなわち、VMM
(7)PSA2100を読出して一旦VMMに制御を渡
し、VMM中のシミュレーションプログラムによって走
行中のVMのPSAに反映するのではなく、ハードウェ
アとマイクロプログラムにより、VMPXR,1070
に従って走行中のVMのPSA (例えば2110)に
直接アクセスして、反映処理を行なう。これらも従来と
同じである。
l0P3000は、サブチャネルレジスタ群3011上
下限レジスタ群3030及び制御用のマイクロブOクラ
ム(μpH[)3020を有する。サブチャネルレジス
タ群301oは本発明の特徴を含み、それに応じて、μ
pH13020も従来のものとは異なる機能を持ち、こ
れらについては後述する。上下限レジスタ群3030は
、第8図に示されるように、各常駐VMの主記憶装置の
下限及び上限のポスト絶対アドレスαl〜α、βl〜β
。並びに状態ビット5lul−sイU、を保持する。状
態ピッ)slu、の意味は次のとおシである。
S + = 1−・” V−几又はR、、I(D V 
Ms I= O−−V = V (D V Mu I=
1・・・・・・有効エントリ u1−0・・・・・・無効エントリ S1とu、が共にto 1hpのときのみ、下限アドレ
スα1と上限アドレスβ1がその意味を持つ。これらの
情報は、常駐VMが定義、すなわちtag −onされ
る時に、そのためのVMM専用命令を実行するハードウ
ェア又はマイクロプログラムにより、)、 H8A20
01内の特定の領域中に生成され、l0P3000が、
I10100実行に際し、前記領域から上下限レジスタ
群3030に取込む。これらは従来と変りがない。
第1図a−eは、サブチャネル制御ブロック群2090
の詳細を示す。サブチャネル制御ブロック群2090は
、各サブチャネルに対応してサブチャネル制御ブロック
2090Kを持つ。サブチャネル制御ブロック2090
 Kは、第1図すに示されるように、VM情報2090
−KVと、サブチャネルステータスワード(SC8W)
2090−KSを保持する。VM情報2090−KVは
、第1図Cに示されるように、次のような情報を含む。
(1)  VM4=は、対応するサブチャネルを使用す
るVMの識別番号である。
(2)状態フィールド2090−KVSは、前記VM+
が示すVMに関するこのサブチャネルの状態を表わす。
例えば、このフィールドは1バイトの長さを持ち、その
最上位ビットが“1″であることにより、このサブチャ
ネルが当該VMに専属的に割当てられていることを表わ
す。
(3)CCWアドレス変換情報2090−KVCは、こ
のサブチャネルの制御に使われるチャネル指令語(CC
W)のためのアドレス変換に関する情報であり、第1図
dに示されるように、以下の情報を含む。
(1)Lは、CCWのアドレスレベル(CCW自体のア
ドレス及びCCWが指定するデータアドレスの種類)を
示し、本発明により新たに用意されたものである。
I、=00・・・・・・ホスト絶対アドレスによるCC
wL=01・・・・・・VMの絶対アドレスにょるCC
WL=10・・・・・・VMの仮想アドレスによるCC
WL−11・・・・・・VMの絶対アドレスによるCc
wとVMの仮想アドレスによる CCWの混在 (ii)  SSは、VMの仮想記憶空間のセグメント
サイズを示す。すなわち、 5s=oo・・・・・・64KBのセグメントサイズ5
S=10・・・・・・IMBのセグメントサイズ(*;
i)p sは同じくページサイズを示す。
PS=01・・・・・・2 K BのページサイズPS
=10・・・・・・4KBのページサイズ(iV)  
Cは、L=11の場合に、VMの仮想アドレスによるC
CW列とVMの絶対アドレスによるCCW列の、境界を
なすCCW(例えば’pra −nsfer in c
hannel”コマyド)の位置を示し、本発明により
新たに用意されたものである。
(V)、  Fは、使用されるccwのフォーマットを
示す。
F=O・・・・・・フォーマット。
F=1・・・・・・フォーマット1 フオーマツト0のcCWは、第9図aに示されており、
そのデータアドレスは24ビツトの長さである。フォー
マット1のccwは、第9図すに示されており、そのデ
ータアドレスは31ビツトの長さである。
(4,)  S T OH5VM(D仮想アドレスにょ
るcCWが使用される場合に、そのCCWが属するVM
の仮想記憶空間を定義するセグメントテーブルの先頭ア
ドレス(セグメントテーブルオリジン)ヲ含む。このア
ドレスは、VMの実アドレスである。
(5)CCWアドレスは、対応するサブチャネルで実行
されるチャネルプログラムの先頭のCCWのアドレスを
示す。
VM7−キfりfヤ(AR)2090−KVAは、当該
サブチャネルを使用するVMのアーキテクチャを、次の
ように識別する。
AR=01・・・・・・アーキテクチャMAR=10・
・・・・・アーキテクチャM/EAAll、=11・・
・・・・アーキテクチャM/XAここで、M、M/EA
及びE/XAは、3種の異なるアーキテクチャを表わす
ために仮りに用いられた記号であって、それ以上の特別
の意味は持たない。アーキテクチャが異なると、アドレ
ス変換テーブルのレイアウトやエントリバイト数などが
異なるので、この差異に適応するだめに1本発明により
この情報が用意される。
5C8W2090−KSは、I10動作完了時における
当該サブチャネルの状態を表わし、第1図eに示される
ように、次のような情報を含む。
(1)ALは、このサブチャネルで最後に実行されたC
CWのアドレスレベルを示す。
AL=00・・・・・・ホスト絶対アドレスAL=01
・・・・・・VMの絶対アドレスAL=10・・・・・
・VMの仮想アドレスこれは、本発明により新たに用意
された情報である。
(2)最後に実行されたCCWのアドレスに′8”を加
えた値は、その次のCCWのアドレスを示す。
′8″を加えたのは、CCWの長さが8バイトであるこ
とによる。このアドレスの値は、前記ALが示すアドレ
スレベルによるものである。第1図fは、以上の諸情報
を一括して示す。
l0P3000内のサブチャネルレジスタ群3010は
、第10図に示されるように、各サブチャネル対応にサ
ブチャネルレジスタ3010−Kを持ち。
各サブチャネルレジスタは、対応するサブチャネルが使
用するCCWのためのアドレス変換に必要な情報AR,
L%88.PS、VMす、C,FlSTO及びCCWア
ドレスを含む。これらの意味内容は、前述したサブチャ
ネル制御ブロック中のVM情報2090−KVにおける
、同一符号で示された情報と同じである。
これらの情報は、次のようにして生成又は取得される。
まず、VMの定義時に、そのためのVMM専用命令を実
行するハードウェア又はマイクロプログラムにより、そ
のVMに専属的に割当てられたサブチャネルに対応する
サブチャネル制御ブロック0.VM情報領域2090−
KVに、VMす、状態フィールド及びへ几がセットされ
る。当該サブチャネル制御ブロック中のCCWアドレス
変換情報2090−KVCの内容は、後述するようにし
て、このサブチャネルに向けられたI10起動命令の実
行時に、110命令のオペランドの情報とCRIloo
から転送される。1.OP内のサブチャネルレジスタ3
010−にの内容は、後述するようにして、サブチャネ
ルの起動時に、サブチャネル制御ブロックのVM情報領
域2090−KVから取込まれる。また、S C5W2
090−K Sの内容は、I10処理完了時に、l0P
3000から得られる。
なお、複数のVMで共用されるサブチャネルに対するI
10命令は、競合問題の解決のため、直接実行を避けて
、従来のようにVMMの介入により処理するのが好まし
い。
第11図は、VMのO8から発行されたI10起動命令
と、それに対応するチャネルプログラム(CCWチェイ
ン)の−例を示す。I10起動命令2801は、命令コ
ード5SCH(スタートサブチャネル)と、ベースレジ
スタ指定値Bと、ディスプレイスメントDを含む。Bで
指定されるペースレジスタの内容とDの和が、オペラン
ド2800のアドレスを与える。サブチャネル番号を格
納したレジスタ2802も、I10起動命令2801の
オペランドの一つであシ、特定のレジスタ番号で指定さ
れる。
オペランド2800は、情報STO,C,L、F及びC
CWアドレスを含み、これらの意味内容は。
既述の第1図において同一符号で示されたものと同じで
ある。ただし、VMOO8自体はVMN実計算機かを区
別せずに、単に絶対アドレスか仮想アドレスかを区別す
るだけであシ、それが、VMSの下で、l0P3000
により、第1図について説明したような意味に解釈され
るのである。したがって、ネイティブモードにおいては
、STOは実計算機システムにおける実アドレスであり
、Lが示すアドレスレベルも、実計算機システムにおけ
るものと解釈される。
第11図は、VMの絶対アドレスによるCCWの列28
10−几に、VMの仮想アドレスによるCCWO列28
10−Vが続く例を示している。このとき、I10起動
命令のオペランド2800中のLは′11”であり、C
CWアドレスは、絶対アドレスCCW列2810−Rの
先頭CCWIの位置を、VMの絶対アドレスにより示し
、Cは、絶対アドレスCCW列281〇−凡の末尾に置
かれたT I C(Transfer in chan
nel ) コーqンドの相対位置を示す。TICコマ
ンドは、チャネルブ幣ログラムにおけるジャンプ命令で
あシ、そのジャンプ先は、VMの仮想記憶空間(例えば
第7図の2000−■)中occw列2810−Vの先
頭CCW4の位置を、VMの仮想アドレスにより示す。
この仮想記憶空間2000−Vのためのセグメントテー
ブルの先頭アドレスは、オペランド2800中のSTO
により、VMの実アドレスで示されている。
なお、本実施例では、説明を簡明にするため、絶対アド
レスCCW列と仮想アドレスCCW列の混在は、第11
図に示される型においてのみ許されるものとするが、他
の型の混在も許されるようにしてもよいのはもちろんで
ある。
以下、動作を説明する。計算機システムをVMSモード
で動かすかネイティブモードで動かすかが、初期プログ
ラムロード時に指定される。この指定は、オペレータが
行なってもよい。フラグV1090(2)は、VMSモ
ードのときに′1”にセットされ、ネイティブモードの
ときにfiO“にセットされる。
以下、VMSモードの場合について述べる。VMの定義
時に、常駐VMに対して、前述のように。
そのVMO主記憶装置の下限アドレスαと上限アドレス
βがH8A内の特定の領域にセットされるとともに、そ
のVMに専属的に割当てられたサブチャネルに対応する
サブチャネル制御ブロックのVM情報領域2090−K
Vにおいて、VM手、状態フィールド及びARがセット
される。そのほかに、仮想ザブチャネル番号から実サブ
チャネル番号への変換テーブルその他のVMSに必要な
変換テーブルが、従来どおシ用意される。
あるVMの走行を開始させるに当た。9.VM起動専用
命令を介して、フラグG1090(1)、G51090
(3)及びvMす1080(3)がセットされ、更に、
常駐VMの場合は、その主記憶装置の下限アドレスα1
080(1)と上限アドレスβ1080(2)がセット
される。本実施例では、常駐VMからのI10命令のみ
が直接実行されるものとし、以下、常駐VMについて説
明する。CRIlooには、VMのO8により、SS及
びPSの値がセットされる。
走行中のVMがI10起動命令2801を発行すると、
CPU1000のI10命令実行回路1030は、それ
を解釈し、オペランド2800のアドレスをBとDに基
づいて計算した後、μP i 1050に制御を渡す。
μP I 1050は、変換テーブルに基づいて、工1
0起動命令が指定するサブチャネル番号2802を実サ
ブチャネル番号に変換し、続いて、該当するサブチャネ
ル制御ブロック2090−Kを、サブチャネル制御ブロ
ック群2090から取出し、状態フィールド2090−
KVSを調べる。
その結果、そのサブチャネルが当該VMに専属的に割当
てられたものでなければ(先頭ビット=tt Oty 
)、直接実行が許されないので、VMMが呼出されるが
、専属的に割当てられたサブチャネルであれば(先頭ビ
ット=“1”)、次に、そのサブチャネルがビジーであ
るか否かが調べられる。
ビジー状態か否かは、従来どおり、適轟な状態ビットに
より示される。もしもビジーであれば、条件コードがセ
ットされて、処理は終了する。しかし、ビジーでなけれ
ば、μP ■1050は、命令オペランド2800中の
5TO1C,L、F及びCCWアドレスと、CR110
0中のSS及びPSを、該当するサブチャネル制御ブロ
ックのVM情報領域2090−KVに移し、それが終る
と、対応する要求を、I10要求キュー2070に加入
させ、次いで、l0P3000に起動信号を送り、ここ
でCPU1000での処理は完了する。以上の処理は、
処理される情報の内容を除けば、従来のもの(例えば前
掲特願昭59−5587号)と基本的に同じである。
起動信号を受けたl0P3000は、非同期に工10起
動処理を行なう。すなわち、μpH13020は、適当
なタイミングで、I10要求キュー2070の先頭にあ
るI10要求を取出し、対応するサブチャネル制御ブロ
ック2090−に中の所要情報を、対応するサブチャネ
ルレジスタ3010−Kに取出して、それらの指示する
ところに従い、l0C4000を介して、入出力機器を
制御する。特に、本発明の特徴であるアドレス処理は、
次のように行なわれる。
(1)L=OOの場合 各CCW自体のアドレスと、各CCWが指定するデータ
アドレスは、すべてホスト絶対アドレスと見なされる。
したがって、いかなるアドレス変換処理も行なわれない
(2)L=01の場合 CCWに関連するアドレスは、すべてVMの絶対アドレ
スと見なされ、ホスト絶対アドレスに変換される。μP
 III 3020は、サブチャネルレジスタ3010
−に中のVMΦに基づき、対応する上下限レジスタ群3
030のエントリを調べ、それが有効(Sty  u、
=l、1)ならば、指定されたアドレスに下限値αIを
加算して、ホスト絶対アドレスを得る。その際、得られ
たアドレス値がβlを越えれば、アドレス例外処理か行
なわれる。
Sl、u+4”L  1ならば、アドレス変換は禁止さ
れ、VMMの割込みが生じる。
(3)L=10の場合 CCWに関連するアドレスは、すべてVMの仮想アドレ
スとみなされる。μP[[3020は、サブチャネルレ
ジスタ3010−に中のVMすとSTOに基づいて、当
該VMのアドレス変換テーブルのホスト絶対アドレスを
求め、更にARを参照しつつ、このアドレス変換テーブ
ルを検索し、指定されたアドレスをVMの絶対アドレス
に変換する。
ARは、vMのアーキテクチャの相違1口たがって、ア
ドレス変換テーブル(セグメントテーブルとページテー
ブル)の形式の相違を示し、それによりテーブル検索処
理の細部が定められる。こうして得られたVMの絶対ア
ドレスは、次いで、前記(2)の場合と同様にして、ホ
スト絶対アドレスに変換される。
(4)L=11の場合 この場合のCCW列の一例が、前述のように、第11図
に示されている。μP III 3020は、絶対アド
レスCC界列2810−R中の各CCWK対して、サブ
チャネルレジスタ3010−に中のCが示す位置にある
TICコマンドを読出すまでは、前記(2)の場合と同
様なアドレス変換処理を行ない、TICのジャンプ先ア
ドレス、及びそれ以降における仮想アドレスCCW列2
810−V中の各CCWに関連するアドレスについては
、前記(3)の場合と同様なアドレス変換処理を行なう
l0P3000によるI10実行処理が完了すると、I
10終了割込みが生じる。この割込みは、ハードウェア
又はマイクロプログラムにより直接に、又は、VMMに
よるシミュレーションにより、VMに反映させることが
でき、いずれの方法も、基本的には従来技術に属する。
ただ1本発明によれば、I10終了割込みの処理に際し
て、μP■3020によりサプチャネル制御ブロック2
090−Kに転送されるS C5W2090−K Sは
、情報ALを含む。この情報ALは、前述のように、実
行されたCCW列中の最後のCCWが、どのアドレスレ
ベルによるものであるかを示し、第11図に示されるよ
うな異なるアドレスレベルのCCWの混在が、本発明に
よって許容される(L=11の場合)結果、必要となる
ものである。例えば、一旦中断されたチャネルプログラ
ムの実行を再開する場合、5C8W2090−KSの「
最終CCW+8」が示す次に実行すべきCCWは、実ア
ドレスCCW列2810−RK属するのか、それとも、
仮想アドレスCC界列2810−Vに属するかを知る必
要があり、これを知るために情報ALが参照される。
常駐VMO主記憶装置の下限アドレスα及び上1(Ji
LアドレスβのH8Aへの設定、並びにサブチャネル制
御ブロックのVM情報領域2090−KVへのVMす、
状態フィールド及びARの設定を生じるVMM専用命令
は、いわゆる特権命令として扱う、ことができる。その
場合、それらは、フラグG1090 (1)とV6O1
3(2)によって示されるハイパモードにおいてのみ実
行可能であシ、他のモードにおいては、命令例外として
処理される。
前記実施例において、VMの実アドレスと絶対アドレス
は、l0P3000における処理に関しては、区別する
ことなく扱われる。したがって、前記説明において、V
Mの絶対アドレスは、VMの実アドレスと読替えること
ができる。このように扱っても、VMのソフトウェアに
対して、プレフィクス変換の影響を受けない領域にCC
W列を置くという制限を課せば、支障はない。前記の制
限を除き、実アドレスと絶対アドレスを区別して処理す
るようにすることもできるが、そのためには、VMのプ
レフイクスレジスタをI OP 3000内に設けねば
ならず、また、処理も複雑になる。
また、マイクロプログラムμPI〜■に代えてワイヤー
ドロジックを用いてもよいことは、いうまでもない。
〔発明の効果〕
本発明によれば、異なるアーキテクチャのVMを含む仮
想計算機システム、更には、異なるアドレスレベルのC
CWからなるチャネルプログラムを持つVMを含む仮想
計算機システムにおいても、rlO喬令の直接実行が可
能であ)、シたがって、仮想計算機システムにおけるオ
ーバヘッドの主要因ノ一つであるI10シミュレーショ
ンのオーバヘッドを、削減することができる。
【図面の簡単な説明】
第1図a ”−eは本発明におけるサブチャネル制御ブ
ロックの内容の模式図、第1図fは第1図C〜Cの情報
の一覧図、第2図は本発明を含む計算機システムのブロ
ックダイヤグラム、第3図はVMS制御レジしタ群の模
式図、第4図はVMS制御フラグ群の模式図、第5図は
I10要求キューの模式図、第6図はI10割込要求キ
ューの模式図、第7図は仮想計算機の主記憶装置の階層
構造の模式図、第8図は上下限レジスタ群の模式図、第
9図はCCWのフォーマット図、第10図はサブチャネ
ルンジスタの内容の模式図、第11図は本発明によるチ
ャネルプログラムの一例の模式図である。 1030・・・I10命令実行回路、1050・・・I
10命令命令用マイクロプログラム、2001・・・ハ
ードウェア又はマイクロプログラムによってのみアクセ
スしうる主記憶装置領域、2090・・・サブチャネル
制御ブロック群、2090−I(S・・・サブチャネル
ステータスワード、2090−KV8・・・専属チャネ
ルか否かを示す状態フィールド、2090−KVC・・
・チャネル指令語アドレス変換情報、2090−KVA
・・・VMのアーキテクチャを示す情報(yl)、30
10・・・サブチャネル制御用レジスタ群、3020・
・、−110プロセツサ制御用マイクロプログラム、L
・・・アドレスレベル情報、c・・・アドレスレベル変
化点情報、AL・・・張終チャネル指令語のアドレスレ
ベルを示す情報、AR・・・VMのアーキテクチャを示
す情報。

Claims (1)

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

Cited By (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 仮想計算機のアドレス変換回路
JPH04253227A (ja) * 1991-01-29 1992-09-09 Hitachi Ltd 仮想計算機システム
JP2010079612A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd チャネルコマンドワード先読み処理プログラム及びチャネルコマンドワード先読み処理装置

Cited By (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 仮想計算機のアドレス変換回路
JPH04253227A (ja) * 1991-01-29 1992-09-09 Hitachi Ltd 仮想計算機システム
JP2010079612A (ja) * 2008-09-26 2010-04-08 Fujitsu Ltd チャネルコマンドワード先読み処理プログラム及びチャネルコマンドワード先読み処理装置

Also Published As

Publication number Publication date
JPH0754469B2 (ja) 1995-06-07

Similar Documents

Publication Publication Date Title
EP0150039B1 (en) I/o execution method for a virtual machine system and system therefor
US12147813B2 (en) Method for handling exception or interrupt in heterogeneous instruction set architecture and apparatus
JPS6083168A (ja) マルチプロセツサ・システム制御方法
US7712104B2 (en) Multi OS configuration method and computer system
US4347565A (en) Address control system for software simulation
JP2558064B2 (ja) I/o装置と拡張記憶装置又は主記憶装置の間でデータを転送する方法
EP3594807A1 (en) Virtual disk file format conversion method and device
JPH0212553A (ja) 仮想計算機システム
JPS61190638A (ja) 仮想計算機のフアイル制御方式
US5392409A (en) I/O execution method for a virtual machine system and system therefor
KR20050085699A (ko) 가상 기계 제어 방법 및 시스템
US4654779A (en) Multiprocessor system including firmware
JPS61288231A (ja) 仮想計算機システムのための入出力命令実行装置
JPS61206042A (ja) 仮想計算機の入出力方式
CN112559120A (zh) 定制化pcie总线io虚拟化支撑方法
JPS6336012B2 (ja)
JPS6134632A (ja) 仮想計算機命令制御方式
JPH0567973B2 (ja)
JP2612173B2 (ja) 仮想計算機
JPH0711784B2 (ja) 計算機システム
JPS62221041A (ja) 仮想計算機システムにおけるデイスパツチ制御装置
Umeno et al. New methods for realizing plural near-native performance virtual machines
JPS6051951A (ja) 入出力処理装置
JPH02310648A (ja) 仮想計算機用拡張記憶のデータ転送実行装置
JPH0318936A (ja) リカーシブ仮想計算機の入出力実行装置