JPS60150140A - I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム - Google Patents

I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム

Info

Publication number
JPS60150140A
JPS60150140A JP59005587A JP558784A JPS60150140A JP S60150140 A JPS60150140 A JP S60150140A JP 59005587 A JP59005587 A JP 59005587A JP 558784 A JP558784 A JP 558784A JP S60150140 A JPS60150140 A JP S60150140A
Authority
JP
Japan
Prior art keywords
interrupt
address
virtual
output device
conversion table
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
JP59005587A
Other languages
English (en)
Other versions
JPH0619747B2 (ja
Inventor
Hidenori Umeno
梅野 英典
Takashige Kubo
久保 隆重
Nobutaka Hagiwara
萩原 亘喬
Hiroaki Sato
博昭 佐藤
Hideo Sawamoto
沢本 英雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59005587A priority Critical patent/JPH0619747B2/ja
Priority to US06/691,909 priority patent/US4885681A/en
Priority to DE8585100372T priority patent/DE3586359T2/de
Priority to EP85100372A priority patent/EP0150039B1/en
Publication of JPS60150140A publication Critical patent/JPS60150140A/ja
Priority to US07/369,535 priority patent/US5109489A/en
Priority to US07/851,629 priority patent/US5392409A/en
Publication of JPH0619747B2 publication Critical patent/JPH0619747B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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/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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は仮想計算機システム(VMS)の高速化方式に
係シ、新エロアーキテクチャにおいて、特K、VMSの
エロシミュレーションオーバヘッドの削減の方式に関す
る。
〔発明の背景〕
第1図に実計算d14yステム10000の主構成図を
示す。1000は中央処理装&CPU、2000は上記
(意装置、3000は人出力プロセラ丈IOP。
4000は人出力制御装置IOCである。100は、C
P U 1000と、主記憶装置2000との間の信号
線、200は、CPU100Oとl0P3000との間
の信号線、300は、l0F3000と主記憶装置t2
000との間の信号線、400は、■□ p3000と
、l0C4000との間の信号線である。この実計算機
システム10000 rl、、主起1意442000上
のオペレーティングシステム(O8)のシステム全体の
リソース(CP U、主起1意湊置、入出力装置)9浬
によシ、1制御卸され5wJ作しているものでめる。
これに対して、反悪計S機システム(VMS)での構成
図t−第2図に示す。実計算機システム1ooooは第
1図と、ハードウェア構成(CPU。
主記憶装置、入出力装ji)は変らないが、主記憶装置
11t2000上K、V M S (1) IIJ #
プロゲラA VMCPこのVMCPのハードウェアシミ
ュレーション機能により、論理的な計S機(バーチャル
マシ/VMというンが複数台論理的に実現される。各V
M、即ち、10000−1 (VM1〕、10000−
2 (VM2 ) 、 10000−3 (VM3 )
は、実計s機/ステム(ホストシステムと呼ぶ)100
00と同じハードウェア構成をもつものとして論理的に
実現される。各VMの主記憶装置2000−N(N=1
,2,3)上には、各VMft制岬し、動かす08−N
が存在し、このa数のO8が1台のホストシステムの下
で同時に走行していること金示すものでるる。第2図の
各VMに2けるハードウェア構成(CP U、上記Lm
装置、IOP、l0C)は、VMCPにより倫理的に実
現されるものであるが、それらの実体の大部分は、ホス
トシステムの対応するハードフェア構成上に存在する。
例えば、vMの主起1裟tfri、ホストシステムの主
記憶装置2000の一部分を専有することもめ9、又、
共有することもめり、又、VMの入出力装置は、ホスト
/ステムの入出力装置t−VM間テ共有することもるり
、又、いくつかの入出力装置1Iit−専有することも
める。るるいは、ホストシステム上に対応する入出力装
置がなく、全く仮想的にVMCPにより擬1以さnて、
実現さ扛る。易合もある。いずれにせよ、各VMQ主記
主起置装000−N(N=1,2.3)上のosからは
、ホストシステムと同謙のノ蔦−ドクエア構成(CP 
U、主起1意装置、IOP、100)が見えることにな
る。
ここで、注意すべきは、谷vMのアーキテクチャ(O8
からみたハードウェア4造及び礪[走)は、ホストシス
テム10000のアーキテクチャと多少違っても良いと
いうことである。同・鎌に、VM間でアーキテクチャが
異なってもかまわない。例えば、ホスト/ステムの機械
命令のセットと、各VMの機械命令のセットは、完全に
同じでなくても良い。しかし、全く異なるものは、VM
CPの負荷が大きくなり、又、ホストシステムのエミュ
レーション機構が大きくなるので、本発明に2けるVM
Sの対象外とする。本発明で述べる仮想計算機VMとは
、その大部分のifi di命令が、ホストシステム上
で、VMCPの介入によらず、ホストシステムの本来の
性能(実行速度)と等しい性能で直接実行されることを
必快条件とする。又第2図では、VMは3台しか定義し
ていないが、一般には、何台あっても良く、その上限は
、ホストシステムのリソース#量と、各VMのadBと
のかねめいで決定される。ホストシステムも、特権状態
と非特権状態とを有し、システムに重大な影響を与える
機械命令(例えばIO語命令システムの割込マスク変更
命令)は、特権命令と呼ばれ、特権状態でしか吏用する
ことができない。これも周昶である。
第3図にVMSの1台のVM(この図ではVMl)のメ
モリ階ノIIを示す。2060ば、VMI上の081が
生成する反意空間でめり、O8lは、VMIの主記憶装
jli2000−1上に存在する。
VMIO主記憶主起R2ooo−1は、ホストシステム
ノ主起IJi衷tit2002 (ホストシステムの主
記憶装置Jli2000は、第6図に示すようにハード
ウェアシステムエリア2001と、プログラム可能エリ
ア2002とに分dすされている。)上に4謙される。
その写lI!は、アドレス変換テーブル201Oにより
与えられるっJg4図−1に、このアドレス変換テーブ
ル2010(1)を示す。このアドレス変換表には、v
Mlの主起1意装、12000−1上のアドレスv2に
対応するエン) l)に、対応する主記憶装置2002
上のアドレスrが記述されている。このアドレス変換テ
ーブル2010(1)の先頭アドレスは、VMI上のO
81が、その主起1意装置2000−1上で動作してい
る場きは、CPU100O内の基本制御レジスタ群11
00(@7図参照)内のひとつの制御卸しジスタ几AT
OR1110に格納されている。この4汗、アドレス&
換テーブル2010(1)は、ホストシステムの主起1
意装置2002上に存在し、その先頭アドレスも、ホス
トシステムの主記憶装置jt 2002のアドレスで記
述されレジスタ1110に設定される。第3図に2ける
、2060は、VMI上のO8lの生成する及、田空間
であシ、そこからVMIの上記1意装置2000−1へ
の写1球は、081の管理するアドレス&遺テーブル2
040により与えられる。第4図−2は、このアドレス
変換テーブルの構成を表わしており、Vi、意中間20
60のアドレスv3の対応工/トリに、対応するVMI
O主記憶装置2000−1のアドレスv2が記述されて
いる。このアドレス変換テーブル2040の先頭アドレ
スは、vMlの081が、その仮想空間2060上で動
作しているとき、CPU1000の基本制御レジスタ群
1100(第7図参照)の中のひとつの制御レジスタV
ATO几1120に格納されている。ただし、この場合
、アドレス変換テーブル2040は、08lO主記憶装
置2000−1上に存在するため、その先頭アドレスも
、O81の主記憶装置2000−1のアドレスで記述さ
れる。アドレス変換テーブル2010(1)(変換表A
と工ぶ)は、VMCPが各VM用にa埋、更新するテー
ブルであり、アドレス変換テーブル2040 (変換表
Bとよ≦)・は、各VM上のO8が自分自身の仮想空間
のためにU理、更新するテーブルでるる。ここで、ホス
トシステムの主記憶装d2002t−レベル1メモリ、
各VM(7)主起1意装d2000−N(N=1.2゜
3、・・・)rレベル2メモ!j、GVM上のO8が生
成する仮想空間2060 (これは、一般に、O8は、
虚数空間生成する)會レベル3メモリと、4称すること
とする。仮想空間は一般に一定の大きさく例えば4KB
)のページに分刑され、このページ単位に上記1意装置
へmapping されること、及び、いくつかの連続
ページ(汐すえば256ページのIMB)t−6つめて
、lセグメントと呼ぶことは、周知である。第3図に2
ける2020は、VMCPが、自分自身の人出力(■0
)動作を起動するために作成したIOn作指令語(CG
Wと呼ぶ)群である。VMCP自身は、レベル1メモリ
上で動作するため、CCW#2020は、レベルlメモ
リアドレスで作成されている。これをレベル1CCWと
呼ぶ。レベル1ccWa、アドレス変換は不要で、IO
の起dJd令がレベルICCWに対してかかった場合は
、そのまま、l0P3oooによシ解釈され、l0C4
000へ送られる。l0C4000は、谷CCWを各入
出力装置に対して実行していくことになる。2030v
′i、VM上のO8の用意したCCWでおり、レベル2
メモリアドレスで記述されているものである。このレベ
ル2CCWは、7M上のO8により、作られたものであ
る。このCCWに対してVM上のO8からIO起動命令
がかかった場合は、vMCPが介入して、これをVMC
Pが等画なレベルICCWに変換して、VMCPif由
により、その等画なレベルiccwを用いて■0起・曲
を行なう方法も考えられる。しかし、これは、vMCP
のオーバヘッドを増すこととなる。そこで、vMCPは
介入するが、レベル2メモリからレベル1メモリへのア
ドレス変換表(即ち、変換表A)2010のアドレスを
、l0P3oooに2しえ、l0Paooo (第7図
参照)が、その変換表2010?みながら、レベル2C
CWの中のデータアドレス(これはレベル2メモリアド
レス)をレベル1メモリアドレスに&庚して実行してい
く方法が取られるようになった。この方法だと、vMC
Pの介入が削減され、オーバヘッドがr41J tJK
される。さて、7M上のO8は、大部分レベル3メモリ
上で動作することが多く、従って、7M上のO8の生成
するCCWも、レベル3メモリ上に存在することが多い
。第3図の2050は、レベル3メモリアドレスで生成
されたCCWすなわち、レベル3CCWt−表わす。こ
のレベル3CCWに対して7M上のO8が工0起励命令
を発行した場合は、レベル2CCW2030の場合と同
様に、レベル3メモリからレベル2メモリへのアドレス
変換表(即、変換表B)のアドレスと、レベル2メモリ
からレベル1メモリへのアドレス変、1ll(即ち、変
換表A)の1ドレスを、l0P3000(第7図)に2
しえ、l0P3000が、レベル3CCWc/)f−タ
アドレス(レベル3メモリアドレス)を、変換表Bによ
りレベル2メモリアドレスに変換し、さらに、そのa東
金、変換表Aにより、レベル1アドレスに変換すること
によシ、当該CCWt−夷行して行く方法が取られる。
44図−3は、上46に述べたl0P3000(第7図
)に2けるアドレス変換オーバヘッドを削減するために
、l0P3000内のローカルストレジに設けた、アド
レス変換バッファ3030でめる。アドレス変換バッフ
ァ3030のフィールド1には、vMの番号VMすが、
フィールド2には、変換表Aの&換表Bの先頭アドレス
が、フィールド3には、その両者の区別フラグが、フィ
ールド4には、変換前のCCWデータアドレスが、フィ
ード5には、変換後のレベル1メモリアドレスが記述さ
れている。l0P3000(第7図)はまず、このアド
レス変換バッファをみて、アドレス変Akし、次に、こ
こにない場合は、変換表B S変換表At−みてアドレ
ス変換を行ない、その結果を、この変換バッファ303
0に登録する。
このアドレス変換バッファは、l0P3000.内の高
速ローカルストレンジにあシ、上記I意装置2002上
の変換表B、 At−I*索するよりも高速である。こ
こで注意すべきは、レベル2CCW。
レベル3CCW及び、そのデータバッファは、■0実行
時には、いずれも、レベル1メモリ上に固定されている
ことが必要ということである。さて、第5図は、ホスト
システムの主起′lJl装置2002の連a須域を分割
して、谷分刷された領域を、各VMの・主記憶装置とし
て専有して吏用する方法を表わしている。このようなV
Mt−使用する場合は、vMの主起1意装置のアドレス
に、一定のアドレス変位αを加えれば、ホストシステム
の上記d装+t2oozのアドレスとなることが分かる
。第5図の場合は、VMIのアドレス変位はα、 、V
M2のアドレス変位はα、である。このような場合は、
レベル2メモリアドレスから、レベルlメモリアドレス
への変換表2010は、2010(2)に示すように、
各VMの下限アドレス及び上限アドレスを・U埋する表
だけで充分である。
この場合は、レベル2CCWのアドレス変換は容易でめ
シ、レベル2CCWの友めのアドレス変換バッファ30
30のエントリ(すなわち、アドレス変換バッファ30
30のフィールド3が0のエントリ)は不要である。そ
のかわシ、第5図に示す、変換表2010(2)をl0
P3000(第7図]内のローカルストレジに取込み、
vMすによシ、アドレス変位αをもとめ、その力ロ算に
より、アドレス変換(レベル2メモリアドレス→レベル
メモリアドレス変換)を行なう方法も取られている。
第3図に示すVWの上記1意装置室体がホストシステム
の゛上記1意装、t2002に蕗、&E1ヒされ、固定
されているか、又は、第5図に示すようなホストシステ
ムの上記憶装置のある連続領域き専有するようなVMに
対しては、高速VMモードがサポートされている。高速
VMモードでは、7M上のO8の発行する大部分の特+
1命令が、直接実行(CVMCPtf14由せずホスト
システムと同程度のa 能t−’Hする実行方式される
。しかし、7M上の■0命令は、以下に示すように、V
MCPの介入金必要としている。
さて、実際に、7M上のO8の発行し7’CIO起動命
令が、どのようにして、VMCPにより実行されるかを
第6図に示す5VM上のO8は、入出力装置と一対一に
対応するサブチャネルの番号(?プチャネルナンを指足
して■0起J砧令r発行するっこのサブチャネルナは、
該VM下のサブチャネルナでめるので、反、丙すブチャ
ネルナと呼ぶことにする:、vMCPは、これと、対応
する実すブチャネルナに変換する。この対応は、■Mの
定疏時、決定されるものである。VMCPは、IO1起
動命令を発行しytVM上のO8が、どのレベルのCC
Wに対してIOe発行したか2Aべろ。
通虐、それは、IO起動命令のオペランドにより示され
るっ今、レベル3CCWに対して、IO起動副令が発行
されたとす。第6図で、2810のCCWl#がレベル
3メモリ上のccwnであり、そのデータアドレスlま
、全てレベル3メモリアトVスでめる。、VMCPri
、このO8の生成したCCW詳281Oに、2800の
オペランド全つけて■0起a fiB 舎に発行する。
2800のオペランドには、CCWのレベルを示すフィ
ールドL、L=3のときは、変換表Bの先頭アドレスV
ATO几、及び、そのセグメントサイズSS1ページサ
イズPSが記述されている。さらに、変換AAの先頭ア
ドレス几ATO几及び、そのセグメントサイズSS1ペ
ージサイズPsが記述さn1cCW詳2810へのアド
レスも記述されている。
これらは、’VMCPのIO起動d令の発行により、線
200 、J由でl0P3000(第7図)に送られ、
該当するサブチャネルレジスタ3o11に基本清報が設
定される。又、第7図に示t、サブチf $ ルrft
U +m 7’ロツク詳2090の中の該当サブチャネ
ル制御ブロックの中にも同庫の基本情報が記述される(
第10図サフ゛チャネル市IJ +l14I)゛ロック
2091参照)っさて、i 0P 3000 (M7+
J)は、このザブチャネル内のアドレス変換・rli 
4. f +Zって、O8の生成したCCW詳2810
を、前述したごとく、アドレス変換しながら実行してい
くこととなる。
第7図は、従来のVMSに5けるハードウェア構成図と
■0央行に関するブロック図金示したものでめる。、C
PU100Oの中には、ハードウェアの割込清報をきむ
煩域プレマイクス(PSA)のアドレスをよむグレマイ
クスレジスタi o i o。
CPUf/)制御レジスタ群1100、CPUの基本状
、ぬ(刷込制−ビットヤ、次rこ実行さ扛る1幾I戎6
η令アドレス等)を含むプログラムステータスワードP
SW1020が存在する。さらeこ、■Od令実イテ回
路1oaoや、10割込回路1040.IO砧令実行用
マイクロプログラム1050.IO割込処理用マイクロ
グログラム1060等が浮室する。さらに、VMS用の
フラグとしで、7Mモードを表わすvビットが1090
内に存在する。
VM屯行中は、VMCPにより、このビットt−1にセ
ットする。又、前述した高速V MモードフラグHも1
090内に存在する。VMS制御制御ラフラグ1090
いては、池の方式も考えられる。例えば、vMCPのモ
ード(ハイパバイザモード)とVMモード、そして、7
Mモードの中で、高速VMモードと、一般VMモードと
いうフラグを設けゐことも考えら扛ているついずれも大
同小異であるので、従来例としてti第7図に示すもの
をめげる。l0I)3000vcついては、前述したと
おり、ツブチャネル制御ブロック群2o90及び、サブ
チャネルレジスタ#3010によまれるアドレス変換r
%r7ft(第6図ににまり、マイクロプログラム30
20市01f[I]によって、アドレス変換バッファ3
030 (第4図−3参照)の情報金(1召しながら、
レベル3CCW又はレベル2CCW(第3図参照)を実
行して行くものである。第7図の主起I意装+1200
0は、ハードウェア/ステムエリアH8A2001と、
プロゲラA oJ′能−r−リフ202002に分利さ
れる。H8A2001は、cPUlooO及びl0P3
000が使用するハードウェア清報がR筐れてあ・シ、
その頭載は、cPU及びIOPのマイクロプログラム1
050゜1060.3020でアクセス、更新すること
はできるが、CPU100Oの一般のユーザに開放され
た機械命令ではアクセスすることはで@lt/′1.。
プログラムoT能エリア2002は、上記機械詰合でア
クセスすることができ、ここが、os又は、VMCPか
らみた主dc1意装置碩域とlる。IO宿令の中で、I
Oの起動、停止等の人出カ装置のオペレーションl−伴
うものは、その要求キューという形で、請求キユー20
70にキューイングされる。その実体は、第8図1こ示
すように、■0要求のめる実すブチャネルナを含むll
+lI呻ブロッタブロック20フ1Lスボイ/りでつな
いだものでめる。■0要求キューへキューイングしたI
&、l0P3000へJ200.、理由で起動信号が送
られる。
10230001則は、H8A2001内のIO要求キ
ュー2070ヘアクセスし、順欠要求キューエレメ7ト
2071i取出して■0要求処理を、続行していくもの
でるる。又、10割込みは、10割込要求キュー208
0に、実割込憂先顔立別にキューイングされる。その構
造金、第9図に示す。
割込優先順位は、0,1,2,3,4,5,6゜7の8
ri[fii、IO命令発行時、そのオペラ/ドでサフ
′チャネル市り1即ブロック$2090(第7図)の中
の各サブチャネルi1tl11gIブロックは、実すブ
チャネルナの順爵にならべられて2す、その実すブチャ
ネルナにより、−意に存在立直をめることができる。こ
のサブチャネル制御ブロック群209 (1)先頭7t
’レスは、CPU100O(第制御レジスタに設定され
ている。割込優先順位は、各丈プチャネルに対して指、
老することが可能である。さて、各VM上のO8が、サ
ブチャネルナ及び、割込優先順位(0〜7のいづれかひ
とつ)を指定してIO語命令発行したとする。このとき
、dXI図に2けるVMモードピット1090が1でめ
るから、IO命令実行用μp1050によシ、このビッ
トが1のとき、VMCPへ制御を渡す。
これは、VMCPのPSA2100の中の新P8Wによ
り、一種の割込みとして、vMCP′へ制御が度される
。そのVMCPのPSAのアドレスは、VMの起動時、
■MCP用グレフィクマイジスタ1010(第7図)に
設定されているので、それを参照する。
さて、VMCPは、7M上のO8の指定したサブチャネ
ルナを仮想サブチャネルナと見て、それを実すブチャネ
ルナに変換して、実サブチャネルの状態を管癲し、もし
可能であれば、(第6図に示すア゛ドレス変換m報28
00を指定して)IO語命令VM上のO8にかわって発
行する。
このとき、7M上のO8の指定した割込優先順位は、仮
想別込浸先順位であるが、それ金そのまま実仮想割込優
先順位として、IO語命令発行する。したがって、各実
刷込慶先順位t−VM上のO8間で共有することになる
。した□がって第9図におけるl0iJ込要求キユー2
080の各実刷込優先順位のキューの中には、各VM上
のO8のサブチャンネルからのIO,!ltl込要求が
混在しそキューイングされることとなる。
VM上のO8からのIO語命令実行をVMCPが介入す
る理由は、以下のとおりである。
(+)VM上のO8上の指定した仮想サブチャンネルナ
を実サブチャ/ネルナにR換しなければならないこと。
(11)実サブチャ/ネルを各VM上のO8間で共有す
る場合、及あ・るので、その間のサブチャンネネルスケ
ジュールが必要であること。
次に、第11図に■0劃込の制御方法について示す。各
サブチャンネルからの10割込要求は、ヤンネル制御ブ
ロックがIO割込゛嶽求キュー2080にキューイング
さ九る(第7図参照)。
29、実、!iil込憂先11位別にキューイングされ
る。
この時、第11図に示す対応する実利込保留レジスター
1042のビットが1にセットされる。割込保留レジス
タ10420ビツトと対応する実刷込優先順位マスクレ
ジスタ10410ピットが共き該当する実刷込優先順位
に対して工0刷込か起動され10別込処理用マイクロプ
ログラム1060に制御が(度される。以上の1作は第
1idに示すハードウェア回路ンζよシ実戊される。
さて、VMSに2いては、前述したように、各実刷込優
先順位が、VM上のO8間で共有される)1041の各
ビットは各VM上00Sの割込憂ツトシて、常に刷込可
能として2〈3さらに、この場合PSW1020の■0
マスクも1に設定して2く。こうすることにより、サブ
チャンネルからのIO劇込要求によって、実4u込保留
レジスタ1042のあるビットがlになると、ANDゲ
ート詳10466る出力が1となり、従ってO几ケート
1043の出力が1となり、ANDゲート1044の出
力が1となって第11図に示す工0劇込回路によって、
ただちに■0刷込処理用マイクロプログラム1060が
起動される。その■0マイクロプログラム1060は、
該当する実11込憂先順位上のIO割込要求キュー(第
9図)にキューイングされているすブチヤンネルをキュ
ーよυ取りはずして刷込全VMCPのプレフィックスに
反映する。このとき、当該実刷込優先順位の刷込要求キ
ューが空vcなれば当該実刷込優先順位の実割込保留レ
ジスタ1042のビットを0とする。
これによりその刷込保留がクリアされる。UMCPへ刷
込反映することによシ、VMCPのl0il!I込処理
プログラムへI!l1lIXlが渡される。その時、工
0刷込パ2メータとして当該IO,!111込2@生じ
た実ナプチャ/ネルナ2よび該当VMすもVM、CPに
渡される。VMCPはこのIO劇込を該当VMに反映す
るために、以下の処理を行う。
(1)実すブチャンネルナヲ反、漏すプチャンネルナに
変換する。
(II)該当VMの劇込凝先順畝マスクレジスタとその
PSWの■0マスクを調べ、それがION込可能でるる
か否かを判断する。
(Iii) 該当VMが割込可能でめるとき、そのVM
のプレフィックスPSAvc削込を反映する。
Gφ 該当VMが刷込不oT能でめるときは、VMCP
で当該刷込を保留する。
このように、実刷込憂先順位tVM間で共有する友めに
、そのマスクを、各VMの該当するマスク値のORをと
った直に(通常l)設定しなければならない。この之め
、当該VMではiu込不rTf能な順位に対してもVM
CPK、1ftl込が入る場合が有り、その時はVMC
Pで当該10調込全保留することとなる。このため、以
鎌当該サブチャンネルに対するIO語命令対しては、必
ずVMCPの介入によるシミュレ−7ヨ/が必要となる
以上によって示したとおシ、従来の仮想計、S機システ
ムに2けるVM上のO8のIO実行に2いては、fOP
によるレベル3CCWsyよびレベル2CCWLf)直
接実行の礪lT@v′i伴圧するけnども必−jVMe
Pが介入して、そのシミュレーションが必要である。こ
のため、■0発行頻度の高いA荷に対しては、vMCP
のシミュレーゾヨ7オーバーヘッドが大きくなる。
し発明の目的〕 本発明の目的・汀、従来技術で述べたようj’ZXVM
上のOSのIOa令、及び、l0411込りのV M 
CP vC,1:るシミュレーショ/オーバヘットヲ削
減し、VM上のIO語命令及び、l0IIJ込みのハー
ドウェア及びマイクロプログラムによる直接実行をサポ
ートすることにめる。
〔発明の概要〕
本発明の概安は以下のと2りである。VM上の08(1
)IO命令及■0別込に対して、VMCPが介入する理
由は、従来技術でも述べたように以下のと29である。
(+) li;Vaサブチャンネルナと実すブチャネル
ナとの間の変換が必要なこと。
(il) 実すブチャネルkVM上のosl#IJで共
有する場合がるり、サブチャネルスフジュールが必要で
あること。
(m) 実割込慶先、@立をVM間で共有することがめ
るので、その刷込制御マスク金、谷VM上のO8のgす
込制御マスク値の0几を取った直にセットしなければな
らず、そのため、VMCPにょるVMの■0刷込呆醒が
発生すること。これど防ぎ八−ドウエア側でIO刷込を
深dするためには、各VM用の割込制御マスクレジスタ
を用意しなければならず、割込保留レジスタも又、各V
M対応に用意しなければlよらなくなり、ハードウェア
量が大きi、0すぎて得策ではない。
以上を解決する之め以下の方式を取る。
(1)仮想サブチャネルナから実すブチャネルナへの変
換表fr:VMcPが用意し、■0命命令性用マイクロ
プログラムにより、これ全使用して変換する。
(:1) 実サブチャネル制御llブロックの中に、■
M情擢碩域を設け、ここに、反意サブチャネルナと変換
表の実すブチャネルナとの対応を記述する。
(i) 実サブチャネル制御ブロックのVM清4項域の
中に、状態フィールドを設け、専有サブチャネルか否を
示すフラグを設ける。このフラグは、VMCPによるサ
ブチャネル専有指定時、るるいは、vMの定義If報で
サブチャネル専有指定がある場合は、vMの定義時に、
設定されるものでるる。このフラグが1のときは、当該
VMに専有されたサブチャネルでめるので、VMCPに
よるサブチャネルスフジュールは不要である。
(1v)実割込優先順位をVMに専有させることによシ
、その優先順位に2ける割込要求キューの中には、専有
元VMの工0要求のめったサブチャネルのみがキューイ
ングされることになり、その実割込優先順位でのVMの
混在は、避けるこト とができる。さらに、その専有された、実割込優先順位
の割込制御マスクは、専有元VM上の08(1)対応す
る割込11+IJI41マスクの直と一致させることに
する。これにより、7M上のO8の割込優先順位の割込
制御マスクが0のため割込不oI′能である場合は、対
応する実割込優先順位の割込制御マスクも0であるため
、ハードフェアの割込も発生せず、従って、ハードフェ
アによジ劇込が保留さn、VMCPによるVMの工0刷
込保dという4!象を避けることができる。
以上の方式をサポートするため、実割込優先順位の種類
を増加し、VMによる実割込優先順位の専有を可能とす
ることにする。
〔発明の夷jIA列〕
以下に本発明の央m列を示す。第12図に、本発明の実
m例の全体図を示す。
CP U 100G’の各構成要素は、従来例の!@7
図と同じでるるか、やや機能が大きくなっているものが
ある。H8A2001の中には、従来列の第7図と同じ
ものも存在する。(工04求キュー2070.10割込
要求キュー2080、実すブチャ婦ル制御ブロック群2
090’ J。しかし、プレマイクスd装置2300.
ffi表アドレスgjJ42400、VrA−gm表2
700 riiJL)ifdでるる。
プログラム0Lfeエリア2002には、従来列の第7
図と同じもの(VIVICPc/)PSA2100゜V
MIの)’5A2110.VA42のP S A 21
20 。
曲のVMのPSAも同様に存在しても良い。
VMCP2200、レベル2メモリからレベル1メモリ
へのアドレス変換テーブル$2010、レベル3メモリ
ρ為らレベル2メモリへのアドレス変換テーブル群20
40)も、存在する。しかし、割込凝先j幀立す変換テ
ーブル2500、サブチャネルナ羨洟テーブル詳260
0vi新規のIR報でめる。
IUP3000’は、従来同第7図のl0P3000と
同様の構成でるるか、やや愼II目が大さくなっている
。以下に先ず、)isA2001及びプログラム可能エ
リア2002によまれる吹成情報について説明する。
第13図にグレマイクスU装置2300t−示す。
こnd、VMCPcDP8A7ドlzス、VM1cDP
SA7ドレス、VM2c/))’8A7ドl/ス、VM
3のPSAアドレス金富む。第13図では、VM3よで
しか示していないが、もつとも多くのVMのPSAが[
4されていても良い。このPSAのアドレスは、CPU
l0LIO’のμプログラムが参照するものでる9、プ
ログラム0T能エリア2002のホストクステムにおけ
るアドレスが記述6れている。この各VMのPEAアド
レスは、VMの起動時、起動専用命令のオベラ/ドのひ
とつとして与えられ、その命令の処44、プレ7・fク
スぎ埋置2300の該当工/トリに格納される。
このグレマイクス・g埋置2300の先頭アドレスは、
CPUI 000’ (1)ff111mL’ジスタ4
1100’の中のひとつIc格納される(第12図参照
ンこのプレマイク=f装置はオプションであり必須では
ない。どういり時に使用されるかは麦述する。次に第1
4図に変換表1ドレス・e層表2400金示す。このア
ドレス−f理42400は、サブチャネルナ変換テーブ
ル2600の先頭アドレスと、割込−先順泣す変洟テー
ブル25000先屓アドレスを、各VM対応に管理して
いるものである。変換表アドレス管理表2400の先頭
アドレスも又、CPU100O’の制御レジスタ群1i
oo’の中のひとつに格納されている。サブチャネル≠
変換表2600、割込衣2600、割込優先順位変換表
2500の検索方法は、第14図に示すとおシである。
すなわち、仮想サブチャネル4−(2)くイトからなる
)を、DO・256+DIに分解し、先ず、アドレス管
理表2400の該当エントリの内容が指し示す前段のテ
ーブル2601を、DOにより検索する。前段テーブル
2601のDO0番目エントリには、後段テーブル26
02のアドレスが設定されており、その後段テーブル2
602のD1番目のエントリを検索する。そこに、対応
する実サブチャネル+DO’ ・256+D1−がめら
れる。仮想割込優先順位Φの変換は、変換表2500の
該当エントリを読み出すのみで対応する実割込順位≠に
変換される。サブチャネル≠変換表2600、割込優先
順位変換表は、VMCPのコマンドによる指定時、又、
7Mの定義情報の中から、VM定義時に、VMCPによ
シ作られ、VMの起動時、起動専用命令のオペランドに
よシ指定され、その起動専用命令の処理時、変換表アド
レス管理表2400の該当エントリに格納される。この
変換表2600.2500.2400もオプションで1
必須ではない。すなわち、■MSにおいて、本発明の■
0実行方式を用いるVMは、仮想サブチャネル≠=実す
ブチャネルナ、仮想割込優先順位弁−実割込優先順位≠
という制限を守ることにすれば、これらの変換表は不要
である。
第15図は、■M管理表2700の内容を示す。
この中には、該当VMの主記憶装置のサイズ(ZO,Z
l、・・・)と、そのレベル2メモリアドレスからレベ
ル1メモリアドレスへのアドレス変換テーブル2010
のアドレス(R,ATORO。
RATORI、・・・)が記述されている。これらの情
報は、7Mの定義情報から得られるもので9p、VMの
起動専用命令によ、!l)、H8A2001内のVM管
理表2700の該当エントリに格納される。
VM管理表2700の先頭アドレスも又、CPU100
0’内の制御レジスタ群1100’ (第12図参照)
のひとつに格納される。H8A2001内の制御ブロッ
クの先頭アドレスが、CPU1000’内の制御レジス
タ1100’に格納されることは従来と同じである。も
し、本発明の■0実行方式をサポートするVMを第5図
に示す、主記憶装置2002上の連続領域を、その主記
憶装置として専有するよりなVMだけに限定する場合は
、その上下限を定義した変換表2010(2)をもって
、このVM管理表2700の代わシとすることも可能で
ある。もし、第5図の変換表2010 (2)を使う場
合は、との上下限アドレスα1.αI+I(i=1,2
,3・・・)が7M起動命令によって指定され、その命
令処理により、H8A2001に、この変換表2010
(2)の該当エントリが作られることになる。第16図
は、実サブチャネル制御ブロック群2090’、その中
の、ひとつの実サブチャネル制御ブロック2091′及
び、その中のVM情報領域2092’を示す。
VM情報領域2092’の中には、状態フィールド、■
M+、仮想サブチャネル≠、対応する実サブチャネルナ
、仮想割込優先順位す、対応する実割込優先順位+、C
CWのアドレス変換情報2094が存在する。状態フィ
ールドには、このサブチャネルが占有されているか否か
、このサブチャネルがIO直接実行抑止モードか否かを
示すフックが存在する。CCWのアドレス変換情報20
94は、従来のアドレス変換情報2092(第10図参
照)と同じ内容である。VMの定義時VM定義情報から
、又は、VMCPのコマンドによる指定時、又は、■0
命令の処理時、これらのVM情報領域2092’内の情
報が設定される。
実サブチャネルの専有又は、実割込優先順位の専有は、
VMの定義時又は、VMCPコマンドによシ指定される
。この指定のとき、7M情報領域2092’の中の以下
のフィールドが設定される。
・Ldフィールド2093内のサブチャネル占有フラグ ・I10直接直接上−ド抑止フラグは通常0にセットさ
れ、■10直接直接上−ドはサボート状態にされる。
・専有元のVMす ・仮想サブチャネル÷と実すブチャネルナ・CCWのア
ドレス変換情報2094の中で、当該専有元VMの主記
憶装置(レベル2メモv>からレベル1メモリへのアド
レス変換テーブルの先頭アドレス(B、ATOR第4図
−1参照)これはもし、専有元VMが、第5図に示す、
主記憶装置を専有する場合は、その上下限α1.αI+
1 (1=1* 2+ 3・・・)を設定するようにし
ても良い。
共有サブチャネルの場合は、これらの情報は、もし必要
なら、IO命令処理時に設定される。この場合は、工0
発行元VMのVM情報領域の該当フィールドに設定され
る。
第17図に、7M起動用の命令フォーマットを示す。2
900がVM起動命令であシ、2910は、そのオペラ
ンドである。オペランド2910の中には、当該VM+
、■MOP8W、VM(7)PSAアドレス、サブチャ
ネルナ変換テーブル2600(第14図)の先頭アドレ
ス、割込優先順位す変換テーブル2500(第14図)
の先頭アドレス、当該VMO主記憶装置からホストシス
テムの主記憶装置へのアドレス変換テーブル2010 
(第15図)の先頭アドレス(RATO几)(第4図−
1参照))、当該VMO主記憶装置サイズ(この2つに
ついては、起動するVMが、第5図に示す、主記憶装置
2002の連続領域をVMO主記憶装置として使用する
場合はその上下限α1.αI41 (1”=1 s 2
e・・・)を指定しても良い。)等が記述されている。
これらのオペランド情報の中で、VMの走行用PAW、
VMのpsAアドレス及び実割込優先順位ステータス、
及び、VMS制御フラグ群は、VM起動時に決定される
が、その他の多くの情報は、前述したとおυVMの定義
情報によj)、VMの定義時に決定されるものである。
実割込優先順位ステータス、及び実割応援先順位専有ス
テ下タス、及びVMS制御フラグ群は、後程説明する。
これらのオペランドは、、VMCPにより設定される。
VMの起動用命令については、必らずしも、第17図に
示す形式でなくても良い。ただ、オペランドとして、竺
17図に示すような情報が必要である。第18図はVM
S制御レジしタ群1080を表わす。1/ジスタ108
1f′i、現走行VMのVM+を含み、VM起動命令に
よ、シ設定される。このレジスタの内容は、VM起動命
令のオペランド2910(第17図)のひとつのフィー
ルドの内容で与えられる。第19図は、VMS制御フラ
グ群1090’ (第12図参照)を示す。これ?のフ
ラグは、7M起動命令のオペランド(第17図)のひと
つのフィールドで初期値が与えられる。各7ラグの意味
は以下のとおりである。
V:VM走行時1とする。VMCPMC時、又は、実計
算機モード時0となる。VM起動命令、によシ1に設定
され、割出し等で、VMCPに制御が渡されるとき、0
にセットされる。これは従来のとおシ(第7図でである
H:VMの走行において、特権命令の直接突立が可能で
あるとき1をセットする。この7う(か1のとき、7M
の走行における大部分の特権命令は、CPU100O’
の命令実行回路により直接実行される。H=1のとき高
速VMモードという。これも従来どおシ(第7図参照)
R,:VM上のO8−制限を与え、常に仮想サブチャネ
ルナ=、実すブチャネルナかつ常に、仮想割込優先順位
す=実割込優先順位すのとき、1をセットする。これが
1のとき、μプログラムによるサブチャネル÷変換処理
、割込優先順位舎変換処理を全て除外する。(このとき
、第14図に示す変換表類2400.2600,250
0は不要であ、 る。) D:本発明で可能となるVMの■0直直接性(VMCP
を介入しないことを意味する)を有効とするとき1とす
る。通常VMCP −のVM起動命令によ#)1に初期
化される。
N:現走行VMが、共有割込優先順位に関する割込保留
要因を持ち(実際はVMCPが当該VM用に保留してい
るものである)、現走行VMの仮想割込優先順位マスク
に関しては割込可能であるものが存在する(従って、当
該VMのpswのIOマスクが0のため割込不可能とな
っている)とき、1に設定する。これは、仮想割込優先
順位に関しては割込可能な、7Mの10割込要求を調べ
る命令の実行時に使用する。これも、VMCPが7M起
動命令によシ初期化する。
第20図は、実割込優先順位のわシめて方法を示す。実
割込優先順位として、0〜31の32種類を考える。実
割込優先順位0は、最も優先順位が高いのでVMCP専
用とする。実割込優先順位1から、上昇III (割込
優先順位は下降順)に、。
VMの専有する実割込優先順位を各専有光VMにわシア
てる。共有割込優先順位については、実割込優先順位3
1から下降順(割込優先順位は上昇順)に各VMに割当
てる。第20図における例では、7M1の仮想割込優先
順位0には、実割込優先順位1が割当てられ、これを専
有し、仮想割込優先順位1〜7には、実割込優先順位3
1が割当てられ、これをVM間で共有するととになる。
7M2及びVM3についても第20図に示すとおりに割
当てられる。VMIでの仮想割込優先順位は、実際には
、0と(1〜7)の二種類に分けられることとなる。従
って、7Ml上のO8が、実効的に使用できる実割込優
先順位は二種類となる。これらのO8に対する制限は、
運用により許容することができるものである。どの割込
優先順位を専有にするかは、各VMに対して、VMS全
体の計画下で決定すべき問題で、1)、VMCPによシ
管理される。このようにして決定された実割込優先順位
の専有、共有の状態は、7M起動命令のオペランドで与
えられ(第17図参照)、その命令処理により実割込優
先順位専有ステータスレジスタ1049(第21図)に
設定される。
第21図は、実割込優先順位マスクレジスタ1041’
、実割込保留レジスタ1042’、実割込優先順位ステ
ータスレジスタ1045及び実割込優先順位専有ステー
タスレジスタ1049を示している。このうち、レジス
タ1041’ と1042’は従来例(第11図)にも
存在するが、ただ、そのビット数を増加しである。この
例では、従来8ピツトであったものを4倍の32ビツト
に拡張しである。これは、実割込優先順位のVMにおけ
る専有方式をサポートするためでるる。意味は同じであ
るので、説明は省略する。実割込優先順位ステータスレ
ジスタ1045の意味は以下のとおシ。すなわち、ビッ
トn(o〜31)が0の時、実割込優先順位nが現走行
VMに専有されていることを示す。そうでないときは、
1にセットされる。実割込優先順位専有ステータスレジ
スタ1049の内容は以下のとおシ。すなわち、ビット
C(0〜31)がOのとき、実割込優先順位CがあるV
Mに占有されていることを意味し、ビットCが1のとき
実割込優先順位Cは共有であることを示している。レジ
スタ1045.1049は、7M起動命令のオペランド
によシ初期設定される。
実割込優先順位マスクレジスタ1041’は、VMCP
によシ管理、更新される。実割込保留レジスタ1042
’は、l0P3000’ (第12図)によシセットさ
れ、10割込処理用マイクロプログラム1060’によ
シリセットされる(第22図)。
第22図は、本発明における■0割込回路1040’の
回路図でるる。この図では、簡単のために、実割込優先
順位が、10種類しかないように書いであるが、実際は
、32種類あり、そのときの結線も、全く同様である。
さて、実割込優先順位c(c=0〜31)が、割込保留
要因をもつ(すなわち、10割込要求キュー2080の
実割込優先順位Cレベルのキューに、割込要求もつサブ
チャネルがキューイングされ保留レジスタ1042’の
該当ビットが1になったとする)とする。このとき、割
込優先順位Cが現走行VMに専有されているときは、実
割込優先順位ステータスレジスタ1045の対応ビット
は0となっているので、ORゲート群1048の出力に
は、PsWの工0マスク値が出るから、PSW1020
のIO割込マスクが有効となる。従って、対応する実割
込優先順位マスクレジスタ1041’の対応ビットが1
でPSWの工0マスクが1のときのみ、ANDゲート1
047の該当出力が1とな910割込みが起動され、1
0割込処理マイクロプログラム1060’に制御が渡さ
れる。割込優先順位Cが、共有か又は、他VMに専有さ
れている場合は、レジスタ1045の対応ビットは1と
なっているので、ORゲート1048の該当出力は1と
なシP8W1020の工0マスクに無関係となシ、対応
する実割込優先順位マスクレジスタ1041’のビット
が1であれば、IO割込みが起動される。
マイクロプログラム1060’による割込処理後、当該
割込優先順位Cの割込要求キューが空になれば、保留レ
ジスタ1042’の該轟ビットは同マイクロプログラム
によシロクリアされる。
さて、以上にのべたノ1−ドウエア及びマイクロプログ
ラム及び、主記憶装置上の情報を用いて、VM上のO8
の工0命令及び工0割込みがどのように処理されるかを
順をおって以下に?べろ。
以下の2点を前提とし、VMは高速VMモードとする。
(+)VMの主記憶装置全体は、ホストシステムの主記
憶装置、上に常駐化されているものとする。
(II) V M上のO8のIO直接実行(VMCPの
介入なしの実行方法、IO割込みの直接実行も含む)は
、専有サブチャネル、かつ、専有割込優先順位を有する
サブチャネルに対してだけザボートする。
先ず、VMCPは、VMの起動時、第17図のVM起動
命令のオペランドの設定の他に、実割込優先順位マスク
レジスタ1041’のピットc=ii7以下のように設
定する(第21図)。
、実割込優先順位c(0〜31)が、現走行VMに専有
されているとき、対応するVM上のO8の仮想割込優先
順位(今簡単のために1、ひとつだけと仮定する。以下
同様。)のマスク値を、ビットCにセットする。
・割込!肉、順位eが、他のVMに専有されているとき
、該■¥の対応する仮想割込優先順位のマスク値と、該
VMのPAWの工0マスク値との論理積を、ビットCに
セットする。又は、当該割込優先順位Cの割込みの遅れ
が問題にならない場合は、ビットCに0をセットしても
良い。 、 ・割込優先順位Cが、7M間で共有される場合は、ビッ
トCには1をセットする。
当該VMの走行中に、その仮想割込優先順位マスクを変
更しても、ただちに、実割込優先順位マスクレジスタ1
041’ (第21図)に変更が反映される。そのため
に、O8の仮想割込優先順位マスク値の変更命令は、必
らず、VMCP経由でシミュレーションするよ・うにす
ることもできるし、又は、CPUのμプログラム処理に
よシ、当該変更をレジスタ1041’に反味しても良い
。それは従来と同じ。高速VMモードのVMを起動する
場合は、第17図のVM起動命令のオペランドのVM走
行用pswには、VM自身のPSWが設定され、これが
、そのまま、CPU100O−・のPSW1020(第
12図)に設定される。従って、PSWの工0マスクは
、走行VMの工0マスクと一致させられる。VM走行中
におけるO8のPSW変更は、ただちに、PSW102
0に反映されるので、この一致東件は満足される。その
ために、O8のPSW変更命令は、直接実行により、c
pU100O’のPSW1020に反映されても良いし
、又、VMCP経由のシミュレーションによシ反映され
ることもある。これは従来どおシ。以上の設定が完了し
た後、7M起動命令(第17図)によ#、VM上のO8
に制御が渡される。この命令の実行によシ、第18図の
現走行VMナレジスタ1081、CPU1000’のP
、5W1020(第12図)、第13図プレマイクス管
理表の該当エントリ、第14図の変換テーブルアドレス
管理表2400の該当エントリ、第15図のVM管理表
の該当エントリ、第21図の実割込優先順位ステータス
レジスタ1045、第19図のVMS制、御フラグ群が
初期化される。
さて、7M上のO8から■0命令が発行されたとする。
C,PU1000’の■0実行回路1030’は、マイ
クロプログラム1050’の制御によシ以下の処理を行
なう。
(1)高速VMモードでないとき(VMS制御フラグH
=0第19図参照)は、VMCPへ割出す。
このときは、VMCPのプレマイクスレジスタ1010
を使用して、VMCPのP S A 2100に割込み
を反映することによ!11、VMCPへ割出す(第12
図)。
(2)高速VMモード(VMS制御フラグH=1)のと
き、7Mの工0直接実行モート責V M S制御フラグ
D=1かどうか)か否かを判断する。
(第19図)。
(3) D = 00ときは、vMCPへ割出す。
(4) D = 1のとき、VMS制御制御フラグ列断
する。
R=0のとき、該当する仮想サブチャネルナ変換表26
00を検索して、与えられた仮想サブチャネルナを、実
サブチャネルナに変換する。
もし、仮想割込優先順位すが命令オペランドで与えられ
たときは、割込優先順位す変換テーブルを検索し、実割
込優先順位すに変換する。これと、実割込優先順位専有
ステータスレジ、スフ1049により、専有かどうかを
判断し、サブチャネル制御ブロックのVM情報領域20
92’の状態フィールドに書き込む(第16図)。
仮想割込優先順位≠と実割込優先順位≠との対応関係は
このとき書き込まれる。R=1のときは、変換は不要で
あるので、同じ値′f:書き込む。
(5)求めた実サブチャネル制御ブロック2091’(
第16図)が専有サブチャネルでかつ、専有割込優先順
位を有する場合はIO命令を実行する。
これ以後は、実計算機システムにおける処理と同じで、
非同期のIO装置のオペレーションを必要とする場合は
、■0要求キュー2070にサブチャネルをキューイン
グする(第9図)。IO発行元には、条件コードと共に
制御が返される。
(6)求めた実サブチャネルが、共有サブチャネル又は
、割込優先順位が共有の場合は、VMCPへ割出シ、シ
ミュレーションに委ねる。
(7) V M上のO8の発行しiIO命令が、各仮想
割込優先順位上の割込可能(O8の仮想割込優位マスク
に関して割込可能の意味)な、10割込要求を調べる命
令の場合は、以下のように処理する。
すなわち、先ず、現走行VMの実専有割込優先順位に関
して、割込要求を調べる。そのとき、もし、何も、10
割込要求がないときは、共有割込優先順位について調べ
る必要があるが、共有割込優先順位に関する割込保留は
全てVMCPが管理するので、VMCPに制御を渡す必
要性が発生する。
しかし、それは、直接実行の主旨に反するので、VMS
の制御フラグN(第19図)を用いる。N=1のときは
、調べるべき10割込保留(共有割込優先順位、かつ、
仮想割込優先順位について割込可能)を、VMCPが管
理していることを示し、従って、この場合は、vMCP
へ割出すこととする。N=Oの時は、かかるIO割込保
留はないため、VMCPへ割出す必要はなくなシ、直接
実行が可能となる。次に10割込処理について述べる。
(1) I O装置からの10割込要求は、I OP 
3000’によシ検出され、対応する実サブチャネル制
御ブロックが、H8A2001内の10割込要求キュー
2080の対応する実割込優先順位にキューイングされ
る。(第9図参照)。これは従来とおシ。
(2) と(7)とき、第22図に示す、l0P300
0’は実割込保留レジスタ1042’の該当ビットを1
にする。これも従来どおシ。
(3)実割込優先順位マスクレジスタ1041’は、前
述したように設定されている。第22図におけるIO割
込み回路の動作方法は前述したと2りである。これによ
、!l)、IO割込みが起動され、■。
割込処理用マイクロプログラム1060’に制御が渡っ
たとする。
(4)このとき、割込みが起動された実割込優先順位が
専有化されている場合、実割込優先順位マスクレジスタ
1041′、実割込優先順位ステータスレジスタ104
5の設定方法によシ、その専有元VMは、対応する仮想
割込優先順位に関しては、必らず、割込可能となってい
る。もし、その専有元VMが、割込不可能な場合は、P
SW1020のlo−fスフ、上記レジ、l’1041
’、1045の働らきによシ、当該実割込優先順位に関
しては■0割込冬は起動されず、制御が1060’に渡
されることはない。すなわち、ノ・−ドウエアによシ保
留されたままである。
(5) I O割込μプ日グラム処理1060’は、以
下の処理を行なう。
(1)割込みを発生した実割込優先順位C上の、10割
込要求キュー2080 (第9図)の実サブチャネルを
キューより取シはすす。
(ii) V M S制御フラグ1090’ (第19
図)のVMモードフラグビットV及び高速VMモードフ
ラグHを見、V=OorH=00ときは、vMCPのP
SAへ割込みを反映する。この場合は、VMCPのPX
RIOIO(第12図)を使用する。
(iii)V−1&H= 1のとき、VMの工0直接実
行モードDビットをみる。D=00とき、工0直接実行
モードでないので、VMCPのPSAへ割込みを反映す
る。
(lv) D = 1のとき、以下の処理を行なう。
(1)実サブチャネル制御ブロック内の状態フイチャネ
ルか判断し、共有サブチャネルの場合は、VMCPのP
SAへ割込みを反映する。
(ロ)割込を発生している実割込優先順位Cが現走行V
Mに専有されている場合、すなわち、実割込優先順位ス
テータスレジスタ1045の該当ビットが00とき(第
21図参照)、現走行VMのPSAに割込みを反映し、
現走行VMを続行する。このときは、7M用のグレマイ
クスレジスタ1070 (第12図)を使用する。VM
のグレマイクスへのIO割込情報は、実サブチャネル制
御ブロック2092’内の仮想サブチャネルナ、あるい
は、仮想割込優先順位≠を割込情報として反映する。
e→実割込応援順位Cが、他のVMに専有されている場
合は、VMCPへ割込みを反映する。
この後、VMCPによシ、該当VMのPEAへ割込みを
反映する。
に)実割込1優先順位Cが共有されている場合は、VM
CPへ割、込みを反映する。この後、vMCPによシ、
該当VMへの割込みの反映が行なわれるが、この場合は
、該当VMが割込不可能の場合が有シ得、その場合は、
VMCPによシ当該工0割込みが保留されることとなる
以上のように、サブチャネルが占有化されて、かつ、占
有化された実割込優先順位を有する場合、そのサブチャ
ネルに対しては、7M上のO8の工0直接実行(VMC
Pの介入によらず実行すること)がサポートされる。1
0割込みの場合は、さらに、正確にいえば、現走行VM
の専有するサブチャネルからの10割込みだけが直接実
行される。
他のVMの専有するサブチャネルからの工0割込みにつ
いては、7M間スケジューリングの必要性が発生するた
め、vMCPが介入せざるを得ない。
第16図の実サブチャネル制御ブロックの中の状態フィ
ールド2093の工0直接実行モード抑止フラグは、通
常は0であシ、当該サブチャネルの工0直接実行モード
はサポートされる。しかし、専有サブチャネルの場合、
専有元VM以外のVM上のO8から■0命令が発行され
ることはないが、VMCPから、IO命令が発行される
ことはあシ得る。このときは、専有サブチャネルであっ
ても、当該VMCPのIloが完了するまでは、この状
態フィールド2093内のI10直接直接上−ド抑止フ
ラグを1とし、当サブチャネルのIO直接実行モー□ド
は抑止状態におかれる。
従って、このフラグは、VMCPの管理において、セッ
ト/リセットされるものである。以上の■0実行方式に
おいて以下のことがいえる。
(a) V M S制御フラグ群1090’の中で、(
第19図)Rビットはなくても良い。すなわち、常に仮
想サブチャネルナの変換及び仮想割込優先順位÷の変換
を行なうようにするが、又は、■MSの運用において、
本発明のIO直接実行方式を適用する場合は、必らず、
それらの値が等しいことを前提とすることにすれば不要
である。
(b)同じく、Dフラグも、Hフラグで代用する方法が
考えられるが、高速VMモード7ラグHは、■0命令以
外の特権命令の直接実行の可否をも制御するので、工0
命令だけの直接実行の可否の制御はできなくなる。
(C) I 0割込みの処理で、現走行VM以外のVM
に専有されている実割込優先順位からのIO割込みは、
VMCPに反映するように前述したが、これを、当該専
有光VMは、割込可能となっているから、先ず、当該V
MのPSAに割込反映後、VMCPに、vMCPコール
の形で制御を渡すようにしても良い。そのVMのPSA
のアドレスは、第13図におけるグレマイクス管理表よ
請求めることができる。この場合は、さらに、当該VM
のPSWをめる方法が必要であシ、そのための情報が必
要であるが、その方法は、当該VMすをペースとして、
いろいろな方法が考えられるので、図示は省略する。
(d)サブチャネルナ変換−テーブル先頭アドレス、割
込優先順位す変換テーブル先頭アドレス、実割込優先順
位ステータスレジスタ1045.実割込優先順位専有ス
テータスレジスタ1049(第21図)は、全て、7M
起動命令のオペランドで初期化する(第17図参照)よ
うにしたが、VMcPの専用命令で初期化するようにし
ても良い。
〔発明の効果〕
以上説明したように本発明によれば、7M上のO8から
発行される工0命令、及び、10割込みの突接実行が可
能となり、VMCPの■0シミュレーションオーバヘッ
ドを大幅に削減することができる効果がある。Iよとん
ど実計算機性能に近い仮想計算機を実現するには必須の
機能である。
【図面の簡単な説明】
第1図は通常のO8による実計算様システムのブロック
図、第2図は従来の仮想計算機システム(VMS)のブ
ロック図、第3図は従来の仮想計算iff(VM)にお
けるメモリ階層を示す説明図、第4図〜第11図は従来
例の説明図であシ、第4図はアドレス変換テーブル類を
示す説明図、第5図は実主記憶装置の連続領域を専有す
るVMの構成図、第6図はVMCPが、VMの工0シミ
ュレーション用に発行する工0命令を示す説明図、第7
図はホストシステムの構成図、第8図は■0要求キュー
、第9図は■0割込要求キニー、第1O図は実サブチャ
ネル制御ブロック群、第11図はIO割込回路、第12
図ないし第22図は本発明についての説明図であ如、第
12図はホストシステムの構成図、第13図はグレマイ
クス管理表、第14図は変換表アドレス管理表、第15
図はVM管理表〜第16図は実サブチャネル制御ブロッ
ク群、第17図は7M起動命令、第18図はVMS制御
レジスタ群、第19図はVMS制御フラグ群、第20図
は割込優先順位割当て方法、第21図はVMS割込制御
レジスタ、第22図はVMS用IO割込回路についての
説明図である。 1oooo・・・実計算機システム、1000・・・C
PU、1000’・・・CPU (本発明用)、100
〇−N・・・CPUN N=1.2,3.・・・、10
10・・・グレマイクスレジスタPXR,1020・・
・プログラムステータスワードpsw、1oao・・・
■0命命令性回路、1040・・・IO割込回路、10
50・・・工0命令実行用マイクロプログラムμP1.
1060・・・10割込処理用マイクロプログラムμP
2.1070−VM用PXR,1080・VMS制御レ
ジスタ群(本発明用)、1090・・・VMS制御フラ
グ群、1100・・・基本制御レジスタ群、1010 
’ ・VMCP(DPXR,、1030’・・・工0実
行回路(本発明用)、1040’・・・10割込回路(
本発明用)、1050’・・・IO命令実行用マイクロ
プログラム(本発明用)、1060/・・・IO割込処
理用マイクロプログラム(本発明用)、1100’・・
・基本制御レジスタ群(本発明用)、1110・・・レ
ベル2→レベル1アドレス変換テーブル先頭アドレスを
含むレジスタ、1120・・・レベル3→レベル2アド
レス変換テーブル先頭アドレスを含むレジスタ、104
1・・・実態゛込優先順位マスクレジスタ、1041’
・・・実割込優先順位マスクレジスタ(本発明用)、1
042・・・実割込保留レジスタ、1042’・・・実
割込保留レジスタ(本発明用)、1043・・・ORゲ
ート、1044・・・ANDゲート、1081・・・現
走行VM+レジスタ、1082・・・仮想割込優先順位
ステータスレジスタ、1045・・・実割込優先順位ス
テータスレジスタ、1046・・・ANDゲート群、1
046’・・・ANDゲート群(本発明用)、1047
・・・ANDゲート群(本発明用)、1048.・・・
0几ゲ一ト群(本発明用)、1049・・・実割込優先
順位専有ステータスレジスタ、2000・・・主記憶装
置、2000−N・・・VM−Nの主記憶装置(N=1
゜2.3.・・・)、2001・・・主記憶装置200
0内のハードウェア・システム・エリア、2002・・
・主記憶装置2000内のプロゲラ台可能エリア、20
10・・・レベル2メモリからレベル1メモリへのアド
レス変換テーブル、2010(1)・・・レベル2メモ
リからレベル1メモリへのアドレス変換テーブル、20
10(2)・・・レベル2メモリからルベノ1メモリの
アドレス変換テーブル、2020・・・−レベル1メモ
リアドレスで作、られたCCW、2030・・・レベル
2メモリアドレスで作られたCCW。 2040・・・レベル3メモリからレベル2メモリへの
アドレス変換テーブル、2050・・・レベル3メモリ
アドレスで作られたCCW、2060・・・VM上のO
8の生成する仮想空間で、3レベル3メモリに属する、
207u・・・IO要求キュー1,2080・・・IO
割込要求キュー、2o9o・・・サブチャネ化制御プ目
ツク群、2090′・・・サブチャネル制御ブロック群
(本発明用)、2100・・・VMCPのプレマイクス
PSA、2110・・・VMIのPSA。 2120・VM2(7)P SA、 2130−VM3
のPSA、2200−’VMCPの常駐領域、2300
・・・グレマイクス管理表、2400・・・変換表アド
レス管理表、2500・・・割込優先順位φ変換テーブ
ル群、2600・・・サブチャ不ルナ変換テーブル群、
2700・・・VM管理表、2800・・・VMCPめ
用意したccw群、2810−’−vM上oo 5(7
)用意したCCW群、2091・・・茗プチャネル制御
ブロック1.2091 ’ツサブチャネル制御ブロック
(本発明用)、2092・・・サブ升ヤネ”ル制御プ四
ツク内のアドレス変換情報、2092’・・・サブチャ
ネル制御ブロック内のアドレス変換情報(本発明用)、
2071・・・工0要求キューキューエレメント、2’
601’・・・サブチャネルナ変換テーブルの前段衣、
2602・・・サブチャネル讐変換テーブルの後段衣、
2093・・・サブチャネル制御ブロック内のVM情報
領域2092’内の状態フィールド、2094・・・V
M情報領域内の00wアドレス変換情報、2900−V
M起動命令、2910・VM起動命令のオペランド、3
000・・・入出カフ’oセツtIOP、3000’・
・・入出カプロセッサl0P(本発明用)、3000−
N・VM−N(1) I OP(論理的なもの)、30
10・・・サブチャネルレジスタ群、3010’・・・
サブチャネルレジスタ群(本発明用)、302o・・・
IOを実行するマイクロプログラムμP3.3030−
IOP3000内のアドレス変換テーブル、3011・
・・ひとつのサブチャネルレジスタ、4ooo・・・入
出力制御装置IOC,4000−N−VM−N(N=1
.2゜3、−)のIOC,100・CPU−主記憶装置
間インタフェース、11o・・・cPU−ハードウェア
システムエリア2oo1間インタフェース、120・・
・CPU−プログラム可能エリア2002間インタフェ
ース、200・・・CPU−loP間インターフェース
、3oo・・・l0P−主記憶装置間インタフェース、
31o・・・l0P−ハードウェアシステムエリア20
01間インタフェース、320・・・l0P−プログラ
ム可能エリア2002間インタフェース、400・・・
l0P−IOC間インタフェース。 不 1 日 ■ 3 図 Z 4 図−j 所 4 図−Z 第4 図−3 第 5 図 ρ O/2−〆I 第 6 図 第7図 1I L −一一−−−−J 第 g 図 不 q 図 囁 10 図 不 11 図 ′fJ12図 1・・[ 好 13 図 ’f、 t4 図 り触土工口 第 15 図 爾 16 図 第 lと 図 ] 1 01 1 ) )口1 L−−」 第 2θ 図 (a−) (b) 9冨21図 u14Je”1L、Jr 手続補正書(方式) 特許庁長官殿 事件の表示 昭和59年 特許願 第5587号 発明の名称 仮想計算機システムの■○実行方式補正を
する者 事件との関係 特許出願人 名称(510) 株式会社 日 立 製 作 所代 理
 人 居所〒100 東京都千代田区丸の内−丁目5番1号株
