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

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

Info

Publication number
JPH0619747B2
JPH0619747B2 JP59005587A JP558784A JPH0619747B2 JP H0619747 B2 JPH0619747 B2 JP H0619747B2 JP 59005587 A JP59005587 A JP 59005587A JP 558784 A JP558784 A JP 558784A JP H0619747 B2 JPH0619747 B2 JP H0619747B2
Authority
JP
Japan
Prior art keywords
interrupt
sub
running
instruction
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP59005587A
Other languages
English (en)
Other versions
JPS60150140A (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 JP59005587A priority Critical patent/JPH0619747B2/ja
Priority to US06/691,909 priority patent/US4885681A/en
Priority to EP85100372A priority patent/EP0150039B1/en
Priority to DE8585100372T priority patent/DE3586359T2/de
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)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は仮想計算機システム(VMS)の高速化方式に
係り、特に、VMSのI/Oシミユレーシヨンオーバヘ
ツドの削減の方式に関する。
〔発明の背景〕
第1図に実計算機システム10000の主構成図を示
す。1000は中央処理装置CPU、2000は主記憶
装置、3000は入出力プロセツサIOP、4000は
入出力制御装置IOCである。100は、CPU100
0と、主記憶装置2000との間の信号線、200は、
CPU1000とIOP3000との間の信号線、30
0は、IOP3000と主記憶装置2000との間の信
号線、400は、IOP3000と、IOC4000と
の間の信号線である。この実計算機システム10000
は、主記憶装置2000上のオペレーテイングシステム
(OS)のシステム全体のリソース(CPU、主記憶装
置、入出力装置)管理により、制御され動作しているも
のである。
これに対して、仮想計算機システム(VMS)での構成
図を第2図に示す。実計算機システム10000は第1
図と、ハードウエア構成(CPU、主記憶装置、入出力
装置)は変らないが、主記憶装置2000上に、VMS
の制御プログラムVMCP(又は単にCPともいう)が
存在する点が異なる。このVMCPのハードウエアシミ
ユレーシヨン機能により、論理的な計算機(バーチヤル
マシンVMという)が複数台論理的に実現される。各V
M、即ち、10000−1(VM1),10000−2
(VM2),10000−3(VM3)は、実計算機シ
ステム(ホストシステムと呼ぶ)10000と同じハー
ドウエア構成をもつものとして論理的に実現される。各
VMの主記憶装置2000−N(N=1,2,3)上に
は、各VMを制御し、動かすOS−Nが存在し、この複
数のOSが1台のホストシステムの下で同時に走行して
いることを示すものである。第2図の各VMにおけるハ
ードウエア構成(CPU、主記憶装置、IOP、IO
C)は、VMCPにより論理的に実現されるものである
が、それらの実体の大部分は、ホストシステムの対応す
るハードウエア構成上に存在する。例えば、VMの主記
憶装置は、ホストシステムの主記憶装置2000の一部
分を専有することもあり、又、共有することもあり、
又、VMの入出力装置は、ホストシステムの入出力装置
をVM間で共有することもあり、又、いくつかの入出力
装置を専有することもある。あるいは、ホストシステム
上に対応する入出力装置がなく、全く仮想的にVMCP
により擬似されて、実現される場合もある。いずれにせ
よ、各VMの主記憶装置2000−N(N=1,2,
3)上のOSからは、ホストシステムと同様のハードウ
エア構成(CPU、主記憶装置、IOP、IOC)が見
えることになる。ここで、注意すべきは、各VMのアー
キテクチヤ(OSからみたハードウエア構造及び機能)
は、ホストシステム10000のアーキテクチヤと多少
違つても良いということである。同様に、VM間でアー
キテクチヤが異なつてもかまわない。例えば、ホストシ
ステムの機械命令のセツトと、各VMの機械命令のセツ
トは、完全に同じでなくても良い。しかし、全く異なる
ものは、VMCPの負荷が大きくなり、又、ホストシス
テムのエミユレーシヨン機構が大きくなるので、本発明
におけるVMSの対象外とする。本発明で述べる仮想計
算機VMとは、その大部分の機械命令が、ホストシステ
ム上で、VMCPの介入によらず、ホストシステムの本
来の性能(実行速度)と等しい性能で直接実行されるこ
とも必要条件とする。又第2図では、VMは3台しか定
義していないが、一般には、何台あつても良く、その上
限は、ホストシステムのリソース容量と、各VMの性能
とのかねあいで決定される。ホストシステムも、特権状
態と非特権状態とを有し、システムに重大な影響を与え
る機械命令(例えばIO命令、システムの割込マスク変
更命令)は、特権命令と呼ばれ、特権状態でしか使用す
ることができない。これも周知である。
第3図にVMSの1台のVM(この図ではVM1)のメ
モリ階層を示す。2060は、VM1上のOS1が生成
する仮想空間であり、OS1は、VM1の主記憶装置2
000−1上に存在する。VM1の主記憶装置2000
−1は、ホストシステムの主記憶装置2002(ホスト
システムの主記憶装置2000は、第7図に示すように
ハードウエアシステムエリア2001と、プログラム可
能エリア2002とに分割されている。)上に写像され
る。この写像は、アドレス変換テーブル2010により
与えられる。第4図(a)に、このアドレス変換テーブル
2010(1)を示す。このアドレス変換表には、VM1
の主記憶装置2000−1上のアドレスv2に対応する
エントリに、対応する主記憶装置2002上のアドレス
rが記述されている。このアドレス変換テーブル201
0(1)の先頭アドレスは、VM1上のOS1が、その主
記憶装置2000−1上で動作している場合は、CPU
1000内の基本制御レジスタ群1100(第7図参
照)内のひとつの制御レジスタRATOR1110に格納されて
いる。この場合、アドレス変換テーブル2010(1)
は、ホストシステムの主記憶装置2002上に存在し、
その先頭アドレスも、ホストシステムの主記憶装置20
02のアドレスで記述されレジスタ1110に設定され
る。第3図における、2060は、VM1上のOS1の
生成する仮想空間であり、そこからVM1の主記憶装置
2000−1への写像は、OS1の管理するアドレス変
換テーブル2040により与えられる。第4図(b)は、
このアドレス変換テーブルの構成を表わしており、仮想
空間2060のアドレスv3の対応エントリに、対応す
るVM1の主記憶装置2000−1のアドレスv2が記
述されている。このアドレス変換テーブル2040の先
頭アドレスは、VM1のOS1が、その仮想空間206
0上で動作しているとき、CPU1000の基本制御レ
ジスタ群1100(第7図参照)の中のひとつの制御レ
ジスタVATOR1120に格納されている。ただし、この
場合、アドレス変換テーブル2040は、OS1の主記
憶装置2000−1上に存在するため、その先頭アドレ
スも、OS1の主記憶装置2000−1のアドレスで記
述される。アドレス変換テーブル2010(1)(変換表
Aとよぶ)は、VMCPが各VM用に管理、更新するテ
ーブルであり、アドレス変換テーブル2040(変換表
Bとよぶ)は、各VM上のOSが自分自身の仮想空間の
ために管理、更新するテーブルである。ここで、ホスト
システムの主記憶装置2002をレベル1メモリ、各V
Mの主記憶装置2000−N(N=1,2,3,…)を
レベル2メモリ、各VM上のOSが生成する仮想空間2
060(これは、一般に、OSは、複数空間生成する)
をレベル3メモリと総称することとする。仮想空間は一
般に一定の大きさ(例えば4KB)のページに分割さ
れ、このページ単位に主記憶装置へmappingされるこ
と、及び、いくつかの連続ページ(例えば256ページ
の1MB)をあつめて、1セグメントと呼ぶことは、周
知である。第3図における2020は、VMCPが、自
分自身の入出力(IO)動作を起動するために作成した
IO動作指令語(CCWと呼ぶ)群である。VMCP自
身は、レベル1メモリ上で動作するため、CCW群20
20は、レベル1メモリアドレスで作成されている。こ
れをレベル1CCWと呼ぶ。レベル1CCWは、アドレ
ス変換は不要で、IOの起動命令がレベル1CCWに対
してかかつた場合は、そのまま、IOP3000により
解釈され、IOC4000へ送られる。IOC4000
は、各CCWを各入出力装置に対して実行していくこと
になる。2030は、VM上のOSの用意したCCWで
あり、レベル2メモリアドレスで記述されているもので
ある。このレベル2CCWは、VM上のOSにより、作
られたものである。このCCWに対してVM上のOSか
らIO起動命令がかかつた場合は、VMCPが介入し
て、これをVMCPが等価なレベル1CCWに変換し
て、VMCP経由により、その等価なレベル1CCWを
用いてIO起動を行なう方法も考えられる。しかし、こ
れは、VMCPのオーバヘツドを増すこととなる。そこ
で、VMCPは介入するが、レベル2メモリからレベル
1メモリへのアドレス変換表(即ち、変換表A)201
0のアドレスを、IOP3000におしえ、IOP30
00(第7図参照)が、その変換表2010をみなが
ら、レベル2CCWの中のデータアドレス(これはレベ
ル2メモリアドレス)をレベル1メモリアドレスに変換
して実行していく方法が取られるようになつた。この方
法だと、VMCPの介入が削減され、オーバヘツドが削
減される。さて、VM上のOSは、大部分レベル3メモ
リ上で動作することが多く、従つて、VM上のOSの生
成するCCWも、レベル3メモリ上に存在することが多
い。第3図の2050は、レベル3メモリアドレスで生
成されたCCWすなわち、レベル3CCWを表わす。こ
のレベル3CCWに対してVM上のOSがIO起動命令
を発行した場合は、レベル2CCW2030の場合と同
様に、レベル3メモリからレベル2メモリへのアドレス
変換表(即、変換表B)のアドレスと、レベル2メモリ
からレベル1メモリへのアドレス変換表(即ち、変換表
A)のアドレスを、IOP3000(第7図)におし
え、IOP3000が、レベル3CCWのデータアドレ
ス(レベル3メモリアドレス)を、変換表Bによりレベ
ル2メモリアドレスに変換し、さらに、その結果を、変
換表Aにより、レベル1アドレスに変換することによ
り、当該CCWを実行して行く方法が取られる。
第4図(c)は、上記に述べたIOP3000(第7図)
におけるアドレス変換オーバヘツドを削減するために、
IOP3000内のローカルストレジに設けた、アドレ
ス変換バツフア3030である。アドレス変換バツフア
3030のフイールド1には、VMの番号VM♯が、フ
イールド2には、変換表Aの変換表Bの先頭アドレス
が、フイールド3には、その両者の区別フラグが、フイ
ールド4には、変換前のCCWデータアドレスが、フイ
ールド5には、変換後のレベル1メモリアドレスが記述
されている。IOP3000(第7図)はまず、このア
ドレス変換バツフアをみて、アドレス変換をし、次に、
ここにない場合は、変換表B、変換表Aをみてアドレス
変換を行ない、その結果を、この変換バツフア3030
に登録する。このアドレス変換バツフアは、IOP30
00内の高速ローカルストレンジにあり、主記憶装置2
002上の変換表B,Aを検索するよりも高速である。
ここで注意すべきは、レベル2CCW、レベル3CCW
及び、そのデータバツフアは、IO実行時には、いずれ
も、レベル1メモリ上に固定されていることが必要とい
うことである。さて、第5図は、ホストシステムの主記
憶装置2002の連続領域を分割して、各分割された領
域を、各VMの主記憶装置として専有して使用する方法
を表わしている。このようなVMを使用する場合は、V
Mの主記憶装置のアドレスに、一定のアドレス変位αを
加えれば、ホストシステムの主記憶装置2002のアド
レスとなることが分かる。第5図の場合は、VM1のア
ドレス変位はα、VM2のアドレス変位はαであ
る。このような場合は、レベル2メモリアドレスから、
レベル1メモリアドレスへの変換表2010は、201
0(2)に示すように、各VMの下限アドレス及び上限ア
ドレスを管理する表だけで充分である。この場合は、レ
ベル2CCWのアドレス変換は容易であり、レベル2C
CWのためのアドレス変換バツフア3030のエントリ
(すなわち、アドレス変換バツフア3030のフイール
ド3が0のエントリ)は不要である。そのかわり、第5
図に示す、変換表2010(2)をIOP3000(第7
図)内のローカルストレジに取込み、VM♯により、ア
ドレス変位αをもとめ、その加算により、アドレス変換
(レベル2メモリアドレス→レベルメモリアドレス変
換)を行なう方法も取られている。第3図に示すVMの
主記憶装置全体がホストシステムの主記憶装置2002
に常駐化され、固定されているか、又は、第5図に示す
ようなホストシステムの主記憶装置のある連続領域を専
有するようなVMに対しては、高速VMモードがサポー
トされている。高速VMモードでは、VM上のOSの発
行する大部分の特権命令が、直接実行(VMCPを経由
せずホストシステムと同程度の性能を有する実行方式)
される。しかし、VM上のIO命令は、以下に示すよう
に、VMCPの介入を必要としている。
さて、実際に、VM上のOSの発行したIO起動命令
が、どのようにして、VMCPにより実行されるかを第
6図に示す。VM上のOSは、入出力装置と一対一に対
応するサブチヤネルの番号(サブチヤネル♯)を指定し
てIO起動命令を発行する。このサブチヤネル♯は、該
VM下のサブチヤネル♯であるので、仮想サブチヤネル
♯と呼ぶことにする。VMCPは、これを、対応する実
サブチヤネル♯に変換する。この対応は、VMの定義
時、決定されるものである。VMCPは、IO起動命令
を発行したVM上のOSが、どのレベルのCCWに対し
てIOを発行したかを調べる。通常、それは、IO起動
命令のオペランドにより示される。今、レベル3CCW
に対して、IO起動命令が発行されたとする。第6図
で、2810のCCW群がレベル3メモリ上のCCW群
であり、そのデータアドレスは、全てレベル3メモリア
ドレスである。VMCPは、このOSの生成したCCW
群2810に、2800のオペランドをつけてIO起動
命令を発行する。2800のオペランドには、CCWの
レベルを示すフイールドL、L=3のときは、変換表B
の先頭アドレスVATOR、及び、そのセグメントサイズS
S、ページサイズPSが記述されている。さらに、変換
表Aの先頭アドレスRATOR及び、そのセグメントサイズ
SS、ページサイズPSが記述され、CCW群2810
へのアドレスも記述されている。これらは、VMCPの
IO起動命令の発行により、線200経由でIOP30
00(第7図)に送られ、該当するサブチヤネルレジス
タ3011に基本情報が設定される。又、第7図に示
す、サブチヤネル制御ブロツク群2090の中の該当サ
ブチヤネル制御ブロツクの中にも同様の基本情報が記述
される(第10図サブチヤネル制御ブロツク2091参
照)。さて、IOP3000(第7図)は、このサブチ
ヤネル内のアドレス変換情報を使つて、OSの生成した
CCW群2810を、前述したごとく、アドレス変換し
ながら実行していくこととなる。
第7図は、従来のVMSにおけるハードウエア構成図と
IO実行に関するブロツク図を示したものである。CP
U1000の中には、ハードウエアの割込情報を含む領
域プレフイクス(PSA)のアドレスを含むプレフイク
スレジスタ1010、CPUの制御レジスタ群110
0、CPUの基本状態(割込制御ビツトや、次に実行さ
れる機械命令アドレス等)を含むプログラムステータス
ワードPSW1020が存在する。さらに、IO命令実
行回路1030や、IO割込回路1040、IO命令実
行用マイクロプログラム1050、IO割込処理用マイ
クロプログラム1060等が存在する。さらに、VMS
用のフラグとして、VMモードを表わすvビツトが10
90内に存在する。VM走行中は、VMCPにより、こ
のビツトを1にセツトする。又、前述した高速VMモー
ドフラグHも1090内に存在する。VMS制御フラグ
1090については、他の方式も考えられる。例えば、
VMCPのモード(ハイパバイザモード)とVMモー
ド、そして、VMモードの中で、高速VMモードと、一
般VMモードというフラグを設けることも考えられてい
る。いずれも大同小異であるので、従来例としては第7
図に示すものをあげる。IOP3000については、前
述したとおり、サブチヤネル制御ブロツク群2090及
び、サブチヤネルレジスタ群3010に含まれるアドレ
ス変換情報(第6図)により、マイクロプログラム30
20制御によつて、アドレス変換バツフア3030(第
4図−3参照)の情報を使用しながら、レベル3CCW
又はレベル2CCW(第3図参照)を実行して行くもの
である。第7図の主記憶装置2000は、ハードウエア
システムエリアHSA2001と、プログラム可能エリ
ア2002に分割される。HSA2001は、CPU1
000及びIOP3000が使用するハードウエア情報
が含まれており、その領域は、CPU及びIOPのマイ
クロプログラム1050,1060,3020でアクセ
ス、更新することはできるが、CPU1000の一般の
ユーザに開放された機械命令ではアクセスすることはで
きない。プログラム可能エリア2002は、上記機械命
令でアクセスすることができ、ここが、OS又は、VM
CPからみた主記憶装置領域となる。IO命令の中で、
IOの起動、停止等の入出力装置のオペレーシヨンを伴
うものは、その要求キユーという形で、IO要求キユー
2070にキユーイングされる。その実体は、第8図に
示すように、IO要求のある実サブチヤネル♯を含む制
御ブロツク2071をアドレスポインタでつないだもの
である。IO要求キユーへキユーイングした後、IOP
3000へ線200経由で起動信号が送られる。IOP
3000側は、HSA2001内のIO要求キユー20
70へアクセスし、順次要求キユーエレメント2071
を取出してIO要求処理を続行していくものである。
又、IO割込みは、IO割込要求キユー2080に、実
割込優先順位別にキユーイングされる。その構造を、第
9図に示す。割込優先順位は、0,1,2,3,4,
5,6,7の8種類あり、IO命令発行時、そのオペラ
ンドでサブチヤネル制御ブロツク群2090(第7図)
の中の各サブチヤネル制御ブロツクは、実サブチヤネル
♯の順番にならべられており、その実サブチヤネル♯に
より、一意に存在位置を求めることができる。このサブ
チヤネル制御ブロツク群2090の先頭アドレスは、C
PU1000(第7図)の制御レジスタ群1100の中
のひとつの制御レジスタに設定されている。割込優先順
位は、各サブチヤネルに対して指定することが可能であ
る。さて、各VM上のOSが、サブチヤネル♯及び、割
込優先順位(0〜7のいづれかひとつ)を指定してIO
命令を発行したとする。このとき、第7図におけるVM
モードビツト1090が1であるから、IO命令実行用
μp1050により、このビツトが1のとき、VMCP
へ制御を渡す。これは、VMCPのPSA2100の中
の新PSWにより、一種の割込みとして、VMCPへ制
御が渡される。そのVMCPのPSAのアドレスは、V
Mの起動時、VMCP用プレフイクスレジスタ1010
(第7図)に設定されているので、それを参照する。
さて、VMCPは、VM上のOSの指定したサブチヤネ
ル♯を仮想サブチヤネル♯と見て、それを実サブチヤネ
ル♯に変換して、実サブチヤネルの状態を管理し、もし
可能であれば、(第6図に示すアドレス変換情報280
0を指定して)IO命令をVM上のOSにかわつて発行
する。
このとき、VM上のOSの指定した割込優先順位は、仮
想割込優先順位であるが、それをそのまま実仮想割込優
先順位として、IO命令を発行する。したがつて、各実
割込優先順位をVM上のOS間で共有することになる。
したがつて第9図におけるIO割込要求キユー2080
の各実割込優先順位のキユーの中には、各VM上のOS
のサブチヤンネルからのIO割込要求が混在してキユー
イングされることとなる。
VM上のOSからのIO命令の実行をVMCPが介入す
る理由は、以下のとおりである。
(i)VM上のOS上の指定した仮想サブチヤンネル♯を
実サブチヤンネル♯に変換しなければならないこと。
(ii)実サブチヤンネルを各VM上のOS間で共有する場
合があるので、その間のサブチヤンネルスケジユールが
必要であること。
次に、第11図にIO割込の制御方法について示す。各
サブチヤンネルからのIO割込要求は、IOP3000
により検出され、対応するサブチヤンネル制御ブロツク
がIO割込要求キユー2080にキユーイングされる
(第7図参照)。そのIO割込要求キユーの構造は第9
図に示すとおり、実割込優先順位別にキユーイングされ
る。この時、第11図に示す対応する実割込保留レジス
タ−1042のビツトが1にセツトされる。割込保留レ
ジスタ1042のビツトと対応する実割込優先順位マス
クレジスタ1041のビツトが共に1でかつ、PSW1
020IOマスクが1のとき該当する実割込優先順位に
対してIO割込が起動されIO割込処理用マイクロプロ
グラム1060に制御が渡される。以上の動作は第11
図に示すハードウエア回路により実現される。
さて、VMSにおいては、前述したように、各実割込優
先順位が、VM上のOS間で共有されるので、VM走行
中は実割込優先順位マスクレジスタ1041の各ビツト
は各VM上のOSの割込優先順位マスク値のORを取つ
た値又は、1にセツトして、常に割込可能としておく。
さらに、この場合PSW1020のIOマスクも1に設
定しておく。こうすることにより、サブチヤンネルから
のIO割込要求によつて、実割込保留レジスタ1042
のあるビツトが1になると、ANDゲート群1046の
内の対応する1つのANDゲートの出力が1となり、従
つてORゲート1043の出力が1となり、ANDゲー
ト1044の出力が1となつて第11図に示すIO割込
回路によつて、ただちにIO割込処理用マイクロプログ
ラム1060が起動される。そのIOマイクロプログラ
ム1060は、該当する実割込優先順位上のIO割込要
求キユー(第9図)にキユーイングされているサブチヤ
ンネルをキユーより取りはずして割込をVMCPのプレ
フイツクスに反映する。このとき、当該実割込優先順位
の割込要求キユーが空になれば当該実割込優先順位の実
割込保留レジスタ1042のビツトを0とする。これに
よりその割込保留がクリアされる。VMCPへ割込反映
することにより、VMCPのIO割込処理プログラムへ
制御が渡される。その時、IO割込パラメータとして当
該IO割込を発生した実サブチヤンネル♯および該当V
M♯もVMCPに渡される。VMCPはこのIO割込み
を該当VMに反映するために、以下の処理を行う。
(i)実サブチヤンネル♯を仮想サブチヤンネル♯に変換
する。
(ii)該当VMの割込優先順位マスクレジスタとそのPS
WのIOマスクを調べ、それがIO割込可能であるか否
かを判断する。
(iii)該当VMが割込可能であるとき、そのVMのプレ
フイツクスPSAに割込を反映する。
(iv)該当VMが割込不可能であるときは、VMCPで当
該割込を保留する。
このように、実割込優先順位をVM間で共有するため
に、そのマスクを、各VMの該当するマスク値のORを
とつた値に(通常1)設定しなければならない。このた
め、当該VMでは割込不可能な順位に対してもVMCP
に割込が入る場合が有り、その時はVMCPで当該IO
割込を保留することとなる。このため、以後当該サブチ
ヤンネルに対するIO命令に対しては、必ずVMCPの
介入によるシミユレーシヨンが必要となる。
以上によつて示したとおり、従来の仮想計算機システム
におけるVM上のOSのIO実行においては、IOPに
よるレベル3CCWおよびレベル2CCWの直接実行の
機能は存在するけれども必ずVMCPが介入して、その
シミユレーシヨンが必要である。このため、IO発行頻
度の高い負荷に対しては、VMCPのシミユレーシヨン
オーバーヘツドが大きくなる。
〔発明の目的〕
本発明の目的は、従来技術で述べたような、VM上のO
SのIO命令、及び、IO割込みのVMCPによるシミ
ユレーシヨンオーバーヘツドを削減し、VM上のIO命
令、及び、IO割込みのハードウエア及びマイクロプロ
グラムによる直接実行をサポートすることにある。
〔発明の概要〕
本発明の概要は以下のとおりである。VM上のOSのI
O命令及IO割込に対して、VMCPが介入する理由
は、従来技術でも述べたように以下のとおりである。
(i)仮想サブチヤンネル♯と実サブチヤネル♯との間の
変換が必要なこと。
(ii)実サブチヤネルをVM上のOS間で共有する場合が
あり、サブチヤネルスケジユールが必要であること。
(iii)実割込優先順位をVM間で共有することがあるの
で、その割込制御マスクを、各VM上のOSの割込制御
マスク値のORを取つた値にセツトしなければならず、
そのため、VMCPによるVMのIO割込保留が発生す
ること。これを防ぎハードウエア側でIO割込を保留す
るためには、各VM用の割込制御マスクレジスタを用意
しなければならず、割込保留レジスタも又、各VM対応
に用意しなければならなくなり、ハードウエア量が大き
くなりすぎて得策ではない。以上を解決するため本発明
では以下の方式を取る。
(i)仮想サブチヤネル♯から実サブチヤネル♯への変換
表をVMCPが用意し、IO命令実行用マイクロプログ
ラムにより、これを使用して変換する。
(ii)実サブチヤネル制御ブロツクの中に、VM情報領域
を設け、ここに、仮想サブチヤネル♯と変換後の実サブ
チヤネル♯との対応を記述する。
(iii)実サブチヤネル制御ブロツクのVM情報領域の中
に、状態フイールドを設け、専有サブチヤネルか否かを
示すフラグを設ける。このフラグは、VMCPによるサ
ブチヤネル専有指定時、あるいは、VMの定義情報でサ
ブチヤネル専有指定がある場合は、VMの定義時に、設
定されるものである。このフラグが1のときは、当該V
Mに専有されたサブチヤネルがあるので、VMCPによ
るサブチヤネルスケジユールは不要である。
(iv)実割込優先順位をVMに専有させることにより、そ
の優先順位における割込要求キユーの中には、専有元V
MのIO要求のあつたサブチヤネルのみがキユーイング
されることになり、その実割込優先順位でのVMの混在
は、避けることができる。さらに、その専有された、実
割込優先順位の割込制御マスクは、専有元VM上のOS
の対応する割込制御マスクの値と一致させることにす
る。これにより、VM上のOSの割込優先順位の割込制
御マスクが0のため割込不可能である場合は、対応する
実割込優先順位の割込制御マスクも0であるため、ハー
ドウエアの割込も発生せず、従つて、ハードウエアによ
り割込が保留され、VMCPによるVMのIO割込保留
という事象を避けることができる。
以上の方式をサポートするため、実割込優先順位の種類
を増加し、VMによる実割込優先順位の専有を可能とす
ることにする。
〔発明の実施例〕
以下に本発明の実施例を示す。第12図に、本発明の実
施例の全体図を示す。
CPU1000′の各構成要素は、従来例の第7図と同
じであるが、やや機能が大きくなつているものがある。
HSA2001の中には、従来例の第7図と同じものも
存在する。(IO要求キユー2070、IO割込要求キ
ユー2080、実サブチヤネル制御ブロツク群209
0′)。しかし、プレフイクス管理表2300、変換表
アドレス管理表2400、VM管理表2700は新規の
情報である。
プログラム可能エリア2002には、従来例の第7図と
同じもの(VMCPのPSA2100,VM1のPSA
2110,VM2のPSA2120,他のVMのPSA
も同様に存在しても良い,VMCP2200、レベル2
メモリからレベル1メモリへのアドレス変換テーブル群
2010、レベル3メモリからレベル2メモリへのアド
レス変換テーブル群2040)も存在する。しかし、割
込優先順位♯変換テーブル2500、サブチヤネル♯変
換テーブル群2600は新規の情報である。IOP30
00′は、従来例第7図のIOP3000と同様の構成
であるが、やや機能が大きくなつている。以下に先ず、
HSA2001及びプログラム可能エリア2002に含
まれる新規情報について説明する。
第13図にプレフイクス管理表2300を示す。これ
は、VMCPのPSAアドレス、VM1のPSAアドレ
ス、VM2のPSAアドレス、VM3のPSAアドレス
を含む。第13図では、VM3までしか示していない
が、もつとも多くのVMのPSAが登録されていても良
い。このPSAのアドレスは、CPU1000′のμプ
ログラムが参照するものであり、プログラム可能エリア
2002のホストシステムにおけるアドレスが記述され
ている。この各VMのPSAアドレスは、VMの起動
時、起動専用命令のオペランドのひとつとして与えら
れ、その命令の処理時、プレフイクス管理表2300の
該当エントリに格納される。このプレフイクス管理表2
300の先頭アドレスは、CPU1000′の制御レジ
スタ群1100′の中のひとつに格納される(第12図
参照)このプレフイクス管理表はオプシヨンであり必須
ではない。どういう時に使用されるかは後述する。次に
第14図に変換表アドレス管理表2400を示す。この
アドレス管理表2400は、サブチヤネル♯変換テーブ
ル2600の先頭アドレスと、割込優先順位♯変換テー
ブル2500の先頭アドレスを、各VM対応に管理して
いるものである。変換表アドレス管理表2400の先頭
アドレスも又、CPU1000′の制御レジスタ群11
00′の中のひとつに格納されている。サブチヤネル♯
変換表2600、割込優先順位変換表2500の検索方
法は、第14図に示すとおりである。すなわち、仮想サ
ブチヤネル♯(2バイトからなる)を、D0・256+
D1に分解し、先ず、アドレス管理表2400の該当エ
ントリの内容が指し示す前段のテーブル2601を、D
0により検索する。前段テーブル2601のD0番目の
エントリには、後段テーブル2602のアドレスが設定
されており、その後段テーブル2602のD1番目のエ
ントリを検索する。そこに、対応する実サブチヤネル♯
D0′・256+D1′が求められる。仮想割込優先順
位♯の変換は、変換表2500の該当エントリを読み出
すのみで対応する実割込順位♯に変換される。サブチヤ
ネル♯変換表2600、割込優先順位変換表2500
は、VMCPのコマンドによる指定時、又、VMの定義
情報の中から、VM定義時に、VMCPにより作られ、
VMの起動時、起動専用命令のオペランドにより指定さ
れ、その起動専用命令の処理時、変換表アドレス管理表
2400の該当エントリに格納される。この変換表26
00,2500,2400もオプシヨンであり必須では
ない。すなわち、VMSにおいて、本発明のIO実行方
式を用いるVMは、仮想サブチヤネル♯=実サブチヤネ
ル♯,仮想割込優先順位♯=実割込優先順位♯という制
限を守ることにすれば、これらの変換表は不要である。
第15図は、VM管理表2700の内容を示す。この中
には、該当VMの主記憶装置のサイズ(Z0,Z1,
…)と、そのレベル2メモリアドレスからレベル1メモ
リアドレスへのアドレス変換テーブル2010のアドレ
ス(RATOR0,RATOR1,…)が記述されている。これら
の情報は、VMの定義情報から得られるものであり、V
Mの起動専用命令により、HSA2001内のVM管理
表2700の該当エントリに格納される。VM管理表2
700の先頭アドレスも又、CPU1000′内の制御
レジスタ群1100′(第12図参照)のひとつに格納
される。HSA2001内の制御ブロツクの先頭アドレ
スが、CPU1000′内の制御レジスタ1100′に
格納されることは従来と同じである。もし、本発明のI
O実行方式をサポートするVMを第5図に示す、主記憶
装置2002上の連続領域を、その主記憶装置として専
有するようなVMだけに限定する場合は、その上下限を
定義した変換表2010(2)をもつて、このVM管理表
2700の代わりとすることも可能である。もし、第5
図の変換表2010(2)を使う場合は、この上下限アド
レスα,αi+1(i=1,2,3…)がVM起動命
令によつて指定され、その命令処理により、HSA20
01に、この変換表2010(2)の該当エントリが作ら
れることになる。第16図は、実サブチヤネル制御ブロ
ツク群2090′、その中の、ひとつの実サブチヤネル
制御ブロツク2091′及び、その中のVM情報領域2
092′を示す。VM情報領域2092′の中には、状
態フイールド、VM♯、仮想サブチヤネル♯、対応する
実サブチヤネル♯、仮想割込優先順位♯、対応する実割
込優先順位♯、CCWのアドレス変換情報2094が存
在する。状態フイールドには、このサブチヤネルが占有
されているか否か、このサブチヤネルがIO直接実行抑
止モードか否かを示すフラグが存在する。CCWのアド
レス変換情報2094は、従来のアドレス変換情報20
92(第10図参照)と同じ内容である。VMの定義時
VM定義情報から、又は、VMCPのコマンドによる指
定時、又は、IO命令の処理時、これらのVM情報領域
2092′内の情報が設定される。
実サブチヤネルの専有又は、実割込優先順位の専有は、
VMの定義時又は、VMCPコマンドにより指定され
る。この指令のとき、VM情報領域2092′の中の以
下のフイールドが設定される。
・状態フイールド2093内のサブチヤネル占有フラグ ・I/O直接実行モード抑止フラグは通常0にセツトさ
れ、I/O直接実行モードはサポート状態にされる。
・専有元のVM♯ ・仮想サブチヤネル♯と実サブチヤネル♯ ・CCWのアドレス変換情報2094の中で、当該専有
元VMの主記憶装置(レベル2メモリ)からレベル1メ
モリへのアドレス変換テーブルの先頭アドレス(RATOR第
4図(a)参照)これはもし、専有元VMが、第5図に示
す、主記憶装置を専有する場合は、その上下限α,α
i+1(i=1,2,3…)を設定するようにしても良
い。
共有サブチヤネルの場合は、これらの情報は、もし必要
なら、IO命令処理時に設定される。この場合は、IO
発行元VMのVM情報領域の該当フイールドに設定され
る。
第17図に、VM起動用の命令フオーマツトを示す。2
900がVM起動命令であり、2910は、そのオペラ
ンドである。オペランド2910の中には、当該VM
♯、VMのPSW、VMのPSAアドレス、サブチヤネ
ル♯変換テーブル2600(第14図)の先頭アドレ
ス、割込優先順位♯変換テーブル2500(第14図)
の先頭アドレス、当該VMの主記憶装置からホストシス
テムの主記憶装置へのアドレス変換テーブル2010
(第15図)の先頭アドレス(RATOR)(第4図(a)参
照))、当該VMの主記憶装置サイズ(この2つについ
ては、起動するVMが、第5図に示す、主記憶装置20
02の連続領域をVMの主記憶装置として使用する場合
はその上下限α,αi+1(i=1,2…)を指定し
ても良い。)等が記述されている。これらのオペランド
情報の中で、VMの走行用PSW、VMのPSAアドレ
ス及び実割込優先順位ステータス、及び、VMS制御フ
ラグ群は、VM起動時に決定されるが、その他の多くの
情報は、前述したとおりVMの定義情報により、VMの
定義時に決定されるものである。実割込優先順位ステー
タス、及び実割込優先順位専有ステータス、及びVMS
制御フラグ群は、後程説明する。これらのオペランド
は、VMCPにより設定される。VMの起動用命令につ
いては、必らずしも、第17図に示す形式でなくても良
い。ただ、オペランドとして、第17図に示すような情
報が必要である。第18図はVMS制御レジスタ群10
80を表わす。レジスタ1081は、現走行VMのVM
♯を含み、VM起動命令により設定される。このレジス
タの内容は、VM起動命令のオペランド2910(第1
7図)のひとつのフイールドの内容で与えられる。第1
9図は、VMS制御フラグ群1090′(第12図参
照)を示す。これらのフラグは、VM起動命令のオペラ
ンド(第17図)のひとつのフイールドで初期値が与え
られる。各フラグの意味は以下のとおりである。
V:VM走行時1とする。VMCP走行時、又は、実計
算機モード時0となる。VM起動命令により1に設定さ
れ、割出し等で、VMCPに制御が渡されるとき、0に
セツトされる。これは従来のとおり(第7図でである。
H:VMの走行において、特権命令の直接実行が可能で
あるとき1をセツトする。このフラグが1のとき、VM
の走行における大部分の特権命令は、CPU1000′
の命令実行回路により直接実行される。H=1のとき高
速VMモードという。これも従来どおり(第7図参
照)。
R:VM上のOSに制限を与え、常に仮想サブチヤネル
♯=実サブチヤネル♯かつ常に、仮想割込優先順位♯=
実割込優先順位♯のとき、1をセツトする。これが1の
とき、μプログラムによるサブチヤネル♯変換処理、割
込優先順位♯変換処理を全て除外する。(このとき、第
14図に示す変換表類2400,2600,2500は
不要である。) D:本発明で可能となるVMのIO直接実行(VMCP
を介入しないことを意味する)を有効とするとき1とす
る。通常VMCPのVM起動命令により1に初期化され
る。
N:現走行VMが、共有割込優先順位に関する割込保留
要因を持ち(実際はVMCPが当該VM用に保留してい
るものである)、現走行VMの仮想割込優先順位マスク
に関しては割込可能であるものが存在する(従つて、当
該VMのPSWのIOマスクが0のため割込不可能とな
つている)とき、1に設定する。これは、仮想割込優先
順位に関しては割込可能な、VMのIO割込要求を調べ
る命令の実行時に使用する。これも、VMCPがVM起
動命令により初期化する。
第20図は、実割込優先順位のわりあて方法を示す。実
割込優先順位として、0〜31の32種類を考える。実
割込優先順位0は、最も優先順位が高いのでVMCP専
用とする。実割込優先順位1から、上昇順(割込優先順
位は下降順)に、VMの専有する実割込優先順位を各専
有元VMにわりあてる。共有割込優先順位については、
実割込優先順位31から下降順(割込優先順位は上昇
順)に各VMに割当てる。第20図における例では、V
M1の仮想割込優先順位0には、実割込優先順位1が割
当てられ、これを専有し、仮想割込優先順位1〜7に
は、実割込優先順位31が割当てられ、これをVM間で
共有することになる。VM2及びVM3についても第2
0図に示すとおりに割当てられる。VM1での仮想割込
優先順位は、実際には、0と(1〜7)の二種類に分け
られることとなる。従つて、VM1上のOSが、実効的
に使用できる実割込優先順位は二種類となる。これらの
OSに対する制限は、運用により許容することができる
ものである。どの割込優先順位を専有にするかは、各V
Mに対して、VMS全体の計画下で決定すべき問題であ
り、VMCPにより管理される。このようにして決定さ
れた実割込優先順位の専有,共有の状態は、VM起動命
令のオペランドで与えられ(第17図参照)、その命令
処理により実割込優先順位専有ステータスレジスタ10
49(第21図)に設定される。
第21図は、実割込優先順位マスクレジスタ104
1′、実割込保留レジスタ1042′、実割込優先順位
ステータスレジスタ1045及び実割込優先順位専有ス
テータスレジスタ1049を示している。このうち、レ
ジスタ1041′と1042′は従来例(第11図)に
も存在するが、ただ、そのビツト数を増加してある。こ
の例では、従来8ビツトであつたものを4倍の32ビツ
トに拡張してある。これは、実割込優先順位のVMにお
ける専有方式をサポートするためである。意味は同じで
あるので、説明は省略する。実割込優先順位ステータス
レジスタ1045の意味は以下のとおり。すなわち、ビ
ツトn(0〜31)が0の時、実割込優先順位nが現走
行VMに専有されていることを示す。そうでないとき
は、1にセツトされる。実割込優先順位専有ステータス
レジスタ1049の内容は以下のとおり。すなわち、ビ
ツトc(0〜31)が0のとき、実割込優先順位cがあ
るVMに占有されていることを意味し、ビツトcが1の
とき実割込優先順位cは共有であることを示している。
レジスタ1045,1049は、VM起動命令のオペラ
ンドにより初期設定される。実割込優先順位マスクレジ
スタ1041′は、VMCPにより管理、更新される。
実割込保留レジスタ1042′は、IOP3000′
(第12図)によりセツトされ、IO割込処理用マイク
ロプログラム1060′によりリセツトされる(第22
図)。
第22図は、本発明におけるIO割込回路1040′の
回路図である。この図では、簡単のために、実割込優先
順位が、10種類しかないように書いてあるが、実際
は、32種類あり、そのときの結線も、全く同様であ
る。さて、実割込優先順位c(c=0〜31)が、割込
保留要因をもつ(すなわち、IO割込要求キユー208
0の実割込優先順位cレベルのキユーに、割込要求もつ
サブチヤネルがキユーイングされ保留レジスタ104
2′の該当ビツトが1になつたとする)とする。このと
き、割込優先順位cが現走行VMに専有されているとき
は、実割込優先順位ステータスレジスタ1045の対応
ビツトは0となつているので、ORゲート群1048の
出力には、PSWのIOマスク値が出るから、PSW1
020のIO割込マスクが有効となる。従つて、対応す
る実割込優先順位マスクレジスタ1041′の対応ビツ
トが1でPSWのIOマスクが1のときのみ、ANDゲ
ート1047の該当出力が1となりIO割込みが起動さ
れ、IO割込処理マイクロプログラム1060′に制御
が渡される。割込優先順位cが、共有か又は、他VMに
専有されている場合は、レベル1045の対応ビツトは
1となつているので、ORゲート1048の該当出力は
1となりPSW1020のIOマスクに無関係となり、
対応する実割込優先順位マスクレジスタ1041′のビ
ツトが1であれば、IO割込みが起動される。マイクロ
プログラム1060′による割込処理後、当該割込優先
順位cの割込要求キユーが空になれば、保留レジスタ1
042′の該当ビツトは同マイクロプログラムにより0
クリアされる。
さて、以上にのべたハードウエア及びマイクロプログラ
ム及び、主記憶装置上の情報を用いて、VM上のOSの
IO命令及びIO割込みがどのように処理されるかを順
をおつて以下にのべる。
以下の2点を前提とし、VMは高速VMモードとする。
(i)VMの主記憶装置全体は、ホストシステムの主記憶
装置上に常駐化されているものとする。
(ii)VM上のOSのIO直接実行(VMCPの介入なし
の実行方法,IO割込みの直接実行も含む)は、専有サ
ブチヤネル、かつ、専有割込優先順位を有するサブチヤ
ネルに対してだけサポートする。
先ず、VMCPは、VMの起動時、第17図のVM起動
命令のオペランドの設定の他に、実割込優先順位マスク
レジスタ1041′のビツトcを以下のように設定する
(第21図)。
・実割込優先順位c(0〜31)が、現走行VMに専有
されているとき、対応するVM上のOSの仮想割込優先
順位(今簡単のために、ひとつだけと仮定する。以下同
様。)のマスク値を、ビツトcにセツトする。
・割込優先順位cが、他のVMに専有されているとき、
該VMの対応する仮想割込優先順位のマスク値と、該V
MのPSWのIOマスク値との論理積を、ビツトcにセ
ツトする。又は、当該割込優先順位cの割込みの遅れが
問題にならない場合は、ビツトcに0をセツトしても良
い。
・割込優先順位cが、VM間で共有される場合は、ビツ
トcには1をセツトする。
当該VMの走行中に、その仮想割込優先順位マスクを変
更しても、ただちに、実割込優先順位マスクレジスタ1
041′(第21図)に変更が反映される。そのため
に、OSの仮想割込優先順位マスク値の変更命令は、必
らず、VMCP経由でシミユレーシヨンするようにする
こともできるし、又は、CPUのμプログラム処理によ
り、当該変更をレジスタ1041′に反映しても良い。
それは従来と同じ。高速VMモードのVMを起動する場
合は、第17図のVM起動命令のオペランドのVM走行
用PSWには、VM自身のPSWが設定され、これが、
そのまま、CPU1000′のPSW1020(第12
図)に設定される。従つて、PSWのIOマスクは、走
行VMのIOマスクと一致させられる。VM走行中にお
けるOSのPSW変更は、ただちに、PSW1020に
反映されるので、この一致条件は満足される。そのため
に、OSのPSW変更命令は、直接実行により、CPU
1000′のPSW1020に反映されても良いし、
又、VMCP経由のシミユレーシヨンにより反映される
こともある。これは従来どおり。以上の設定が完了した
後、VM起動命令(第17図)により、VM上のOSに
制御が渡される。この命令の実行により、第18図の現
走行VM♯レジスタ1081、CPU1000′のPS
W1020(第12図)、第13図プレフイクス管理表
の該当エントリ、第14図の変換テーブルアドレス管理
表2400の該当エントリ、第15図のVM管理表の該
当エントリ、第21図の実割込優先順位ステータスレジ
スタ1045、第19図のVMS制御フラグ群が初期化
される。
さて、VM上のOSからIO命令が発行されたとする。
CPU1000′のIO実行回路1030′は、マイク
ロプログラム1050′の制御により以下の処理を行な
う。
(1)高速VMモードでないとき(VMS制御フラグH=
0第19図参照)は、VMCPへ割出す。このときは、
VMCPのプレフイクスレジスタ1010を使用して、
VMCPのPSA2100に割込みを反映することによ
り、VMCPへ割出す(第12図)。
(2)高速VMモード(VMS制御フラグH=1)のと
き、VMのIO直接実行モード(VMS制御フラグD=
1かどうか)か否かを判断する。(第19図)。
(3)D=0のときは、VMCPへ割出す。
(4)D=1のとき、VMS制御フラグRを判断する。R
=0のとき、該当する仮想サブチヤネル♯変換表260
0を検索して、与えられた仮想サブチヤネル♯を、実サ
ブチヤネル♯に変換する。もし、仮想割込優先順位♯が
命令オペランドで与えられたときは、割込優先順位♯変
換テーブルを検索し、実割込優先順位♯に変換する。こ
れと、実割込優先順位専有ステータスレジスタ1049
により、専有かどうかを判断し、サブチヤネル制御ブロ
ツクのVM情報領域2092′の状態フイールドに書き
込む(第16図)。
仮想割込優先順位♯と実割込優先順位♯との対応関係は
このとき書き込まれる。R=1のときは、変換は不要で
あるので、同じ値を書き込む。
(5)求めた実サブチヤネル制御ブロツク2091′(第
16図)が専有サブチヤネルでかつ、専有割込優先順位
を有する場合はIO命令を実行する。これ以後は、実計
算機システムにおける処理と同じで、非同期のIO装置
のオペレーシヨンを必要とする場合は、IO要求キユー
2070にサブチヤネルをキユーイングする(第8
図)。IO発行元には、条件コードと共に制御が返され
る。
(6)求めた実サブチヤネルが、共有サブチヤネル又は、
割込優先順位が共有の場合は、VMCPへ割出し、シミ
ユレーシヨンに委ねる。
(7)VM上のOSの発行したIO命令が、各仮想割込優
先順位上の割込可能(OSの仮想割込優位マスクに関し
て割込可能の意味)な、IO割込要求を調べる命令の場
合は、以下のように処理する。すなわち、先ず、現走行
VMの実専有割込優先順位に関して、割込要求を調べ
る。そのとき、もし、何も、IO割込要求がないとき
は、共有割込優先順位について調べる必要があるが、共
有割込優先順位に関する割込保留は全てVMCPが管理
するので、VMCPに制御を渡す必要性が発生する。し
かし、それは、直接実行の主旨に反するので、VMSの
制御フラグN(第19図)を用いる。N=1のときは、
調べるべきIO割込保留(共有割込優先順位、かつ、仮
想割込優先順位について割込可能)を、VMCPが管理
していることを示し、従つて、この場合は、VMCPへ
割出すこととする。N=0の時は、かかるIO割込保留
はないため、VMCPへ割出す必要はなくなり、直接実
行が可能となる。次にIO割込処理について述べる。
(1)IO装置からのIO割込要求は、IOP3000′
により検出され、対応する実サブチヤネル制御ブロツク
が、HSA2001内のIO割込要求キユー2080の
対応する実割込優先順位にキユーイングされる。(第9
図参照)。これは従来どおり。
(2)このとき、第22図に示す、IOP3000′は実
割込保留レジスタ1042′の該当ビツトを1にする。
これも従来どおり。
(3)実割込優先順位マスクレジスタ1041′は、前述
したように設定されている。第22図におけるIO割込
み回路の動作方法は前述したとおりである。これによ
り、IO割込みが起動され、IO割込処理用マイクロプ
ログラム1060′に制御が渡つたとする。
(4)このとき、割込みが起動された実割込優先順位が専
有化されている場合、実割込優先順位マスクレジスタ1
041′、実割込優先順位ステータスレジスタ1045
の設定方法により、その専有元VMは、対応する仮想割
込優先順位に関しては、必らず、割込可能となつてい
る。もし、その専有元VMが、割込不可能な場合は、P
SW1020のIOマスク、上記レジスタ1041′,
1045の働らきにより、当該実割込優先順位に関して
はIO割込みは起動されず、制御が1060′に渡され
ることはない。すなわち、ハードウエアにより保留され
たままである。
(5)IO割込μプログラム処理1060′は、以下の処
理を行なう。
(i)割込みを発生した実割込優先順位c上の、IO割込
要求キユー2080(第9図)の実サブチヤネルをキユ
ーより取りはずす。
(ii)VMS制御フラグ1090′(第19図)のVMモ
ードフラグビツトV及び高速VMモードフラグHを見、
V=0orH=0のときは、VMCPのPSAへ割込みを
反映する。この場合は、VMCPのP×R1010(第
12図)を使用する。
(iii)V=1&H=1のとき、VMのIO直接実行モー
ドDビツトをみる。D=0のとき、IO直接実行モード
でないので、VMCPのPSAへ割込みを反映する。
(iv)D=1のとき、以下の処理を行なう。
(1)実サブチヤネル制御ブロツク内の状態フイールド
(第16図)より、占有化されたサブチヤネルか判断
し、共有サブチヤネルの場合は、VMCPのPSAへ割
込みを反映する。
(ロ)割込を発生している実割込優先順位cが現走行VM
に専有されている場合、すなわち、実割込優先順位ステ
ータスレジスタ1045の該当ビツトが0のとき(第2
1図参照)、現走行VMのPSAに割込みを反映し、現
走行VMを続行する。このときは、VM用のプレフイク
スレジスタ1070(第12図)を使用する。VMのプ
レフイクスへのIO割込情報は、実サブチヤネル制御ブ
ロツク2092′内の仮想サブチヤネル♯、あるいは、
仮想割込優先順位♯を割込情報として反映する。
(ハ)実割込優先順位cが、他のVMに専有されている場
合は、VMCPへ割込みを反映する。この後、VMCP
により、該当VMのPSAへ割込みを反映する。
(ニ)実割込優先順位cが共有されている場合は、VMC
Pへ割込みを反映する。この後、VMCPにより、該当
VMへの割込みの反映が行なわれるが、この場合は、該
当VMが割込不可能の場合が有り得、その場合は、VM
CPにより当該IO割込みが保留されることとなる。
以上のように、サブチヤネルが占有化されて、かつ、占
有化された実割込優先順位を有する場合、そのサブチヤ
ネルに対しては、VM上のOSのIO直接実行(VMC
Pの介入によらず実行すること)がサポートされる。I
O割込みの場合は、さらに、正確にいえば、現走行VM
の専有するサブチヤネルからのIO割込みだけが直接実
行される。他のVMの専有するサブチヤネルからのIO
割込みについては、VM間スケジユーリングの必要性が
発生するため、VMCPが介入せざるを得ない。
第16図の実サブチヤネル制御ブロツクの中の状態フイ
ールド2093のIO直接実行モード抑止フラグは、通
常は0であり、当該サブチヤネルのIO直接実行モード
はサポートされる。しかし、専有サブチヤネルの場合、
専有元VM以外のVM上のOSからIO命令が発行され
ることはないが、VMCPから、IO命令が発行される
ことはあり得る。このときは、専有サブチヤネルであっ
ても、当該VMCPのI/Oが完了するまでは、この状
態フイールド2093内のI/O直接実行モード抑止フ
ラグを1とし、当サブチヤネルのIO直接実行モードは
抑止状態におかれる。
従つて、このフラグは、VMCPの管理において、セツ
ト/リセツトされるものである。以上のIO実行方式に
おいて以下のことがいえる。
(a)VMS制御フラグ群1090′の中で、(第19
図)Rビツトはなくても良い。すなわち、常に仮想サブ
チヤネル♯の変換及び仮想割込優先順位♯の変換を行な
うようにするが、又は、VMSの運用において、本発明
のIO直接実行方式を適用する場合は、必らず、それら
の値が等しいことを前提とすることにすれば不要であ
る。
(b)同じく、Dフラグも、Hフラグで代用する方法が考
えられるが、高速VMモードフラグHは、IO命令以外
の特権命令の直接実行の可否をも制御するので、IO命
令だけの直接実行の可否の制御はできなくなる。
(c)IO割込みの処理で、現走行VM以外のVMに専有
されている実割込優先順位からのIO割込みは、VMC
Pに反映するように前述したが、これを、当該専有元V
Mは、割込可能となつているから、先ず、当該VMのP
SAに割込反映後、VMCPに、VMCPコールの形で
制御を渡すようにしても良い。そのVMのPSAのアド
レスは、第13図におけるプレフイクス管理表より求め
ることができる。この場合は、さらに、当該VMのPS
Wを求める方法が必要であり、そのための情報が必要で
あるが、その方法は、当該VM♯をベースとして、いろ
いろな方法が考えられるので、図示は省略する。
(d)サブチヤネル♯変換テーブル先頭アドレス,割込優
先順位♯変換テーブル先頭アドレス,実割込優先順位ス
テータスレジスタ1045,実割込優先順位専有ステー
タスレジスタ1049(第21図)は、全て、VM起動
命令のオペランドで初期化する(第17図参照)ように
したが、VMCPの専用命令で初期化するようにしても
良い。
〔発明の効果〕
以上説明したように本発明によれば、VM上のOSから
発行されるIO命令、及び、IO割込みの直接実行が可
能となり、VMCPのIOシミユレーシヨンオーバヘツ
ドを大幅に削減することができる効果がある。ほとんど
実計算機性能に近い仮想計算機を実現するには必須の機
能である。
【図面の簡単な説明】
第1図は通常のOSによる実計算機システムのブロツク
図、第2図は従来の仮想計算機システム(VMS)のブ
ロック図、第3図は従来の仮想計算機(VM)における
メモリ階層を示す説明図、第4図〜第11図は従来例の
説明図であり、第4図はアドレス変換テーブル類を示す
説明図、第5図は実主記憶装置の連続領域を専有するV
Mの構成図、第6図はVMCPが、VMのIOシミユレ
ーシヨン用に発行するIO命令を示す説明図、第7図は
ホストシステムの構成図、第8図はIO要求キューを示
す説明図、第9図はIO割込要求キューを示す説明図、
第10図は実サブチヤネル制御ブロツク群の説明図、第
11図はIO割込回路を示す図、第12図ないし第22
図は本発明についての説明図であり、第12図はホスト
システムの構成図、第13図はプレフイクス管理表を示
す図、第14図は変換表アドレス管理表を示す説明図、
第15図はVM管理表の説明図、第16図は実サブチヤ
ネル制御ブロツク群の説明図、第17図はVM起動命令
を示す図、第18図はVMS制御レジスタ群の説明図、
第19図はVMS制御フラグ群を示す図、第20図は割
込優先順位割当て方法の説明図、第21図はVMS割込
制御レジスタの説明図、第22図はVMS用IO割込回
路についての説明図である。 10000……実計算機システム、1000……CP
U、1000′……CPU(本発明用)、1000−N
……CPUN N=1,2,3,…、1010……VM
CPのプレフイクスレジスタPXR、1020……プロ
グラムステータスワードPSW、1030……IO命令
実行回路、1040……IO割込回路、1050……I
O命令実行用マイクロプログラムμP1、1060……
IO割込処理用マイクロプログラムμP2、1070…
…VM用PXR、1080……VMS制御レジスタ群
(本発明用)、1090……VMS制御フラグ群、11
00……基本制御レジスタ群、1030′……IO実行
回路(本発明用)、1040′……IO割込回路(本発
明用)、1050′……IO命令実行用マイクロプログ
ラム(本発明用)、1060′……IO割込処理用マイ
クロプログラム(本発明用)、1100′……基本制御
レジスタ群(本発明用)、1110……レベル2→レベ
ル1アドレス変換テーブル先頭アドレスを含むレジス
タ、1120……レベル3→レベル2アドレス変換テー
ブル先頭アドレスを含むレジスタ、1041……実割込
優先順位マスクレジスタ、1041′……実割込優先順
位マスクレジスタ(本発明用)、1042……実割込保
留レジスタ、1042′……実割込保留レジスタ(本発
明用)、1043……ORゲート、1044……AND
ゲート、1081……現走行VM♯レジスタ、1045
……実割込優先順位ステータスレジスタ、1046……
ANDゲート群、1046′……ANDゲート群(本発
明用)、1047……ANDゲート群(本発明用)、1
048……ORゲート群(本発明用)、1049……実
割込優先順位専有ステータスレジスタ、2000……主
記憶装置、2000−N……VM−Nの主記憶装置(N
=1,2,3,…)、2001……主記憶装置2000
内のハードウエア・システム・エリア、2002……主
記憶装置2000内のプログラム可能エリア、2010
……レベル2メモリからレベル1メモリへのアドレス変
換テーブル、2010(1)……レベル2メモリからレベ
ル1メモリへのアドレス変換テーブル、2010(2)…
…レベル2メモリから1レベルメモリのアドレス変換テ
ーブル、2020……レベル1メモリアドレスで作られ
たCCW、2030……レベル2メモリアドレスで作ら
れたCCW、2040……レベル3メモリからレベル2
メモリへのアドレス変換テーブル、2050……レベル
3メモリアドレスで作られたCCW、2060……VM
上のOSの生成する仮想空間で、レベル3メモリに属す
る、2070……IO要求キユー、2080……IO割
込要求キユー、2090……サブチヤネル制御ブロツク
群、2090′……サブチヤネル制御ブロツク群(本発
明用)、2100……VMCPのプレフイクスPSA、
2110……VM1のPSA、2120……VM2のP
SA、2130……VM3のPSA、2200……VM
CPの常駐領域、2300……プレフイクス管理表、2
400……変換表アドレス管理表、2500……割込優
先順位♯変換テーブル群、2600……サブチヤネル♯
変換テーブル群、2700……VM管理表、2800…
…VMCPの用意したCCW変換情報、2810……V
M上のOSまたはVMCPの用意したCCW群、209
1……サブチヤネル制御ブロツク、2091′……サブ
チヤネル制御ブロツク(本発明用)、2092……サブ
チヤネル制御ブロツク内のアドレス変換情報、209
2′……サブチヤネル制御ブロツク内のアドレス変換情
報(本発明用)、2071……IO要求キユーキユーエ
レメント、2601……サブチヤネル♯変換テーブルの
前段表、2602……サブチヤネル♯変換テーブルの後
段表、2093……サブチヤネル制御ブロック内のVM
情報領域2092′内の状態フイールド、2094……
VM情報領域内のCCWアドレス変換情報、2900…
…VM起動命令、2910……VM起動命令のオペラン
ド、3000……入出力プロセツサIOP、3000′
……入出力プロセツサIOP(本発明用)、3000−
N……VM−NのIOP(論理的なもの)、3010…
…サブチヤネルレジスタ群、3010′……サブチヤネ
ルレジスタ群(本発明用)、3020……IOを実行す
るマイクロプログラムμP3、3030……IOP30
00内のアドレス変換テーブル、3011……ひとつの
サブチヤネルレジスタ、4000……入出力制御装置I
OC、4000−N……VM−N(N=1,2,3,
…)のIOC、100……CPU−主記憶装置間インタ
フエース、110……CPU−ハードウエアシステムエ
リア2001間インタフエース、120……CPU−プ
ログラム可能エリア2002間インタフエース、200
……CPU−IOP間インタフエース、300……IO
P−主記憶装置間インタフエース、310……IOP−
ハードウエアシステムエリア2001間インタフエー
ス、320……IOP−プログラム可能エリア2002
間インタフエース、400……IOP−IOC間インタ
フエース。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 博昭 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 沢本 英雄 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内

Claims (36)

    【特許請求の範囲】
  1. 【請求項1】制御プログラムの制御下で複数のオペレー
    テイングシステム(OS)を並行して走行し、かつ、複
    数のI/O装置とその一つを該OSの一つに対してそれ
    ぞれ代表する複数のサブチャネルとを有する計算機シス
    テムにおいて、 該複数のサブチャネルの少なくとも一つが該OSの一つ
    により排他的に使用されるように、該複数のサブチャネ
    ルを該複数のOSに割当て、 該複数のI/O装置の一つを代表するサブチャネルを要
    求するI/O命令が走行中のOSにより発行されたと
    き、その要求されたサブチャネルがその走行中のOSに
    より排他的に使用されるものであるという条件下で、該
    制御プログラムにその命令のシミュレーションを要求し
    ないで、そのI/O命令を実行するI/O命令実行方
    法。
  2. 【請求項2】その要求されたサブチャネルが該走行中の
    OSにより排他的に使用されるものか否かを決定するた
    めの情報をその要求されたサブチャネルに対応してあら
    かじめ記憶し、 該I/O命令が走行中のOSにより発行されたとき、そ
    の命令により要求されたサブチャネルがその走行中のO
    Sにより排他的に使用されるものであるか否かをそのサ
    ブチャネルに対応してあらかじめ記憶された該情報に基
    づいて判別し、 該実行は、その要求されたサブチャネルがその走行中の
    OSにより排他的に使用されるものであると判別された
    ときに行う特許請求の範囲第1項記載のI/O命令実行
    方法。
  3. 【請求項3】該I/O命令が指定する仮想のサブチャネ
    ルの番号を該複数のI/O装置のいずれか一つに割当て
    られたサブチャネル番号(実のサブチャネル番号)に変
    換し、 該判別は、その実のサブチャネルの番号が割当てられた
    サブチャネルに対応して記憶された情報に基づいて行う
    特許請求の範囲第2項記載のI/O命令実行方法。
  4. 【請求項4】該判別の結果、その要求されたサブチャネ
    ルがその走行中のOSにより排他的に使用されるもので
    ないと判別されたとき、該制御プログラムにそのI/O
    命令のシミュレーションを要求する特許請求の範囲第2
    項記載のI/O命令実行方法。
  5. 【請求項5】該走行中のOSにより使用される一つまた
    は複数のサブチャネルの各々に対応して,第1または第
    2の値を持つ直接実行モードフラグをあらかじめ記憶
    し、 該走行中のOSからI/O命令が発行されたときそのI
    /O命令により要求されたサブチャネルに対応して記憶
    された直接実行モードフラグの値を読みだし、その値が
    該第一の値であるとき、そのサブチャネルが該走行中の
    OSにより排他的に使用されるものか否かの上記判別を
    行い、該読み出された直接実行モードフラグの値が該第
    二の値であるとき、該制御プログラムに該命令のシミュ
    レーションを要求する特許請求の範囲第4項記載のI/
    O命令実行方法。
  6. 【請求項6】制御プログラムの制御下で複数のオペレー
    テイングシステム(OS)を並行して走行し、かつ、主
    記憶と、複数のI/O装置と、それらのI/O装置の一
    つを該OSの一つに対してそれぞれ代表する複数のサブ
    チャネルとを有する計算機システムにおいて、 それぞれのOSの主記憶としてそれぞれ使用される複数
    の領域を該主記憶内に確保し、 該複数のサブチャネルの少なくとも一つが該OSの一つ
    により排他的に使用されるように、該複数のサブチャネ
    ルを該複数のOSに割当て、 該複数のI/O装置の一つを代表するサブチャネルを要
    求するI/O命令が走行中のOSにより発行されたと
    き、その要求されたサブチャネルがその走行中のOSに
    より排他的に使用されるものであるという条件下で、該
    制御プログラムにその命令のシミュレーションを要求し
    ないで、そのI/O命令を実行し、 そのI/O命令の実行に応答して、該I/O命令で要求
    されたサブチャネルにより代表される一つのI/O装置
    に対して該I/O命令が要求するI/O処理を実行し、
    そのI/O処理の実行にあたっては、その命令がそのI
    /O処理のために要求する、該走行中のOSの主記憶に
    関するアドレスを、該制御プログラムの介入を得ない
    で、そのOSに割当てられた主記憶領域のアドレスに基
    づいて該計算機システムの該主記憶に関するアドレスに
    変換するI/O命令実行方法。
  7. 【請求項7】該命令の実行時に、該I/O命令が要求す
    るサブチャネルの番号を該計算機システムの該主記憶内
    のI/O要求キューに登録し、更に、該I/O命令がI
    /O処理のために要求する、該走行中のOSの主記憶に
    関するアドレスを、該I/O命令により要求されたサブ
    チャネルに対応して記憶し、 該I/O要求キューからいずれかのI/O命令が指定し
    たサブチャネル番号を順次取り出し、 該I/O要求キューから該I/O命令が指定したサブチ
    ャネル番号が取り出されたとき、該一つのI/O装置に
    対する該I/O処理を開始し、該I/O処理の実行にあ
    たっては、取り出されたサブチャネル番号で指定される
    サブチャネルに対応して記憶された、該走行中のOSの
    主記憶に関するアドレスを取り出し、この取り出された
    アドレスに対して該アドレス変換を行う特許請求の範囲
    第6項記載のI/O命令実行方法。
  8. 【請求項8】該アドレス変換を受ける、該走行中のOS
    の主記憶に関するアドレスは、該I/O命令が要求する
    I/O処理を規定するチャネルコマンドワードのアドレ
    スである特許請求の範囲第6項記載のI/O命令実行方
    法。
  9. 【請求項9】該アドレス変換を受ける、該走行中のOS
    の主記憶に関するアドレスは、該I/O命令が要求する
    I/O処理を規定するチャネルコマンドワードのアドレ
    スおよび該チャネルコマンドワードに含まれるデータア
    ドレスである特許請求の範囲第6項記載のI/O命令実
    行方法。
  10. 【請求項10】制御プログラムの制御下で複数のオペレ
    ーテイングシステム(OS)を並行して走行し、かつ、
    複数のI/O装置とその一つを該OSの一つに対してそ
    れぞれ代表する複数のサブチャネルとを有し、該複数の
    サブチャネルには、複数の実割込み優先順位が割当てら
    れる計算機システムにおいて、 該複数の実割込み優先順位の少なくとも一つが該OSの
    一つにより排他的に使用されるように、該複数の実割込
    み優先順位を該複数のサブチャネルにあらかじめ割当
    て、 該複数のOSのいずれかにより先に発行されたI/O命
    令が要求したI/O動作を実行した結果として、該複数
    のI/O装置の一つからI/O割込みが発生したとき、
    その一つのI/O装置を代表し、該先に発行されたI/
    O命令により要求された一つのサブチャネルに割当てら
    れた実割込み優先順位が、現在走行中のOSにより排他
    的に使用される実割込み優先順位であるという条件下
    で、該制御プログラムに該発生した割込みのシミュレー
    ションを要求しないで、割込み処理に関する該現在走行
    中のOSにより指定されたパラメータに基づいて、該発
    生した割込みを処理するI/O割込処理方法。
  11. 【請求項11】該割込みの処理においては、該割込みが
    該走行中のOSにより受付可能か否かを該パラメータに
    基づいて判定し、該割込みが該走行中のOSにより受付
    可能なとき、該割込みを該走行中のOSに通知する特許
    請求の範囲第10項記載のI/O割込処理方法。
  12. 【請求項12】該割込みの処理においては、該割込みが
    該走行中のOSにより受付不可能なとき、該割込みを保
    留状態に保持する特許請求の範囲第10項記載のI/O
    割込処理方法。
  13. 【請求項13】該複数の実割込み優先順位の少なくとも
    一つは、該現在走行中のOSに利用可能な複数の仮想の
    割込み優先順位にあらかじめ割り当てられ、該割込みに
    関するパラメータは、該走行中のOSに対するプログラ
    ム状態語内のI/Oマスクと、該一つのサブチャネルに
    割り当てられた該実割込み優先順位が割り当てられた仮
    想の割込み優先順位に対して該走行中のOSにより指定
    されたマスク信号を含む特許請求の範囲第10項記載の
    I/O割込処理方法。
  14. 【請求項14】該割込みの処理においては、該割込みが
    予め定めた割込み受付条件を満たすか否かを判別し、該
    条件が満たされるとき、該一つのサブチャネルに割り当
    てられた該実割込み優先順位が該現在走行中のOSによ
    り排他的に使用される実割込み優先順位であるか否かに
    基づいて、該割込みが該走行中のOSに対する割込みで
    あるか否かを検出する特許請求の範囲第10項記載のI
    /O割込処理方法。
  15. 【請求項15】該割込み受付条件は、該一つのサブチャ
    ネルが該走行中のOSにより排他的に使用される実割込
    み優先順位を割り当てられていて、かつ、該割込み処理
    に関するパラメータが、その実割込み優先順位を割り当
    てられている仮想の割込み優先順位の割込みを該走行中
    のOSにより受け付けることを許可しているときには少
    なくとも該割込みが受け付けられるように設定され、さ
    らに、該一つのサブチャネルが該走行中のOSにより排
    他的に使用される実割込み優先順位を割り当てられてい
    ても、該割込み処理に関するパラメータが、その実割込
    み優先順位を割り当てられている仮想の割込み優先順位
    の割込みを該走行中のOSにより受け付けることを許可
    していないときには、該割込みが受け付けられないよう
    に設定され、 該割込み処理においては、該割込みが該割込み受付条件
    を満たすと判定され、かつ、該走行中のOSに対する割
    込みであると判定されたときには、該割込みを該走行中
    のOSにより受付可能なものとして処理する特許請求の
    範囲第14項記載のI/O割込処理方法。
  16. 【請求項16】それぞれ該複数の実割込み優先順位の一
    つに対応する、複数の割込みキューが該計算機システム
    の主記憶に予め設けられ、該割込み処理は、該複数の割
    込みキューのうち、該一つのサブチャネルに割り当てら
    れた該一つの実割込み優先順位に対する割込みキューに
    該発生した割込みを登録した後、実行される特許請求の
    範囲第10項記載のI/O割込処理方法。
  17. 【請求項17】該一つのサブチャネルに割当てられた該
    実割込み優先順位が、現在走行中のOSにより排他的に
    使用される実割込み優先順位でないとき、該制御プログ
    ラムに該発生した割込みのシミュレーションを要求する
    特許請求の範囲第10項記載のI/O割込処理方法。
  18. 【請求項18】該走行中のOSにより使用される一つま
    たは複数のサブチャネルの各々に対応して,第1または
    第2の値を持つ直接実行モードフラグをあらかじめ記憶
    し、 該割込みが発生したとき、該一つのサブチャネルに対応
    して記憶された直接実行モードフラグの値を読みだし、
    その値が該第一の値であるとき、一つのサブチャネルに
    割当てられた実割込み優先順位が、現在走行中のOSに
    より排他的に使用される実割込み優先順位であるという
    上記の条件下で、該割込み処理を実行し、該読み出され
    た直接実行モードフラグの値が該第二の値であるとき、
    該制御プログラムに該発生した割込みのシミュレーショ
    ンを要求する特許請求の範囲第10項記載のI/O割込
    処理方法。
  19. 【請求項19】制御プログラムの制御下で複数のオペレ
    ーテイングシステム(OS)を並行して走行する計算機
    と、 複数のI/O装置と、 該計算機により実行されたI/O命令が要求するI/O
    処理を該複数のI/O装置の一つに対して実行するI/
    O処理実行手段とを有し、 該複数のOSの一つに対して該複数のI/O装置の一つ
    を代表する複数のサブチャネルの少なくとも一つが該O
    Sの一つにより排他的に使用されるように、該複数のサ
    ブチャネルが該複数のOSに割当てられ、 該計算機は、該複数のI/O装置の一つを代表するサブ
    チャネルを要求するI/O命令が走行中のOSにより発
    行されたとき、その要求されたサブチャネルがその走行
    中のOSにより排他的に使用されるものであるという条
    件下で、該制御プログラムにその命令のシミュレーショ
    ンを要求しないで、そのI/O命令を実行するように命
    令の実行を制御する命令実行制御手段を有し、 該命令実行制御手段は、実行されたI/O命令が要求す
    るI/O処理を所定の記憶手段に記憶する手段を有し、 該I/O処理実行手段は、該記憶手段に記憶されたI/
    O処理を、その処理を要求したI/O命令で要求された
    サブチャネルにより代表される一つのI/O装置に対し
    て、かつ、該計算機による命令の実行と非同期に実行す
    る手段を有する計算機システム。
  20. 【請求項20】該計算機は、その要求されたサブチャネ
    ルが該走行中のOSにより排他的に使用されるものか否
    かを決定するための情報をその要求されたサブチャネル
    に対応してあらかじめ記憶する手段をさらに有し、 該命令実行制御手段は、該I/O命令が走行中のOSに
    より発行されたとき、その命令により要求されたサブチ
    ャネルがその走行中のOSにより排他的に使用されるも
    のであるか否かをそのサブチャネルに対応してあらかじ
    め記憶された該情報に基づいて判別する手段を有する特
    許請求の範囲第19項記載の計算機システム。
  21. 【請求項21】該計算機は、該I/O命令が指定する仮
    想のサブチャネルの番号を該複数のI/O装置のいずれ
    か一つに割当てられたサブチャネル番号(実のサブチャ
    ネル番号)に変換する手段をさらに有し、 該判別手段は、その実のサブチャネルの番号が割当てら
    れたサブチャネルに対応して記憶された情報に基づいて
    上記判別を行う手段からなる特許請求の範囲第20項記
    載の計算機システム。
  22. 【請求項22】該命令実行制御手段は、該判別手段によ
    る判別の結果、その要求されたサブチャネルがその走行
    中のOSにより排他的に使用されるものでないと判別さ
    れたとき、該制御プログラムにそのI/O命令のシミュ
    レーションを要求する手段をさらに有する特許請求の範
    囲第20項記載の計算機システム。
  23. 【請求項23】該計算機は、 該走行中のOSにより使用される一つまたは複数のサブ
    チャネルの各々に対応して,第1または第2の値を持つ
    直接実行モードフラグをあらかじめ記憶する手段と、 該走行中のOSからI/O命令が発行されたときそのI
    /O命令により要求されたサブチャネルに対応して記憶
    された直接実行モードフラグの値を読みだし、その値が
    該第一の値であるとき、上記判別手段を起動し、該読み
    出された直接実行モードフラグの値が該第二の値である
    とき、該制御プログラムに該命令のシミュレーションを
    要求する手段とを有する特許請求の範囲第22項記載の
    計算機システム。
  24. 【請求項24】制御プログラムの制御下で複数のオペレ
    ーテイングシステム(OS)を並行して走行する計算機
    と、 主記憶と、 複数のI/O装置と、 該計算機により実行されたI/O命令が要求するI/O
    処理を該複数のI/O装置の一つに対して実行するI/
    O処理実行手段とを有し、 該複数のOSの一つに対して該複数のI/0装置の一つ
    を代表する複数のサブチャネルの少なくとも一つが該O
    Sの一つにより排他的に使用されるように、該複数のサ
    ブチャネルが該複数のOSに割当てられ、 該主記憶は、それぞれのOSの主記憶としてそれぞれ使
    用される複数の領域を該主記憶内に有し、 該計算機は、該複数のI/O装置の一つを代表するサブ
    チャネルを要求するI/O命令が走行中のOSにより発
    行されたとき、その要求されたサブチャネルがその走行
    中のOSにより排他的に使用されるものであるという条
    件下で、該制御プログラムにその命令のシミュレーショ
    ンを要求しないで、そのI/O命令を実行するように命
    令の実行を制御する命令実行制御手段を有し、 該命令実行制御手段は、実行されたI/O命令が要求す
    るI/O処理を所定の記憶手段に記憶する手段を有し、 該I/O処理実行手段は、 該記憶手段に記憶されたI/O処理を、その処理を要求
    したI/O命令で要求されたサブチャネルにより代表さ
    れる一つのI/O装置に対して、かつ、該計算機による
    命令の実行と非同期に実行する手段と、 そのI/O処理の実行にあたって、そのI/O命令がそ
    のI/O処理のために要求する、該走行中のOSの主記
    憶に関するアドレスを、該制御プログラムの介入を得な
    いで、そのOSに割当てられた主記憶領域のアドレスに
    基づいて該計算機システムの該主記憶に関するアドレス
    に変換する手段とを有する計算機システム。
  25. 【請求項25】該命令実行制御手段に設けられた記憶手
    段は、 実行したI/O命令が要求するサブチャネルの番号を該
    主記憶内のI/O要求キューに登録する手段と、 該I/O命令がI/O処理のために要求する、該走行中
    のOSの主記憶に関するアドレスを、該I/O命令によ
    り要求されたサブチャネルに対応して記憶する手段とを
    有し、 該I/O処理実行手段は、 該該I/O要求キューからいずれかのI/O命令が指定
    したサブチャネル番号を順次取り出す手段と、 該I/O要求キューから該I/O命令が指定したサブチ
    ャネル番号が取り出されたとき、該一つのI/O装置に
    対する該I/O処理を開始する手段を有し、 該アドレス変換手段は、取り出されたサブチャネル番号
    で指定されるサブチャネルに対応して記憶された、該走
    行中のOSの主記憶に関するアドレスを取り出し、この
    取り出されたアドレスに対して該アドレス変換を実行す
    る手段を有する特許請求の範囲第24項記載の計算機シ
    ステム。
  26. 【請求項26】該アドレス変換を受ける、該走行中のO
    Sの主記憶に関するアドレスは、該I/O命令が要求す
    るI/O処理を規定するチャネルコマンドワードのアド
    レスである特許請求の範囲第24項記載の計算機システ
    ム。
  27. 【請求項27】該アドレス変換を受ける、該走行中のO
    Sの主記憶に関するアドレスは、該I/O命令が要求す
    るI/O処理を規定するチャネルコマンドワードのアド
    レスおよび該チャネルコマンドワードに含まれるデータ
    アドレスである特許請求の範囲第24項記載の計算機シ
    ステム。
  28. 【請求項28】制御プログラムの制御下で複数のオペレ
    ーテイングシステム(OS)を並行して走行する計算機
    と、 複数のI/O装置と、 該計算機により実行されたI/O命令が要求するI/O
    処理を該複数のI/O装置の一つに対して、該計算機に
    よる命令の実行と非同期に実行するI/O処理実行手段
    とを有し、 該複数のOSの一つに対して該複数のI/0装置の一つ
    を代表する複数のサブチャネルが該複数のOSに割当て
    られ、 各I/0装置は、該複数のOSの少なくとも一つに対し
    て複数のサブチャネルの少なくとも一つにより代表さ
    れ、 該複数のサブチャネルには、複数の実割込み優先順位が
    割当てられ、 該複数の実割込み優先順位の少なくとも一つが該複数の
    OSの一つにより排他的に使用されるように、該複数の
    実割込み優先順位が該複数のサブチャネルにあらかじめ
    割当てられ、 該計算機は、先に発行されたI/O命令が要求したI/
    O動作を実行した結果として、該複数のI/O装置の一
    つからI/O割込みが発生したとき、その一つのI/O
    装置を代表し、該先に発行されたI/O命令により要求
    された一つのサブチャネルに割当てられた実割込み優先
    順位が、現在走行中のOSにより排他的に使用される実
    割込み優先順位であるという条件下で、該制御プログラ
    ムに該発生した割込みのシミュレーションを要求しない
    で、割込み処理に関する該現在走行中のOSにより指定
    されたパラメータに基づいて、該発生した割込みを処理
    するI/O割込処理手段を有する計算機システム。
  29. 【請求項29】該割込み処理手段は、 該割込みが該走行中のOSにより受付可能か否かを該パ
    ラメータに基づいて判定する手段と、 該割込みが該走行中のOSにより受付可能なとき、該割
    込みを該走行中のOSに通知する手段とを有する特許請
    求の範囲第28項記載の計算機システム。
  30. 【請求項30】該割込み処理手段は、該割込みが該走行
    中のOSにより受付不可能なとき、該割込みを保留状態
    に保持する手段を有する特許請求の範囲第28項記載の
    計算機システム。
  31. 【請求項31】該複数の実割込み優先順位の少なくとも
    一つは、該現在走行中のOSに利用可能な複数の仮想の
    割込み優先順位にあらかじめ割り当てられ、 該割込みに関するパラメータは、該走行中のOSに対す
    るプログラム状態語内のI/Oマスクと、該一つのサブ
    チャネルに割り当てられた該実割込み優先順位が割り当
    てられた仮想の割込み優先順位に対して該走行中のOS
    により指定されたマスク信号を含む特許請求の範囲第2
    8項記載の計算機システム。
  32. 【請求項32】該割込み処理手段は、 該割込みが予め定めた割込み受付条件を満たすか否かを
    判別する手段と、 該条件が満たされるとき、該一つのサブチャネルに割り
    当てられた該実割込み優先順位が該現在走行中のOSに
    より排他的に使用される実割込み優先順位であるか否か
    に基づいて、該割込みが該走行中のOSに対する割込み
    であるか否かを検出する手段とを有する特許請求の範囲
    第10項記載の計算機システム。
  33. 【請求項33】該割込み受付条件は、該一つのサブチャ
    ネルが該走行中のOSにより排他的に使用される実割込
    み優先順位を割り当てられていて、かつ、該割込み処理
    に関するパラメータが、その実割込み優先順位を割り当
    てられている仮想の割込み優先順位の割込みを該走行中
    のOSにより受け付けることを許可しているときには少
    なくとも該割込みが受け付けられるように設定され、さ
    らに、該一つのサブチャネルが該走行中のOSにより排
    他的に使用される実割込み優先順位を割り当てられてい
    ても、該割込み処理に関するパラメータが、その実割込
    み優先順位を割り当てられている仮想の割込み優先順位
    の割込みを該走行中のOSにより受け付けることを許可
    していないときには、該割込みが受け付けられないよう
    に設定され、 該割込み処理手段は、該割込みが該割込み受付条件を満
    たすと判定され、かつ、該走行中のOSに対する割込み
    であると判定されたときには、該割込みを該走行中のO
    Sにより受付可能なものとして処理する手段を有する特
    許請求の範囲第32項記載の計算機システム。
  34. 【請求項34】それぞれ該複数の実割込み優先順位の一
    つに対応する、複数の割込みキューが該計算機システム
    の主記憶に予め設けられ、 該I/O処理実行手段は、該複数の割込みキューのう
    ち、該一つのサブチャネルに割り当てられた該一つの実
    割込み優先順位に対する割込みキューに該発生した割込
    みを登録する手段を有し、 該割込み処理手段は、該登録手段により登録された割り
    込みを取り出し処理する手段を有する特許請求の範囲第
    28項記載の計算機システム。
  35. 【請求項35】該割り込み処理手段は、該一つのサブチ
    ャネルに割当てられた該実割込み優先順位が、現在走行
    中のOSにより排他的に使用される実割込み優先順位で
    ないとき、該制御プログラムに該発生した割込みのシミ
    ュレーションを要求する手段をさらに有する特許請求の
    範囲第28項記載の計算機システム。
  36. 【請求項36】該走行中のOSにより使用される一つま
    たは複数のサブチャネルの各々に対応して,第1または
    第2の値を持つ直接実行モードフラグをあらかじめ記憶
    する手段をさらに有し、 該割り込み処理手段は、該割込みが発生したとき、該一
    つのサブチャネルに対応して記憶された直接実行モード
    フラグの値を読みだし、その値が該第一の値であると
    き、一つのサブチャネルに割当てられた実割込み優先順
    位が、現在走行中のOSにより排他的に使用される実割
    込み優先順位であるという上記の条件下で、該割込み処
    理を実行し、該読み出された直接実行モードフラグの値
    が該第二の値であるとき、該制御プログラムに該発生し
    た割込みのシミュレーションを要求する手段を有する特
    許請求の範囲第28項記載の計算機システム。
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
EP85100372A EP0150039B1 (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.
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 JPS60150140A (ja) 1985-08-07
JPH0619747B2 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0634649U (ja) * 1992-10-13 1994-05-10 房光 古賀 健康バンド

Families Citing this family (85)

* 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 仮想計算機のフアイル制御方式
JPH0792761B2 (ja) * 1985-07-31 1995-10-09 株式会社日立製作所 仮想計算機システムの入出力制御方法
JPS6258341A (ja) * 1985-09-03 1987-03-14 Fujitsu Ltd 入出力割込処理方式
JP2580113B2 (ja) * 1985-11-15 1997-02-12 富士通株式会社 仮想計算機システム
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
JP2629278B2 (ja) * 1988-06-30 1997-07-09 株式会社日立製作所 仮想計算機システム
JPH0216663A (ja) * 1988-07-05 1990-01-19 Nec Corp 情報処理装置
US5201049A (en) * 1988-09-29 1993-04-06 International Business Machines Corporation System for executing applications program concurrently/serially on different virtual machines
US5276815A (en) * 1988-10-24 1994-01-04 Fujitsu Limited Input and output processing system for a virtual computer
JP2610966B2 (ja) * 1988-10-24 1997-05-14 富士通株式会社 仮想計算機制御方法
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
CA2001298C (en) * 1988-10-24 1996-08-27 Yasuhiko Nakashima Input and output processing system for a virtual computer
WO1990005338A1 (en) * 1988-11-02 1990-05-17 Hitachi, Ltd. Virtual computer system having extended memory
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
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 富士通株式会社 仮想計算機システム
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
JP3769428B2 (ja) 1999-09-30 2006-04-26 富士通株式会社 浮動割込みを保留できる情報処理装置および割込み条件変更命令実行方法
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
US7941799B2 (en) * 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
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
US7685401B2 (en) * 2006-12-27 2010-03-23 Intel Corporation Guest to host address translation for devices to access memory in a partitioned system
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
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
US9558019B2 (en) 2007-03-22 2017-01-31 Invention Science Fund I, Llc Coordinating instances of a thread or other service in emulation
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
US8438609B2 (en) * 2007-03-22 2013-05-07 The Invention Science Fund I, Llc Resource authorizations dependent on emulation environment isolation policies
US9378108B2 (en) * 2007-03-22 2016-06-28 Invention Science Fund I, Llc Implementing performance-dependent transfer or execution decisions from service emulation indications
US8495708B2 (en) * 2007-03-22 2013-07-23 The Invention Science Fund I, Llc Resource authorizations dependent on emulation environment isolation policies
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
DE3279744D1 (en) * 1981-08-03 1989-07-06 Ibm 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0634649U (ja) * 1992-10-13 1994-05-10 房光 古賀 健康バンド

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH0619747B2 (ja) I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
EP3039540B1 (en) Virtual machine monitor configured to support latency sensitive virtual machines
US5392409A (en) I/O execution method for a virtual machine system and system therefor
US7712104B2 (en) Multi OS configuration method and computer system
JP4668166B2 (ja) ゲストがメモリ変換されたデバイスにアクセスする方法及び装置
JP2500045B2 (ja) 入出力チャネル・サブシステム・コ―ル命令制御方法およびcecの解釈実行方法
US5404522A (en) System for constructing a partitioned queue of DMA data transfer requests for movements of data between a host processor and a digital signal processor
JP3546678B2 (ja) マルチos構成方法
US5414848A (en) Method and apparatus for sharing a common routine stored in a single virtual machine with other virtual machines operating in a preemptive muli-tasking computer system
US6003112A (en) Memory controller and method for clearing or copying memory utilizing register files to store address information
US5740406A (en) Method and apparatus for providing fifo buffer input to an input/output device used in a computer system
JPH0673108B2 (ja) ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法
JPH02734B2 (ja)
JPS62165250A (ja) 仮想記憶方法
JPS61190638A (ja) 仮想計算機のフアイル制御方式
US5696990A (en) Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area
US5805930A (en) System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs
US5924126A (en) Method and apparatus for providing address translations for input/output operations in a computer system
US5638535A (en) Method and apparatus for providing flow control with lying for input/output operations in a computer system
US5911077A (en) System for multithreaded disk drive operation in a computer system
JPH07129518A (ja) 計算機システム
CN112306927B (zh) 一种io请求的处理方法、装置及系统
JPH0711784B2 (ja) 計算機システム
JPH0548500B2 (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