JPS6083168A - マルチプロセツサ・システム制御方法 - Google Patents

マルチプロセツサ・システム制御方法

Info

Publication number
JPS6083168A
JPS6083168A JP59184742A JP18474284A JPS6083168A JP S6083168 A JPS6083168 A JP S6083168A JP 59184742 A JP59184742 A JP 59184742A JP 18474284 A JP18474284 A JP 18474284A JP S6083168 A JPS6083168 A JP S6083168A
Authority
JP
Japan
Prior art keywords
ups
guest
address
cpu
pmp
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
JP59184742A
Other languages
English (en)
Other versions
JPH02734B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS6083168A publication Critical patent/JPS6083168A/ja
Publication of JPH02734B2 publication Critical patent/JPH02734B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はユニプロセッサで動作するように設計されたプ
ログラミング・システムが、IBMシステム/370X
A(拡張アーキテクチャ)によって構築されたマルチプ
ロセッサを利用できるようにする方法に係る。
[従来技術] 仮想計算機(VM)ハイパバイザ・プログラム、例えば
IBM VM/システム・プロダクト(SP)は、多年
にわたって広く使用されている。このVM/SPは通常
、主記憶装置の上位アドレス部分にロードされ、普通は
システムの中央処理装置CCP U)および主記憶(M
S)から離れている。タイプライタ/ディスプレイ・タ
ーミナルをそれぞれ大型システムにインタフェースする
多数のユーザのプログラム実行を調整する。VMの利点
は、大型システムの見かけ上のデータ処理能力を各ユー
ザに与えることである。ユーザ(VMパホスト”の“ゲ
スト″と呼ぶこともある)には、VM制御プログラムに
よって、各ユーザがシステム上で仕事をするときに動作
するそれぞれのMS領域が割当てられる。ログオン(L
ogon)は、ユーザがユーザ自身をシステムのために
識別し、システム使用許可を要求する。ログオンの後、
ゲストは、接続されたシステムのアーキテクチャとイン
タフェースするように設計されているプログラムをラン
できる。例えば、S/370アーキテクチヤの命令セッ
トを、S/370システム上でランしているゲスト・プ
ログラムにより使用できる。
MVSのようなオペレーティング・システムは■M/S
Pによってゲストとしてランされていた。
各ゲストは、ゲスト実記憶と呼ばれる、割当てられたM
S部分を管理する。それは、この部分がゲスト・オペレ
ーティング・システムによって制御されるシステム記憶
装置であるからである。しかしながら、VM動作では、
ゲスト実記憶は実際には仮想記憶であり、必要に応じて
、VMホストの実記憶に写像(map)されなければな
らない、MSの下位アドレス部分(ホスト実アドレス)
を絶対アドレス0で始まるゲスト・オペレーティング・
システムの等価アドレス(ゲスト実アドレス)に割当て
ることにより、単純化が行なわれ、それは一般に、1つ
の良好なゲストの性能を更によくするものであった。こ
のようなゲストは仮想(V)=実(R)のゲストと呼ば
れる。他のゲストは他のMSアドレス領域で動作する。
ゲスト・プログラムの実行中は、ゲストがIloを必要
としてI10開始命令(SIOまたは5IOF)を出そ
うと試みても、そうすることはできない。その理由は、
使用するチャネル・プログラムが書込まれた領域とは違
ったMS領域にゲストのVM位置がある場合、ゲストの
チャネル・プログラムは動作しないからである。従って
、ゲストがSIOまたはSI○F命令を出そうと試みる
場合、VMは、ゲストのプログラム実行に割込み。
ゲストのためにゲスト・プログラム実行プロセスを引継
ぐ。ゲストI10を行なうには、VMは最初に、ゲスト
PSAページ・フレームの記憶位置79(才か+1祇 
Mスに、ペーぐ)n)l−姪釉古スことにより、ゲスト
・チャネル・プログラムを見つけ、ゲストのチャネル・
プログラムにおける第1のチャネル・コマンド・ワード
(CCW)のアドレスを含むチャネル・アドレス・ワー
ド(CAW)を得る。MS内の最初のCCWを見つける
ために、VMは、・MSのゲスト領域の(すなわちMS
絶対アドレス0からの)MSオフセットを最初のCCW
アドレスに加えることにより、MSでこの最初に得られ
たCCWアドレスをその絶対アドレスに変換する。そし
てVMは、チャネル・プログラムを実行し、ゲスト領域
のどのページ・フレームが転送中のデータに必要である
かを決め、かつ、I10データ転送に備えて、これらの
ページ・フレームを確定する。次いでVMは、チャネル
・プログラムをVM領領域コピーし、そのCCW内のア
ドレスを、I10データ転送の場合、ゲスト領域に新規
に確定したページ・フレームでアクセスされる(I/○
チャネル・ハードウェアが必要どする)絶対アドレスに
変更する。最後に、VMは、VM領領域構築されたI1
0チャネル・プロダラムの実行を開始し、ゲストが必要
とするI10転送を実行する。それ故、VMによるゲス
トエ10動作は、ユーザ・プログラムが、それが書込ま
れたMS領域のプログラムとして実行される場合には存
在しない、かなりの量のVMプログラミング・オーバヘ
ッドを含むことが明らかである。
ゲストI10チャネル・プログラムのアドレス再配置で
付加されたVMオーバヘッドは負担を重くするが、良好
なゲストとも呼ばれる最初のゲストを絶対アドレスOに
ロードする、すなわち、良好なゲストの仮想アドレス空
間の下位アドレス部分を、実アドレス0で始まるMS実
アドレス空間に直接にコピーしてV=Hのユーザとする
場合を除けば、前記オーバヘッドを避ける一般化された
方法は見つかっていない。(実アドレスはユニプロセッ
サ(UP’)の絶対アドレスと同じであるが、マルチプ
ロセッサ(MP)の絶対アドレスとは同じではない。)
この仮想アドレス対実アドレスの写像は良好なゲストに
関してのみ仮想アドレス変換を不要とし、それによって
良好なゲストの工10チャネル・プログラムが再配置を
判なわずに使用できる。しかしながら、最初のゲスト以
外のゲストはV=Rのゲストにはなり得ず、VMは前記
の煩わしい方法でそれらのI10チャネル・プログラム
を処理しなければならない。
非良好なゲストI10チャネル・プログラムのVM処理
の負担増加は、大量のI10活動を行なう非良好なゲス
トの場合に限りかなりのものになるので、大量のI10
活動を行なうプログラムは、良好なゲストの場合を除き
、VMによって効率的に処理できず、1つの良好なゲス
トのみがVMによって効率的に処理できる。このVM限
界は、ユニプロセッサUPまたはマルチプロセッサMP
のどちらでVMがランされても生じる。その理由はどち
らの主記憶も、絶対アドレスの拡張が1つしかないから
である(絶対アドレスはUPの実アドレスと同じである
)。MPにおけるVM限界は、MPの1つのCPULか
、システムにおける1つの良好なゲストを実行できない
ことである。非良好なゲストを実行しているMPの他の
CPUは、UPの場合と同じようにVMゲストエ/○処
理の負担が重くなる。
MPの場合のI10負担の解決法は、適切な内部プログ
ラム・ロックを有する読取専用形式のプログラムを再設
計し、該プログラムを複数のCPUで直接かつ同時に実
行できるようにすることである。これは、MSが、絶対
゛アドレス0で始まるプログラムの1つのコピーしか持
たないことに関連し、このコピーは同時かつ独自に複数
のCPU上で実行されており、必要なプログラム調整は
内部プログラム・ロックによって維、持される。
あいにく、MP動作の場合の複合UPプログラムの再設
計は費用がかかり、はどほどにエラーがないようにする
には長い期間を要する。いくつかのユニプロセッサ・プ
ログラミング・システム(UPS)が作成されており、
多くのUPSプログラムには、ユニプロセッサ(UP)
システムをランするための実アドレッシング(仮想アド
レッシングではない)が含まれる。システム/370の
ACPおよびTPFプログラムはUPSの実例である。
これらのプログラムは、24ビツト実アドレスを用い、
非常に多量のI10活動を行なうが、MP上で直接にラ
ンするようには股引されていない。これらのプログラム
は、このUPSが、このUPSプログラムのコピーを1
回実行するように、設計されている1つの実アドレス範
囲において複数のCPUでそれ自身の制御によって直接
にランされているが、プログラムの完全性を維持するの
に必要な内部ロックに関する設計はなされていない。
ACP、/TPFの場合、若し、従来のVM副制御下に
別個のゲストとして複数のプログラム・コピーを用いて
、MPの複数CPUで同時にランされるならば、I10
処理の負担は過剰になる。これは、プログラム解釈およ
びチャネル・プログラム再配置が最初のコピーを除く全
コピーに必要とするからである。これは、非常に頻度の
高いI10動作処理を要するACP/TPFの場合、特
にあてはまる。
密結合を用いるMP主記憶装置では、cpuが要求した
実アドレスは、CPUハードウェア・プレフィックスに
よる絶対アドレス(ユーザにとって見かけ上ではない)
に変更される。絶対アドレッシングはMPにおいて必要
とされる。というのは、複数CPUの各々は、実アドレ
スOに置かれるそれ自身の制御データ領域(プレフィッ
クス保管領域PSAと呼ばれる)を有するからである。
MP主記憶装置は1つの実際のアドレスO(絶対アドレ
ス0と呼ばれる)しか持っていない。従って、各CPU
の実アドレス0は非0絶対アドレスにプレフィックスさ
れ、各CP’[Jの実アドレスOは、MP計算機におけ
る単一の絶対アドレス範囲にある別個の非オーバラツプ
絶対アドレスに置かれる。普通、絶対アドレス0のペー
ジはPSAページとしては使用されない。このように、
PSAページをアクセスするために設けられたCPU実
アドレスは、対応する絶対アドレスとは異なるが、主記
憶装置をアクセスするために設けられた他の全CPU実
アドレスは対応する絶対アドレスと同じである。 MP
に声ける0と最大値(MP計算機ごとに異なることがあ
る。例えば、64MB)の間には1セツトの絶対アドレ
スしかないから、UPSプログラムの1つのコピーしか
主記憶装置に置くことができない。
従って、従来技術では: (1)UPSは、MPの2以上のCPUで直接に実行す
ることができない。その理由は、複数のCPUが書込み
可能部分を競合することによって生じる実行上の障害が
ないようにする、内部プログラム・ルーチンにおけるプ
ログラム・ロックが欠けているからである。
(2)VM Iloの負担により、UPSが非常に頻度
の高いI10活動を行なう場合には、VMの下に複数C
PUでUSPの複数コピーの、VMによる間接的実行は
(動作可能ではあるが)、経済的見地からは実用的では
ない。
(3)複数のCPUの動作の複合UPSプログラムを書
き直すことは、MPプログラミング技術分野の当業者に
とって可能ではあるが、真人な費用がかかり、かなりの
時間と多くの検査を必要とする。
その結果、より高速で信頼性のあるMPが使用可能であ
っても、このようなUSPの最も効率的な処理は、UP
における単一のCPU動作に限られる。従って、単−C
PUで実行するように設計された現に存在するACPま
たはTPFプログラムは、MPシステムの複数CPUで
は効率的に、実行することができないので、最高のMP
処理速度は、ACP/TPFトランザクションに関して
は得ることができない。もちろん、別個のUPのCPU
を利用することは可能であるが、いくつかの共用された
物理的構成要素を使用するから、一般的にMPハードウ
ェアは、一定量の処理能力に対しては低価格のパーケー
ジを提供する。
[発明が解決しようとする問題点コ 本発明の目的は下記の通りである; (1)MPシステムの複数のCPUが互いに、UPSプ
ログラミング・システムを変更せずに、大量のI10活
動を行なうユニプロセッサ・プログラミング・システム
(1つのCPUでしか動作しないように設計されている
)を効率的にランできるようにする。
(2)UPSの複数のコピーが同じ物理的経路を介して
同じ外部データ・ベースDASD装置をアクセスできる
ようにする。その場合、UPSは外部のUPS間通信手
段を使用し、レコードのロックおよび同期を行なう。例
えば、ファイル制御装置ハードウェア・ロックは、ロッ
クされている各レコードの識別子を含み、ロックは特定
の読取り要求の時刻にオンにセットされ、同じレコード
がこのレコードの更新が済んでから再書込みされるまで
はオフにセットされることはない。
(3)MPシステムの複数のCPUが、UPSにおける
アドレスを変更せずにMPの完全性を維持しながら、か
つMPの完全性ロックをU I) Sに挿入せずに、高
いI10活動を行なうUPSプログラミング・システム
を同時に効率的に実行できるようにする。
(4)高いI10活動を行なうUPSの複数のコピーが
、MP主記憶装置のそれぞれの2°バイト・アドレス位
置に置かれ、MPシステムのそれぞれのCPUでUPS
コピーの効率的な同時実行が得られるようにする。
(5)MPで動作できるVMハイパバイサ型の制御プロ
グラムを供給し、それぞれのCPUが使用する、主記憶
装置の複数の領域に同等にコピーできる高いI10活動
を行なうUPSのそれぞれのコピーを、複数のCPUで
効率的に、同時にかつ独立して実行できるようにする。
(6)システム/370拡張アーキテクチヤ(S’/3
70 XA)に従って構築されたMPシステムが、たと
えUPSプログラムが高いI10活動を行ない、かつ実
アドレスの1つのエクスパンスの内部MP完全性ロック
なしに書込まれたとしても、MPの複数CPUで独立し
て実行している主記憶装置に複数のコピーを有するUP
’Sプログラムを実行できるようにする。
(7)MPの複数のCPUが高いI10活動を行なうU
PSの複数MSコピーを独自に効率的に実行できるよう
にする。それによって、各コピーは、ハイパバイザ・プ
ログラムのエミュレーション命令によって変更されたア
ーキテクチャを有するそれぞれのCPUで実行され、U
PSが書込まれた型のCPUをエミュレートする。
(8)MSのそれぞれの領域で高いI10活動を行なう
UPSのそれぞれのコピーを実行中の複数CPU間のア
ドレッシング干渉を下記により防ぐ:(a)1つのCP
Uに実アドレッシングを使用させ、その実アドレスをM
S絶対アドレスに直接に写像するUPSコピーを実行す
る。
(b)もう1つのCPUで実行するため相互のUPSコ
ピーのそれぞれの変換表を使用し、そのUPS実アドレ
スを、それぞれのMS領域にアクセスされているMS絶
対アドレスに変換する。
(c)解釈実行開始(S I E)命令で用いたエミュ
レーション状態記述子(SD)にあるアドレッシング限
界保護を使用する。
(9)UPSのI10チャネル・プログラム実アドレス
を、チャネルのMSアクセス要求時に簡単に絶対アドレ
スに変更できるようにする。それによって: (a)MSの別のUPSコピーを用いる他のcpUの実
行と互いに干渉せずに、 (b)実際に占有された実記憶装置を反映するチャネル
・プログラム・アドレスのソフトウェアを変更せずに、 (c)チャネル・プログラムの複製を除く、従って、U
PSに見られるようなチャネル・プログラムの変更を伴
なわずに新しいアドレスを挿入できるので、 I10チャネルがMSで実行中の複数のUPSコピーの
1つにあるI10領域を適切にアドレスできる。
(10) V Mゲストに、MSのそれぞれの2nバイ
ト・アドレスに置かれたUPSのそれぞれのコピーを使
用させることにより、効率的な直接のI10チャネル処
理を可能にする。それによって、VMゲストごとに、チ
ャネル・アドレスは、各チャネル・アドレスに2°バイ
ト・アドレスから取出されたシー・ン係数をOR(また
は連結)することにより、チャネルによってMS絶対ア
ドレスに変換される。
このチャネル変換は変換表を含まず、変換ごとのMSア
クセスを行なわずに実行できる。
(11)他のUPSコピーをサービスしている使用中の
装置の要求された動作の待ち行列を維持することにより
、共用I10装置におけるI10100干渉を防ぐ。
(12)使用中のI10装置がその動作を完了すると、
待ち行列中の、もう1つのUPSコピーのI10命令を
取出し、I10装置が待ち行列中のI10命令を最初に
要求しているUPSが専用しているCPUに割込むよう
に指示する。
(13) (システム/3’IOIloを用いるように
コード化された)UPSが、UPSを変更せずに、拡張
チャネル数を含むシステム/370XA I10能力を
使用できるようにする。
[問題点を解決するための手段] 本発明は、MPシステムでランするように作成されては
いないユニプロセッサ・システム(UPS)のために独
特な多重処理環境を提供する。本発明は、ハイパバイザ
型の制御プログラム(区分された多重処理プログラムP
MPと呼ぶ)を提供し、MPにおいて、例えば複数DA
SDで単一のI10データ・ベースを共用する能力を有
するMPの主記憶装置(MS)にあるUPSのそれぞれ
のコピーの、複数CPUによる同時実行を可能にする。
PMPは、MSにあるUPSの特定のコピーとの類似性
をCPUに与える。UPSのそれぞれのコピーを実行中
の複数コピーは、互いに独立してランするが、■/○装
置を共用できる。PMPは、” I B M Syst
em/ 370 ExtendedArchitect
ure Pr1nciples of 0perati
on”(I B MPublication No、S
A22−7085−0)、” I BM As5ist
s for MVS/XA”(IBMPublicat
ion No、SA22−7092−0 ) 、および
A。
Padegs 、”System/ 370 Exte
ndedArchitecture:Design C
on5iderations”IBMJournal 
of Re5earch and Developme
nt、May 1983、Vol、 27、No、 3
、ppl 98−205の論文に既に開示された370
−XAアーキテクチャを有するCPUで動作するように
設計された、仮想計算機(VM)型のジョブ入力および
タスク指名制御プログラミング・システムによってラン
できる。プログラム作業は、それぞれのUPSコピーに
よる実行のために開始され、それぞれのUPSゲストの
タスクとしてVM/PMPによって制御される。
VM/PMPは: (1)MPにおける全タスクの割当ての場合。
(2)各I10装置の、UPS動作への割当ての場合、 MPの完全性を確保する。また、VM/PMPは、他の
UPSコピーが要求した動作を実行して使用中であるI
10装置に対し、UPSが出した命令を保持するI10
待ち行列を維持することにより、MPで複数のUPSコ
ピーが共用するI10経路の完全性を物理的にも論理的
にも確保する。
要求されたI10装置が解放されると、PMPは待機中
の次の命令を待ち行列から出すことができる。
UPSのコピーはMP主上記装置iffi(MS)のそ
れぞれの領域にプログラム・ロードされる。各領域は、
それぞれのMS記憶位置で始まり、連続するバイト領域
を含む。
VM/PMPは、最初、MSの最上位アドレスにプログ
ラム・ロードされるのが望ましい。その後、UPSのコ
ピーを、MSの最下位アドレスからロードすることがで
きる。次のコピーは、ログオン・プロセスによっていつ
でもMSにロードできる。
MSの大きさは、少なくとも、それぞれのtJPSコピ
ーのために設けられた領域数に、VM/PMPおよびそ
の他のプログラム領域を加えたものでなければならない
、UPSプログラムは、その領域しかカバーしない有効
アドレスの大きさを用いることがあり、このアドレスの
大きさはMSの絶対アドレス範囲をアドレスするのに不
十分なことがある。例えば、UPSは24ビツト・アド
レスを有することがあり、MS絶対アドレスは24ビツ
ト・アドレッシングを越える、例えば26ビツトである
かもしれない。VM/PMPは、MPの各CPUで独立
してランし、UPSおよび非UPS作業のタスク指名を
含めて、それぞれのCPUにすべての作業をタスク指名
する。CPUでの非UPS作業は、若し、そのCPUに
UPSが割当てられていないか、または割当てられたU
 P Sが実行可能ではないならば実行できる。非UP
S作業はVM作業であるかもしれない。その場合、VM
/PMPはVM制御プログラムに制御を渡しVM制御プ
ログラムは、通常のVMの場合のように、VM作業のC
PUおよびI10実行を制御する。VM/PMPはUP
S作業の実行をP M P ニ渡す。PMPの制御によ
って、CPUをUPS作業に専用できる。VM作業は、
UPS作業に専用されていないCPUまたはVM作業に
専用されるCPUで実行できる。
UPSコピーにあるI10アドレス(すなわち、I10
実アドレス)を、簡単にMS絶対アドレスに変換できる
ようにするため、各領域は、基数2の整数乗、すなわち
2nの境界バイト・アドレスで始まる。ただし、最初の
UPS領域は、絶対アドレス0で開始することがある。
2nバイト境界により、MS絶対アドレスは、2°で表
わされた境界値とUPS I10アドレスを連結して容
易に生成され、変換された絶対アドレスが生じる。
更に、より一般的な工10アドレス変換装置を用いて領
域の境界をより柔軟に見つけることができる(ただし、
この装置はより複雑で高価になる)。
各領域の最下位アドレスは、システム/37゜アーキテ
クチャに従って構築できる、ゲストのPSAページで始
まり、ゲスト実アドレス0を有する。各ゲストのPSA
ページの内容は、シミュレートされる、すなわち、CP
Uハードウェア動作ではなくプログラム命令によって完
全に書込まれる。
しかしながら、システムの各CPUは、ハードウェア制
御されたPSAページも有し1例えば、ハードウェア割
込みでハードウェア久方された内容を受取る。各CPU
のPSAページは、CPUのプレフィックス・レジスタ
の内容により、MSのPMP領域に置かれることが望ま
しい。CPUのPSAページにある新しいPSWは、ハ
ードウェア割込みを処理するためPMP領域のルーチン
を指す。
VM/PMPはホスト制御プログラムとして動作し、各
CPUをエミュレーション状態にすることにより、UP
Sコピーを、それぞれのCPUでエミュレートされたゲ
ストとして実行できるようにし、UPSゲスト・プログ
ラムを実行する。PMPが370−XAモードで動作中
のCPUをエミュレーション状態にする1つの方法は、
PMPがSIE (解釈実行開始)命令を実行し、CP
Uにシステム/370またはシステム/360のアーキ
テクチャをエミュレ−1〜させることである。
SIE命令は、米国特許出願第273532号(198
1年6月15日)に開示、説明されている。MSの各U
PSは、CPUがUPSゲストを実行すべきときはいつ
も、前記のCPUの各々でSIE命令を実行してエミュ
レーション状態にすることにより、MPのCPUの別々
の1つでエミュレートできる個々のゲストとして処理さ
れる。
CPUにおけるUPSゲストのエミュレーション状態は
、ハードウェア割込みが生じるごとに一時的に中止され
るか、またはUPSゲストは=(1)UPSのI10開
始命令、 または (2)ゲストの現在のプログラム・ステータス・ワード
(PSW)の工/○割込可能フィールドをオンにセラ1
〜するUPS命令(例えば、システム・マスク・セット
命令) のどちらかを実行する。エミュレーション状態が存在し
なくなると、CPU制脚はUPSゲストからPMPホス
トに渡され、PMPはそれぞれ=(1)要求されたI1
0装置を開始するか、(2)割込みを生じる特別の命令
、例えばSSMをシミュレートするか、または 。
(3)エミュレーション・モードからの出口を生じるハ
ードウェア割込みを処理する。
そしてPMPは再びCPUをエミュレーション状態に戻
し、UPSゲストによる実行を続ける。
[実施例] 人−余紅匙吸 第2図は本発明を使用できるマルチプロセッサ(MP)
のハードウェア構成を示す。MPは4つのCPUを含み
、各CPUは、密結合さJしたMPシステムの主記憶装
置に従来の方法で接続され、主記憶装置はこれらのCP
Uによって共用される。
主記憶装置は、特定のCPUが専用する排他的領域を有
することがあるが、このような排他的領域は、本発明が
利用する主記憶装置の部分ではなし)。
本発明が利用する共用可能な主記憶装置の部分は、どの
CPUも、読取りまたは書込み命令のアドレス位置をア
クセスできるようにする。
第2図のI10プロセッサは、多数のI10装置(Il
oと呼ばれる)の1つを主記憶装置に接続するすべての
チャネル機能を備え、それによって、どのI10装置も
、I10プロセッサによって設けられたサブチャネル(
SCH)を介し、I10プロセッサによって実行され且
つチャネル制御ワード(CCV)から成るチャネル・プ
ログラムの制御によって、主記憶装置内のアドレスされ
た領域との間でデータ・レコードを送受することができ
る。第2図に示したMPシステムは、IBM Publ
ication No、SA22−7085−0で定義
されたIBMシステム/370拡張アーキテクチャ(3
70−XA)によって設計されているものと仮定する。
また、MP中の各CPUは、ハードウェアおよび(また
は)マイクロコードを含み、米国特許出願第27353
2号(1981年6月15日)で定義された5IE(解
釈実行開始)命令を備えている。
仮想計算機/区分多重処理プログラム(VM/PMP)
の良好な実施例は、それぞれのゲストを実行中の各CP
UでSIE命令を実行することにより、システム/37
0をエミュレートするゲスト・とじてMSにあるUPS
コピーの1つを各CPUで実行する。各SIE命令の実
行は、CPUを、状態記述(S D)と呼ばれる、MS
にある制御ブロックで定義されたエミュレーション状態
にする。
SIE命令は、SDをアドレスする1つのオペランドを
有する。すなわち、SDは、それぞれのCPUでエミュ
レートされるハードウェア状態を定義するフィールドを
含むので、MSにある特定のUPSコピーから得られた
UPSプログラムは、UPSが最初に設計された、エミ
ュレー1−された環境(例えば、システム/360また
はシステム/370)のCPUで実行できる。SDフィ
ールドは: (1)UPSゲストの実アドレスOが割当てられている
。ゲスト・ページ0にある、MS絶対アドレスを含む起
点フィールド、 (2)ゲストの領域を含むMS領域の連続バイトの大き
さを含むエクステント・フィールド、(3)ゲストの現
在のPSW(プログラム・ステータス・ワード)のフィ
ールド(ゲスト割込みに使用されるゲストの現在のPS
Wを含み、P M I)のプログラム命令の順序により
そのゲストのPSW交換が行なわれ、どのクラスのゲス
ト割込みでも、ゲストのSDからの現在のPSWフィー
ルドを、ゲスト・ページOにあるそのクラスの古いPS
Wフィールドにコピーし、次いで、ゲスト・ページ0か
らの各側込みクラスの新しいPSWフィールドを、その
SDの現在のPSWフィールドにコピーし、ゲストの新
しい命令アドレスおよび新しい状態を指示する)、 (4)ゲストの16個の汎用レジスタ(G R)および
16個の制御レジスタ(CR)、 (5)他のゲスト状態のその他のフィールドを含む。
最初に、VM/PMPプログラムは、第3図の主記憶装
置マツプで60MB〜64MBの範囲の最高絶対アドレ
ス範囲にロードされる。次に、MSのO〜60MBの下
位部分が使用可能になり、UPSのコピーを受取る。
ロードされたVM/PMP領域は、MPシステムのCP
Uごとにプログラム保管領域(PSA)を含み、将来の
UPS動作に使用できる。第3図は4つのC,PUのP
SA領域を示す。あるCPUがUPS動作のために初期
化されると、MSにあるPSAは、それぞれのCPUの
プレフィックス・レジスタに初期化された絶対アドレス
によって見つけられる。
また、ロードされたVM/PMP領域は、通常のVM/
CPプログラムの動作に似た方法でジョブを受取り、タ
スク指名する。
また、VMD (VM定義)ブロックおよびPMP制御
ブロックもVM/PMP領域に含まれ、第1図に詳細に
示されている。VMDブロックは、ユーザがシステムを
開始する、例えばシステムのログを記録する場合、シス
テムの各ユーザのために設ける。第1図の例は、システ
ムVMD201、システムにロードされるUPSごとの
UPS VMD(例、203.205.207および2
09)およびVMj−−ザの通常<7)VM VMD 
(例、211〜213)を示す。また、新規のP M 
I)ブロック(例、204.206.208および21
0)は、将来、システムにロードされることがあるUP
Sごとに最初に設けられる。
また、PMP 工10制御ブロック(例えば、物理装置
ブロックPDEV)も、システムの物理I10装置ごと
に1つのPDEvが、VM/PMP領域に初期化される
。また、この実施例は、第3図に制御領域UPSI〜U
PS4として示された新規のUPS制御領域をUPSご
とに設け、システムにロードできる。各UPS制御領域
は、論理装置(L D E V)ブロック、およびシス
テムにロードされた特定のUPSによって使用できる工
10装置を表わすLDEVに対するLDEVポインタの
リストを含む。装置を表−わす単一のPDEVに対し複
数のLDEV (すなわち、UPS当りILDEV)を
置くこともできる。第8図はシステムにおけるPDEV
およびLDEVならびにそれらの相互接続を示す。
VM/PMPプログラムを初期化した後、各UPSゲス
トは、第9図に示すように、ログオン手順によってMS
にロードできる。この手順は、最初のUPSコピーを、
最初のMSゾーン、できれば、その起点をMSの絶対ア
ドレス0に有するゾーンOにロードし、UPSをCPU
に割当てる。
ゾーンOでゲストを実行するCPUが要求した全アドレ
スは、ゲストの実アドレスとしてゾーン0の絶対アドレ
スを直接に使用できる。ユーザ・プログラム・アドレス
を主記憶装置アドレスに直接に写像することは、ゾーン
0を使用するUPSゲストによってしか行なうことがで
きない。その理由は、前記写像は、同じ実アドレスのセ
ラ1−を含むが、MS絶対アドレスに直接には写像でき
ない他のMSゾーンにある別のUPSゲストとは対照的
に、絶対アドレスOで開始できるからである。
この問題は、各ゲストの実アドレスを要求されたMS絶
対アドレスに変換する変換表を必要とする仮想アドレス
として、2番目以降の各ゲストの実アドレスを処理する
ことにより解決される。
2番目以降の各UPSゲストは、MS中の次の2°バイ
ト境界アドレスで始まる次の各ゾーンにロードされたU
PSコピーを有する。nの値は、UPSプログラムに含
まれた有効アドレスのビット数によって決められる。す
なわち、基本的には、UPSプログラムをランするよう
に設計したコンピュータ・アーキテクチャによって決め
られる。
例えば、若し、UPSがシステム/360またはシステ
ム/370のアーキテクチャでランするように設計され
ていたら、nは24である、というのは、各有効アドレ
スは24ビット桁あるからである。224は16MBで
あるから、各々のシステム7360またはシステム/3
70のUPSは、MSの1.6MBまでアドレスできる
。これらのUPSプログラムを収容するには、MSは、
ゾーンと呼ばれる16MBごとに論理的に区分される。
ゾーンOはMS絶対番地の最初の16MBを含み、ゾー
ン1は次の16MBの絶対番地を含む、以下同様である
。各UPSプログラムは、全体として1つのゾーン内の
領域を占有する。各UPSは全体のゾーンを実際に占有
しなくてもよいが、各UPSコピーは、そのゾーンが開
始する境界から始まるべきである。第3図のUPSの例
は、各UPSが各16MBゾーンで12MBの実アドレ
ス領域を占有するものと仮定する。
このように、2番目以降の各ゲストは、VM/PMP制
御プログラムにより仮想アドレスとして処理されたUP
S実アドレスを有し、それによって、2番目以降の各ゲ
ストはそれぞれ、各UPS制御領域のPMPプログラム
により、セグメント・テーブルおよび1.1のページ・
テーブルを割当てられる。
2番目のゲストおよびそれ以降のゲスト(もしあれば)
は、■(仮想)=F(固定)型のゲストとしてランされ
るのが望ましい。V=Fのゲストは、そのMS領域に完
全に適合する。それによって、ゲストのページ・テーブ
ル項目に、UPSの全ページを含むことになっているゲ
スト領域のページ・フレームの絶対アドレスが割当てら
れる。
従って、V=Fのゲストは、MSにロードされた後の通
常の動作中に補助記憶とのページ交換を行なわなくても
よい。
UPSは、UPSにある各ページの実アドレスを使用す
る要求をCPUが行なった場合にロー1〜されるが、こ
の動作によって各ページにページ誤りを起こし、各UP
Sページが誤った領域にロードされる結果になる。2番
目以降のゲストのべ−ジを、MS内の一定場所にある。
ページ・フレームに置くことにより、CPUにあるTL
B (変更ルックアサイド・バッファ)は、ページ誤り
によって生じたアドレス変換によってロードされる。
TLBに記憶されたこれらの変換の大部分は、後に、U
PSが通常の実行を行なう際、UPSに要求される。C
PUをUPSに専用することは、VM/PMPがそのU
PSの代わりに動作する場合を除き、専用CPUのTL
Bの内容は、そのCPUを使用する別のプログラムによ
って変更されることはないので、そのTLBは、その初
期化された変換の大部分を絶えず保持する上、TLB置
換はまれにしか生じないから、MPの各専用CPUにお
けるUPS性能は向上する。従って、非専用CPUでは
、TLB項目置換はより頻繁に行なわれる。
また、VM/PMPは、ゲスヒエ10装置ノ工10チャ
ネル・プログラムの開始、UPSゲストによるI10装
置の共用、ならびに、複数CPUで動作するUPSゲス
トのI10割込み処理のプログラムも含む。
PMPは、PMPが出したSIE命令によって各UPS
ゲストを実行する。PMPは:(1)ゲストがI10開
始命令(例えば、SI○または5IOF)を実行するご
とに。
または、 (2)SIE実行により、ゲストSDにおける現在のゲ
ストPSWのI10割込み可能ビット(例えば、PSW
ビット6)がオンにセットされていることを検出するご
とに、 SIEによるゲスト実行を終了する(SIE出口または
SIE通知割込みと呼ばれる)。ゲストSIOまたは5
IOFによるSIE通知割込みに際し、PMPは: (1)370−XAサブチャネル開始命令を出し、要求
された装置のI10チャネル・プログラムを、該装置が
使用中でない場合に活動状態にする、または、 (2)該装置が使用中の場合には、該装置のI10要求
キュー(待行列)にI10要求を入れるルーチンを実行
する。
I10割込み可能によるSIE通知割込みでは、PMP
は、ゲストの割込み待ち行列における最も早い割込み要
求を処理する。
ゲストの、I10割込み待ち行列にある項目を見つける
ためには、VM/PMPは、該ゲストのVMDをアクセ
スするとともに該ゲストのゲスト制御ブロック(GCB
)を指すポインタを取込み、I10割込み待ち行列ポイ
ンタをアクセスして、サービスされていない割込みが存
在するかどうかを探す。
若し、ポインタが非Oならば、サービスされていない割
込みがあるので、I10割込みがVM/PMPによって
シミュレートされる。I10割込み待ち行列は、UPS
がI10割込みを受入れるのを阻止されている間に受取
ったサービスされていない割込み情報を含むLDEVの
連鎖から成る。
CPUがUPSを実行していないうちに、ゲストI10
割込みが起きると、VM/PMPは同様に割込みをサー
ビスするか、またはゲストがI10割込みを禁止されて
いる場合は1割込みをゲスト装置の割込み待ち行列に入
れる。
CPUがUPSゲストに専用されると、CPU制御レジ
スタはセットされ、特定のISCを有するI10割込み
しか該CPUに割込むことができない。従って、UPS
装置のI10割込みが生じる度に、PMPは、該UPS
ゲストに専用されたCPUで実行する。
ハードウェアはI10割込みごとに2つの割込みパラメ
ータを供給する。1つは割込みを生じるサブチャネル番
号であり、他の1つはM S CH命令および5SCH
命令ごとにソフトウェアによってセットされたソフトウ
ェア・パラメータである。
PMP装置の場合、ソフトウェア・パラメータは常に現
在の動作に関連したLDEVのアドレスである。
LDEVアドレスの上位ビット(ビットO)は常に1に
セットされる。PMPはこれをフラグとして用い、その
装置と、VM制御された装置とを見分ける。PDEVお
よびI10割込み待ち行列ポインタはLDEVから見つ
けることができる。
ゲスト・プログラムがSIO命令またはSI○F命令を
出すと、SIE実行は通知割込みされ、PMPは、本発
明によって設けられた特別の機能を用いてI10チャネ
ル・プログラムを開始する。
第1図において、VM/PMPは、ゲストのVMDをア
クセスするとともにUPSゲストのゲスト制御ブロック
(GCB)を指すポインタを取込み、次いで、VM/1
)MPはLDEVポインタ・リストのポインタをアクセ
スする。次いで、VM/PMPは、それぞれのUPS制
御領域にあるLDEVポインタ・リストに進み、I10
開始命令によって与えられたI10アドレスを使って、
該リスト中の、要求されたLDEVポインタを索引する
そして、このLDEVポインタは、要求されたLDEV
 −システム/370XAで定義された0RB(動作要
求ブロック)を含む− をアクセスする。ORBは、チ
ャネル・プログラム・アドレス(モジュロ16MB)と
、このI10開始手順で最初にアクセスされたPMP制
御ブロックにあるゲスト°ゾーン・フィールドからコピ
ーされるゾーン・フィールドとを含む。(それぞれのゲ
スト・ゾーン・フィールドは、UPSゲストがログオン
されたとき、それぞれのゲストのゾーンの起点絶対アド
レスのビット1〜7によって初期化されている。)そし
て、見つかったORBは、I10プロセッサに渡され、
I10プロセッサは、チャネル・プログラムにあるCC
W(チャネル・コマンド・ワード)またはIDAW(間
接データ・アドレス・ワード)から取出された各MSア
ドレスの最上位(最も左の端)にゾーン・フィールドを
OR(または連結)し、要求されたMS絶対アドレスを
生成する。この手順が行なわれると、任意の領域でラン
しているUPSのそれぞれのコピーからUPSゲストに
よって与えられた24ビツト桁の実アドレスは、工/○
プロセッサにある簡単なハードウェアI10アドレス変
換プログラムによって、UPSが占有するゾーンにある
MSをアクセスするのに必要な31ビツト絶対アドレス
に変換される。このような簡単な変換プログラムは、2
24の倍数のゾーン初期境界アドレスにその起点を有す
る各UPS領域に依存する。(このような工/○プロセ
ッサ・アドレス変換は、VM/PMPプログラムがプロ
グラムによってCCWアドレス変換されるーV=Fのゲ
ストによってI10動作を処理できる速度が大幅に低下
させられる −のを避ける。(ACP/TPFのような
)高速のI10速度を有するUPSの場合、使用中のア
ドレス変換によって与えられた、付加されたシステム効
率は、このようなタイプのUPSのMPシステム性能を
大幅に高め、各々のV=FのUPSゲストは、同じCP
U命令速度を有するユニプロセッサでUPSによって得
られる同じ速度でランできる。
CPUが最初にアドレス・ゾーンの値をゲスト■/○装
置のORBにセットすることにより、簡単な自動ハード
ウエアエ/○アドレス変換が得られる。チャネル・プロ
セッサは31ビツト絶対アドレスを生成し、次のように
CCWおよびデータをアクセスする。すなわち、I10
チャネル・プログラムの場合はすべて、最初のCCWは
ORBの31ビツト・チャネル・プログラム・アドレス
・フィールドを使ってアドレスされる。ORBのフォー
マット(F)ビットがフォーマットOの(システム/3
70が互換性を有する)CCWを指定すると、370−
XAチャネル・サブシステム動作は本発明によって変更
され、(本実施例でゾーンと呼ばれる)ORBのチャネ
ル・プログラム・アドレス・フィールドのビット1〜7
は、CCWの24ビツト・データ・アドレス・フィール
ドから取出された31ビット絶対MSアドレスの、また
は(CCW間接データ・アドレッシングがCCWで指示
される場合)31ビツトIDAWのビット1〜7とOR
される。CCWの24ピッ1−・データ・アドレス・フ
ィールドを使用する場合、24ビツトの値は、先ず左端
の7ビツトに(l有する31ビツトに拡張される。前記
手順は、非連続CCW、IDAWまたはデータ・アクセ
スが要求されるごとに実行される。連続アクセスは、前
述の手順によって前に生成されたアドレスの増加しか必
要としない。
本実施例の重要な点は、ORBからの7ビツト・ゾーン
値を、31ビツトIDAWの、または24ビツトCCW
データ・アドレス・フィールドの内容を拡張して生成さ
れた31ビツト値の左端の7ビツトとORする必要があ
ることである。ゾーン値を、24ビツトCCWデータ・
アドレス・フィールド内容、またはIDAWの右側の2
4ビツト(形成されるデータ・アドレスにとってどちら
か適切な方)に単に連結するのではなく、ゾーン値と3
1ビツト値をORする理由は、標準37o−XAアーキ
テクチャによってランするように設計されたプログラム
に互換性を与えることである。
標11I370−XAアーキテクチャ(およびIBM3
033拡張機能によって与えられたシステム/370拡
張アーキテクチヤ)では、IDAWはアドレスを31ビ
ツトまで保持できる。31ビツトIDAWが導入された
ことによって、31ビツト・アドレスCCWフォーマッ
ト(フォーマット1)を用いるように変換されていない
プロゲラムシ、MSの最初の16MB内に置かれたI1
0データ領域を使用できる。事実、MVS/XA制御プ
ログラムはそのために31ビツトIDAWを使用する。
前述のゾーン・ビットのOR動作によって互換性が与え
られる、というのは、標*a’zo−xAアーキテクチ
ャでは、ORHのチャネル・プログラム・アドレス・フ
ィールドのビット1〜7(本発明の良好な実施例のゾー
ン・ビット)は、フォーマット0(24ビツト・アドレ
ス)のccWがORBで指定されると、0を含むことが
要ふされるからである。こJしらのビン1〜を、 (左
端の7ビン1〜桁に非O値を含むことがある)IDAW
からの81ビツトとORL、でも、最初の31ビツト・
アドレスは乱されない。当業者は、ゾーンと24ビツト
・アドレスを連結(ORではない)して31ビツト・ア
ドレスを作ることは、前述の互換性を与えないことを容
易に理解するはずである。
本発明の重要な点は、本発明を取り入れたコンピュータ
・システムは、本実施例で説明されたプログラム、なら
びに変更を加えない標準370”=XAアーキテクチャ
によって実行するように設計されたプログラムを実行す
ることができることである。若し、このような互換性が
重要でなければ、本発明は、ゾーン・フィールドを、各
UPSの24ビツト・チャネル・アドレスの左端に連結
することにより、必要なアドレス変換を得ることも含む
PMP環境におけるI10装置は: (1)VM/CP割当て装置、 (2)PMP共用装置(vM/CPには割当てられいな
い)、 に分類することがある。
最初、すべての共用装置はPMPに割当てられる。他の
すべての装置は、通常のVMシステム生成(SYSGE
’N)プロセスニよってVM/CP制御プログラムに割
当てられる。これらの装置はVM自身によって使用され
るか、または、VM付加マイクロ命令の使用によりUP
Sを再割当てして、I10装置を指定されたUPSゲス
トに接続することができる。このような装置がUPSゲ
ストに接続されると、装置のプログラム制御はPMPに
渡され、PMPは、370−XA I10制御ブロック
を使用して特別な処理を行ない、そのIloを制御する
また、PMPプログラムは装置を共用する機能を備え、
同じMPにある複数のtJPsゲストは同じ物理装置を
アクセスできる。各々のUPS共用装置は、同じ物理装
置のLDEVを各共用ゲストのUPS制御領域に入れる
ことにより、装置を共用する各ゲストのために構成され
た有効な論理サブチャネルを有する。その故、Ul)S
装置はどれも複数のUPSゲストの間で共用できるが、
装置が使用中の間は、他のゲストはアクセスできない。
従って、装置共用は、各共用ゲストの対応する論理装置
制御ブロック(LDEV)をシステムに初期化させるこ
とにより行なわれる。共用論理の場合、装置を表わす1
つのPDEVについて複数のLDEVがある。LDEV
はVM/PMP主記憶装置領域に入れられる。
新しいUPSゲストは、若し、C,PUおよびMSゾー
ンが新しいUPSゲストによる使用がどちらも可能なら
ば、いつでもシステムに初期化できる。VM/PMPは
、現に存在するUPS装置のLDEVを、ログオン中の
UPSゲストのUPS制御領域に挿入することにより、
装置の共用性を変更することができる。
一般に、テープ、ユニット・レコード、コンソールおよ
び通信装置はVMに共用、割当てされず、それぞれのゲ
ストに専用される。DASD装置は、通常はUPSゲス
ト間で共用される。
このように、唯一のUPSゲストを実行し他の作業を行
なわないCPUの専用は、アドレス変換を与えるPMP
ソフトウェアの必要をなくすことにより、PMPプログ
ラムをサポートするソフトウェア実行経路長も減少させ
る。VM/PMPは、ユーザのVMDにあるCPU I
Dフィールドをセラ1−することによりCPUを専用し
、そのVMDの作業しか実行しないCPUを専用する。
他の初期化活動は: (1)専用されている各CPUのプレフィックス・レジ
スタを、MSのPMP領域にあるCPUのPSAの絶対
アドレスによってセラ1〜し、(2)CPUのpsへに
あるCPU専用フィールドをUPSゲストのアドレスに
セットし、(3)UPS作業を行なうことになっている
各CPUの制御レジスタ6にある、それぞれのI10割
込みサブクラス・コード(ISC)の割込み可能ビット
桁をセットし、 (4)夫々のUPSゲストに割当てられた各装置の各I
10サブチャネルに、同じISC値を割当て、(5)各
々の変換可能なゲスト(MSゾーン0に割当てられたゲ
ストを除く)に、異なったセットの変換テーブルを供給
する。
動作を含む。同じCPUおよびIlo ISCをセット
することは、同じISC値を有するゲストが使用するC
PUおよびI10装置のサブセットとの類似性を生じる
。UPSゲストは、(LDEVによって割当てられた)
非使用中のI10装置の使用が、その装置のPDEVに
あるISC値を、その装置のゲストLDEVにある。要
求中のUPSゲストに最初に割当てられたISC値に単
に変更することにより可能になる。そして該CPUはI
10装置を起動し、該I10装置からのすべての割込み
を受入れる。
このように、vM/PMPプログラムは、UPSゲスト
に、専用CPU環境、370−XA’ I10環境でシ
ステム/3’IOI10命令をシミュレートする高速経
路I10サポート、ならびに、共用可能な工/○装置プ
ログラム・サポートを与えることができる。
jユニ鰍兄」1児 ユニプロセッサ・システム(ups)の4つのコピーが
ロードされた、第2図のMPシステムの例が第3図の主
記憶装置マツプによって示されている。第3図の主記憶
装置(MS)は、第2図のCPUI〜4がどれもアクセ
スできる64メガバイト(MB)の共用可能な記憶を含
む。このように、第3図では、UPSの第1のコピーは
、ゾーンOのUPSI領域に書込まれ、UPSの第2の
コピーはゾーン1のUPS2領域に書込まれる。
以下同様に、UPSの第3および第4のコピーはそれぞ
れ、ゾーン2のUPS3領域およびゾーン3のUPS4
領域に書込まれる。これらの領域の各々は、境界絶対ア
ドレスOで始まるUPSIの場合を除き、16MBの倍
数のゾーン境界絶対アドレスで始まる。従って、UPS
領域の各々の初めの境界アドレスは、基数2の幕(即ち
、224)である。換言すれば、特定のUPSのために
MSをアクセスするのに用いた31ビツト絶対アドレス
はすべて、アドレスのゾーン・ビット位置1〜7に常駐
するゾーン番号を含む。
実際には、各UPSに16MBは必要ではなく、12M
BLか必要としない。それ故、UPS4は絶対アドレス
48MBで始まるが、60MBを越えた空間は不要であ
る。従って、60MBから■M/PMP領域が設けられ
、絶対アドレス64MBまでの4MBを占めるVM/P
MPプログラムがロードされる。VM/PMPはPMP
ルーチンおよびVM/CPを含む。VM/CP (制御
プログラム)は、従来のVM/CPプログラムに似てい
るが、前記米国特許出願第273532号(1981年
6月15日)で定義されたようなSIE命令をサポート
する。主記憶装置にあるUPSのそれぞれのコピーは、
MP中の別々のCPUを専用して実行される。このよう
に、UPS2、UPS3およびUPS4は、CPU2.
CPU3およびCPU4を専用して実行される。UPS
lはCPUIでしか実行しないが、CPUIは、VM作
業も実行するから、専用されたCPUではない。
しかしながら、専用されたCPUは、そのCPUを専用
するUPSゲストのためにVM/PMPも実行する。
各UPSは、I B M Publication G
 A 22−7000の任意のレベルによって定義され
るような、UPSが16MBよりも大きい実記憶をサポ
ートするように設計されてはいない、IBMシステム/
370アーキテクチャに対して設計されるものと仮定し
、また、各CPUは、1つのコピーが複数のCPUで実
行された場合にMPの完全性を確保するMPプログラム
・ロックまたはその他の手段によって設計されてはいな
いものと仮定するa I BM Publicatio
n Ga42−7000−8はIDAWおよび拡張実ア
ドレッシングを定義する。また、各UPSは、0〜12
MBの実アドレスのエクスパンスー領域の大゛きさ −
 によって設計されているものと仮定する。
VM/CPプログラムは、IBMンスシステムて数年に
わたって市販されているプログラム番号5664−16
7を有するIBM VM/SPL:基づくことがある。
VM/PMPプログラムは、主記憶装置にロードされる
前に連係編集され、保有する全アドレスは60〜64M
Bの範囲の絶対アドレスを得る。
VM/PMPプログラムは、主記憶装置のVM/PMP
領域にロードされてから、第9図に示されたプロセスを
含む、UPSコピーをそれぞれの領域にロードし初期化
するためのコードを有する。
また、VM/PMPは、CPUl−4のそれぞれのプロ
グラム保管領域(PSA)を含む。各psA領域は、固
定アドレス割当てを有するデータのページ・フレームを
含み、I B M System/ 370 Exte
ndecl Architecture Pr1nci
ples ofOperation(IBM publ
ication number S A 22−708
5−0)の第3〜4章に定義されたようなアドレス割当
てを有する、それぞれのCPUの動作を制御することが
できる。また、第3図のVM/PMP領域は、第1図に
詳細に示されたタスク指名リストおよび制御ブロックを
含む。タスク指名リストは、VM/SPプログラムで通
常使用されるVMD制御ブロックとほぼ同じ複数の制御
ブロック(VMD)を含む。しかしながら、VM/PM
Pプログラムのために設けたVMDブロックは、PMP
フラグ・フィールドおよびUPSポインタ・フィールド
のような、本発明に適応する特に調整された追加フィー
ルドを有する。
ユーザがシステムをログオンする場合、VMDはユーザ
のためにVM/PMPによって生成される。しかしなが
ら、第1図に示されたPMPゲスト制御ブロック(GC
B)は、最初にVM/PMPプログラムによって設けら
れ、将来のある時点で、UPSコピーを受取る使用可能
な各MSゾーンのGCBが生成される。また、各GCB
の内容も、VM/PMPが初期化されると初期化される
この内容には、ゾーン境界絶対アドレス、ゲスト。
ゾーン値、ISC値、ゲスhI10割込みポインタ、お
よびLDEVリスト・ポインタが含まれる。
第1図の例では、システムVMD201、UPSI V
MD−UPS4 VMD203.205゜207および
209、ならび1.−VM VMD(1)〜VM VM
D(2) 211−213が示されている。システAV
MD201およびVM VMD211〜213を設ける
ことにより、各タスクは。
VMタスクが現にVMシステムによってランされている
従来の方法でランされる。
第1図にはVMDロック・フィールドも設けられている
。同時に2以上のCPUがタスク指名リストを開始でき
ないようにするため、どのCPUも比較およびスワップ
(C8またはCD5)命令をうまく実行してVMDロッ
ク・フィールドを検査してからタスク指名リストを開始
する。
どのVMDも作業可能フィールド、CP’U IDフィ
ールド、および状態記述(S D)フィールドを含む。
各SDは多くのフィールドを有する大きな領域で、SI
E命令を実行しているCPUのためにシステム記述を設
け、CPUは、それぞれのVMDが表わすゲストが使用
する別のアーキテクチャ(例えば、システム/360ま
たはシステム/370)をエミュレートする。SDの内
容は本明細書で既に定義されている。CPU IDフィ
ールドは使用可能で、このVMDの作業が実行すること
になっている専用CPUの識別子を含む。
CPU IDフィールドがOにセットされると、VMD
の作業はどのCPUでも実行できる。作業可能フィール
ドは、それぞれのVMDに関して実行可能なタスクがあ
るかどうかを指示し、非’UPS VMDのタスクは非
UPS VMDにある他のフィールド(図示せず)に含
まれている。
各UPS VMDはPMPフラグ・フィールドを含む。
このフィールドは単一のビットの場合がある。このビッ
トはオンにセットされると、特定のVMDが、PMPプ
ログラムで与えられたUPS処理を必要とする、UPS
タイプのVMDであることを識別する。
各UPS VMDは更に、それぞれのGCBを指すUP
Sポインタ(すなわち、アドレス)を含む。第1図で、
UPSL、VMD 203はG Cl3204を指すポ
インタを含む。同様に、他のI) US VMD205
.207および209は、それぞれのUPSゲストのG
CB206.208および210を指すGCBポインタ
を有する。
それぞれのUPSゲストのGCB204,206.20
8および210は同一の構造を有する。
詳細に図示されたGCB 210は、ゲスト4境界絶対
アドレスを含む。このアドレスは主記憶装置内のUPS
4の領域の最初の境界の絶対アドレスである。ゲスト4
ゾーン・フィールドはOにセットされているビット13
8の次に位置し、7個のゾーン・ビットは、最初の境界
−ゲスト4の場合は48MB −を表わす31ビツト絶
対アドレスの左端の7ビツトである。また、GCB21
0は、それぞれのゲストに割当てられたI10割込みサ
ブクラス・コード(ISC)を含むゲスト4ISCフイ
ールドを有する。更に、GCB 210は、このゲスト
のI10割込み待ち行列の先頭を見つけるゲスト4の工
/○解釈ポインタ、ならびにこのゲストのUPS制御領
域にあるLDEVポインタ・リストを見つけるゲスト4
LDEVリスト・ポインタを含む。LDEVポインタ・
リストはアドレス項目を含み、このゲストが割当てた工
10装置のLDEVを見つける。同じLDEVが同じ物
理装置を共用する複数ゲストによって使用されることが
ある。
本実施例では、UPSプログラム(磁気テープ上にある
かもしれない)は、第9図のログオン手順により第3図
のUPS1〜4の、それぞれの4つの領域に4回コピー
できる。UPSプログラムがコピーされる度に、元の磁
気テープに存在するような各領域に、同じ、24ビツト
実アドレスのセットが供給される。これらの実アドレス
は、領域ごとに、それぞれの領域の境界の最初から0〜
12MBの範囲にわたる。各ゾーン領域の終りの残りの
4MBは、それぞれのUPSによって使用されることは
ないが、その通常のVMユーザに割当てられるVMプロ
グラム(すなわち、VMゲスト)のような他のプログラ
ムにとって使用可能であり、VMゲストのVM制御プロ
グラムによっても割当てできる。
各UPS領域は、UPSページO1すなわちエミュレー
トされたCPUのシミュレートされたPSA領域で始ま
り、ホスト・システムとみなされるPMPプログラムに
よってエミュレートされたゲストのような各領域のUP
Sプログラムを実行することになっている。UPSペー
ジ0は、それぞれのエミュレートされたCPUのコンピ
ュータ・アーキテクチャ、例えば、システム/370に
よって設計される。本実施例では、UPSプログラムの
各々は、370−XAアーキテクチャによって動作する
ホストPMPプログラムによるシステム/370アーキ
テクチヤによって動作する。
第9図は、UPSゲストをシステムに初期化することを
可能にするログオン手順を示す。このような新しいゲス
トのログオンは、システムが別のUPSゲストを収容で
きるGCBおよび記憶空間を有する限りいつでも実行で
きる。第9図のステップ11で、VM/PMPは、VM
Dタスク指名リストの次のVMDとして現在のゲストG
の特定のUPS VMDを生成する。次にステップ12
で、MSのVM/PMP領域にある前記ゲストのUPS
 VMDのGCBを見つける。次いでステップ13で、
前記GCBを見つけるVMDにGCBポインタを書き込
むことにより、新たに生成されたVMDに前記GCBを
接続する。
そしてステップ14で、ゲストUPS制御領域のLDE
Vポインタ・リストを作成する。
次にステップ16で、ゲストGが専用する使用可能なC
PUを選択する。ステップ17で、VM/PMP領域に
ある前記CPUのPSAを探し、PSAにおける専用フ
ィールドを見つけ、オン状S(例えば、1状態)にセッ
トする。次いでステップ18で、前記CPUの制御レジ
スタ(CR)に、ゲストのGCBにある、ゲストに割当
てられたISC値をロードする。次にゲスト19で、U
PSのコピーをゲストGCBにあるMS絶対アドレスに
ロードする。若し、第9図のステップのどれかが万一失
敗したら、新しいゲストのログオンは実行できない。
第4図には、VM/PMP制御プログラムにあるタスク
指名ルーチンの流れ図を示す。タスク指名ルーチンは、
MPの全CPUで同時に実行できる。CPUはどれも実
行を要するごとに、ステップ31を開始し、タスク指名
リストをアクセスする。そのため、CPUは先ず第1図
のVMDロック・フィールド200をセットしなければ
ならない。CPUがVMDタスク指名リストをアクセス
できるのはこの時しかない。該ロツ々をセラ1−するに
は、CPUは、通常の比較およびスワップ命令のような
命令をうまく実行しなければならない。
ロック・フィールドがCPUによってセットされると、
システムのCPU間の約束によって該CPUしか、前記
リストのVMDをアクセスできない。
次に該CPUのタスク指名プログラムはステップ32に
進み、リスト上の最初のVMDブロック(システムVM
D 201)を検査し、その作業可能フィールドにある
ビットのどれかがオンであるかどうかを決め、実行可能
な一般的な型システム作業があるかどうかを指示する。
若しあれば、該作業は、VM/SPプログラムが行なう
従来の方法で処理される。作業可能フィールドは、VM
/SPで用いた通常のVMDで始まったものと推定され
る。
あるVMシステム作業が完成した後、または、若し、シ
ステムVMD 201の作業可能フィールドの全ビット
がオフならば、ステップ38に進み、次のVMD (検
査される最初のUPS VMD、すなわち、UPSI 
VMD 203として示される)に移動する。次にステ
ップ34で、CPUIDフィールドを検査し、このVM
Dが特定のCPUに専用されているかどうかを決定し、
それによって、その作業のすべては、そのVMDに1.
J)を有するCPUのみで行なわれなければならない。
若し、CPU IDフィールドがOであり、そのVMD
を指示するならば、ステップ36に進み。
VM/PMP領域にあるこのCPUのPSAの専用フィ
ールドを検査することにより、このタスク指名プログラ
ムを実行しているCPUが非専用CPUであるかどうか
を決定する。若し、このCPUの専用フィールドはオン
であるが、このVMDの場合はオンではないならば、こ
のVMDの作業はこのCPUでは実行できず(すなわち
、このCPUは別のVMDに専用されている)、ステッ
プ33に戻り、次のVMD (例、UPS VMD20
5)に移動する。
他方、若しステップ36で、CPU PSAの専用フィ
ールドがオフであわば、この非専用VMDはこの非専用
CPUで作業を実行できる。込に、ステップ42に進み
、このVMDの作業可能フィールドの任意のビットが0
であるかどうかを決定する。若し、作業が使用可能では
ないなら、再びステップ33に進む。しかし、若し作業
が使用可能ならば、VMDタスク指名リストはステップ
43でアンロックされ、第1図のVMDロック・フィー
ルド200をリセットするので、タスク指名リストは別
のCPUで検査できる。次にステップ44で、このVM
DのPMPフラグを検査し、それがUPS作業を表わす
か、VM作業を表わすかを決める。若し、フラグがオン
ならば、出口Aから第5図に進み、非専用CPU′?1
−UPS作業を実行する。若し、PMPフラグがオフな
らば、ステップ46に進み、非専用CPUで通常のVM
ゲストとしてこのVMDの作業を実行する。
しかしながら、ステップ34で、若し、VMDのCPU
 IDフィールドが専用CPUを指定すれば、イエスの
出口からステップ41に進み、VMDのC’PU ID
フィールドを実行中のC,PUのPSAの専用フィール
ドにあるCPU IDと比較する。若し、両者が一致し
なければ、このCPUはこのVMDには専用されておら
ず、ノの出口からステップ33に戻り、次のVMDに進
む。
他方、ステップ41で1両者が一致すれば、このCPU
はこのVMDに専用されており、イエスの出口からステ
ップ42に進み、VMDの作業可能フィールドを検査す
る。若し、ステップ42で、とのVMDの作業が使用可
能でないなら、ノーの出口からステップ33に戻る。し
かし、若し、作業可能フィールドがオンならば、ステッ
プ43に進み、VMDタスク指名リストをアシロツクす
るので、MPにある別のCPUによって検査される。
次いで、ステップ44に進み、このVMDにあるPMP
ビットの状態を検査する。若し、PMPビットがオンな
らば、UPS作業はこのVMDのために専用されており
、出口Aから第5図に進み、UPS作業を行なう。若し
、PMPビットが、オフならば、UPS作業は存在しな
いが、VM作業は存在し、ノーの出口からステップ46
に進み、このCPUで通常のVM作業を行なう。
CPUでVM作業またはUPS作業が完了すると、ステ
ップ46から、または第5図の出口Bがらステップ33
に再び進み、第4図のプロセスが繰返される。
PMP作業が存在する場合、第4図の出口Aがら第5図
に進み、PMPプログラムは、ステップ52で、SIE
命令を出し、CPUをエミュレーション状態に置き、そ
れぞれのCPUがUPSプログラムを実行するのに必要
なアーキテクチャをエミュレートし、ステップ53でU
PSコードを実行する。
UPSコード実行は、SIE通知割込みがあるごとに一
時的に終了する。これは、ステップ54で、(SIE命
令を実行中の)CPUが、SIE実行では処理できず、
監視制御プログラム、すなわち、この場合はVM/PM
Pの介入を必要とする命令の型または特殊な状態を検出
することにより行なわれる。I10処理を取扱うSIE
割込みを生じる基本的に重要な下記の2種類の状態は:
(1)Ilo(SIOまたは5IOF)開始命令、(2
)Ilo割込み可能状態 である。従って、第5図のステップ54には、I10装
置を開始するSIOまたは5IOFの、CPUによる検
出が含まれる。その場合、動作はステップ56に進み、
要求されたI10装置の開始に関連するLDEV/PD
EV10RBを見つける。また、若し、ステップ54で
、(現在のUPSゲストの状態記述子(SD)にある現
在のPSWでI10割込可能ビットをオンにセットする
システム・マスク・セット命令のような)I10割込可
能が検出されれば、出口Cを経て、第6図に進む。また
、ステップ54で、若し、本発明と無関係な他の種類の
通知割込み状態が検出されjLば、出口55に進み1本
発明の範囲外の手段によって処理される。
若し、SIOまたは5IOF命令が通知割込みを生じた
ら、ステップ56に進み、VM/PMPプログラムが現
在のGCB (例、第1図のG C13210)にある
LDEVリスト・ポインタを使用して特定のLDEVブ
ロックを見つける。すなわち、第1図の関連するUPS
制御領域にあるLDEVポインタ・リストが見つかると
+ VM/PMPプログラムは、SIOまたはS IO
F命令で指定されたI10アドレスを、LDEVポイン
タ・リストへのインデックスとして用い、第8図に示さ
れたタイプの要求されたLDEv135のポインタ・ア
ドレス−第1図の関連するUPS制御領域にあるーを得
る。アクセスされたLDEVにはPDEVポインタがあ
り、第8図の、要求さ九たI10装置のPDEVブロッ
ク133を見つける。(I10装置のPDEVブロック
は1つしかないが、I10装置のLDEVブロックの数
は、同じ工/○装置を共用するゲストの数と同じである
。)VM/PMPは、たとえ対応するPDEVブロック
が使用中であっても、ゲストのLDEVブロックをどれ
でも処理できる。
また、PMPプログラムは、アクセスされたLDEVブ
ロックに関連したORB (動作要求ブロック)をアク
セスする。次に、ステップ5.7でPMPは、LDEV
10RBブロックニ、それぞれのゲストのCAWおよび
ゲストのページ0から得られる、いくつかのフィールド
をロードする。これらは: (1)UPSゲストの保護キー・フィールド、(2)ゲ
ストのチャネル・プログラム・アドレスである。
次に、第5図のステップ58では、在来型の比較および
スワップ・ルーチンによってPDEVロック・バイトを
オンにセットし、所要のロックがオンにセットされるま
でスピンする。
次にステップ59で、要求された■/○装置を開始する
。この動作は第7図に詳細に示さ九たルーチンによって
制御される。第7図のステップ71で、このルーチンは
、対応するPDEVブロック133(第8図)の使用中
ビットを検査する。
若し、このビットがオンなら、表示されたI10装置は
使用中であり、現在の要求に対し、いまは使用できない
。この場合、イエスの出口からステップ92に進み、こ
の要求を、PDEVブロック133にある装置待ち行列
ポインタが指定する、第8図のI10要求待ち行列に加
える。そして、ステップ97で、PDEVブロック13
3はアンロックされ、第5図のステップ59に戻り、V
M/PMPは再びSI’E命令を出し、この同じCPU
で同じUPSゲスト・プログラムの実行を続ける。第7
図のステップ91で、PDEVブロック133のPDE
V使用中フィールドがオフで、装置が使用中ではないこ
とを表示すれば、ノーの出口からステップ93に進み、
PDEVがこのUPSに現に割当てられているかどうか
を決定するため、:(7)UPS(7)LDEV IS
CとPDEVI33(第8図)のISCフィールドとを
比較する。
若し、両者が等しければ、イエスの出口からステップ9
6に進み、工/○装置を起動する37〇−XAサブチャ
ネル起動(SSCH)命令を出す。
これに対し、ステップ94の比較結果が不一致なら、ス
テップ94に進み、サブチャネルのISCをこのUPS
のISOに変更する370−XAサブチャネル変更(M
SCH)命令を出す。そしてPDEV ISCはLDE
V ISCに対応するように更新される。そしてステッ
プ96に進み、最後にサブチャネルを起動する5SCH
命令を実行する。
次いでステップ97で、PDEVをアンロックし、装置
を共用する別の要求UPSによって使用できるようにす
る。
従って、UPSはどれも、たとえ装置が使用中で、PD
EVの操作が装置動作と重なっても、アンロックされた
PDEVをアクセスできる。しかしながら、若し、新し
いI10要求者がPDEVの使用中ビットがオンである
ことを発見し、要求が装置待ち行列に加えられれば、新
しい要求は、その装置からの後のI10割込みによって
、■10要求待ち行列が該装置の現に存在するI10要
求について検査されるまで、I10装置をアクセスでき
ない。
ステップ97の出口から第5図に戻り、SIE命令を再
び出してこの要求のUPSコードの実行の継続する。
最後には、起動されたI10装置は、その動作点に達し
、このCPUに対しI10割込み信号を生成する。I1
0割込みは、サブチャネルと関連したI10割込みサブ
クラス・マスク・ビットが1であり、かつ、CPUがI
10割込みについて使用可能であるときしか、生じるこ
とができない。
若し、チャネル・サブシステムがサブチャネルからの割
込み要求の優先順位を確立したが、CP Uが170割
込みを禁止されたならば、サブチャネルに関連したI1
0割込みサブクラス・マスク・ビットが1であることを
条件として、割込みは、CPUを割込み可能にする命令
の終了直後、かつ次の命令が実行される前に生じる。
割込みによって、現在のPSWが、(1:PU PSA
実記憶位置56に古いPSWとして記憶され、割込みに
関連したI10割込みコードが、割込みを可能にするC
PU PSAにある実記憶位置184〜191に記憶さ
れる。続いて、新しいPSWが実記憶位置120からロ
ードされ、そのPSWによって指示されたCPU状態で
処理が再開される。割込みを生じるサブチャネルは、割
込みコードによって識別される。I10割込みコードは
、I BM Publication Form No
、SA22−7085−0でフォーマットが定義される
割込み応答ブロック(IRB)はサブチャネル検査(T
SCH)命令の記憶オペランドである。
IRBアドレスの下位2ビツトは0で、ワード境界のI
RBを定義する。IRBは、主要な3つのフィールドと
して、サブチャネル・ステータス・ワード(scsw)
、拡張ステータス・ワード(ESW)、および拡張制御
ワード(ECW)を含む。
従って、I10割込み信号は、それぞれのCPUのハー
ドウェア割込み動作を生じる。CPUのPSAは、CP
U PSAを見つけるCPUのプレフィックス・レジス
タの絶対アドレスの使用により、VM/PMP領域で見
つかる。このPSAにある新しいIlo、PSWアドレ
スにより、第5図のステップ60に進み、第8図に示さ
れた装置のI’10割込みパラメータをアクセスする。
ステップ61で、割込みパラメータのビット桁137を
検査し、装置がUPSの装置かVMの装置かを決める。
若し、VMの装置なら、VM制御プログラムに分岐し、
本発明に関連しない従来の方法で実行されるI10割込
みを処理する。また若し、UPSの装置なら5割込パラ
メータはLDE’Vのアドレスであり、ステップ62に
進んで、LDEVにあるPDEVポインタからPDEV
をアクセスする。
次にステップ63で、PDEVロックをセットし、ステ
ップ64で、サブチャネル検査(TSCH)命令を実行
してMSにあるTSCHオペランド位置のscswを得
る。
次にステップ66で、ゲストSDにあるゲストの現在の
PSW(ゲストのVMDに存在する)でI10割込み可
能ビットがオンかどうかを決定す−る。若し、ゲストの
I10割込みが可能でないなら、ノーの出口からステッ
プ67に進み、PMPプログラムは、そのゲストのSD
にある割込みフラグをオンにセットし、割込みのscs
w <サブチャネル・ステータス・ワード)をLDEV
に記憶することにより、関連LDEVにあるI10割込
みを待ち行列に入れ、該LDEVを、UPSゲストのI
10割込み待ち行列に連鎖する。そして、ステップ69
で、■/○起動要求待ち行列134をアクセスし、この
I10装置のPDEVの工10起動要求待ち行列にI1
0起動要求があるがどうかを決定する。若し、結果がイ
エスなら、ステップ71で、第7図のI10起動ルーチ
ンを、前に説明したように実行し、PDEVのI10起
動待ち行列の先頭の1つのI10要求が実行される。
若し、I10起動要求が存在しなければ、ステップ70
に進み、PDEVのロック・フィールドをオフにセット
し、次いでステップ72で、現在のゲストのVMDにあ
る作業可能フラグを検査する。
若し、作業可能フラグがすべてオフならば、ゲストはラ
ンできず、出口Bがら第4図に戻り、このCPUについ
て他の可能な作業がVMDリストにあるかどうかを決定
する。また、若し、作業可能フラグがオンならば、イエ
スの出口からステップ52に戻り、再びSIE命令を出
してゲストのUpsコード実行を続ける。
第5図のステップ66で、若し、ゲストが110割込み
可能なら、イエスの出口からステップ68に進み、VM
/PMPがI10割込みのプログラム・シミュレーショ
ンを実行することにより。
このUPSゲストの110割込みを処理する。170割
込みのシミュレーションは、ゲストのVMDにあるSD
で見つかった、ゲストの現在のPSWの読取り、次いで
、ゲストの現在のPSWを、それぞれのUPS領域のゲ
スト・ページ0にある古いilo PSW記憶位置に書
込むことを含む。
そして、新しいIlo PSWがゲスト・ページOから
読取られ、ゲストのSDの現在のPSW記憶位置に書込
まれる。また、(ステップ64で、TSCH命令実行に
−よって読取られたscswは、ゲスト・ページOのC
8W記憶位置にコピーされる。次いで、ステップ69に
進み、前に説明したように動作する。
第5図のステップ54のSIE通知割込みが、110割
込み可能として検出されるごとに、出口Cから第6図の
ステップ81に進み、第1図のゲス81フ0割込みポイ
ンタによって見つけた、現に110割込み待ち行列の先
頭にある110割込み(すなわち、scsw)を取出す
。第5図のステップ67で、ゲストのI10装置の11
0割込み待ち行列に加えられた幾つかの110割込みで
ゲストが割込みできなかったこともありうる。第6図の
プログラミングによるパ入により、PMPプログラムは
、該待ち行列の先頭にある1つの110割込み(SC8
W)を処理する。ステップ81で、VM/PMPにより
割込みが待ち行列から取出され、ステップ82で、vM
/PMPはゲストの割込みをシミュレートする。この動
作は、(それぞれのゲストのVMDにあるSDからの)
ゲストの現在のPSWフィールドを、ゲストのMS領域
の最初の、このゲストのページOにある。
ゲストの古いIlo PSWフィールドにコピーするこ
とにより行なわれる。次いで、ゲストのページOにある
、ゲストの新しいIlo PSWは。
(ゲストのSDにある)ゲストの現在のPSW記憶位置
に書込まれる。最後に、ステップ81で待ち行列から取
出された、LDEVからのscswは、ゲストのページ
0のcsw psw記憶位置に書込まれる。
そして、出口りから第5図のステップ52に戻り、再び
SIE命令を出し、UPSコードを実行することにより
、ゲストUPSプログラムの実行を再開する。
[発明の効果コ 本発明は、MPシステムでランするように作成されては
いないユニプロセッサ・システム(UPS)プログラム
を、MPの複数CPUで実行する独特な多重処理(MP
)方法を提供する。UPSの個々のコピーは、MPの、
共用された主記憶装置(MS)に設けられる。ハイパバ
イザ型の制御プログラム(区分された多重処理システム
、PMPと呼ばれる)はMP右方法用い、UPSゲスト
仮想計算機として、MPの個々のCPUでUPSの複数
コピーの同時実行が可能である。PMPは、UPSの特
定のコピーだけの実行にCPUをどれでも専用できる。
UPSのコピーは、互いに独立に、別々のCPUでラン
するが、I10装置を共用できる。PMPは、370−
XAアーキテクチャを有するCPUで動作し、CPUで
エミュレーションを利用するように設計された、仮想計
算機(VM)型のジョブ入力およびタスク指名制御プロ
グラミング・システムによってランし、同一のまたはも
う1つのアーキテクチャ(例えば、システム7360ま
たはシステム/370)用として設計されたUPSが、
エミュレーション命令(例えば、解釈実行開始、SIE
命令)を用いることにより、UPSゲストとして370
−XA CPUで実行することができる。UPSコピー
(すなわち、UPSゲスト)を実行する効率的な直接I
10処理は、各UPSのMS境界が別々の21バイト絶
対アドレスにあることを必要とし、それによって、I1
0プロセッサは容易に、各UPSが用いるチャネル・プ
ログラムおよびI10データ・アドレスを、MPの実際
の絶対的MSアドレスに変換する。ただし、nはUPS
が用いる有効アドレスのビット数である。それぞれのゲ
ストのゾーン・パラメータは、2n境界アドレスから取
出される。このチャネル変換は、変換表を必要とせず、
変換ごとのMSアクセスを避けることができる。
CPUは、セグメントおよびページ・テーブルを用いて
、UPSゲストのCPU要求のUPSアドレスを変換で
きる。
【図面の簡単な説明】
第1図は本発明の良好な実施例で監視用に区分された多
重処理(PMP)プログラムが使用するVM/PMPタ
スク指名リストおよびそのPMP制御ブロックを表わす
図、 第2図は本発明を利用できる多重処理(MP)システム
を表わす図、 第3図はUPSゲストが使用する4つのゲスト領域、V
M/PMP領域、および絶対アドレス範囲、実アドレス
範囲ならびに仮想アドレス範囲を含む主記憶装置のアド
レッシング・マツプを示す図、 第4図は良好な実施例を使用しているMPのすべてのC
PUによって並行して実行されるVM/PMP制御プロ
グラム・タスク指名ルーチンを示す図、 第5図は良好な実施例の区分されたマルチプロセッサ・
プログラム(PMP)の流れ図、第6・図は第5図から
分岐したI10割込み待ち行列取出しルーチンを表わす
流れ図、 第7図は第5図の良好な実施例のチャネル・プログラム
を開始する工/○開始ルーチンを示す流れ図、 第9図はUPSゲスト・チャネル・プログラムのアドレ
スを変換し、UPSゲスト・サブチャネルをISOフィ
ールドを介してCPUに論理的に接続する代表的なI1
0サブチャネルを示す図、第9図は実施例の動作を開始
するシステム初期化プログラムの方法の流れ図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士 頓 宮 孝 − (外1名) FIG、2 FIG、3 FIG、4 FIG、4噛)ら FIG、5 FIG、6 FIG、5へ FIG、4へ 第1頁の続き 0発 明 者 アラン・サミュエル・ アメリット − 0発 明 者 スチーブン・リチャー アト・ニューソ
ン リ□ 0発 明 者 キャスパー・アンソニ アー・スカルジ
 − 0発 明 者 グレン・ウオーレン・ アシアーズ、ジ
ュニア デ メリカ合衆国ニューヨーク州ボーキプシー、サトン・バ
ク・ロード21番地 メリカ合衆国ニューヨーク州ウッドストック、タトラ・
ンジ・ロード(番地なし) メリカ合衆国ニューヨーク州ポーキプシー、アカデミ台
ストリート16幡地 メリカ合衆国ニューヨーク州つルスター・パーク、ノ1
−/バーグ・ロード24旙地

Claims (1)

  1. 【特許請求の範囲】 主記憶装置を共用する複数の中央処理装置と複数の入出
    力装置を該主記憶装置に接続する入出力処理装置とを有
    するマルチプロセッサ・システムの制御方法であって、
    1つのユニプロセッサ、プログラミング・システム(U
    PS)が任意のアーキテクチャを持ったユニプロセッサ
    ・システムにおいて実行するよう設計されたものであっ
    ても、該マルチプロセッサ・システムが該UF)Sを該
    複数の中央処理装置において同時に実行できるようにす
    る制御方法において、 該UPSの複数のコピーを該主記憶装置の中に設け、該
    コピーの各々にはUPSアドレスOから、該UPSのプ
    ログラムされた各アドレスにおけるビット位置の数n(
    但し、nはTJPSのアドレスにおける最上位桁ビット
    位置の桁数である)によって決まる最大のUPSアドレ
    スまで、の範囲内の同じセットのUPSアドレスを与え
    。 該UPSの複数のコピーの各々のUPSアドレスOに対
    して相異なるUPSコピー境界を、該Upsコピー境界
    が主記憶装置の絶対アドレスでは2nバイトの倍数とな
    るように、設定し、該複数の中央処理装置における実行
    のために該主記憶装置における該tJPsの複数のコピ
    ーから取出し可能なUPSプログラムを用いる複数のU
    PSゲストを、該複数の中央処理装置すべてにおいて実
    行可能なマルチプロセッサ制御プログラムの制御の下に
    該中央処理装置の各々において同時に実行し、 該複数のUPSゲストに対して一組の共用された物理的
    経路による該入出力装置の共用可能性を与える ことを特徴とするマルチプロセッサ・システム制御方法
