JPH0212553A - 仮想計算機システム - Google Patents

仮想計算機システム

Info

Publication number
JPH0212553A
JPH0212553A JP63164758A JP16475888A JPH0212553A JP H0212553 A JPH0212553 A JP H0212553A JP 63164758 A JP63164758 A JP 63164758A JP 16475888 A JP16475888 A JP 16475888A JP H0212553 A JPH0212553 A JP H0212553A
Authority
JP
Japan
Prior art keywords
input
output
interrupt
instruction
architecture
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
JP63164758A
Other languages
English (en)
Other versions
JP2629278B2 (ja
Inventor
Toshiharu Tanaka
俊治 田中
Toru Otsuki
大築 徹
Hiroaki Sato
博昭 佐藤
Hideo Sawamoto
英雄 澤本
Makoto Yamagata
良 山縣
Shinya Watabe
真也 渡部
Hidenori Umeno
梅野 英典
Masatoshi Haraguchi
原口 政敏
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 JP63164758A priority Critical patent/JP2629278B2/ja
Publication of JPH0212553A publication Critical patent/JPH0212553A/ja
Priority to US08/008,842 priority patent/US5499379A/en
Application granted granted Critical
Publication of JP2629278B2 publication Critical patent/JP2629278B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、仮想計算機の入出力実行方式に関し、特にア
ーキテクチャの異なる2つの仮想計算機の入出力命令お
よび入出力割込みを制御プログラムを介在させずに直接
実行できる入出力実行方式に関するものである。
〔従来の技術〕
仮想計算機システム(Virtial  Machin
e  System、以下、VMSと記す)は、1台の
実計算機の下で、複数の論理的な計算機である仮想計算
機(以下、VMと記す)の同時走行を可能とするシステ
ムである。例えば、rシステム370エクステンプイド
・アーキテクチャ・インタプリティブ・エクスキュージ
ョンj(IBM  System/370  EXte
nded  Architecture  Inter
pretive  Execution  5A22−
7095)に記載されているように、近年においては、
31ピッ1−・アドレッシング機構を有する370− 
XAアーキテクチャの実計算機の下で、370− XA
アーキテクチャのVMと24ビット・アドレッシング機
構を有するS/370アーキテクチヤのVMを、同時に
走行させる技術が開発されている。なお、上記370−
 XAおよびS / 370の詳細については、それぞ
れ370− XAプリンシプル・オフ・オペレーション
(370−XA  Pr1nciples  of  
0paration  5A−22−7085)、およ
びS/370ブリンシブル・オフ・オペレージ目ン(S
/370  Pr1ncjple!!of  0per
ation  GA−22−700−3)を参照された
い。これらの370− XAおよびS / 370アー
キテクチヤは、例えば、(株)日立製作所のMシリーズ
汎用計算機におけるM/EXおよびMアーキテクチャに
それぞれ対応している。
上記文献に記載された計算機のS/370と370−X
A、あるいはMシリーズ汎用計算機のM/EXとMは、
それぞれアドレッシングに加えて、■/○命令およびI
10割込みの形式が異なっているため、処理が全く異な
っている。従って、VMの入出力起動命令および入出力
割込みは、仮想計算機の制御プログラム(以下、VMC
Pと記す)が介在してシミュレーションを行っている。
しかし、VMCPによるシミュレーションによる入出力
起動命令や入出力割込みは5プログラムで行うために、
時間がかかり過ぎ、処理速度が遅くなってしまう。
そこで、この入出力シミュレーションに関するオーバヘ
ッドを削減するために、VMCPに制御を渡すことなく
、全てハードウェアで入出力を直接実行する方法が提案
された(例えば、特開昭60−150140号公報参照
)。上記公報では。
M/EX実計算機の下で、M/EXモードVMの入出力
命令および入出力割込みをハードウェアで直接実行する
ための方法が示されている。以下、図面によりこの動作
を詳述する。
第18図〜第27図は、従来の入出力直接実行方式の説
明図である。
このうち、第18図は、M/EX計算機の機能構成を示
すブロック図である。
計算機は、主記憶装置1000、中央処理装置(以下、
CPUと記す)2000.入出カプロセッサ(以下、I
OPと記す)3000、入出力制御装置(以下、IOC
と記す)4000.および入出力装置5000から構成
されている。ここでは、IOCおよび入出力装置は、そ
れぞれ1個ずつ設けられているが、いずれも複数個存在
するのが普通である。主記憶装置11000には、I1
0実行要求キュー1100、I10割込み要求キュー1
200、IOP用アドアドレス変換テーブル1300よ
び入出力装置に対応する数だけのサブチャネル1400
、ならびにVMに対応する数だけの5D1500の領域
が格納されている。また、CPU2000には、主記憶
装置1. OOOから読み出された命令が格納される命
令レジスタ2100、命令をデコードするための命令デ
コーダ2110、命令を実行するための命令実行回路2
120、VMCPが割込みが可能であるか否かを判定す
るホス1〜割込み起動回路2210、割込み処理を行う
割込み処理回路2300が設けられ、また各種の制御レ
ジスタとして、IEモードビット2400゜VMCPに
対応するホストPSW2410とホストCR6−242
0,VM&ニ一対応するゲストPSWとゲストCR6−
2440が設けられている。
この計算機の動作を、(i)Jll数設定処理(ii)
VMの起動処理と、(iii)vMの工10命令実行方
式、VMへのI10割込み実行方式とに分けて、順次説
明する。
(i)入 力点   のための     理第19図は
、実主記憶装置とVMの主記憶装置の関係と、IOP用
アドアドレス変換テーブル容を示す図である。
ここでは、第19図に示すように、VMの主記憶装置!
(レベル2メモ1月1000−4が実主記憶装置(レベ
ル1メモi月1000上に、一定変位α、たけずらして
存在するような常駐ストレージモードのVM(v=Re
si  VMとも言う)を入出力直接実行の対象として
いる。このために、先ず、レベル2からレベル1へのア
ドレス変換テーブル1300を形成する。このIOP用
アドアドレス変換テーブル1300VMを識別するため
の全領域識別子RIDから、実主記憶装置1000にお
けるVMの主記憶装置の起点アドレスα、と終点アドレ
スα□の組が得られるようなテーブルである。
次に、VMの装置専有処理において、CPU2000は
装置の専有状態を識別できるように、この入出力装置に
対応するサブチャネル1400内の5CH−DIO14
10フラグを11′に、また5CH−RI D 142
 (H,−専有元(7)VM(7)全領域識別子RID
を設定する。この識別子RIDは、IOP用アドレス変
換テーブルL300の該当するVMのRIDと同一のも
のである。
(■)兄竺匹履凱簸l VMの起動命令であるSI E (3t、3rt  I
 ntarpretive  E xecution)
は、第18図に示す主記憶装置の領域である5D150
0のアドレスをオペランドとして持っている。SDI°
500には、11′のときに入出力直接実行を指示する
S D −D I 01510と、走行中のVMをCP
Uが識別するためのRIDを格納する5D−RID15
20と、走行中のVMのアーキテクチャ(つまり、M/
EXかMか)を識別するたメc7)S D−ARCHl
 530とが設けられる。S D−ARCH1530は
、+ 01のときにMモードVMを、11′のときにM
/EXモードを、それぞれ表わす。
SIE命令が発行されると、命令実行回路2120によ
り、IEモードピット2400には、VM走行中を示す
′1″が設定され、ホストPSW2410、ホストCR
6−2420には、ホストつまりVMCPのPSWおよ
びCR6の値が設定され、ゲストPSW2430、ゲス
I−CR6−2440には、ゲストつまりVMに対応す
るS D、l 500に格納されているゲストレジスタ
の値が設定される。ただし、ホストPSW2410のビ
ット6であるI10マスクには、ゲストPSW2430
のビット6が設定される。また、入出力割込みの直接実
行には、割込みサブクラス(単にサブクラスとも呼ぶ)
の専有が前提となる。このために、例えば、VMIが仮
想サブクラスOに実サブクラス1を対応させて専有して
いる時には。
(イ)仮想サブクラスOのマスク値が10′、つまりゲ
ストCR6−2440のビット0が0′ならば、ホスト
CR6−2420のビット1(つまり、実サブクラス1
のマスク)には10′を設定する。
(ロ)仮想サブクラス0が11′であれば、ホストCR
6−2420のビット1には、11″を設定する。
これらの処理により、走行中VMの専有サブクラスに関
しては、ホストPSW2410のI10マスクとホスト
CR6−2420のマスクによりVMの割込みが制御可
能となる。
(正)VMのI10会令−′−式 VMが走行中に発行した入出力起動命令は、以下のよう
に、命令実行回路2120により実行される。
(イ)命令実行自回路2120は、5D1500の5D
−DIO1510にアクセスして、5D−DIO151
0が11′であれば次に進み、それ以外は、命令の実行
を抑止して、VMCPに命令を割り出す。
(ロ)命令実行回路2120は、命令で指定されたサブ
チャネル1400にアクセスし、5CH−DI0141
0が1′であり、5CH−RID1420と5D−RI
D1520が一致するならば次に進み、それ以外では、
命令の実行を抑止してVMCPに命令を割り出す。
(ハ)次に、命令実行回路2120は、第2オペランド
(B2/D2)のアドレス計算を行い、そのアドレスに
格納されている入出力起動情報を対応するサブチャネル
1400内の特定領域に格納する。
(ニ)サブチャネル1400が入出力実行可能(つまり
、対応する入出力装置5000に至るチャネルおよびI
 OC4000のバスがフリー)であれば、l0P30
00内のアドレス変換回路3100は、OSが作成した
レベル2メモリ上の仮想CCW群1600(第19図参
照)のCCWおよびデータアドレスに、5CH−RID
1420に対応する工○P用アドレス変換テーブル13
00に格納されている該当VMの主記憶起点アドレスで
あるα、を加算しながら実行していく。また、サブチャ
ネル1400が入出力実行不可能状態(つまり、チャネ
ルあるいは工○Cがビジー)ならば、サブチャネル14
00を第20図に示すI10実行要求キュー1100に
キューイングする。
そして、チャネルおよびIOCがフリーになると、IO
C制御ブロックにキューイングされた入出力実行要求に
対して、l0P3000は再起動処理を行う。
このようにして、走行中VMの専用装置に対するI10
命令がVMCPの介在なしで、ハードウェアにより直接
実行される。
(iv)VMへのI ○  み −式 サブチャネル1400には、仮想サブクラスO1つまり
入出力直接実行用の割込みサブクラスである実サブクラ
ス1が対応付けられているものとする。このとき、前述
のように、ゲストP SW2430のI10マスクとホ
ストPSW2410の■10マスクの値は一致し、さら
にゲストCR6−2420の仮想サブクラス0に対応す
るピッ+−0とホストCR6の実サブクラス1に対応す
るビット1の値は一致している。従って、サブチャネル
1400については、ホストにおける割込み可能条件が
ゲストにおける割込み可能条件に一致する。
サブチャネル1400の割込みは、次のように実行され
る。
(イ)サブチャネル1400に割込み要因が発生すると
、l0P3000は、サブチャネル1400に設定され
ている実サブクラス番号であるサブクラス1の110割
込み要求キュー1200 (第21図参照)にサブチャ
ネル1400をキューイングする。
(ロ)その後、l0P3000は、第22図に示すホス
ト割込み起動回路2210内の実割込み保留レジスタ2
214のビット1(実サブクラスに対応している)を′
1′に設定する。
(ハ)ホストCR6−2420のビット1が11′であ
るとする。このとき、AND回路群2211のサブクラ
ス1の部分の出力が′1″となり、OR回路2212の
出力が51′となる。また、ホストPSW2410のI
10マスクの値が11′であるとすると、AND回路2
213の出力が11′となり、割込み処理回路23oO
に起動信号が送られる。
(ニ)割込み処理回路2300では、該当するサブクラ
スのI10割込み要求キューの先頭のサブチャネル14
00をデキューして、サブチャネル1400内に格納さ
れている割込みコードをVMのPSAの特定領域に格納
する。また、VMのPSA内のIloのOLD  PS
Wフィールドに割込み時のゲストPSW2430をセー
ブし、さらにVM(7)PSA内(7)Ilo(7)N
EW  PSWをゲスI−PSW2430にロードして
、命令を実行することにより割込み処理を終了する。
以上のように、走行中VMが専有する入出力直接実行用
サブクラスでは、VMが割込み可能である場合にのみV
Mに割込みが実行される。また、割込み要因が発生した
ときに、VMが入出力直接実行用のサブクラスについて
割込み不可能な状態の場合には、I10割込み要求キュ
ー1200の該当キューにサブクラス1400がキュー
イングされる。
〔発明な解決しようとする課題〕
このように、上記公報に記載された方式では、常駐ス1
−レージモードVMの入出力に関するオーバヘッドを大
幅に削減するために有効である。しかし、この方式では
、次に述べるような4つの課題が生じる。
(イ)第1の課題は、入出力割込みに関するものである
。すなわち、VM走行中に、ホストPSW2410のI
10マスクはゲストPSW2430のI10マスクを設
定するので、ゲスI−P S W 2430のI10マ
スクが′0″であると、所望しないにもかかわらず、他
のVMあるいはVMCPへのI10割込みが抑止される
可能性があることである。
(ロ)第2の課題は、計算機アーキテクチャに関するも
のである。すなわち、上記公報に記載された方式では、
M/EX実計算機の下でM/EXモードVMのI10直
接実行を行っている。しかし、M/EX実計算機の下で
1MモードVMのIloも効率よく実行したい場合があ
るが、これは不可能であった。
(ハ)第3の課題は、異常終了したI10割込みの処理
に関するものである。すなわち、チャネル障害等により
、あるVMの専用装置への入出力が異常終了したとき、
この割込みをVMCPに通知して、VMCPに回復処理
を行わせることが望ましい。つまり、このように、特定
の状態で入出力が終了した場合には、VMに直接には割
込まず、VMCPに割込むことにより、VMCPに回復
処理を行わせれば、他のVMの入出力の信頼性を向上さ
せることになる。しかし、上記の従来方式では、VMC
Pに割込む等は不可能である。
(ニ)第4の課題は、入出力割込みマスクの更新命令の
実行方式に関するものである。すなわち。
VMへの入出力割込みを直接実行するためには。
ハードウェアがVMの入出力割込み可能条件を判定でき
なければならない。このため、VM上のOSが入出力割
込みマスクを変更した場合、ハードウェアはこの変更後
の入出力割込みマスクが指示する割込み可能条件に従っ
て割込みを処理する必要がある。しかし、上記従来の方
式では、このような入出力割込みマスクの更新命令を、
効率よく実行することはできない。
本発明の目的は、これら従来の課題を解決し、M/EX
実計算機の下で、アーキテクチャの異なるMおよびM/
EXモードVMの入出力命令および入出力割込みを効率
よく実行することが可能な仮想計算機の入出力実行方式
を提供することにある。
〔a!題を解決するための手段〕
上記目的を達成するため、本発明による仮想計算機の入
出力実行方式は、(i)第1(M/EX)と第2(M)
のアーキテクチャの計算機上で動作可能な少なくとも1
つのOSを、第1のアーキテクチャの実計算機と管理制
御プログラム(VMCP)の下で同時に走行させる仮想
計算機システムにおいて、上記実計算機の入出力装置対
応に、該入出力装置がある特定のOSに専有されている
か否かを判断する手段1410と、該実計算機上で走行
中のOSのアーキテクチャを判断する手段1510と、
走行中のOSが発行する第1のアキテクチャの入出力命
令に対して、該OSが第1のアーキテクチャを有し、か
つ該入出力命令の指定する入出力装置が、現走行OSに
専有されているときには、該入出力命令を該入出力装置
に対して発行し、現走行OSに専有されていないときに
は、上記管理制御プログラム(VMCP)に割出す手段
(第6図参照)を有することに特徴がある。また、(i
i)上記第1のアーキテクチャを有するOSが、第2の
アーキテクチャの入出力命令を発行した場合、該入出力
命令に対しては上記管理制御プログラム(VMCP)ま
たは該OSに割出す手段(第8図(a)参照)を有する
ことに特徴がある。(iii)また、上記実計算機は、
第2のアーキテクチャの入出力命令を第1のアーキテク
チャの入出力命令に変換する手段と、走行中のOSが発
行した第2のアーキテクチャの入出力命令に対して、該
OSが第2のアーキテクチャを有し、かつ該入出力命令
の指定する入出力装置が、現走行OSに専有されている
場合には、該第2のアーキテクチャの入出力命令を対応
する第1のアーキテクチャの入出力命令に変換して、こ
れを実行し、また該入出力装置が現走行OSに専有され
ていないときには管理制御プログラム(VMCP)に割
出す手段(第8図A、B。
第12図B、第13図参照)を有することに特徴がある
。(tv)上記実計算機は、第2のアーキテクチャのO
Sが第1のアーキテクチャの入出力命令を発行した場合
には、該入出力命令に対して管理制御プログラム(VM
CP)または該OSに割出す手段(第6図参照)を有す
ることに特徴がある。(V)上記実計算機は、入出力装
置対応に専有状態を示す入出力直接実行ビット1410
と、どの仮想計算機が専有するかを識別するための専有
OS領域IDフィールド1420を有し、OS走行開始
命令により走行中OSを識別するための走行中OS領域
ID1520を指示し、走行中OSが入出力命令を発行
したとき、該当する入出力装置の専有OS領域IDフィ
ールドの値と走行中OS領域IDの値が異なったとき、
および該入出力装置の入出力直接実行ビットが非専有状
態を指示するときには、管理制御プログラム(VMCP
)に割出す手段(第6図、第8図参照)を有することに
特徴がある。(vi)上記実計算機は、入出力直接実行
ビットと専有OS領域IDフィールドを更新する手段(
第5図参照)を有することに特徴がある。(vii)上
記実計算機は、OSの主記憶装置を実主記憶装置に常駐
させて、該OSの主記憶装置から該実主記憶装置へのア
ドレス対応関係を与えるアドレス変換手段1300を有
し、OSが入出力装置の入出力動作を指命するチャネル
指令語(CCW)を作成して、該入出力装置への入出力
を起動するための入出力命令を発行したとき、現走行O
Sに専有されている入出力装置であり、かつ該入出力命
令が該OSのアーキテクチャの入出力命令であるときに
は、上記アドレス変換手段により上記OSの作成したC
CWのアドレスを該実主記憶装置のアドレスに変換して
、その値を読み込み、該CCW内のデータアドレスを上
記実主記憶装置のアドレスに変換しながら、上記入出力
命令を実行する手段(第11図参照)を有することに特
徴がある。(vii )上記実計算機は、走行中OSの
入出力の処理モードを指定するフラグ1530を有し、
該フラグが入出力直接実行を指示するときには、上記(
vii)の入出力実行処理を有効とし、一方、該フラグ
が入出力直接実行を指示していないときには、OSの全
ての入出力命令を、入出力装置の専有、非専有にかかわ
りなく管理制御プログラム(VMCP)に割出すことに
特徴がある。(ix)上記実計算機は、アドレス変換手
段の内容を更新するための命令(第3図参照)を有し、
該命令のオペランドは、OSの主記憶装置の実主記憶装
置における開始番地識別子と領域長識別子とOSを識別
するための領域識別子とからなることに特徴がある。
(X)上記実計算機は、第1のアーキテクチャの入出力
起動命令のオペランドに、さらに領域識別子をオペラン
ドとして指定する入出力起動命令(第4図参照)を有し
、該命令は、領域識別子により指定されたOSの領域上
のCCWのアドレスを、命令で指定した領域識別子に対
応するアドレス変換手段を用いて実主記憶装置のアドレ
スに変換して、該値を読み込み、該CCWのデータアド
レスを上記アドレス変換手段により実主記憶装置のアド
レスに変換しながら、上記入出力起動命令を実行してい
くことに特徴がある。(n)上記実計算機は、現走行O
Sのハードウェア割込み情報を格納する領域(プレフィ
クス)のアドレスを記憶する手段を有し、1つないし複
数の割込みサブクラスを入出力直接実行用として第1の
アーキテクチャのOSにおいて、入出力割込み要因が現
走行OSの入出力直接実行用割込みサブクラスのもので
あり、かつ現走行OSが指定するI10マスクおよび割
込みサブクラスマスクに割込み可能であることが示され
ているときには、現走行OSのプレフイクスアドレス記
憶手段により現走行OSのプレフイクスを求め、該プレ
フィクスに該入出力割込みを反映させる手段(第14図
、第16図参照)を有することに特徴がある。(Xii
)上記実計算機は、プレフィクスのアドレスを記憶する
手段を有し、1つの割込みサブクラスを入出力直接実行
用に有する第2のアーキテクチャのOSで発生した入出
力割込み要因が、現走行中の第2のアーキテクチャの入
出力直接実行用割込みサブクラスのものであり、該OS
の指定するI10マスクおよび入出力直接実行用入出力
割込みサブクラスマスクに割込み可能状態が指示されて
いるときには、現走行OSのプレフィクスアドレス記憶
手段により現走行OSのプレフィクスを求め、該プレフ
ィクス領域に第1のアーキテクチャの割込み情報を第2
のアーキテクチャの割込み情報に変換して、入出力割込
みをOSに報告する手段(第14図、第16図および第
17図参照)を有することに特徴がある。(3C1ii
)上記実計算機は、管理制御プログラム(VMCP)が
指定するI10マスクと、入出力割込み要因が発生した
割込みサブクラスで、管理制御プログラム(VMCP)
が指定する割込みサブクラスマスクに、割込み可能が示
されているときには、管理制御プログラム(VMCP)
に入出力割込みを報告する手段(第16図、第22図の
ホスト割込み参照)を有することに特徴がある。(xi
v)上記実計算機は、OS走行中に発生した入出力割込
み要因が現走行OSの入出力直接実行用割込みサブクラ
スのものであり、かつ現走行OSのI10マスクおよび
該入出力直接実行用割込みサブクラスマスクに割込み可
能が示されており、かつ管理制御プログラム(VMCP
)が指定したI10マスクと入出力割込み要因が発生し
た割込みサブクラスに、管理制御プログラム(VMCP
)が割込み可能を指定しているときには、現走行中OS
か管理制御プログラム(VMCP)かいずれか一方に、
該入出力割込みを反映する手段(第16図参照)を有す
ることに特徴がある。(xv)上記実計算機は、OSの
ディスパッチ命令により割込み情報マスク1560゜2
302を指示し、該OSが走行中に発生した該当OSに
割込み可能な該OSの入出力直接実行用の割込みサブク
ラスからの割込み要因に対して、該割込みの割込み情報
が上記割込み情報マスクにより指定された割込み情報を
含むときしこは、走行中のOSに割込むことなく、管理
制御プログラム(VMCP)に割出す手段(第16図の
異常処理参照)を有することに特徴がある。(xvi)
上記実計算機は、第2のアーキテクチャのOSが走行中
に発生する該当OSの入出力直接実行用の割込みサブク
ラスからの割込み要因に対して、走行中のOSがQCモ
ードを示すときには、該割込みを管理制御プログラム(
VMCP)に割出す手段(第15図のBCモード参照)
を有することに特徴がある。(xvii)上記実計算機
は、OS割込みサブクラスレジスタ2450を有し、か
つ走行中OSの入出力直接実行用の割込みサブクラスマ
スクの値を対応する実サブクラス番号の上記OS用割込
みサブクラスレジスタに設定する手段と、上記OS用割
込みサブクラスレジスタとOSのI10マスクにより走
行中OSが割込み可能か否かを判断する手段(第14図
参照)を有することに特徴がある。(xvi)上記実計
算機は、割込みサブクラス番号の変換表を持ち、かつ第
1のアーキテクチャのOSが走行中に発行した割込みサ
ブクラスのマスク値変更命令に対しては、走行中OSの
入出力直接実行用割込みサブクラスのマスク値を、上記
変換表を用いて対応する割込みサブクラス番号を得てO
S用割込みサブクラスレジスタに設定する手段(第10
図参照)を有することに特徴がある。(xjx)上記実
計算機は、第1のアーキテクチャのOSをディスパッチ
する命令により、該OSの入出力直接実行用の割込みサ
ブクラスのマスク値を、対応するOS用割込みサブクラ
スレジスタに設定する手段(第9図参照)を有すること
に特徴がある。(xx)上記実計算機は、第1のアーキ
テクチャの入出力命令のうち、チャネルパスの状態を調
べる命令(STCPS命令)を管理制御プログラム(V
MCP)に割出すことなく、直接実行する手段(第6図
参照)を有することに特徴がある。(xxi)上記実計
算機は、第1のアーキテクチャのOSが発行した割込み
可能が指示されている割込みサブクラスに保留中の割込
みから、1つ割込み保留を解除する命令(TPI命令)
を管理制御プログラム(VMCP)に割出すか否かを判
断するフラグを持ち、かつ第1のアーキテクチャのOS
が走行中に発行した上記命令(TPI)に対して、上記
フラグが割出しを指示するときには、管理制御プログラ
ム(VMCP)に命令を割出し、上記フラグが管理制御
プログラム(VMCP)への割出しを指示していないと
きには、走行中OSの入出力直接実行用割込みサブクラ
スに関して、上記命令を実行する手段(第7図(A)参
照)を有することに特徴がある。
(xxii)上記実計算機は、第1のアーキテクチャの
入出力命令のうち、命令で指定した入出力装置の割込み
保留状態を解除し、命令で指定した主記憶装置上の領域
に割込み情報を格納する命令(TSCH命令)を、第1
のアーキテクチャのOSが該OSが専有する装置に対し
て発行したときには、管理制御プログラム(VMCP)
に割出すことなく実行する手段(第6図参照)を有する
ことに特徴がある。(xxni)上記実計算機は、第2
のアーキテクチャの入出力命令における入出力装置の識
別子および入出力実行パスの識別子から、対応する第1
のアーキテクチャの入出力命令での入出力装置の識別子
および入出力実行パスの識別子への変換テーブル(第1
0図参照)を有し、かつ第2のアーキテクチャのOSが
走行中に発行した入出力命令を第1のアーキテクチャの
入出力命令に変換しく第13図参照)、さらに上記変換
テーブルにより対応する第1のアーキテクチャでの入出
力′3Amの識別子および入出力実行パスの識別子を求
めて、これらの情報により上記対応する第2のアーキテ
クチャの入出力を実行する手段(第8図A、B参照)を
有することに特徴がある。(xxiv)上記実計算機は
、第2のアーキテクチャのOSをディスパッチする命令
において、該OSの入出力直接実行用割込みサブクラス
に対応するOS用割込みサブクラスレジスタに、該OS
のチャネルマスクが全て割込み可能を示すときには、割
込み可能を指示し、上記以外のときには、割込み不可能
を指示する手段(第9図の10703参照)を有するこ
とに特徴がある。
〔作  用〕
本発明においては、上記第1の課題、つまりゲストPS
Wの工/○マスクが′0°のとき、他のVMまたはVM
CPへの割込みが抑止されてしまう点を解決するため、
ホスト割込み起動回路2210とは独立に、ゲスト割込
み起動回路2220を設ける。このゲスト割込み起!l
J回路2220は、ゲストPSW2430のI10マス
クと走行中VMの入出力直接実行用専有サブクラスマス
クとを設定するI10直接直接用ゲスh CR6−24
50により、走行中VMの割込み可能条件を判定する回
路である。
また、上記第2の課題、つまりM/EX実計算機の下で
、MモードVMとM/EXモードVMのI10直接実行
を効率よく行うことができるようにするため、命令実行
回路2120および割込み処理回路2300の内部構成
を拡張する。また、Mモードの入出力開始命令で指定さ
れる仮想IM!アドレスを対応するサブチャネル番号に
変換するためのデバイスアドレス変換テーブル1551
(第12図B参照)を設ける。すなわち、命令実行回路
2120は1MモードVMが発行した入出力命令をデバ
イスアドレス変換テーブルを用いて対応するM/EXの
入出力命令に変換して実行するために拡張されている。
さらに、割込み処理回路2300は、MモードVMが走
行中に発生した走行VMの入出力直接実行用専用サブク
ラスからのM/EX形式の割込みを、Mの割込み形式に
変換してVMに反映するように拡張される。
次に、上記第3の課題、つまり異常終了した170割込
みの処理を、管理制御プログラム(VMCP)に通知し
て、回復処理を行わせることができるようにするため、
VMの起動時、5D1500中に割込みインタセプショ
ンマスクを指定する。
そして、割込み処理回路2300は、走行中VMに割込
み可能な専有サブクラスの入出力割込みが、上記割込み
インタセプションマスクに指定された割込み情報を含む
ときには、VMには割込まずに。
管理制御プログラム(VMCP)に割込む。
次に、第4の課題、つまり入出力割込みマスクの更新命
令を効率よく実行するため、5DI500中に、M/E
XモードVMの場合、仮想サブクラス番号と実サブクラ
ス番号の対応を与えるサブクラス番号変換表1540を
持つ、そして、VMがゲストCR6−2440を変更す
る命令を発行した場合、命令実行回路2100は、ゲス
トCR6−2440を更新するのみでなく、I10直接
直接用ゲストCR6−2450のマスクを上記サブクラ
ス番号変換表に従って変更する。
本発明の全体の作用は、以下のように行われる。
すなわち、ゲスト割込み起動回路2220は、ホストP
SW2410のI10マスクやホストCR6−2420
とは独立して、ゲストPSW2430のI10マスクと
I10直接直接用ゲスl−CR6−2450により、走
行中VMの専用サブクラスの割込み可能条件を判定する
。このため、ホストPSW2410のI10マスクとゲ
ストPSW2430のI10マスクは各々別個の値を設
定することが可能となり、VM走行中は、ホストPSW
2410のI10マスクには常に1′を設定することが
可能となる。従って、望まないにもかかわらず、VMC
Pや他のVMのI10割込みがハードウェアに保留され
ることはない。
また、拡張された命令実行回路2120は、デバイスア
ドレス変換テーブル1551を用いて、Mの入出力開始
命令を対応するM/EXの入出力開始命令に変換して実
行し、拡張された割込み処理回路2300は、M/EX
の割込み形式をMの割込み形式に変換する。このために
、M/EX実計算機上では、MモードVMの入出力を直
接実行可能となる。
さらに、割込み処理回路23oOは、走行中VMが専有
するサブクラスからの割込みが、5DI500中の割込
みインタセプシミンマスクに指定された割込み情報を含
む場合には、管理制御プログラム(VMCP)に割込む
。このために、管理制御プログラム(VMCP)は、回
復処理を行うことが望ましい割込みのパターンを割込み
インタセプションマスクに設定して、VMを起動するこ
とにより、チャネル障害時等における回復処理を管理制
御プログラム(VMCP)が行うことも可能である。
命令実行回路212Qは、M/EX(−−ドVMが発行
したゲストCR6−2440更新命令に対して、サブク
ラス番号変換表1540に従ってI10直接直接用ゲス
トCR6−2450のマスク値も更新する。このために
、上記命令実行後も、VMの割込み可能条件をゲストP
SW2430のI10マスクとI10直接直接用ゲスト
CR6−2450により、ゲスト割込み起動回1222
0は判定できる。このように、本発明においては、M/
EXモードVMのゲスl−CR6−2440更新命令を
管理制御プログラム(VMCP)に割出すことなく、直
接実行することが可能である9〔実施例〕 以下、本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示す仮想計算機の入出力
実行装置の機能フローチャートである。
本発明の主目的は、常駐ストレージを有するMモードお
よびM/EXモードVMの専用装置への■/○命令およ
び110割込みを、管理制御プログラム(VMCP)が
介在することなく、ハードウェアによる直接実行させる
ことである。
第1図のフローは、そのための処理を、VMとVMCP
とハードウェアとに分けて示している。。
先ず、VMCPが入出力直接実行のための環境設定処理
(ステップ100)を行った後、SIE命令(S ta
rt  I nterrupt  E xecutio
n命令)を発行して(ステップ101)、VMをディス
パシチした後、VM上のOSが入出力起動命令を発行す
ると、この命令は次のように実行される。なお、同−処
理欄内の()内はMモードの命令であり、また〔  〕
内はMモードの命令のみに対して必要な処理であって、
M/EXモードの命令では不要な処理である。
先ず、M/EXモードVMがその入出力起動命令である
5SCH命令を発行すると(ステップ102)、ハード
ウェアの入出力直接実行支援機構が対応する5SCHE
(Set  5ubchannel  Extende
d)命令を実行する(ステップ104)。これにより、
レベル2上の仮想CCW群が実行される。
このIloの処理が終了して、割込み要因が発生すると
、ハードウェアにより割込み可能か否かを判定して(ス
テップ1o5)、割込み不可能であれば、この割込みを
ハードウェアで保留する。(ステップ106)。また、
割込み可能であれば、走行中VMに報告すべき割込みか
否かを判定して(ステップ107)、そうであれば割込
みをVMCPが介在することなく、直接実行する(ステ
ップ109)。また、走行中VMに直接報告すべき割込
みでない場合には、先ずVMCPに割込み、VMCPが
VMへの割込み反映処理を行う(ステップ110)。
次に1MモードVMがその入出力起動命令である 5I
OF(Start    Ilo    Fast  
  Re1ease)命令を発行すると(ステップ10
2)、ハードウェアは、5SCHE命令が実行できる環
境を整えるため、S IOF>5SCHEの命令変換を
行い(ステップ103)、S S CHE命令を実行す
る(ステップ104)。このIloの処理が終了し、割
込み要因が発生すると、ハードウェアにより割込み可能
か否かを判定する(ステップ1o5)。割込み不可能で
あれば、この割込みをハードウェアで保留する(ステッ
プ106)。また、割込み可能であれば、走行中VMに
報告すべき割込みか否かを判定しくステップ1o7)、
そうであればMモードでの割込み情報をサブチャネルか
ら生成して、M/EXからMへの割込み情報の変換を行
い(ステップ108)、割込みを実行する(ステップ1
09)。また、走行中VMに直接報告すべき割込みでな
いときには、先ずVMCPに割込み、V M CPがV
Mへの割込み反映処理を行う(ステップ110)。
第2図は、本発明の一実施例を示す仮想計算機システム
の機能ブロック図である。
第2図の構成は、第18図に示す従来の構成とほぼ同じ
であるが、次の点が第18図の構成と異なっている(新
たに設けたブロックの下辺を太く記載している)a (イ)サブチャネ、IL/ 1400内に、5SCHE
動作を指定するための5CH−8SCHE1430ビツ
トを設けた。
(ロ)SD1500内に、サブクラス番号変換表154
0を設け、I10直接直接用に拡張した。
(ハ)命令実行回路2】20を、SIE命令、制御レジ
スタを更新するLCTL命令、VMの■10命令を実行
するために拡張した。
(ニ)走行中VMの専有サブクラスのマスクを保持する
I10直接直接用ゲスl−CR6−2450を設けた。
(ホ)走行中VMの専用サブクラスの割込み可能条件を
判定するゲスト割込み起動回路2220を設けた。
(へ)BCモードで走行中のVMの専用サブクラスの割
込みに対しては、無条件に割込み処理回路2300に起
動信号を送るためのBCモード割込み起動回路223o
を設けた。なお、M/EXではECモードのみであるが
、MではECモードとECモードの両方がある。
(ト)IOP3000内に、VMの入出力実行の初期設
定を行うための起点アドレスレジスタ設定回路3200
を設けた。
以上の増設機構を用いて、入出力直接実行のための環境
設定、VMの起動、VMの工/○命令の実行、I10直
接直接用ゲスl−CR6の設定、110割込み実行を行
う。
第3図、第4図および第5図は、それぞれ本発明で新た
に設けられた5ALE命令、S S CHE命令、およ
び5RID命令の構成図である。
(i)入 力点   の−めの VMCPは、本発明により新たに設けられたSA L 
 E  (S et   Address   L 1
m1t   E xtanded)命令により、VMの
主記憶装置の上下限アドレスをIOP用アドアドレス変
換テーブル1300定する。、第3図に示すように、5
ALE命令の第2オペランドアドレスは、l0P300
0が入出力要求元のVMを識別するためのRI D (
RegionI dentification)である
。また、汎用レジスタGR1のビット1からビット15
の開始番地の値に216を乗じた値が、実主記憶装置1
000におけろVMの主記憶装置の開始番地(下限アド
レス)であり、GRlに示された領域長nに対してn+
1に216を乗じた値がVMの主記憶装置の領域長であ
る。従って、GRIの開始番地と領域長に1を加算した
結果に21″を乗じた結果が、VMの主記憶装置1の終
点アドレス(上限アドレス)である。
VMCPが5ALE命令を発行すると、命令レジスタ2
100にこの5ALE命令が格納される。
これが命令デコーダ2110によりデコードされた後、
命令実行回路2120において第2オペランドの計算を
行い、RIDに対するIOP用アドアドレス変換テーブ
ル1300ントリに、GRIに示されている開始番地と
領域長から計算された上下限アドレスを格納する(第1
9図のテーブル参照)。
VMに入出力袋間を専用装置として接続する場合、この
装置が入出力直接実行対象であることを命令実行回路2
120が判定できるようにする必要がある。このために
、第5図に示すようなSRI D(Set  Regi
on I D)命令を新たに設けた。
5RID命令の第2オペランドアドレスは、命令実行回
路2120が装置専有光のVMを識別するためのRID
、および1′であるときには入出力直接実行対象の装置
であることを示し、また0′であるときには入出力直接
実行対象外の装置であることを示すDTビットからなる
。また。
入出力実行モードの設定対象入出力装はのサブチャネル
番号を汎用レジスタGRIに設定する。
VMCPがこの5RID命令を発行すると、命令レジス
タ2100に5RID命令が格納される。
命令実行回路2120は、第2オペランドアドレスの計
算を行い、GRIに示されたサブチャネル番号に対応す
るサブチャネル140oの5CH−DIO1410に第
2オペランドアドレスのDTビットを、また5CH−R
ID1420には第2オペランドアドレスのRIDを格
納する。
さらに、環境設定処理としては、サブクラスの専有処理
、MモードVMの場合には、後述のデバイスアドレス変
換テーブル1551の作成等が必要である。この点に関
しては、5D1500と密接に関係するので、次のVM
の起動処理において詳述する。
(ii)竺竺血起及笈l 第12図(、A、)(B)(C)は、本発明におけるS
D領領域説明図である。
VMの起動を行うためのSIE命令のオペランドである
S D 1.500は、第12図(A)に示すように1
次のようなフィールドから構成される。
(イ)SD−ARCHI 510 従来より存在するオペランドである。0′のときにはM
モードVMの起動を、また111 のときにはM/EX
モードVMの起動を、それぞれ示している。
(0)常駐ストレージモードビット1511これも従来
より存在するオペランドである。
′0′のときには非常駐ストレージモードVMの起動を
、また′1′のときには常駐ストレージモードVMの起
動を、それぞれ示している。
(ハ)rc、ビット1512 従来より存在するオペランドである。VM走行中に命令
例外のプログラム割込み要因が発生したとき、ICビッ
ト1512が′0゛であればVMに直接プログラム割込
みを報告し、 ′1′であればVMCPに割込むことを
指示する。
(ニ)LCTLインタセプトマスク1592従来より存
在するオペランドである。16ビツトから構成され、各
ビットが制御レジスタ番号に対応している。VMが制御
レジスタ値の変換命令LCTLを発行したとき、LCT
Lインタセプ1〜マスク1592に11′が設定されて
いる制御レジスタの変更要求を含む場合、命令の実行は
抑止されてVMCPに割り出される。
(ホ)SD−DIO1530 本発明により新たに設けられたオペランドである。i 
0 +のときにはI10直接実行を行わないことを表わ
し、′1′のときには■/○直接実行を行うことを表わ
す。
(へ)サブクラス番号変換表1540 本発明により新たに設けられたオペランドである。8エ
ントリから構成され、各エントリは、第12図(C)に
示すS CL −CN T Lである。5D−ARCH
1510が示すVMのアーキテクチャにより次の意味を
持っている。
DMモードVMの場合 ((E)SD−DIO1530が’o’ のとき、この
VMはI10直接直接用のサブクラスを有しない。
(β)SD−DIO1530が′1′のとき、このVM
はI10直接直接用サブクラスを有する。
サブクラス番号変換表1540の第0エントリ5CL−
CNTのS(ピッ[・3から7)が、VMが専有する実
サブクラス番号(装置専有時に、VMCPはこの実サブ
クラスを対応するサブチャネルに設定する)を、またD
(ビットO)が、このサブクラスに設定されるマスクの
値を示す。例えば、サブクラス番号変換表1540が(
8100000000)、’、のとき、実サブクラス1
を該当VMは専有し、実サブクラス1にはマスク値1を
設定することを表わしている。
■M/EXモードVMの場合 D=Oのとき、当該エントリの番号に対応するゲス1−
110割込みサブクラスは、110割込み直接実行対象
の110割込みサブクラスに対応付けられていない。
D=1のとき、当該エントリの番号に対応するゲスト1
70割込みサブクラスは、110割込み直接実行対象の
110割込みサブクラスに対付けられている。
S(ビット3〜7)は、ゲストに与えられた110割込
み直接実行対象の110割込みサブクラス番号を表わし
ている。例えば、サブクラス番号変換表1540が(8
200840000000000)、のとき、仮想サブ
クラスOは実サブクラス2に、仮想サブクラス2は実サ
ブクラス4に、それぞれ対応付けられており、しかも実
サブクラス2および4は、該当VMの専用サブクラスで
あることを示す。
SIE命令が発行されると、このサブクラス番号変換表
1540に従って、命令実行回路2120は、I10直
接直接用ゲストCR6−2450の設定を行う。これに
ついては、後、に詳述する。
(ト)SD−RID1520 本発明により新たに設けられたオペランドである。I1
0直接実行支援を行うために、VMの識別子テあるRI
Dを設定する。S D −R’f ]) 1520と、
5ALE命令で該当VMの上下限アドレス設定時に指定
したRIDと2該当VMに装置を専有させたときに5R
ID命令で指定したRIDは、同一のものでなければな
らない。また、RIDはVMごとに異なるが、RIDの
管理は、VMcpが行う。
(チ)DEV−ORG L 550 本発明により新たに設けられたオペランドである。後述
するデバイスアドレス変換テーブル1551の先頭アド
レスを示している。このフィールドの値は、ゲストがM
モードで、かつ5D−DIOI530がIl+の場合に
のみ有効である。
第12図(B)に示すように、デバイスアドレス変換テ
ーブル1551は(2000)、、エン(・りのDEV
TBLから構成され、エントリ番号は1Mの入出力命令
のオペランドである仮想装置アドレスである。DEVT
BLの各フィールドは、各々次のような意味を持ってい
る。
D=Oのとき、直接実行の対象外の装置である。
D=1のとき、直接実行対象の装置である。エントリ番
号に対応する仮想装置アドレスにVMがMの入出力起動
命令を発行したとき、DEVTBLに示されたサブチャ
ネルに対して、DEVTBLに示された論理パスマスク
LPMを用いてM/EXの入出力起動命令を実行するこ
とを指示する。
VMCPは1MモードのVMに装置を専有させた時、デ
バイスアドレス変換テーブル1551の該当するエント
リのDEVTBLのDピッ1−を11′に設定し、さら
にLPMおよびサブチャネル番号を設定する。このデバ
イスアドレス変換テーブルを用いて、MモードVMのI
loがどのようにして直接実行するかについては、(■
)で詳述する。
(す)110割込みインタセブションマスクIMK15
60 本発明により新たに設けられたオペランドである。IM
SK1560は、M/EXのI10終了状態情報である
サブチャネル状態語scswに対応している。VMに直
接実行可能な110割込み(7)SC8WとI / O
割込みインタセプションマスクの値をビットごとに論理
積をとり、いずれかが1′のとき、170割込みは直接
実行されずにVMCPに割込む。この割込みを110割
込みインタセブションと呼ぶ。110割込みインタセプ
ションがとのように実現されるかは、(V)で詳述する
(ヌ)SUBID1570およびIPRM158これら
も、本発明により新たに設けられたオペランドである。
170割込みインタセブション発生時、そのサブチャネ
ル番号が5UBID1570に、また該当サブチャネル
への入出力起動命令のオペランドで指定した割込みパラ
メータがIPRM1580に、それぞれ設定される。
(ル)TPIインタセプトビット1590およびTPI
インタセプトマスク1591 これも、本発明により新たに設けられたオペランドであ
る。M/EXモードVMのTPI命令を直接実行するた
めに用いるが、これも(iii)で詳述する。
本発明においては、上述の拡張された5DL500をオ
ペランドとして持つSIE命令を発行することにより、
命令実行回路2120および割込み処理回路2300は
、走行中VMの上記オペランドの値を参照することが可
能となり、また値の更新が可能となる。
(市)VMのI10命令実行方式 (ni−1)M/EXモードVMの■/○命令実行方式 先ず、直接実行可能なM/EXのI10命令であるTP
I命令、5TCPS (Store  Channel
P ass  S tatus)命令、T S CI(
(Test  S ubchannel)命令、5SC
H(Start  5ubchannel)命令、およ
びR5CH(Resume  5ubchannel)
命令について、簡単に説明する。
(a)TPI命令 制御レジスタCR6のサブクラスマスクが1′のサブク
ラスに110割込みが保留されているサブチャネルの割
込みコードを、第2オペランドアドレスが指定する領域
に格納する。割込みコードは、第25図に示すように、
(000L)、いサブチャネル番号、および割込みパラ
メータからなる。
(b)STCPS命令 第2オペランドアドレスで指定された領域に、チャネル
パスのアクティブ状態を示すチャネルパス状態語を格納
する。
(c)TSCH命令 T S CH命令の形式は、第24図に示すように、オ
ペレーションコードと、(B2/D=)の第2オペラン
ドアドレスと、汎用レジスタGRIに格納されたサブチ
ャネル番号からなる。T S CH命令は。
汎用レジスタGRIに指定されたサブチャネルの割込み
情報を、第2オペランドアドレスが指定する主記憶装置
上の領域に格納するための命令である。なお、第24図
には、割込み情報である割込み応答ブロックIRBの形
式が示されている。rRBは、Mモードでのチャネル状
態語の拡張情報であるサブチャネル状態語5C8W、M
でのりミチイトチャネルログアウトLCLに対応する拡
張状態語ESW、およびモニタ情報等を含む拡張制御語
ECWから構成される。
(d)SSCH 8SCH命令は、第23図に示すような形式を持ってい
る。第2オペランドアドレス(Bよ/D2)が示す主記
憶上の領域には、入出力の制御情報であるO RB (
Operation  Request  [3Loc
k)を予め格納する必要があるが、その動作については
後述する。
なお、汎用レジスタGRIには、入出力の対象となる入
出力′!A置を指定するサブチャネル番号を格納してお
く。
第23図の下方には、12バイトから構成されるORB
の詳細図が示されている。割込みパラメータは、プログ
ラムにより自由に使用できる領域であって、特にその内
容に制限はない。サブチャネルキーはMでのCAW中の
保護キーに相当し、チャネルプログラムアドレスは、M
でのCAW中のチャネルプログラムアドレスに相当する
が、これは31ビツトに拡張されている点がCAWとは
異なっている。Fビットは、CCWの形式を制御するも
のであって、I O+の場合にはデータアドレスが24
ビツトである形式0のCCWの実行を、また1+の場合
にはデータアドレスが31ビツトである形式1のCCW
の実行を、それぞれ指示する。論理バスマスクLPMは
、入出力を実行するチャネルパスの範囲を表わしており
、8ビツトからなるLPM中の1ビツトのみを1+にし
ておけば、対応する唯1つのチャネルパスで入出力は実
行され、一方、複数のビットを11′にしておけば、そ
の中からl0P3000がフリーなチャネルパスを選択
して入出力を実行する。その他のSビット、Pビット、
■ビット、Aビット、Uビットは、M/EXにおいて追
加された機能の制御ビットであるが、詳細は前述の文献
を参照されたい。
(e)R3CH命令 S S CH命令により実行を開始したCCW群を、途
中でサスペンドさせたとき、この未実行のCCW群をリ
ジューム、つまり再開させる命令である。
汎用レジスタGRIに、リジュームする装置のサブチャ
ネル番号を指定する。
次に、VMが発行したTPI命令、5TCPS命令、T
SCH命令、5SCH命令およびRSC!(命令の実行
方法を、第6図および第7図により詳述する。
第6図は、本発明によるTPI命令、5TCPS命令、
T S CH命令、5SCH命令およびRSCH命令の
実行フローチャートであり、第7図は本発明によるTP
I命令の詳細な実行フローチャー1・である。
TPI命八 へ 式の 1の (イ)VM走行中か否かをIEモードピット240oが
1+か否かにより判定する(ステップ10200)、I
Eモードピット2400がI O1つまりVM走行中で
ない場合には、TPT命令を実行して(ステップ102
01)、命令の実行を終了する。
(ロ)M/EXモードVMが発行したTPI命令か否か
を、SDI 500の5D−ARCH1510が1+か
否かにより判定しくステップ10202)、5D−AR
CHL 510が11′の場合には次に進む。また、第
12図(A)に示すS D 1.500のIC1512
が1+か否かを判定して(ステップ10203)、’1
’の場合には命令例外インタセプションとしてVMCP
に割込み(ステップ10204)、10′の場合にはv
Mにプログラム割込み(命令例外)を直接報告する(ス
テップ10205)、その後、命令の実行を終了する。
(ハ)次に、常駐ストレージモードのV Mか否かを、
第12図(A)に示す5D1500の常駐ストレージモ
ードビット1511が11′か否かにより判定しくステ
ップ10206)、常駐ストレージモードピッl−15
11がI O+の場合には、命令インタセプションとし
て命令の実行を抑止して、VMCPに割込む(ステップ
10208)。
(ニ)I10直接実行対象のVMか否かを、5D150
0(7)SD−DIO1530が’1’か否かにより判
定し、5D−0101530が0′の場合には、命令例
外インタセプションとしてVMCPに割込む(ステップ
10208)。
(ホ)第12図(A)に示すTPIインタセプトビッl
−1590が1′か否かを判定して(ステップ1030
0)、11′の場合には、命令インタセプションとして
VMCPに割込む(ステップ10309)。なお、この
TPIインタセプションビット1590は、該当VMの
I10割込み保留をVMCPが有するときに、VMCP
が11′に設定するビットである。インタセプトされた
TPI命令は、VMCPがシミュレーションを行う。
(へ)次に、実サブクラス番号のカウント用レジスタi
に10′を設定する(ステップ10301)。
(ト)I10直接直接用ゲストCR6−2450のビッ
トiが1′か否かを判定しくステップ10302)、ビ
ットiが0′の場合には、iに1を加算する(ステップ
10306)。
(チ)ビットiが1′であれば、実サブクラスiに割込
み保留があるか否かを、大割込み保留レジスタ2214
のビットiが1′が否かにより判定しくステップ103
03)、ピッh iがI O+であれば、iに1を加算
する(ステップ10306)。
(す)ビットiが1′であれば、第21図に示すI10
割込み要求キュー1200のサブクラスiにキューイン
グされている先頭のサブチャネル1400をI10割込
み要求キュー1200からはずし、汎用レジスタGRI
が示すVMの主記憶装置に該当サブチャネルの割込みコ
ード(第25図参照)を格納する(ステップ10304
)。
(ヌ)次に、条件コード1を設定して(ステップ103
05)、命令の実行を終了する。
(ル)なお、ステップ10306でiに1を加算した後
、jが8未満か否かを判定しくステップ10307)、
8未満であれば再度ステップ10302に戻る。
(オ)iが8以上であれば、条件コードCC=Oを設定
して(ステップ10308)、命令の実行を終了する。
このようにして、本実施例では、TPIインタセプショ
ンピット1590が0′の場合には。
VMのTPI命令を直接実行することができる。
TPI  ム − 式のJ2の  側 温6図において、破線内の処理は第1と第2の実施例で
共通の部分である。すなわち、第2の実施例では、第1
の実施例の(イ)〜(ニ)の処理は全く同一である。従
って、第7図(B)により(ニ)に続く(ホ)の処理か
ら詳述する。
(ホ)仮想サブクラス番号のカウント用レジスタjにl
 Ol を設定する(ステップ10400)。
(へ)ゲストCR6−2440のビットjが112か否
かを判定して、もし10″であれば1、jに1を加算す
る(ステップ10408)。
(ト)jが1′であれば、第12図(A)に示す5D1
500のTPIインタセプトマスク1591のビットj
が1′か否かを判定しくステップ10402)、ビット
jが1′の場合には、命令インタセプトとしてVMCP
に割出す(ステップ104 L 1)、VMCPは、該
当VMのサブクラスごとのI10割込み保留状態をTP
Iインタセプトマスクに設定して、VMをディスパッチ
する。
例えば、走行させようとするVMの仮想サブクラスOと
4の割込みをVMCPが保留している場合には、TPI
インタセプトマスクには(88)tr、3設定する。
(チ)ピッh jが0′の場合には、仮想サブクラスj
が該当VMの入出力直接実行用の専用サブクラスか否か
を、サブクラス番号変換表1540の第j 5CL−C
NTLエントリのピッl−0(Dピッ1〜)が11′か
否かにより判定する(ステップ10403)、Dビット
が0′の場合には、jに1を加算する(ステップ104
08)。
(U)Dビットが11′の場合には、仮想サブクラスが
該当VMの専用サブクラスであるから、仮想サブクラス
jに対応する実サブクラス番号iを求めるため、サブク
ラス番号変換表1540の第j 5CL−CNTLエン
トリのピッ1−3〜7 (Sフィールド)を参照する(
ステップ10404)。
(ス)実サブクラスiに割込み保留があるか否かを、大
割込み保留レジスタ2214 (第14図。
第15図参照)のビットiが11′か否かにより判定し
くステップ10405)、ビットiがl OIであれば
jに1を加算する(ステップ10408)。
(ル)ビットiが′1′であれば、割込み保留があるの
で、I10割込み要求キュー1200のサブクラスiに
キューイングされている先頭のサブチャネル1400(
第21図参照)をキュー1200からはずし、汎用レジ
スタGRIが示すVMの主記憶装置に該当サブチャネル
の割込みコード(第25図参照)を格納する(ステップ
10406)。
(オ)次に、条件コードCC=1を設定して(ステップ
104.07)、命令の実行を終了する。
(ワ)なお、ステップjに1を加算した後、jが8未満
か否かを判定しくステップ1’0409)、8未満なら
ばステップ10401に戻る。
(力)また、8以上であれば、条件コードCC:Oを設
定して(ステップ10410)、命令の実行を終了する
このようにして、本実施例では、TPIインタセプトマ
スク1591の制御に従って、VMのTpr命令が直接
実行可能となる。
5TCPS ”−の TPI命令の第1の実施例の(イ)〜(ニ)の処理、つ
まり第6図の破線内の処理は、全く同じであるので、説
明を省略する。ただし、Ii’TPI命令」とある箇所
はIr5TCPS命令」と置き換える。
(ニ)に続く処理を次に述べる。
(ホ)STCPS命令を実行して(ステップ10211
)、VMの主記憶装置上にチャネルパス状態語を格納し
、命令の実行を終了する。
TSCH式の  例 TPI命令の第1の実施例の(イ)〜(ニ)の処理は全
く同じである(第6図の破線内の処理)。ただし、[i
’TPI命令」とある箇所は、[i’TSCH命令」と
置き換える。(ニ)に続く処理を次に述べる。
(ホ)汎用レジスタGRIにサブチャネル番号が指定さ
れているサブチャネルが有るか否かを判定して(ステッ
プ10212)、サブチャネルが無い場合には、命令イ
ンタセプションとして命令の実行を抑止して、VMCP
に割出す(ステップ10214)。
(へ)汎用レジスタGRIで指定したサブチャネル14
00の、5CH−DI01410が11′テ、かつ5C
H−RID1420と5D−RID1520が一致する
か否かを判定しくステップ1.0213)、条件を満足
しない場合には、命令インタセブションとしてVMCP
に割出すくステップ10214)。
(ト)TSCH命令を実行して(ステップ10216)
、第2オペランドアドレスが指定するVMの主記憶装置
上に、該当サブチャネル1400の割込み応答ブロック
(IRB)を格納し、命令の実行を終了する。
5SCH”    式の TSCH命令実行方式の実施例と(イ)〜(へ)は全く
同じである。ただし、Ii’TSCH命令Jとある箇所
は、ff5scH命令」に置き換える。(へ)に続く処
理を次に述べる。
(ト)該当するサブチャネル1400のS CH−8S
CHE1430に111  を設定した後、SSCH命
令を実行して(ステップ10217)、命令の実行を終
了する。
その後、l0P3000は、命令で指定されたチャネル
プログラムを実行するが、その実行方式については、後
述のチャネルプログラム実行方式で詳述する。
RS C1,I  A    式の TSCH命令の実施例の(イ)〜(へ)は全く同じであ
る。ただし、[i’TSCH命令」とある箇所は。
l5cH命令」に置き換える。(へ)に続く処理を次に
述べる。
(ト)該当するサブチャネル1400に対して。
RSCH命令を実行して(ステップL 0217)、命
令の実行を終了する。
チャネルプログラム   式 第11図は、本発明による仮想CCW群実行の説明図で
ある。
l0P3000が常駐ストレージモードVMのレベル2
アドレス上の仮想CCW群を、どのように実行していく
かを、第11図により詳述する。
第11図において、3200は本発明により新たに設け
られた起点アドレスレジスタ設定回路である。また、ア
ドレス変換回路3100は、例えば特開昭60−122
446号公報に記載されているようなチャネル装置であ
る。
CPU2000からl0P3000に入出力の起動信号
が送られると、サブチャネル番号レジスタSCH,#3
300に入出力起動を行うサブチャネル番号が格納され
る。その後、起点アドレスレジスタ設定回路3200は
、SCH#3300が示すサブチャネル1400内のs
 c x■−c c w1440の値(これは、5SC
H命令により設定された0RB(第23図参照)内のC
CWアドレスである)をアドレス変換回路3100内の
仮想CCWアドレスレジスタ3102に設定する。さら
に、起点アドレスレジスタ3101に10′ を、また
5CH−SSCHE1430が51′であれば、5CH
−RID1420に対応するIOP用アドアドレス変換
テーブル1300録されている入出力実行要求元のVM
下限アドレスα、を、起点アドレスレジスタ3101に
設定して、アドレス変換回路3100に起動信号を送る
。その後のアドレス変換回路3100の動作は、特開昭
60−−122445号公報に記載されている通りであ
る。すなわち、仮想CCWアドレスレジスタ31o2と
起点アドレスレジスタ3101の値が加算器3104に
より加算され、その結果がCCWの実アドレスとして入
出力実行部3103に入力される。入出力実行部310
3は、入出力を実行していく。
次に、仮想CCW群をVMCPが直接実行するためのS
 5CHE (Start  5ubchannel 
 Extended)命令について説明する。5SCH
E命令は、第4図に示すように、5SCH命令と同じく
汎用レジスタGRIのビット16からビット31にサブ
チャネル番号を指定しており、また第2オペランドアド
レスが示す主記憶装置上の領域には、ORBを拡張した
O RB E (ORB  Extended)を格納
している。0RBEは、第4図に示すように、16バイ
トから構成され、ORBと異なる点はRIDのフィール
ドが存在することと、CCWアドレスがレベル2アドレ
スであることである。
5SCHE命令が発行されると、命令実行回路2120
は、S S CH命令で行われる処理に加えて、該当サ
ブチャネル1400のS CH−S S CトIE14
30に11′ を設定し、またS CI−(−RID1
420には、0RBEで指定されたRIDを設定する。
その後、第11図に示すように、本発明で新たに設けら
れた起点アドレスレジスタ設定回路3200およびアド
レス変換回路3100により、レベル2アドレス上の仮
想CCW群が実行される。
(iii−2)MモードvMのI10命令実行方弐Mモ
ードのアーキテクチャには、7つの入出力命令があるが
、その代表的なものは、S l0F(S tart  
r / OF ast  Release)命令である
。この5IOF命令は、第26図に示すように、オペレ
ーションコードとオペランドアドレスからなり、ペース
レジスタB、Iの内容にディスプレースメントD2の値
を加えた値(B2/D2)のビット16〜31が入出力
を実行するための入出力装置アドレスを示している。例
えば、B2 の内容にD2を加算した結果が(OOOO
Ol 23)、、t’アレば、入出力装置アドレス12
3、つまりチャネル番号1、ユニットアドレス(23)
、、の入出力パスで対象となる入出力装置に対して入出
力を実行することを表わしている。また、第27図の主
記憶装置上の番地で示すように、入出力動作の詳W[I
を記述するチャネルコマンドワードCCWの先頭アドレ
スおよび保護キーが、主記憶装置の72番地から4バイ
トのチャネルアドレスワード(CAW)と呼ばれる領域
に格納されている。また、指定されたCCWは、いわゆ
る形式0のCCWであって、入出力を行うデータのCC
W内アドレス部は24ビツトで構成される。さらに、制
御レジスタCROのビットO(ブロック多重制御)の値
が0である場合には、SI○F命令はS I 0(St
art  I / O)命令として動作する。
5IOF  令 −式の 第8図は1本発明による5IOF命令の実行フローチャ
ー1・である。
第8図における破線内の処理は、第6図の破線内の処理
に対応する部分である。すなわち、第8図のステップ1
0500のIEモードの判定処理は、第6図のステップ
10200のIEモードの判定処理に該当する。従って
、TPI命令実行方式の第1の実施例における(イ)〜
(ニ)の[i’TPI命令」とある箇所を、Ii’5I
OF命令」に変更し。
さらに(ロ)の[i’M/EXモードVMが発行したT
PI命令か否かを5D1500の5D−ARCH151
0が11′か否かにより判定し、5D−ARCH151
0が11′の場合(ハ)へ1とある箇所を、「Mモード
VMが発行した5IOF命令か否かを、5DL500の
5D−ARCHL510がlO″か否かにより判定し、
S D −A RCH1510がI O+の場合は(ハ
)へ■と変更したものを、5IOF命令実行方式の実施
例の(イ)〜(ニ)とする。次に、(ニ)に続く処理を
述入る。
(ホ)ゲストCROのビットOが1′か否かを判定しく
ステップ10508)、10″の場合には、命令インタ
セプション処理を行う(ステップ10514)。
(へ)SD1500(F)DEV−ORG1550(第
12図(A)参照)およびSIO[’命令の第2オペラ
ンドアドレス(第26図参照)で指定した仮想装置アド
レスより、対応するDEVTBL (第12図(B)参
照)のアドレスを得る(ステップ10509)。
(ト)第12図(B)のDEVTBLより、Dピノ1〜
.L、PM、および実サブチャネル番号を得る(ステッ
プ10510)。
(チ)Dビットが1′か否かを判定しくステップ105
11)、0′ならば命令インタセプション処理(ステッ
プ10514)に進む。
(す)実サブチャネル番号より該当サブチャネル140
0を得る。
(ヌ)上記サブチャネルが存在しない場合(ステップ1
0512)、やはり命令インタセプション処理(ステッ
プ10514)へ移る。
(ル)上記サブチャネル1400のS CH−D I○
1410が11′か否かを判定し、10″の場合には、
命令インタセプション処理(ステップ10514)を行
う。
(オ)SD1400の5D−RID1520とSCI−
1−RI D l 420とが等しいか否かを判定しく
ステップ10513)、等しくない場合にも、命令イン
タセプション処理(ステップ10514)へ移る。
(ワ)VMのCAWのビット4から7が、全て0′か否
かをチエツクして(ステップ10515)、0′でない
場合には、CC=1をセットした後(ステップ1051
6)、 VM(7)C8W4::プログラムチェックを
格納して(ステップ10517)、命令の実行を終了す
る。
(力)サブチャネル1400がステータス保留か否かを
判定しくステップ10518)、ステータス保留の場合
には、CC=2をセットして(ステップ10520)、
命令の実行を終了する。
(ヨ)サブチャネル14oOがスタート、ボルト、また
はクリア機能の進行中の場合には(ステップ10519
)、CC=2をセットして(ステップ10520)、命
令の実行を終了する。
(り)サブチャネル1400の有効性を示すVピッj〜
およびEビットが、共に1′か否かをチエツクして(ス
テップ10521)、NOの場合、つまりいずれか一方
でもl Olであれば、命秒インタセプション処理(ス
テップ10522)を行う。
(し)サブチャネル1400のS CH= S S C
E(E1430を11′にセットシ、また第13図に示
すように、ORB相当の情報を次のように設定する(ス
テップ10523)。
(a)割込みパラメータのビットO〜15には。
全てI O+ を、またビット16〜31には、5IO
F命令で指定した仮想装置アドレスを設定する。
VMにI10割込みを反映させる時、この仮想装置アド
レスを用いる。
(b)サブチャネル1400内のキーは、VMのCAW
のキーを設定する。
(0)フォーマットフラグには、形式OのCCWを示す
′0′を設定する。また、M/EXでの拡張機能を制御
するサスペンドフラグ、先取り制御、初期状態、アドレ
スチエツク、サスペンド割込み抑止の各ビットには、そ
れぞれ′0′を設定する。
(d)サブチャネル1400内のLPMのフィールドに
は、DEVTBLのLPMを設定する。
(e)サブチャネル1400内のCCWアドレスのフィ
ールドのビットO〜7には10′ を、ビット8〜31
にはVMのCAW(7)ビット8〜31を、それぞれ設
定する。
以上が第8図(B)のステップ10523の処理である
(ン)SIOF命令に対して、CC=Oを設定する(ス
テップ10524)、。
(ツ)IOP3000に入出力起iPl+(L!号を送
り、命令の実行を終了する(ステップ10525)。
(ネ)なお、ステップ10522の命令インタセプショ
ン処理は、VMCPに命令を割出す。そして1割出され
たS TOP命令は、VMCPがシミュレーションを行
う。
以上が5IOF命令の実行方式の処理である。
(iv)I101?f接実行用ゲスl−CR6の設定方
式(iv−1)SIE命令による設定 第9図は、本発明によるSIE命令の拡張を説明するフ
ローチャートである。
本発明により拡張されたSIE命令によるI10直接直
接用ゲストCR6−2450の設定方式を、第9図によ
り説明する。この処理により、VM起動時のI10直接
直接用ゲストCR6−2450には、走行VMの専有す
る割込みサブクラスのマスクが設定される。
(イ)従来のSIE命令の処理を行う(ステップ107
00)。これは、5D1500に格納されているゲスト
PSWやゲストCR6の値を各々ゲストPSW2430
.ゲストCR6−2440に格納し、IEモードピット
に11′を設定することを含んでいる。
(ロ)SD1500を参照して(第12図(A)参照)
、5D−DI01530(71値が′1か否かを判定し
くステップ10701)、5D−DI01530が′0
′であるときには、I10直接実行が支援されていない
場合であるので、命令は終了となる。
(ハ)SD−DIO1530が′1′であれば、次にS
 D−ARCH15L Oの値を判定しくステップ10
702)、5D−ARCHl 510が10′つまりM
モードVMの場合にはステップ10703に進み、5D
−ARCHI 510が11′、つまりM/EXモード
VMの場合にはステップ10704に進む。
(ニ)SD1500のサブクラス番号変換表1540の
第0エントリのビット3〜7 (5CLCNTLのSフ
ィールド)を実サブクラス番号とするI10直接直接用
ゲストCR6−2450のマスクに、第0エントリのビ
ットO(SCL−CNTLのDビット)の値を設定する
(ステップ10703)。例えば、第0エントリが(8
4)、sであれば、Dビット=1.Sフィールド=4で
あるから、I10直接直接用ゲストCR8−2450に
は (08000000)、、が設定される。また、第0エ
ントリが(04)、、であれば、Dビット=O,Sフィ
ールド=4であるから、I10直接直接用ゲスl−CR
6−2450inは(00000000)、、。
が設定される。MモードVMのI10割込み可能条件は
、(V)で詳述するが、VMのpswの110マスクと
VMの制御レジスタCR2により制御される。従って、
VMCPは、MモードVMをディスパッチする場合、該
当VMの専用サブクラス番号をサブクラス番号変換表1
540の第0エントリ5CL−CNTLのSフィールド
に設定し、ざらにVM(7)CR2が全て′ITであれ
ば、s c r=−CNTLのDビットに1′を、その
他の場合には、5CL−CNTLのDビットにI O+
 を設定する。以上のステップ10703を実行した後
、SIE命令を終了する。
(ホ)M/EXモードVMであれば、仮想サブクラス番
号のカウント用のレジスタiにI O+ を設定する(
ステップ10704)。
(へ)SD1500内のサブクラス番号表の第iエント
リのビットO(Dビット)が1′であるか。
つまり仮想サブクラスiには入出力直接実行用の実サブ
クラスが割当てられているか否かをチエツクする(ステ
ップ10705)。ビットOが0′の場合にはステップ
10707に進む。
(ト)ビット0が1′であれば1次に第iエントリのビ
ット3〜7(Sフィールド)を実サブクラス番号とする
I10直接直接用ゲストCR6−2450のマスクに、
SD内内入ストCR6第iビットの値を設定する(ステ
ップ10706)。
例えば、サブクラス番号変換表1540が(80840
00000000000)、、であり、ゲス1へCR6
が(FFOOOOOO)、、の場合、工10直接実行用
ゲストCR6−2450には、(48000000)よ
、が設定される。また、サブクラス番号変換表1540
が(82840ooo。
0000000)、jt’あり、ゲストCR6が(FO
oooooo)、、の場合、I10直接直接用ゲストC
R6−2450には(40000000)□、が設定さ
れる。このように、VMCPは、M/EXモードVMを
ディスバッチする前に、仮想サブクラス番号と専用サブ
クラスとの対応関係をサブクラス番号変換表1540に
設定しておく必要がある。
(チ)次に、レジスタiに1を加算する(ステップ10
707)。
(す)レジスタiが8未満か否かを判定しくステップ1
0708)、8未満であれば再びステップ10705に
戻り、レジスタiが8以上であれば、SIE命令の実行
を終了する。
(iv −2) L CT L命令による設定第10図
は1本発明によるLCTL命令実行のフローチャートで
ある。
本発明により拡張されたLCTL命令によるI10直接
直接用ゲストCR6−2450の設定方式を、第10図
により詳述する。この処理により、M/EXモードVM
が走行中にLCTL命令によりゲストCR6−2440
を更新した場合にも。
I10直接直接用ゲスl−CR6−2450には、VM
の専用サブクラスのマスク値が設定される。
なお、第10図において、破線で示した枠内の処理は、
従来のLCTL命令の処理であって、その枠外が拡張さ
れた分の命令処理である。
(イ)VMの走行中か否かを、IEモートビット240
0により判定しくステップ10100)。
IEモードビット2400がl Ol、っまりVM走行
中でない場合には、LCTL命令を通常通り実行して(
ステップ10101)、実行を終了する。
(ロ)次に、5D1500内のLCTLインタセプトマ
スク1591によりインタセプション対象のLCTL命
令か否かを判定しくステップ10102)、対象である
場合には、従来の方法により命令インタセプションを発
生させて(ステップ10103)、V M CP ニ割
込む。
(ハ)次に、ゲストに対するLCTL命令処理を行う(
ステップ10104)。具体的には、ゲストCR6−2
440等の走行VM用制御レジスタを、命令で指定され
た値に更新する。ここまでが、通常のLCTL命令処理
である。
(ニ)次に、5D1500内17) S D −A R
CH1510がIllであるか否かを判定する(ステッ
プ10105)、−)まり、M/EXモードVMが否か
を判定して、M/EXモードVMでないときには、処理
を終了する。
(ホ)M/EXモードVMであるときには、ゲストCR
(3が更新の対象か否かを判定して(ステップ1010
6)、対象外の場合には、処理を終了する。
(へ)更新の対象であるときには、次のようにしてI1
0直接直接用ゲストCRG−2450のマスク更新処理
を行う。
(a)仮想サブクラス番号のカウント用のレジスタiに
Oを設定する(ステップ10107)。
(b)次に、該当サブクラスが入出力直接実行用の専用
サブクラスか否かを、SDI 500内のサブクラス変
換表の第iエントリのビットO(Dビット)が1′か否
かにより判定する(ステップ10108)。ビット0が
0′の場合には、ステップ10110に進む。
(c)ビット0が1′であれば、次に、サブクラス変換
表の第iエントリのビット3〜7を実サブクラス番号と
するI10直接直接用ゲストCR6−2440の仮想サ
ブクラスiのマスク値を設定する(ステップl OI 
O9)。
(d)iに1を加算する(ステップ10110)。
(e)iが8未満か否かを判定しくステップ101:L
l)、8未満であれば、再度、ステップ10108に戻
る。8以上であれば、LCTL命令の実行を終了する。
例えば、更新後のゲストCR6−2440が(OFOO
OOOO)、、であり、サブクラス番号変換表1540
が(8284000000000000)、、の場合、
工/○直接実行用ゲストCR6−2450には、(08
000000)、、が設定される。
(v)I10割込み実行方式 先ず、MモードにおけるI10割込みの発生可能条件に
ついて詳述する。周知のように、プログラムスティタス
ワードPSWのビット12がIllのとき、つまりEC
モードのときには、pswのビット6(I10マスク)
が1′であり、入出力を起動して、これを実行したチャ
ネルに対応する制御レジスタCR2のチャネルマスクが
Illであれば、入出力割込みが可能である。なお、E
Cモードは、MおよびM/EXの両モードに設けられて
いる。
また、PSWのビット12がJ OIであるとき。
つまりBCモードのときには、入出力を起動して、これ
を実行したチャネル番号により、I10割込みの発生可
能条件が次のように異なる。なお、BCモードは、Mモ
ードVMにしか設けられていない。
先ず、チャネル番号が0〜5の場合には、PSWのビッ
トO〜5がチャネルマスクであり、対応するマスクが1
′のときには、I10割込みが可能である6次に、チャ
ネル番号が6以上の場合には、ECモードの場合と同じ
ように、PSWのビット6 (I10マスク)が11′
であり、かつ入出力を起動して、これを実行したチャネ
ルに対応する制御レジスタCR2のマスクが1′のとき
に入出力割込みが可能となる。
第27図は1Mの割込み情報の説明図である。
第27図に示すように、主記憶袋@64番地から8バイ
トの領域には、入出力割込み時に、チャネル状態語(C
8W)が入出力の終了状層情報として格納される。ここ
で、キーは5IOF命令発行時にCAWで指定した保護
キーであり、ログアウト保留しはこの入出力が特定の状
態で異常終了した場合に11′となる。このLが1′の
ときには、主記憶装置の176番地から4バイトの領域
に、その障害内容の詳細情報であるLCL(Limit
ed  Channel  L ogout)が格納さ
れている。ただし、LCLが生成される頻度は極めて低
い。CCは、5IOF命令の条件コードがOであるが、
入出力を開始する前に装置等に異常を検出したことを示
すコード、つまり遅延条件コードである。
CCWアドレスは、最後に実行したCCWアドレスに8
を加算した値であり、カウントは最後のCCW実行した
後の残りのバイトであり、ユニット状態およびチャネル
状態は、入出力の終了状態を示している。
本実施例においては、VMがECモードで、かつログア
ウト保留りがl Olで、しかもVMのCR2が全て0
′、または全て1′である場合に1MモードVMの専用
サブクラスの割込みが直接実行の対象となる。
以上が、MモードにおけるI10割込みの説明である。
次に、M/EXでのr10割込みについて詳述する。
第25図に示すように、M/EXのI10割込みでは、
主記憶装置の186番地にサブチャネル番号が格納され
、188番地から4バイトの領域に5SCH命令で該当
サブチャネルに指定した割込みパラメータが格納される
。このように、M/EXでは、110割込み時には、M
におけるC8Wに相当する情報はPSA内には格納され
ない。
ここで、入出力割込みの発生する条件は、PSWのビッ
ト6(I10マスク)が11+ であり、かつそのサブ
チャネルに指定されたサブクラス番号に対応する制御レ
ジスタCR6のサブクラスマスクが1″の場合のみであ
る。サブクラス番号は、I10命令の1つであるMSC
H命令により、サブチャネルごとにOから7までの範囲
の値を1つ設定することができる。
(v−1)割込み起動処理 本発明による割込み起動回路は、ホスト割込み起動回路
221oとゲスト割込み起動回路2220とBCモード
割込み起動回路2230とから構成されている。なお、
ホスト割込み起動回路2210は、第22図に示す回路
であって、従来と同じである。
第14図は、本発明によるゲスト割込み起動回路の構成
図である。
ゲスト割込み起動@路2220は、ホスト割込み起動回
路2210と同じ構成である。このため、保留となった
110割込みが走行中VMの専用サブクラスからのもの
であって、かつVMが割込み可能であること2つまりゲ
ストPSW2440のI10マスクが1′であり、かつ
上記サブクラスのI10直接直接用ゲストCR6−24
50のマスクが11′ (対応するVMの制御レジスタ
CRが割込み可能であることを意味する)の場合には、
AND回路群2222の1つがオンとなるため、OR回
路2232を通過した信号がAND回路2223を通っ
て出力が1′となるので、割込み処理回路2300に起
動信号が送られる。
第15図は、BCモード割込み起動回路の構成図である
この回路は、走行中VMがBCモード時に発生した走行
中VMの専用サブクラスの割込みを、VMCPに割出す
ための回路である。専用サブクラスマスク2460は、
走行中VMの専用サブクラスを識別するためのレジスタ
であって、SIE命令により設定される。例えば、実サ
ブクラス0が走行させるVMの専用サブクラスであれば
、SIE命令により専用サブクラスマスク2460には
、(80)、、が設定される。ゲストPSW2440の
ビット12は、10′であるときにBCモードを示して
いる。従って、BCモード時には、インバータ2234
の出力は11′となって、AND回路2233に入力す
る。一方、AND回路群2231のいずれかの出力は1
′ (つまり、専用サブクラスからの割込み要因あり)
であるため、ゲストPSW2440がBCモード時には
AND回路2233の出力は1′となり1割込み処理回
路2300に起動信号が送られる。
(v−2)割込み反映処理 第16図は、本発明による割込み処理回路の構成図であ
る。
第16図により、割込み処理回路2300によるVMま
たはVMCPへの割込み反映処理を詳述する。
第16図において、scswレジスタ2301は1割込
み要因が発生したサブチャネル1400のサブチャネル
状態語を格納するレジスタである。
また、IMSKレジスタ2302は、OSをディスパッ
チする際にSIE命令のオペランドであるS D i 
500 ニ指示されたIMSK1560を保持するレジ
スタ(第12図(A)参照)である。さらに、VMモー
ドレジスタ2303は、5D1500に指示されたS 
D−ARCH15L Oを保持するレジスタである。
本発明による割込み処理回路は、次のように4通りの処
理がある。
(a)第22図のホスト割込み起動回路2210から信
号線6000に起動信号が送られた場合には、ホスト割
込み処理2320を実行する。他の回路には、インバー
タ2307のため信号が反転されてAND回路2308
がオフするため送られない。
(b)第15図のBCモード割込み起動回路2230か
ら信号線6001に起動信号が送られた場合、および第
14図のゲスト割込み起動回路2220から信号線60
02に起動信号が送られたが、この割込み情報がIMS
K1560で指定した割込み情報を含む場合には、ホス
トインタセブション処理2330を実行する。
(Q)第14図のゲスト割込み起動回路2220から信
号線6002に起動信号が送られ、走行中のVMがMモ
ードである場合に、Mモード割込み処理2340を実行
する。
(’d)第14図のゲスト割込み起動回路2220から
信号線6002に起動信号が送られ、走行中のVMがM
/EXモードである場合に、M/EXモード割込み処理
2350を実行する。
複数の割込み要因が発生しても、上記4つの処理のうち
の1つの処理のみが実行される。優先順位は(a)が最
も高く、次に(b)、(Q)(d)と続く。
次に、割込み処理の要因と、実行の状態を1種類ごとに
詳述する。
ホスト ゛み  の−一 第16図において、ホスト割込み起動回路2210から
信号線6000に起動信号が送られると、ホスト割込み
処理2320が実行される。
ホスI・割込み処理2320においては、ホストのPS
Aにアクセスするために、プレフイクスレジスタPXR
にホスl−P S Aアドレスをロードしくステップ2
321)、I10割込みを報告するために、ホス1〜P
SAによりPSWスワップを行う(ステップ2322)
。次に、割込みパラメータをサブチャネルから得て、ホ
ストl) S Aに格納した後(ステップ2323)、
このサブチャネルをI10割込み要求キュー1200(
第21図参照)からデキューして、命令を実行する(ス
テップ2360)。これにより、ホストであるVMCP
への割込み処理プログラムが実行される。
ホストインタセプション  の BCモード割込み起動回路2230から信号線6001
に起動信号が送られると、その時にホスト割込み起動回
路2210から信号線6000に起動信号が送られてい
ない場合には、インバータ2307の出力がIl+ と
なるため、AND回路2308が開いて、ホストインタ
セブシJン処理2330が実行される。一方、ゲスト割
込み起動回路2220から信号線6002に起動信号が
送られると、その時に、信号線6000に起動信号が送
られておらず、またscswを保持する5CSWレジス
タ23ρ1と5D1500のIMSK1560の内容を
保持するIMSKレジスタ2302の両出力が11′で
、AND回路2304の出力が1′であれば、AND回
路2305.2306および2308が開いて、ホスト
インタセプション処理2330が実行される。
ホストインタセプション処理2330が実行されると、
先ず、プレフィクスレジスタPXRにホストPSAアド
レスをロードしくステップ2331)、5D1500の
5UBID1570に処理中の割込み要因を発生したサ
ブチャネル番号を格納する(ステップ2332)。また
、IPRM1580にそのサブチャネルの割込みパラメ
ータを格納する。次に、そのサブチャネルを170割込
み要求キュー1200からデキューして、ホストPSW
2410に格納されているSIE命令の次の命令を実行
する(ステップ2360)。
このようにして、ホストであるVMCPのSIE命令の
次の命令から実行が開始され、VMCPは5D1500
内の情報によりI10割込みの処理を行う。
琶%−19禮と久瓜1ぷり(仕 ゲスト割込み起動回路2220から信号線6゜02に起
動信号が送られると、その時に信号線6oOOと600
1に起動信号が送られておらず、かつscswレジスタ
がIMSK1560で指定された割込み情報を含まず、
VMモードレジスタ2303にMモードVMが走行中で
あることを示すO′が格納されているならば、インバー
タ2309.2311の各出力が11″となるので、A
ND回路2305,2310および2312の出力が全
て1′となって、Mモード割込み処理2340が実行さ
れる。
Mモード割込み処理2340が実行されると、VMのP
SAを用いてPSWスワップを行い(ステップ2341
)、第17図に示すように、VMのPSAにC8Wを格
納する(ステップ2342)。
次に、サブチャネル1400内の割込み情報(SC8W
レジスタ2301)をクリアして(ステップ2343)
、?ブチャネ/L/ l 400をI10割込み要求キ
ュー1400からデキューした後、命令を実行する(ス
テップ2360)。
これにより、走行中OSのI10割込み処理プログラム
が実行される。
なお、VMのPSAに格納するMの割込み情報は、割込
み要因を発生させたサブチャネル1400のscswを
用いて、第17図に示すように構成される。
(a)C8Wの保護キー(SC8Wの保護キー)(b)
cswのビット4(0) (c)C8Wのログアウト保留ビット(0)(d)C8
Wの遅延CC(SC8Wの遅延CC)(e)C8WのC
CWアドレス(scsw内のCCWアドレスのビット8
から31まで)(f)C8WのDSB(SC8WのDS
B)(g)cswのcSB(Scswの5SB)(h)
C8Wのカウント(s c s wのカウント)(i)
I10アドレス(割込みパラメータのビット16〜31
) なお1MモードVMのI10割込み時にログアウト保留
ビットLが′t″であっても、LCLの形成処理は行わ
ない。従って、MモードVMをディスパッチするときに
は、Lピッ!・に対応する5D1500の1MSK15
60のビット5を1″にして、SIE命令を発行する。
このようにして、走行中のMモードVMの専用サブクラ
スの割込みが直接に実行できる。
M/EXモード  み  の ゲスト割込み起動回路2220から(i号MA6゜02
に起動信号が送られると、その時、信号vAf30oO
と6001には起動信号が送られておらず。
かつ処理中の割込みのscswが1MSK1560で指
定した割込み情報を含まず、しかもVMモードレジスタ
2303にM/EXモードVMが走行中であることを示
す1″が格納されているならば、AND回路2305,
2310.2313の出力が全て1″となるため、M/
EXモード割込み処理2350が実行される。
M/EXモード割込み処理2350が実行されると、V
MのPSAを用いてPSWスワップを行い(ステップ2
351)、次に該当するサブチャネル1400に格納さ
れている割込みパラメータをVMのPSAに格納する(
ステップ2352)。そして、サブチャネル1400を
I10割込み要求キュー120oからデキューして1次
の命令を実行する(ステップ2360)。
この処理により、走行中のOSのI10割込み処理プロ
グラムが実行できる。その結果、走行中のM/EXモー
ドVMの専用サブクラスの割込みが直接実行できる。
なお、本実施例では、M/EX実計算機の下で、MとM
/EXの2つのモードの入出力命令と入出力割込みを直
接実行させる処理について説明したが、3つ以上のモー
ドの入出力命令と入出力割込みを直接実行させる場合に
も、レジスタ等を増加するだけで、適用可能である。
〔発明の効果〕
以上説明したように、本発明によれば、 M/EXモー
ド実計算機の下で、MモードとM/EXモードVMの入
出力命令および入出力割込みを、VMCPを介在させる
ことなく直接に実行することが可能となる。その結果、
MモードとM/EXモードのVMを同時に走行させる場
合に、両V M O)入出力命令、入出力割込みを効率
よく実行させることができるので、仮想計算機システム
の性能向上を図ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す仮想計算機の入出力実
行装置の概略動作フローチャー1・、第2図は本発明の
一実施例を示す仮想計算機システムのブロック図、第3
図は本発明によるS A L E命令の説明図、第4図
は本発明によるS S CHE命令の説明図、第5図は
本発明による5RID命令の説明図、第6図は本発明に
よるTPT命令、5TCPS命令、TSCH命令、5s
cr−を命令およびR3CH命令の実行フローチャー1
・、第7図は本発明によるTPI命令の実行フローチャ
ート、第8図は本発明による5IOF命令の実行フロー
チャート、第9図は本発明によるSTE命令の実行フロ
ーチャート、第10図は本発明によるLCTL命令の実
行フローチャート、第11図は本発明による仮想CCW
群実行の説明図、第12図は本発明によるSDの説明図
、第13図は5IOF命令実行のためにサブチャネルに
設定する情報の説明図、第14図は本発明によるゲスト
割込み起動回路の構成図、第15図は本発明によるBC
モード割込み起動回路の構成図、第16図は本発明によ
る割込み処理回路の構成図、第17図は本発明による割
込み情報の変換の説明図、第18図は従来の計算機シス
テムのブロック図、第19図は常駐ストレージモードV
Mの説明図、第20図はI10実行要求キューの説明図
、第21図は110割込み要求キューの説明図、第22
図はホスト割込み起動回路の構成図、第23図は5SC
H命令の説明図、第24図はT S CH命令の説明図
、第25図は割込みコードの説明図、第26図は5IO
F命令の説明図、第27図はMの割込み情報の説明図で
ある。 1000 :主記憶装置、1100:I10実行要求キ
ュー、1200:110割込み要求キュー1300 :
 IOP用アドアドレス変換テーブル400:サブチャ
ネル、1430 : 5CH−8SCHEビツト、15
00:SD、154o:サブクラス番号変換表、200
0:CPU、2120:命令実行回路、2210:ホス
ト割込み起動回路、222oニゲスト割込み起動回路、
2230:BCモード割込み起動回路、2300:割込
み処理回路、2400:IEモードピット、2410:
ホストPSW、2420:ホストCR6,2430ニゲ
ストPSW、2440ニゲストCR6,2450:I1
0直接直接用ゲストCR6,3000:IOP、310
0:起点アドレスレジスタ設定回路、3200 ニアド
レス変換回路、4000 :roc、5ooo :入出
力装置。 第 図 第 牛 図 第 図 5RID命令 止 に 凹 RI 第21ペランドアドレス 第 図 (その1) 第 図 第 図 (その1) 第 図 (その2) l0P3000 第 図 第 図 +9 1===  =====J 第 図 第 図 第 図 第 壬 図 第 図 第 図 第 図

Claims (1)

  1. 【特許請求の範囲】 1、第1と第2のアーキテクチャの計算機上で動作する
    少なくとも1つのOSを、上記第1のアーキテクチャの
    実計算機と管理制御プログラムの下で同時に走行させる
    ために、上記実計算機の入出力装置対応に、該入出力装
    置がある特定のOSに専有されているか否かを判断する
    第1の手段と、該実計算機上で走行中のOSのアーキテ
    クチャを判断する第2の手段とを備えた仮想計算機シス
    テムにおいて、走行中のOSが入出力命令を発行したと
    き、上記第1の手段および第2の手段を参照して、該O
    Sが第1のアーキテクチャを有し、かつ該入出力命令の
    指定する入出力装置が、現走行OSに専有されている場
    合には、該入出力命令を該入出力装置に対して発行し、
    一方、現走行OSに専有されていない場合には、上記管
    理制御プログラムに割出すことを特徴とする仮想計算機
    の入出力実行方式。 2、上記実計算機は、上記第1のアーキテクチャを有す
    るOSが、第2のアーキテクチャの入出力命令を発行し
    た場合、該入出力命令に対しては上記管理制御プログラ
    ムか、該OSのいずれか一方に割出すことを特徴とする
    特許請求の範囲第1項記載の仮想計算機の入出力実行方
    式。 3、上記実計算機は、第2のアーキテクチャの入出力命
    令を第1のアーキテクチャの入出力命令に変換する手段
    と、走行中のOSが発行した第2のアーキテクチャの入
    出力命令に対して、該OSが第2のアーキテクチャを有
    し、かつ該入出力命令の指定する入出力装置が、現走行
    OSに専有されている場合には、該第2のアーキテクチ
    ャの入出力命令を対応する第1のアーキテクチャの入出
    力命令に変換して、これを実行し、また該入出力装置が
    現走行OSに専有されていないときには管理制御プログ
    ラムに割出すとともに、第2のアーキテクチャのOSが
    第1のアーキテクチャの入出力命令を発行した場合には
    、該入出力命令に対して管理制御プログラムか、該OS
    の一方に割出すことを特徴とする特許請求の範囲第1項
    または第2項記載の仮想計算機の入出力実行方式。 4、上記実計算機は、入出力装置対応に専有状態を示す
    入出力直接実行ビットと、どの仮想計算機が専有するか
    を識別するための専有OS領域IDフィールドと、上記
    入出力直接実行ビットと専有OS領域IDフィールドを
    更新する手段を有し、OS走行開始命令により走行中O
    Sを識別するための走行中OS領域IDを指示して、走
    行中OSが入出力命令を発行したとき、該当する入出力
    装置の専有OS領域IDフィールドの値と走行中OS領
    域IDの値が異なったとき、および該入出力装置の入出
    力直接実行ビットが非専有状態を指示するときには、管
    理制御プログラムに割出すことを特徴とする特許請求の
    範囲第1項、第2項または第3項記載の仮想計算機の入
    出力実行方式。 5、上記実計算機は、OSの主記憶装置を実主記憶装置
    に常駐させて、該OSの主記憶装置から該実主記憶装置
    へのアドレス対応関係を与えるアドレス変換手段を有し
    、OSが入出力装置の入出力動作を指命するチャネル指
    令語(CCW)を作成して、該入出力装置への入出力を
    起動するための入出力命令を発行したとき、現走行OS
    に専有されている入出力装置であり、かつ該入出力命令
    が該OSのアーキテクチャの入出力命令であるときには
    、上記アドレス変換手段により上記OSの作成したCC
    Wのアドレスを該実主記憶装置のアドレスに変換して、
    その値を読み込み、該CCW内のデータアドレスを上記
    実主記憶装置のアドレスに変換しながら、上記入出力命
    令を実行するとともに、走行中OSの入出力の処理モー
    ドを指定するフラグを有し、該フラグが入出力直接実行
    を指示するときには、上記入出力実行処理を有効とし、
    一方、該フラグが入出力直接実行を指示していないとき
    には、OSの全ての入出力命令を、入出力装置の専有、
    非専有にかかわりなく管理制御プログラムに割出すこと
    を特徴とする特許請求の範囲第1項、第2項、第3項ま
    たは第4項記載の仮想計算機の入出力実行方式。 6、上記実計算機は、アドレス変換手段の内容を更新す
    るための命令を有し、該命令のオペランドは、OSの主
    記憶装置の実主記憶装置における開始番地識別子と領域
    長識別子とOSを識別するための領域識別子とからなり
    、また、第1のアーキテクチャの入出力起動命令のオペ
    ランドに、さらに領域識別子をオペランドとして指定す
    る入出力起動命令を有し、該命令は、領域識別子により
    指定されたOSの領域上のCCWのアドレスを、命令で
    指定した領域識別子に対応するアドレス変換手段を用い
    て実主記憶装置のアドレスに変換して、該値を読み込み
    、該CCWのデータアドレスを上記アドレス変換手段に
    より実主記憶装置のアドレスに変換しながら、上記入出
    力起動命令を実行していくことを特徴とする特許請求の
    範囲第1項ないし第4項または第5項記載の仮想計算機
    の入出力実行方式。 7、上記実計算機は、現走行OSのハードウェア割込み
    情報を格納する領域(プレフィクス)のアドレスを記憶
    する手段を有し、1つないし複数の割込みサブクラスを
    入出力直接実行用として有する第1のアーキテクチャの
    OSにおいて、入出力割込み要因が現走行OSの入出力
    直接実行用割込みサブクラスのものであり、かつ現走行
    OSが指定するI/Oマスクおよび割込みサブクラスマ
    スクに割込み可能であることが示されているときには、
    現走行OSのプレフィクスアドレス記憶手段により現走
    行OSのプレフィクスを求め、該プレフィクスに該入出
    力割込みを反映させるとともに、該プレフィクスのアド
    レスを記憶する手段を有し、1つの割込みサブクラスを
    入出力直接実行用に有する第2のアーキテクチャのOS
    で発生した入出力割込み要因が、現走行中の第2のアー
    キテクチャの入出力直接実行用割込みサブクラスのもの
    であり、該OSの指定するI/Oマスクおよび入出力直
    接実行用入出力割込みサブクラスマスクに割込み可能状
    態が指示されているときには、現走行OSのプレフィク
    スアドレス記憶手段により現走行OSのプレフィクスを
    求め、該プレフィクス領域に第1のアーキテクチャの割
    込み情報を第2のアーキテクチャの割込み情報に変換し
    て、入出力割込みをOSに報告することを特徴とする特
    許請求の範囲第1項ないし第5項または第6項記載の仮
    想計算機の入出力実行方式。 8、上記実計算機は、管理制御プログラムが指定するI
    /Oマスクと、入出力割込み要因が発生した割込みサブ
    クラスで、管理制御プログラムが指定する割込みサブク
    ラスマスクに、割込み可能が示されているときには、管
    理制御プログラムに入出力割込みを報告する手段を有す
    るとともに、OS走行中に発生した入出力割込み要因が
    現走行OSの入出力直接実行用割込みサブクラスのもの
    であり、かつ現走行OSのI/Oマスクおよび該入出力
    直接実行用割込みサブクラスマスクに割込み可能が示さ
    れており、かつ管理制御プログラムが指定したI/Oマ
    スクと入出力割込み要因が発生した割込みサブクラスに
    、管理制御プログラムが割込み可能を指定しているとき
    には、現走行中OSか管理制御プログラムかいずれか一
    方に、該入出力割込みを反映することを特徴とする特許
    請求の範囲第1項ないし第6項または第7項記載の仮想
    計算機の入出力実行方式。 9、上記実計算機は、OSのディスパッチ命令により割
    込み情報マスクを指示し、該OSが走行中に発生した該
    当OSに割込み可能な該OSの入出力直接実行用の割込
    みサブクラスからの割込み要因に対して、該割込みの割
    込み情報が上記割込み情報マスクにより指定された割込
    み情報を含むときには、走行中のOSに割込むことなく
    、管理制御プログラムに割出す手段を有するとともに、
    第2のアーキテクチャのOSが走行中に発生する該当O
    Sの入出力直接実行用の割込みサブクラスからの割込み
    要因に対して、走行中のOSがBCモードを示すときに
    は、該割込みを管理制御プログラムに割出すことを特徴
    とする特許請求の範囲第1項ないし第7項または第8項
    記載の仮想計算機の入出力実行方式。 10、上記実計算機は、OS割込みサブクラスレジスタ
    と、走行中OSの入出力直接実行用の割込みサブクラス
    マスクの値を対応する実サブクラス番号の上記OS用割
    込みサブクラスレジスタに設定する手段と、上記OS用
    割込みサブクラスレジスタとOSのI/Oマスクにより
    走行中OSが割込み可能か否かを判断する手段を有する
    とともに、割込みサブクラス番号の変換表を持ち、かつ
    第1のアーキテクチャのOSが走行中に発行した割込み
    サブクラスのマスク値変更命令に対しては、走行中OS
    の入出力直接実行用割込みサブクラスのマスク値を、上
    記変換表を用いて対応する割込みサブクラス番号を得て
    OS用割込みサブクラスレジスタに設定することを特徴
    とする特許請求の範囲第1項ないし第8項または第9項
    記載の仮想計算機の入出力実行方式。 11、上記実計算機は、第1のアーキテクチャのOSを
    ディスパッチする命令により、該OSの入出力直接実行
    用の割込みサブクラスのマスク値を、対応するOS用割
    込みサブクラスレジスタに設定する手段を有するととも
    に、第1のアーキテクチャの入出力命令のうち、チャネ
    ルパスの状態を調べる命令を管理制御プログラムに割出
    すことなく、直接実行することを特徴とする特許請求の
    範囲第1項ないし第9項または第10項記載の仮想計算
    機の入出力実行方式。 12、上記実計算機は、第1のアーキテクチャのOSが
    発行した割込み可能が指示されている割込みサブクラス
    に保留中の割込みから、1つ割込み保留を解除する命令
    (TPI命令)を管理制御プログラムに割出すか否かを
    判断するフラグを持ち、かつ第1のアーキテクチャのO
    Sが走行中に発行した上記命令(TPI)に対して、上
    記フラグが割出しを指示するときには、管理制御プログ
    ラムに命令を割出し、上記フラグが管理制御プログラム
    への割出しを指示していないときには、走行中OSの入
    出力直接実行用割込みサブクラスに関して、上記命令を
    実行するとともに、第1のアーキテクチャの入出力命令
    のうち、命令で指定した入出力装置の割込み保留状態を
    解除し、命令で指定した主記憶装置上の領域に割込み情
    報を格納する命令(TSCH命令)を、第1のアーキテ
    クチャのOSが該OSが専有する装置に対して発行した
    ときには、管理制御プログラムに割出すことなく実行す
    ることを特徴とする特許請求の範囲第1項ないし第10
    項または第11項記載の仮想計算機の入出力実行方式。 13、上記実計算機は、第2のアーキテクチャの入出力
    命令における入出力装置の識別子および入出力実行パス
    の識別子から、対応する第1のアーキテクチャの入出力
    命令での入出力装置の識別子および入出力実行パスの識
    別子への変換テーブルを有し、かつ第2のアーキテクチ
    ャのOSが走行中に発行した入出力命令を第1のアーキ
    テクチャの入出力命令に変換し、さらに上記変換テーブ
    ルにより対応する第1のアーキテクチャでの入出力装置
    の識別子および入出力実行パスの識別子を求めて、これ
    らの情報により上記対応する第2のアーキテクチャの入
    出力を実行するとともに、第2のアーキテクチャのOS
    をディスパッチする命令において、該OSの入出力直接
    実行用割込みサブクラスに対応するOS用割込みサブク
    ラスレジスタに、該OSのチャネルマスクが全て割込み
    可能を示すときには、割込み可能を指示し、上記以外の
    ときには、割込み不可能を指示することを特徴とする特
    許請求の範囲第1項ないし第11項または第12項記載
    の仮想計算機の入出力実行方式。
JP63164758A 1988-06-30 1988-06-30 仮想計算機システム Expired - Fee Related JP2629278B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63164758A JP2629278B2 (ja) 1988-06-30 1988-06-30 仮想計算機システム
US08/008,842 US5499379A (en) 1988-06-30 1993-01-25 Input/output execution apparatus for a plural-OS run system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63164758A JP2629278B2 (ja) 1988-06-30 1988-06-30 仮想計算機システム

Publications (2)

Publication Number Publication Date
JPH0212553A true JPH0212553A (ja) 1990-01-17
JP2629278B2 JP2629278B2 (ja) 1997-07-09

Family

ID=15799366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63164758A Expired - Fee Related JP2629278B2 (ja) 1988-06-30 1988-06-30 仮想計算機システム

Country Status (2)

Country Link
US (1) US5499379A (ja)
JP (1) JP2629278B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265783A (ja) * 1992-03-19 1993-10-15 Fujitsu Ltd 仮想計算機システムi/o制御方式

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2714746B1 (fr) * 1993-12-31 1996-02-02 Bull Sa Procédé de simulation d'une architecture "serveur" à partir d'une architecture "client".
JPH07319691A (ja) * 1994-03-29 1995-12-08 Toshiba Corp 資源保護装置、特権保護装置、ソフトウェア利用法制御装置、及びソフトウェア利用法制御システム
US5835775A (en) * 1996-12-12 1998-11-10 Ncr Corporation Method and apparatus for executing a family generic processor specific application
US6269409B1 (en) 1997-09-02 2001-07-31 Lsi Logic Corporation Method and apparatus for concurrent execution of operating systems
US6108649A (en) * 1998-03-03 2000-08-22 Novell, Inc. Method and system for supplanting a first name base with a second name base
US6345241B1 (en) * 1999-02-19 2002-02-05 International Business Machines Corporation Method and apparatus for simulation of data in a virtual environment using a queued direct input-output device
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6651125B2 (en) * 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6526463B1 (en) * 2000-04-14 2003-02-25 Koninklijke Philips Electronics N.V. Dynamically selectable stack frame size for processor interrupts
DK1297446T3 (da) * 2000-07-05 2006-01-30 Ernst & Young Llp Fremgangsmåde og apparat for tilvejebringelse af computertjenester
US20020112145A1 (en) * 2001-02-14 2002-08-15 Bigbee Bryant E. Method and apparatus for providing software compatibility in a processor architecture
JP2002251326A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 耐タンパ計算機システム
US6961941B1 (en) * 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
EP1467282B1 (en) * 2003-04-09 2008-10-01 Jaluna SA Operating systems
US8612992B2 (en) * 2003-04-09 2013-12-17 Jaluna Sa Operating systems
EP1503286B1 (en) * 2003-07-30 2014-09-03 Jaluna SA Multiple operating system networking
CN1922576A (zh) * 2003-09-30 2007-02-28 扎鲁纳股份有限公司 操作***
US7941799B2 (en) * 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US7617501B2 (en) 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
KR20070083569A (ko) 2004-08-18 2007-08-24 쟈루나 에스에이 운영체제
JP4345630B2 (ja) * 2004-09-29 2009-10-14 ソニー株式会社 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
US7752633B1 (en) * 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US8087075B2 (en) 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
US8429712B2 (en) 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US8086710B2 (en) 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US7895332B2 (en) * 2006-10-30 2011-02-22 Quest Software, Inc. Identity migration system apparatus and method
US8101543B2 (en) * 2008-06-30 2012-01-24 Weyerhaeuser Nr Company Biodegradable superabsorbent particles
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
JP5987501B2 (ja) * 2012-06-29 2016-09-07 富士通株式会社 分岐アドレス管理プログラム、方法、及び装置
CN105095126B (zh) 2014-04-30 2018-02-13 华为技术有限公司 控制方法和控制设备
US11638675B2 (en) 2018-11-07 2023-05-02 Zenith Technical Innovations, Llc System and method for heat or cold therapy and compression therapy

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
JPH0619747B2 (ja) * 1984-01-18 1994-03-16 株式会社日立製作所 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
JPS60122445A (ja) * 1984-08-22 1985-06-29 Hitachi Ltd 仮想計算機システム
JPS61190638A (ja) * 1985-02-20 1986-08-25 Hitachi Ltd 仮想計算機のフアイル制御方式
JPS61206043A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd 仮想計算機システムにおける割込制御方法
JPH0792761B2 (ja) * 1985-07-31 1995-10-09 株式会社日立製作所 仮想計算機システムの入出力制御方法
JPS62108335A (ja) * 1985-11-07 1987-05-19 Fujitsu Ltd 入出力動作制御方式
JPS62184544A (ja) * 1986-02-10 1987-08-12 Nec Corp 仮想計算機システム
JPS633342A (ja) * 1986-06-21 1988-01-08 Nec Corp 仮想計算機の入出力実行方式
JPS63159572A (ja) * 1986-12-22 1988-07-02 山本 和夫 かさ高不織布の圧縮復元方法とその装置
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5027271A (en) * 1987-12-21 1991-06-25 Bull Hn Information Systems Inc. Apparatus and method for alterable resource partitioning enforcement in a data processing system having central processing units using different operating systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265783A (ja) * 1992-03-19 1993-10-15 Fujitsu Ltd 仮想計算機システムi/o制御方式

Also Published As

Publication number Publication date
JP2629278B2 (ja) 1997-07-09
US5499379A (en) 1996-03-12

Similar Documents

Publication Publication Date Title
JPH0212553A (ja) 仮想計算機システム
US4885681A (en) I/O Execution method for a virtual machine system and system therefor
JP3914541B2 (ja) アドレスに基づいた処理制約のブロッキング
JP2765411B2 (ja) 仮想計算機方式
JPH03217949A (ja) 計算機システム
JPS6231437A (ja) 仮想計算機システムの入出力制御方法
JPS6258341A (ja) 入出力割込処理方式
JPH0695898A (ja) 仮想計算機の制御方法および仮想計算機システム
JPH0430053B2 (ja)
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
JPS6083168A (ja) マルチプロセツサ・システム制御方法
JPH0512045A (ja) 計算機システムの動作継続方法および装置
JPS6122825B2 (ja)
JPS63279328A (ja) 仮想計算機システムのゲスト実行制御方式
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPS61184643A (ja) 仮想計算機の起動制御方式
JPS62221041A (ja) 仮想計算機システムにおけるデイスパツチ制御装置
JP2581659B2 (ja) 仮想計算機システム
JP3022398B2 (ja) 仮想計算機方式
JPS62125437A (ja) 付加プロセツサの制御方法
JPS6139135A (ja) 仮想計算機システムにおけるインタバル・タイマ割り込み制御装置
JPS61288231A (ja) 仮想計算機システムのための入出力命令実行装置
JPH03142532A (ja) 計算機システムの入出力実行装置
JPS60225944A (ja) 仮想計算機システム
JPS6116338A (ja) 仮想計算機システムにおける割込み処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees