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

仮想計算機システム

Info

Publication number
JP2629278B2
JP2629278B2 JP63164758A JP16475888A JP2629278B2 JP 2629278 B2 JP2629278 B2 JP 2629278B2 JP 63164758 A JP63164758 A JP 63164758A JP 16475888 A JP16475888 A JP 16475888A JP 2629278 B2 JP2629278 B2 JP 2629278B2
Authority
JP
Japan
Prior art keywords
interrupt
virtual machine
input
instruction
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.)
Expired - Fee Related
Application number
JP63164758A
Other languages
English (en)
Other versions
JPH0212553A (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 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)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、仮想計算機システムに関し、特にアーキテ
クチャの異なる2つの仮想計算機の入出力命令および入
出力割込みを制御プログラムを介在させずに直接実行で
きる仮想計算機システムに関するものである。
〔従来の技術〕
仮想計算機システム(Virtial Machine System.以
下、VMSと記す)は、1台の実計算機の下で、複数の論
理的な計算機である仮想計算機(以下、VMと記す)の同
時走行を可能とするシステムである。例えば、『システ
ム370エクステンディド・アーキテクチャ・インタプリ
ティブ・エクスキューション』(IBM System/370 Ext
ended Architecture Interpretive Execution SA22
−7095)に記載されているように、近年においては、31
ビット・アドレッシング機構を有する370−XAアーキテ
クチャの実計算機の下で、370−XAアーキテクチャのVM
と24ビット・アドレッシング機構を有するS/370アーキ
テクチャのVMを、同時に走行させる技術が開発されてい
る。なお、上記370−XAおよびS/370の詳細については、
それぞれ370−XAプリンシプル・オブ・オペレーション
(370−XA Principles of Operation SA−22−708
5)、およびS/370プリンシプル・オブ・オペレーション
(S/370 Principles of Operation GA−22−700−
3)を参照されたい。これらの370−XAおよびS/370アー
キテクチャは、例えば、(株)日立製作所のMシリーズ
汎用計算機におけるM/EXおよびMアーキテクチャにそれ
ぞれ対応している。
上記文献に記載された計算機のS/370と370−XA、ある
いはMシリーズ汎用計算機のM/EXとMは、それぞれアド
レッシングに加えて、I/O命令およびI/O割込みの形式が
異なっているため、処理が全く異なっている。従って、
VMの入出力起動命令および入出力割込みは、仮想計算機
の制御プログラム(以下、VMCPと記す)が介在してシミ
ュレーションを行っている。しかし、VMCPによるシミュ
レーションによる入出力起動命令や入出力割込みは、プ
ログラムで行うために、時間がかかり過ぎ、処理速度が
遅くなってしまう。
そこで、この入出力シミュレーションに関するオーバ
ヘットを削減するために、VMCPに制御を渡すことなく、
全てハードウェアで入出力を直接実行する方法が提案さ
れた(例えば、特開昭60−150140号公報参照)。上記公
報では、M/EX実計算機の下で、M/EXモードVMの入出力命
令および入出力割込みをハードウェアで直接実行するた
めの方法が示されている。以下、図面によりこの動作を
詳述する。
第18図〜第27図は、従来の入出力直接実行方式の説明
図である。
このうち、第18図は、M/EX計算機の機能構成を示すブ
ロック図である。
計算機は、主記憶装置1000、中央処理装置(以下、CP
Uと記す)2000、入出力プロセッサ(以下、IOPと記す)
3000、入出力制御装置(以下、IOCと記す)4000、およ
び入出力装置5000から構成されている。ここでは、IOC
および入出力装置は、それぞれ1個ずつ設けられている
が、いずれも複数個存在するのが普通である。主記憶装
置1000には、I/O実行要求キュー1100、I/O割込み要求キ
ュー1200、IOP用アドレス変換テーブル1300、および入
出力装置に対応する数だけのサブチャネル1400、ならび
にVMに対応する数だけのSD1500の領域が格納されてい
る。またCPU2000には、主記憶装置1000から読み出され
た命令が格納される命令レジスタ2100、命令をデコード
するための命令デコーダ2110、命令を実行するための命
令実行回路2120、VMCPが割込みが可能であるか否かを判
定するホスト割込み起動回路2210、割込み処理を行う割
込み処理回路2300が設けられ、また各種の制御レジスタ
として、IEモードビット2400、VMCPに対応するホストPS
W2410とホストCR6−2420、VMに対応するゲストPSWとゲ
ストCR6−2440が設けられている。
この計算機の動作を、(i)環境設定処理と(ii)VM
の起動処理と、(iii)VMのI/O命令実行方式、VMへのI/
O割込み実行方式とに分けて、順次説明する。
(i)入出力直接実行のための環境設定処理 第19図は、実主記憶装置とVMの主記憶装置の関係と、
IOP用アドレス変換テーブルの内容を示す図である。
ここでは、第19図に示すように、VMの主記憶装置(レ
ベル2メモリ)1000−1が実主記憶装置(レベル1メモ
リ)1000上に、一定変位αだけずらして存在するよう
な常駐ストレージモードのVM(V=Resi VMとも言う)
を入出力直接実行の対象としている。このために、先
ず、レベル2からレベル1へのアドレス変換テーブル13
00を形成する。このIOP用アドレス変換テーブル1300
は、VMを識別するための全領域識別子RIDから、実主記
憶装置1000におけるVMの主記憶装置の起点アドレスα
と終点アドレスαの組が得られるようなテーブルであ
る。
次に、VMの装置専有処理において、CPU2000は装置の
専有状態を識別できるように、この入出力装置に対応す
るサブチャネル1400内のSCH−DIO1410フラグを‘1'に、
またSCH−RID1420に専有元のVMの全領域識別子RIDを設
定する。この識別子RIDは、IOP用アドレス変換テーブル
1300の該当するVMのRIDと同一のものである。
(ii)VMの起動処理 VMの起動命令であるSIE(Start Interpretive Exec
ution)は、第18図に示す主記憶装置の領域であるSD150
0のアドレスをオペランドとして持っている。SD1500に
は、‘1'のときに入出力直接実行を指示するSD−DIO151
0と、走行中のVMをCPUが識別するためのRIDを格納するS
D−RID1520と、走行中のVMのアーキテクチャ(つまり、
M/EXかMか)を識別するためのSD−ARCH1530とが設けら
れる。SD−ARCH1530は、‘0'のときにMモードVMを、
‘1'のときにM/EXモードを、それぞれ表わす。
SIE命令が発行されると、命令実行回路2120により、I
Eモードビット2400には、VM走行中を示す‘1'が設定さ
れ、ホストPSW2410、ホストCR6−2420には、ホストつま
りVMCPのPSWおよびCR6の値が設定され、ゲストPSW243
0、ゲストCR6−2440には、ゲストつまりVMに対応するSD
1500に格納されているゲストレジスタの値が設定され
る。ただし、ホストPSW2410のビット6であるI/Oマスク
には、ゲストPSW2430のビット6が設定される。また、
入出力割込みの直接実行には、割込みサブクラス(単に
サブクラスとも呼ぶ)の専有が前提となる。このため
に、例えば、VM1が仮想サブクラス0に実サブクラス1
を対応させて専有している時には、 (イ)仮想サブクラス0のマスク値が‘0'、つまりゲス
トCR6−2440のビット0が‘0'ならば、ホストCR6−2420
のビット1(つまり、実サブクラス1のマスク)には
‘0'を設定する。
(ロ)仮想サブクラス0が‘1'であれば、ホストCR6−2
420のビット1には、‘1'を設定する。
これらの処理により、走行中VMの専有サブクラスに関
しては、ホストPSW2410のI/OマスクとホストCR6−2420
のマスクによりVMの割込みが制御可能となる。
(iii)VMのI/O命令実行方式 VMが走行中に発行した入出力起動命令は、以下のよう
に、命令実行回路2120により実行される。
(イ)命令実行自回路2120は、SD1500のSD−DIO1510に
アクセスして、SD−DIO1510が‘1'であれば次に進み、
それ以外は、命令の実行を抑止して、VMCPに命令を割り
出す。
(ロ)命令実行回路2120は、命令で指定されたサブチャ
ネル1400にアクセスし、SCH−DIO1410が‘1'であり、SC
H−RID1420とSD−RID1520が一致するならば次に進み、
それ以外では、命令の実行を抑止してVMCPに命令を割り
出す。
(ハ)次に、命令実行回路2120は、第2オペランド(B2
/D2)のアドレス計算を行い、そのアドレスに格納され
ている入出力起動情報を対応するサブチャネル1400内の
特定領域に格納する。
(ニ)サブチャネル1400が入出力実行可能(つまり、対
応する入出力装置5000に至るチャネルおよびIOC4000の
パスがフリー)であれば、IOP3000内のアドレス変換回
路3100は、OSが作成したレベル2メモリ上の仮想CCW群1
600(第19図参照)のCCWおよびデータアドレスに、SCH
−RID1420に対応するIOP用アドレス変換テーブル1300に
格納されている該当VMの主記憶起点アドレスであるα
を加算しながら実行していく。また、サブチャネル1400
が入出力実行不可能状態(つまり、チャネルあるいはIO
Cがビジー)ならば、サブチャネル1400を第20図に示すI
/O実行要求キュー1100にキューイングする。そして、チ
ャネルおよびIOCがフリーになると、IOC制御ブロックに
キューイングされた入出力実行要求に対応して、IOP300
0は再起動処理を行う。
このようにして、走行中VMの専用装置に対するI/O命
令がVMCPの介在なしで、ハードウェアにより直接実行さ
れる。
(iv)VMへのI/O割込み実行方式 サブチャネル1400には、仮想サブクラス0、つまり入
出力直接実行用の割込みサブクラスである実サブクラス
1が対応付けられているものとする。このとき、前述の
ように、ゲストPSW2430のI/OマスクとホストPSW2410のI
/Oマスクの値は一致し、さらにゲストCR6−2420の仮想
サブクラス0に対応するビット0とホストCR6の実サブ
クラス1に対応するビット1の値は一致している。従っ
て、サブチャネル1400については、ホストにおける割込
み可能条件がゲストにおける割込み可能条件に一致す
る。サブチャネル1400の割込みは、次のように実行され
る。
(イ)サブチャネル1400に割込み要因が発生すると、IO
P3000は、サブチャネル1400に設定されている実サブク
ラス番号であるサブクラス1のI/O割込み要求キュー120
0(第21図参照)にサブチャネル1400をキューイングす
る。
(ロ)その後、IOP3000は、第22図に示すホスト割込み
起動回路2210内の実割込み保留レジスタ2214のビット1
(実サブクラスに対応している)を‘1'に設定する。
(ホ)ホストCR6−2420のビット1が‘1'であるとす
る。このとき、AND回路群2211のサブクラス1の部分の
出力が‘1'となり、OR回路2212の出力が‘1'となる。ま
た、ホストPSW2410のI/Oマスクの値が‘1'であるとする
と、AND回路2213の出力が‘1'となり、割込み処理回路2
300に起動信号が送られる。
(ニ)割込み処理回路2300では、該当するサブクラスの
I/O割込み要求キューの先頭のサブチャネル1400をデキ
ューして、サブチャネル1400内に格納されている割込み
コードVMのPSAの特定領域に格納する。また、VMのPSA内
のI/OのOLD PSWフィールドに割込み時のゲストPSW2430
をセーブし、さらにVMのPSA内のI/OのNEW PSWをゲスト
PSW2430にロードして、命令を実行することにより割込
み処理を終了する。
以上のように、走行中VMが専有する入出力直接実行用
サブクラスでは、VMが割込み可能である場合にのみVMに
割込みが実行される。また、割込み要因が発生したとき
に、VMが入出力直接実行用のサブクラスについて割込み
不可能な状態の場合には、I/O割込み要求キュー1200の
該当キューにサブクラス1400がキューイングされる。
〔発明が解決しようとする課題〕
このように、上記公報に記載された方式では、常駐ス
トレージモードVMの入出力に関するオーバヘッドを大幅
に削減するために有効である。しかし、この方式では、
次に述べるような4つの課題が生じる。
(イ)第1の課題は、入出力割込みに関するものであ
る。すなわち、VM走行中に、ホストPSW2410のI/Oマスク
はゲストPSW2430のI/Oマスクを設定するので、ゲストPS
W2430のI/Oマスクが‘0'であると、所望しないにもかか
わらず、他のVMあるいはVMCPへのI/O割込みが抑止され
る可能性があることである。
(ロ)第2の課題は、計算機アーキテクチャに関するも
のである。すなわち、上記公報に記載された方式では、
M/EX実計算機の下でM/EXモードVMのI/O直接実行を行っ
ている。しかし、M/EX実計算機の下で、MモードVMのI/
Oも効率よく実行したい場合があるが、これは不可能で
あった。
(ハ)第3の課題は、異常終了したI/O割込みの処理に
関するものである。すなわち、チャネル障害等により、
あるVMの専用装置への入出力が異常終了したとき、この
割込みをVMCPに通知して、VMCPに回復処理を行わせるこ
とが望ましい。つまり、このように、特定の状態で入出
力が終了した場合には、VMに直接には割込まず、VMCPに
割込むことにより、VMCPに回復処理を行わせれば、他の
VMの入出力の信頼性を向上させることになる。しかし、
上記の従来方式では、VMCPに割込む等は不可能である。
(ニ)第4の課題は、入出力割込みマスクの更新命令の
実行方式に関するものである。すなわち、VMへの入出力
割込みを直接実行するためには、ハードウェアがVMの入
出力割込み可能条件を判定できなければならない。この
ため、VM上のOSが入出力割込みマスクを変更した場合、
ハードウェアはこの変更後の入出力割込みマスクが指示
する割込み可能条件に従って割込みを処理する必要があ
る。しかし、上記従来の方式では、このような入出力割
込みマスクの更新命令を、効率よく実行することはでき
ない。
本発明の目的は、これら従来の課題を解決し、M/EX実
計算機の下で、アーキテクチャの異なるMおよびM/EXモ
ードVMの入出力命令および入出力割込みを効率よく実行
することが可能な仮想計算機システムを提供することに
ある。
〔課題を解決するための手段〕
本発明の仮想計算機システムは、第1のアーキテクチ
ャの計算機上において第1および第2のアーキテクチャ
の仮想計算機が走行可能な仮想計算機システムであっ
て、走行中の仮想計算機のアーキテクチャを保持するア
ーキテクチャ保持手段と、第2のアーキテクチャの仮想
計算機が各入出力装置を識別するための第2の入出力装
置識別子と前記第1のアーキテクチャの計算機が各入出
力装置を識別するための第1の入出力装置識別子との対
応関係を保持する対応関係保持手段と、前記計算機にお
いて走行中の仮想計算機が入出力装置に対して入出力実
行を要求したことに応じて、前記走行中の仮想計算機の
アーキテクチャが第2のアーキテクチャか否かを前記ア
ーキテクチャ保持手段により判定するアーキテクチャ判
定手段と、前記アーキテクチャ判定手段により前記走行
中の仮想計算機のアーキテクチャが第2のアーキテクチ
ャと判定されたとき、前記入出力実行要求が指定する第
2の入出力装置識別子を前記対応関係保持手段により対
応する第1の入出力装置識別子に変換する識別子変換手
段と、前記識別子変換手段による変換結果の第1の入出
力装置識別子を用いて前記入出力装置に対する入出力実
行要求を実行する入出力実行手段とを有することを特徴
としている。
また、前記第2のアーキテクチャの仮想計算機が入出
力実行要求で指定した第2の入出力装置識別子を入出力
装置対応に保持する識別子保持手段と、前記計算機にお
いて走行中の第2のアーキテクチャの仮想計算機に対す
る入出力割り込み要求が発生したことに応じて、入出力
割込みを要求した入出力装置に対応する前記識別子保持
手段が保持する第2の入出力装置識別子を割込み情報と
して前記走行中の第2のアーキテクチャの仮想計算機に
通知する入出力割込み実行手段とを有することを特徴と
している。
さらに本発明の仮想計算機システムは、1つの計算機
システム上において仮想計算機制御プログラムの管理に
より複数の仮想計算機が走行可能な仮想計算機システム
であって、特定の入出力割込み種別を保持する割込み種
別保持手段と、走行中の仮想計算機に対する入出力割込
み要求が発生したことに応じて、前記割込み要求が前記
割込み種別保持手段に指定された種別の入出力割込みか
否かを判定する割込み種別判定手段と、指定された種別
の割込み要求であるとき、前記入出力割込みを仮想計算
機制御プログラムに対して実行する割込み先切り替え手
段とを有することを特徴としている。
また、1つの仮想計算機システム上において仮想計算
機制御プログラムの管理により複数の仮想計算機が走行
可能な仮想計算機システムであって、走行中の仮想計算
機に対する前記仮想計算機制御プログラムの割込みサブ
クラス毎の入出力割込み保留状態を保持する第1の保留
状態指示子と、走行中の仮想計算機に対する前記計算機
システムの割込みサブクラス毎の入出力割込み保留状態
を保持する第2の保留状態指示子と、走行中の仮想計算
機が若番の割込みサブクラスの1つの入出力割込みの保
留を解除する命令を発行したことに応じて、前記第1と
第2の保留状態指示子のいずれが若番の割込みサブクラ
スへの割込み保留を示すかを判定する保留先判定手段
と、保留先判定手段により第1の保留状態指示子が若番
の割込みサブクラスへの割込み保留を指示するならば前
記命令を前記仮想計算機制御プログラムに割り出し、保
留先判定手段により第2の保留状態指示子が若番の割込
みサブクラスへの割込み保留を指示するならば前記計算
機による前記走行中の仮想計算機に対する1つの入出力
割込み保留を解除する手段とを有することを特徴として
いる。
さらに、1つの計算機システム上において仮想計算機
制御プログラムの管理により複数の仮想計算機が走行可
能であり、前記計算機システムの主記憶装置の各分割領
域を各仮想計算機の主記憶装置とする仮想計算機システ
ムであって、各仮想計算機の主記憶装置と割当てられた
前記主記憶装置上の分割領域の対応関係を保持する領域
管理手段と、前記仮想計算機制御プログラムが発行した
入出力命令のオペランドに指定された仮想計算機識別子
に対応する仮想計算機の主記憶領域と割当てられた前記
主記憶装置上の分割領域との対応関係を前記領域管理手
段から選択する領域選択手段と、前記入出力命令が指定
する前記仮想計算機の主記憶領域上のチャネルプログラ
ムを、前記選択した対応関係を用いて実行する入出力実
行手段とを有することを特徴としている。
また、1つの計算機システム上において仮想計算機制
御プログラムの管理により複数の仮想計算機が走行可能
であり、複数の割込みサブクラス毎に割込みの保留が可
能である仮想計算機システムであって、仮想計算機制御
プログラムにより設定されるホストI/Oマスクとホスト
割込みサブクラスマスクによりI/O割込みの実行を要求
するか否かを制御するホスト割込み制御手段と、走行中
の仮想計算機が占有するゲスト割込みサブクラスのマス
クの値を保持する入出力直接実行用ゲスト割込みサブク
ラスレジスタと、走行中の仮想計算機により設定される
ゲストI/Oマスクと前記入出力直接実行用ゲスト割込み
サブクラスレジスタにより前記仮想計算機が占有するゲ
スト割込みサブクラスのI/O割込みの実行を要求するか
否かを制御するゲスト割込み起動手段と、実用要求元が
ホスト割込み起動手段のときには仮想計算機制御プログ
ラムに対してI/O割込みを実行し、実行要求元がゲスト
割込み起動手段のときには走行中の仮想計算機に対して
I/O割込みを実行するI/O割込み処理手段とを有すること
を特徴としている。
また、ゲスト割込みサブクラス番号と前記仮想計算機
が占有する入出力直接実行用ゲスト割込みサブクラス番
号との対応関係を示す対応表を有し、走行中の仮想計算
機がゲスト割込みサブクラスのマスクの値を変更したこ
とに応じて、前記対応表を参照して対応する入出力直接
実行用ゲスト割込みサブクラスレジスタのマスクの値を
変更する割込みサブクラスマスク変更手段を有すること
を特徴としている。
〔作用〕
本発明においては、上記第1の課題、つまりゲストPS
WのI/Oマスクが‘0'のとき、他のVMまたはVMCPへの割込
みが抑止されてしまう点を解決するため、ホスト割込み
起動回路2210とは独立に、ゲスト割込み起動回路2220を
設ける。このゲスト割込み起動回路2220は、ゲストPSW2
430のI/Oマスクと走行中VMの入出力直接実行用専有サブ
クラスマスクとを設定するI/O直接実行用ゲストCR6−24
50により、走行中VMの割込み可能条件を判定する回路で
ある。
また、上記第2の課題、つまりM/EX実計算機の下で、
MモードVMとM/EXモードVMのI/O直接実行を効率よく行
うことができるようにするため、命令実行回路2120およ
び割込み処理回路2300の内部構成を拡張する。また、M
モードの入出力開始命令で指定される仮想装置アドレス
を対応するサブチャネル番号に変換するためのデバイス
アドレス変換テーブル1551(第12図B参照)を設ける。
すなわち、命令実行回路2120は、MモードVMが発行した
入出力命令をデバイスアドレス変換テーブルを用いて対
応するM/EXの入出力命令に変換して実行するために拡張
されている。さらに、割込み処理回路2300は、Mモード
VMが走行中に発生した走行VMの入出力直接実行用専用サ
ブクラスからのM/EX形式の割込みを、Mの割込み形式に
変換してVMに反映するように拡張される。
次に、上記第3の課題、つまり異常終了したI/O割込
みの処理を、管理制御プログラム(VMCP)に通知して、
回復処理を行わせることができるようにするため、VMの
起動時、SD1500中に割込みインタセプションマスクを指
定する。そして、割込み処理回路2300は、走行中VMに割
込み可能な専有サブクラスの入出力割込みが、上記割込
みインタセプションマスクに指定された割込み情報を含
むときには、VMには割込まずに、管理制御プログラム
(VMCP)に割込む。
次に、第4の課題、つまり入出力割込みマスクの更新
命令を効率よく実行するため、SD1500中に、M/EXモード
VMの場合、仮想サブクラス番号と実サブクラス番号の対
応を与えるサブクラス番号変換表1540を持つ。そして、
VMがゲストCR6−2440を変更する命令を発行した場合、
命令実行回路2100は、ゲストCR6−2440を更新するのみ
でなく、I/O直接実行用ゲストCR6−2450のマスクを上記
サブクラス番号変換表に従って変更する。
本発明の全体の作用は、以下のように行われる。すな
わち、ゲスト割込み起動回路2220は、ホストPSW2410のI
/OマスクやホストCR6−2420とは独立して、ゲストPSW24
30のI/OマスクとI/O直接実行用ゲストCR6−2450によ
り、走行中VMの専有サブクラスの割込み可能条件を判定
する。このため、ホストPSW2410のI/OマスクとゲストPS
W2430のI/Oマスクは各々別個の値を設定することが可能
となり、VM走行中は、ホストPSW2410のI/Oマスクには常
に‘1'を設定することが可能となる。従って、望まない
にもかかわらず、VMCPや他のVMのI/O割込みがハードウ
ェアに保留されることはない。
また、拡張された命令実行回路2120は、デバイスアド
レス変換テーブル1551を用いて、Mの入出力開始命令を
対応するM/EXの入出力開始命令に変換して実行し、拡張
された割込み処理回路2300は、M/EXの割込み形式をMの
割込み形式に変換する。このために、M/EX実計算機上で
は、MモードVMの入出力を直接実行可能となる。
さらに、割込み処理回路2300は、走行中VMが専有する
サブクラスからの割込みが、SD1500中の割込みインタセ
プションマスクに指定された割込み情報を含む場合に
は、管理制御プログラム(VMCP)に割込む。このため
に、管理制御プログラム(VMCP)は、回復処理を行うこ
とが望ましい割込みのパターンを割込みインタセプショ
ンマスクに設定して、VMを起動することにより、チャネ
ル障害時等における回復処理を管理制御プログラム(VM
CP)が行うことも可能である。
命令実行回路2120は、M/EXモードVMが発行したゲスト
CR6−2440更新命令に対して、サブクラス番号変換表154
0に従ってI/O直接実行用ゲストCR6−2450のマスク値も
更新する。このため、上記命令実行後も、VMの割込み可
能条件をゲストPSW2430のI/OマスクとI/O直接実行用ゲ
ストCR6−2450により、ゲスト割込み起動回路2220は判
定できる。このように、本発明においては、M/EXモード
VMのゲストCR6−2440更新命令を管理制御プログラム(V
MCP)に割出すことなく、直接実行することが可能であ
る。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明す
る。
第1図は、本発明の一実施例を示す仮想計算機の入出
力実行装置の機能フローチャートである。
本発明の主目的は、常駐ストレージを有するMモード
およびM/EXモードVMの専用装置へのI/O命令およびI/O割
込みを、管理制御プログラム(VMCP)が介在することな
く、ハードウェアによる直接実行させることである。
第1のフローは、そのための処理を、VMとVMCPとハー
ドウェアとに分けて示している。先ず、VMCPが入出力直
接実行のための環境設定処理(ステップ100)を行った
後、SIE命令(Start In terpretive Execution命令)を
発行して(ステップ101)、VMをディスパッチした後、V
M上のOSが入出力起動命令を発行すると、この命令は次
のように実行される。なお、同一処理欄内の( )内
はMモードの命令であり、また〔 〕内はMモードの
命令のみに対して必要な処理であって、M/EXモードの命
令では不要な処理である。
先ず、M/EXモードVMがその入出力起動命令であるSSCH
命令を発行すると(ステップ102)、ハードウェアの入
出力直接実行支援機構が対応するSSCHE(Start Subcha
nnel Extended)命令を実行する(ステップ104)。こ
れにより、レベル2上の仮想CCW群が実行される。このI
/Oの処理が終了して、割込み要因が発生すると、ハード
ウェアにより割込み可能か否かを判定して(ステップ10
5)、割込み不可能であれば、この割込みをハードウェ
アで保留する。(ステップ106)。また、割込み可能で
あれば、走行中VMに報告すべき割込みか否かを判定して
(ステップ107)、そうであれば割込みをVMCPが介在す
ることなく、直接実行する(ステップ109)。また、走
行中VMに直接報告すべき割込みでない場合には、先ず、
VMCPに割込み、VMCPがVMへの割込み反映処理を行う(ス
テップ110)。
次に、MモードVMがその入出力起動命令であるSIOF
(Start I/O Fast Release)命令を発行すると(ス
テップ102)、ハードウェアはSSCHE命令が実行できる環
境を整えるため、SIOF→SSCHEの命令変換を行い(ステ
ップ103)、SSCHE命令を実行する(ステップ104)。こ
のI/Oの処理が終了し、割込み要因が発生すると、ハー
ドウェアにより割込み可能か否かを判定する(ステップ
105)。割込み不可能であれば、この割込みをハードウ
ェアで保留する(ステップ106)。また、割込み可能で
あれば、走行中VMに報告すべき割込みか否かを判定し
(ステップ107)、そうであればMモードでの割込み情
報をサブチャネルから生成して、M/EXからMへの割込み
情報の変換を行い(ステップ108)、割込みを実行する
(ステップ109)。また、走行中VMに直接報告すべき割
込みでないときには、先ずVMCPに割込み、VMCPがVMへの
割込み反映処理を行う(ステップ110)。
第2図は、本発明の一実施例を示す仮想計算機システ
ムの機能ブロック図である。
第2図の構成は、第18図に示す従来の構成とほぼ同じ
であるが、次の点が第18図の構成と異なっている(新た
に設けたブロックの下辺を太く記載している)。
(イ)サブチャネル1400内に、SSCHE動作を指定するた
めのSCH−SSCHE1430ビットを設けた。
(ロ)SD1500内に、サブクラス番号変換表1540を設け、
I/O直接実行用に拡張した。
(ハ)命令実行回路2120を、SIE命令、制御レジスタを
更新するLCTL命令、VMのI/O命令を実行するために拡張
した。
(ニ)走行中VMの専有サブクラスのマスクを保持するI/
O直接実行用ゲストCR6−2450を設けた。
(ホ)走行中VMの専用サブグラスの割込み可能条件を判
定するゲスト割込み起動回路2220を設けた。
(ヘ)BCモードで走行中のVMの専用サブクラスの割込み
に対しては、無条件に割込み処理回路2300に起動信号を
送るためのBCモード割込み起動回路2230を設けた。な
お、M/EXではECモードのみであるが、MではBCモードと
ECモードの両方がある。
(ト)IOP3000内に、VMの入出力実行の初期設定を行う
ための起点アドレスレジスタ設定回路3200を設けた。
以上の増設機構を用いて、入出力直接実行のための環
境設定、VMの起動、VMのI/O命令の実行、I/O直接実行用
ゲストCR6の設定、I/O割込み実行を行う。
第3図、第4図および第5図は、それぞれ本発明で新
たに設けられたSALE命令、SSCHE命令、およびSRID命令
の構成図である。
(i)入出力直接実行のための環境設定処理 VMCPは、本発明により新たに設けられたSALE(Set A
ddress Limit Extended)命令により、VMの主記憶装
置の上下限アドレスをIOP用アドレス変換テーブル1300
に設定する。第3図に示すように、SALE命令の第2オペ
ランドアドレスは、IOP3000が入出力要求元のVMを識別
するためのRID(Region Identification)である。ま
た、汎用レジスタGR1のビット1からビット15の開始番
地の値に216を乗じた値が、実主記憶装置1000におけるV
Mの主記憶装置の開始番地(下限アドレス)であり、GR1
に示された領域長nに対してn+1に216を乗じた値がV
Mの主記憶装置の領域長である。従って、GR1の開始番地
と領域長に1を加算した結果に216を乗じた結果が、VM
の主記憶装置の終点アドレス(上限アドレス)である。
VMCPがSALE命令を発行すると、命令レジスタ2100にこ
のSALE命令が格納される。これが命令デコーダ2110によ
りデコードされた後、命令実行回路2120において第2オ
ペランドの計算を行い、RIDに対するIOP用アドレス変換
テーブル1300のエントリに、GR1に示されている開始番
地と領域長から計算された上下限アドレスを格納する
(第19図のテーブル参照)。
VMに入出力装置を専用装置として接続する場合、この
装置が入出力直接実行対象であることを命令実行回路21
20が判定できるようにする必要がある。このために、第
5図に示すようなSRID(Set Regino ID)命令を新た
に設けた。
SRID命令の第2オペランドアドレスは、命令実行回路
2120が装置専有元のVMを識別するためのRID、および
‘1'であるときには入出力直接実行対象の装置であるこ
とを示し、また‘0'であるときには入出力直接実行対象
外の装置であることを示すDTビットからなる。また、入
出力実行モードの設定対象入出力装置のサブチャネル番
号を汎用レジスタGR1に設定する。
VMCPがこのSRID命令を発行すると、命令レジスタ2100
にSRID命令が格納される。命令実行回路2120は、第2オ
ペランドアドレスの計算を行い、GR1に示されたサブチ
ャネル番号に対応するサブチャネル1400のSCH−DIO1410
に第2オペランドアドレスのDTビットを、またSCH−RID
1420には第2オペランドアドレスのRIDを格納する。
さらに、環境設定処理としては、サブクラスの専有処
理、MモードVMの場合には、後述のデバイスアドレス変
換テーブル1551の作成等が必要である。この点に関して
は、SD1500と密接に関係するので、次のVMの起動処理に
おいて詳述する。
(ii)VMの起動処理 第12図(A)(B)(C)は、本発明におけるSD領域
の説明図である。
VMの起動を行うためのSIE命令のオペランドであるSD1
500は、第12図(A)に示すように、次のようなフィー
ルドから構成される。
(イ)SD−ARCH1510 従来より存在するオペランドである。‘0'のときには
MモードVMの起動を、また‘1'のときにはM/EXモードVM
の起動を、それぞれ示している。
(ロ)常駐ストレージモードビット1511 これも従来より存在するオペランドである。‘0'のと
きには非常駐ストレージモードVMの起動を、また‘1'の
ときには常駐ストレージモードVMの起動を、それぞれ示
している。
(ハ)ICビット1512 従来より存在するオペランドである。VM走行中に命令
例外のプログラム割込み要因が発生したとき、ICビット
1512が‘0'であればVMに直接プログラム割込みを報告
し、‘1'であればVMCPに割込むことを指示する。
(ニ)LCTLインタセプトマスク1592 従来より存在するオペランドである。16ビットから構
成され、各ビットが制御レジスタ番号に対応している。
VMが制御レジスタ値の変換命令LCTLを発行したとき、LC
TLインタセプトマスク1592に‘1'が設定されている制御
レジスタの変更要求を含む場合、命令の実行は抑止され
てVMCPに割り出される。
(ホ)SD−DIO1530 本発明により新たに設けられたオペランドである。
‘0'のときにはI/O直接実行を行わないことを表わし、
‘1'のときにはI/O直接実行を行うことを表わす。
(ヘ)サブクラス番号変換表1540 本発明により新たに設けられたオペランドである。8
エントリから構成され、各エントリは、第12図(C)に
示すCL−CNTLである。SD−ARCH1510が示すVMのアーキテ
クチャにより次の意味を持っている。
MモードVMの場合 (α)SD−DIO1530が‘0'のとき、このVMはI/O直接実行
用のサブクラスを有しない。
(β)SD−DIO1530が‘1'のとき、このVMはI/O直接実行
用サブクラスを有する。サブクラス番号変換表1540の第
0エントリSCL−CNTのS(ビット3から7)が、VMが専
有する実サブクラス番号(装置専有時に、VMCPはこの実
サブクラスを対応するサブチャネルに設定する)を、ま
たD(ビット0)が、このサブクラスに設定されるマス
クの値を示す。例えば、サブクラス番号変換表1540が
(8100000000)16のとき、実サブクラス1を該当VMは専
有し、実サブクラス1にはマスク値1を設定することを
表わしている。
M/EXモードVMの場合 D=0のとき、当該エントリの番号に対応するゲスト
I/O割込みサブクラスは、I/O割込み直接実行対象のI/O
割込みサブクラスに対応付けられていない。
D=1のとき、当該エントリの番号に対応するゲスト
I/O割込みサブクラスは、I/O割込み直接実行対象のI/O
割込みサブクラスに対付けられている。
S(ビット3〜7)は、ゲストに与えられたI/O割込
み直接実行対象のI/O割込みサブクラス番号を表わして
いる。例えば、サブクラス番号変換表1540が(82008400
00000000)16のとき、仮想サブクラス0は実サブクラス
2に、仮想サブクラス2は実サブクラス4に、それぞれ
対応付けられており、しかも実サブクラス2および4
は、該当VMの専用サブクラスであることを示す。
SIE命令が発行されると、このサブクラス番号変換表1
540に従って、命令実行回路2120は、I/O直接実行用ゲス
トCR6−2450の設定を行う。これについては、後に詳述
する。
(ト)SD−RID1520 本発明により新たに設けられたオペランドである。I/
O直接実行支援を行うために、VMの識別子であるRIDを設
定する。SD−RID1520と、SALE命令では該当VMの上下限
アドレス設定時に指定したRIDと、該当VMに装置を専有
させたときにSRID命令で指定したRIDは、同一のもので
なければならない。また、RIDはVMごとに異なるが、RID
の管理は、VMCPが行う。
(チ)DEV−ORG1550 本発明により新たに設けられたオペランドである。後
述するデバイスアドレス変換テーブル1551の先頭アドレ
スを示している。このフィールドの値は、ゲストがMモ
ードで、かつSD−DIO1530が‘1'の場合にのみ有効であ
る。
第12図(B)に示すように、デバイスアドレス変換テ
ーブル1551は(2000)16エントリのDEVTBLから構成さ
れ、エントリ番号は、Mの入出力命令のオペランドであ
る仮想装置アドレスである。DEVTBLの各フィールドは、
各々次のような意味を持っている。
D=0のとき、直接実行の対象外の装置である。
D=1のとき、直接実行対象の装置である。エントリ
番号に対応する仮想装置アドレスにVMがMの入出力起動
命令を発行したとき、DEVTBLに示されたサブチャネルに
対して、DEVTBLに示された論理パスマスクLPMを用いてM
/EXの入出力起動命令を実行することを指示する。
VMCPは、MモードのVMに装置を専有させた時、デバイ
スアドレス変換テーブル1551の該当するエントリのDEVT
BLのDビットを‘1'に設定し、さらにLPMおよびサブチ
ャネル番号を設定する。このデバイスアドレス変換テー
ブルを用いて、MモードVMのI/Oがどのようにして直接
実行するかについては、(iii)で詳述する。
(リ)I/O割込みインタセプションマスクIMSK1560 本発明により新たに設けられたオペランドである。IM
SK1560は、M/EXのI/O終了状態情報であるサブチャネル
状態語SCSWに対応している。VMに直接実行可能なI/O割
込みのSCSWとI/O割込みインタセプションマスクの値を
ビットごとに論理積をとり、いずれかが‘1'のとき、I/
O割込みは直接実行されずにVMCPに割込む。この割込み
をI/O割込みインタセプションと呼ぶ。I/O割込みインタ
セプションがとのように実現されるかは、(v)で詳述
する。
(ヌ)SUBID1570およびIPRM1580 これらも、本発明により新たに設けられたオペランド
である。I/O割込みインタセプション発生時、そのサブ
チャネル番号がSUBID1570に、また該当サブチャネルへ
の入出力起動命令のオペランドで指定した割込みパラメ
ータがIPRM1580に、それぞれ設定される。
(ル)TPIインタセプトビット1590およびTPIインタセプ
トマスク1591 これも、本発明により新たに設けられたオペランドで
ある。M/EXモードVMのTPI命令を直接実行するために用
いるが、これも(iii)で詳述する。
本発明においては、上述の拡張されたSD1500をオペラ
ンドとして持つSIE命令を発行することにより、命令実
行回路2120および割込み処理回路2300は、走行中VMの上
記オペランドの値を参照することが可能となり、また値
の更新が可能となる。
(iii)VMのI/O命令実行方式 (iii−1)M/EXモードVMのI/O命令実行方式 先ず、直接実行可能なM/EXのI/O命令であるTPI命令、
STCPS(Store Channel Path Status)命令、TSCH(T
est Subchannel)命令、SSCH(Start subchannel)命
令、およびRSCH(Resume Subchannel)命令について、
簡単に説明する。
(a)TPI命令 制御レジスタCR6のサブクラスマスクが‘1'のサブク
ラスにI/O割込みが保留されているサブチャネルの割込
みコードを、第2オペランドアドレスが指定する領域に
格納する。割込みコードは、第25図に示すように、(00
01)16、サブチャネル番号、および割込みパラメータか
らなる。
(b)STCPS命令 第2オペランドアドレスで指定された領域に、チャネ
ルパスのアクティブ状態を示すチャネルパス状態語を格
納する。
(c)TSCH命令 TSCH命令の形式は、第24図に示すように、オペレーシ
ョンコードと、(B2/D2)の第2オペランドアドレス
と、汎用レジスタGR1に格納されたサブチャネル番号か
らなる。TSCH命令は、汎用レジスタGR1に指定されたサ
ブチャネルの割込み情報を、第2オペランドアドレスが
指定する主記憶装置上の領域に格納するための命令であ
る。なお、第24図には、割込み情報である割込み応答ブ
ロックIRBの形式が示されている。IRBは、Mモードでの
チャネル状態語の拡張情報であるサブチャネル状態語SC
SW、MでのリミティドチャネルログアウトLCLに対応す
る拡張状態語ESW、およびモニタ情報等を含む拡張制御
語ECWから構成される。
(d)SSCH SSCH命令は、第23図に示すような形式を持っている。
第2オペランドアドレス(B2/D2)が示す主記憶上の領
域には、入出力の制御情報であるORB(Operation Requ
est Block)を予め格納する必要があるが、その動作に
ついては後述する。
なお、汎用レジスタGR1には、入出力の対象となる入
出力装置を指定するサブチャネル番号を格納しておく。
第23図の下方には、12バイトから構成されるORBの詳
細図が示されている。割込みパラメータは、プログラム
により自由に使用できる領域であって、特にその内容に
制限はない。サブチャネルキーはMでのCAW中の保護キ
ーに相当し、チャネルプログラムアドレスは、MでのCA
W中のチャネルプログラムアドレスに相当するが、これ
は31ビットに拡張されている点がCAWとは異なってい
る。Fビットは、CCWの形式を制御するものであって、
‘0'の場合にはデータアドレスが24ビットである形式0
のCCWの実行を、また‘1'の場合にはデータアドレスが3
1ビットである形式1のCCWの実行を、それぞれ指示す
る。論理パスマスクLPMは、入出力を実行するチャネル
パスの範囲を表わしており、8ビットからなるLPM中の
1ビットのみを‘1'にしておけば、対応する唯1つのチ
ャネルパスで入出力は実行され、一方、複数のビットを
‘1'にしておけば、その中からIOP3000がフリーなチャ
ネルパスを選択して入出力を実行する。その他のSビッ
ト、Pビット、Iビット、Aビット、Uビットは、M/EX
において追加された機能の制御ビットであるが、詳細は
前述の文献を参照されたい。
(e)RSCH命令 SSCH命令により実行を開始したCCW群を、途中でサス
ペンドさせたとき、この未実行のCCW群をリジューム、
つまり再開させる命令である。汎用レジスタGR1に、リ
ジュームする装置のサブチャネル番号を指定する。
次に、VMが発行したTPI命令、STCPS命令、TSCH命令、
SSCH命令およびRSCH命令の実行方法を、第6図および第
7図により詳述する。
第6図は、本発明によるTPI命令、STCPS命令、TSCH命
令、SSCH命令およびRSCH命令の実行フローチャートであ
り、第7図は本発明によるTPI命令の詳細な実行フロー
チャートである。
TPI命令実行方式の第1の実施例 (イ)VM走行中か否かをIEモードビット2400が‘1'か否
かにより判定する(ステップ10200)。IEモードビット2
400が‘0'、つまりVM走行中でない場合には、TPI命令を
実行して(ステップ10201)、命令の実行を終了する。
(ロ)M/EXモードVMが発行したTPI命令か否かを、SD150
0のSD−ARCH1510が‘1'か否かにより判定し(ステップ1
0202)、SD−ARCH1510が‘1'の場合には次に進む。ま
た、第12図(A)に示すSD1500のIC1512が‘1'か否かを
判定して(ステップ10203)、‘1'の場合には命令例外
インタセプションとしてVMCPに割込み(ステップ1020
4)、‘0'の場合にはVMにプログラム割込み(命令例
外)を直接報告する(ステップ10205)。その後、命令
の実行を終了する。
(ハ)次に、常駐ストレージモードのVMか否かを、第12
図(A)に示すSD1500の常駐ストレージモードビット15
11が‘1'か否かにより判定し(ステップ10206)、常駐
ストレージモードビット1511が‘0'の場合には、命令イ
ンタセプションとして命令の実行を抑止して、VMCPに割
込む(ステップ10208)。
(ニ)I/O直接実行対象のVMか否かを、SD1500のSD−DIO
1530が‘1'か否かにより判定し、SD−DIO1530が‘0'の
場合には、命令例外インタセプションとしてVMCPに割込
む(ステップ10208)。
(ホ)第12図(A)に示すTPIインタセプトビット1590
が‘1'か否かを判定して(ステップ10300)、‘1'の場
合には、命令インタセプションとしてVMCPに割込む(ス
テップ10309)。なお、このTPIインタセプションビット
1590は、該当VMのI/O割込み保留をVMCPが有するとき
に、VMCPが‘1'に設定するビットである。インタセプト
されたTPI命令は、VMCPがシュミレーションを行う。
(ヘ)次に、実サブクラス番号のカウント用レジスタi
に‘0'を設定する(ステップ10301)。
(ト)I/O直接実行用ゲストCR6−2450のビットiが‘1'
か否かを判定し(ステップ10302)、ビットiが‘0'の
場合には、iに1を加算する(ステップ10306)。
(チ)ビットiが‘1'であれば、実サブクラスiに割込
み保留があるか否かを、実割込み保留レジスタ2214のビ
ットiが‘1'か否かにより判定し(ステップ10303)、
ビットiが‘0'であれば、iに1を加算する(ステップ
10306)。
(リ)ビットiが‘1'であれば、第21図に示すI/O割込
み要求キュー1200のサブクラスiにキューイングされて
いる先頭のサブチャネル1400をI/O割込み要求キュー120
0からはずし、汎用レジスタGR1が示すVMの主記憶装置に
該当サブチャネルの割込みコード(第25図参照)を格納
する(ステップ10304)。
(ヌ)次に、条件コード1を設定して(ステップ1030
5)、命令の実行を終了する。
(ル)なお、ステップ10306でiに1を加算した後、i
が8未満か否かを判定し(ステップ10307)、8未満で
あれば再度ステップ10302に戻る。
(オ)iが8以上であれば、条件コードCC=0を設定し
て(ステップ10308)、命令の実行を終了する。
このようにして、本実施例では、TPIインタセプショ
ンビット1590が‘0'の場合には、VMのTPI命令を直接実
行することができる。
TPI命令実行方式の第2の実施例 第6図において、破線内の処理は第1と第2の実施例
で共通の部分である。すなわち、第2の実施例では、第
1の実施例の(イ)〜(ニ)の処理は全く同一である。
従って、第7図(B)により(ニ)に続く(ホ)の処理
から詳述する。
(ホ)仮想サブクラス番号のカウント用レジスタjに
‘0'を設定する(ステップ10400)。
(ヘ)ゲストCR6−2440のビットjが‘1'か否かを判定
して、もし‘0'であれば、jに1を加算する(ステップ
10408)。
(ト)jが‘1'であれば、第12図(A)に示すSD1500の
TPIインタセプトマスク1591のビットjが‘1'か否かを
判定し(ステップ10402)、ビットjが‘1'の場合に
は、命令インタセプトとしてVMCPに割出す(ステップ10
411)。VMCPは、該当VMのサブクラスごとのI/O割込み保
留状態をTPIインタセプトマスクに設定して、VMをディ
スパッチする。例えば、走行させようとするVMの仮想サ
ブクラス0と4の割込みをVMCPが保留している場合に
は、TPIインタセプトマスクには(88)16を設定する。
(チ)ビットjが‘0'の場合には、仮想サブクラスjが
該当VMの入出力直接実行用の専用サブクラスか否かを、
サブクラス番号変換表1540の第jSCL−CNTLエントリのビ
ット0(Dビット)が‘1'か否かにより判定する(ステ
ップ10403)。Dビットが‘0'の場合には、jに1を加
算する(ステップ10408)。
(リ)Dビットが‘1'の場合には、仮想サブクラスが該
当VMの専用サブクラスであるから、仮想サブクラスjに
対応する実サブクラス番号iを求めるため、サブクラス
番号変換表1540の第jSCL−CNTLエントリのビット3〜7
(Sフィールド)を参照する(ステップ10404)。
(ヌ)実サブクラスiに割込み保留があるか否かを、実
割込み保留レジスタ2214(第14図,第15図参照)のビッ
トiが‘1'か否かにより判定し(ステップ10405)、ビ
ットiが‘0'であればjに1を加算する(ステップ1040
8)。
(ル)ビットiが‘1'であれば、割込み保留があるの
で、I/O割込み要求キュー1200のサブクラスiにキュー
イングされている先頭のサブチャネル1400(第21図参
照)をキュー1200からはずし、汎用レジスタGR1が示すV
Mの主記憶装置に該当サブチャネルの割込みコード(第2
5図参照)を格納する(ステップ10406)。
(オ)次に、条件コードCC=1を設定して(ステップ10
407)、命令の実行を終了する。
(ワ)なお、ステップjに1を加算した後、jが8未満
か否かを判定し(ステップ10409)、8未満ならばステ
ップ10401に戻る。
(カ)また、8以上であれば、条件コードCC=0を設定
して(ステップ10410)、命令の実行を終了する。
このようにして、本実施例では、TPIインタセプトマ
スク1591の制御に従って、VMのTPI命令が直接実行可能
となる。
STCPS命令実行方式の実施例 TPI命令の第1の実施例の(イ)〜(ニ)の処理、つ
まり第6図の破線内の処理は、全く同じであるので、説
明を省略する。ただし、『TPI命令』とある箇所は『STC
PS命令』と置き換える。(ニ)に続く処理を次に述べ
る。
(ホ)STCPS命令を実行して(ステップ10211)、VMの主
記憶装置上にチャネルパス状態語を格納し、命令の実行
を終了する。
TSCH命令実行方式の実施例 TPI命令の第1の実施例の(イ)〜(ニ)の処理は全
く同じである(第6図の破線内の処理)。ただし、『TP
I命令』とある箇所は、『TSCH命令』と置き換える。
(ニ)に続く処理を次に述べる。
(ホ)汎用レジスタGR1にサブチャネル番号が指定され
ているサブチャネルが有るか否かを判定して(ステップ
10212)、サブチャネルが無い場合には、命令インタセ
プションとして命令の実行を抑止して、VMCPに割出す
(ステップ10214)。
(ヘ)汎用レジスタGR1で指定したサブチャネル1400のS
CH−DIO1410が‘1'で、かつSCH−RID1420とSD−RID1520
が一致するか否かを判定し(ステップ10213)、条件を
満足しない場合には、命令インタセプションとしてVMCP
に割出す(ステップ10214)。
(ト)TSCH命令を実行して(ステップ10216)、第2オ
ペランドアドレスが指定するVMの主記憶装置上に、該当
サブチャネル1400の割込み応答ブロック(IRB)を格納
し、命令の実行を終了する。
SSCH命令実行方式の実施例 TSCH命令実行方式の実施例と(イ)〜(ヘ)は全く同
じである。ただし、『TSCH命令』とある箇所は、『SSCH
命令』に置き換える。(ヘ)に続く処理を次に述べる。
(ト)該当するサブチャネル1400のSCH−SSCHE1430に
‘1'を設定した後、SSCH命令を実行して(ステップ1021
7)、命令の実行を終了する。
その後、IOP3000は、命令で指定されたチャネルプロ
グラムを実行するが、その実行方式については、後述の
チャネルプログラム実行方式で詳述する。
RSCH命令実行方式の実施例 TSCH命令の実施例の(イ)〜(ヘ)は全く同じであ
る。ただし、『TSCH命令』とある箇所は、『RSCH命令』
に置き換える。(ヘ)に続く処理を次に述べる。
(ト)該当するサブチャネル1400に対して、RSCH命令を
実行して(ステップ10217)、命令の実行を終了する。
チャネルプログラム実行方式 第11図は、本発明による仮想CCW群実行の説明図であ
る。
IOP3000が常駐ストレージモードVMのレベル2アドレ
ス上の仮想CCW群を、どのように実行していくかを、第1
1図により詳述する。
第11図において、3200は本発明により新たに設けられ
た起点アドレスレジスタ設定回路である。また、アドレ
ス変換回路3100は、例えば特開昭60−122445公報に記載
されているようなチャネル装置である。
CPU2000からIOP3000に入出力の起動信号が送られる
と、サブチャネル番号レジスタSCH#3300に入出力起動
を行うサブチャネル番号が格納される。その後、起点ア
ドレスレジスタ設定回路3200は、SCH#3300が示すサブ
チャネル1400内のSCH−CCW1440の値(これは、SSCH命令
により設定されたORB(第23図参照)内のCCWアドレスで
ある)をアドレス変換回路3100内の仮想CCWアドレスレ
ジスタ3102に設定する。さらに、起点アドレスレジスタ
3101に‘0'を、またSCH−SSCHE1430が‘1'であれば、SC
H−RID1420に対応するIOP用アドレス変換テーブル1300
に登録されている入出力実行要求元のVM下限アドレスα
を、起点アドレスレジスタ3101に設定して、アドレス
変換回路3100に起動信号を送る。その後のアドレス変換
回路3100の動作は、特開昭60−122445号公報に記載され
ている通りである。すなわち、仮想CCWアドレスレジス
タ3102と起点アドレスレジスタ3101の値が加算器3104に
より加算され、その結果がCCWの実アドレスとして入出
力実行部3103に入力される。入出力実行部3103は、入出
力を実行していく。
次に、仮想CCW群をVMCPが直接実行するためのSSCHE
(Start Subchannel Extended)命令について説明す
る。SSCHE命令は、第4図に示すように、SSCH命令と同
じく汎用レジスタGR1のビット16からビット31にサブチ
ャネル番号を指定しており、また第2オペランドアドレ
スが示す主記憶装置上の領域には、ORBを拡張したORBE
(ORB Extended)を格納している。ORBEは、第4図に
示すように、16バイトから構成され、ORBと異なる点はR
IDのフィールドが存在することと、CCWアドレスがレベ
ル2アドレスであることである。
SSCHE命令が発行されると、命令実行回路2120は、SSC
H命令で行われる処理に加えて、該当サブチャネル1400
のSCH−SSCHE1430に‘1'を設定し、またSCH−RID1420に
は、ORBEで指定されたRIDを設定する。その後、第11図
に示すように、本発明で新たに設けられた起点アドレス
レジスタ設定回路3200およびアドレス変換回路3100によ
り、レベル2アドレス上の仮想CCW群が実行される。
(iii−2)MモードVMのI/O命令実行方式 Mモードのアーキテクチャには、7つの入出力命令が
あるが、その代表的なものは、SIOF(Start I/O Fast
Release)命令である。このSIOF命令は、第26図に示
すように、オペレーションコードとオペランドアドレス
からなり、ベースレジスタB2の内容にディスプレースメ
ントD2の値を加えた値(B2/D2)のビット16〜31が入出
力を実行するための入出力装置アドレスを示している。
例えば、B2の内容にD2を加算した結果が(00000123)16
であれば、入出力装置アドレス123、つまりチャネル番
号1、ユニットアドレス(23)16の入出力パスで対象と
なる入出力装置に対して入出力を実行することを表わし
ている。また、第27図の主記憶装置上の番地で示すよう
に、入出力動作の詳細を記述するチャネルコマンドワー
ドCCWの先頭アドレスおよび保護キーが、主記憶装置の7
2番地から4バイトのチャネルアドレスワード(CAW)と
呼ばれる領域に格納されている。また、指定されたCCW
は、いわゆる形式OのCCWであって、入出力を行うデー
タのCCW内アドレス部は24ビットで構成される。さら
に、制御レジスタCR0のビット0(ブロック多重制御)
の値が0である場合には、SIOF命令はSIO(Start I/
O)命令として動作する。
SIOF命令実行方式の実施例 第8図は、本発明によるSIOF命令の実行フローチャー
トである。
第8図における破線内の処理は、第6図の破線内の処
理に対応する部分である。すなわち、第8図のステップ
10500のIEモードの判定処理は、第6図のステップ10200
のIEモードの判定処理に該当する。従って、TPI命令実
行方式の第1の実施例における(イ)〜(ニ)の『TPI
命令』とある箇所を、『SIOF命令』に変更し、さらに
(ロ)の『M/EXモードVMが発行したTPI命令か否かをSD1
500のSD−ARCH1510が‘1'か否かにより判定し、SD−ARC
H1510が‘1'の場合(ハ)へ』とある箇所を、『Mモー
ドVMが発行したSIOF命令か否かを、SD1500のSD−ARCH15
10が‘0'か否かにより判定し、SD−ARCH1510が‘0'の場
合は(ハ)へ』と変更したものを、SIOF命令実行方式の
実施例の(イ)〜(ニ)とする。次に、(ニ)に続く処
理を述べる。
(ホ)ゲストCR0のビット0が‘1'か否かを判定し(ス
テップ10508)、‘0'の場合には、命令インタセプショ
ン処理を行う(ステップ10514)。
(ヘ)SD1500のDEV−ORG1550(第12図(A)参照)およ
びSIOF命令の第2オペランドアドレス(第26図参照)で
指定した仮想装置アドレスより、対応するDEVTBL(第12
図(B)参照)のアドレスを得る(ステップ10509)。
(ト)第12図(B)のDEVTBLより、Dビット、LPM、お
よび実サブチャネル番号を得る(ステップ10510)。
(チ)Dビットが‘1'か否かを判定し(ステップ1051
1)、‘0'ならば命令インタセプション処理(ステップ1
0514)に進む。
(リ)実サブチャネル番号より該当サブチャネル1400を
得る。
(ヌ)上記サブチャネルが存在しない場合(ステップ10
512)、やはり命令インタセプション処理(ステップ105
14)へ移る。
(ル)上記サブチャネル1400のSCH−DIO1410が‘1'か否
かを判定し、‘0'の場合には、命令インタセプション処
理(ステップ10514)を行う。
(オ)SD1400のSD−RID1520とSCH−RID1420とが等しい
か否かを判定し(ステップ10513)、等しくない場合に
も、命令インタセプション処理(ステップ10514)へ移
る。
(ワ)VMのCAWのビット4から7が、全て‘0'か否かを
チェックして(ステップ10515)、‘0'でない場合に
は、CC=1をセットした後(ステップ10516)、VMのCSW
にプログラムチェックを格納して(ステップ10517)、
命令の実行を終了する。
(カ)サブチャネル1400がステータス保留か否かを判定
し(ステップ10518)、ステータス保留の場合には、CC
=2をセットして(ステップ10520)、命令の実行を終
了する。
(ヨ)サブチャネル1400がスタート、ホルト、またはク
リア機能の進行中の場合には(ステップ10519)、CC=
2をセットして(ステップ10520)、命令の実行を終了
する。
(タ)サブチャネル1400の有効性を示すVビットおよび
Eビットが、共に‘1'か否かをチェックして(ステップ
10521)、NOの場合、つまりいずれか一方でも‘0'であ
れば、命令インタセプション処理(ステップ10522)を
行う。
(レ)サブチャネル1400のSCH−SSCHE1430を‘1'にセッ
トし、また第13図に示すように、ORB相当の情報を次の
ように設定する(ステップ10523)。
(a)割込みパラメータのビット0〜15には、全て‘0'
を、またビット16〜31には、SIOF命令で指定した仮想装
置アドレスを設定する。VMにI/O割込みを反映させる
時、この仮想装置アドレスを用いる。
(b)サブチャネル1400内のキーは、VMのCAWのキーを
設定する。
(c)フォーマットフラグには、形式0のCCWを示す
‘0'を設定する。また、M/EXでの拡張機能を制御するサ
スペンドフラグ、先取り制御、初期状態、アドレスチェ
ック、サスペンド割込み抑止の各ビットには、それぞれ
‘0'を設定する。
(d)サブチャネル1400内のLPMのフィールドには、DEV
TBLのLPMを設定する。
(e)サブチャネル1400内のCCWアドレスのフィールド
のビット0〜7には‘0'を、ビット8〜31にはVMのCAW
のビット8〜31を、それぞれ設定する。
以上が第8図(B)のステップ10523の処理である。
(ソ)SIOF命令に対して、CC=0を設定する(ステップ
10524)。
(ツ)IOP3000に入出力起動信号を送り、命令の実行を
終了する(ステップ10525)。
(ネ)なお、ステップ10522の命令インタセプション処
理は、VMCPに命令を割出す。そして、割出されたSIOF命
令は、VMCPがシミュレーションを行う。
以上がSIOF命令の実行方式の処理である。
(iv)I/O直接実行用ゲストCR6の設定方式 (iv−1)SIE命令による設定 第9図は、本発明によるSIE命令の拡張を説明するフ
ローチャートである。
本発明により拡張されたSIE命令によるI/O直接実行用
ゲストCR6−2450の設定方式を、第9図により説明す
る。この処理により、VM起動時のI/O直接実行用ゲストC
R6−2450には、走行VMの占有する割込みサブクラスのマ
スクが設定される。
(イ)従来のSIE命令の処理を行う(ステップ10700)。
これは、SD1500に格納されているゲストPSWやゲストCR6
の値を各々ゲストPSW2430、ゲストCR6−2440に格納し、
IEモードビットに‘1'を設定することを含んでいる。
(ロ)SD1500を参照して(第12図(A)参照)、SD−DI
O1530の値が‘1か否かを判定し(ステップ10701)、SD
−DIO1530が‘0'であるときには、I/O直接実行が支援さ
れていない場合であるので、命令は終了となる。
(ハ)SD−DIO1530が‘1'であれば、次にSD−ARCH1510
の値を判定し(ステップ10702)、SD−ARCH1510が
‘0'、つまりMモードVMの場合にはステップ10703に進
み、SD−ARCH1510が‘1'、つまりM/EXモードVMの場合に
はステップ10704に進む。
(ニ)SD1500のサブクラス番号変換表1540の第0エント
リのビット3〜7(SCL−CNTLのSフィールド)を実サ
ブクラス番号とするI/O直接実行用ゲストCR6−2450のマ
スクに、第0エントリのビット0(SCL−CNTLのDビッ
ト)の値を設定する(ステップ10703)。例えば、第0
エントリが(84)16であれば、Dビット=1,Sフィール
ド=4であるから、I/O直接実行用ゲストCR6−2450には
(08000000)16が設定される。また、第0エントリが
(04)16であれば、Dビット=0、Sフィールド=4で
あるから、I/O直接実行用ゲストCR6−2450には(000000
00)16が設定される。MモードVMのI/O割込み可能条件
は、(v)で詳述するが、VMのPSWのI/OマスクとVMの制
御レジスタCR2により制御される。従って、VMCPは、M
モードVMをディスパッチする場合、該当VMの専用サブク
ラス番号をサブクラス番号変換表1540の第0エントリSC
L−CNTLのSフィールドに設定し、さらにVMのCR2が全て
‘1'であれば、SCL−CNTLのDビットに‘1'を、その他
の場合には、SCL−CNTLのDビットに‘0'を設定する。
以上のステップ10703を実行した後、SIE命令を終了す
る。
(ホ)M/EXモードVMであれば、仮想サブクラス番号のカ
ウント用のレジスタiに‘0'を設定する(ステップ1070
4)。
(ヘ)SD1500内のサブクラス番号表の第iエントリのビ
ット0(Dビット)が‘1'であるか、つまり仮想サブク
ラスiには入出力直接実行用の実サブクラスが割当てら
れているか否かをチェックする(ステップ10705)。ビ
ット0が‘0'の場合にはステップ10707に進む。
(ト)ビット0が‘1'であれば、次に第iエントリのビ
ット3〜7(Sフィールド)を実サブクラス番号とする
I/O直接実行用ゲストCR6−2450のマスクに、SD内ゲスト
CR6の第iビットの値を設定する(ステップ10706)。
例えば、サブクラス番号変換表1540が(808400000000
0000)16であり、ゲストCR6が(FF000000)16の場合、I
/O直接実行用ゲストCR6−2450には、(48000000)16
設定される。また、サブクラス番号変換表1540が(8284
000000000000)16であり、ゲストCR6が(F0000000)16
の場合、I/O直接実行用ゲストCR6−2450には(4000000
0)16が設定される。このように、VMCPは、M/EXモードV
Mをディスパッチする前に、仮想サブクラス番号と専用
サブクラスとの対応関係をサブクラス番号変換表1540に
設定しておく必要がある。
(チ)次に、レジスタiに1を加算する(ステップ1070
7)。
(リ)レジスタiが8未満か否かを判定し(ステップ10
708)、8未満であれば再びステップ10705に戻り、レジ
スタiが8以上であれば、SIE命令の実行を終了する。
(iv−2)LCTL命令による設定 第10図は、本発明によるLCTL命令実行のフローチャー
トである。
本発明により拡張されたLCTL命令によるI/O直接実行
用ゲストCR6−2450の設定方式を、第10図により詳述す
る。この処理により、M/EXモードVMが走行中にLCTL命令
によりゲストCR6−2440を更新した場合にも、I/O直接実
行用ゲストCR6−2450には、VMの専用サブクラスのマス
ク値が設定される。なお、第10図において、破線で示し
た枠内の処理は、従来のLCTL命令の処理であって、その
枠外が拡張された分の命令処理である。
(イ)VMの走行中か否かを、IEモードビット2400により
判定し(ステップ10100)、IEモードビット2400が
‘0'、つまりVM走行中でない場合には、LCTL命令を通常
通り実行して(ステップ10101)、実行を終了する。
(ロ)次に、SD1500内のLCTLインタセプトマスク1591に
よりインタセプション対象のLCTL命令か否かを判定し
(ステップ10102)、対象である場合には、従来の方法
により命令インタセプションを発生させて(ステップ10
103)、VMCPに割込む。
(ハ)次に、ゲストに対するLCTL命令処理を行う(ステ
ップ10104)。具体的には、ゲストCR6−2440等の走行VM
用制御レジスタを、命令で指定された値に更新する。こ
こまでが、通常のLCTL命令処理である。
(ニ)次に、SD1500内のSD−ARCH1510が‘1'であるか否
かを判定する(ステップ10105)。つまり、M/EXモードV
Mか否かを判定して、M/EXモードVMでないときには、処
理を終了する。
(ホ)M/EXモードVMであるときには、ゲストCR6が更新
の対象か否かを判定して(ステップ10106)、対象外の
場合には、処理を終了する。
(ヘ)更新の対象であるときには、次のようにしてI/O
直接実行用ゲストCR6−2450のマスク更新処理を行う。
(a)仮想サブクラス番号のカウント用のレジスタiに
0を設定する(ステップ10107)。
(b)次に、該当サブクラスが入出力直接実行用の専用
サブクラスか否かを、SD1500内のサブクラス変換表の第
iエントリのビット0(Dビット)が‘1'か否かにより
判定する(ステップ10108)。ビット0が‘0'の場合に
は、ステップ10110に進む。
(c)ビット0が‘1'であれば、次に、サブクラス変換
表の第iエントリのビット3〜7を実サブクラス番号と
するI/O直接実行用ゲストCR6−2440の仮想サブクラスi
のマスク値を設定する(ステップ10109)。
(d)iに1を加算する(ステップ10110)。
(e)iが8未満か否かを判定し(ステップ10111)、
8未満であれば、再度、ステップ10108に戻る。8以上
であれば、LCTL命令の実行を終了する。
例えば、更新後のゲストCR6−2440が(0F000000)16
であり、サブクラス番号変換表1540が(82840000000000
00)16の場合、I/O直接実行用ゲストCR6−2450には、
(08000000)16が設定される。
(v)I/O割込み実行方式 先ず、MモードにおけるI/O割込みの発生可能条件に
ついて詳述する。周知のように、プログラムステイタス
ワードPSWのビット12が‘1'のとき、つまりECモードの
ときには、PSWのビット6(I/Oマスク)が‘1'であり、
入出力を起動して、これを実行したチャネルに対応する
制御レジスタCR2のチャネルマスクが‘1'であれば、入
出力割込みが可能である。なお、ECモードは、Mおよび
M/EXの両モードに設けられている。
また、PSWのビット12が‘0'であるとき、つまりBCモ
ードのときには、入出力を起動して、これを実行したチ
ャネル番号により、I/O割込みの発生可能条件が次のよ
うに異なる。なお、BCモードは、MモードVMにしか設け
られていない。
先ず、チャネル番号が0〜5の場合には、PSWのビッ
ト0〜5がチャネルマスクであり、対応するマスクが
‘1'のときには、I/O割込みが可能である。次に、チャ
ネル番号が6以上の場合には、ECモードの場合と同じよ
うに、PSWのビット6(I/Oマスク)が‘1'であり、かつ
入出力を起動して、これを実行したチャネルに対応する
制御レジスタCR2のマスクが‘1'のときに入出力割込み
が可能となる。
第27図は、Mの割込み情報の説明図である。
第27図に示すように、主記憶装置64番地から8バイト
の領域には、入出力割込み時に、チャネル状態語(CS
W)が入出力の終了状態情報として格納される。ここ
で、キーはSIOF命令発行時にCAWで指定した保護キーで
あり、ログアウト保留Lはこの入出力が特定の状態で異
常終了した場合に‘1'となる。このLが‘1'のときに
は、主記憶装置の176番地から4バイトの領域に、その
障害内容の詳細情報であるLCL(Limited Channel Log
out)が格納されている。ただし、LCLが生成される頻度
は極めて低い。CCは、SIOF命令の条件コードが0である
が、入出力を開始する前に装置等に異常を検出したこと
を示すコード、つまり遅延条件コードである。CCWアド
レスは、最後に実行したCCWアドレスに8を加算した値
であり、カウントは最後のCCW実行した後の残りのバイ
トであり、ユニット状態およびチャネル状態は、入出力
の終了状態を示している。
本実施例においては、VMがECモードで、かつログアウ
ト保留Lが‘0'で、しかもVMのCR2が全て‘0'、または
全て‘1'である場合に、MモードVMの専用サブクラスの
割込みが直接実行の対象となる。
以上が、MモードにおけるI/O割込みの説明である。
次に、M/EXでのI/O割込みについて詳述する。
第25図に示すように、M/EXのI/O割込みでは、主記憶
装置の186番地にサブチャネル番号が格納され、188番地
から4バイトの領域にSSCH命令で該当サブチャネルに指
定した割込みパラメータが格納される。このように、M/
EXでは、I/O割込み時には、MにおけるCSWに相当する情
報はPSA内には格納されない。
ここで、入出力割込みの発生する条件は、PSWのビッ
ト6(I/Oマスク)が‘1'であり、かつそのサブチャネ
ルに指定されたサブクラス番号に対応する制御レジスタ
CR6のサブクラスマスクが‘1'の場合のみである。サブ
クラス番号は、I/O命令の1つであるMSCH命令により、
サブチャネルごとに0から7までの範囲の値を1つ設定
することができる。
(v−1)割込み起動処理 本発明による割込み起動回路は、ホスト割込み起動回
路2210とゲスト割込み起動回路2220とBCモード割込み起
動回路2230とから構成されている。なお、ホスト割込み
起動回路2210は、第22図に示す回路であって、従来と同
じである。
第14図は、本発明によるゲスト割込み起動回路の構成
図である。
ゲスト割込み起動回路2220は、ホスト割込み起動回路
2210と同じ構成である。このため、保留となったI/O割
込みが走行中VMの専用サブクラスからのものであって、
かつVMが割込み可能であること、つまりゲストPSW2440
のI/Oマスクが‘1'であり、かつ上記サブクラスのI/O直
接実行用ゲストCR6−2450のマスクが‘1'(対応するVM
の制御レジスタCRが割込み可能であることを意味する)
の場合には、AND回路群2222の1つがオンとなるため、O
R回路2232を通過した信号がAND回路2223を通って出力が
‘1'となるので、割込み処理回路2300に起動信号が送ら
れる。
第15図は、BCモード割込み起動回路の構成図である。
この回路は、走行中VMがBCモード時に発生した走行中
VMの専用サブクラスの割込みを、VMCPに割出すための回
路である。専用サブクラスマスク2460は、走行中VMの専
用サブクラスを識別するためのレジスタであって、SIE
命令により設定される。例えば、実サブクラス0が走行
させるVMの専用サブクラスであれば、SIE命令により専
用サブクラスマスク2460には、(80)16が設定される。
ゲストPSW2440のビット12は、‘0'であるときにBCモー
ドを示している。従って、BCモード時には、インバータ
2234の出力は‘1'となって、AND回路2233に入力する。
一方、AND回路群2231のいずれかの出力は‘1'(つま
り、専用サブクラスからの割込み要因あり)であるた
め、ゲストPSW2440がBCモード時にはAND回路2233の出力
は‘1'となり、割込み処理回路2300に起動信号が送られ
る。
(v−2)割込み反映処理 第16図は、本発明による割込み処理回路の構成図であ
る。
第16図により、割込み処理回路2300によるVMまたはVM
CPへの割込み反映処理を詳述する。
第16図において、SCSWレジスタ2301は、割込み要因が
発生したサブチャネル1400のサブチャネル状態語を格納
するレジスタである。また、IMSKレジスタ2302は、OSを
ディスパッチする際にSIE命令のオペランドであるSD150
0に指示されたIMSK1560を保持するレジスタ(第12図
(A)参照)である。さらに、VMモードレジスタ2303
は、SD1500に指示されたSD−ARCH1510を保持するレジス
タである。
本発明による割込み処理回路は、次のように4通りの
処理がある。
(a)第22図のホスト割込み起動回路2210から信号線60
00に起動信号が送られた場合には、ホスト割込み処理23
20を実行する。他の回路には、インバータ2307のため信
号が反転されてAND回路2308がオフするため送られな
い。
(b)第15図のBCモード割込み起動回路2230から信号線
6001に起動信号が送られた場合、および第14図のゲスト
割込み起動回路2220から信号線6002に起動信号が送られ
たが、この割込み情報がIMSK1560で指定した割込み情報
を含む場合には、ホストインタセプション処理2330を実
行する。
(c)第14図のゲスト割込み起動回路2220から信号線60
02に起動信号が送られ、走行中のVMがMモードである場
合に、Mモード割込み処理2340を実行する。
(d)第14図のゲスト割込み起動回路2220から信号線60
02に起動信号が送られ、走行中のVMがM/EXモードである
場合に、M/EXモード割込み処理2350を実行する。
複数の割込み要因が発生しても、上記4つの処理のう
ち1つの処理のみが実行される。優先順位は(a)が最
も高く、次に(b)、(c)(d)と続く。
次に、割込み処理の要因と、実行の状態を、種類ごと
に詳述する。
ホスト割込み処理の実行 第16図において、ホスト割込み起動回路2210から信号
線6000に起動信号が送られると、ホスト割込み処理2320
が実行される。
ホスト割込み処理2320においては、ホストのPSAにア
クセスするために、プレフィクスレジスタPXRにホストP
SAアドレスをロードし(ステップ2321)、I/O割込みを
報告するために、ホストPSAによりPSWスワップを行う
(ステップ2322)。次に、割込みパラメータをサブチャ
ネルから得て、ホストPSAに格納した後(ステップ232
3)、このサブチャネルをI/O割込み要求キュー1200(第
21図参照)からデキューして、命令を実行する(ステッ
プ2360)。これにより、ホストであるVMCPへの割込み処
理プログラムが実行される。
ホストインタセプション処理の実行 BCモード割込み起動回路2230からの信号線6001に起動
信号が送られると、その時にホスト割込み起動回路2210
から信号線6000に起動信号が送られていない場合には、
インバータ2307の出力が‘1'となるため、AND回路2308
が開いて、ホストインタセプション処理2330が実行され
る。一方、ゲスト割込み起動回路2220から信号線6002に
起動信号が送られると、その時に、信号線6000に起動信
号が送られておらず、またSCSWを保持するSCSWレジスタ
2301とSD1500のIMSK1560の内容を保持するIMSKレジスタ
2302の両出力が‘1'で、AND回路2304の出力が‘1'であ
れば、AND回路2305,2306および2308が開いて、ホストイ
ンタセプション処理2330が実行される。
ホストインタセプション処理2330が実行されると、先
ず、プレフィクスレジスタPXRにホストPSAアドレスをロ
ードし(ステップ2331)、SD1500のSUBID1570に処理中
の割込み要因を発生したサブチャネル番号を格納する
(ステップ2332)。また、IPRM1580にそのサブチャネル
の割込みパラメータを格納する。次に、そのサブチャネ
ルをI/O割込み要求キュー1200からデキューして、ホス
トPSW2410に格納されているSIE命令の次の命令を実行す
る(ステップ2360)。
このようにして、ホストであるVMCPのSIE命令の次の
命令から実行が開始され、VMCPはSD1500内の情報により
I/O割込みの処理を行う。
Mモード割込み処理の実行 ゲスト割込み起動回路2220から信号線6002に起動信号
が送られると、その時に信号線6000と6001に起動信号が
送られておらず、かつSCSWレジスタがIMSK1560で指定さ
れた割込み情報を含まず、VMモードレジスタ2303にMモ
ードVMが走行中であることを示す‘0'が格納されている
ならば、インバータ2309,2311の各出力が‘1'となるの
で、AND回路2305,2310および2312の出力が全て‘1'とな
って、Mモード割込み処理2340が実行される。
Mモード割込み処理2340が実行されると、VMのPSAを
用いてPSWスワップを行い(ステップ2341)、第17図に
示すように、VMのPSAにCSWを格納する(ステップ234
2)。次に、サブチャネル1400内の割込み情報(SCSWレ
ジスタ2301)をクリアして(ステップ2343)、サブチャ
ネル1400をI/O割込み要求キュー1400からデキューした
後、命令を実行する(ステップ2360)。
これにより、走行中OSのI/O割込み処理プログラムが
実行される。
なお、VMのPSAに格納するMの割込み情報は、割込み
要因を発生させたサブチャネル1400のSCSWを用いて、第
17図に示すように構成される。
(a)CSWの保護キー(SCSWの保護キー) (b)CSWのビット4( 0 ) (c)CSWのログアウト保留ビット( 0 ) (d)CSWの遅延CC(SCSWの遅延CC) (e)CSWのCCWアドレス(SCSW内のCCWアドレスのビッ
ト8から31まで) (f)CSWのDSB(SCSWのDSB) (g)CSWのCSB(SCSWのSSB) (h)CSWのカウント(SCSWのカウント) (i)I/Oアドレス(割込みパラメータのビット16〜3
1) なお、MモードVMのI/O割込み時にログアウト保留ビ
ットLが‘1'であっても、LCLの形成処理は行わない。
従って、MモードVMをディスパッチするときには、Lビ
ットに対応するSD1500のIMSK1560のビット5を‘1'にし
て、SIE命令を発行する。
このようにして、走行中のMモードVMの専用サブクラ
スの割込みが直接に実行できる。
M/EXモード割込み処理の実行 ゲスト割込み起動回路2220から信号線6002に起動信号
が送られると、その時、信号線6000と6001には起動信号
が送られておらず、かつ処理中の割込みのSCSWがIMSK15
60で指定した割込み情報を含まず、しかもVMモードレジ
スタ2303にM/EXモードVMが走行中であることを示す‘1'
が格納されているならば、AND回路2305,2310,2313の出
力が全て‘1'となるため、M/EXモード割込み処理2350が
実行される。
M/EXモード割込み処理2350が実行されると、VMのPSA
を用いてPSWスワップを行い(ステップ2351)、次に該
当するサブチャネル1400に格納されている割込みパラメ
ータをVMのPSAに格納する(ステップ2352)。そして、
サブチャネル1400をI/O割込み要求キュー1200からデキ
ューして、次の命令を実行する(ステップ2360)。
この処理により、走行中のOSのI/O割込み処理プログ
ラムが実行できる。その結果、走行中のM/EXモードVMの
専用サブクラスの割込みが直接実行できる。
なお、本実施例では、M/EX実計算機の下で、MとM/EX
の2つのモードの入出力命令と入出力割込みを直接実行
させる処理について説明したが、3つ以上のモードの入
出力命令と入出力割込みを直接実行させる場合にも、レ
ジスタ等を増加するだけで、適用可能である。
〔発明の効果〕
以上説明したように、本発明によれば、M/EXモード実
計算機の下で、MモードとM/EXモードVMの入出力命令お
よび入出力割込みを、VMCPを介在させることなく直接に
実行することが可能となる。その結果、MモードとM/EX
モードのVMを同時に走行させる場合に、両VMの入出力命
令、入出力割込みを効率よく実行させることができるの
で、仮想計算機システムの性能向上を図ることができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示す仮想計算機の入出力実
行装置の概略動作フローチャート、第2図は本発明の一
実施例を示す仮想計算機システムのブロック図、第3図
は本発明によるSALE命令の説明図、第4図は本発明によ
るSSCHE命令の説明図、第5図は本発明によるSRID命令
の説明図、第6図は本発明によるTPI命令、STCPS命令、
TSCH命令、SSCH命令およびRSCH命令の実行フローチャー
ト、第7図は本発明によるTPI命令の実行フローチャー
ト、第8図は本発明によるSIOF命令の実行フローチャー
ト、第9図は本発明によるSIE命令の実行フローチャー
ト、第10図は本発明によるLCTL命令の実行フローチャー
ト、第11図は本発明による仮想CCW群実行の説明図、第1
2図は本発明によるSDの説明図、第13図はSIOF命令実行
のためにサブチャネルに設定する情報の説明図、第14図
は本発明によるゲスト割込み起動回路の構成図、第15図
は本発明によるBCモード割込み起動回路の構成図、第16
図は本発明による割込み処理回路の構成図、第17図は本
発明による割込み情報の変換の説明図、第18図は従来の
計算機システムのブロック図、第19図は常駐ストレージ
モードVMの説明図、第20図はI/O実行要求キューの説明
図、第21図はI/O割込み要求キューの説明図、第22図は
ホスト割込み起動回路の構成図、第23図はSSCH命令の説
明図、第24図はTSCH命令の説明図、第25図は割込みコー
ドの説明図、第26図はSIOF命令の説明図、第27図はMの
割込み情報の説明図である。 1000:主記憶装置、1100:I/O実行要求キュー、1200:I/O
割込み要求キュー、1300:IOP用アドレス変換テーブル、
1400:サブチャネル、1430:SCH−SSCHEビット、1500:S
D、1540:サブクラス番号変換表、2000:CPU、2120:命令
実行回路、2210:ホスト割込み起動回路、2220:ゲスト割
込み起動回路、2230:BCモード割込み起動回路、2300:割
込み処理回路、2400:IEモードビット、2410:ホストPS
W、2420:ホストCR6、2430:ゲストPSW、2440:ゲストCR
6、2450:I/O直接実行用ゲストCR6、3000:IOP、3100:起
点アドレスレジスタ設定回路、3200:アドレス変換回
路、4000:IOC、5000:入出力装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 澤本 英雄 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 山縣 良 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 渡部 真也 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 梅野 英典 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 原口 政敏 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所ソフトウエア工場内

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】第1のアーキテクチャの計算機上において
    第1および第2のアーキテクチャの仮想計算機が走行可
    能な仮想計算機システムであって、 走行中の仮想計算機のアーキテクチャを保持するアーキ
    テクチャ保持手段と、 第2のアーキテクチャの仮想計算機が各入出力装置を識
    別するための第2の入出力装置識別子と前記第1のアー
    キテクチャの計算機が各入出力装置を識別するための第
    1の入出力装置識別子との対応関係を保持する対応関係
    保持手段と、 前記計算機において走行中の仮想計算機が入出力装置に
    対して入出力実行を要求したことに応じて、前記走行中
    の仮想計算機のアーキテクチャが第2のアーキテクチャ
    か否かを前記アーキテクチャ保持手段により判定するア
    ーキテクチャ判定手段と、 前記アーキテクチャ判定手段により前記走行中の仮想計
    算機のアーキテクチャが第2のアーキテクチャと判定さ
    れたとき、前記入出力実行要求が指定する第2の入出力
    装置識別子を前記対応関係保持手段により対応する第1
    の入出力装置識別子に変換する識別子変換手段と、 前記識別子変換手段による変換結果の第1の入出力装置
    識別子を用いて前記入出力装置に対する入出力実行要求
    を実行する入出力実行手段とを有することを特徴とする
    仮想計算機システム。
  2. 【請求項2】前記第2のアーキテクチャの仮想計算機が
    入出力実行要求で指定した第2の入出力装置識別子を入
    出力装置対応に保持する識別子保持手段と、 前記計算機において走行中の第2のアーキテクチャの仮
    想計算機に対する入出力割り込み要求が発生したことに
    応じて、入出力割込みを要求した入出力装置に対応する
    前記識別子保持手段が保持する第2の入出力装置識別子
    を割込み情報として前記走行中の第2のアーキテクチャ
    の仮想計算機に通知する入出力割込み実行手段とを有す
    ることを特徴とする特許請求の範囲第1項に記載の仮想
    計算機システム。
  3. 【請求項3】1つの計算機システム上において仮想計算
    機制御プログラムの管理により複数の仮想計算機が走行
    可能な仮想計算機システムであって、 特定の入出力割込み種別を保持する割込み種別保持手段
    と、 走行中の仮想計算機に対する入出力割込み要求が発生し
    たことに応じて、前記割込み要求が前記割込み種別保持
    手段に指定された種別の入出力割込みか否かを判定する
    割込み種別判定手段と、 指定された種別の割込み要求であるとき、前記入出力割
    込みを仮想計算機制御プログラムに対して実行する割込
    み先切り替え手段とを有することを特徴とする仮想計算
    機システム。
  4. 【請求項4】1つの仮想計算機システム上において仮想
    計算機制御プログラムの管理により複数の仮想計算機が
    走行可能な仮想計算機システムであって、 走行中の仮想計算機に対する前記仮想計算機制御プログ
    ラムの割込みサブクラス毎の入出力割込み保留状態を保
    持する第1の保留状態指示子と、 走行中の仮想計算機に対する前記計算機システムの割込
    みサブクラス毎の入出力割込み保留状態を保持する第2
    の保留状態指示子と、 走行中の仮想計算機が若番の割込みサブクラスの1つの
    入出力割込みの保留を解除する命令を発行したことに応
    じて、前記第1と第2の保留状態指示子のいずれが若番
    の割込みサブクラスへの割込み保留を示すかを判定する
    保留先判定手段と、 保留先判定手段により第1の保留状態指示子が若番の割
    込みサブクラスへの割込み保留を指示するならば前記命
    令を前記仮想計算機制御プログラムに割り出し、保留先
    判定手段により第2の保留状態指示子が若番の割込みサ
    ブクラスへの割込み保留を指示するならば前記計算機に
    よる前記走行中の仮想計算機に対する1つの入出力割込
    み保留を解除する手段とを有することを特徴とする仮想
    計算機システム。
  5. 【請求項5】1つの計算機システム上において仮想計算
    機制御プログラムの管理により複数の仮想計算機が走行
    可能であり、前記計算機システムの主記憶装置の各分割
    領域を各仮想計算機の主記憶装置とする仮想計算機シス
    テムであって、 各仮想計算機の主記憶装置と割当てられた前記主記憶装
    置上の分割領域の対応関係を保持する領域管理手段と、 前記仮想計算機制御プログラムが発行した入出力命令の
    オペランドに指定された仮想計算機識別子に対応する仮
    想計算機の主記憶領域と割当てられた前記主記憶装置上
    の分割領域との対応関係を前記領域管理手段から選択す
    る領域選択手段と、 前記入出力命令が指定する前記仮想計算機の主記憶領域
    上のチャネルプログラムを、前記選択した対応関係を用
    いて実行する入出力実行手段とを有することを特徴とす
    る仮想計算機システム。
  6. 【請求項6】1つの計算機システム上において仮想計算
    機制御プログラムの管理により複数の仮想計算機が走行
    可能であり、複数の割込みサブクラス毎に割込みの保留
    が可能である仮想計算機システムであって、 仮想計算機制御プログラムにより設定されるホストI/O
    マスクとホスト割込みサブクラスマスクによりI/O割込
    みの実行を要求するか否かを制御するホスト割込み制御
    手段と、 走行中の仮想計算機が占有するゲスト割込みサブクラス
    のマスクの値を保持する入出力直接実行用ゲスト割込み
    サブクラスレジスタと、 走行中の仮想計算機により設定されるゲストI/Oマスク
    と前記入出力直接実行用ゲスト割込みサブクラスレジス
    タにより前記仮想計算機が占有するゲスト割込みサブク
    ラスのI/O割込みの実行を要求するか否かを制御するゲ
    スト割込み起動手段と、 実用要求元がホスト割込み起動手段のときには仮想計算
    機制御プログラムに対してI/O割込みを実行し、実行要
    求元がゲスト割込み起動手段のときには走行中の仮想計
    算機に対してI/O割込みを実行するI/O割込み処理手段と
    を有することを特徴とする仮想計算機システム。
  7. 【請求項7】ゲスト割込みサブクラス番号と前記仮想計
    算機が占有する入出力直接実行用ゲスト割込みサブクラ
    ス番号との対応関係を示す対応表を有し、 走行中の仮想計算機がゲスト割込みサブクラスのマスク
    の値を変更したことに応じて、前記対応表を参照して対
    応する入出力直接実行用ゲスト割込みサブクラスレジス
    タのマスクの値を変更する割込みサブクラスマスク変更
    手段を有することを特徴とする特許請求の範囲第6項に
    記載の仮想計算機システム。
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 JPH0212553A (ja) 1990-01-17
JP2629278B2 true 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
KR20160147924A (ko) * 2014-04-30 2016-12-23 후아웨이 테크놀러지 컴퍼니 리미티드 제어 방법 및 제어 장치

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2764841B2 (ja) * 1992-03-19 1998-06-11 富士通株式会社 仮想計算機システムi/o制御方式
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
US6651125B2 (en) * 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
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
US6526463B1 (en) * 2000-04-14 2003-02-25 Koninklijke Philips Electronics N.V. Dynamically selectable stack frame size for processor interrupts
WO2002003220A2 (en) * 2000-07-05 2002-01-10 Ernst & Young Llp Method and apparatus for providing computer services
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
US8612992B2 (en) * 2003-04-09 2013-12-17 Jaluna Sa Operating systems
ATE409904T1 (de) * 2003-04-09 2008-10-15 Jaluna Sa Betriebssysteme
EP1503286B1 (en) * 2003-07-30 2014-09-03 Jaluna SA Multiple operating system networking
JP2007509387A (ja) * 2003-09-30 2007-04-12 ジャルナ エスアー オペレーティングシステム
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
WO2006018307A2 (en) 2004-08-18 2006-02-23 Jaluna Sa Operating systems
JP4345630B2 (ja) * 2004-09-29 2009-10-14 ソニー株式会社 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
US7877703B1 (en) * 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
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 富士通株式会社 分岐アドレス管理プログラム、方法、及び装置
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160147924A (ko) * 2014-04-30 2016-12-23 후아웨이 테크놀러지 컴퍼니 리미티드 제어 방법 및 제어 장치
US10579394B2 (en) 2014-04-30 2020-03-03 Huawei Technologies Co., Ltd. Control method and control device