式会社 日 立 製 作 所 内 型 話 東 京212−1.111.(大代表)補正命
令の日付 昭和59年4月24日補正の内容 ■、 本願明細書第61頁第1行の請求キュー。 第9図は10割込要求キュー、」を請求キューを示す説
明図、第9図はIO割込要求キューを示す説明図、」に
訂正する。 2、 同書同頁第2行の「ブロック群、」を「ブロック
群の説明図、Jに訂正する。 3、 同書同頁第3行の、rIo割込回路、」を「■O
割込回路を示す図、」に訂正する。 4、 同書同頁第5行の、[プレマイクス管理表、」を
「プレマイクス管理項目のメモリ構成を示す図、Jに訂
正する。 5、 同書同頁第6行の「アドレス管理表、」を[アド
レス管理項目のメモリ構成を示す説明図、Jに訂正する
。 6、 同書同頁第7行の、「M管理表、」を「M管理項
目のメモリ構成の説明図、」に訂正する。 7、 同書同頁第8行の、「7群、第17図はVM起動
命令、」を「7群の説明図、第17図はVM起動命令を
示す図、Jに訂正する。 8、 同書同頁第9行の[レジスタ群、Jを[レジスタ
群の説明図、」に訂正する。 9、 同書同頁第10行のr群、第20図は割込優先順
位割当て方法、Jをr群を示す図、第20図は割込優先
順位割当て方法の説明図、」に訂正する。 10、同帯同頁第11行の、「レジスタ、」を「レジス
タの説明図、」に訂正する。 11、同書同頁第16行の、「プレマイクスレジスタ」
をrVMCPのプレマイクスレジスタ」に訂正する。 +2.同書第62頁第4行のrl 010’・・・・・
VICPのPXRJを削除する。 13、同書同頁第19行ないし第20行のr1082・
・・・・スタ、」を削除する。 14、同書第64頁第12行のrccw群、2810・
・・・・7M上のO8」をrccw変換情報、2810
・・−・−VM上(7)O3またはVMCPの」に訂正
する。

Claims (1)

  1. 【特許請求の範囲】 1、少くも1つのオペレーティングシステム(O8) 
    t’lむの実計、4俄7ステム(ホストシステムノのF
    で同時に走行させることの工きる咳;シ計11−6’/
    スfム(VM8)と1.JVM8に制御するU埋プログ
    ラム(VMCP) t−有する7ステム暫こdいて、該
    ホストシステムの入出力装置11対応に、そnがるる特
    定のO8に専有さnているか台かt判断するステップと
    、O8から発行された人出力装置起動停と以外の工0岐
    令に対して、該工0繍令の指定する入出力装置が、現走
    行O8に専有されている場合は、該IO命令で1該人出
    力fe直に対して発行し、現走行O8に専・Hさ社てい
    lよいときは、VMCPvc割出すステップt−iする
    改想計Jl d ’/システム工0渠行方式。 2、gi項c/)VMSrC#いて、08(1)主記憶
    装置をホストシステムの上記1意装+t (実主記憶装
    置置)に1引硅させ、該O8の上記1意装置から該夷主
    起1意裟置へのアドレス対応関f/%金与えるアドレス
    変換手段(変換表1)と、O8が反意空間を生成すると
    きは、該O8の仮想アドレスから、該O8の上記11装
    置アドレスへのアドレス変換全行う手段(変換表2)を
    4L、該O8が該変換表2を#埋1、O8の走行中は、
    該O8の上記変換表1による対応関係金一定とするステ
    ップと、O8が入出力装置の■0動作fr:指箭する指
    令語(CCW)を作成して該人出力装置金起励5するた
    めのIO冷令fc発行したとき、該入出力装置が走行中
    のO8に占有されているかどうかを−flIIfrする
    ステップと、現走行O8に専有されている場合は、変換
    表1又は変換表2により、上記O8の作成したCCWの
    アドレスを該実主記憶装置のアドレスに変換して、それ
    iC接近し、該CCW内のデータアドレスを上記実主記
    憶装置のアドレスに変関しながら、それを実行していく
    ステップと現走行O8に専有されていlい場合は、VM
    CPに割出すステップを有する仮想計算機システムのI
    OO行方式。 3、第2項のVMSにおいて、10割込みに複数釉類の
    優先順位(割込優先順位)が存在し、工0割込み可能又
    は不可能を制御する手段(割込制御手段)が各割込優先
    順位対応に存在するとき、現走行O8のハードウェア割
    込情報を格納する領域(グレマイクス)のアドレスを記
    tliスる手段を有し、ひとつ又は複数の上記割込優先
    順位を特定のO8に専有させ、O8の走行中は該O8の
    専有する割込優先順位に対応する割込制御手段の制御内
    容(割込可能又は不可能の制御)を、該O8の対応する
    割込優先順位(仮想割込優先順位)の割込制御手段(仮
    想割込制御手段)の制御内容と一致させるステップと、
    走行中以外のO8の専有する割込優先順位に対応する割
    込制御手段の制御内容は、該O8の対応する仮想割込優
    先順位の割込可能又は不可能状態と一致するように設定
    するステップとこれと随意選択可能なステップで、該割
    込制御手段の+ffU御内存全内存荊込不町1走状態と
    して該ぎθ応援先順位に2ける■0刷込み不0]′能と
    するステップt=し、発生した■0刷込みが、現走行O
    8の専有入出力装置でかつ現走行O8の専有する割込優
    先順位よりのものである場合は、現走行O8のグレマイ
    クスアドレス記1意手段により現走行O8のグレマイク
    スをめ、そこへ該工0割込みを反映するステップと、上
    記以外のIOぎす込みである場合は、VMCPへ制御I
    glを渡すステップ金有する仮;(至)計算1幾システ
    ムのIOO行方式。 4、第3項のVMSに2いて、■0の動作モードを指定
    するフラグ(IOO接実行モードフラグ)を有し、該フ
    ラグが論理的に1の状態のとき、第3項に記載したIO
    O行方式を有効とし、該フラグが論理的に00状態のと
    き、O8下の全ての■0命令及び■0刷込みは、入出力
    装置及び割込優先順位の専有、非専有にかかわりlくV
    MCPへ、!u出すステップ金有する反、限計算機シス
    テムの■0実行方式。 5.1項又は、2項のVMSに2いて、OS (1) 
    i=定した人出力装ufアドレス(反5因入出力装瀘ア
    ドレス)から、ホストシステムでの入出力装置アドレス
    (実入出力装置アドレスンへの変換手段(変換表3)又
    は、O8の指定した割込優先順位(仮想割込優先順位)
    から実劇込凝先順位への変換手段(変換表4と呼ぶ)を
    O8対応に有し、O8から発行された■0命令に対して
    、指定された及悪人出力装置アドレスを該O8の上記変
    換表3を検索することにより実入出力装置アドレスに変
    換するステップ又は、O8から発行された10命令によ
    シ指定された仮想割込優先順位を、上記O8の変換表4
    を演索することによシ実刷込憂先順泣に変換するステッ
    プを有し、第1項又は第2項に示すIO動動作性行う仮
    想計算機システムのIO実行方式〇6、第5項に示すV
    MSに2いて、第3項に示す■0実行方式にお込て、専
    有光O8へ該IO刷込み情報を反映するとき、該10!
    iU込みの発生元の実入出力装置アドレスを、仮想入出
    力装置アドレスに変換し、それを該10割込の仮想割込
    優先順位を該O8に反映するステップを有する仮想計算
    機システムのIOO行方式。 7、第1項又は、第2項の、VMSにおいて、該工0の
    動作モードを指定するフラグ(IOアドレス等値モード
    フラグを有し、該フラグが論理的に0の状態のとき、第
    5項又は第6項に示す工0動作を行ない、該フラグが論
    理的に1の状態のとき、第5項又は第6項に示す入出力
    装置アドレス又は割込優先順位番号の変換を行なわず、
    仮想入出力装置アドレス又は仮想割込優先順位番号を、
    そのまま実入出力装置アドレス又は実割込優先順位番号
    として■0動作を行なう仮想計算機システムのIOO行
    方式。
JP59005587A 1984-01-18 1984-01-18 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム Expired - Lifetime JPH0619747B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP59005587A JPH0619747B2 (ja) 1984-01-18 1984-01-18 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
US06/691,909 US4885681A (en) 1984-01-18 1985-01-16 I/O Execution method for a virtual machine system and system therefor
DE8585100372T DE3586359T2 (de) 1984-01-18 1985-01-16 System und verfahren zum durchfuehren von ein-/ausgabeoperationen fuer ein virtuelles system.
EP85100372A EP0150039B1 (en) 1984-01-18 1985-01-16 I/o execution method for a virtual machine system and system therefor
US07/369,535 US5109489A (en) 1984-01-18 1989-06-21 I/o execution method for a virtual machine system and system therefor
US07/851,629 US5392409A (en) 1984-01-18 1992-03-16 I/O execution method for a virtual machine system and system therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59005587A JPH0619747B2 (ja) 1984-01-18 1984-01-18 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP5141747A Division JPH0711784B2 (ja) 1993-06-14 1993-06-14 計算機システム

Publications (2)

Publication Number Publication Date
JPS60150140A true JPS60150140A (ja) 1985-08-07
JPH0619747B2 JPH0619747B2 (ja) 1994-03-16

Family

ID=11615370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59005587A Expired - Lifetime JPH0619747B2 (ja) 1984-01-18 1984-01-18 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム

Country Status (4)

Country Link
US (2) US4885681A (ja)
EP (1) EP0150039B1 (ja)
JP (1) JPH0619747B2 (ja)
DE (1) DE3586359T2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6231437A (ja) * 1985-07-31 1987-02-10 Hitachi Ltd 仮想計算機システムの入出力制御方法
JPS6258341A (ja) * 1985-09-03 1987-03-14 Fujitsu Ltd 入出力割込処理方式
JPS62115547A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd 二重化システム・シミユレ−シヨン装置
JPH0216663A (ja) * 1988-07-05 1990-01-19 Nec Corp 情報処理装置
JPH02113339A (ja) * 1988-10-24 1990-04-25 Fujitsu Ltd 仮想計算機制御方式
US5187802A (en) * 1988-12-26 1993-02-16 Hitachi, Ltd. Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
US5499379A (en) * 1988-06-30 1996-03-12 Hitachi, Ltd. Input/output execution apparatus for a plural-OS run system
US6535943B1 (en) 1999-09-30 2003-03-18 Fujitsu Limited Information processing device enabling floating interrupt to be pending and a method executing an interrupt condition change instruction
JP2005353055A (ja) * 2004-05-27 2005-12-22 Internatl Business Mach Corp <Ibm> ページング可能モード仮想環境でのデータ転送を容易にするシステム、およびコンピュータ・プログラム
JP2012022694A (ja) * 2006-12-27 2012-02-02 Intel Corp パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61190638A (ja) * 1985-02-20 1986-08-25 Hitachi Ltd 仮想計算機のフアイル制御方式
JPH0664536B2 (ja) * 1986-01-17 1994-08-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 仮想端末サブシステムの制御方法
JPS63182749A (ja) * 1987-01-26 1988-07-28 Nec Corp 計算機システムのタイマ制御装置
JP2615103B2 (ja) * 1987-12-11 1997-05-28 株式会社日立製作所 仮想計算機システム
US5129064A (en) * 1988-02-01 1992-07-07 International Business Machines Corporation System and method for simulating the I/O of a processing system
US5201049A (en) * 1988-09-29 1993-04-06 International Business Machines Corporation System for executing applications program concurrently/serially on different virtual machines
EP0366416B1 (en) * 1988-10-24 1997-01-08 Fujitsu Limited An input and output processing system for a virtual computer
US5276815A (en) * 1988-10-24 1994-01-04 Fujitsu Limited Input and output processing system for a virtual computer
US5062037A (en) * 1988-10-24 1991-10-29 Ibm Corp. Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
US5341484A (en) * 1988-11-02 1994-08-23 Hitachi, Ltd. Virtual machine system having an extended storage
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5375213A (en) * 1989-08-29 1994-12-20 Hitachi, Ltd. Address translation device and method for managing address information using the device
US5488713A (en) * 1989-12-27 1996-01-30 Digital Equipment Corporation Computer simulation technique for predicting program performance
US5134580A (en) * 1990-03-22 1992-07-28 International Business Machines Corporation Computer with capability to automatically initialize in a first operating system of choice and reinitialize in a second operating system without computer shutdown
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
US5317754A (en) * 1990-10-23 1994-05-31 International Business Machines Corporation Method and apparatus for enabling an interpretive execution subset
JPH0776951B2 (ja) * 1990-10-30 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステム、複数の入出力アダプタによるアドレス空間共用システム、及び複数の入出力装置とコンピュータプロセッサ間の通信管理方
JP3093293B2 (ja) * 1991-02-08 2000-10-03 日本電気株式会社 情報処理装置の割り込み方式
US5301277A (en) * 1991-04-10 1994-04-05 Seiko Epson Corporation Method and apparatus for communicating peripheral data to/from minor operating systems running as subprocesses on a main operating system
JPH05216712A (ja) * 1991-10-23 1993-08-27 Internatl Business Mach Corp <Ibm> コンピュータシステムおよびこのコンピュータシステム上で内観的タスクを遂行する方法並びにi/oプロセッサアセンブリ
JP2677474B2 (ja) * 1992-01-14 1997-11-17 富士通株式会社 仮想計算機の制御情報収集装置および方法
JP3300407B2 (ja) * 1992-05-15 2002-07-08 富士通株式会社 仮想計算機システム
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5452455A (en) * 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5600805A (en) * 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5459838A (en) * 1992-09-24 1995-10-17 International Business Machines Corporation I/O access method for using flags to selectively control data operation between control unit and I/O channel to allow them proceed independently and concurrently
JPH0634649U (ja) * 1992-10-13 1994-05-10 房光 古賀 健康バンド
JPH0773046A (ja) * 1992-12-07 1995-03-17 Intel Corp コンピュータシステムで回路をエミュレートする 方法及び装置
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5761738A (en) * 1993-04-08 1998-06-02 International Business Machines Corporation Computer system which stores management or control information in different address space but same offset as corresponding data
US5781447A (en) * 1993-08-13 1998-07-14 Micron Eletronics, Inc. System for recreating a printed circuit board from disjointly formatted data
US5956680A (en) * 1995-06-02 1999-09-21 National Semiconductor Corporation Virtual audio generation and capture in a computer
US5845133A (en) * 1995-07-06 1998-12-01 Cyrix Corporation Virtualized functions within a microprocessor
US5996026A (en) * 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
DE19535546B4 (de) * 1995-09-25 2004-04-08 Siemens Ag Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
US5799169A (en) * 1995-10-02 1998-08-25 Chromatic Research, Inc. Emulated registers
US5838987A (en) * 1995-10-06 1998-11-17 National Semiconductor Corporation Processor for eliminating external isochronous subsystems
US5786825A (en) * 1995-12-13 1998-07-28 National Semiconductor Virtual display subsystem in a computer
US6453392B1 (en) 1998-11-10 2002-09-17 International Business Machines Corporation Method of and apparatus for sharing dedicated devices between virtual machine guests
US6401145B1 (en) 1999-02-19 2002-06-04 International Business Machines Corporation Method of transferring data using an interface element and a queued direct input-output device
US6519645B2 (en) 1999-02-19 2003-02-11 International Business Machine Corporation Method and apparatus for providing configuration information using a queued direct input-output device
US6345326B1 (en) 1999-02-19 2002-02-05 International Business Machines Corporation Computer program device and product for timely processing of data using a queued direct input-output device
US6339801B1 (en) 1999-02-19 2002-01-15 International Business Machines Corporation Method for determining appropriate devices for processing of data requests using a queued direct input/output device by issuing a special command specifying the devices can process data
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
US6345325B1 (en) 1999-02-19 2002-02-05 International Business Machines Corporation Method and apparatus for ensuring accurate and timely processing of data using a queued direct input-output device
US6345324B1 (en) 1999-02-19 2002-02-05 International Business Machines Corporation Apparatus for transferring data using an interface element and a queued direct input-output device
US6976083B1 (en) 1999-02-19 2005-12-13 International Business Machines Corporation Apparatus for providing direct data processing access using a queued direct input-output device
US6397350B1 (en) 1999-02-19 2002-05-28 International Business Machines Corporation Method of providing direct data processing access using a queued direct input-output device
US6697854B1 (en) 1999-02-22 2004-02-24 International Business Machines Corporation Method and apparatus for providing configuration information using a SIGA vector and utilizing a queued direct input-output device
US7181600B1 (en) * 2001-08-02 2007-02-20 Mips Technologies, Inc. Read-only access to CPO registers
US7634638B1 (en) * 2002-10-22 2009-12-15 Mips Technologies, Inc. Instruction encoding for system register bit set and clear
JP2004258840A (ja) * 2003-02-25 2004-09-16 Hitachi Ltd 仮想化されたi/oデバイスをもつ計算機システム
US7281075B2 (en) * 2003-04-24 2007-10-09 International Business Machines Corporation Virtualization of a global interrupt queue
US7130949B2 (en) * 2003-05-12 2006-10-31 International Business Machines Corporation Managing input/output interruptions in non-dedicated interruption hardware environments
US7434210B1 (en) * 2004-03-02 2008-10-07 Sun Microsystems, Inc. Interposing library for page size dependency checking
US7278122B2 (en) * 2004-06-24 2007-10-02 Ftl Systems, Inc. Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization
JP4788124B2 (ja) * 2004-09-16 2011-10-05 株式会社日立製作所 データ処理システム
US7849327B2 (en) * 2005-01-19 2010-12-07 Leung Hin L Technique to virtualize processor input/output resources
US8347063B2 (en) * 2005-08-19 2013-01-01 Intel Corporation Method and system for device address translation for virtualization
US20080234998A1 (en) * 2007-03-22 2008-09-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Coordinating instances of a thread or other service in emulation
US20080235000A1 (en) * 2007-03-22 2008-09-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Implementing security control practice omission decisions from service emulation indications
US9378108B2 (en) * 2007-03-22 2016-06-28 Invention Science Fund I, Llc Implementing performance-dependent transfer or execution decisions from service emulation indications
US20080235001A1 (en) * 2007-03-22 2008-09-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Implementing emulation decisions in response to software evaluations or the like
US8874425B2 (en) 2007-03-22 2014-10-28 The Invention Science Fund I, Llc Implementing performance-dependent transfer or execution decisions from service emulation indications
US8438609B2 (en) * 2007-03-22 2013-05-07 The Invention Science Fund I, Llc Resource authorizations dependent on emulation environment isolation policies
US8495708B2 (en) * 2007-03-22 2013-07-23 The Invention Science Fund I, Llc Resource authorizations dependent on emulation environment isolation policies
US9558019B2 (en) 2007-03-22 2017-01-31 Invention Science Fund I, Llc Coordinating instances of a thread or other service in emulation
US8478578B2 (en) * 2008-01-09 2013-07-02 Fluential, Llc Mobile speech-to-speech interpretation system
JP5352848B2 (ja) * 2008-11-28 2013-11-27 株式会社日立製作所 仮想計算機の制御方法及び計算機装置
JP4961459B2 (ja) * 2009-06-26 2012-06-27 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムにおける制御方法
JP2011118578A (ja) * 2009-12-02 2011-06-16 Renesas Electronics Corp 情報処理装置
US9075661B2 (en) * 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US9026441B2 (en) 2012-02-29 2015-05-05 Nant Holdings Ip, Llc Spoken control for user construction of complex behaviors
US9230560B2 (en) 2012-10-08 2016-01-05 Nant Holdings Ip, Llc Smart home automation systems and methods
CN107918555B (zh) * 2017-11-23 2021-07-23 北京百度网讯科技有限公司 基于物理主机的用于处理数据的方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3829839A (en) * 1972-07-24 1974-08-13 California Inst Of Techn Priority interrupt system
JPS53142137A (en) * 1977-05-18 1978-12-11 Hitachi Ltd Memory control unit
US4285040A (en) * 1977-11-04 1981-08-18 Sperry Corporation Dual mode virtual-to-real address translation mechanism
JPS6013501B2 (ja) * 1978-09-18 1985-04-08 富士通株式会社 仮想計算機システムにおけるチヤネルアドレス制御方式
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
US4456954A (en) * 1981-06-15 1984-06-26 International Business Machines Corporation Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations
EP0072107B1 (en) * 1981-08-03 1989-05-31 International Business Machines Corporation Peripheral sub-systems accommodating guest operating systems
US4533996A (en) * 1982-02-23 1985-08-06 International Business Machines Corporation Peripheral systems accommodation of guest operating systems
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6231437A (ja) * 1985-07-31 1987-02-10 Hitachi Ltd 仮想計算機システムの入出力制御方法
JPS6258341A (ja) * 1985-09-03 1987-03-14 Fujitsu Ltd 入出力割込処理方式
JPS62115547A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd 二重化システム・シミユレ−シヨン装置
US5499379A (en) * 1988-06-30 1996-03-12 Hitachi, Ltd. Input/output execution apparatus for a plural-OS run system
JPH0216663A (ja) * 1988-07-05 1990-01-19 Nec Corp 情報処理装置
JPH02113339A (ja) * 1988-10-24 1990-04-25 Fujitsu Ltd 仮想計算機制御方式
US5187802A (en) * 1988-12-26 1993-02-16 Hitachi, Ltd. Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
US6535943B1 (en) 1999-09-30 2003-03-18 Fujitsu Limited Information processing device enabling floating interrupt to be pending and a method executing an interrupt condition change instruction
JP2005353055A (ja) * 2004-05-27 2005-12-22 Internatl Business Mach Corp <Ibm> ページング可能モード仮想環境でのデータ転送を容易にするシステム、およびコンピュータ・プログラム
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US8196139B2 (en) 2004-05-27 2012-06-05 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US8495633B2 (en) 2004-05-27 2013-07-23 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US9086905B2 (en) 2004-05-27 2015-07-21 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US9323560B2 (en) 2004-05-27 2016-04-26 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US10223300B2 (en) 2004-05-27 2019-03-05 International Business Machines Corporation Set buffer state instruction
US10698845B2 (en) 2004-05-27 2020-06-30 International Business Machines Corporation Set buffer state instruction
JP2012022694A (ja) * 2006-12-27 2012-02-02 Intel Corp パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換

Also Published As

Publication number Publication date
EP0150039A3 (en) 1988-07-06
EP0150039B1 (en) 1992-07-22
EP0150039A2 (en) 1985-07-31
DE3586359T2 (de) 1993-01-07
US5109489A (en) 1992-04-28
DE3586359D1 (de) 1992-08-27
US4885681A (en) 1989-12-05
JPH0619747B2 (ja) 1994-03-16

Similar Documents

Publication Publication Date Title
JPS60150140A (ja) I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
US9817580B2 (en) Secure migratable architecture having improved performance features
CN101606130A (zh) 在处理器系统的指令级使能资源分配标识的方法和装置
JPS61190638A (ja) 仮想計算機のフアイル制御方式
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
CN101261577A (zh) 微处理器以及在微处理器中存储数据的方法
TW201732607A (zh) 用於輸入/輸出裝置之可縮放虛擬化的位址轉譯
US11036666B2 (en) Asynchronous mapping of hot-plugged device associated with virtual machine
US10671419B2 (en) Multiple input-output memory management units with fine grained device scopes for virtual machines
US20190227729A1 (en) Two Stage Command Buffers To Overlap Iommu Map And Second Tier Memory Reads
CN111651269A (zh) 实现设备虚拟化的方法、装置及计算机可读存储介质
US20170277632A1 (en) Virtual computer system control method and virtual computer system
JPH0496828A (ja) 多重絶対アドレス空間構成方法および装置
CN106293994A (zh) 网络文件系统中的虚拟机克隆方法和网络文件系统
CN115686889B (zh) Jailhouse基于ACPI使用Ivshmem的方法
CN114080587A (zh) 输入-输出存储器管理单元对访客操作系统缓冲区和日志的访问
JP2933628B2 (ja) 主記憶装置管理方法および計算機システム
JPH0548500B2 (ja)
US7219206B1 (en) File system virtual memory descriptor generation interface system and method
US11281607B2 (en) Paravirtualized cluster mode for legacy APICs
JP5963313B2 (ja) 情報処理装置、方法、及び、プログラム
KR102544401B1 (ko) 어드레스 트랜슬레이션 캐시 및 이를 포함하는 시스템
JPH0754469B2 (ja) 仮想計算機システムのための入出力命令実行装置
JPH0659919A (ja) 計算機システム
Umeno et al. New methods for realizing plural near-native performance virtual machines

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term