JP59184742A 1983-10-05 1984-09-05 マルチプロセツサ・システム制御方法 Granted JPS6083168A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/539,762 US4564903A (en) 1983-10-05 1983-10-05 Partitioned multiprocessor programming system
US539762 1983-10-05

Publications (2)

Publication Number Publication Date
JPS6083168A true JPS6083168A (ja) 1985-05-11
JPH02734B2 JPH02734B2 (ja) 1990-01-09

Family

ID=24152538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59184742A Granted JPS6083168A (ja) 1983-10-05 1984-09-05 マルチプロセツサ・システム制御方法

Country Status (5)

Country Link
US (1) US4564903A (ja)
EP (1) EP0136666B1 (ja)
JP (1) JPS6083168A (ja)
CA (1) CA1209270A (ja)
DE (1) DE3479768D1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499379A (en) * 1988-06-30 1996-03-12 Hitachi, Ltd. Input/output execution apparatus for a plural-OS run system
JP2009053918A (ja) * 2007-08-27 2009-03-12 Toyota Motor Corp マルチコアシステム、電子制御ユニット、モータecu、制御システム、命令実行方法
US9104818B2 (en) 2012-03-16 2015-08-11 Fujitsu Limited Accelerator management device, accelerator management method, and input-output device

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4974151A (en) * 1985-02-21 1990-11-27 International Business Machines Corporation Configuration capability for devices in an open system having the capability of adding or changing devices by user commands
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
JPS61206043A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd 仮想計算機システムにおける割込制御方法
US4660144A (en) * 1985-05-23 1987-04-21 International Business Machines Corp. Adjunct machine
US4783736A (en) * 1985-07-22 1988-11-08 Alliant Computer Systems Corporation Digital computer with multisection cache
US4794521A (en) * 1985-07-22 1988-12-27 Alliant Computer Systems Corporation Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
JPS6258341A (ja) * 1985-09-03 1987-03-14 Fujitsu Ltd 入出力割込処理方式
CA1270338C (en) * 1985-09-11 1990-06-12 DATA PROCESSING SYSTEM FOR PROCESSING UNITS WITH DIFFERENT RATES
JPS62159239A (ja) * 1985-12-30 1987-07-15 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 仮想マシンの編集システム
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US4925311A (en) * 1986-02-10 1990-05-15 Teradata Corporation Dynamically partitionable parallel processors
JPH0658650B2 (ja) * 1986-03-14 1994-08-03 株式会社日立製作所 仮想計算機システム
US4939507A (en) * 1986-04-28 1990-07-03 Xerox Corporation Virtual and emulated objects for use in the user interface of a display screen of a display processor
US4937036A (en) * 1986-04-28 1990-06-26 Xerox Corporation Concurrent display of data from two different display processors and user interface therefore
US4920481A (en) * 1986-04-28 1990-04-24 Xerox Corporation Emulation with display update trapping
US5153577A (en) * 1986-04-28 1992-10-06 Xerox Corporation Mapping character color attributes into grey pixel patterns
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US5113517A (en) * 1986-04-28 1992-05-12 Xerox Corporation Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween
US4899136A (en) * 1986-04-28 1990-02-06 Xerox Corporation Data processor having a user interface display with metaphoric objects
US4780821A (en) * 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US5038281A (en) * 1986-09-19 1991-08-06 International Business Machines Corporation Acceleration of system interrupts between operating systems in guest-host relationship
US5062040A (en) * 1986-12-22 1991-10-29 At&T Bell Laboratories Handling of notification of asynchronous events by user and stub processes of a distributed process executing on a plurality of processors of a multi-processor system
US5280604A (en) * 1986-12-29 1994-01-18 Nec Corporation Multiprocessor system sharing expandable virtual memory and common operating system
US4845624A (en) * 1987-03-05 1989-07-04 International Business Machines Corporation Relational data base lock avoidance system
US5475836A (en) * 1987-04-01 1995-12-12 Lotus Development Corporation Interface for providing access to external data sources/sinks
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US4862349A (en) * 1987-10-19 1989-08-29 International Business Machines Corporation Method for extracting and/or replacing control system information in a computer operating system
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US5129087A (en) * 1988-02-03 1992-07-07 International Business Machines, Corp. Computer system and a method of monitoring transient data structures in a computer system
JP2561696B2 (ja) * 1988-03-31 1996-12-11 三菱電機株式会社 ネットワークシステムにおける共用領域管理方法
US5124909A (en) * 1988-10-31 1992-06-23 Hewlett-Packard Company Software program for providing cooperative processing between personal computers and a host computer
US5341484A (en) * 1988-11-02 1994-08-23 Hitachi, Ltd. Virtual machine system having an extended storage
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5016160A (en) * 1988-12-15 1991-05-14 International Business Machines Corporation Computer system having efficient data transfer operations
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5325517A (en) * 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5144692A (en) * 1989-05-17 1992-09-01 International Business Machines Corporation System for controlling access by first system to portion of main memory dedicated exclusively to second system to facilitate input/output processing via first system
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US5369767A (en) * 1989-05-17 1994-11-29 International Business Machines Corp. Servicing interrupt requests in a data processing system without using the services of an operating system
US5369749A (en) * 1989-05-17 1994-11-29 Ibm Corporation Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
US5283868A (en) * 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
AU650242B2 (en) * 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
JPH03224037A (ja) * 1989-11-30 1991-10-03 Digital Equip Corp <Dec> サーバー拡張用アーキテクチャ
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
JPH0474229A (ja) * 1990-07-17 1992-03-09 Toshiba Corp 情報処理装置
JPH0496828A (ja) * 1990-08-15 1992-03-30 Hitachi Ltd 多重絶対アドレス空間構成方法および装置
EP0472861B1 (en) * 1990-08-31 1995-09-20 International Business Machines Corporation Method and apparatus for cross-partition control in a partitioned process environment
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
JPH04367963A (ja) * 1991-06-15 1992-12-21 Hitachi Ltd 共有記憶通信方法
US5222215A (en) * 1991-08-29 1993-06-22 International Business Machines Corporation Cpu expansive gradation of i/o interruption subclass recognition
US5636373A (en) * 1991-09-04 1997-06-03 International Business Machines Corporation System for synchronizing logical clock in logical partition of host processor with external time source by combining clock adjustment value with specific value of partition
US5423013A (en) * 1991-09-04 1995-06-06 International Business Machines Corporation System for addressing a very large memory with real or virtual addresses using address mode registers
JPH0831041B2 (ja) * 1991-09-06 1996-03-27 インターナショナル・ビジネス・マシーンズ・コーポレイション プログラム条件処理方法およびコンピュータ・システム
CA2061117C (en) * 1991-12-02 1998-09-29 Neta J. Amit Apparatus and method for distributed program stack
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
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
US5371867A (en) * 1992-11-10 1994-12-06 International Business Machines Corporation Method of using small addresses to access any guest zone in a large memory
US5377337A (en) * 1993-06-08 1994-12-27 International Business Machines Corporation Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
JP2900767B2 (ja) * 1993-09-20 1999-06-02 株式会社日立製作所 仮想計算機システムの仮想計算機走行時間間隔制御方式
US5664098A (en) * 1993-09-28 1997-09-02 Bull Hn Information Systems Inc. Dual decor capability for a host system which runs emulated application programs to enable direct access to host facilities for executing emulated system operations
US5515525A (en) * 1993-09-28 1996-05-07 Bull Hn Information Systems Inc. Emulating the memory functions of a first system on a second system
WO1995013583A1 (en) * 1993-11-09 1995-05-18 Conner Kenneth H First come memory accessing without conflict
US5907684A (en) * 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5659756A (en) * 1995-03-31 1997-08-19 International Business Machines Corporation Method and system for providing access to logical partition information on a per resource basis
US6421679B1 (en) 1995-10-27 2002-07-16 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US5897658A (en) * 1996-11-26 1999-04-27 International Business Machines Corporation Method and apparatus for protecting portions of memory by providing access requests to a communications area for processing by a hidden server
US6189145B1 (en) 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US5923890A (en) * 1997-07-30 1999-07-13 International Business Machines Corporation Method and apparatus for optimizing the handling of synchronous requests to a coupling facility in a sysplex configuration
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6625638B1 (en) 1998-04-30 2003-09-23 International Business Machines Corporation Management of a logical partition that supports different types of processors
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6209106B1 (en) 1998-09-30 2001-03-27 International Business Machines Corporation Method and apparatus for synchronizing selected logical partitions of a partitioned information handling system to an external time reference
US6453392B1 (en) 1998-11-10 2002-09-17 International Business Machines Corporation Method of and apparatus for sharing dedicated devices between virtual machine guests
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6519660B1 (en) 1999-09-28 2003-02-11 International Business Machines Corporation Method, system and program products for determining I/O configuration entropy
US6651125B2 (en) 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6986137B1 (en) 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6587938B1 (en) 1999-09-28 2003-07-01 International Business Machines Corporation Method, system and program products for managing central processing unit resources of a computing environment
US7007276B1 (en) 1999-09-28 2006-02-28 International Business Machines Corporation Method, system and program products for managing groups of partitions of a computing environment
US7568052B1 (en) 1999-09-28 2009-07-28 International Business Machines Corporation Method, system and program products for managing I/O configurations of a computing environment
US7051188B1 (en) 1999-09-28 2006-05-23 International Business Machines Corporation Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US6820207B2 (en) 2001-03-01 2004-11-16 International Business Machines Corporation Method for rebooting only a specific logical partition in a data processing system as per a request for reboot
US6665759B2 (en) 2001-03-01 2003-12-16 International Business Machines Corporation Method and apparatus to implement logical partitioning of PCI I/O slots
US6567897B2 (en) 2001-03-01 2003-05-20 International Business Machines Corporation Virtualized NVRAM access methods to provide NVRAM CHRP regions for logical partitions through hypervisor system calls
US7620955B1 (en) * 2001-06-08 2009-11-17 Vmware, Inc. High-performance virtual machine networking
US6792514B2 (en) 2001-06-14 2004-09-14 International Business Machines Corporation Method, system and computer program product to stress and test logical partition isolation features
US6625704B2 (en) * 2001-08-08 2003-09-23 Sangate Systems, Inc. Data backup method and system using snapshot and virtual tape
US6971002B2 (en) * 2001-08-09 2005-11-29 International Business Machines Corporation Method, system, and product for booting a partition using one of multiple, different firmware images without rebooting other partitions
US6883116B2 (en) * 2001-09-27 2005-04-19 International Business Machines Corporation Method and apparatus for verifying hardware implementation of a processor architecture in a logically partitioned data processing system
US6968473B2 (en) * 2001-11-15 2005-11-22 International Business Machines Corporation Method and apparatus for generating a virtual clock in a data processing system
US7099814B2 (en) 2002-03-29 2006-08-29 International Business Machines Corportion I/O velocity projection for bridge attached channel
US7039769B2 (en) * 2002-05-30 2006-05-02 International Business Machines Corporation Direct addressed shared compressed memory system
US7010596B2 (en) * 2002-06-28 2006-03-07 International Business Machines Corporation System and method for the allocation of grid computing to network workstations
US7953588B2 (en) * 2002-09-17 2011-05-31 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US8108843B2 (en) * 2002-09-17 2012-01-31 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US9043194B2 (en) * 2002-09-17 2015-05-26 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
US7496494B2 (en) * 2002-09-17 2009-02-24 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US7146607B2 (en) * 2002-09-17 2006-12-05 International Business Machines Corporation Method and system for transparent dynamic optimization in a multiprocessing environment
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US7149821B2 (en) * 2003-01-29 2006-12-12 International Business Machines Corporation Predictably defining input/output configurations for environments employing fabrics
US7130949B2 (en) * 2003-05-12 2006-10-31 International Business Machines Corporation Managing input/output interruptions in non-dedicated interruption hardware environments
US6996638B2 (en) * 2003-05-12 2006-02-07 International Business Machines Corporation Method, system and program products for enhancing input/output processing for operating system images of a computing environment
US6807579B1 (en) 2003-05-12 2004-10-19 International Business Machines Corporation Method, system and program products for assigning an address identifier to a partition of a computing environment
US7177961B2 (en) * 2003-05-12 2007-02-13 International Business Machines Corporation Managing access, by operating system images of a computing environment, of input/output resources of the computing environment
US7290070B2 (en) * 2003-05-12 2007-10-30 International Business Machines Corporation Multiple logical input/output subsystem facility
US7127599B2 (en) * 2003-05-12 2006-10-24 International Business Machines Corporation Managing configurations of input/output system images of an input/output subsystem, wherein a configuration is modified without restarting the input/output subsystem to effect a modification
US7174550B2 (en) * 2003-05-12 2007-02-06 International Business Machines Corporation Sharing communications adapters across a plurality of input/output subsystem images
US7000036B2 (en) * 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7130938B2 (en) * 2003-05-12 2006-10-31 International Business Machines Corporation Method, system and program products for identifying communications adapters of a computing environment
US7826386B2 (en) * 2003-12-08 2010-11-02 International Business Machines Corporation Facilitating the configuring of communications environments
US7277968B2 (en) * 2004-01-23 2007-10-02 International Business Machines Corporation Managing sets of input/output communications subadapters of an input/output subsystem
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
US7707583B2 (en) * 2004-05-20 2010-04-27 Sap Ag Robust sharing of runtime systems
US8214622B2 (en) 2004-05-27 2012-07-03 International Business Machines Corporation Facilitating management of storage of a pageable mode virtual environment absent intervention of a host of the environment
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US7610200B2 (en) * 2004-08-30 2009-10-27 Lsi Corporation System and method for controlling sound data
US20060143517A1 (en) * 2004-12-22 2006-06-29 Microsoft Corporation Replicated virtual machine
US9753754B2 (en) * 2004-12-22 2017-09-05 Microsoft Technology Licensing, Llc Enforcing deterministic execution of threads of guest operating systems running in a virtual machine hosted on a multiprocessor machine
US20060212840A1 (en) * 2005-03-16 2006-09-21 Danny Kumamoto Method and system for efficient use of secondary threads in a multiple execution path processor
US7702789B2 (en) * 2005-11-03 2010-04-20 International Business Machines Corporation Apparatus, system, and method for reassigning a client
US20070150685A1 (en) * 2005-12-28 2007-06-28 Gbs Laboratories Llc Computer architecture for providing physical separation of computing processes
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7500023B2 (en) * 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7937507B2 (en) * 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8001298B2 (en) * 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US9158592B2 (en) 2011-05-02 2015-10-13 Green Hills Software, Inc. System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9772867B2 (en) * 2014-03-27 2017-09-26 International Business Machines Corporation Control area for managing multiple threads in a computer
US9389897B1 (en) 2014-12-18 2016-07-12 International Business Machines Corporation Exiting multiple threads of a simulation environment in a computer
US9715466B1 (en) * 2016-09-23 2017-07-25 International Business Machines Corporation Processing input/output operations in a channel using a control block
US11334498B2 (en) * 2019-07-11 2022-05-17 Vmware, Inc. Zero copy method that can span multiple address spaces for data path applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5147350A (ja) * 1974-10-22 1976-04-22 Nippon Shisutemu Kogyo Kk Maruchipurosetsusashisutemuniokeru banchizukehoshiki
JPS5334442A (en) * 1976-09-10 1978-03-31 Oki Electric Ind Co Ltd Multi-processor system
JPS54116847A (en) * 1978-03-03 1979-09-11 Hitachi Ltd Memory control system
JPS54148346A (en) * 1978-05-12 1979-11-20 Yokogawa Hokushin Electric Corp Memory access system for multi-processor system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4187538A (en) * 1977-06-13 1980-02-05 Honeywell Inc. Read request selection system for redundant storage
US4292669A (en) * 1978-02-28 1981-09-29 Burroughs Corporation Autonomous data communications subsystem
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
US4455605A (en) * 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5147350A (ja) * 1974-10-22 1976-04-22 Nippon Shisutemu Kogyo Kk Maruchipurosetsusashisutemuniokeru banchizukehoshiki
JPS5334442A (en) * 1976-09-10 1978-03-31 Oki Electric Ind Co Ltd Multi-processor system
JPS54116847A (en) * 1978-03-03 1979-09-11 Hitachi Ltd Memory control system
JPS54148346A (en) * 1978-05-12 1979-11-20 Yokogawa Hokushin Electric Corp Memory access system for multi-processor system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499379A (en) * 1988-06-30 1996-03-12 Hitachi, Ltd. Input/output execution apparatus for a plural-OS run system
JP2009053918A (ja) * 2007-08-27 2009-03-12 Toyota Motor Corp マルチコアシステム、電子制御ユニット、モータecu、制御システム、命令実行方法
US9104818B2 (en) 2012-03-16 2015-08-11 Fujitsu Limited Accelerator management device, accelerator management method, and input-output device

