JPH076115A - データ処理システムのソフトウェアユーザによるハードウェアデータ移動機能の制御方法、プロセッサ間の操作の同期化方法、及び複数の装置制御ブロックの付与方法 - Google Patents

データ処理システムのソフトウェアユーザによるハードウェアデータ移動機能の制御方法、プロセッサ間の操作の同期化方法、及び複数の装置制御ブロックの付与方法

Info

Publication number
JPH076115A
JPH076115A JP6086984A JP8698494A JPH076115A JP H076115 A JPH076115 A JP H076115A JP 6086984 A JP6086984 A JP 6086984A JP 8698494 A JP8698494 A JP 8698494A JP H076115 A JPH076115 A JP H076115A
Authority
JP
Japan
Prior art keywords
admf
ucb
request
user
adm
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.)
Pending
Application number
JP6086984A
Other languages
English (en)
Inventor
James Antognini
アントニーニ ジェイムズ
Glen A Brent
アラン ブレント グレン
Thomas E Cook
エドワード クック トーマス
Thomas J Dewkett
ジェイ. ドゥケット トーマス
Joseph C Elliott
チャールズ エリオット ジョゼフ
Francis E Johnson
エドワード ジョンソン フランシス
Casper A Scalzi
アンソニー スカルジ カスパー
Kenneth R Veraska
ラルフ ヴェラスカ ケネス
Joseph A Williams
アーサー ウイリアムズ ジョゼフ
Harry M Yudenfriend
モーリス ユーデンフレンド ハリー
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 JPH076115A publication Critical patent/JPH076115A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation

Abstract