Also Published As

Publication number Publication date
JPH0212553A (ja) 1990-01-17
US5499379A (en) 1996-03-12

Similar Documents

Publication Publication Date Title
JP2629278B2 (ja) 仮想計算機システム
US4843541A (en) Logical resource partitioning of a data processing system
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
US9304794B2 (en) Virtual machine control method and virtual machine system using prefetch information
JP4519738B2 (ja) メモリアクセス制御装置
JPH0512045A (ja) 計算機システムの動作継続方法および装置
US20060036824A1 (en) Managing the updating of storage keys
JPH0430053B2 (ja)
JPH06187178A (ja) 仮想計算機システムの入出力割込み制御方法
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
US20110010707A1 (en) Virtual machine device and methods thereof
CN115391037A (zh) 高度可缩放的加速器
JPS63279328A (ja) 仮想計算機システムのゲスト実行制御方式
US20080065804A1 (en) Event handling for architectural events at high privilege levels
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPH09282196A (ja) 複合論理プロセッサシステムのプログラム走行制御方式
JPH0567973B2 (ja)
JPS62221041A (ja) 仮想計算機システムにおけるデイスパツチ制御装置
JP3022398B2 (ja) 仮想計算機方式
JPH06324861A (ja) Cpu制御システム及び制御方法
JPH08161185A (ja) 仮想計算機システムのゲスト実行制御方式
JPH0444131A (ja) 複数os走行システムにおけるプロセッサ間通信の実行装置および方法
JPH0638238B2 (ja) 仮想計算機システム
JPS6139135A (ja) 仮想計算機システムにおけるインタバル・タイマ割り込み制御装置
JPH0659919A (ja) 計算機システム

Legal Events

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