Also Published As

Publication number Publication date
EP0136666A3 (en) 1987-12-09
JPH02734B2 (ja) 1990-01-09
DE3479768D1 (en) 1989-10-19
EP0136666A2 (en) 1985-04-10
EP0136666B1 (en) 1989-09-13
US4564903A (en) 1986-01-14
CA1209270A (en) 1986-08-05

Similar Documents

Publication Publication Date Title
JPS6083168A (ja) マルチプロセツサ・システム制御方法
EP0150039B1 (en) I/o execution method for a virtual machine system and system therefor
US10223300B2 (en) Set buffer state instruction
US6711605B2 (en) Multi OS configuration method and computer system
US4814975A (en) Virtual machine system and method for controlling machines of different architectures
US4742450A (en) Method to share copy on write segment for mapped files
Case et al. Architecture of the IBM System/370
JP2500045B2 (ja) 入出力チャネル・サブシステム・コ―ル命令制御方法およびcecの解釈実行方法
US7908646B1 (en) Virtualization system for computers having multiple protection mechanisms
EP0423453B1 (en) Address translation and copying process
US5499379A (en) Input/output execution apparatus for a plural-OS run system
JPS62165249A (ja) ペ−ジ・セグメント化仮想記憶デ−タ処理システムにおけるセグメント・サイズを自動的に大きくする方法
JPH04247528A (ja) データ空間への共通アクセス装置及び方法
JPH0459654B2 (ja)
US5392409A (en) I/O execution method for a virtual machine system and system therefor
JPS6248258B2 (ja)
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JPS61206042A (ja) 仮想計算機の入出力方式
JPS6336012B2 (ja)
JPH0754469B2 (ja) 仮想計算機システムのための入出力命令実行装置
JPS59140566A (ja) 情報処理装置
JPH0567973B2 (ja)
JPH0711784B2 (ja) 計算機システム
JPH0193831A (ja) 仮想計算機のオペランドアクセス制御方式