(57)【要約】 【目的】 データ処理システムにおけるソフトウェアユ
ーザとハードウェアADM機能との間でソフトウェア対
ソフトウェアのインタフェースとソフトウェア対ハード
ウェアのインタフェースを実行する。 【構成】 ソフトウェア対ハードウェアインタフェース
は、ADMF内の複数のコプロセッサ待ち行列の一つに
関連サブチャネルを入れるように実行されるSSCH命
令のオペランドとして、AOBアドレスを含むORBを
生成する。ADMFはAOBを用いて要求されたページ
移動を実行し、ハードウェア対ソフトウェアインタフェ
ースに送られて関連ADMF要求をADMソフトウェア
要求待ち行列から除去し、別のユーザ要求による使用の
ための関連ADM・UCBを自由にする、各要求の完了
と同時に割り込みを生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムに
おいてプログラムによって要求されるページ移動要求
が、同システムにおけるハードウェア/マイクロコード
データ移動機能(ADM機能と呼ばれる)にどのように
伝達されるかということ、及び同機能による要求の完了
がどのようにプログラムに戻るように伝達されるかとい
うことに関する。データは、同システムの主記憶装置
(MS)と拡張記憶装置(ES)との間で、又はそれら
装置の一方におけるADM機能によってページ単位で複
写される。
【0002】本件の明細書は、以下の既に出願済みの特
許出願を参照により本明細書に組み込むものであり、以
下の3件の従来技術は本件出願人に譲渡されている。 1.アメリカ特許出願、シリアル番号第07/424、
797号、タイトル:複数の媒体において、又はそれら
の間においてページの複写を制御するための非特権的命
令における仮想アドレス指定を用いたプロセス。 2.アメリカ特許出願、シリアル番号第07/816、
917号、タイトル:非同期共用プロセッサのデータ・
ムーバ方法及び手段。 3.アメリカ特許出願、シリアル番号第08/012、
187号、タイトル:非同期データ機能のための負荷平
衡且つ連続可用性の再構成制御。
【0003】
【従来の技術】拡張記憶装置(ES)は、プログラム実
行記憶レベル(主記憶装置)と電気/機械式ディスクド
ライブ記憶レベルの間のデータ処理システムの記憶階層
のすべての電子ランダムアクセス記憶レベルである。E
Sの主要な利点は、主記憶装置(MS)へと、及び主記
憶装置(MS)から、ディスクドライブよりもさらに高
速でその記憶データを転送できることである。ESは電
子ディスクと類似性がある。
【0004】MSとESは、それぞれが異なる種類の絶
対アドレス指定構造を有することによって区別される。
MSアドレス指定構造は、バイトアドレス指定装置を使
用し、ESアドレス指定構造は、S/390マシンにお
いて4096個のバイトを含むページアドレス指定装置
を使用するが、但し、多少他の機械構造であってもよ
い。MSとESは同一又は異なる物理的メモリパッケー
ジにパッケージ化(実装)されていてもよい。
【0005】ESは計算システムの共有資源であり、そ
の割り当ては、システム操作を管理するオペレーティン
グシステム(OS)制御プログラム、例えば、S/37
0とS/390メインフレーム用IBM多重仮想記憶装
置(MVS)オペレーティングシステム、によって制御
されている。
【0006】システム効率は、データがプログラムによ
ってすぐに要求されることになる場合、(ハードディス
クの代わりに)ES上にデータを記憶することによって
有効に改善される。ESの使用によって、例えば、一つ
のプログラムのデータ結果がプログラムのシーケンスに
おける次のプログラムでの使用のためにESに記憶され
る場合、システムの操作効率を有効に改善することが確
認されている。例えば、請求書作成プログラムは顧客に
送るための料金請求書を生成することができ、料金請求
書の結果は、続いて実行される在庫(インベントリ)更
新プログラムによって使用されるデータを包含して、在
庫から料金請求書の項目を削除することにより会社の在
庫を更新し、この後に続く発注プログラムは在庫管理プ
ログラムの結果を使用して、売られた在庫の補充等のた
めにベンダー(販売会社)に対する発注書を作成する。
プログラムのシーケンスを実行するための時間は、ハー
ドディスクの代わりにES上にプログラムデータ結果を
記憶することによって大幅に縮小され、その結果、コン
ピュータのプロセッサ速度を上昇させることなく、ビジ
ネス用のコンピュータ操作がより高速になる。
【0007】多くのプログラムがMSに方向付けられる
仮想アドレス指定を使用するので、MSに方向付けられ
る仮想アドレスを用いたプログラムによってESが自動
的且つ透過式に使用可能であることが重要である。ES
アドレスは、ES用関連外部ページテーブルを有するM
Sページテーブルエントリによって間接的に付与され
る。ESがMS仮想アドレスによってアドレス指定する
方法によって、命令における要求されたMS仮想アドレ
スによってESが間接的にアクセスされることを可能に
し、ここではリクエスタがESが使用中であることを感
知しないこともある。命令中の要求されたMS仮想アド
レスを変換する際にMS変換処理によってこのような間
接的な方法が提供される。
【0008】MS仮想アドレスは、周知のセグメントの
集合と、オペレーティングシステムによって初期化され
且つ管理されるページテーブルを用いることによってM
S実記憶域のアドレスに変換される。仮想アドレスを使
用すると、仮想アドレス指定データがシステムの実記憶
域に実際に存在する場所をシステムのユーザに知らせな
いことによってシステムが保護される。
【0009】仮想アドレス変換は、S/370又はS/
390データ処理システムでアドレス変換を実行するハ
ードウェア・ダイナミック・アドレス・変換機能(概し
てDATと呼ばれる)を用いることによって実行される
ことが多い。DAT機能は、セグメントテーブルを位置
付け且つその長さを指定するセグメントテーブル指定
(STD)を最初に獲得することによってアドレス変換
を行なう。セグメントテーブルがそのSTDを用いて位
置付けられた後に、仮想アドレス内のセグメントインデ
ックス(SI)(アドレス変換処理を受けている)をセ
グメントテーブル内のインデックスとして使用して、ペ
ージテーブル起点(PTO)を含むエントリを検出し、
これを用いてページテーブルにアクセスする。次に、仮
想アドレス内のページインデックス(PI)はページテ
ーブル内のインデックスとして使用されて、要求される
ページテーブルエントリ(PTE)のアドレスを獲得す
るものであり、これは、その有効ビットがオンに設定さ
れると、主記憶装置内の対応するページフレームの実ア
ドレスを包含する。ページアドレスは仮想アドレス指定
によるデータを獲得するためにアクセスされる。
【0010】データの完全性及び安全性の理由のため
に、STD及び変換テーブルはオペレーティングシステ
ム(OS)以外のプログラムには使用できない。そこ
で、OSとハードウェアのみがアドレス変換動作に必要
とされる。各変換の完了後、アドレス指定されたページ
フレームの絶対アドレスは通常、変換索引緩衝機構(バ
ッファ)(TLB)に記憶され、そこから同一ページの
データに対する後の要求のために必要とされる変換処理
を再び実行することよりもはるかに高速で獲得すること
ができ、同じページのデータへの後の要求に対する複雑
な変換プロセスを再び実行する。データという用語は、
こうしたことから、現在実行可能な状態でない記憶域内
のプログラムを含んでいる。
【0011】「ハイパー空間(hiperspaces)」の仮想概
念は、システム内の仮想アドレスを用いたプログラムに
よってESの使用を非常に容易にしている。ハイパー空
間は、ES又はDASD内の実ページフレームのデータ
によって支援される仮想アドレス空間である。ハイパー
空間内のページフレームは、仮想アドレスの変換に応答
して、実行プログラムによって仮想アドレスを介して間
接的にアドレス指定される。
【0012】仮想データ空間を含む仮想アドレス空間が
IBM・MVSオペレーティングシステム内のプログラ
ムに割り当てられると、仮想空間内のページがプログラ
ム実行に必要とされるようになるまで、実記憶空間(例
えば、MS又はES内のページフレーム)はアドレス空
間には割り当てられず、次に、プログラムによってアク
セスされる仮想ページのみが割り当てられて、MS及び
ESの少なくとも一方の実ページフレームを支援する。
このように、プログラムが仮想アドレスにおいて命令又
はデータを要求すると、MSページフレームの割り当て
がMS内の自由なページフレームを検出する仮想アドレ
ス変換処理によって行なわれ、そのアドレスは、有効状
態に設定される有効ビットを有するページテーブルエン
トリー(PTE)に配置される。対応するESページフ
レームの割り当ては、同じPTE内のES割り当てビッ
トとフラグによって行なうこともできる。
【0013】(ソース位置にある)ESページフレーム
内のデータを、(宛て先位置にある)MSページフレー
ムに複写することによって、ページはESからMSに移
動されたり、又はその反対に移動されて、通常はソース
位置にある元のページを消去することはない。
【0014】先に出願された特許出願に教示された多数
の方法においてESとMSとの間でデータは移動されて
いる。一つの方法は、前に引用されたアメリカ特許出願
シリアル番号第07/424、797号に述べられ且つ
請求されている移動ページ命令(MVPG)を用いたも
のであり、MS及びES等のデータ処理システムにおけ
る2つのランダムアクセス電子記憶装置内、又はその間
において、ソース位置とシンク(宛て先)位置との間の
どちらの方向においてもデータのページを転送するため
に、MS仮想アドレスをどのようにして使用できるかを
教示している。そのアメリカ特許出願では、ソースとシ
ンクの位置は、同じ電子媒体又は異なる電子媒体にあっ
てもよく、データに対して最も重要な媒体はデータ処理
システムの主記憶装置(MS)と拡張記憶装置(ES)
であった。
【0015】前述のアメリカ特許出願シリアル番号第0
7/424、797号のMVPG命令における仮想アド
レス指定能力は、アメリカ特許第4476524号の発
明とは非常に異なるものである。後者のアメリカ特許に
よるページ・イン及びページ・アウトの各命令は、実の
MS及びESアドレスを用いてMSとESとの間でデー
タを移動させている。これら命令は仮想アドレス指定能
力を持たない。
【0016】同期ページ転送処理は、前記第07/42
4、797号と第4476524号において述べられて
いる。同期動作は、ページ転送が完了されてから次の命
令が処理可能になるまで、要求プロセッサが待機するこ
とを要求する。
【0017】1個のADMF共用プロセッサを用いた非
同期データムーバ機能(ADMF)は、前に引用された
アメリカ特許出願シリアル番号第07/816、917
号に述べられ且つ請求されている。このADMFは、デ
ータ処理システムの中央処理装置の要求により、ソース
位置とシンク位置との間でデータのページを連続的に転
送することができる。1個の処理装置の要求は、同一電
子媒体、又はMS及びESでもよい異なる電子媒体にお
いてソース位置からシンク位置へ任意の数のページが移
動されることを指定することができる。非同期動作は、
要求中の中央処理装置が他の命令を処理することがで
き、一方では、ADMF共用プロセッサが要求されたペ
ージを移動していることを意味する。即ち、要求中のプ
ロセッサは、ADMF共用プロセッサによって実行中の
要求されたページの転送とは別に、他の仕事を実行する
ことができる。このように、ADMF共用プロセッサ
は、中央処理装置によるプログラムの実行と並行して、
要求されたページの移動を制御する。
【0018】MS/ESデータムーバ機能(ADMF)
の重要な改良点は、前に引用されたアメリカ特許出願シ
リアル番号第08/012、187号に述べられ且つ請
求されている。このアメリカ出願には、どのような方法
で複数の共用プロセッサが単一のADM機能でADMF
要求を同時に処理するか、ADMF作業を有効に実行す
るためにどのような方法でADMF作業が共用プロセッ
サ間で再分配されるか、また、その共用プロセッサの中
の1個以上のプロセッサが故障を起こしたとしても、A
DM機能がどのような方法で動作し続けることができる
か、について教示されている。同アメリカ特許出願はさ
らに、どのような方法でADM機能の共用プロセッサが
システム内の中央処理装置からのADMF要求とI/O
要求をともに並行して処理可能であるかを教示してい
る。
【0019】
【発明が解決しようとする課題】本発明の目的は、デー
タ処理システムにおけるソフトウェアユーザとハードウ
ェアADM機能(ADMF)との間でソフトウェア対ソ
フトウェアのインタフェース、及びソフトウェア対ハー
ドウェアのインタフェースを実行することである。
【0020】
【課題を解決するための手段】本発明の一つの態様(請
求項1に対応)は、データ処理システムのソフトウェア
ユーザによってハードウェアデータ移動機能(ADM
F)を制御する方法であって、パラメータ制御リスト、
及び2つの仮想アドレス空間の間でデータを移動させる
ための1つ以上のデータ移動仕様を含むページ移動テー
ブルから成るユーザソフトウェアプログラムによってA
DMF要求を付与する工程を有し、パラメータ制御リス
トは、仮想アドレス空間が同一又は異なる媒体上のデー
タによって支援されるかどうかについてのインディケー
タと、アドレス空間の1つに対するデータ転送の方向に
関するインディケータを含み、各データ移動仕様は、移
動したデータの位置を指定するためのデータ処理システ
ムの主記憶域におけるソース仮想アドレスと宛て先仮想
アドレスを含み、パラメータ制御リストとページ移動テ
ーブルからADMF制御ブロック(ACB)を構築する
工程を有し、ADM要求待ち行列のADM要求要素(A
RE)をADMF制御ブロックに割り当て、記憶域にお
いてAOBを位置付けるためのAOBポインタを要素に
書き込む工程を有し、AREをADMF要求待ち行列に
入れる工程を有し、AREポインタを関連UCBに書き
込むことによって装置制御ブロック(UCB)をARE
に関連付ける工程を有し、UCBはADMFサブチャネ
ルを表示し、開始サブチャネル(SSCH)命令のオペ
ランドとして操作要求ブロック(ORB)を形成し、A
OBのアドレスをORBに配置する工程を有し、データ
処理システム内のプロセッサによってSSCH命令を実
行することによって、UCBに関連付けられるサブチャ
ネルをADMF内のADMF待ち行列に配置する工程を
有する、データ処理システムのソフトウェアユーザによ
るハードウェアデータ移動機能の制御方法である。
【0021】また、本発明の別の一態様(請求項2に対
応)は、請求項1記載のデータ処理システムのソフトウ
ェアユーザによるハードウェアデータ移動機能の制御方
法において、データ処理システムの主記憶域によってユ
ーザプログラムを有する仮想アドレス空間の1つを支援
し、データ処理システムの主記憶域以外のランダムアク
セス記憶域によって他の仮想アクセス空間を支援する工
程をさらに有する。
【0022】さらに、本発明の別の一態様(請求項3に
対応)は、請求項1記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、AREがADM・UCBに割り当てられ
ると、AREの活動フラグを活動状態に設定する工程を
さらに有するとともに、活動フラグはAREがADM・
UCBに割り当てられていない間は非活動状態にある。
【0023】また、本発明の別の一態様(請求項4に対
応)は、請求項1記載のデータ処理システムのソフトウ
ェアユーザによるハードウェアデータ移動機能の制御方
法において、UCBに関連付けられるADMF作業要求
の完了又は失敗と同時にADMFによって割り込み信号
を生成し、記憶域の所定の割り込み位置においてUCB
に関連付けられるUCBとAOBの少なくとも一方の識
別を記憶する工程と、UCBにアクセスし、UCB内の
AREポインタを獲得して、割り込み信号によって信号
が送られるADMFによって完了した作業に関連付けら
れるAREを位置付ける工程と、ADMF要求待ち行列
からAREを除去して、他のADMF要求による使用の
ためにUCBを自由にする工程と、をさらに有する。
【0024】また、本発明の別の一態様(請求項5に対
応)は、請求項4記載のデータ処理システムのソフトウ
ェアユーザによるハードウェアデータ移動機能の制御方
法において、ユーザソフトウェアプログラムのADMF
要求によって表現されるADMF作業の実行の成功又は
失敗に関するインディケータをユーザソフトウェアプロ
グラムに戻す工程をさらに有する。
【0025】また、本発明の別の一態様(請求項6に対
応)は、請求項1記載のデータ処理システムのソフトウ
ェアユーザによるハードウェアデータ移動機能の制御方
法において、異なるADMFサブチャネルを表現するた
めの複数のADM・UCBを生成する工程をさらに有
し、各ADM・UCBは、ADM・UCBがユーザソフ
トウェアプログラムによりADMF要求に関連付けられ
てない場合に自由な状態にあり、ユーザソフトウェアプ
ログラムによるADMF作業要求に関連付けるために自
由なADM・UCBを選択する工程をさらに有する。
【0026】また、本発明の別の一態様(請求項7に対
応)は、請求項6記載のデータ処理システムのソフトウ
ェアユーザによるハードウェアデータ移動機能の制御方
法において、ユーザソフトウェア要求を表現するAOB
の位置付けを可能にするポインタをADM・UCBに書
き込むことによってADM・UCBとユーザソフトウェ
ア要求との関連付けを行なう工程をさらに有する。
【0027】また、本発明の別の一態様(請求項8に対
応)は、請求項6記載のデータ処理システムのソフトウ
ェアユーザによるハードウェアデータ移動機能の制御方
法において、複数のADM・UCBをADM・UCB待
ち行列に連鎖する工程と、ADM要求待ち行列にADM
要求要素(ARE)を位置付けるためのADM・UCB
の1つにアンカーポインタを書き込む工程と、アンカー
ポインタによって位置付けられるAREからのすべての
AREを連鎖する工程と、をさらに有する。
【0028】また、本発明の別の一態様(請求項9に対
応)は、請求項7記載のデータ処理システムのソフトウ
ェアユーザによるハードウェアデータ移動機能の制御方
法において、次のADM・UCBを位置付けるための各
ADM・UCBのポインタをADM・UCB待ち行列に
書き込み、最後のADM・UCBのポインタをアンカー
ADM・UCBを位置付けるためのADM待ち行列に書
き込むことによって、ADM・UCB待ち行列において
連鎖を実行する工程と、データ処理システムの記憶域に
おける所定の位置にアンカーポインタに対するアドレス
を提供する工程と、をさらに有する。
【0029】また、本発明の別の一態様(請求項10に
対応)は、請求項8記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、ADMFサブチャネルを各ADM・UC
Bに結合し、各サブチャネルをADMF内のADMF待
ち行列に関連付ける工程と、ユーザソフトウェアプログ
ラムのADMF要求に対して選択されているADM・U
CBに応答して各ADMFサブチャネルを関連ADMF
待ち行列に入れる工程と、をさらに有する。
【0030】また、本発明の別の一態様(請求項11に
対応)は、請求項7記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、ADMFサブチャネルを識別するための
ADMFサブチャネル識別子をADM・UCBに書き込
むことによってADMFサブチャネルをADM・UCB
に対し結合する工程をさらに有する。
【0031】また、本発明の別の一態様(請求項12に
対応)は、請求項1記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、各AOBと関連AREを1つの制御ブロ
ックに結合する工程をさらに有する。
【0032】また、本発明の別の一態様(請求項13に
対応)は、請求項1記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、データ移動テーブルに付与される複数の
データ移動仕様からAOBを生成する工程をさらに有す
るとともに、各データ移動仕様は仮想アドレス空間に連
続的に位置付けられる多数のデータブロックを指定す
る。
【0033】また、本発明の別の一態様(請求項14に
対応)は、請求項1記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、パラメータ制御リストと、ユーザソフト
ウェアプログラムのADMF要求を表現するためのデー
タ移動テーブルにユーザ仮想アドレスのみを付与する工
程をさらに有する。
【0034】また、本発明の別の一態様(請求項15に
対応)は、請求項1記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、AOBの仮想アドレスを変換し、結果と
して変換されたAOBアドレスを開始サブチャネル命令
のためのORBに配置することによって、サブチャネル
を関連ADMF待ち行列に入れることを可能にする。
【0035】また、本発明の別の一態様(請求項16に
対応)は、請求項15記載のデータ処理システムのソフ
トウェアユーザによるハードウェアデータ移動機能の制
御方法において、AOBによって表現されるADMF作
業要求を実行するためのAOBにおける仮想アドレスを
ADMFによって変換する工程をさらに有する。
【0036】また、本発明の別の一態様(請求項17に
対応)は、請求項1記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、AOBが生成されている場合にADM応
答ブロック(ARB)を各AOBに追加する工程と、関
連ADMF作業要求が正常に完了したかどうか、さらに
ADMF作業要求の実行中にエラー状態が検出されたか
どうか、を表示するための割り込みデータをADMFに
よってARBに記入する工程と、ADMF作業要求のた
めのADMFによって処理が終了される場合に記憶域の
所定の割り込み領域にARBを複写する工程と、をさら
に有する。
【0037】また、本発明の別の一態様(請求項18に
対応)は、請求項17記載のデータ処理システムのソフ
トウェアユーザによるハードウェアデータ移動機能の制
御方法において、ADMF作業要求に対して移動された
データブロックのカウントをADMFによってARBに
さらに記入する工程をさらに有する。
【0038】また、本発明の別の一態様(請求項19に
対応)は、請求項17記載のデータ処理システムのソフ
トウェアユーザによるハードウェアデータ移動機能の制
御方法において、ADMF作業要求の実行中にエラー状
態を有することが検出されるソース及び宛て先の少なく
とも一方のデータブロックの記憶位置をARBにさらに
記入する工程をさらに有する。
【0039】また、本発明の別の一態様(請求項20に
対応)は、請求項1記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、AOBのヘッダ領域に、AOBが生成さ
れている場合、ADMFによる実行のための連続データ
移動仕様の部分集合を記述する工程をさらに有するとと
もに、その部分集合はAOBにおけるすべてのデータ移
動仕様と等しいか、又は小さいことを特徴とする。
【0040】また、本発明の別の一態様(請求項21に
対応)は、請求項2記載のデータ処理システムのソフト
ウェアユーザによるハードウェアデータ移動機能の制御
方法において、ハイパー空間を、ランダムアクセス電子
拡張記憶域(ES)におけるデータブロックによって支
援される他の仮想アクセスとして付与し、ハイパー空間
と、データ処理システムの主記憶域におけるデータブロ
ックによって支援されるユーザアクセス空間の内部、又
はそれらの間でデータブロックを転送する工程をさらに
有するとともに、各データ転送は、ハイパー空間とユー
ザアドレス空間の内部、又はそれらの間にあるものとし
てユーザによって視認されるとはいえ、補助記憶域の内
部又はそれらの間で物理的に生じることを特徴とする。
【0041】また、本発明の別の一態様(請求項22に
対応)は、請求項21記載のデータ処理システムのソフ
トウェアユーザによるハードウェアデータ移動機能の制
御方法において、すべてのハイパー空間を含むすべての
仮想アドレス空間と、仮想アドレス空間のためのすべて
の補助記憶域を、データブロックを含むための均等サイ
ズページに分割する工程をさらに有する。
【0042】また、本発明の別の一態様(請求項23に
対応)は、請求項10記載のデータ処理システムのソフ
トウェアユーザによるハードウェアデータ移動機能の制
御方法において、前記待ち行列に入れる工程は、ADM
F待ち行列の1つをADMF作業待ち行列として選択す
ることと、すべてのADMFサブチャネルからのすべて
のADMF要求をADMF作業待ち行列に入れること
と、を有する。
【0043】また、本発明の別の一態様(請求項24に
対応)は、ページ(データブロック)が移動中である間
は無効にされることのないように、(実行記憶域以外
の)ランダムアクセス記憶域によって支援されるページ
を移動するためのデータ処理システムにおいて仮想アド
レス指定を用いるプロセッサ間の操作を同期化する方法
であって、データ処理システムの記憶域に同期化フィー
ルドを提供する工程を有し、前記同期化フィールドはシ
ステムの各プロセッサごとに複数のビット位置を含み、
各プロセッサごとの複数のビット位置は、関連プロセッ
サがページを移動する工程中であるか、ページを無効に
する工程中であるか、又はエラー再試行状態にあるか、
を表示し、他のプロセッサがページを無効にするか、又
は移動させる工程中であることの表示に対してページを
無効、又は移動させることに関し、プロセッサによって
同期化フィールドの状態を検査する工程を有し、同期化
フィールドによってページを無効にしたり、又は移動さ
せていることが表示されるプロセッサがない場合、プロ
セッサがページを無効にさせたり、移動させたりする前
に(他のプロセッサとわずかに一致させて)同期化フィ
ールドにビット位置を設定する工程を有し、同期化フィ
ールドにおいてページを無効にしたり、又は移動させる
工程中にあるように表示されるプロセッサが他に1つも
ない場合、ページを無効にしたり、又は移動させる工程
を有する、プロセッサ間の操作の同期化方法である。
【0044】また、本発明の別の一態様(請求項25に
対応)は、関連特殊サブチャネル(SCH)をそれぞれ
表現するための複数のUCB(装置制御ブロック)を付
与する方法であって、記憶サブチャネル命令を実行し
て、各サブチャネルからのデータをSCHIB(サブチ
ャネル情報ブロック)に複写する工程と、SCHIBが
ADM・SCHを表現するかどうかを表示するためのS
CHIBに複写されるタイプフィールドを検出する工程
と、ADM・SCHを表現するために検出される各SC
HIBごとにADM・UCBを構築する工程と、割り当
てられるたUCBに関連付けられるSCHを用いるデー
タ処理システムにおいてハードウェアデータ移動機能
(ADMF)によって実行されるべき作業に対するソフ
トウェア要求にUCBを割り当てることのできるADM
・UCB待ち行列にADM・UCBを連鎖する工程と、
を有する複数の装置制御ブロックの付与方法である。
【0045】本発明は、データ処理システムにおけるソ
フトウェアユーザとハードウェアADM機能(ADM
F)との間でソフトウェア対ソフトウェアのインタフェ
ースとソフトウェア対ハードウェアのインタフェースを
実行する。ソフトウェアユーザは、アプリケーションプ
ログラム、又は、システム性能を向上させるためにシス
テムにおいて拡張記憶域(ES)を使用する必要性を有
するプログラミングサブシステムを含む。ユーザは、デ
ータ空間及びアドレス空間等の別の種類の仮想アドレス
空間と同様、ESにアクセスするためにここに既述され
た仮想アドレス空間の「ハイパー空間」式を暗黙的に使
用していることもある。
【0046】仮想空間の各ユーザは、仮想アドレス空間
識別子を用いて仮想アドレス空間を指定することもで
き、こうした識別子はS/390アーキテクチャにおい
てALET(アクセスリストエントリトークン(Access
List Entry Token))と呼ばれる。ALETがプログラム
実行において使用される場合、それはシステムによって
セグメントテーブル説明(Segment Table Description:
STD)に変換される。
【0047】各仮想アドレスは、ALET又はSTD、
及びOFFSET(オフセット)によって定義されるも
のとして考えることもできる。ALET又はSTDはア
ドレス空間を識別する。OFFSETはアドレス空間の
開始からアドレス空間内のアドレス指定された目的(オ
ブジェクト)の開始までの連続バイトの数を表示する。
MSでは、アドレス指定された目的はバイトであり、E
Sでは、アドレス指定された目的はページである。
【0048】ソフトウェア対ソフトウェアのインタフェ
ースへの各ユーザ要求は、ソフトウェア対ソフトウェア
のインタフェースに送られるユーザによって生成される
リスト内のある任意の数であるKまでのページ移動仕様
の数を指定することもできる。リスト内の各項目は、ソ
ースアドレス、宛て先アドレス、及びソースアドレスか
ら宛て先アドレスまで移動される多数の連続ページを指
定する。データ移動操作のためのソース及び宛て先仮想
アドレスは2つの異なるアドレス空間にあってもよく、
そうでなければ、同じアドレス空間内にあってもよい。
連続仮想ページは連続仮想アドレスを有する。連続仮想
ページアドレスに割り当てられる実ページフレームは、
実記憶域、MS、又はESにおいて非連続的(分散的)
であってもよい。
【0049】本発明はこの移動要求のリストを、指定さ
れた移動を実行するためにADMFハードウェア機能を
指示する一続の移動仕様ブロック(MSB)に変換す
る。一続のMSBはADMF操作ブロック(AOB)の
一部としてパッケージ化され、ここで制御情報は追加さ
れ、ソフトウェア対ハードウェアのインタフェースの一
部とされる。このように、各AOBは、ソース及び宛て
先の各アドレス、記憶キー、アクセスリストエントリト
ークン(ALET)又は(仮想アドレス指定が仕様され
る場合)それらのSTD、許可インディケータ、及びそ
の他のパラメータ、を含む。
【0050】ADMFハードウェアの操作がコンピュー
タシステムで開始可能とされる前に、ソフトウェア対ソ
フトウェアのインタフェースとソフトウェア対ハードウ
ェアのインタフェースはセットアップされ且つ初期化さ
れなければならない。
【0051】ADMFインタフェース構造をセットアッ
プするための第1の要件は、ADMFハードウェア機能
とオペレーティングシステムソフトウェアとの間の相互
通信に使用されるサブチャネル(SCH)を表示するた
めのN個の数のADMF制御ブロック(UCBと呼ぶ)
をセットアップすることである。Nは予想されるADM
F要求作業負荷(リクエスト・ワークロード)、ADM
機能におけるADMFプロセッサの数、ADMFコプロ
セッサの速度等によって決定する1以上の整数である。
一般に、ADMFハードウェアの最も有効な動作を得る
ために、Nは1より大きな数に選択され、ADMFコプ
ロセッサの数に等しいか、又はそれよりも大きい。また
一般に、Nの値が高くなればなるほど、ADMF動作
は、これ以上の利益が生じないとする程度を越えるある
実用的限界に達するまでさらに効率的になる。このよう
に、Nが所与のADM機能に対するある特定値に達した
後で減少復帰が生じる。Nは、任意の時間にソフトウェ
アとハードウェアとの間で未解決の可能性がある並行要
求の数である。
【0052】ADMFサブチャネル(ADMF・SC
H)は、システムにおけるソフトウェアADMFインタ
フェースに対するハードウェアADMFエンティティ
(実体又は構成要素)を表示する。各ADMF・SCH
は、IBM・ES/9000、3090、及び先のS/
370システムにおいて使用される周知のI/O・SC
Hと同様に構成される。但し、ADMF・SCHは、A
DMF・SCHを表示するために新しい種類のSCHの
定義等、前記I/O・SCHにおいては検出されない新
規制御フィールド、を追加する。各SCH定義(I/O
及びADMの両方に対する)は、S/370及びS/3
90コンピュータにおけるシステム完全性の理由によ
り、コンピュータシステムの保護されたシステム記憶域
に位置付けられ、これはシステムのプロセッサによって
実行可能なマイクロコードにアクセス可能であるにすぎ
(ず、ソフトウェアにはアクセスでき)ない。
【0053】しかしながら、本発明は、SCHがソフト
ウェア又はマイクロコードレベルで符号化されるかどう
かについては関係なく、非S/370又は非S/390
コンピュータ環境においてマイクロコード又はソフトウ
ェアレベルで符号化されて作動されるSCHで共に動作
することができる。(SCHはS/370又はS/39
0コンピュータ環境においてマイクロコードレベルで符
号化される。)しかしながら、例えば、システムI/O
操作を故障させることもあるSCHへのソフトウェアワ
イルド記憶を防止するために、SCHに対するシステム
完全性考慮が完全に支援される場合、最適長期システム
操作が生じることになると予想される。
【0054】それにもかかわらず、本発明の実施におけ
るシステム完全性の問題はその複雑性、例えば、特にA
DMF・SCHを処理する際にどのくらいのオーバヘッ
ドが要求されるかという点、に影響を及ぼす。例えば、
完全性の高いシステムは複雑性のあるレイヤを用いるこ
とによって、ユーザは間接的にSCHを変更することが
できるにすぎない。しかしながら、完全性の低いシステ
ムでは、ユーザは直接的に(複雑性のあるレイヤを避け
る)SCHを変更し、外見上の(但し、必ずしも実でな
い)システムのコストを低減することができる。
【0055】結果として、本発明はまた、オペレーティ
ングシステムソフトウェアが直接的にSCHにアクセス
することを可能にするシステム完全性の低い他のコンピ
ュータアーキテクチャ(好ましい実施例では使用されな
い)で使用することもできる。さらに、本発明で使用さ
れるプロセスは対応して簡略化されるものであり、これ
はソフトウェアによるSCHに対する直接的なアクセス
を可能にするために、UCBが必要とされないからであ
る。
【0056】このため、N個の数のADMF・SCH
は、新しい型のSCH(ADMF型)が提供されてAD
MF型を表示するように設定される場合を除き、従来の
I/O・SCHが生成されるのと同じような方法でシス
テム内に最初に生成される。タイプフィールドにおける
ゼロの値は、それがI/O型であることを表示する。シ
ステムが初期化されるとSCHが生成されるとはいって
も、新しいI/O及びADMF・SCHはシステムが作
動中になった後において動的に生成されることもある。
しかしながら、動的に生成されたSCHは、システムが
その次の初期プログラムロード(IPLed)操作を有
するまで作動可能とされなくてもよい。
【0057】N個の数のADMF・SCHは、ADMF
ソフトウェアインタフェースが作動される前に生成され
る。好ましい実施例は、システムのマイクロコードレベ
ルで構成されるADMF・SCHを使用し、識別された
SCHにおけるフィールドの幾つか(但し、全部でな
い)を読み取って変更するためにソフトウェアにマイク
ロコードを要求させることのできる特殊命令を使用す
る。IBM・S/370及びS/390の各アーキテク
チャにおいて、これら特殊命令は、例えば、「SCHの
記憶(Store SCH)」及び「SCHの変更(Modify SC
H)」命令を含み、これらはIBMエンタープライズシ
ステムズアーキテクチャ/390操作の原則(IBM Ente
rprise Systems Architecture/390 Principles of Oper
ation)において定義されている。これら命令によって、
ソフトウェアはSCH情報のコピーをマイクロコードか
ら要求することができ、SCH制御ブロック内のフィー
ルドの幾つか(但し、全部ではない)を変更することが
できる。「SCHの記憶」命令は、SCHIB(サブチ
ャネル情報ブロック)と呼ばれるソフトウェア制御ブロ
ックを記憶する。この命令は識別されたSCHから獲得
される所定の情報を含む。「SCHの変更」命令は、オ
ペレーティングシステムによって変更されたSCHIB
から、識別されたSCHにおける幾つかのフィールドへ
情報を複写するために逆方向に動作する。
【0058】SCHは、ソフトウェアによるアドレス指
定ができないことにより、ユーザインタフェースより下
にあると考えられ、SCHIBは、それらがソフトウェ
アによってアドレス指定可能とされる場合、ユーザイン
タフェースより上にあると考えられる。「SCHの記
憶」命令の後のSCHIBの内容は、アドレス指定され
たSCH、例えば、I/O、又はADMFの型を表示す
る。
【0059】ソフトウェアは、各ADMF・SCHごと
にADMF・UCB(装置制御ブロック)をセットアッ
プすることによって、ソフトウェアが各ADMF・SC
Hを表現することを可能にする。ADMF・SCHは、
ADMF操作の呼び出し及び終了のためのハードウェア
とソフトウェアとの間の通信ビークルである。ハードウ
ェア−ソフトウェア相互通信における特定のADMF操
作を独自に識別するために使用できるものが共通識別子
である。ソフトウェアに対しアクセス可能なUCB(装
置制御ブロック)の集合を有することによって、ADM
F・SCHがハードウェアADMFによる実行のために
アクセスされる前に、ユーザ要求とSCHとの関連付け
を行ない且つ処理することができる。
【0060】ソフトウェアによるADMF・UCBの初
期構築の際に、ADMF・SCHIB(サブチャネル情
報ブロック)は、ここに述べられる好ましい実施例によ
って使用されるS/390コンピュータアーキテクチャ
の既述された完全性の局面のために、ADMF・SCH
の各々を検出するためのソフトウェアによって使用され
る。他のアーキテクチャにおいて、本発明で使用される
ものとしてUCBの必要性を除去するために、SCHを
直接的に使用することもできる。
【0061】このように、「SCHの記憶」(STSC
H)命令はSCHを照会するために使用される。アドレ
ス指定されたSCHのタイプフィールドは識別されたS
CHIBにおいて検査される(これは、対応するUCB
を構築するために必要なサブチャネル情報に対するバッ
ファとして使用される)。システム内のすべてのSCH
は、すべての可能なSCH識別子を介してSTSCH命
令をループし、ADMF型に対するSCHIBで受信さ
れるSCHタイプフィールドを検査することによって照
会される。システムにおける大部分のSCHはI/O型
であると思われ、これらはそれぞれに対して生成された
I/O・UCBを有することになる。これは、検出され
たADMF・UCBのみが本プロセスに関連があるため
に、ここでは説明されない。
【0062】各々の構築されたADMF・UCBは、含
まれているUCBが後に割り当てられてハードウェア機
能に対するADMF作業要求を表示することのできるソ
フトウェアADMF・UCB待ち行列に配置される。第
1に生成されるUCBはUCB待ち行列のアンカーとさ
れ、さらに各々の続いて構築されるUCBはポインタに
よって次に生成されるUCBに連鎖される。ADMF・
UCB待ち行列の最後のUCBは、アンカーUCBをア
ドレス指定するポインタを受信する。このように、AD
MF・UCB待ち行列の各々のADMF・UCBはシス
テム内の異なるADMF・SCHに関連付けられる。第
1のUCBもまた、ADMF要求要素(ARE)に対す
る第1の位置に対するポインタをその中に配置すること
によってADMF要求待ち行列のアンカーとされる。A
RE待ち行列は、作動状態又は保留状態である作業要求
を表現する。
【0063】ADMF・UCB待ち行列が構築された
後、ユーザADMF要求はソフトウェア対ソフトウェア
のインタフェースによって受信されることもあり、これ
はその要求を、ADMFソフトウェア対ハードウェアの
インタフェースによって使用可能である既述AOBに変
換する。次に、ADMFインタフェースソフトウェアは
AREを構築し、それを個々のAOBに関連付け、AR
EをADMF要求待ち行列に配置し、これはアンカーU
CBからアドレス指定される。
【0064】ユーザからの各々の新しいADMF要求
は、ADMF要求待ち行列に配置されるAREを有し、
ユーザのADMF要求を表現する個々のAOBに関連付
けられる。AREはAREのアドレスポインタによって
待ち行列に連鎖される。
【0065】次に、ADMFソフトウェアは、ADMF
・UCB上の何れかの使用可能なUCBの、要求を表現
するAREとAOBに対する割り当てを制御する。この
ADMF・UCBは、ADMF・UCBに含まれるSC
H番号を介してSCHに関連付けられる。ORB(操作
要求ブロック)は、関連AOBアドレスを含むためにA
DMFハードウェアインタフェースソフトウェアによっ
て後に構築される。ORBは「サブチャネルの開始(St
art subchannel)」(SSCH)命令のオペランドであ
る。SSCH命令は、ORBのAOBアドレスを含むこ
とによってそのSCHをAOBと関連付けるために実行
される。SSCH命令の実行によって、ハードウェアA
DMFがそのSCHを事前割り当てADMF内部待ち行
列に入れて、関連ユーザ要求のADMF性能を開始させ
ることになる。ハードウェア操作の完了又は終了は、ア
ドレス指定されたSCHによって伝達されることにな
る。
【0066】ユーザが要求した作業がADMFハードウ
ェアによって完了すると、それはシステムのCPU(中
央処理装置)に対しI/O割り込みを合図し、関連AD
MF・SCHの「割り込みパラメータフィールド」をO
Sに周知のMSにおける所定フィールドに記憶する。割
り込みを受信すると直ちに、OSは図18に示される割
り込み要求ブロック(IRB)を指定する検査サブチャ
ネル命令を発行する。IRBの一部であるサブチャネル
状態語(SCSW)の定義は、I/O操作と同様にAD
MFを支援するために変更されている。SCSWは図1
9に示されている。ADMF・SCSWは、アドレス指
定されたSCH上での最終操作をAOBアドレスに報告
するために定義される。
【0067】ADMFによる伝達された作業要求の完了
の順序は、ADMFインタフェースソフトウェアによっ
てADMFに送られるようなこれら作業要求の順序と非
同期的である。このため、本発明の操作に対して、AD
MFハードウェアによって完了される作業要求とADM
Fソフトウェアにおいて待機する同一要求との正確な突
き合わせがなされることが重要である。これは、関連U
CB、ARE及びAOBをアドレス指定するためのOS
・ADMFソフトウェアに対して情報を提供するための
割り込みパラメータを要求し、これによってAREを位
置付け且つADMFソフトウェア待ち行列から除去し、
別のユーザ要求への選択に対して使用可能であるよう
に、関連UCBをフリーにすることができる。
【0068】ADMF割り込みにおける情報、及び関連
検査SCH命令からの情報は、例えば、1.割り込みを
引き起こしたサブチャネルの数、2.関連UCBアドレ
ス、3.AOBのアドレス、を含む。
【0069】ADMFハードウェア機能によって、割り
込みが合図されて残りが検査SCHによって提供される
情報の一部となる場合に、割り込み情報を所定メモリ位
置に配置することによって、割り込み情報のあるものを
OSソフトウェアに対して使用可能とする。OSソフト
ウェアは割り込みパラメータを受信し、(完了ADMF
作業が行なわれたとする要求に関連付けられる)UCB
を位置付けるためのUCBアドレスを使用し、関連AR
EはさらにADMFソフトウェア要求待ち行列から除去
されて、関連UCBは別のソフトウェア作業要求に対す
る割り当てに対し使用可能とされる。
【0070】割り込み処理OSソフトウェアは、現在完
了した要求を生成した作業単位(ユニット)に、CEC
のプロセッサの1つにおいていつでもタスク指名できる
ように準備させる。ソフトウェア対ソフトウェアのイン
タフェースによって作られた要求を処理するOSサービ
スにおいて評価は再開する。これはさらにAREを検査
して、初期の要求が完了されたUCBに対して割り当て
可能な保留状態の作業要求があるかどうかを決定する。
もしあるとすれば、呼び出し処理はその保留状態の要求
に対して実行される。
【0071】上記処理と非同期的に、但し、上記のよう
な実行がいつでもできるようにマーク付けされた後に、
完了したADMF操作の作業単位は、CECのプロセッ
サ上で実行のためにタスク指名されることになる。作業
単位は、通常の又は異常の状態に対してAOB応答ブロ
ックを検査し、その呼び出し側に対し、条件コードによ
って例外処理が要求されるか否かを表示する。
【0072】このため、ADMFソフトウェア処理は、
複数の制御ブロックに、SCH対UCB対AOB対AR
Eの関連付けを可能にするためにポインタアドレスを提
供する。SCH対UCBの関連付けは、初期の構築処理
によって行なうこともできる。AOB対AREの関連付
けは、AREが獲得されてAOBを作業待ち行列に付加
するときに行なうこともできる。UCB対ARE対AO
Bの関連付けは、ADMF要求が実行のためのUCBに
割り当てられる場合に行なうこともできる。これらの関
連付けは、これら制御ブロックの各々における適切なポ
インタフィールドにアドレスを書き込むことによって行
なうこともできる。操作が完了すると、関連するポイン
タは、ソフトウェアインタフェースに対する将来のAD
MF要求による使用のための制御ブロックをフリーにす
るため、制御ブロックにおいて、消去されるか、又は無
効のマーク付けをされることもある。
【0073】CPUの外側のエンジンにおけるページ移
動の実行は、新しい形式の同期化を要求することによっ
て、ページがADMFコプロセッサによって移動中であ
る間にESによって支援される仮想アドレスをIESB
E命令が無効にすることを防止する。制御情報を復元さ
せるためにすべてのページング活動がシステムにおいて
現在中断されていることをADMFコプロセッサが知る
することをさらに要求する条件が存在する。共用システ
ム記憶位置は、CPU又はADMFコプロセッサが活動
的にページを移動させている場合にすべてのプロセッサ
に合図するために使用される。CPUがIESBE命令
を実行中である場合にすべてのプロセッサとコプロセッ
サに合図するために同一位置はさらに使用される。さら
に、ADMFコプロセッサによってすべてのページング
活動が中断するように要求されると、ADMFコプロセ
ッサは、その同一共有位置を用いて、すべてのページン
グ活動を中断させるようにすべてのCPU及びADMF
コプロセッサに合図する。同期化は以下の規則のもとで
発生する。移動がIESBE、又はコプロセッサ要求を
中断するようにコプロセッサが要求した場合にどのプロ
セッサ又はコプロセッサもページ移動を開始しないとい
うこと、及びいったん移動が合図されると、進行中のす
べてのページ移動が完了するまでページングを中断する
ためのIESBE又はコプロセッサ要求は1つも受けら
れないことである。好ましい実施例において、この同期
化は任意の1つのページの移動の前に発生する。ADM
Fが大きな多重ページ(マルチページ)移動を実行中で
ある場合に、それぞれ1つのページが移動された後に同
期化を発生させることができる。
【0074】本発明は、完全なプロセスに必要とされる
操作要素の階層責任と権限を維持するユーザ又はサブシ
ステムプログラムデータ移動要求をサービスするための
インタフェース構造を提供する。IOSADMFと呼ば
れるオペレーティングシステムサービスは、ユーザ、又
はADMF操作に対するサブシステム要求へのアプリケ
ーションインタフェースを提供するようなものである。
このサービスプログラムは入力されたパラメータをAD
MF機能エンジンによって予想される形式に変換する。
さらに、(ハイパー空間を含む)仮想アドレス空間のA
LETを仮想アドレスを変換する際のADMF使用に対
するSTDに変換するのに要求される付加権限及び能力
を有する。この構造におけるトラステッド構成要素とし
て、これは、その記憶域アクセスを行なう際にADMF
が使用することになる記憶キーを付与する。
【0075】好ましい実施例では、システムにおけるす
べてのI/O操作呼び出しは、オペレーティングシステ
ム、I/Oスーパバイザ(IOS)の集中プログラミン
グ構成要素において実行される。これによって装置、ハ
ードウェアデータ経路、及びプログラム及びサブシステ
ムを用いた中でのその他の能力の共用を可能し、この場
合、かかる共用は望ましい。ADMFに対して、IOS
構成要素は、ADMFのすべてのユーザからの要求の単
一の作業待ち行列を維持し、これらの要求を、ADMF
ハードウェア機能に対する通信のための使用可能なSC
Hに対するFIFO順序で割り当てる。このIOS構成
要素は、ADMF・SCHに対してSSCH命令を発行
し、各要求ごとに完了割り込みを処理する。これによっ
て、すべてのユーザの間でADMF(ADMF・SC
H)に対する使用可能なポートを共有することが可能に
なる。それは、ソフトウェアインタフェースサービスに
対して要求の完了を伝達する。この伝達は、呼び出しプ
ログラムの作業単位制御ブロック、即ち、タスク制御ブ
ロック(TCB)又はサービス要求ブロック(SR
B)、のもとでIOSADMFサービスの実行によって
管理される。IOSが呼び出されると、作業の実行中の
単位は、ADMF作業要求が終了するまで中断される。
IOSがその後、要求完了に対するその処理を受信し且
つ実行する場合、タスク指名がいつでもできる実行制御
ブロックを作成し、サービスはその後、CECのプロセ
ッサの1つにおいて実行を再開する。IOSは、操作に
関してADMFによって戻された終了機能状態を検査
し、サービスに対するオリジナルの呼び出しに続く命令
において完了状態を戻すことによって、呼び出しプログ
ラムに対し完了状態を伝達する。戻りコードは操作が正
常であるかどうかを表示するために提供される。この完
了処理におけるインタフェースのレベルは、さらに後述
される図20で示されている。
【0076】
【実施例】好ましい実施例の属性 ADMFソフトウェア/ハードウェアサブシステムの好
ましい実施例は図15に示されており、これは、図5乃
至図10において詳細に示される処理を組み合わせた図
である。この処理の組み合わせは、ES(拡張記憶装
置)とMS(主記憶装置)において、又はその間におい
てデータの実のページを移動させるための仮想アドレス
形式のすべてのユーザのADMF要求を受け取り、実行
用のすべての要求をADMFに渡し、さらにシステムか
らのADMF完了要求の除去を管理する全体的機能を実
行する。これら個々の処理、及びそれらがどのような方
法で動作し且つ互いに対話するかについては、図15の
ADMFソフトウェア/ハードウェアサブシステムによ
って実行される全体的ADMF機能の一般的背景におい
て図5乃至図10を用いて説明される。
【0077】図20は、異なる能力と権限を有する複数
の実行可能な要素の間に存在する多数のレベルのインタ
フェースを示している。各レベルは、移動を実行するた
めに十分な情報を有するレベルに到達するまで付加情報
を追加する。移動が完了すると、異なるレベルのインタ
フェースは情報を検査し且つ除去することによって、シ
ステムの完全性を隔離し且つ保護する。ステップ181
では、IOSADMFサービスを表示するステップ18
2に対しユーザ要求パラメータリスト(User Request P
arameter List)を介してページを移動するための要求を
伝達するアプリケーションが示される。ステップ182
は、図11、図12及び図13に示される形式において
図5のステップ43、45、及び45Aに述べられるよ
うにAOBを構築し、そのAOBをステップ183のI
OSに渡す。ステップ183のIOSは、図17で述べ
られるようにUCBとADMF・ORBに関連付けられ
るサブチャネル番号を備えた開始サブチャネル命令を用
いて、図9のステップ76Bと76Cに述べられるよう
にステップ184のADMFに要求を発行する。いった
んADMFが移動を完了すると、割り込みが生じて、情
報をステップ185のIOPに送り返す。その情報は図
18と図19に示されるIRBに渡され、図14に示さ
れるADMF応答ブロックは図6によって処理される。
IRB情報はIOSによって処理され、ADMF応答ブ
ロック情報及び状態のみがステップ186のIOSAD
MFに送り返される。ステップ186は図7のステップ
62に示されるようにADMF応答ブロックを検査し、
戻りコードのみをステップ187のアプリケーションに
戻す。
【0078】図15のADMFソフトウェア/ハードウ
ェアサブシステムが使用可能である前に、ADMF・U
CB(装置制御ブロック)待ち行列は、ハードウェア機
能に対するADMF要求の通信のためにどのSCHが使
用可能であるかを識別するために構築されなければなら
ない。ADMF・UCB待ち行列は図2、図3、及び図
4に示される処理によって構築される。
【0079】構築されると、これらの待ち行列は図1に
示される一般形式を有する。UCB待ち行列は所定数の
UCB要素を有し、これは、実施例の動作中は一定の状
態にある。待ち行列内のUCBは図2、図3及び図4に
示される初期化処理によって決定される。
【0080】まず、ADMF要求要素(ARE)はAD
MF要求待ち行列に存在せず、ADMF要求待ち行列上
のAREの数が実施例の動作中に連続的に変化するが、
それは新しいユーザ要求が受信されるいかなる場合にも
図5に示される処理がADMF要求待ち行列に各々の新
しいAREを追加し、ハードウェアADMFが各要求の
完了を合図すると図6に示される処理はADMF要求待
ち行列から各AREを削除する。
【0081】コンピュータシステムの各初期化におい
て、システムは、図1に示されるUCB待ち行列を再構
築するための図2、図3及び図4の処理を再実行する
か、又はUCB待ち行列の第1の構築の後で、外部媒体
上にUCB待ち行列のコピーを記憶し、図2、図3及び
図4の処理を再実行することなく必要とされるいかなる
場合にもそのコピーをシステムメモリに再ロードする
か、のオプションを有する。後者の手順が好ましいとさ
れる。
【0082】ADMFソフトウェアサブシステムはUC
B待ち行列とADMF要求待ち行列をともに使用して、
コンピュータシステムのすべてのソフトウェアユーザに
よって提供されるすべてのADMF要求を処理する。各
ADMF要求を提示する前に、各ユーザはその要求を、
ユーザ及びADMFソフトウェアサブシステムにとって
意義のある特定の形式に配置する。ADMFソフトウェ
アサブシステムはさらに、ADMFハードウェアサブシ
ステムに送信され且つ同システムによって実行可能な形
式に各受信要求を配置する。
【0083】図5は、各ユーザ要求を受信し、それを個
々のAOB(ADMF操作ブロック)にカプセル化す
る、ユーザ対ADM要求待ち行列ソフトウェア処理を示
し、これはADMF機能を使用するための要求中のユー
ザの許可を検査した後、要求を実行するためにADMF
ハードウェアが使用できる形式を有する。この処理はA
OBをそのユーザに関連付ける。OSソフトウェアは、
その記憶アクセスを条件付けるためにADMハードウェ
アによってこの要求に使用されるための記憶キーを付与
する。
【0084】この処理はさらに、AOBに関連付けられ
るAREを生成し、ADMF要求待ち行列にAREを配
置する。各AREは、AREに含まれる正方向及び逆方
向の各ポインタによってADMF要求待ち行列に連鎖さ
れる制御ブロックである。AOBは、関連AOBを位置
付けるためのAREにAOBポインタを配置することに
よってAREに関連付けられる。
【0085】(好ましい実施例では、AOBとそのAR
Eに対して個々の制御ブロックが使用されているとはい
え、代替実施例では、AOBのAREフィールドのすべ
てを含むことなどによって、さらにAREとして実行さ
せるのに必要な付加情報を各AOBごとに含むことによ
ってAOBとAREの両方に対し単一の制御ブロックを
使用することもできる。)
【0086】図1はUCB待ち行列上にADMF・UC
B11乃至13を示すものであり、各UCBは、UCB
待ち行列の次のADMF・UCBに対する正方向ポイン
タを有する。待ち行列内の最後のADMF・UCB13
の正方向ポインタは、待ち行列内の第1のADMF・U
CB11に対するアドレスを含む。
【0087】第1のADMF・UCB11が図2、図3
及び図4に示される処理によって構築される場合、この
UCBは、UCB待ち行列とADMF要求待ち行列の両
方に対するアンカー要素とされる。これは、幾らか存在
する場合にADMF要求待ち行列上の第1のADMF要
求要素(ARE)に対して付与される位置をアドレス指
定するアンカーポインタとして第1のUCBにおいて定
義することによって行なわれる。正方向及び逆方向の各
ポインタのほかに、各ARE15乃至18は、待ち行列
が受信されたADMF要求を処理することを可能にする
ために必要な情報及び関連を含むための他のポインタ及
びフラグフィールドをさらに含む。
【0088】UCB待ち行列の操作中に、UCB待ち行
列の各ADMF・UCBは、使用可能(即ち、フリー)
であるか、又は使用中である。ADMF・UCBは、現
時点でADMF要求に関連付けられて(割り当てられ
て)いないとフリーである。UCBにまで割り当てられ
ていないAREには一つの自由なADMF・UCBを関
連付けることができる。
【0089】各ADMF・UCBは再使用可能な資源で
あり、これは永久に割り当てられるADMFサブチャネ
ルを表示し、ADMFに要求を伝達するための一つのユ
ーザ要求に関連付けることができる。UCBは特定のユ
ーザ要求に関連付けられると、使用不可能になる(非自
由になる)。関連要求がADMFによって終了したこと
をADMFが合図するまで、UCBに対して使用不能
(非自由)状態が続く。使用不能(非自由)UCBは、
その関連AREをADMF要求待ち行列から除去するこ
とによってADMFソフトウェアがADMF完了信号に
応答可能になるとすぐに、再び自由なUCBになる。従
って、UCB待ち行列内のUCBは、新しい要求が受信
されて旧い要求がADM機能によって完了されると、繰
り返し再使用中になる。UCBを使用し且つ再使用する
ための詳細な処理は、本件明細書における図5乃至図9
のADMF処理の説明に記載されている。作業待ち行列
には、ADMF・UCBよりも多くのAREが存在する
こともある。UCBにまだ割り当てられていないARE
は保留状態であり、UCBが前の要求を終了すると今度
は割り当てられることになる。
【0090】各ユーザ要求がUCBに割り当てられる
と、ORBはADMFソフトウェアによって構築され
て、関連AOBのアドレスを含み、AOBに関連付けら
れるADMF・UCBのサブチャネルを識別する。OR
BはSSCH命令のオペランドである。SSCH命令
は、I/O要求をスケジュールするIBM・MVSオペ
レーティングシステムのIOSプログラム等の、従来の
OS入出力スーパーバイザプログラム(IOS)によっ
て実行される。
【0091】SSCH命令の実行は要求をハードウェア
ADMFに伝達する。ADMFはさらに、要求のUCB
に関連付けられるSCHをADMF待ち行列・オフ・ロ
ード(QOP)プロセッサ待ち行列の一つに配置し、こ
れはその要求のハードウェアADMF処理を開始する。
【0092】本発明では、複数のADMF・SCHはA
DMFを表わすこともできるので、このため、I/O装
置と1対1の関係をもつI/O・SCHを除いて、AD
MF・SCHは特定のADMFコプロセッサに対して1
対1の関係をもたない。しかしながら、各ADMF・S
CH又はI/O・SCHは1対1のプロセッサを有す
る。但し、各ADMF・SCH又はI/O・SCHは、
対応するソフトウェアUCBに対して1対1の関係をも
つ。このため、I/O・UCBはOSに対して異なるI
/O装置を独自に表現し、その対応するI/O・SCH
はデータ処理システムにおけるハードウェアレベルの内
部コード(マイクロコード)に対してI/O装置を独自
に表現する。しかしながら、複数のADMF・UCBは
各々、OSに対して(たぶん複数のオフ・ロードエンジ
ンから構成される)同一ADMFを表現し、対応するA
DMF・SCHのすべては、データ処理システムにおけ
るハードウェアレベルの内部コード(マイクロコード)
に対して同一ADMFを表現する。特徴は、複数のAD
MF・UCBとそれらの対応するSCHが、異なるユー
ザ要求を同一ADMFに対して表現するために必要とさ
れることであって、これはI/O・UCBとそれらのI
/O・SCHによって実行することはできない。
【0093】特定のシステムにおいてADMFに対し提
供されるADMF・SCH(及びADMF・UCB)の
数は、モデルに依存している。一般に、少なくとも一つ
のADMF・SCH(及びそのUCB)は、ADMFの
各コプロセッサに対して割り当てられて、ADMF要求
の最大並列処理をADMFハードウェアによって行な
う。
【0094】特定のコンピュータシステムにおいて使用
可能なADMF・SCH(及びそれらの対応するADM
F・UCB)の数は、ユーザが「ADMF要求待ち行
列」上のユーザ要求をスケジュールしようとするための
待機時間に関するものであり、これは、要求に対し使用
可能なADMF・UCB(及びその対応するADMF・
SCH)がない場合、要求を作成するユーザがADMF
・UCBを待つ必要があるからである。
【0095】従って、特定のコンピュータシステムに割
り当てられるADMF・SCH(及びそれらの対応する
ADMF・UCB)の実際の数は、「ADMF要求待ち
行列」上でユーザ要求をスケジュールしようとするユー
ザを頻繁に待機させることを避けるのに十分な数でなけ
ればならない。代替実施例は、このような待機を経験す
るソフトウェア要求について長期待機状態のソフトウェ
ア通知を行なうことができる。
【0096】本発明を実施することによって、それをコ
ンピュータシステムのI/O・OS制御ソフトウェアに
具体化することもできる。これは、ソフトウェアユーザ
インタフェースをOSによってハードウェアADMFに
提供するために、ここに述べられるADMF処理を含む
ようにOSにおけるIOプログラミングを変更すること
によって行なうこともできる。
【0097】I/OチャネルプログラムはADMF操作
に含まれる必要はなく、これはAOBがチャネルプログ
ラムを置換し、ADMF操作を制御するからである。
【0098】UCB待ち行列の構築 図2、図3、図4における処理によってUCB待ち行列
が構築され、UCB待ち行列の各ADMF・UCBと、
コンピュータハードウェアの事前初期化においてADM
Fに対して事前に付与された個々のADMFサブチャネ
ル(SCH)との1対1の関連付けが行なわれる。
【0099】SCHはハードウェア内部コード構成であ
り、これがソフトウェアによってアクセスできないの
は、各SCHが、ソフトウェアによってアクセス可能で
あるように対応するUCBを有するからである。しかし
ながら、S/370とS/390システムのアーキテク
チャによって、一つのSCHに対するハードウェア/ソ
フトウェア通信のための特定の制御ブロックが提供さ
れ、それはSCHIB(サブチャネル情報ブロック)と
呼ばれる。SCHIBを図2、図3、図4における各処
理によって用いてSCHと通信を行ない、各ADMF・
SCHごとにADMF・UCBを構成するのに必要なS
CH情報を獲得することが可能となる。このように、S
CHIBは従来技術では周知であり、IBM・S/39
0操作の原理(既述)に記載されている。異なるSCH
IBは、ADMF・SCH検出する図2の処理の反復ご
とに使用される。
【0100】図2の処理は、ステップ21に入ると複数
のSCHIB(サブチャネル情報ブロック)が提供され
ていることを仮定する。ステップ22は、処理の反復ご
とに「サブチャネル記憶」(STSCH)命令を実行す
る。STSCH命令は現在識別されているSCHの内容
を識別されたSCHIBに記憶し、SCH識別子の0か
ら開始し、最大可能性サブチャネル識別子(SCH・I
D)が、S/390アーキテクチャを用いたシステムに
対して65、535個になるまで、1ずつ増加する。ス
テップ23は65、535個の最後のSCH・IDに対
して検査し、それが図2の処理の終了に到達するとYE
Sの経路を選択する。65、536個よりも少ないSC
H・IDについては、ステップ24に対してNO経路が
選択される。
【0101】ステップ24はこのSCHIBに記憶され
るSCHタイプフィールドを検査して、表示されたSC
HがADMF・SCHであるか、又はI/O・SCHで
あるかを検出する。ADMF・SCHタイプを有すると
ステップ27に対してYES経路が選択され、I/O・
SCHタイプを有するとステップ26に対してNO経路
が選択される。YES経路はSCHIBをADMF・S
CHIBとして検出し、次にステップ27は、現SCH
番号(最後にステップ28によって増分される)を現S
CHIBに書き込む。ステップ27は、検出されたAD
MF・SCHIBをADMF・SCHIBのスタック内
の次の要素としてさらに複写する。
【0102】ステップ24からNO経路が選択される
と、SCHIBはI/O・SCHIBであり、本発明の
ためにSCHIBに対する処理は行なわれない。しかし
ながら、ステップ26において従来のI/O処理がSC
HIBに対して行なわれることもある。
【0103】次のステップ28はステップ26又はステ
ップ27から入り、現SCH・IDを一だけ増分して、
検査するための新しいサブチャネルを提供する。次にブ
ランチはステップ22に戻って選択され、このSCH・
IDに対して図2の処理の次なる反復を開始する。
【0104】システム内のすべてのSCHは、すべての
可能なSCH識別子を介してSTSCH(サブチャネル
記憶)をループし、SCHタイプフィールドを検査して
ADMFタイプを有するすべてのSCHIBを検出する
ことによって照会される。ステップ23によって最高位
のSCH数に到達されたと判断されると、図2の処理は
ADMF・SCHIBのスタックを完了させることにな
り、これはコンピュータシステムにおいてすべてのAD
MF・SCHを表わすからである。
【0105】図3と図4における処理は、UCB待ち行
列を生成するためにスタック内のADMF・SCHIB
を使用する。図3に入ると、ステップ32はSCHIB
スタックを空であるかを検査し、空であれば、図4に対
してYES経路が選択される。ステップ32でSCHI
Bスタックが空でないことが検出されると、ステップ3
3に対してNO経路が選択されて、スタックから第1の
ADMF・SCHIBを除去する。次のステップ34は
除去されたSCHIBを取り込み、UCB待ち行列に対
するUCB要素を構築する。UCBは以下のフィールド
を有する制御ブロックである。即ち、対応するSCHI
BのSCH番号を含むSCH・IDフィールド、「次の
UCBポインタ」フィールド、及び活動ポインタフィー
ルド、である。さらに、UCBはその関連SCHIBで
使用可能な他の情報を受信することもできる。UCBは
代替実施例において、付加ポインタとフラグフィールド
を備えたSCHIBでもよい。
【0106】さらにステップ35では、このUCBがU
CB待ち行列に対して作成された第1のUCBであるか
どうか決定される。これが第1のUCBであると、ステ
ップ35Aに対してYES経路が選択されて、ADM・
UCBをADMF・UCB待ち行列に対するアンカー要
素とするものであり、これは以下によって実行される。
即ち、(1)このアンカーUCBに対するアドレスをオ
ペレーティングシステムに知られた固定位置に配置し、
(2)ADMF要求待ち行列に配置すべき第1のADM
F要求要素(ARE)を位置付けるためのアドレスとし
て、第1のUCBのアンカーポインタをリザーブ(予
約)し、(3)それ自身のアドレスを次のUCBポイン
タとして置く。
【0107】図4はまた、ステップ35のNO経路から
のポイントA、又はステップ35AからのポイントBに
おいて入る。ポイントAが入力されると、現UCBは待
ち行列内の第1のUCBではなく、ステップ36は、現
UCBのアドレスを最後に生成されるUCBの次のポイ
ンタフィールドに挿入して、現UCBをUCB待ち行列
に連鎖するように実行される。さらに、現UCBの次の
ポインタフィールドはアンカーUCBのアドレスに設定
される。次に、ステップ37が入力されて、このUCB
がそのSCHに関連付けられる。ポイントBはさらに、
第1のUCBに対するステップ36の連鎖処理のないス
テップ37に入る。
【0108】ステップ37は現ADMF・UCBをサブ
チャネルに関連付け、「サブチャネル変更」(MSC
H)命令を実行することによって表現し、これは現UC
BのUCBアドレスを含む割り込みパラメータをSCH
内に書き込む。(SCH内のUCBアドレスは、UCB
と、ADMFハードウェア機能がそのSCHを用いて要
求に対する作業を完了すると実行されるSCHと、の関
連付けを形成する。さらにADMFは、SCH内のUC
BアドレスをOSに知られた固定メモリ位置に複写する
割り込み信号を生成する。OSはまた、複写されたUC
Bアドレスを用いて、UCB待ち行列内の同一要求に関
連付けられるUCBにアクセスする。)
【0109】次のステップ38はSCHIBスタックを
検査して、それが空になっているかどうかを決定する。
YESの場合、UCB待ち行列は構築され、構築プロセ
スはステップ39で終了される。ステップ38で、SC
HIBスタックが空でないことが検出されると、図4の
ステップ38Aに対するNO経路はポイントCを介して
構築処理を継続するように選択される。
【0110】ステップ38AはADMF・SCHIBス
タックから次のSCHIBを除去し、ステップ33に再
び入り、構築処理において次のADMF・UCBを構築
する。構築処理は、UCB待ち行列構築処理を終了する
図4のステップ39に対してそのYES経路が選択され
るまで、ステップ32によってループを続ける。
【0111】ADMFオペレーションへのユーザインタ
フェース UCB待ち行列が構築された後、好ましい実施例のAD
MFソフトウェアインタフェースはコンピュータシステ
ムのユーザによっていつでも使用されるようになる。こ
のソフトウェアインタフェースは、ユーザからのすべて
のADMF要求を受信する。この実施例において、各ユ
ーザ要求は、2つの異なる仮想アドレス空間の間で同一
方向におけるKの数までの非連続可変長ページ移動要求
を含むこともある。これらのアドレス空間はここでは、
「ハイパー空間」と「ユーザアドレス空間」と呼ばれ
る。ハイパー空間は前の出願のアメリカ特許第5159
677号に述べられ且つ請求されている。多重アドレス
空間は、前の出願のアメリカ特許第4355355号に
述べられ且つ請求されており、これらは本件出願人に譲
渡されている。
【0112】本実施例において、ユーザアドレス空間と
ハイパー空間は各々、データを保持することの可能な4
キロバイトのページの連続シーケンスを含む2ギガバイ
トまでの仮想アドレス空間として定義される。仮想アド
レス空間内のページはデータを含んでも含まなくてもよ
い。空の仮想ページは、電子メモリ又は電気機械的ディ
スク等の実媒体上の実ページフレームによって戻される
必要はない。データを含む各仮想ページは、主記憶装置
(MS)、拡張記憶装置(ES)、又はDASDの何れ
かにおける実ページフレームによって支援されなければ
ならない。ハイパー空間に対するデータの補助ページ
は、ES又はDASDになければならず、それは実行可
能な記憶装置(本実施例ではMS)にあってはならな
い。しかしながら、ユーザアドレス空間は、アクセスさ
れると実行可能なメモリ(MS)の実ページによって支
援されるデータを含むページを有する。
【0113】移動方向はハイパー空間からユーザアドレ
ス空間への方向でもよく(ここでは、ハイパー空間がペ
ージ移動の「ソース」である「読み取り」ハイパー空間
方向と呼ばれる)、又はユーザアドレス空間からハイパ
ー空間への方向でもよい(ここでは、ハイパー空間がペ
ージ移動の「宛て先」又は「シンク」である「書き込
み」ハイパー空間方向と呼ばれる)。
【0114】ADM機能によるサービスのユーザ要求
は、ユーザプログラムに含まれるユーザマクロによって
呼び出すこともできる。
【0115】ユーザは、アプリケーションプログラム、
又は問題プログラム状態又は監視状態において作動する
監視プログラムでもよい。
【0116】単一ユーザADMF転送要求は、ハイパー
空間とユーザアドレス空間との間におけるKまでの数の
連続ページの非連続可変長転送を含むこともある。単一
ユーザ要求におけるページの非連続転送の数は、最大値
Kまでの任意の数であってもよく、これは好ましい実施
例では1から125までの間の任意の数である。各非連
続移動は262、144個の連続ページ移動を含むこと
ができる。
【0117】各転送は、ソース仮想空間から宛て先仮想
空間へのページの複写を必要とする。ユーザ要求へのハ
イパー空間読み取り又は書き込み入力によっては、指定
ハイパー空間又はユーザのアドレス空間の何れでもよ
い。代替実施例では、読み取り又は書き込み入力が除去
されて、各仮想アドレスが移動の方向を決定することが
できる。これによって、各オペランドアドレスがアドレ
ス空間内のオフセットと同様、ALETを指定すること
を要求することになる。これによって、ユーザ空間とハ
イパー空間との間の移動と同様に、ユーザアドレス空間
からユーザアドレス空間への、またハイパー空間からハ
イパー空間への移動が可能になる。移動されたページ
は、移動操作によってソース空間から消去されない。
【0118】ADMFユーザは、図10に示される種類
の機械可読のパラメータテーブル81と82の集合とし
て各要求を供給する。ADM機能の各ユーザは、各AD
MF要求ごとに示されるテーブル81と82の集合を構
築することを担当する。テーブル81と82は仮想アド
レス指定を用いて、ユーザアドレス空間とハイパー空間
との間でどのページが移動されるかを指定する。
【0119】図5の処理は、テーブル82の個々のエン
トリを図11に示される種類のMSB(移動仕様ブロッ
ク)に変換し、それらを図12に示される種類のADM
F操作ブロックに配置する。この処理はさらに、AOB
ヘッダとAOB応答ブロックをAOBに追加する。
【0120】図10のテーブル82は、好ましい実施例
におけるK又は125までのエントリからなる範囲テー
ブルである。テーブル82の各エントリは、関連テーブ
ル81内のすべてのエントリの影響を受ける。
【0121】テーブル81内のエントリは、ハイパー空
間ALET(アクセスリストエントリトークン)エント
リと、読み出し又は書き込みインディケータエントリ
と、範囲リストアドレスエントリと、レンジリストテー
ブル82内のエントリの数を含むエントリと、を含む。
【0122】ユーザはOSからハイパー空間ALET
(アクセスリストエントリトークン)を獲得し、それを
テーブル81に配置する。
【0123】「ユーザアドレス空間」は、ユーザが現在
実行中であるアドレス空間に対するユーザのALETで
あって、これはユーザに知られている。
【0124】テーブル81内の読み取り又は書き込みイ
ンディケータは、要求データ移動操作のための方向を指
定する。書き込み表示はユーザアドレス空間からハイパ
ー空間への移動を表現する。読み取り表示はハイパー空
間からユーザアドレス空間への移動を表現する。
【0125】テーブル81内の「範囲テーブルアドレ
ス」エントリは、関連レンジリストテーブル82を位置
付けるための現ユーザアドレス空間内の仮想アドレスを
指定する。
【0126】テーブル81内の「範囲テーブルエントリ
の数」エントリは、テーブル82内のKの数のエントリ
を指定し、各エントリは仮想空間に連続して位置付けら
れるNの数のページの移動操作を指定する。
【0127】テーブル82において、各エントリは3つ
のフィールドの集合を含み、第3のフィールドは転送に
おいてNの数の連続ページの移動を指定する。各エント
リの第2のフィールド内の値は、ハイパー空間が移動操
作のソース、又は宛て先であっても、エントリのための
連続ページの転送において第1のページのハイパー空間
仮想アドレスを指定する。各エントリの第1のフィール
ドは、アドレスが移動操作の宛て先か、又はソースであ
ろうと、エントリによって移動されている連続ページの
個々のエントリによって定義される転送において第1の
ページの仮想アドレスを指定する。テーブル81の読み
取り又は書き込みインディケータを用いることによっ
て、テーブル82の各オペランドを図11のMSBにお
ける適正位置に配置し、データ移動の指定方向を獲得す
る。代替実施例では、範囲テーブルの各エントリは、各
オペランドに対して仮想又は実アドレスインディケータ
を含むことができる。ADMFを用いた監視プログラム
又は特定の特権的プログラムは、そこで作動されるため
の実アドレスに感知することもある。このような場合、
これらプログラムには権限が付与されて、ADM演算の
オペランドとして実MS又はESアドレス位置を指定す
ることができる。このような実施例では、実又は仮想の
アドレス仕様に対する図5のステップ43において検査
が行なわれることになる。MSBソースと宛て先フラグ
はこのようにして設定されることになる。
【0128】ユーザ要求処理 図5の処理は、ユーザ要求が図10に示されるテーブル
81と82を付与した後で実行される。呼び出し処理は
テーブル81と82を有するユーザマクロを含むユーザ
プログラムにおいて実行することもできる。ユーザマク
ロを処理するADMFプログラミングシステムサービス
は図5のステップ41で入力される。
【0129】図5に示される処理は、AOB及びADM
F要求要素(ARE)を構築し、要求を実行するのに必
要なAOBとAREとを関連付け、さらにADMF要求
待ち行列上にAREを配置する。この処理は、ADMF
ハードウェアに伝達可能で、同ハードウェアが使用可能
なAOBにユーザ要求を変更する。
【0130】ADMF要求待ち行列は、ADMFハード
ウェア機能によってまだ完了していないADMFサービ
スに対するすべての未解決のユーザ要求を含む。所与の
時間において、任意の数のADMFユーザ要求は、AD
MF要求待ち行列上にAREを有することもあり、これ
らAREはADMFサービスに対するすべての未完了要
求を表現する。(ADMFハードウェアがAREに対し
その処理を完了し、その完了をソフトウェアADMF要
求待ち行列に戻って伝達した後で、関連AREはADM
F要求待ち行列から除去される。)
【0131】AREは、好ましい実施例では先入れ先出
し(FIFO)順序で待ち行列に配置されるとはいえ、
任意の順序で待ち行列に配置することもできる。要求は
ADMFハードウェアで非同期的に実行され、ADMF
ハードウェアによる要求完了は、要求がADMF要求待
ち行列に配置されてADMFハードウェアに送られる順
序とは無関係である。
【0132】ステップ42では、仮想アドレス位置は、
現要求を表示するためにAOBとAREが生成されるこ
とになる記憶領域に対するシステムサービスによって割
り当てられる。ステップ43は現要求に対するユーザに
よって提供されるパラメータテーブル81と82からの
AOBを構築し、テーブル82の各エントリは図11に
示される種類のMSBに変換される。これは、図13の
ADMF・AOBヘッダテーブルにおけるデータページ
アクセスで使用されるべき記憶キーを提供することを意
味する。実又は仮想アドレスが支援される代替実施例で
は、各MSB(図11参照)のソース及び宛て先フラグ
は適切に設定される。ユーザ空間とハイパー空間との間
の移動に限定されない代替実施例では、各オペランドの
ALETは適切なSTDに変換されて、MSBのハード
ウェアに供給される。
【0133】図5のステップ43はテーブル82へのエ
ントリからAOBを構築し、各エントリは、図11に示
される形式を有する「移動仕様ブロック」に変換され
る。このため、テーブル82におけるエントリのよう
に、多くのMSBが生成されてAOBに配置される。こ
れらMSBは同一又は反対の順序でAOBに配置するこ
ともできるが、但し、MSBの順序付けによって同一ペ
ージの移動結果が獲得されることになる。エントリ内の
ユーザアドレス空間とハイパー空間仮想アドレスは、M
SBの対応するソース又は宛て先オフセットフィールド
にそれぞれ書き込まれる。
【0134】さらにステップ43には、MSBフラグ及
び宛て先フラグが、先に引用されたアメリカ特許出願シ
リアル番号第07/424、797号、同第07/81
6、917号、及び同第07/012、187号に示さ
れた方法でMSBに設定される。
【0135】さらに、ステップ43では、AOBに連続
するADMF応答ブロック(図14に示されるARB)
を追加する。ADMFハードウェアがこの要求に対して
その作業を完了すると、ARBはADMFハードウェア
で使用されてソフトウェアADMF要求待ち行列に戻っ
て伝達することになる。
【0136】ステップ44は、ARE内の「AOBポイ
ンタ」フィールドにAOBアドレスを記憶するものであ
り、これは作業要求を表現するAREにAOBを関連付
ける。
【0137】ステップ45はALET変換を行なう。ユ
ーザが「ALET+OFFSET」の形式の仮想アドレ
スを供給すると、非変換仮想アドレス(ALET+OF
FSET)、部分変換仮想アドレス(STD+OFFS
ET)、又は完全変換実アドレス等の任意の数の方法で
MSB(移動仕様ブロック)に表現することもできる。
実アドレスの場合、MS又はESの表示はソース及び宛
て先フラグにおいて実行されなければならない。STD
はSTOとSTL(セグメントテーブル長)を含む。O
FFSETは、(ALETによって表現される)仮想ア
ドレス空間の開始からアドレス指定された単位までの連
続仮想単位(例えば、バイト又はページ)の数であり、
STO(セグメントテーブル起点)はセグメント変換テ
ーブルを位置付けるための実アドレスである。
【0138】好ましい実施例では、仮想アドレスが「S
TD+OFFSET」形式に部分的に変換されるもので
あり、STDとオフセットはMSBに配置される。この
ように、一般の場合、構築処理は、(テーブル82エン
トリに関連付けられる)各ALETを、そのSTDに変
換し、そのSTDを対応するALETの代わりに使用す
る。MSBにおけるOFFSET仮想アドレスの変換は
その後、ハードウェアADM機能で実施される。従来の
OFFSET仮想アドレス変換処理はSTOによって位
置付けられるセグメント及びページテーブルを使用す
る。好ましい実施例では、すべてのオペランド仕様は仮
想アドレスであり、すべての範囲テーブル82エントリ
は、ユーザ空間内のアドレスと、ALETがテーブル8
1で指定されるハイパー空間内のアドレスを含む。これ
ら2つの仮想アドレス空間に対するSTDは、テーブル
81の読み書きハイパー空間インディケータの設定に従
って各MSBに供給される。
【0139】このため、ユーザ要求のテーブル81にお
けるハイパー空間ALETはSTDに変換されて、各ペ
ージ移動処理の各ESオペランドに対して使用される。
OSは、このページ移動処理に対する他のオペランドと
してユーザの現アドレス空間STDを獲得する。これら
のSTDの中でソースを表示するのはどのSTDである
か、また移動操作の宛て先をどのSTDが表現するのか
は、現テーブル81の「読み出し又は書き込みインディ
ケータ」フィールドの内容によって決定される。
【0140】ステップ45は、図11に示されるように
MSBソースSTDと宛て先STDフィールドにこれら
STDを配置する。
【0141】好ましい実施例のステップ45Aでは、記
憶保護キーはコンピュータシステムで使用されて、それ
らは図13に示されるAOBヘッダのワード4でソース
(s)及び宛て先(d)の各フィールドに書き込まれ
る。コンピュータシステムの中には記憶保護キーを使用
しないものもあり、このようなシステムでは、これらA
OBヘッダフィールドは使用されないか、又は他の目的
に対して使用される。ソース及び宛て先フラグはアドレ
ス種類を表示するために設定される。この好ましい実施
例では、これらフラグはともに仮想に設定される。実ア
ドレスもまた、可能である。
【0142】ステップ46は、再タスク指名制御ブロッ
クの現AREにアドレスを記憶し、このブロックはタス
ク制御ブロック(TCB又はSRB)であってもよい。
TCB又はSRBは、ADMF処理を含む、ユーザの処
理の実行をスケジュールする際にOSによって使用され
る。AREの「活動フラグ」は、UCBがAREに割り
当てられてオンの状態にある時から、操作の完了によっ
てAREが作業待ち行列から除去されるまでオンに設定
されている。
【0143】AREと(AOBヘッダとARBを備え
た)AOBはここで構築されて、互いに関連付けられて
いる。しかしながら、現AREはソフトウェアADMF
要求待ち行列にまだ配置されていない。
【0144】ステップ47は次に、現AREをADMF
要求待ち行列に配置するために実行される。これは、実
メモリ内の所定位置からアンカーADMF・UCBの位
置を獲得することによって開始し、アンカーADMF・
UCBはアクセスされ、そのアンカーポインタフィール
ドは、現AREを待ち行列に連鎖するための位置を検出
するために待ち行列をサーチする際にADMF要求待ち
行列に第1のAREを位置付けるために獲得される。ア
ンカーADMF・UCBのアンカーポインタフィールド
が空である場合、現AREはADMF要求待ち行列の第
1のAREとされる。活動ポインタフィールドがARE
ポインタを含む場合、AREポインタを用いることによ
って、ADMF要求待ち行列に予め置かれた最新のAR
Eに対してADMF要求待ち行列をサーチする処理にお
いてADMF要求待ち行列内の第1のAREを位置付け
且つアクセスする。最後の(最新の)AREが、現時点
で待ち行列内の最後のAREをであることを表示する
「次の要素ポインタ」フィールドにおける(すべてのゼ
ロ等の)特定の値によって表示されるまで、待ち行列内
の次のAREにアクセスするために現在アクセスされて
いるAREにおける「次の要素ポインタ」フィールドを
使用する。現(新規に構築された)AREは、この最後
のAREから連鎖されることによってさらに待ち行列内
に配置される。これは、新しく構築されたAREのアド
レスを最後に検出されたARE内の「次の要素ポイン
タ」フィールドに書き込みことによって実行されて、そ
の新しく構築されたAREを待ち行列に連鎖する。新し
く構築されたAREの「次の要素ポインタ」は、新しく
構築されたAREがADMF要求待ち行列内の最後のA
REであることを表示するために最後に検出されるAR
Eにおける「次の要素ポインタ」フィールドに予め在る
値(例えば、すべてのゼロ)に設定される。先の要素ポ
インタは、新しく構築されたAREが連鎖されているA
REのアドレスに設定される。新しく構築されたARE
はADMF要求待ち行列の一部である。
【0145】次のステップ48はUCBをAREとその
関連AOBに割り当て、これは、第1の又は他のUCB
であるように検出される第1の自由なUCBである。
【0146】次に、ステップ48は新しく構築された要
求を処理用のADMFハードウェア機能に送信するため
の図8と図9に示されたADMF要求開始処理を呼び出
す。これが実施可能である以前に、新しく待ち行列に入
れられたAREはUCB待ち行列内の使用可能なUCB
に関連付けられなければならない。(UCB待ち行列内
の第1のUCBは、AREを待ち行列内に挿入する処理
の間は新しく構築されたAREに対応付けられる必要が
なく、これは、第1のUCBが、第1のAREをADM
F要求待ち行列内に位置付けるためのアンカー(又はベ
ース)UCBとして使用されることが要求されるにすぎ
ないからである。)
【0147】ステップ49は再タスク指名制御ブロック
(例えば、このAREの再タスク指名フィールドからア
ドレス指定されるTCB又はSRB)に中断フラグを設
定することによって、各々の完了した要求の結果に関す
る要求ユーザに戻すように伝達するための図7に示され
る処理の次のタスク指名を同期化する。このタスク指名
同期化によって、要求されたADMF作業が完了してユ
ーザに対して利用可能となるまで、OSが他の作業に対
する関連作業をタスク指名することを防止することにな
る。
【0148】ADMF要求開始処理 ADMF要求開始処理は図5のステップ47、又は図6
のステップ57Aによって呼び出される。これら呼び出
しは、(1)新しいAREが図5の処理でADMFソフ
トウェア待ち行列に配置され、それを処理するための使
用可能なUCBがある時、又は(2)完了したAREが
それぞれ図6の処理においてADMFソフトウェア待ち
行列から除去される時、はいかなる場合においても生じ
る。
【0149】図8と図9における処理は、ADMF要求
エレメント(ARE)がソフトウェアADMF要求待ち
行列に配置された後で、ADMFハードウェア機能の動
作を開始する(起動させる)。ADMF要求待ち行列上
の現在最も旧いAREが開始されるのは、それがUCB
11のアンカーポインタからのサーチで検出される第1
のAREであるからである。ハードウェアADMFにお
いてAREを起動させることは、AREを関連ADMF
内部待ち行列の一つに配置することを含むものであり、
即ち、ADMF内部待ち行列は、ADMFが前に引用さ
れたアメリカ特許出願シリアル番号第07/424、7
97号において初期化されると、ADMF・SCHのす
べてに関連付けられている。
【0150】図8におけるADMF開始処理は、非活動
状態に設定されたその活動フラグフィールドを有するこ
とが検出される第1の(最も旧い)AREによって使用
可能なUCBを割り当てる(関連付ける)ことによって
始まる。UCBは、AREと対応付けられるADMF要
求(AOB)がADMFに伝達可能であるように、AR
Eに関連付けられなければならない。AREと関連付け
られるAOBは、この処理でハードウェアADMFにユ
ーザ要求の仕様を搬送する「レター」として動作する。
このAOB「レター」に関連付けられるUCBはADM
F・SCHに関連付けられ(ADMF・SCHによって
ADMF内部待ち行列に関連付けられ)る。UCB−A
DMF・SCH関連は図4に示される処理において設定
されている。
【0151】詳細には、ステップ72はOSに知られた
固定位置からUCB待ち行列内のアンカーUCBへのア
ドレスを獲得する。
【0152】アンカーUCBでは、「活動(アクティ
ブ)ポインタ」フィールド内容は獲得且つ検査される。
サーチは活動ポインタフィールドにおける非活動状態を
有することが検出される第1のUCBで終了されて、そ
のUCBは関連UCBとしてこの処理に割り当てられ
る。
【0153】UCB待ち行列サーチ処理は各アクセスさ
れたUCBの「次のUCBポインタ」の次に行なわれ、
非活動状態に対する「活動ポインタ」を検査するもので
あり、即ち、非活動状態はUCBがフリーUCBである
ことを表示する。サーチは、フリーUCBが検出される
まで、又はすべてのUCBが使用中状態であることが検
出されるまで、例えば、UCB11、12、13等にお
いて、それぞれの「次のUCBポインタ」を使用する。
【0154】フリーUCBが検出されると、処理はその
フリーUCBを起動中の現AREと関連付ける。
【0155】このように、各々のアクセスされたUCB
では、図8のステップ73は、UCBの「活動ポイン
タ」フィールドを検査することによってそのフリー(使
用可能)状態を検査し、何れのポインタも含まないと
(例えば、すべてのゼロを含むと)、UCBはフリー且
つ使用可能である(エラー状態を表示するのでなけれ
ば)。この場合、制御は図9のステップ76に転送され
る。
【0156】テスト73によって現UCBがフリーでな
いことが検出されると、ステップ74に入って、UCB
待ち行列の次のUCBに対する「UCBポインタ」を獲
得し(これは次に現UCBになる)、ステップ75に入
る。ステップ75によって現UCBが最後のUCBでな
いことが検出されると、ステップ75からステップ73
へのNO経路が選択されて、UCBサーチの次のUCB
上でステップ73を反復する。ステップ75によって現
UCBがアンカーUCBであると検出されると、UCB
のすべては検査されて、サーチの終わりに図9のステッ
プ76に対してYES経路が選択される。
【0157】ステップ76によって、フリー(使用可能
な)UCBが検出されないことが表示されると、そのN
O経路は出口78に対し選択されて、要求開始処理を終
了し、要求開始は行なわれない。
【0158】但し、ステップ76によって、使用可能且
つエラーのないUCBがステップ73によって検出され
たことの表示が確認されると、YES経路がステップ7
6からステップ76Aに対して選択される。ステップ7
6Aは(図5のステップ47又は図6のステップ57に
よって記憶される)現AREアドレスを獲得し、そのA
REアドレスをこのUCBの「活動ポインタ」フィール
ドに複写し、これはUCBに対する使用(非使用可能)
状態を表示する。
【0159】さらに、ステップ76Bは、現AREの
「AOBポインタ」フィールド内のAOB仮想アドレス
(これはユーザの仮想アドレス空間内にある)を実アド
レスに変換し、この「変換されたAOBアドレス」は、
図17の示されるようなORB(オペレーションリクエ
スト(操作要求)ブロック)のADMFオペレーション
ブロックアドレスフィールドに記憶され、これはステッ
プ76Bによって構成されている。ORBは、I/O装
置の操作を開始するために使用される「サブチャネル開
始」(SSCH)命令の明示オペランドとして周知のS
/370アーキテクチャにおいて定義される。図17に
は、ADMF・SCH用のORBフォーマットが記載さ
れている。割り込みパラメータ及び操作制御はES/3
90アーキテクチャに記載される通りである。割り込み
パラメータはORDでADMFに供給され、これは、操
作を開始させているUCBとSCHを識別するための操
作に対する完了割り込みの一部として逆に報告すること
になる。これによって、オペレーティングシステムはど
の操作要求が完了しているかを識別することができる。
ADMFオペレーションブロックアドレスを用いてAO
Bの実アドレスをADMFソフトウェアからADMFハ
ードウェアへ渡す。OSは、ADMFがユーザ記憶域内
のAOBにアクセスすることを可能にするキーフィール
ドで記憶アクセスキーをさらに提供しなければならな
い。SSCH命令は、汎用レジスタ(GR1)である暗
黙オペランドを有する。(従来技術でSSCH命令を実
行する前に、ORBは構築されて、GR1のメモリ領域
は後のロードのためにGR1にセットアップされた。)
【0160】ステップ76Cに対して、GR1の領域
は、関連ADMF・SCHの「サブチャネル番号」をG
R1のメモリ領域に書き込むことによってセットアップ
され、ORBオペランドは、それに現AREの「AOB
ポインタ」フィールドにおけるAOBアドレスを複写す
ることによってORBメモリ領域でセットアップされ
る。SSCH命令は、このORB領域に対するアドレス
を含むオペランドを有する。このSSCH命令がステッ
プ76Cによって実行される直前に、GR1はステップ
76Cの一部としてこのGR1メモリ領域からロードさ
れて、このアドレス指定されたSCHを表示する。
【0161】AOBアドレスは、ADMFハードウェア
によって実行されるためのAOBを指し示す。そのAO
Bは図12に示される。AOBはAOBヘッダ、MSB
エリア、及びADMF応答ブロックを含む。AOBヘッ
ダは図13に示され且つ後述される。MSBエリア(領
域)はK個のMSBを含み、各MSBは後述のように図
11に示される。AOB応答ブロックは図14に示され
且つ後述される。
【0162】図13はAOBヘッダを示している。「長
さ」フィールドは、AOBにおけるバイトの総数を含
む。「コマンド」フィールドは、AOBにおいて次に来
るものに関する高レベルな記述を含む。本実施例では、
それはADMFを指定する。MSBエリアの新規使用
と、新しい応答ブロックの定義は、他の実施例における
異なるコマンドを介して実行することができる。「MS
Bオフセット」フィールドは実行すべき第1のMSBに
対するポインタである。これによって、プログラミング
は、回復又は再使用に対し要求される場合、MSBリス
トの中間の操作を再開することができる。
【0163】図11は、AOBで使用されるMSBフォ
ーマットを示している。従来技術には、チャネルプログ
ラムで使用される異なる形式のMSBフォーマットが記
載されている。MSBには、3つのフラグフィールドが
含まれる。「MSBフラグ」は、MSBの連鎖と、多く
の連続宛て先ページへのソースページの複写を制御す
る。「ソース及び宛て先フラグ」は、ソース及び宛て先
オフセットのアドレス種類の仕様を含む。アドレス種類
は仮想、MS、実、又はESBN(拡張記憶装置ブロッ
ク数)の何れかである。「ページカウント」フィールド
は、ソースから宛て先へ移動させるための連続ページの
数を含む。MSBフラグが複写を表示すると、ソースペ
ージは複写され、宛て先にはページカウント時間が複写
される。「ソースSTD及び宛て先STD」は、付与さ
れるソース及び宛て先オフセットを条件付けるために提
供される。これらのSTDによって、CPUの外側で実
行するコプロセッサが、オペレーティングシステムによ
ってセットアップされる変換テーブルにアクセスし、仮
想オフセットを実ページアドレスに変換することができ
る。ソース及び宛て先オフセットは、データページが読
み取られ且つ書き込まれる領域に対するポインタであ
る。これらのポインタは、ソース及び宛て先フラグに基
づいて実アドレスに変換される。
【0164】図14は、オペレーションの完了時にOS
に戻されるAOB応答ブロックを含む。「例外フラグ」
フィールドはオペレーションの完了状態を含む。「エラ
ーMSBオフセット」は実行された最後のMSBを指し
示し、「ページカウント」フィールドは、移動された最
後のページであるか、又はADMFが移動しようとした
最後のMSB内のページを指し示す。「トータルページ
カウント」フィールドはこの操作によって正常に移動さ
れるすべてのページの総数を含む。「ソースアドレス」
及び「宛て先アドレス」は、移動された最後のページの
オフセット、又はADMFが移動しようとしたことを反
映する。
【0165】ステップ76CがSSCH命令を実行する
場合、プロセッサはSSCH命令を実行する際に(現U
CBに関連付けられる)ADMF・SCHをハードウェ
アADMF内部待ち行列に配置する。(これは、ADM
Fが関連要求の実行を開始することを可能にする前記ア
メリカ特許出願シリアル番号第08/012、187号
で説明される方法において行なわれる。ADMF内部待
ち行列とADMF・SCHとの関連付けは、ADMFが
初期化される場合に実行され、システム内の各ADMF
・SCHはADMFの内部コード(マイクロコード)の
個々のADMF内部待ち行列に関連付けられている。)
【0166】SSCH命令の実行は、インタフェースを
提供することによってソフトウェアUCBに対する作業
割り当てがSCHによってADMFハードウェア作業待
ち行列に関連付けることができることによって、各ユー
ザADMF作業要求に対するソフトウェアADMFイン
タフェースとハードウェアADMFインタフェースとを
最終的に接続させるものである。
【0167】いったんユーザ作業要求が(関連ADMF
・UCBを介して)関連SCHに対するSSCH命令に
よってADMF内部待ち行列に配置されると、前記アメ
リカ特許出願シリアル番号第07/012、187号に
述べられた方法において、ADMFはそのADMF内部
待ち行列の中の作業要求を(その関連ADMF・SCH
を介して)移動させて、そのADMFコプロセッサの中
でADMF作業ロードのバランスをとる。
【0168】ステップ76CがSSCH命令実行を完了
すると、ADMF開始処理はユーザADMF要求を終了
させる。
【0169】ADMF要求完了 図6は、将来のユーザADMF要求による次の使用のた
めのUCB待ち行列とARE待ち行列を作成するため
に、ADMFが要求を完了すると実行されるADMFソ
フトウェア処理を表示し、タスク指名実行をいつでもで
きるように、要求を作るTCB又はSRBを作成する。
【0170】いつの時でも、多数の並列ADMFコプロ
セッサはシステム内のCPUの1つによって実行される
異なる開始サブチャネル命令を介してソフトウェアAD
MF要求待ち行列から受信される異なるユーザ要求につ
いて別個に作業していることもある。任意のユーザ要求
は、何時他のユーザ要求がADMFによって完了される
かについてはは関係なくADMFで実行されることもあ
る。従って、ADMFは、ソフトウェアADMF要求待
ち行列がその要求をADMFへ送っている順序とは関係
のない方法で、受信された要求を完了する。
【0171】システム内のCPUは、それが同一CPU
であるか、又は、ADMFハードウェアに対しユーザ要
求を送った開始サブチャネル命令を実行したCPUから
の異なるCPUであるか、には関係なく、図5の処理を
実行することもできる。
【0172】このように、ユーザ要求がFIFO順序で
ソフトウェアADMF要求待ち行列に配置されると、又
はこれらの要求に対する開始サブチャネル命令が、要求
がARE要求待ち行列によって受信される順序でステッ
プ76Cによって実行されると、要求のADMF完了は
それにもかかわらず、あるユーザ要求が他の要求よりも
さらに多くのページを移動させるという理由により異な
る順序を有することもある。
【0173】各作業要求が完了すると同時に、ADMF
はS/390アーキテクチャに従ってシステム内ですべ
てのCPUにI/O割り込み信号を付与する。1個の、
つまりたった一つのCPUが割り込み処理を受け入れる
ことになる。ADMF割り込み信号は2つの情報を記憶
する。一つは割り込みパラメータであり、もう一つは関
連サブチャネルの識別番号である。割り込みがADMF
ハードウェアによって合図される場合にこの割り込み情
報を所定のメモリ位置に記憶させることによって、AD
MFハードウェア機能はこの割り込み情報をOSソフト
ウェアに対して使用可能にする。I/O割り込みに対し
て使用可能とされるシステム内のCPUは、割り込み信
号を受け入れ且つ処理し、図6に示される処理を実行す
ることもできる。
【0174】割り込み/受信CPUは従来のOS割り込
みソフトウェアを実行し、これは、記憶された割り込み
情報を(所定の割り込み情報位置において)、図6のA
DMFソフトウェア処理でのエントリステップ51に対
して使用可能にして、これによって所定の割り込み領域
にアクセスし図6の処理の実行を開始することができ
る。
【0175】ステップ52は所定の割り込み領域にアク
セスし、完了した操作に関連付けられるUCBアクセス
を含む割り込みパラメータを獲得し、さらに同じUCB
における「活動ポインタ」の位置を計算する。AREア
ドレスはこの活動ポインタフィールドにある。AREは
アクセスされて、その活動フラグは非活動状態にリセッ
トされ、それによって他のフィールドの内容を無効にす
る。AREは、次の及び前の要素ポインタを処理するこ
とによって作業待ち行列から除去されるので、その次の
及び前の隣接要素は前の及び次のAREとしてそれぞれ
互いに指し示すことになる。
【0176】さらに、ステップ53では、アクセスされ
たUCBにおいて活動ポインタ(AREアドレス)をゼ
ロにし、これによってそのUCBを自由にして、任意の
ユーザからの新しいADMF作業要求に対する再割り当
てに対して使用可能とする。
【0177】ステップ54は(完了した作業要求に関連
付けられるユーザのTCB又はSRBにおいて)中断フ
ラグをマークして、要求されたページの移動操作の結果
を要求中のユーザに伝達することに関する図7の処理を
実行するためにOSがユーザを再タスク指名することを
可能にする。これはCEC(中央電子複合システム)の
1つのCPUで生じることもある。
【0178】ステップ56は、ADMFおいてでまだ開
始されていない別の要求に対するADMF要求待ち行列
を走査する。この走査は、アンカUCBにアクセスし
て、(本明細書において既に説明された方法で)ADM
F要求待ち行列内の現AREのサーチを開始することに
よって始まる。各々のそれに続くAREは、AREが非
活動状態に設定される活動フィールドを含むことが検出
されて、(AREに関連付けられる)要求がADMFに
おいてまだ開始されていないことを示すまで、又はすべ
てのAREが走査されて非活動状態のAREが検出され
なくなるまで、待ち行列においてアクセスされる。
【0179】ステップ57は、サーチが開始されること
が必要な何れかのAREを検出したかどうかを検査す
る。非活動AREが検出されないと、ステップ58に対
してNO経路が選択されて、割り込み信号に対する処理
を終了する。
【0180】ステップ57が非活動AREを検出する
と、そのYES経路はステップ57Aに対し選択され
て、保留状態のAREに対する図8と図9においてAD
MF要求開始処理を呼び出す。さらに図6における処理
はステップ58で終了される。
【0181】ユーザに対する完了応答 ADMF操作中に生じる通常の完了と例外はADMF応
答ブロック(ARB)において表示され、これは、AD
MF操作中に検出されているエラー状態の結果としてA
DMF割り込み信号が提供される場合、図12と図14
に示されるAOBの一部である。I/O割り込みに対し
て使用可能とされるシステムのCPUの何れかはI/O
割り込みを受け入れて、割り込みを処理するためのOS
を呼び出すこともできる。OSは、OSが処理しなけれ
ばならない異常表示に対してARBの割り込み状態情報
を検査し、必要な場合にそれを実行する。
【0182】OSソフトウェアとADMFハードウェア
との内部通信は、AOB応答ブロック、サブチャネルス
テータスワード(SCSW)、及び割り込み応答ブロッ
ク(IRB)を含む。SCSWにおいて例外状態が検出
されないと、CPUの制御はADMFサービスプログラ
ムに送られ、存在することが検出されるとOSが最初に
処理しなければならない例外状態に対して提供されたA
RBを検査する。何も検出されない場合、CPU制御は
ユーザプログラムに戻されて、さらに実行を開始する。
【0183】ステップ61は図7の処理に入って、完了
状態によって現在完了しているADMF要求のADMF
ソフトウェアサービスを提供する。
【0184】ステップ62は、処理しなければならない
ARBの例外状態に対してARBを検査する。
【0185】ステップ63は、ARBに付与される情報
の分析に基づいて、ユーザに戻りコードを提供する。
【0186】最後に、ステップ64は更なる処理のため
にCPU処理をユーザに戻す。
【0187】ESページ無効の同期化 図16によって行なわれる同期化は、ESページがCP
U上のOSによって無効にされ、一方でそれが別のCP
U又はADMFコプロセッサによって移動中であると、
システムエラー状態の発生を防止する。「同期ワード」
はCPUによってESページの無効を遅延するのに使用
され、一方、ページはシステム内のアンカープロセッサ
(例えば、別のCPU又はADMFコプロセッサ)によ
って移動中である。これは、移動が進行中である間、E
Sページを別の使用に対して再割り当てすることを防止
し、データの完全性を保護するために要求される。
【0188】同期ワードは、無効にするためのESによ
って支援される仮想ページアドレスを識別するIESB
E(ESブロックエントリを無効にする)命令の実行の
始めにアクセスされる。IESBE命令は各CPUのハ
ードウェア及び内部コード(マイクロコード)の内の少
なくとも1つによって支援される。
【0189】同期ワードは4つのフィールド、即ち、
M、I、R、A、を含む。
【0190】Mフィールドのビットは、システムのCP
Uにそれぞれ関連付けられる。各Mビットは、すべての
IとRビットがゼロである場合においてのみ関連CPU
による移動ページ(MVPG)命令の実行の始めにその
関連CPUによってオンに設定される。命令実行は、こ
の状態が真になるまで待機する。Mビットは移動ページ
(MVPG)命令の実行の終わりにオフに設定される。
【0191】Iフィールド内のビットもまた、それぞれ
CPUに関連付けられる。各Iビットは、関連CPUに
よるIESBE命令の実行の始めにその関連CPUによ
ってオンに設定される。Iビットは、すべてのM及びA
ビットがゼロになると、IESBE命令の実行の終わり
でオフに設定される。
【0192】Aフィールド内のビットはADMFコプロ
セッサにそれぞれ関連付けられており、各コプロセッサ
がESに対する、又はESからのページ移動を現在実行
中である場合に表示する。各Aビットは、すべてのI及
びRビットがゼロである場合のみならず、関連ADMF
コプロセッサによるページ移動の始めにオンに設定され
る。コプロセッサは、ESを含むページ移動を開始させ
る前にこの状態が真になるまで待機する。Aビットは、
関連ADMFコプロセッサによる各ページ移動の終わり
にオフに設定される。従って、各Aビットは、その関連
ADMFコプロセッサによるページ移動操作間ではオフ
状態にある。
【0193】Rフィールド内のビットはそれぞれADM
Fコプロセッサに関連付けられる。各Rビットは、その
関連コプロセッサが進行中のエラー回復手順を有する場
合時にオン状態を表示する。コプロセッサはESページ
を移動する処理中に故障し、ページ移動操作を完了して
いない可能性がある。各Rビットは、その関連コプロセ
ッサが進行中のエラー回復手順を有していない場合、オ
フ状態にある。
【0194】このため、同期ワード内の個々のビット
は、先の段落において述べられた条件によってオン・オ
フにされている。
【0195】IESBE命令はシステム内での使用の頻
度が低い。1つのCPUがIESBE命令を実行するた
びに、またプロセッサがそのIビットをオンにした直
後、そのCPUは同期ワードのすべてのM&Aビットの
状態を検査して一つのビットがオンに設定されているか
どうかを決定する(これは、あるプロセッサがESペー
ジの移動処理中にあることを表示する)。M又はAのビ
ットがオンであると、IESBE命令は、すべてのM&
AビットがゼロになるまでCPU支援内部コードによっ
て遅延され、その後、CPUはIESBE命令を完了す
る。
【0196】M又はAのビットのどちらも新しくオンに
設定できず、一方、I−ビット又はR−ビットがオンで
あって、これによってIESBE命令とADMF回復処
理が妥当な時間で完了することができる。この目的は、
ADMF多重ページ操作の各ページ移動の後にA−ビッ
トをオフに設定することによって支持される。
【0197】同期化IESBE命令の使用を回避するた
めに、ロックビット(L)は、先に引用されたアメリカ
特許出願シリアル番号第07/424、797号に示さ
れ且つ述べられている従来技術のMVPGの有効ES・
PTEにおいて定義されている。Lビットは、このPT
Eによって表現されるESページが移動されていること
をOSに対して表示するために、M又はAビットを設定
した後にCPU又はADMFコプロセッサによって設定
される。Lビットがオフであるとページを無効にするた
めに、OSとしては比較・スワップ命令を使用すること
ができる。Lビットがオンであると、IESBE命令を
使用することによって、同期化方法でページを無効にし
なければならない。
【0198】ADMFコプロセッサは、ESページを移
動する前にもまた、Lビットをオンにして、IESBE
がページを無効にするために使用される必要がある場合
にシステム内のプロセッサが活動的にページを移動させ
ていることをOSに報告しなければならない。ADMF
が同期ワードを使用することによって、IESBEがA
DMFコプロセッサを待機してページング活動を完了す
るためのメカニズムが提供される。
【0199】ADMFコプロセッサは回復操作中にRビ
ットをオンにして、ページングに関してすべてのCPU
とADMFコプロセッサを再同期化する。Rビットがい
ったん設定されると、すべてのページング活動は最終的
に停止することになり、コプロセッサは制御情報を初期
化し、Rビットをオフにしてすべてのページング活動を
再開することができる。R−ビットは、ADMFの他の
コプロセッサによるページ移動と同様、CECのCPU
によるすべてのMVPG命令の開始を遅延させる。これ
は、すべてのR−ビットとI−ビットがオフ状態になる
まで、所定の移動を実施することを遅らせることにな
る。
【0200】
【発明の効果】本発明は上記のように構成されているの
で、データ処理システムにおけるソフトウェアユーザと
ハードウェアADM機能との間でソフトウェア対ソフト
ウェアのインタフェース、及びソフトウェア対ハードウ
ェアのインタフェースを実行することができる。
【図面の簡単な説明】
【図1】コンピュータシステムのソフトウェア領域に位
置付けられる「ADMF・UCB待ち行列」と「ADM
F要求待ち行列」の各構造を示す図である。
【図2】コンピュータシステムにおけるすべてのADM
F・SCH(サブチャネル)を検出し、検出されたAD
MF・SCHを表現するADMF・SCHIB(サブチ
ャネル情報ブロック)のスタックを構築するための処理
を含むUCB待ち行列の構築を開始するために使用され
る処理のフローチャートである。
【図3】図2に示される処理によって付与されるADM
F・SCHIBのスタックからUCB待ち行列を構築す
るための処理のフローチャートである。
【図4】図2に示される処理によって付与されるADM
F・SCHIBのスタックからUCB待ち行列を構築す
るための処理のフローチャートである。
【図5】ADMF要求待ち行列の要素を構築し、関連し
た構成要素を構築する際に使用される処理のフローチャ
ートであって、ユーザ提供のソフトウェアリスト(図1
0に示される)から構築され且つADMFハードウェア
機能へのユーザ要求を定義するために使用されるADM
F操作ブロック(AOB)を含む図である。
【図6】ADMF要求待ち行列から関連したARE(A
DMF要求要素)を除去し、新規のユーザ要求への割り
当てに使用可能であるように関連したUCBを自由にす
るために、ADMFハードウェア機能からの要求完了割
り込み信号に応答する処理のフローチャートである。
【図7】図6において割り込み駆動処理を呼び出したユ
ーザのADMF要求に対するADMFハードウェア機能
によって、性能の結果状態表示を要求中のユーザに伝達
するための非同期処理のフローチャートであり、ユーザ
に戻された指示は、要求が正常終了を有するか、又は異
常エラー状態終了を有するかを示す。
【図8】UCB待ち行列上に自由なUCBを検出し、そ
のUCBをユーザ要求に割り当て、そのUCBをユーザ
要求に対して構築されたAOBに関連付け、さらに要求
に対してなすべきADMF作業を定義するためのADM
Fハードウェア機能にAOBを付与するADMFハード
ウェア機能に対するADMF要求を開始させるための処
理のフローチャートである。
【図9】UCB待ち行列上に自由なUCBを検出し、そ
のUCBをユーザ要求に割り当て、そのUCBをユーザ
要求に対して構築されたAOBに関連付け、さらに要求
に対してなすべきADMF作業を定義するためのADM
Fハードウェア機能にAOBを付与するADMFハード
ウェア機能に対するADMF要求を開始させるための処
理のフローチャートである。
【図10】ハイパー空間とユーザアドレス空間との間で
ページを転送するためのユーザソフトウェア要求を提供
するリストを示す図であり、そのユーザ要求を本発明で
使用することによって、AOBを構築し、そのAOBを
UCBとAREに関連付けるものである。
【図11】ADMF移動仕様ブロック(MSB)の構造
を示す図である。
【図12】ADMF操作ブロック(AOB)の構造を示
す図である。
【図13】ADMF・AOBヘッダの構造を示す図であ
る。
【図14】ADMF応答ブロック(ARB)の構造を示
す図である。
【図15】好ましい実施例によって使用される全体の処
理のダイアグラムである。
【図16】好ましい実施例で使用される同期化ワードを
示す図である。
【図17】ADMF操作要求ブロック(ORB)の構造
を示す図である。
【図18】ADMF割り込み応答ブロック(IRB)の
構造を示す図である。
【図19】ADMFサブチャネル状態語(SCSW)の
構造を示す図である。
【図20】ADMFを用いたページ移動の要求が進行し
なければならないインタフェースのレベルを表示するダ
イアグラムである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイムズ アントニーニ アメリカ合衆国10605−2029、ニューヨー ク州ホワイト プレインズ、オールド マ マロネック ロード 20、アパートメント 6エイ (72)発明者 グレン アラン ブレント アメリカ合衆国12571、ニューヨーク州レ ッドフック、ボックス 162エイ、ロード 3 (72)発明者 トーマス エドワード クック アメリカ合衆国12571、ニューヨーク州レ ッドフック、エコー ヴァレイ ロード 21 (72)発明者 トーマス ジェイ. ドゥケット アメリカ合衆国12580、ニューヨーク州ス ターツバーグ、ボックス 364ビー、ルー ラルルート 1 (72)発明者 ジョゼフ チャールズ エリオット アメリカ合衆国12533、ニューヨーク州ホ ープウェル ジャンクション、ラーチモン ト ドライヴ 29 (72)発明者 フランシス エドワード ジョンソン アメリカ合衆国12603、ニューヨーク州パ キプシ、アルフレッド ドライヴ 10 (72)発明者 カスパー アンソニー スカルジ アメリカ合衆国12601、ニューヨーク州パ キプシ、アカデミー ストリート 160、 アパートメント 7イー (72)発明者 ケネス ラルフ ヴェラスカ アメリカ合衆国12546、ニューヨーク州ミ ラートン、ボックス 83−0、ロード1、 ペロッティ ロード (72)発明者 ジョゼフ アーサー ウイリアムズ アメリカ合衆国12603、ニューヨーク州パ キプシ、レイクビュー ロード 9 (72)発明者 ハリー モーリス ユーデンフレンド アメリカ合衆国12590、ニューヨーク州ワ ッピンガーズ フォールズ、オール エン ジェルス ヒル ロード 112

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 データ処理システムのソフトウェアユー
    ザによってハードウェアデータ移動機能(ADMF)を
    制御する方法であって、 パラメータ制御リスト、及び2つの仮想アドレス空間の
    間でデータを移動させるための1つ以上のデータ移動仕
    様を含むページ移動テーブルから成るユーザソフトウェ
    アプログラムによってADMF要求を付与する工程を有
    し、パラメータ制御リストは、仮想アドレス空間が同一
    又は異なる媒体上のデータによって支援されるかどうか
    についてのインディケータと、アドレス空間の1つに対
    するデータ転送の方向に関するインディケータを含み、
    各データ移動仕様は、移動したデータの位置を指定する
    ためのデータ処理システムの主記憶域におけるソース仮
    想アドレスと宛て先仮想アドレスを含み、 パラメータ制御リストとページ移動テーブルからADM
    F制御ブロック(ACB)を構築する工程を有し、 ADM要求待ち行列のADM要求要素(ARE)をAD
    MF制御ブロックに割り当て、記憶域においてAOBを
    位置付けるためのAOBポインタを要素に書き込む工程
    を有し、 AREをADMF要求待ち行列に入れる工程を有し、 AREポインタを関連UCBに書き込むことによって装
    置制御ブロック(UCB)をAREに関連付ける工程を
    有し、UCBはADMFサブチャネルを表示し、 開始サブチャネル(SSCH)命令のオペランドとして
    操作要求ブロック(ORB)を形成し、AOBのアドレ
    スをORBに配置する工程を有し、 データ処理システム内のプロセッサによってSSCH命
    令を実行することによって、UCBに関連付けられるサ
    ブチャネルをADMF内のADMF待ち行列に配置する
    工程を有する、データ処理システムのソフトウェアユー
    ザによるハードウェアデータ移動機能の制御方法。
  2. 【請求項2】 データ処理システムの主記憶域によって
    ユーザプログラムを有する仮想アドレス空間の1つを支
    援し、データ処理システムの主記憶域以外のランダムア
    クセス記憶域によって他の仮想アクセス空間を支援する
    工程をさらに有する、請求項1記載のデータ処理システ
    ムのソフトウェアユーザによるハードウェアデータ移動
    機能の制御方法。
  3. 【請求項3】 AREがADM・UCBに割り当てられ
    ると、AREの活動フラグを活動状態に設定する工程を
    さらに有するとともに、活動フラグはAREがADM・
    UCBに割り当てられていない間は非活動状態にある、
    請求項1記載のデータ処理システムのソフトウェアユー
    ザによるハードウェアデータ移動機能の制御方法。
  4. 【請求項4】 UCBに関連付けられるADMF作業要
    求の完了又は失敗と同時にADMFによって割り込み信
    号を生成し、記憶域の所定の割り込み位置においてUC
    Bに関連付けられるUCBとAOBの少なくとも一方の
    識別を記憶する工程と、 UCBにアクセスし、UCB内のAREポインタを獲得
    して、割り込み信号によって信号が送られるADMFに
    よって完了した作業に関連付けられるAREを位置付け
    る工程と、 ADMF要求待ち行列からAREを除去して、他のAD
    MF要求による使用のためにUCBを自由にする工程
    と、 をさらに有する請求項1記載のデータ処理システムのソ
    フトウェアユーザによるハードウェアデータ移動機能の
    制御方法。
  5. 【請求項5】 ユーザソフトウェアプログラムのADM
    F要求によって表現されるADMF作業の実行の成功又
    は失敗に関するインディケータをユーザソフトウェアプ
    ログラムに戻す工程をさらに有する、請求項4記載のデ
    ータ処理システムのソフトウェアユーザによるハードウ
    ェアデータ移動機能の制御方法。
  6. 【請求項6】 異なるADMFサブチャネルを表現する
    ための複数のADM・UCBを生成する工程をさらに有
    し、各ADM・UCBは、ADM・UCBがユーザソフ
    トウェアプログラムによりADMF要求に関連付けられ
    てない場合に自由な状態にあり、 ユーザソフトウェアプログラムによるADMF作業要求
    に関連付けるために自由なADM・UCBを選択する工
    程をさらに有する、請求項1記載のデータ処理システム
    のソフトウェアユーザによるハードウェアデータ移動機
    能の制御方法。
  7. 【請求項7】 ユーザソフトウェア要求を表現するAO
    Bの位置付けを可能にするポインタをADM・UCBに
    書き込むことによってADM・UCBとユーザソフトウ
    ェア要求との関連付けを行なう工程をさらに有する、請
    求項6記載のデータ処理システムのソフトウェアユーザ
    によるハードウェアデータ移動機能の制御方法。
  8. 【請求項8】 複数のADM・UCBをADM・UCB
    待ち行列に連鎖する工程と、 ADM要求待ち行列にADM要求要素(ARE)を位置
    付けるためのADM・UCBの1つにアンカーポインタ
    を書き込む工程と、 アンカーポインタによって位置付けられるAREからの
    すべてのAREを連鎖する工程と、 をさらに有する請求項6記載のデータ処理システムのソ
    フトウェアユーザによるハードウェアデータ移動機能の
    制御方法。
  9. 【請求項9】 次のADM・UCBを位置付けるための
    各ADM・UCBのポインタをADM・UCB待ち行列
    に書き込み、最後のADM・UCBのポインタをアンカ
    ーADM・UCBを位置付けるためのADM待ち行列に
    書き込むことによって、ADM・UCB待ち行列におい
    て連鎖を実行する工程と、 データ処理システムの記憶域における所定の位置にアン
    カーポインタに対するアドレスを提供する工程と、 をさらに有する請求項7記載のデータ処理システムのソ
    フトウェアユーザによるハードウェアデータ移動機能の
    制御方法。
  10. 【請求項10】 ADMFサブチャネルを各ADM・U
    CBに結合し、各サブチャネルをADMF内のADMF
    待ち行列に関連付ける工程と、 ユーザソフトウェアプログラムのADMF要求に対して
    選択されているADM・UCBに応答して各ADMFサ
    ブチャネルを関連ADMF待ち行列に入れる工程と、 をさらに有する請求項8記載のデータ処理システムのソ
    フトウェアユーザによるハードウェアデータ移動機能の
    制御方法。
  11. 【請求項11】 ADMFサブチャネルを識別するため
    のADMFサブチャネル識別子をADM・UCBに書き
    込むことによってADMFサブチャネルをADM・UC
    Bに対し結合する工程をさらに有する、請求項7記載の
    データ処理システムのソフトウェアユーザによるハード
    ウェアデータ移動機能の制御方法。
  12. 【請求項12】 各AOBと関連AREを1つの制御ブ
    ロックに結合する工程をさらに有する、請求項1記載の
    データ処理システムのソフトウェアユーザによるハード
    ウェアデータ移動機能の制御方法。
  13. 【請求項13】 データ移動テーブルに付与される複数
    のデータ移動仕様からAOBを生成する工程をさらに有
    するとともに、各データ移動仕様は仮想アドレス空間に
    連続的に位置付けられる多数のデータブロックを指定す
    る、請求項1記載のデータ処理システムのソフトウェア
    ユーザによるハードウェアデータ移動機能の制御方法。
  14. 【請求項14】 パラメータ制御リストと、ユーザソフ
    トウェアプログラムのADMF要求を表現するためのデ
    ータ移動テーブルにユーザ仮想アドレスのみを付与する
    工程をさらに有する、請求項1記載のデータ処理システ
    ムのソフトウェアユーザによるハードウェアデータ移動
    機能の制御方法。
  15. 【請求項15】 AOBの仮想アドレスを変換し、結果
    として変換されたAOBアドレスを開始サブチャネル命
    令のためのORBに配置することによって、サブチャネ
    ルを関連ADMF待ち行列に入れることを可能にする、
    請求項1記載のデータ処理システムのソフトウェアユー
    ザによるハードウェアデータ移動機能の制御方法。
  16. 【請求項16】 AOBによって表現されるADMF作
    業要求を実行するためのAOBにおける仮想アドレスを
    ADMFによって変換する工程をさらに有する、請求項
    15記載のデータ処理システムのソフトウェアユーザに
    よるハードウェアデータ移動機能の制御方法。
  17. 【請求項17】 AOBが生成されている場合にADM
    応答ブロック(ARB)を各AOBに追加する工程と、 関連ADMF作業要求が正常に完了したかどうか、さら
    にADMF作業要求の実行中にエラー状態が検出された
    かどうか、を表示するための割り込みデータをADMF
    によってARBに記入する工程と、 ADMF作業要求のためのADMFによって処理が終了
    される場合に記憶域の所定の割り込み領域にARBを複
    写する工程と、 をさらに有する請求項1記載のデータ処理システムのソ
    フトウェアユーザによるハードウェアデータ移動機能の
    制御方法。
  18. 【請求項18】 ADMF作業要求に対して移動された
    データブロックのカウントをADMFによってARBに
    さらに記入する工程をさらに有する、請求項17記載の
    データ処理システムのソフトウェアユーザによるハード
    ウェアデータ移動機能の制御方法。
  19. 【請求項19】 ADMF作業要求の実行中にエラー状
    態を有することが検出されるソース及び宛て先の少なく
    とも一方のデータブロックの記憶位置をARBにさらに
    記入する工程をさらに有する、請求項17記載のデータ
    処理システムのソフトウェアユーザによるハードウェア
    データ移動機能の制御方法。
  20. 【請求項20】 AOBのヘッダ領域に、AOBが生成
    されている場合、ADMFによる実行のための連続デー
    タ移動仕様の部分集合を記述する工程をさらに有すると
    ともに、その部分集合はAOBにおけるすべてのデータ
    移動仕様と等しいか、又は小さい、請求項1記載のデー
    タ処理システムのソフトウェアユーザによるハードウェ
    アデータ移動機能の制御方法。
  21. 【請求項21】 ハイパー空間を、ランダムアクセス電
    子拡張記憶域(ES)におけるデータブロックによって
    支援される他の仮想アクセスとして付与し、ハイパー空
    間と、データ処理システムの主記憶域におけるデータブ
    ロックによって支援されるユーザアクセス空間の内部、
    又はそれらの間でデータブロックを転送する工程をさら
    に有するとともに、各データ転送は、ハイパー空間とユ
    ーザアドレス空間の内部、又はそれらの間にあるものと
    してユーザによって視認されるとはいえ、補助記憶域の
    内部又はそれらの間で物理的に生じる、請求項2記載の
    データ処理システムのソフトウェアユーザによるハード
    ウェアデータ移動機能の制御方法。
  22. 【請求項22】 すべてのハイパー空間を含むすべての
    仮想アドレス空間と、仮想アドレス空間のためのすべて
    の補助記憶域を、データブロックを含むための均等サイ
    ズページに分割する工程をさらに有する、請求項21記
    載のデータ処理システムのソフトウェアユーザによるハ
    ードウェアデータ移動機能の制御方法。
  23. 【請求項23】 前記待ち行列に入れる工程は、 ADMF待ち行列の1つをADMF作業待ち行列として
    選択することと、 すべてのADMFサブチャネルからのすべてのADMF
    要求をADMF作業待ち行列に入れることと、 を有する請求項10記載のデータ処理システムのソフト
    ウェアユーザによるハードウェアデータ移動機能の制御
    方法。
  24. 【請求項24】 ページ(データブロック)が移動中で
    ある間は無効にされることのないように、(実行記憶域
    以外の)ランダムアクセス記憶域によって支援されるペ
    ージを移動するためのデータ処理システムにおいて仮想
    アドレス指定を用いるプロセッサ間の操作を同期化する
    方法であって、 データ処理システムの記憶域に同期化フィールドを提供
    する工程を有し、前記同期化フィールドはシステムの各
    プロセッサごとに複数のビット位置を含み、各プロセッ
    サごとの複数のビット位置は、関連プロセッサがページ
    を移動する工程中であるか、ページを無効にする工程中
    であるか、又はエラー再試行状態にあるか、を表示し、 他のプロセッサがページを無効にするか、又は移動させ
    る工程中であることの表示に対してページを無効、又は
    移動させることに関し、プロセッサによって同期化フィ
    ールドの状態を検査する工程を有し、 同期化フィールドによってページを無効にしたり、又は
    移動させていることが表示されるプロセッサがない場
    合、プロセッサがページを無効にさせたり、移動させた
    りする前に(他のプロセッサとわずかに一致させて)同
    期化フィールドにビット位置を設定する工程を有し、 同期化フィールドにおいてページを無効にしたり、又は
    移動させる工程中にあるように表示されるプロセッサが
    他に1つもない場合、ページを無効にしたり、又は移動
    させる工程を有する、プロセッサ間の操作の同期化方
    法。
  25. 【請求項25】 関連特殊サブチャネル(SCH)をそ
    れぞれ表現するための複数のUCB(装置制御ブロッ
    ク)を付与する方法であって、 記憶サブチャネル命令を実行して、各サブチャネルから
    のデータをSCHIB(サブチャネル情報ブロック)に
    複写する工程と、 SCHIBがADM・SCHを表現するかどうかを表示
    するためのSCHIBに複写されるタイプフィールドを
    検出する工程と、 ADM・SCHを表現するために検出される各SCHI
    BごとにADM・UCBを構築する工程と、 割り当てられるたUCBに関連付けられるSCHを用い
    るデータ処理システムにおいてハードウェアデータ移動
    機能(ADMF)によって実行されるべき作業に対する
    ソフトウェア要求にUCBを割り当てることのできるA
    DM・UCB待ち行列にADM・UCBを連鎖する工程
    と、 を有する複数の装置制御ブロックの付与方法。
JP6086984A 1993-06-08 1994-04-25 データ処理システムのソフトウェアユーザによるハードウェアデータ移動機能の制御方法、プロセッサ間の操作の同期化方法、及び複数の装置制御ブロックの付与方法 Pending JPH076115A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/073,815 US5377337A (en) 1993-06-08 1993-06-08 Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
US073815 1993-06-08

Publications (1)

Publication Number Publication Date
JPH076115A true JPH076115A (ja) 1995-01-10

Family

ID=22115966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6086984A Pending JPH076115A (ja) 1993-06-08 1994-04-25 データ処理システムのソフトウェアユーザによるハードウェアデータ移動機能の制御方法、プロセッサ間の操作の同期化方法、及び複数の装置制御ブロックの付与方法

Country Status (2)

Country Link
US (1) US5377337A (ja)
JP (1) JPH076115A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517408A (ja) * 2011-06-10 2014-07-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 拡張非同期データ・ムーバ間接データ・アドレス・ワードの使用
JP2014524066A (ja) * 2011-06-10 2014-09-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 移動指定ブロックのチェーニング

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915089A (en) * 1995-01-13 1999-06-22 Wallace Computer Services, Inc. Supplemental data processing system for processing ply-matching data generated during multiple-part product printing
US5664219A (en) * 1995-06-12 1997-09-02 International Business Machines Corporation Method and system for controlling servicability of adapters connected by an I/O channel interface to a computer system
US5784701A (en) * 1995-09-19 1998-07-21 International Business Machines Corporation Method and system for dynamically changing the size of a hardware system area
JPH1091443A (ja) * 1996-05-22 1998-04-10 Seiko Epson Corp 情報処理回路、マイクロコンピュータ及び電子機器
US5948060A (en) * 1997-01-24 1999-09-07 International Business Machines Corporation Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
US6055617A (en) * 1997-08-29 2000-04-25 Sequent Computer Systems, Inc. Virtual address window for accessing physical memory in a computer system
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
US6453277B1 (en) * 1999-01-28 2002-09-17 Computer Associates Think, Inc. Virtual I/O emulator in a mainframe environment
US6874040B2 (en) 2000-12-19 2005-03-29 International Business Machines Corporation Employing a data mover to communicate between dynamically selected zones of a central processing complex
US8935297B2 (en) * 2001-12-10 2015-01-13 Patrick J. Coyne Method and system for the management of professional services project information
US8516498B2 (en) * 2003-10-31 2013-08-20 Microsoft Corporation Handling a delivery failure as a program exception in a distributed asynchronous architecture
US20060265525A1 (en) * 2005-05-23 2006-11-23 Boyd William T System and method for processor queue to linear block address translation using protection table control based on a protection domain
US7552240B2 (en) 2005-05-23 2009-06-23 International Business Machines Corporation Method for user space operations for direct I/O between an application instance and an I/O adapter
US7502871B2 (en) * 2005-05-23 2009-03-10 International Business Machines Corporation Method for query/modification of linear block address table entries for direct I/O
US20070005815A1 (en) * 2005-05-23 2007-01-04 Boyd William T System and method for processing block mode I/O operations using a linear block address translation protection table
US7464189B2 (en) 2005-05-23 2008-12-09 International Business Machines Corporation System and method for creation/deletion of linear block address table entries for direct I/O
US7502872B2 (en) * 2005-05-23 2009-03-10 International Bsuiness Machines Corporation Method for out of user space block mode I/O directly between an application instance and an I/O adapter
US7657662B2 (en) * 2005-08-31 2010-02-02 International Business Machines Corporation Processing user space operations directly between an application instance and an I/O adapter
US7500071B2 (en) * 2005-08-31 2009-03-03 International Business Machines Corporation Method for out of user space I/O with server authentication
US7577761B2 (en) * 2005-08-31 2009-08-18 International Business Machines Corporation Out of user space I/O directly between a host system and a physical adapter using file based linear block address translation
US20070168567A1 (en) * 2005-08-31 2007-07-19 Boyd William T System and method for file based I/O directly between an application instance and an I/O adapter
US7404075B2 (en) * 2005-09-29 2008-07-22 International Business Machines Corporation Method, system and computer program product for generic and flexible collection of a hardware data image
US7454585B2 (en) * 2005-12-22 2008-11-18 International Business Machines Corporation Efficient and flexible memory copy operation
US7506132B2 (en) * 2005-12-22 2009-03-17 International Business Machines Corporation Validity of address ranges used in semi-synchronous memory copy operations
US7484062B2 (en) * 2005-12-22 2009-01-27 International Business Machines Corporation Cache injection semi-synchronous memory copy operation
US8621120B2 (en) * 2006-04-17 2013-12-31 International Business Machines Corporation Stalling of DMA operations in order to do memory migration using a migration in progress bit in the translation control entry mechanism
US8713574B2 (en) 2006-06-05 2014-04-29 International Business Machines Corporation Soft co-processors to provide a software service function off-load architecture in a multi-core processing environment
US9176803B2 (en) * 2006-08-14 2015-11-03 International Business Machines Corporation Collecting data from a system in response to an event based on an identification in a file of the data to collect
US9021180B2 (en) * 2011-06-10 2015-04-28 International Business Machines Corporation Clearing blocks of storage class memory
US9058275B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US9116634B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Configure storage class memory command
US9323668B2 (en) 2011-06-10 2016-04-26 International Business Machines Corporation Deconfigure storage class memory command
US9058243B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Releasing blocks of storage class memory
US9021179B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Store storage class memory information command
US9021226B2 (en) * 2011-06-10 2015-04-28 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US11494484B2 (en) * 2016-10-24 2022-11-08 Nubeva, Inc. Leveraging instrumentation capabilities to enable monitoring services
US11416959B1 (en) * 2020-02-10 2022-08-16 Zoox, Inc. Vision architecture

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54129942A (en) * 1978-03-31 1979-10-08 Fujitsu Ltd Direct transfer system between sub-systems
US4246637A (en) * 1978-06-26 1981-01-20 International Business Machines Corporation Data processor input/output controller
US4373179A (en) * 1978-06-26 1983-02-08 Fujitsu Limited Dynamic address translation system
US4277826A (en) * 1978-10-23 1981-07-07 Collins Robert W Synchronizing mechanism for page replacement control
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units
US4445176A (en) * 1979-12-28 1984-04-24 International Business Machines Corporation Block transfers of information in data processing networks
US4476524A (en) * 1981-07-02 1984-10-09 International Business Machines Corporation Page storage control methods and means
JPS58225422A (ja) * 1982-06-25 1983-12-27 Toshiba Corp デ−タ制御装置
US4630196A (en) * 1983-04-13 1986-12-16 At&T Information Systems, Inc. Store and forward facility for use in multiprocessing environment
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4797812A (en) * 1985-06-19 1989-01-10 Kabushiki Kaisha Toshiba System for continuous DMA transfer of virtually addressed data blocks
JPS6336461A (ja) * 1986-07-31 1988-02-17 Pfu Ltd 汎用チャネル制御方式
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US4930065A (en) * 1987-08-20 1990-05-29 David Computer Corporation Automatic data channels for a computer system
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
JP2752094B2 (ja) * 1988-09-14 1998-05-18 株式会社東芝 論理型言語におけるバックトラック処理方式
US5276815A (en) * 1988-10-24 1994-01-04 Fujitsu Limited Input and output processing system for a virtual computer
US5159677A (en) * 1988-11-21 1992-10-27 International Business Machines Corp. Method and system for storing data in and retrieving data from a non-main storage virtual data space
US5095420A (en) * 1988-11-21 1992-03-10 International Business Machines Method and system for performing virtual address range mapping in a virtual storage data processing system
US5237668A (en) * 1989-10-20 1993-08-17 International Business Machines Corporation Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
US5175825A (en) * 1990-02-02 1992-12-29 Auspex Systems, Inc. High speed, flexible source/destination data burst direct memory access controller
US5269009A (en) * 1990-09-04 1993-12-07 International Business Machines Corporation Processor system with improved memory transfer means

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517408A (ja) * 2011-06-10 2014-07-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 拡張非同期データ・ムーバ間接データ・アドレス・ワードの使用
JP2014524066A (ja) * 2011-06-10 2014-09-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 移動指定ブロックのチェーニング

Also Published As

Publication number Publication date
US5377337A (en) 1994-12-27

Similar Documents

Publication Publication Date Title
JPH076115A (ja) データ処理システムのソフトウェアユーザによるハードウェアデータ移動機能の制御方法、プロセッサ間の操作の同期化方法、及び複数の装置制御ブロックの付与方法
US7200695B2 (en) Method, system, and program for processing packets utilizing descriptors
US5655146A (en) Coexecution processor isolation using an isolation process or having authority controls for accessing system main storage
US7120746B2 (en) Technique for data transfer
US5471615A (en) Distributed data processing system having front-end and back-end computers with different operating systems
US4742450A (en) Method to share copy on write segment for mapped files
JP4906275B2 (ja) ページング可能モード仮想環境でのデータ転送を容易にするシステム、およびコンピュータ・プログラム
US5491808A (en) Method for tracking memory allocation in network file server
TWI254861B (en) Data processing system, method, and computer readable medium for sharing input/output facilities of a logical partition with another logical partition
US4528624A (en) Method and apparatus for allocating memory space based upon free space in diverse memory devices
JPH0578857B2 (ja)
JPS62165249A (ja) ペ−ジ・セグメント化仮想記憶デ−タ処理システムにおけるセグメント・サイズを自動的に大きくする方法
JPH0458050B2 (ja)
WO1995031787A1 (en) Method and apparatus for handling requests regarding information stored in a file system
US6665747B1 (en) Method and apparatus for interfacing with a secondary storage system
JP2002544620A (ja) 論理区分化コンピュータのイベント・ドリブン通信インタフェース
JP4599172B2 (ja) フリーバッファプールを使用することによるメモリの管理
JPH0566621B2 (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
US5638535A (en) Method and apparatus for providing flow control with lying for input/output operations in a computer system
JPH10320282A (ja) 仮想キャッシュ・コントロール方法及び装置
US5761696A (en) Parallel database serving mechanism for a single-level-store computer system
US5495614A (en) Interface control process between using programs and shared hardware facilities
US4991083A (en) Method and system for extending address space for vector processing