JPH03137747A - プロセツサおよび命令実行方法 - Google Patents

プロセツサおよび命令実行方法

Info

Publication number
JPH03137747A
JPH03137747A JP2247669A JP24766990A JPH03137747A JP H03137747 A JPH03137747 A JP H03137747A JP 2247669 A JP2247669 A JP 2247669A JP 24766990 A JP24766990 A JP 24766990A JP H03137747 A JPH03137747 A JP H03137747A
Authority
JP
Japan
Prior art keywords
page
pte
instruction
processor
destination
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
JP2247669A
Other languages
English (en)
Other versions
JPH0531179B2 (ja
Inventor
Geoffrey O Blandy
ジヨフレイ・オーエン・ブランデイ
David B Emmes
デービッド・ブルース・エーメス
Ronald F Hill
ロナルド・フランクリン・ヒル
David B Lindquist
デービツド・ブルース・リンドクイスト
Kenneth E Plambeck
ケニス・アーネスト・プラベツク
Casper A Scalzi
キヤスパー・アンソニー・スカルチ
Richard J Schmalz
リチヤード・ジヨン・シエマルツ
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 JPH03137747A publication Critical patent/JPH03137747A/ja
Publication of JPH0531179B2 publication Critical patent/JPH0531179B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Nitrogen Condensed Heterocyclic Rings (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Debugging And Monitoring (AREA)
  • Medicines Containing Plant Substances (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、データ処理システムの複数の電子ストレーソ
媒体間における一定サイズの大きなデータ(4キロバイ
トのページなど)のコピーや移動に対するマシン命令内
の仮想アドレシング制御に関する。本発明によれば、コ
ピーの取得が、特権アクセスに限られているかどうかに
かかわらず、システムの非特権ユーザが、複数の媒体の
いずれかからでもデータのべ一ノのコピーを得ることが
できる。これは、特権フa子媒体の選択に対するユーザ
制御をなくすとともに、ユーザがアクセスできる電子媒
体内のデータのソース・ページのコピーを取得する意向
をユーザが表現できるようにすることによって行われる
。これはまた、ソース・ページが、特権媒体から、非特
権ユーザが直接アクセスできない媒体ヘコビーされるか
どうかとは無関係に行われる。
B、従来の技術及びその課題 現在のデータ処理システムには、MS(+salnst
orage))E S (expanded stor
age)など2種類以上の電子(非磁気)ストレージを
用いるものがある。これらはシステムの中で最高速の大
型ストレージ媒体である。MSは、システムによって実
行された命令とデータを格納する。広く採用されている
S/370アーキテクチヤをベースにした代表的なコン
ピュータでは、MSアドレスは24ビットまたは31ビ
ットであり、MSの最大サイズは、それぞれ2倍ないし
24倍、2倍ないし31倍の範囲に限られる。ESでは
、システム拳アーキテクチャによって固定されたMSア
ドレス・ビット数を変えることなく、MSの最大サイズ
を軽く超えて、システムの高速電子ストレージのサイズ
を拡大できる。
これまでは、システム内でアクティブなデータやプログ
ラムがマシンのMS限度を超えようとした場合、監視制
御プログラム(IBM  MVS/370プログラムな
ど)が、使用頻度の低いデ−夕のページをMSからD 
A S D (Dlrect AccessDevlc
e、ディスクやドラムなど)上の補助ストレージに移動
させてMSに空きをつくっていた。
DASDはかなり高速にはなったものの、アクセス時間
は長く、電子ストレージ(MS、ESに用いられるもの
など)のアクセス時間の方がはるかに短い。
MSストレーノの制約をなくしてコンピュータの電子ス
トレージを拡張するのがESである。ESでは、MSと
同じアドレスΦビット数によってESアドレス指定が行
える。
ESでは、アドレス・ビット数が、MSアドレス指定に
用いられるのと同じであっても、MSよりもかなり大き
な容量が得られる。これは、同じ個数のアドレス指定単
位を用いて、アドレス指定単位が一般べこはバイトまた
はワードであるMSよりもはるかに大きな単位をアドレ
ス指定できるからである。現在、ESの単位は4096
バイ)−ページである。したがって同じ個数のアドレス
・ビットで指定できるESメモリは、MSメモリの40
96倍である。
しかし、ページrlj位でアドレス指定されるメモリで
は、はとんどのプロゲラl、がバイト単位で処理を行う
ため、メモリを直接便用する処理のタイプが限定される
。たとえば、ページ・メモリは、ページ単位で構成され
たストリングをソートする場合は便利だろうが、バイト
単位で実行される普通の演算には使用できない。
ESは、普通のユーザのために用意されたプロセッサ命
令に対して、アドレス指定の可能なターゲットとしては
使えない。そのため、あらゆるユーザが使用できるプロ
セッサ命令では、Es直接アクセスを制御するストレー
ジ・キーは提供されていない。
ページ単位のメモリ(ES)に対して最もよく用いられ
る機能は、MS領域が足りないためにMSに保持できな
いデータをページ単位で待避させる機能である。ここで
ESは、その管理下のMS用ルックアサイドφキャッノ
ユとして使用できるので、データーページは、MSに2
霞になったときにDASDを検索する場合よりもはるか
に高速に検索できる。
仮想アドレシングでは、ユーザのセキュリティあるいは
インテグリテイを危うくすることなく、OS (ope
rating 5yste園)によって一つの物理MS
を共用できる。ユーザ会プログラムの7ドレシングは仮
想的である。アドレス空間には、プログラムの命令とデ
ータが格納され、プログラムは、アドレス空間のバイト
、ワード、およびページがストレージの中で連続してい
るかのように書き込まれる。これは、プログラミングに
都合がよいだけでなく、実ストレージを複数のユーザが
共用しながら、システムの整合性を維持することもでき
る。
プロセッサが命令を解釈する間に仮想アドレスを実アド
レスに変換するメカニズムが提供されているa  D 
A T (dynamic  address  tr
anslatlon  )と呼ばれるこのメカニズムと
特権監視制御プログラムとのインタフェースが、一連の
システム1り御テーブルであり、これによって、ある時
間に仮想ページをMSに置くかどうか、置く場合はMS
のどのページ番フレームに置くかが指定される。仮想ペ
ージがMSに“バック”された場合、その[4ページは
“有効”という。他の場合は“°無効゛′である。有効
ページをアドレス指定する命令は、プロセッサによって
MSからのオペランドが用いられて直接実行される。オ
ペランドが無効であれば、プロセッサは、割り込みによ
って監視制御プログラムにシグナルを出す。制御プログ
ラムは、使用できるMSページ・フレームを必要な仮想
ページに割り当て、ESまたはDASDユニットのペー
ジ−キャッシュからページを検索し、システム制御テー
ブルを更新して、検索され、有効になったページのステ
ータスを反映し、割り込みのががった命令の実行再開を
プロセッサに妥求する。この方法は、非特権ユーザープ
ログラムがらは見えず、そのプログラムのステップに影
習を与えない。システム制御テーブルは、特権監視制御
プログラムの制御下にあるため、仮想アドレシングによ
って、複数のユーザがMSを安全に共用できる。ユーザ
間に必要な分離はDATメカニズムによっテ実現される
IBM  S/370システムの場合、システム制御テ
ーブルは、ストレージの使用効率を考えて2つのレベル
で扱われ、それぞれセグメントeテーブル、ページ・テ
ーブルと呼ばれる。仮想ページのステータス(有効か無
効か)は、PTE(page table entry
)に記述される。有効なら、それが存在するかもしれな
いMSアドレスと、プロセッサがそのページに対して格
納処理を行うてよいかどうかの指示が記述される。
現在のS/370アーキテクチヤの論理アドレスは、M
S仮想アドレスまたはMS実アドレスである。プロセッ
サの現在のP S W (processorstat
us word)のDATビットが1の状態なら、命令
のオペランドの論理アドレスはMS仮想アドレスであり
、DATビットが0ならMS実アドレスである。
また、従来の処理には、IBM  S/370アーキテ
クチヤの非特権移動(コピー)命令を用いたものがある
。移動命令はすべて、MS内のデータのバイト数(可変
)を移動(コピー)するのに限られ、複数のストレージ
媒体間でデータを移動するものではない。たとえばM 
V CL (movecharacter long)
命令は、バイト数(可変)をMSロケーシ鍔ンからMS
ロケーシaンヘ移動させることができる。MSロケーシ
aンは、命令パラメータの中で、それぞれソース論理ア
ドレスおよびデスティネーション論理アドレスと指定さ
れる。
割り当てられたMSページにおいてアドレス指定された
バイトが見つからない場合、命令の実行に例外が発生し
、命令実行が止められ、割り込みシグナルが格納され、
特権制御プログラムが起動されて、アドレス指定された
そのバイトを持つページが割り当てられるか、または格
納された信号に応じた処置がとられる。中断された命令
の実行は、割り込みをかけられたプログラムに処理が戻
ったときに再開される。
従来の技術では、データのページの一部または多数のペ
ージをソース・ストレージ中ロケーションからデスティ
ネーシIン拳ストレージ・ロケ−シロンへ移動するのは
、S/370  MVCL(move charact
er long)によってか、またはS/370  M
 V C(園ove character)によって行
われていた。その場合、ソース・ページについてもデス
ティネーシ日/・べ・−ジについても、MS内のアドレ
スが有効でなければならず、データを変換してMS内の
ページに格納しておかなければ、命令の実行が開始され
ない。MVCL命令がMS内で無効な仮想ページを指定
すると、プロセッサは、監視制御プログラムにシグナル
を出して、ページ変換例外を知らせ、これによってMV
CL命令を持つプログラムに割り込みがかかり、制御プ
ログラムが起動された。制御プログラムは、仮想アドレ
スを変換し、MSにページ・フレームを割り当て、スト
レージ階層の中のDASDまたはESから、データをM
Sのベージ拳フレームに転送していた。
つまり制御プログラムは、次のようにしてMVCLの各
ページ・フォールトに応答していた。
1、フォールトになった仮想アドレスを変換してPTE
アドレスを得る。
2、フォールトになった仮想ページに対してMSにペー
ジ・フレームを割り当てる・ 3.110またはページインを行い、ページの内容を、
割り当てられたMSページ・フレームにもってくる。
4、MSにページの存在することが反映されるようにP
TEのフィールドをセットしてPTEを有効にする。
MVCL命令に対してソース・ページとデスティネーシ
ョン・ページが両方ともMSに存在する場合、MVCL
命令は、そのデータ転送を実゛行できる。その結果、デ
スティネーン鍔ン拳ベージ内の連続したロケーシヨンに
あるデータのバイトが、ソース・ページ内の連続したロ
ケーションからコピーされたデータ・バイトと置換され
るデータ・マージとなることがある。さらに、MVCL
命令のコピー/置換処理では、連続したページとページ
の各部の個数が一定ではない場合がある。
ここから分かるように、データ転送は3回まで必要にな
る。第1に、Iloによってデータをソース・オペラン
ド・アドレスにあるページに置く処理、第2にIloに
よってデータをデスティネーシ鱈ン・オペランド・アド
レスにあるページに置く処理、第3にMVCL命令に指
定されたロケーション(ページの一部など)間でのデー
タの転送である。 (本発明は、データのページがすべ
てコピーされるとき、この従来の命令に必要なデータ転
送を少なくする。) ES上のデータのページをアクセスできるようにするに
は、厳格なセキュリティ条件を課す必要がある。MSか
らESへ転送されたページは、使用に誤りがあればシス
テム障害を起こし得る特権プログラム・データや、パー
ソナルφデータを公開しないようないくつかの問題プロ
グラムのデータを含めて、MSで実行中のすべてのプロ
グラムであり得るからである。
したがってMSとESとの間でデータのページをコピー
していた従来のS/370命令(ページイン命令、ペー
ジアウト命令)を使うには、特権(すなわち監視)状幌
が必要がある。これは米国特許第4476524号明細
書「ページ・ストレージ制御方法とその手段(Page
 StOrageControl Methods a
nd MeansNの主題になっている。従来のページ
イン/ページアウト命令はアプリケーション・プログラ
ムでは使用できない。これらの命令は監視状態に限られ
、そのためシステム制御プログラムでしか使用できない
からである。
これは、アプリケーシヨン・プログラムがES媒体上の
データを直接アクセスするのを禁止するセキュリティ上
の要件による。−・方、本発明は、ESに必要なセキュ
リティを維持しながら、アプリケ−シロン・プログラム
が使用できるESをアクセスするための一命令を提供し
ている。さらにページイン/ページアウト命令で実行さ
れるのは、ソース・ページとデスティネーシヨン・ペー
ジをアクセスするための実アドレシングだけであるが、
本発明では仮想アドレシングが可能である。また、ペー
ジイン/ページアウト命令は、各ページ・コピー用のス
トレージ媒体を命令内のオペランド・ロケーションで指
定するが、本発明ではストレージ媒体を指定する必要は
ない(ただしこれによって異なる媒体間の転送も実際に
行える)。
欧州特許第0 214 870号明細書とこれに対応す
るオーストラリア特1作第584809号明細書(出願
番号第82458/813号)は、EM (exten
slon a+ewory)とM M (main m
emory)との間でデータ・エレメントを転送する論
理アドレシングのための命令について説明している。こ
の命令のオペレージ8ン・コード(OPコード)は、転
送の方向を指定し、各転送方向に別のOPコードが用い
られる。第1オペランド(Bl、Di)は、MMの論理
アドレスをt′F1定するのに用いられる。第2オペラ
ンド(X 2、B 2、D 2 )はEMの論理アドレ
スの指定に充てられる。EMとMMとの間を転送される
エレメントの個数(可変)はオペランドR1によって指
定される。その命令はいずれも、ページ中ユニットまた
は非ページ・ユニットの個数(可変)を指定できる。こ
の欧州特許の命令のオペランドは媒体に依存するが、本
発明の命令のオペランドは媒体に依存しない。該特許の
命令は、言われているような仮想アドレシングは用いな
い。実際の仮想アドレシングでは、そのユーザが使用媒
体を指定する必要はないからである。該特許の命令のオ
ペランドにはこれが必要であるほか、異なる媒体間でデ
ータを移動する各方向に、異なるOPコードが充てられ
る。 (本発明では、どのオペランドによっても媒体を
指定する必要がな(、指定されたユーザの意図を命令の
実行に反映させなくてもよい。本発明の命令は、物理媒
体間の転送の方向を指定せず、どの転送方向についても
同じoPコードが用いられる。
88年11月21日に米国で出願された第274062
号明細書は、監視プログラムのウィンドウ・マツピング
・サービスについて説明している。
これは仮想アドレス空間のMSまたはESのページを初
期化するために、A S (auxlllary Sj
orage。
DASDl上のリニア・データ・セットの一部にページ
をマツプする。この命令は、MSまたはESにページ中
フレームを割り当て、割り当てられたMSまたはESの
アドレスを、割り当てられたページ117L/−ムのP
 T E (page table entry)に書
き込み、要求のあったデータをAS上のりニア串データ
争セットから見つけ、そのASデータを、MSまたはE
Sに割り当てられたページに読み込むことによって、A
S上のりニア・データ番セットの必要な箇所にマツプさ
れたページの初期化方法を完了する。アプリケーション
・プログラムがこの監視プログラム・サービスを用いる
場合、アプリケーション拳プロゲラ11は、仮想アドレ
スを持つマツプ済みのページ、並びにASデータ・セッ
ト上の開始アドレスを含めて、マツピング9パラメータ
を指定するプログラムを与えなければならない。この従
来のプログラミングの動作は、割り当てられたページが
初期化されて、アクセスされたウィンドウのデータが格
納されると終了する。ウィンドウ内のオペランドがMS
において有効なことが分かると、割り込みによって監視
制御プログラムが起動される。監視制御プログラムは、
プログラミング手段を用いて、Esの所要ページを検索
し、マツピング・テーブルを更新して、MSのページの
有効性を反映し、割り込みをかけた命令の実行再開をプ
ロセッサに要求する。 (一方、本発明は主として、M
SまたはESで初期化された後のべ一)の処理に関係す
る。そのため本発明は、米国特許出願第274Of32
号の方法が終了して、初期化済みページのいくつかが同
シアドレス空間で、または他のアドレス空間へ、MSか
ES内かにかかわらずコピーされた後でも適用できる。
さらに本発明では、ユーザが、使用されている各媒体(
MSまたはES)を指定する必要はない。本発明では、
ページは、同じプログラムの後続する命令によって参照
されると予測されるので、ユーザが、デスティネーショ
ンeページとしてMSを使うという意図を任意に表現で
きる。ただしユーザがMSに対する意図を表現したきき
でも、監視制御プログラムは、本発明を用いるシステム
の伏況に応じてユーザのその意図を拒否し、ページをE
Sに置くことができる。) 米国特許出願第274239号(88年11月21日出
願)は、ESによってしかバックされないか、あるいは
ESとAsまたはそのいずれかによってバックされるが
、MSによってバックされることはないN M D S
 (non−Is data 5pace)という新し
いタイプのアドレス空間を示している。この出願書類で
はプログラム嗜ルーチンについテ説明されている(特権
O8内にのみ存在できる)。
特権プログラムは、NMDSタイプのアドレス空間と一
般的なアドレス空間(MS、ESl またはAsによっ
てバックされ、プログラムとデータの両方を格納する空
間)との間で、仮想アドレスを持つページを移動/コピ
ーするものと説明されている。特権プログラム・ルーチ
/1tcREAD。
CWRITEl 5PREAD、  および5WRIT
Eである。いずれも複数の命令から成っている。
これら特権プログラムは、アプリケーション・プログラ
ムに置かれたパラメータ管リスト・ルーチンによって指
定争起動できる。パラメータ[株]リスト・ルーチンは
、このルーチンを含む特権プログラムを呼び出すことに
よって、そのアプリケ−シロン・プログラムに割り込み
をかけ、呼び出されたルーチンを実行する。その後、制
御は呼び出したアプリケ−シロン・プログラムに戻る。
同出願のルーチンは、ESを直接アクセスできるので、
非特権アプリケーシロン番プログラムがルーチンを直接
実行するのが防止される。さらにこの特権ルーチンは、
NMDSとプログラム/データのアドレス空間との間で
ページを移動できるだけである。
(本発明は、従来の技術とは異なり、特権プログラムと
非特権プログラム(アプリケーション・プログラムなど
)の両方が使用できる非特権ページ・コピー命令を提供
するものである。これにより、あらゆるタイプのアドレ
ス空間において、またはそれらの間でページ・コピーを
実行でき、アドレス空間は、ES、ASなど特権アクセ
スしがない媒体や、MSなど特権アクセスと非特権アク
セスの両方を持つ媒体を含めて、あらゆる媒体において
バックされる。任意のアドレス空間に対するトークンは
、本発明の中で用いる場合は、任意の非特権ユーザのア
クセス・リストに置ける。特権アクセスに関するセキュ
リティ上の要件はすべて、ソース・ページとデスティネ
ーション・ページが電子ストレージに前もって割り当て
られている限り、アプリケーション・プログラムを終了
することなく維持される。本発明では、従来の技術とは
異なり、NMDS、データ空間、プログラム/データ・
アドレス空間など、あらゆるタイプの仮想アドレス空間
からページをコピーでき、どの媒体がソース・ページを
バックするかをユーザが意識する必要はない。また本発
明では、従来の技術とは違って、どの媒体がデスティネ
ーンヨンφページをバックするかをユーザが知らなくて
も、NMDS、データ空間、プログラム/データ・アド
レス空間など、あらゆるアドレス空間へページをコピー
できる。しかも、本発明では、ユーザがデスティネーシ
ョン媒体の選択を制御する必要はなく、MSをデスティ
ネーション媒体とする意図を表現できる。その意味で、
本発明は斬新な特徴を備える。
IBMの大型システムに用いられる従来のキャッシュ・
バイパスは、CPUのキャッシュがデータを受信するの
を防止しない。このバイパスは単に、キャッシュ・ミス
に応して、MSからフェッチされたデータを、キヤノン
ユをバイパスするバス」二のCPUの実行ユニットに直
送し、同じデータをキャッシュにもコピーする。 (本
発明のキャッシュ書バイパスは、MSがデスティネーシ
ョン媒体でないとき、MSからフェッチされたデータま
たはMSに格納されたデータを、このデータがコピー動
作のキャッシュ・ミスに応じて実行ユニットに送られて
いる間にキヤノンユにコピーすることはない。) C0発明の概要及び解決課題 本発明は、非監視(非特権)状態にあるアプリケ−/a
ン・プログラムが、マシン命令内のオペランドの仮想ア
ドレシングを用いる新しい方法を提供するものである。
この命令では、複数の媒体のうちどれを使用するかを指
定する必要はなく、ユーザがどのバッキング媒体をアク
セスするかを知っている必要もなく、MSがバッキング
媒体の一つである必要もない。その上、この命令により
、異なるバッキング媒体が、タイプの異なる物理アドレ
シングを用いることができる。
本発明の目的には、複数の電子ストレージ媒体にページ
が物理的に存在するかどうかにかかわらず、また、当該
ページに対して仮想アドレシングが初期化されていると
きに監視プログラムを介在させることなく、仮想アドレ
シングによって、仮想ソース−アドレスから仮想デステ
ィネーシ日ンΦアドレスへデータのページをコピーでき
る非特権命令を提供することも含まれる。
本発明の目的には、非特権ペーソ0コピーによってアク
セスされた仮想ページに対して仮想アドレシングがセッ
トアツプされていなかった場合に、監視プログラムによ
って迅a ナページ・フォールト処理を提供することも
含まれる。
本発明の目的には、ページ・コピー操作の最中に、プロ
セッサが、電子ストレージ(媒体)にバックされていな
いページにぶつかったとき、監視プログラムによるペー
ジφフォールト処理を非特権ユーザが回避し、代わりに
ユーザ書プログラムが、後に移動されるページのほとん
どのグループまたは全グループも電子媒体にバックされ
ていなかったことが検出されることを見越して、プログ
ラミング手段による複数のページのコピーを制御プログ
ラムのサービスOルーチンに要求できるようにすること
も含まれる。
本発明の目的には、ページ・フォールト例外を調べる条
件つき分岐命令の必要をなくすことによって、ペーソー
コピー命令を使う非特権ユーザが、迅速なページφフォ
ールト処理を任意に利用することも含まれる。
本発明の目的には、非特権ユーザが任意に、条件つき分
岐命令を使ってページ・コピー命令をフォローできるよ
うにすることも含まれる。条件つき分岐命令は、ページ
・コピー命令のどのページについても仮想アドレシング
が初期化されていなかったことによるベーン拳フォール
ト例外条件コードを調べる。
本発明の目的には、複数のストレージ媒体のうちどれが
仮想アドレスをバックするかをページ・コピー命令のユ
ーザが指示することなく、ページを仮想ソース・アドレ
スから仮想デスティネーション・アドレスヘコピーする
ページ・コピー命令を提供することも含まれる。
本発明の目的には、ページ・コピー命令の非特権ユーザ
が任意に、特権制御プログラムによってページをMSに
コピーするために、命令のデスティネーション・ページ
をMSにバックする意図を表現できるようにすることも
含まれる。
本発明の目的には、ページ・コピー命令のソース拳ペー
ジのデータがプロセッサのキャッシュにコピーされるの
を防ぐことも含まれる。
本発明の目的には、ページ・コピー命令のソース拳ペー
ジとデスティネーション・ページに対してアクセスされ
たデータが、プロセッサのキャッシュにコピーされる非
効率を防ぐ機能を提供することも含まれる。これが起こ
るのは、命令のユーザが、命令パラメータ内で、命令の
デスティネーション・ページをMSにコピーする意図を
表す場合に限られる。デスティネーションPTEがMS
媒体を選択すれば、デスティネーション・ページはMS
にコピーされ、キャッシュにもコピーされる。しかしデ
スティネーションPTEがMS媒体を選択しなければ、
命令は、監視制御プログラムを呼び出して、デスティネ
ーションPTEによる媒体選択をもう一度調べさせる。
制御プログラムは、可能なら、デスティネーション・ペ
ージをもう一度MSに割り当て、PTEをそのようにセ
ットする。そこで命令の実行が再開されたとき、デステ
ィネーシ日ンΦページはMSとキャッシュにコピーされ
る。キャッシュが小さいときは、デスティネーション・
オペランドによってアドレスを指定されたバイトを含む
キャッシュeデータ拳ユニットだけはキャッシュにコピ
ーでき、ページの残りはそのときキャッシュにはコピー
されない。
本発明の目的には、MSに格納されたESストレージ・
キーを使うことによって、ESベージに対するアクセス
制御チエツク機能を提供することも含まれる。(各プロ
セッサのハードウェアーキー・アレイに格納されたMS
ストレージ・キーを用いる、MSページに対する従来の
アクセス防止チエツク機能も残る。) 本発明の目的には、各PTEが指し示すESストレージ
・キーを使用することによって、ESページへのアクセ
スをすべて防止することも含まれる。
本発明の目的には、ESSページPTEに関係し、MS
に位置するXPTE(external  paget
able entry)にESストレージ◆キーを置く
ことによって、ページ移動命令によるESページへの各
アクセスに対してプロテクト・チエツク機能を提供する
ことも含まれる。
本発明の目的には、データ処理システムのES内の物理
ページ・フレームによってバ、りされた仮想アドレスの
アドレス変換を提供することも含まれる。
本発明の目的には、ページに対してMSに格納されたP
TEとともに、参照と変更の制御フィールドを格納する
ことによって、ES内のページに対する参照と変更の指
示を格納することも含まれる。
本発明の目的には、他のプロセッサがページ・コピー動
作に介入するのを防ぐために、ページ・コピー命令がM
 P (multiprocessor)システムのプ
ロセッサによって実行されている間に、ページ・コピー
命令の仮想ページ・オペランドに対する物理媒体の使用
と割り当てにロックをかけることも含まれる。
本発明の目的には、ページ・コピー命令のESデスティ
ネーション・ページまたはMSかESのソース舎ページ
に対してアクセスされたデータがプロセッサのハードウ
ェア・キャッシュにコピーされるのを防ぐことも含まれ
る。ただし、命令のパラメータに、デスティネーション
・ページをMSに置くユーザの意図が指示されている場
合には、MSデスティネーシヨンΦページのデータはプ
ロセッサのキャッシュに置かれる。
本発明の目的には、ES内で有効なPTEによってt旨
示されたESブロックをアクセスするMVPG(mov
e  page)  命令を実行するとき、プロセッサ
によって保持される該PTEのそれぞれにロック拳フィ
ールド(L)を提供することも含まれる。その結果、 
(他の目的に使用するためにESブロックをPTEから
除外しようとする)制御プロクラムは、ESブロックが
現在使用されていない(L=O)ことをアトミックに判
定し、その場合には、ES内で有効なビットをオフにセ
ットして(v=0をセットして)、ページがES内で無
効と指示するS/370のコンベア・スワップ命令を実
行することによって、ES内で有効なPTEの無効化が
効率よく行える。
本発明の目的には、異なるプロセッサが同じページを同
時に変更した場合に生じ得るエラーを防ぐために、MS
システム内の、同じページが関係する複数のページ移動
命令が直列に実行されるように、各PTEにESロック
・フィールドを提供することも含まれる。
本発明の目的には、どのプロセッサもPTEを使用して
いないときに、ESロック・フィールドを誤ってオン状
態にセットしているPTEを検出するために監視制御プ
ログラムを使用することも含まれる。
本発明の目的には、PTE内のES有効ビットを無効に
するときに、PTE内の口、り・ビットを非活動化する
特権命令を提供することも含まれる。このときPTEは
、非特権ページ移動命令によって使用できる。
本発明の目的には、S/370 31E(startI
nterpretlve executlon)命令下
のIEモードで実行中のプロセッサによってMVPG命
令が実行されるとき、該命令のシミュレーンaンを高速
化することも含まれる。
本発明の目的には、アドレス指定されたPTEに指示さ
れたESベージを!!1(効にするIESBE(Inv
alldate ES block entry)命令
を提供することも含まれる。IESBE命令は、MVP
G命令によってアクセスされたPTEにおいて、エラー
があると予測されるロックeビットがL=1にセットさ
れているためにMVPG命令が実行できないときに使用
できる。IESBE命令は、監視制御プログラムがこの
状嘘を処理するのに使用できる特権命令である。
本発明は、非特権プログラムが仮想アドレシングを用い
て、二つの異なる仮想アドレス空間の間で、または同じ
仮想アドレス空間内でデータの単位ページをコピー(移
動)できるようにする非特権CPU命令を提供するもの
である。その場合、仮想ページの移動(コピー)は、M
S内か、ES内か、またはESとMSとの間でいずれか
の方向での、ソース・ページからデスティネーシヨンψ
ページへの物理的なデータ会コピーを伴う。ソース・ペ
ージとデスティネーシ四ン・ページの仮想アドレスが、
許容媒体において有効とあらかじめ判定されているとき
は、これらのページの移動のいずれに対しても特権プロ
グラムが介入することはない。
ページ移動命令を実行するCPUはキャッシュを持つこ
とができる。本発明では、ES内またはESヘコピーさ
れたべ一ノのデータをキヤノンユが受信することのない
ように、キャッシュ争バイパスを選択的にアクティブに
することができ、データのページがMS内かまたはMS
Sココーされたときには、キャッシュ・バイパスをアク
ティブにすることができる。ESからのデータをキャッ
シュに置くのを許可すれば、プロセッサが使用する可能
性のある既存のキャッシュ・データが(キャッシュLR
U制御によって)除外されることがある。このES/M
Sキャッシュ・バイパス制御により、 (プロセッサで
は処理できない)ESデータをキャッシュで受払し、プ
ロセッサが使用する可能性のあるキャッシュ・データを
追い出せるようにした場合に生じ得るキャッシュ・ミス
が少なくなり、プロセッサの効率が向上する。
ただし、状況によっては、MSにコピーされたページが
、本発明のページ移動命令に続く命令によってすぐ処理
される可能性はがなり大きい。
ページ移動命令は、同じ仮想アドレス空間または異なる
仮想アドレス空間において仮世ロケーシ日ンから仮想ロ
ケーシリンヘデータのページをコピーする。ソース・ペ
ージおよびデステイネーシヨン・ページの実際の物理ロ
ケーンヨンは、股には、本発明のユーザには関係しない
。またページ移動の方向もユーザとは関係ない。ユーザ
に関係するのは、ページ移動の仮想方向だけだからであ
る。このように、ユーザが物理的な知識を持たないとき
、システムの使用に関して高度なセキュリティが得られ
る。これは、システムが、データの物理ロケ−シリンを
知らないユーザによっては破壊されないデータに対して
、アクセス規則を適用できるからである。その結果、コ
ピーされたページの物理ロケーションを知っているのは
、システムの監視制御プログラムだけとなる。
ただし、本発明では、ページ移動命令のユーザが、コピ
ーされたページを受ける物理媒体としてMSを充てる意
向を監視プログラムに伝えるこ七ができる。これによっ
てシステム効率を上げることができる。一方、本発明で
は、ページ移動命令のユーザが、ソース令ページをどの
物理媒体に格納するかの意図を表現することはできない
。ソース・ページをどうするとの意図があってもシステ
ム効率は向上せず、ユーザは一般には、ソース・ページ
がどの物理媒体に存在するかを関知しないからである。
ページ移動命令には、 (論理アドレシングはこの命令
でサポートされるので、仮想アドレスに代えて)MSの
実アドレスを使用できるが、非特権命令ではESの実ア
ドレスを使用できないということを理解しておく必要が
ある。ES実アドレスを使用できるのは、 (監視制御
プログラムが使用する)特権命令だけである。よって本
発明は、(非特権命令しか使用しない)アプリケーショ
ン争プログラムが、ページ移動命令にES実アドレスを
使用するのを防ぐ機能を提供している。
セキュリティは、MVPG命令により、ESに対する仮
想アドレシングをアプリケージリン・プログラムのユー
ザにだけ許可することによって大幅に向上する。ユーザ
は、ソース・ページまたはデスティネーシヨン鴫ページ
用の媒体を知る必要はない。仮想アドレスを知っている
だけでよい。
そしてアプリケ−ジーン・プログラム・ユーザは、変換
されたアドレスを知ることは許可されず、これは、アプ
リケージ鐸ン・プログラム・ユーザは使用できない特権
命令によって観察できるだけである。
これに対して、米国特許第4478524号明細書(B
rovn他)に説明があり、IBM  S/370アー
キテクチヤに採用された従来のページイン/ページアウ
ト命令は、アプリケージジン拳プログラムがESとMS
との間でデータのページをコピーするとき使用できない
。このページイン/ページアウト命令は、特権命令であ
って、これを使用できるのは、O81制御プログラム、
ハイパーバイザなどの監視プログラムだけだからである
。これは、従来のページイン/ベージアウト命令が、M
SとESとの間でデータのべ一ノをコピーするためには
、ESベージの実アドレス(アプリケ−70ン・プログ
ラム会ユーザには与えられない)を指定しなければなら
ないことによる。
セキュリティの観点から、ESのアクセスは特権プログ
ラムだけに許可される。
したがって、アプリケージ1ン・プログラムがMVPG
命令を使用できるようにするには、ユーザの知識がなく
、MVPGのユーザ・インタフェースにとって明らかで
はないMVPG命令に必要な監視制御機能を、プロセッ
サのハードウェアのマイクロコード・インタフェースに
認識させればよい。これにより、ユーザが、MVPG命
令に伴うシステム監視状態のセキュリティに影響を与え
る可能性がな(なる。
MVPG命令は、ページを実際に移動させるのではなく
、指定された第2オペランドeロケ−シーン(あるアド
レス空間の仮想アドレスであり得る)から、指定された
第1オペランド・ロケーシーン(別のアドレス空間の仮
想アドレスであり得ル)へページをコピーするものであ
る。第20ケージ日ンのページ(ソース・ペーノ七いつ
)ハ、MVPG命令の実行によって変更されない。しか
し第10ケージaンのページ(デスティネーションaペ
ーノという)は、デスティネーション・ページに存在し
ていたかもしれないデータにソース・ページのコピーを
上書きすることによって変更される。
MVPG命令の各オペランドに対する仮想アドレスは、
ページのPTEにおいてバッキング媒体としてMSが指
定されているかESが指定されているかに応じて、MS
では実アドレスに、ESではブロック番号に変換できる
。変換されたアドレスのそれぞれに対するMS/ES媒
体は、制御ビットのペアを、動的アドレスflfiが用
いられているときにMVPG命令のオペランド指定それ
ぞれと併用するよう構成されたPTEとしてセットする
ことによって判定される。
MVPG命令が実行されるとき、物理的な転送方向は、
ESからMSS MSからES、MSからMS、ESか
らESのいずれでもあり得、ソース・ページとデスティ
ネーション・ページに対してPTEで現在どの媒体が選
択されているかによって決まる。このようにあらかしめ
決定されている物理的な方向が、MSをテ゛ステイネー
/ヨン媒体とするとの、MVPG命令の非持罹ユーザが
表現した意図によって異なる4j合、MVPG命令の実
行は、例外割り込みによって終了し、そこで監視フログ
ラムが介入して、現在のデスティ不−シiン媒体を監視
プログラムによって変更すべきかどうかが判定される。
監視プログラムは、ユーザの要求を考慮し、それが、M
S空間の割り当てニ関スるユーザの優先順位がその時点
でそのユーザにMSのべ一ノを割り当てられるほど高く
ないといったオーバライド・ファクタと衝突しない場合
は、要求を容れる。
MVPG命令におけるソース・ページとデスティネーシ
ョン・ページの仮想アドレス空間は、M V P G命
令が実行される前に実行された特権ソフトウェアによっ
てセットアツプしておく必要がある。ただしMVPG命
令が実行されるとき、パフキング・ページのための電子
媒体や物理ロケータ1ンのアドレスを決定しておく必要
はない。
ページ−フォールト例外が実行時に発生するのは、物f
lアドレスとページ−オペランドを格納した電子媒体が
決定されていなかった場合である。この例外によってイ
ンタフェースされた特権監視ソフトウェアは、例外を解
消するために、オペランドのPTEを生成・操作し、こ
の処理の中で、フラグ拳ビットIとVをセットして、表
現されたページを格納するために、監視プログラムによ
って割り当てられた電子媒体を指定する。次にソフトウ
ェアにより、プロセッサが命令の実行を再開する。
MVPG命令の動作(実行を始めてから実行を成功、不
成功いずれかで終えるまで)は、プロセッサによって行
われ、ソフトウェアによっては制御できない。((co
ndltlon cocle)のOは、MVPG命令に
よるE OP (end−of−processing
)の成功を示す。他の条件コードは、実行時に例外条件
が発生したために不成功に終わったことを示す。
例外条件は割り込みコードを生成することがある。
割り込みコードは、特定の例外条件を正確に指示するた
めに所定のMSロケーン日ンに与えられる。
これだけの割り込み情報があれば、割り込みによって呼
び出され得る特権システム舎ソフトウェアが、例外を起
こした問題に正しく応答するのに充分である。
マタ、本発明のMVPG命令は、MPシステムおよびユ
ニプロセッサ環境で動作し、MPの全プロセッサ間で動
作を:J!4整するために命令に与えられるPTEにE
Sロック・ビットLを用いた制御機構が内蔵される。
MVPG命令の実施例として、部用なRRE(regi
ster and register extende
d)フォーマットが明らかにされている(ソースとンン
クの仮想アドレス令オペランド・フィールドが汎用レジ
スタGRに置かれるオペレージ9ン・コード)。従3+
5のRRE命令フォーマットは、s/37o命令に馴染
みやすいユーザ・インタフェースを提供する。
しかしこの単純なユーザ拳インタフェースからは、マイ
クロコードやハードウェアで構成できる新規の処理機能
が多いMVPG命令の内部動作の?131! ?Iiさ
は明らかにならない。
RR,RX、SSなど他の命令フォーマットもMVPG
命令に採用でき、汎用レジスタに代えて、またはそれに
追加して、ストレージ・アドレスに命令の仮想アドレス
・オペランドを指定できる。
本発明の仮想アドレス変換では、様々なPTEを自動的
に使用できる。いろいろな形式のPTEは、PTEを用
いるページ移動命令の特権ユーザに対してトランスペア
レントになり得る。そこで命令は、アドレス変換時にア
クセスされたどのPTEも使用する。唯一必要な条件は
、MS媒体フィールドIを、PTEに可能な異なる形式
で同じロケーシヨンに置き、ES媒体フィールド(V)
に対するどのPTEでも所定のロケーシヨンを用い、そ
のロケーシーンが、ある形式のPTEにおいて所定の状
態を持つときに、別の形式のPTEでは、ES内で有効
な条件を指示するような特定の状態を持つようにしてお
くことである。
D、実施例 ページ移動方法を第3図ないし第14図に示す。
これは、第1ステツプ“MVPGを現在の命令としてデ
コード”から最後のステップ(“EOP”または“EN
D”)に至るまで監視制御プログラムが介入することな
く、1個の命令を実行するプロセッサ・マシンによって
自動的に行われる一連のステップを示す。E OP (
end−of−process)ステップは、ページ移
動命令の実行が成功したことを示し、現在のPSWレジ
スタの(フィールドに条件コードO((=O)を残t。
これはページ移動命令が成功したことを現在のプログラ
ムに示す。ENDステップは、実行時に例外条件が発生
したためページ移動命令が失敗したことを示す。
0以外の条件:I−)’ ((=1tたはcC=2)は
、現在のPSWレジスタの(フィールドに残るか、また
は他のコード化データが所定のアドレスに残り、ページ
移動命令が成功したことがアプリケージ録ン番プログラ
ムなど現在のプログラムに示される。一般に不成功の場
合には、監視(特権)制御プログラムが介入して、例外
条件を処理または訂正する必要がある。その後、MVP
G命令の実行はプロセッサによって再開される。この場
合は成功する可能性がある(EOPステップで終わる)
第1図と第2図に示した八−ドウエアのレジスタ、双安
定デバイス、およびストレージφアレイはプロセッサ(
CPU)に用意され、第3図ないし第14図に実施例と
して示したMVPG命令を処理する。これらのハードウ
ェアは、プロセッサがMVPG命令の実行に用いる値と
指標を格納する。各ハードウェアは、CPUのIE (Instruction element)、E E
 (executionelement)s   B 
 CE  (buffer  control  el
ement)、  ES C(expanded st
orage controller’1M S (ma
lnstorage)などCPUの各部に用いられる。
プロセッサのIEは、各MVPG命令を含めて、実行の
ためにストレージにおいてアクセスされた現在のプログ
ラムの各命令を受信する命令デコードΦレジスタを含む
。デコード・レジスタによって受信された各MVPG命
令は、オペレーンぼン・コード(OPコード)とGRオ
ペランド指定を含み、これにはMVPG命令のGRrl
とGRr2のフィールドが含まれる。GRr2フィール
ドは、MSまたはESにあるソース・ページのLA (
loglcal  address)  を、 GRr
l  フ ィール ドは、MSまたはESにあるデステ
ィネーシヨンφページのLAを格納する。LAは、EE
に格納された現在のP S W (program 5
tatus word)のビットAをセットすることに
よって制御される24ビットまたは31ビットのアドレ
スである。
MVPG命令が実行されると、指定されたソース・ペー
ジ番ロケーシ日ンにあるデータが、指定されたデスティ
ネーシ2ン命ページφロケ−シコンにコピーされる。実
施例では各ページのサイズは4096バイトである(以
下、4KBと略記)。
論理アドレス(rlとr2に置かれる)は、仮想アドレ
ス(VA)か実アドレスであり、現在のPSWでDAT
ビットTに1がセットされているか0がセットされてい
るかによる。LAはソースでもデスティネーションでも
同じ形式、すなわちいずれも仮想アドレスか、いずれも
実アドレスであり、PSWのDATビットTの状態が示
すとおりである。
MVPG命令が実行されるたびに、MSまたはESのソ
ース・ロケーシヨンのページがMSまたはESのデステ
ィネーシヨン・ロケーシヨンのページにコピーされるこ
とによって、 1ページのコピーが行われる。MVPG
命令を使ったプログラム−ループは、論理アドレスが続
いているページのシーケンスをコピーするのに用いるこ
とかでき る。
PSWの2ビット争フィールドAS(11こセットされ
たDATビットTと併用)により、MVPG命令のソー
ス・ページとデスティネーンヨンφページに指定された
仮想アドレスに対して、アドレス空間をフレキシブルに
制御できる。その際、指定された仮想アドレスは、同じ
仮想アドレス空間または異なる仮想アドレス空間に置け
る。ASフィールドが00にセットされた場合、GRr
lとGRr2のアドレスは同じアドレス空間になければ
ならない。ただしASが0.1(アクセス・レジスター
モード)にセットされた場合は、GRrlとGRr2の
オペランドは別のアドレス空間にあってもよい。GRr
lとGRr2のオペランドに対する仮想アドレス空間は
、GRrlとGRr2に関連するA R(access
 registers)に置かれたA L E T (
access 11st entry tokens)
によって指定される。いずれのARでもALET値が同
じなら、MVPG命令のソース・ページとデスティネー
ンロン・ページに同じアドレス空間が指定される。AL
ET値が異なる場合、これらのARは、MVPG命令の
ソース・ページとデスティネーション・ページに対して
異なる仮想アドレス空間を指定する。 (ALETは、
米国特許出願第154689号(Baum他、89年2
月10日出願)「マルチプル・アドレス空間トークン指
定、プロテクト制御、指定変換、およびルックアサイド
(Mu!tlple Address 5pace T
oken Designation。
Protectlon Controls、 Desi
gnation Translationand Lo
okaslde)Jに説明されているように、仮想アド
レス変換に用いられるセグメント−テーブルを1旨定す
る。) GRrlとGRr2によって定義されたオペランドは、
DATビットが現在のPSWでオフにセットされたとき
は(T=O)、実アドレスである。DATがオフの場合
、MVPG命令が制御できるのはMS内のページ・コピ
ーだけである。これはセキュリティの観点から、システ
ム・アーキテクチャが、ユーザによって制御されたES
への直接アクセスに問題状態を与えるのを避けるように
構造化されているからである。これが与えられるのは、
ユーザがESをアクセスするためにESBN値を直接1
旨定できる場合である。ESBHに対して仮想アドレシ
ング制御を行えば、ユーザがESをアクセスするときに
ESBNを指定するのが回避される。MSがあれば、ユ
ーザがMSをアクセスするために実アドレシングを使用
できる従来の機能を、MVPG命令のために維持できる
MVPG命令のGRrlとGRr2に与えられたオペラ
ンド・アドレスのタイプは、現在のPSWのビットTお
よびAの状帳によって示される。
ビットTが1なら、仮想アドレスがGRrlとGRr2
にあるが、ビットTがOなら、実アドレスがGRrlと
GRr2にある。ビットAが1なら、31ビット長のア
ドレスがGRrlとG Rr 2 i:あるが、ビット
AがOなら、24ビット長のアドレスがGRrlとGR
r2にある。
仮想アドレスがユーザによってGRrlとGRr2に与
えられると、IBMのO8であるS/370や他のO8
で実行される従来のアドレス変換により、D−PTEと
5−PTEがアクセスされる。本発明では全く新しい形
のPTEが用いられる。PTEが検索されると、PTE
のビットIおよびVの□状態によって、ページがMSに
あるかESにあるか、またはいずれにも存在しないかが
示される。
ESAモードは現在のPSWにセットされ、プロセッサ
が最も広範な仮想アドレシングやモードを使用している
ことが示される。このモードでは、現在のアドレス空間
はそれぞれ、各GR(GRrl、GRr2など)に関連
するA R(accessregister)のALE
Tによって定義される。両オベランドに同じアドレス空
間が用いられると、これらARの両方に同じALETが
ロードされる。
二つのオペランドに異なるアドレス空間が用いられると
、二つのARに異なるALETがロードされる。
ALETは、MS内のセグメント・テーブルを指してE
SA/370アーキテクチャのアドレス空間を定義する
。各セグメント・テーブルはSTE (seg+*en
t table entry)から成る。各STEは、
有効なら、MS内のP T (page table)
を指す。各PTは256個のP T E (page 
table entry)から成り、各PTEは4バイ
ト長である。この実施例では、第2図の下側に示すよう
に、同じMSページ・フレーム内で、各PTの直後にX
PT(external page table)が置
かれる。XPTJ!、X P T E (extern
al page table entry)から成り、
各XPTEは12バイト長である。ページ・フレーム内
の各XPTEのロケーションは、関連するPTEのロケ
ーションから簡単に計算できる。
これは、関係するPTEとXPTEの個数およびそれぞ
れの長さが分かっているからである。
5−LAとD−LAが仮想アドレスなら(PSW  D
AT= 1 )、ARとDATの変換値がルックアサイ
ド・バッファにあるときには、ARと1)ATの変換処
理に、第4図の方法命ステップ“°GRr2の5−LA
をアドレス変換”と第5図の方法・ステップ“GRrl
のD−LAをアドレス変換”が含まれる。これは、たと
えば、STDがAL B (access regis
ter 1ookaslde buffer)にあると
き、変換された仮想アドレスがTLB(transla
tion Iookaslde buyer)にあると
き、TLBになければ、そのPTEが、所要ページがM
SまたはESにあることを示すとき、などである。
AR内容(A L E T)の変換値はS T D (
segmenttable deslgnator)で
あり、仮想アドレスのDAT変換値は、ソース・ページ
またはデスティネーシIン・ページの内容を格納するた
めに割り当てラレタページ・フレームに対する、MSま
たはES内の絶対アドレスである。TLBに変換値がな
く、ページがMSまたはESにあることをPTEが示す
場合(V、I=11またはV、I=OO)、プロセッサ
はDAT変換を自動的に実行する。
しかし仮想アドレスが、必要なAR変換値をALB内に
持たず、そのDAT変換値がTLBにないか、またはそ
のPTEが、ページがMSかESのいずれかにないこと
を示す場合、プロセッサによってページ・フォールト例
外シグナルが生成され、MVPG命令の実行が終わり、
制御プログラムが呼び出されて、欠けている変換のいず
れかまたは両方が実行されて、結果がTLBかALBに
置かれ、そこで、失敗したMVPG命令の実行を再開す
るためにプロセッサによって用いられる。
MVPG命令では、別の汎用レジスタ(GRrl+1)
によって、ある情報がCPUに伝えられ、MVPG命令
の実行に用いられる。GRrl+1はN  G Rr 
1の次に大きいGR発番号持つGRである。GRr1+
1に固有の内容は第1図にビ・ノ)D%  8%  D
RI (destlnatlon−reference
−Intentlon)、および(OP ((opti
on)、並びにAKEYフィールドとして示した。Dと
Sのフィールド′は、MVPG命令に対するストレージ
書プロテクト・キー動作を制御し、DRIと(0Pのフ
ィールドは、MVPGI令が、プログラム内でそれに続
く命令との関係でどのように用いられ墨かに影響を与え
る特殊な動作を制御する。
MVPG命令の実行は、第1図の実行エレメントのPS
Wに(ビットをセットすることによって終了できる。M
VPG命令の実行が成功した場合、所望の条件コード(
(=O)を与えることによってMVPG命令の実行が終
了する。実行が失敗したときは、結果が(= 1または
(=2となるように終了させることができる。しかし条
件コード1と2の出力は、(0Pピツトを使えば抑止で
きる。ccopビットでは、直ちに監視ソフトウェアを
呼び出して、他の場合には(=1または(=2がセット
される条件を処理させることができる。
したがってccopビットが0にセットされた場合、c
c= iまたは(=2はPSWにはセットされない。た
だしその場合には、ピッ) 杖fg (0P=0によっ
て、他の場合ニp s w r c c =1または(
=2となり、ペーハフォールト割り込みソフトウェアが
すぐにストレーノ階層内のデスティネーション・ページ
を探し始め、それをMSにコピーするなどの条件によっ
て、デスティネーション拳ページ・フォールト割り込み
が自動起動される。この方法は、別の命令が(をテスト
して、特権ソフトウェアを起動し、例外を処理させるの
を回避する。
(OP ((option) ヒラ)が1にセットされ
ると、(= 1と(=2がPSWにセットされる。次に
特権ソフトウェアが起動されて例外が処理される前にP
SWの(の内容を検出するために別のテスト命令が必要
になる。(=2となるのは、MSかESのソース争ペー
ジが使用できないときである。(=1となるのは、 (
1)MSかESのデスティネーション・ページが使用で
きないとき、(2)MSのデスティネーション・ページ
が使用できず、DRIビ、トが1にセットされていると
き、(3)ESへのアクセスでエラーが発生したとき、
(4)PTEのロック壷ビットが1にセットされている
とき、または(5)PTEフォーマット・エラーが検出
されたとき、を含めていくつかの条件が重なったききで
ある。所定のMSロケーシHンにおけるコード化ビット
は、介在する特権ソフトウェアが正しく動作するように
そのソフトウェアに対して正確な条件を定義する。
MVPG命令のユーザは、ソース・ページ’eESに置
(かMSに置くかを制御できない。MVPG6令のユー
ザは、デスティネーション拳ページに関わることはでき
る。これはユーザが、MS内の仮想ロケーションのペー
ジをコピーする他の命令を使用することがあるからであ
る。そのために、MVPG命令では、特権ソフトウェア
がデスティネーション・ページの媒体にMSとESのど
ちらを選択するかに関して、ユーザが影響を与えること
ができる。ユーザの影響は、ユーザがDRI(dest
lnatlon−reference−1ntenti
on)ビットをGRrl+1にセットすることによって
表現できる。
DRIがオンにセットされていてデスティネーションP
TEがMSを選択している場合(■、V=OO)、デス
ティネ−/B/・ページはMSとプロセッサ・キャッシ
ュの両方にコピーされる。
しかしDRIビットがオンにセットされていて(DRI
=1)、デスティネーションPTEがMSを選択してい
ない(PTEの1.  VがOOでない)場合は、MV
PG命令が自動的に特権制御プログラムを呼び出して、
実行を終了させる。制御プログラムは、デスティネーシ
ョンPTEにおける媒体の割り当てを再FA?Eするこ
とによって応答し、MSベペーの割り当てを防d−する
条件がなければ、MSにページを割り当てる。制御プロ
グラムは、MSにページを割り当てた後、デスティネー
ションPTEの11 VビットをOoの状態に変えてM
S媒体のページを表し、プロセッサをMVPG命令に返
す。そこでMVPG命令の実行が再開されると、ソース
・ページがMSデスティネーシ日ン@ ヘー:l/にコ
ピーサレ、キャッ/ユ拳バイパスが禁止されるので、デ
スティネーション・ページは、MSにおいてアクセスさ
れたときにキャッシュに書き込まれる。
このように、DRIビットによれば、ユーザ・プログラ
ムがMVPG命令に続いて、デスティネーション1ペー
ジのデータをアクセスする他の命令を実行するときにの
みキャッシュが使用され、キャッシュ空間を効率的に使
用できる。
キャッシュが小さいプロセッサでは、デスティネーショ
ン・ページの一部しかキャッシュにコピーされないこと
がある。この部分は、デスティネ・−シーン・オペラン
ドの、アドレス指定されたバイトを含むキャッシュ・ユ
ニットである(そのバイトを伴うキャッ/ユ・ラインな
ど)。
第2図に示したD−PTEと5−PTEは、MVPG命
令のデスティネーン日ンーページとソース・ページを指
すのに用いられる。これに関連するD−XPTEとX−
XPTEはそれぞれ、補助ストレージ(通常はDASD
デバイス上にある)のバックアップ・ページのアドレス
を格納する。
XPTEは、PTEによって、ページがMSかESで現
在は有効でないことが示されるときに、ページが要求さ
れて、仮ぜアドレス・ページ・フォールトが発生した場
合、特権ソフトウェアによってアクセスされる。
各図で用いた表記、5−PGlS−PTE。
5−XPTEは、それぞれソース・ページ、そのP T
 E、  そのXPTEを、D−PGl D−PTE。
D−XPTEは、それぞれデスティネーション・ページ
、そのPTEl そのXPTEを示す。
この実施例に必要なPTEには、全く新しいフォーマッ
トが用いられる。各PTEの中の1個のアドレスeフィ
ールドは、P F RA(pageframe rea
l addressJ値またはE S B N (ex
pandedstorage block numbe
r)(iaのいずれかを格納する。
したがって1個のPTEは、MS1 ESの両方ではな
くMSまたはESのいずれかの中の1ページを指す。
また、PFRA/ESBNアドレスと制御ビット■およ
び■のロケータ1ンが分かっている限り、複数のPTE
フォーマットを本発明に採用することもできる。本発明
では、制御ビットI、  Vの゛状態によって決まる二
つの形式をPTEに採用している。一つはI、V=11
のときのPTE形式であり、アドレス・フィールドには
PFRAが置かれる。もう一つはI、V=OOで、アド
レス・フィールドにESBNが置かれるPTE形式であ
る。第3の形式のPTEもサポートされ、本発明の動作
レベルで上位互換性が得られている。第3のPTE形式
は、制御ビットVの値0によって示される。これはPT
Eアドレス・フィールドに、MSをアドレス指定するた
めのPF’RALが格納できなかったために、制御ビッ
トVを持たず、ES媒体の仮想アドレシングを行わなか
った、事前に用いられたPTEフォーマットを示ス。
ページがMSにあるかESにあるかは、それぞれPTE
フラグ・ビットIとVによって判定される。11 ■=
00ならページはMSにあり、PTEアドレス・フィー
ルドはPFRAを含み、これがMS内のページの第1バ
イトを指す。しがし11V=11?jら、ヘ−’) ハ
E S ニアI)、PTE7)’レス・フィールドはE
SBNを含み、これがMSではなくESにあるページを
指す。
ただし工、■が01になることはない。これはPTEエ
ントリの中のアドレスが、MSページでもESページで
も有効なことを示すことになるからである。これはPT
E力1個のアドレス・フィールドしか持てず、二つの異
なるページ舎アドレス(一つはES内、一つはMS内)
を格納できないので、許可されない。r、v=oiとい
う条件があれば例外シグナルが生成される。
また、PTEのアドレス・フィールドに有効なアドレス
が格納されていない場合、実行中に11v= i oと
いう条件が成立し、ページ・フォールト例外シグナルが
発生する。ページ・フォールト例外シグナルによってペ
ージ・フォールト割り込みが起こり、O8のソフトウェ
アが起動されて例外が処理される。O8はMSを割り当
てて、補助ストレージ(DASDなど)からのページを
受信する。
割り込みがMSまたはESに存在しないソース・ページ
に対して行われると、特権ソフトウェアは、一般には、
ソースPTEのL  Vビットの設定は変えず、単にデ
スティネーション・ページのためにMSにページを割り
当てるだけであるが、あらかじめ割り当てられていなけ
れば、ページをストレージ階層から当該ページヘコビー
する。
しかしデスティネーシ日ン拳ベージがMSに割り当てら
れていなかったために、I、V=10または11のとき
DRIビットがGRrl+1で1にセットされていれば
、特権ソフトウェアは、般には、デスティネーション媒
体をMSとするとのユーザの意図を示す設定DRI =
 1によって影響を受ける。ユーザは、 (MVPG命
令の直後の)アプリケージlン・プログラムの命令がデ
スティネーシPン拳ページをアクセスするときに、その
意図DRI=1を表現する。DRI=1の場合、特権ソ
フトウェアは、デスティネーションPTEのI、  V
ビットをOOの状態に変える前に、ソース・ページをス
トレージ階層(MS1 ES、DASDなど)からデス
ティネー71Iン争ページのMSロケーションヘコピー
する。
したがってデスティネーションPTEに対するページ・
フォールト例外割り込みによって起動された特権ソフト
ウェアは、ページ・フレーム・アドレスをMSに割り当
て、このMSアドレスは、対応するD−PTEのアドレ
ス−フィールドにPFRAとして書き込まれる。そこで
特権ソフトウェアはD−PTEに1.V=00をセット
する。
次にMVPG命令の実行が再1511されれば、デステ
ィネーション・ページがMSに割り当てられているのが
検出される。
しかしペーノ拳フォールト割り込みが起こったデスティ
ネーシぼン・ページに対してDRI=0であれば、特権
ソフトウェアは、MSかESのいずれかにロケ−7IW
ンを割り当てる。ESなら、割り当てられたESペペー
φブロック番号は、ページが特権ソフトウェアによって
ESにコピーされたときに、ESBN値として、対応す
るD−PTEのアドレス・フィールドに書き込まれる。
MSなら、特権ソフトウェアは、割り当てられたページ
・フレームのPFRAを対応するD−PTEに書き込み
、そこでソース・ページがMSデスティネーシヨン・ロ
ケーションにコピーされる。
MSかESにページを割り当ててコピーする際にPTE
の内容をセットアツプするこの方法は、PTE検証また
はページ検証と呼ばれる。
DRIのビット状態にかかわらず、5−PTEにおける
L  Vビットの設定がMSかESを示す場合、これは
一般には割り込みソフトウェアによって変更されない。
そしてl) RI = Oで、D−PTEにおける■、
Vビットの設定がMSかESを示す場合、これも一般に
は割り込みソフトウェアによって変更されない。
先にも述べたように、例外シグナルが生成されると、割
り込みコードがMSに送られ、MVPG命令の処理が終
了する。そこで後続するプログラム割り込みによってO
Sソフトウェアなどの監視制御プログラムが起動され、
送られた割り込みシグナルによって示される問題の処理
に必要な処置がとられる。ここで重要なことは、MVP
G命令が、プログラム・ループを成すルーチンに用いら
れて、多数のページが移動されることである。その場合
、MVPGルーチンによって実行される第1ループの間
に生じたページ・フォールトは、MVPGの他のどのル
ープ処理でもページ・フォールトの起こる可能性のある
ことを示すので、ループをつくるプログラム−ルーチン
によって数百ページも転送されるときには、テスト命令
の実行回数を数百回節約できることになる。
MVPG命令は、ユーザが任意に、MVPG命令に続く
条件つき分岐命令の使用を避けて、条件コードをテスト
し条件コードによって分岐できるようなアーキテクチャ
を採用している。これは、GRrl+lに(OP ((
optlon)ビットを用いることによって行われる。
ccopが0にセットされていれば、MVPG命令は、
例外が発生した際に特権命令に対して自動的に割り込み
をかける。
これにより、あらかじめ分岐命令を使って、命令を実行
するたびにその(状複をテストする必要がなくなる。こ
れによりページ転送プログラム・ループの命令が少なく
てすむので、すなわち結果的に(が生じず、生じた(値
をテストする条件つき分岐命令が必要なくなるので、M
VPG命令を使うプログラムが高速化される。
しかし単に(0P=1とセットするだけでは、MVPG
命令を使い、続く条件つき分岐命令によってテストされ
る(値を生成するユーザ拳オプシ日ンが残る。(値のテ
ストでは、特権ソフトウェアをいつ呼び出すかが決定さ
れる。
実施例で用いられる各PTEには、N、  P、  R
C,Lなど他のフラグ・ビットも格納される。対応する
XPTEにはS K E Y(storage  ke
y)フィールドとフェッチ・プロテクト壷フラグΦビッ
トFがあり、これらは論理上、PTEの一部である(こ
れらがXPTEにあるのはPTEの空間が足りないため
)。Nビットの設定は、PTEによってアドレスを指定
されたESページにキー会プロテクトをかけるかどうか
を制御する。 (MSページがPTEによってアドレス
指定されると、MSページは、従来の方法でプロセッサ
のストレージ・キーΦハードウェアによって暗黙にプロ
テクトされる。)Pビットは、 1にセットされると、
格納は防止するが、MSかESのPTEによってアドレ
ス指定されたページ内のフェッチは許可する。P=0な
ら、アドレス指定されたページへのフェッチも格納も許
可される。フェッチまたは格納のためにESのページが
参照されると、Rビットが1にセットされる。格納によ
ってESのページが変更されるとCビットが1にセット
される。ロックφビットLは、ローカルΦプロセッサに
よって1にセットされ、ローカル・プロセッサがPTE
またはそのXPTEにいつ変更を加えようとするかの警
告がMPの他のプロセッサに与えられる。
MVPG命令の内部動作によってN1P1  またはF
ビットが変更されることはなく、IやVのビットがどの
PTEでも変更されることもない。
他の制御ビット(対応するPTEのR,C1Lビットな
ど)は、MVPG命令の内部動作によって変更できる。
PTEにビットNがセットされると、対応するXPTE
の5KEYとFのフィールドを使ってES内の対応する
ページをプロテクトするかどうかが制御される。N=O
なら、XPTEの5KEYとFのフィールドによて、対
応するESSページの各アクセスが、不当なアクセスに
対してプロテクトされる。そのため、対応するMSペー
ジへのアクセスをプロテクトするためにMSストレージ
Φキーとフェッチ・プロテクトΦビットで行われるよう
なキー比較プロテクト機能が用いられる。
MSストレージ・キーとそのプロテクトeビットは、プ
ロセッサ内の従来のストレーハキ−・アレイに置かれ、
MVPG命令のためにMSSページアクセスされるとき
に従来の方法で用いられる。
(XPTEの5KEYとFのフィールドは、対応するペ
ージがMSに割り当てられて検証され、MSのそのペー
ジをプロテクトするためにMSストレージ・キーが初期
化されるとき、MSストレージ・キー・アレイにコピー
される。) ここでESストレージ・キーによるプロテクトがどのよ
うに行われるかを詳述する。ビットNが1にセットされ
ると、ES内の対応するページへのアクセスをプロテク
トするストレージ・プロテクトは許可されない。ビット
Nが0にセットされると% G Rr 1 + 1のA
KEYとPSWのA(−KEYまたはそのいずれかを用
いたESページのアクセス・プロテクトが許可される。
このようなストレージ・キーによるプロテクトでは、対
応するXPTEの5KEYがPWSのA(−KEYまた
はGRrl+1のAKEYと比較されるとともに、XP
TEのFビットが用いられ、ESページに対する不当な
フェッチ・アクセスが防d:される。これら二つのアク
セス・キー(A K E Y。
A(−KEY)のどちらがESページのプロテクトに用
いられるかは、レジスタGRrl+1のビットDとSの
設定によって決まる。 (MVPG命令の実行時には、
ピッ)DとSの値が、それぞれトリガXD七XSにコピ
ーされ、そこでビットDとSの状態がテストされる。) このようにGRrl+1のビットD、  Sの状態は、
MVPG命令のためにESとMSのストレージ・プロテ
クト動作にどのアクセス・キーが用いられるかを決定す
る。D=1、S=0のとき、デスティネーン日ンOペー
ジの格納は、GRr 1 +1のAKEYフィールドの
アクセス拳キーによって制御され、ソース・ページのフ
ェッチは、PSWのA(−KEYフィールドのアクセス
・キーによって制御される。D=O1S=1のとき、デ
スティネーションΦページの格納は、PSWの八〇C−
KEYによって制御され、ソース・ページのフェッチは
、G Rr 1 + 1のAKEYによって制御される
。D=0、S=Oのときは、ソース・ページのフェッチ
もデスティネーション・ページの格納も、pswのA 
(−K E Yによって制御される。そしてD=1、S
=1のときは、ソース・ページのフェッチもデスティネ
ーンaン番ページの格納も、レジスタGRrl+1のA
KEYによって制御される。
XPTEのFフィールドは、ESの対応するページへの
格納アクセスを防ぐためのページ・フェッチ・プロテク
トeビットである。このFビットは、S/370アーキ
テクチヤに定義されているとおり、MSストレーハキ−
のFビットと同じように機能する。F=Oのとき、アク
セス中キーが一致しないと、対応するESベージに対し
てフェッチ・アクセスだけが許可される。しかしF=1
のときは、アクセス・キーが一致しないと、対応するE
SSページ対してフェッチΦアクセスも格納アクセスも
許可されず、一致しないままアクセスが行われようとす
れば例外シグナルが出される。(また、Fビットは、ペ
ージ・フォールトの結果、MSに移動(コピー)された
とき、MSストレーハプロテクトーキーOアレイ(図示
なし)にロードされるので、対応するMSページへのア
クセスが、XPTEのこのFビ。
トによって間接的に制御される。) 各図ではMSページへの“リスト−フェッチ0が行われ
る。テスト・フェッチでは、MSストレージ・プロテク
ト機能がその活動化の程度まで暗黙に用いられるので、
ページのアクセスによってMSアクセスΦプロテクトが
脅かされた場合には、与えられ活動化された例外シグナ
ルが検出される。テスト・フェッチは、既存の例外状態
を調べ、ストレージ・プロテクト、動的アドレス変換、
およびアクセス・レジスタ変換の違反に対する例外を含
めて、ある動作によって例外シグナルが生成されたかど
うかを判定する。フェッチ・プロテクト例外シグナルに
関しては、テスト書フェッチ動作にDとSのビット状態
が関係する。
実施例でMVPG命令の実行に用いられるプロセッサ・
ハードウェアには、第1図と第2図に示した多数のレジ
スタ、アレイ、およびトリガがある。これらに含まれる
アドレス・レジスタは、プロセッサのI E (Ins
truction element’、E E(exe
cution elesent)、B CE (buy
er controlelesent)x およびE 
S C(expanded storagecontr
oller)に用いられる。
IEレジスタADRIおよびADR2は、オペランドの
論理アドレスや、MSのPTEを指す絶対アドレスなど
のアドレスを保持するのに用イラれる。IEレジスタS
TAは、ESにデスティネーシリンeページを格納する
ための論理アドレスや、MSにPTEを格納するための
絶対アドレスを保持するのに用いられる。
EEはPSWレジスタ、G R(genera 1re
glster)アレイ、ワーキング・ストア、レジスタ
、およびトリガを持つ。EEに含まれるEregは、現
在実行されているMVPG命令のコピーを保持する。I
LCレノスタは、プログラムの次の命令をフェッチする
のに用いられる現在の命令の長さを保持する。PSWレ
ノスタは、現在のPSWのフィールドを格納する。関連
フィールドは、第1図でT1 A(KEY、P、AS、
(。
A1およびIAと示している。GRアレイは、S/37
0タイプのプロセッサの汎用レノスタ16個を含む。S
/370タイプ争プロセツサはESA/370S/37
0アーキテクチヤ成を待つものとする。16個のGRは
いずれもMVPG命令によってGRrl、GRr2、G
Rrl+1などと措定できる。ワーキング・ストアは、
PTEアドレス、PTE、  および論理アドレスを保
持するのに用いられるレジスタWSlないしWSθを含
む。K M (key園ask )レジスタは16ピツ
ト(それぞれ16の異なるストレーノφプロテクト・キ
ー値に対応する)であり、lの状態にセットされたビッ
ト位置は、対応するプロテクト機能−を、現在のシステ
ムの問題状態ユーザが使用できることを示す。AKEY
レジスタは、MVPG命令の実行中にGRrl+1のA
KEYフィールドのコピーを受信する。
EEでは、  ト リ ガESA1 MVPG、  X
D、  XS、SA、  およびSBが、ページ移動命
令の実行中にセットされてその動作が制御される。ES
Aモード・トリガは1にセットされて、プロセッサがい
つESAモードに入っているかが示される。
これはESAモード争レジスタが、MVPG命令を実行
するための必須条件として、1の状態にセットされてい
なければならないからである。MVPGモード書レジ入
レジスタVPG命令がページをESに移動している間に
1にセットされる。
XDとXSのレジスタは、MVPG命令の実行中に、そ
れぞれGRr1+1のDとSのビットの状態にセットさ
れる。SAトリガは、 lにセットされて、アドレス指
定されたべ一部がESで有効であって、MP環境におい
てページのデータの整合性を保つために、別のプロセッ
サによってロックされていて(ページのPTEでL=1
がセットされる)、現在のプロセッサによるページの変
更が調整されていることが示される。SBトリガは、1
にセットされて、アドレス指定されたページがESで有
効であってロックされていないことが示される。
プロセッサのB CE (buffer contro
l element)コンポーネントは、プロセッサの
キャッシユと、プロセッサを活動化してMSをアクセス
させるストレージ・コントロールを持つ。BCHには、
PTEアドレス・レジスタとMS実アドレス・レジスタ
、およびMSアドレス変換を行うプロセッサの従来のD
 A T (dynamic address tra
nslation)手段(図示なし)が含まれる。また
ES変換手段もBCEに追加できる。ただしこれはプロ
セッサのEEコンポーネント内のプロセッサΦマイクロ
コード手段に設けることもできる。BCEレジスタには
、I N V −P T E (Invalid PT
E) レジスタが含まれる。INV−PTEレジスタは
、現在アクセスされているPTEが無効なことが検出さ
れたとき、1にセットされる。MSのデータがフェッチ
されたとき例外が発生すると、例外レジスタが1にセッ
トされる。
E S C(expanded storage co
ntroller)  は、 プロセッサを活動化して
MSをアクセスさせるストレージΦコントロールを持つ
。ESCのレジスタESADDR1とESADDR2は
、ESに存在するページのデスティネーション・アドレ
スとソース・アドレスを保持するのに用いられる。ES
CのトリガDATA−ERRは、ESページでパリティ
Φエラー(F(エラー)が検出されたことを示す。
D−PTEとそのD−XPTEおよび5−PTEとその
5−XPTEは、関連フィールドとともに代表例として
示したが、MS内で異なるページ・テーブルにも置ける
I ESBE命令は、ここで説明している本発明の一部
である。これは特権命令として、監視制御プログラムが
、指定されたPTEの状態を、ES内有効からES内無
効へ変え、マルチプロセッサ構成のCPUがすべて、I
ESBE命令の実行終了後にES内無効状態だけを検出
するように、監視制御プログラムによって用いられる。
IESBEifil令のオペランドはPTEのアドレス
である。命令の実行後、マシンは、指定されたPTEの
VビットをOにセットして、他の全CPUに応答を求め
る。このとき、CPUはすべて、指定されたPTEの内
容またはそのPTEによって表されるESブロックをア
クセスしたり変更したりしているMVPG命令は実行し
ていない。IESBHの実行は、それがM P +N成
の各CPUから応答を受けたときにだけ終了する。出願
人から見たrEsBE命令の実施例であるロジック流れ
図は第16図と第17図に示した。
IESBHによって用いられるブロードキャスト(同報
)/ウェイト令プロトコルでは、実行時間が長くなりや
す<、IESBE命令が頻繁に用いられてシステムφパ
フォーマンスが大きく低下することがある。そこで本発
明では、Es内有効PTEを無効にする効率化手段を提
供しており、これにロック・プロトコルが用いられる。
ロック・プロトコルでは、MVPGが、Es内有効PT
Eによって指定されたESブロックをアクセスする前に
、 1ビット・ロック(L)を取得する必要がある。ロ
ック取得の流れ図は第9図に示した。体のステップが必
要になる。ESMVPGを1にセットすることで、この
CPUがLビット・ロックを保持している(または取得
しようとしている)ことを示す。
ESMVPG トリガは、実施例では、このCPUがI
ESBE要求に応答できるがどうかを判定するのに用い
られる。トリガが1であれば、cPUは、ES内有効P
TEをアクセスしており、応答が抑止されるとみなされ
る。
マシンは、アトミック動作を利用し、PTEがES内有
効状態にあることと、Lビットが0であることを検証し
、0であればLビットを1にセット する。
第9図から分かるように、このステップは実際には、ア
トミックにフェッチされたPTEの内容が、v1L=1
.0と状態判定されていたバッファ内PTEと等しいこ
とを検証することによって実行される。そのように比較
検証されるとLビットが1にセットされる。他の場合、
MVPG命令が最初から実行し直される。
MVPG命令が終了すると、LビットとESMVPG 
)リガがOにセットされる。
したがって他のCPUがMVPGを介してPTEをアク
セスしていることを確認しながら、ES内有効PTEを
無効にするには、制御プログラムハ、単にコンベア・ス
ワップ命令を実行すればよい。これはアトミック動作で
、Vl L=1、Oであることを検証し、VをOにセッ
トする。Lビットが1であったため1ここのコンベア・
スワップ動作が失敗した場合、制御プログラムは、それ
が成功するまで動作を繰り返すことができる。ただしL
ビットが、命令の終了後にビットをリセットできなかっ
たワイルド・ストアやマイクロコードのエラーによって
1にセットされている可能性がある。いずれの場合も、
コンベア書スワップが無事に終了することはない。した
がってコンベア・スワップを一定回数試行した後、制御
プログラムは、IESBE命令を実行して、PTEを無
効にし、同時にロック・ビットにエラーがあるかどうか
を検証できる。
制御プログラムは、PTEのLビットが誤ってオンにな
っていることが証明されるききはIESBEを使用でき
る。たとえばソースPTEかデスティネーシ1ンPTE
のいずれかでLビットが1であったためにMVPGが失
敗し、L=1の状態が継続することを(定時的な検査や
、MVPG命令の実行を再開しようとして何度も失敗す
るなどによって)制御プログラムが確認した場合、制御
プログラムは、IESBEを発行して、Lビットが誤っ
てオンになっているかどうか検出することができる。
本発明の目的には、PTEのロック・ビット(L)がい
つ誤って保持されているかを制御プログラムが検出でき
る手段を提供することも含まれる。これは、オペランド
として問題のPTEを指定したIESBE命令を発行す
ることによって行われる。IESBEは最初に、ES内
仔効ビット(V)を0にセットし、よって、後にMVP
Gを実行するCPUがそのPTEのLビットを取得する
のを禁止するa tSを設定する。次に、MVPG命令
の実行中に取得されたPTEロック・ビットをどのCP
Uも保持していないことが分かったとき、全CPUに応
答を求める。すなわち、CPUはすべて、ESMVPG
トリガがOのときだけ応答する。IESBE命令は、各
CPUからの応答を受信してから終了する。命令終了後
にロックがまだ保持されていた場合は、MVPG命令を
実行するためにこのロックを保持しているCPUはない
ことが分かる。制御プログラムのプロトコルが、MV 
P G命令の実行中に、ロックがマシンによってのみ有
効に使用されるようなものである場合、ロックが誤って
保持されているのが分がる。
SIHによるMVPG   の このページ移動命令は、S I E(startInt
erpretlve executlon)命令を用い
たIEモードで動作するページ可能モードの仮想マシン
内で、データの移動に用いられる従来のものよりもパフ
ォーマンスを大幅に向上できる。SIE命令については
、IBMが発行している「インタプリティブ・エクセキ
ューシPン(InterpretlveExecuti
on)J  (S A 22−7096、TNL:5N
22−0692)に説明されている。
ページ可能モードの仮想マシンには、ゲスト・リアルと
いうストレージφレベルがあり、これは(ゲス)PSW
にT=Oが指定されているとき)ゲストの動的アドレス
変換の助けを借りなくてもアクセスされる。このような
仮想マシンで実行されるプログラムは、このストレージ
を実ストレージと認識するが、ページの内容は、ストレ
ージ階層(メイン・ストレージ、拡張ストレージ、DA
SDなど)のどこにでも存在し得、ホストのPTEと補
助ホスト制御ブロックによって表される。
ゲスト・プログラムのアドレスは、SIEのファシリテ
ィ、動的アドレス変換、および適用できる場合はアクセ
ス会レジスタ変換によってホスト・リアルに変換される
。ゲスト命令のフェッチまたはオペランドの参照によっ
て、ホストのMSで有効でないゲスト・リアルeストレ
ージのページがアドレス指定されようとすると、通常は
ページ型フォールトが起こり、制御はホストの制御プロ
グラムに渡ってフォールト処理が行われるが、以下で述
べるように、ページ可能モードのDATオフ会ゲスゲス
トVPGを使ってページをゲスト書リアルのあるロケ−
シーンから別のロケ−シーンへ移動させるときは、オペ
ランドのページについてはホスト・ページ・フォールト
が回避される。
ページ可能モードDATオフ・ゲストの場合、MVPG
命令は流れ図(第3図ないし第15図)のように動作す
るが、 “PSWのDATビットはT=1か?”のテス
トがすべてYESのパスをとることが異なる。これは、
ページ可能モードΦゲストの場合、ゲストのPSWでT
=0が指定されていても、SIEファシリティは常に動
的アドレス変換を行うからである。
第12図から分かるように、移動が(制御プログラムの
介在なく)成功するのは、オペランド−ページが両方と
もホストのMSかESにある場合である。ページのいず
れかか両方がMSでもESでも無効であれば、SIEイ
ンクセブンeン(特殊なプログラム割り込み)が(第1
2図のシーケンスで)生成される。このインクセプシ日
ンの前には、ホストがMVPG命令を終了させるのを補
助するゲストのS D (state descrip
tion)にプロセッサが情報を格納していることに注
意したい。
ホストは通常はこのインタセプションに対して次のよう
に応答する。
1、デスティネーシ日ン・ページが現在有効でなければ
、デスティネーション・ページ・フレームをメイン中ス
トレージに割り当てる。
2、必要なページ転送動作(Ilo、ページイン、また
は移動)を行ってソース・ページの内容をデスティネー
ション・ページ・フレームへ送る。
3、現在を効でなければデスティネーシ日ンPTEを有
効にする。
デスティネーシ日ン・ページが無効なときは、その内容
をメイン・ストレージへもってくる必要はない。ソース
・ページとそっくり1itllkされるからである。ま
たメイン・ストレージのソース・ページを有効にする必
要もない。
いずれの場合も、MVPGはデータ転送動作1回、ホス
ト会プログラムの起動1回で終了する。
従来の技術では、データ転送動作が3回まで(それぞれ
MVCLオペランドのためにページ・フォールトを解決
し、1回は実際にMVCLを実行)およびページ会フォ
ールトが2回必要になった。
もう一つ、従来の技術よりも優れた点は、プロセッサが
(SDにおいて)MVPGのオペランドを表すPTE実
アドレスをホストに与えることである。これにより、ペ
ージ会フォールトの解決に必要だったように、ホスト−
プログラムがゲストの実アドレスをホストのPTEアド
レスに変換する必要がなくなる。この変換方法は、アク
セス・レジスタ変換と動的アドレス変換の両方のンミュ
レーシeンを伴うので、かなり複雑になることがある。
よって、従来の技術(MVCLで別にページ変換例外割
り込みが行われる)を上回るMVPG命令のメリットは
、ページ可能モード・ゲストが実ストレージのあるロケ
−シーンから次のロケ−シーンへ移動を行うときは、次
のようになる。
1、ホスト制御プログラムの起動回数が少なくなる。
2、不要なデータ転送がなくなる。
3、ゲスト・リアルからホストPTEへの変mがな く
 なる。
隨ユL1 本明細書の各図に示した流れ図は、明細書の説明および
以下の用語の説明と合わせて読むことによって理解でき
るように、詳細に記述している。
(KEY DDR KEY S  C S 5AR PSWの31ビットφアドレシ ング・モード噂ビット PSWの4ビットMSストレー ジ・アクセス・キー 31ビット・アドレス GRrl+1の4ビット・スト レージ・アクセス・キー PSWの2ビ、ト・アドレス空 間刊御フィールド PTEの変更ビット PSWの2ビット条件コード・ フィールド 制御ストア 制御ストア・アドレス・レジス DATA−トリガを示すデータ・エラーERRlにセッ
トされるとESベージ のデータ・エラーを示す。
DまたはDST  デスティネーン關ン(デスティネー
シ■ン・ページに関係する 項目を参照) END     MVPG命令に対する処理の異常終了 EOP     実行されている命令の動作の終了 EREG     実行されている命令を含む16ビッ
ト実行レジスタ ESA     エンタープライズ中システム・アーキ
テクチャ ESA)リガ  1のときESAモードESBN   
  拡張ストレーン・ブロック番号EXCEPTION
  命令実行中に生じた異常条件 EXCEPTrON  1にセットされると、アトトリ
ガ       レスのデータのフェッチでのアクセス
例外をホす F        XPTEのフェッチ・プロテクト・
ビット I        PTEのMS内;11(効ビット。
PTEのアドレスがMSのページ を指定しないことを示す IA      PSWの31ビット命令アドレス ILC次に実行される命令のMSロケーシaンを計算す
るのに用いられ る3ビット長の命令コード I N V −OP   !!!を助動作例外。これに
よってプログラム割り込みが起こる INV−PTE   無効PTE  ト リ ガ。 D
ATがPTEに■ビットを検出したとき 1にセットされるとそのページ・ アドレスがMS内無効であるこ とを示す KM      制御レジスタの16ビットOG RA S3 VPG MVPGトリが AGE− RANS GIN GOUT GM キー・マスク PTEのロック・ビット MS内のロケーシロン DATを実行する実アドレス・ ロード命令 3ビット左シフト ページ移動。MVPG命令また はMVPGトリガを参照 lにセットされるとESへの ページ移動が進行中であること を示す PTEの非キー制御プロテクト・ ビット PTEのページ・プロテクト・ ビット ページ変換例外。これによって プログラム割り込みが起こる ページイン命令 ページアウト命令 対応するアクセス例外に対する プログラム割り込み PRV−OP   特権動作例外。これによってプログ
ラム割り込みが起こる PROT     プロテクト例外。これによってプロ
グラム割り込みが起こる psw−p    pswの問題状態ビットPTE  
   ページ・テーブル・エントリRESベージに用い
られるPTE の参照ビット SA      SページがESで有効かつロックされ
ていることを示すトリガ SB       SページがESで有効なことを示す
トリガ 5KEY     対応するESページのプロテクトに
用いられるXPTEの4 ビット・ストレージ−プロチク ト・キー 5PECIF   tli定例外。これによってプログ
ラム割り込みが起こる SまたはSRCソース(ソース・ページに関係TA RANS− PEC ■ SI S2 S3 する項目を参照) 格納動作に用いられる31ビツ ト・ストレージ・アドレス・レ ジスタ PSWの動的アドレス変換モー ド・ビット。 ■にセットされる とプロセッサにDATモードが 存在することを示す 変換指定例外。これによってプ ログラム割り込みが起こる PTEのES内有効ビット DSTオペランドΦベージφア ドレス用ワーキング争ストレー ジー時ホルダ SRCオペランドΦページ−ア ドレス用ワーキング・ストレー ジー時ホルダ ESで有効なPTEのアドレス 用ワーキング・ストレージ−時 ホルダ WS4     5−PTEまたはソース書オペランド
実ページ・アドレス用 ワーキング・ストレージ−時ホ ルダ WS5      D−PTEまたはDSTオペランド
PFRAベージ・フレーム 実アドレス用ワーキング・スト レージ−時ホルダ XD       1のとき、デスティネーシ1ン・ペ
ージにおいて5KEYによる テスト・フェッチが起こる XPTE     外部ページ・テーブル・エントリ XS       1のとき、ソース・ページにおいて
5KEYによるテストΦ フェッチが起こる ト リ ガ   熊 の 1 トリガは、命令のデコードごとに1にセットされる。例
外トリガは、フェッチによって生じる例外によってOま
たは1にセットされる。
INV−PTE トIJガ+tDAT動作4m、1.っ
てOか1にセッ′トされる。DATA−ERR)リガは
PGINa令またはPGOUT命令によってOか1にセ
ットされる。
以上、本発明を特定の実施例とあわせて説明したが、当
業者は、特許請求の範囲に定義されている本発明の要諦
と範囲から逸脱することなく様々な変更を加えることが
できる。
E0発明の効果 本発明によれば、非特権状態にあるプログラムにおいて
マシン命令内のオペランドの仮想アドレシングを用いた
各種命令の実行が可能となる。
【図面の簡単な説明】
第1図と第2図は、M V P G (move pa
ge)命令の処理に用いられるハードウェアを示す図で
ある。 第3図ないし第14図は、MVPG命令の実行処理を示
す図である。 第15図はN  I E S B E (Invali
date expandedstorage bloc
k entry)命令の実行処理に用いられるハードウ
ェアを示す図である。 第 6図と第1 7図は、 ■ BE命令の実行 処理を示す図である。

Claims (1)

  1. 【特許請求の範囲】 (1)複数の電子ストレージをアクセスできるプロセッ
    サの命令に対するアドレス変換方法において、該ストレ
    ージが、サブページ・データ・ユニットの処理を可能に
    する電子メイン・ストレージ(MS)と、ページ・ユニ
    ットの処理だけを可能にする複数のストレージとを含み
    、該ストレージに格納されたページを指し示すために異
    なるアドレシングを行え、該プロセッサが、命令のオペ
    ランドに対して指定された変換テーブルを選択すること
    によってアドレス空間を決定する手段を含めて、該スト
    レージの仮想アドレシングをサポートする命令実行手段
    を含み、オペランドが指定された仮想アドレスがそれぞ
    れ、データや命令を格納できるページ・ユニット(ペー
    ジ)を指し示すページ・テーブル・エントリ(PTE)
    を取得するために、変換テーブルをアクセスするのに用
    いられる、オペランドの仮想アドレスを変換する方法で
    あって、 複数の媒体フィールドによって複数の電子媒体を表し、
    かつページ・アドレス・フィールド1個が、該複数の媒
    体フィールドのいずれかに選択された状態によって、P
    TE内に示された複数の媒体のうち選択された媒体1個
    の中のページを物理的にアドレス指定できるPTEをア
    クセスするステップと、 上記PTEを用いて、上記プロセッサが非監視状態にあ
    り得る間に処理された命令オペランドによって指定され
    た、仮想アドレスを変換し、該PTE内の選択された媒
    体を示す媒体フィールドを発見し、該選択された媒体に
    必要なページとして、該PTE内の上記アドレス・フィ
    ールド1個にあるアドレスのページを指すステップとを
    含む、アドレス変換方法。 (2)請求項(1)に記載の命令プロセッサにおけるア
    ドレス変換方法であって、 媒体1個に関連する媒体フィールドの個数とタイプが異
    なる複数のPTEを設けるステップと、各PTEタイプ
    が上記媒体フィールドの値の組み合わせによって判定さ
    れており、アクセスされたPTEの所定の位置の値を組
    み合わせることによって各PTEタイプを判定するステ
    ップとを含む、アドレス変換方法。 (3)請求項(2)に記載の命令プロセッサにおけるア
    ドレス変換方法であって、 各PTEタイプの所定位置の各媒体フィールドにビット
    1個を与えるステップと、 上記PTE内の媒体ビット位置の組み合わせを判定して
    、そのPTEタイプを上記プロセッサに知らせるステッ
    プとを含む、アドレス変換方法。 (4)請求項(3)に記載の命令プロセッサにおけるア
    ドレス変換方法であって、 各PTEタイプの所定位置のMS媒体フィールドにビッ
    ト1個を与え、各PTEタイプの別の所定位置のES媒
    体フィールドにビット1個を与えるステップと、 上記MS媒体フィールドの0ビットと上記ES媒体フィ
    ールドの0ビットの組み合わせとしてのPTEタイプ1
    個を、上記PTE内のアドレス・フィールドがMS内で
    有効なページ・アドレスを格納していることを示すもの
    として検出するステップと、 上記MS媒体フィールドの1ビットと上記ES媒体フィ
    ールドの1ビットの組み合わせとしての別のPTEタイ
    プを、上記PTE内のアドレス・フィールドがES内で
    有効なページ・アドレスを格納していることを示すもの
    と検出するステップと、 上記MS媒体フィールドの1ビットと上記ES媒体フィ
    ールドの0ビットの組み合わせでは、上記PTE内のア
    ドレス・フィールドがMSでもESでも無効なことが示
    され、有効なPTEタイプが存在しないことを検出する
    ステップとを含む、アドレス変換方法。 (5)請求項(1)に記載の命令プロセッサにおけるア
    ドレス変換方法であって、 監視(特権)状態で動作する制御プログラムを使用して
    、PTE内の上記複数の媒体フィールドのいずれかを、
    選択された状態にセットし、該複数の媒体のうちどの媒
    体が、アドレス指定されたページを格納しているかを示
    し、かつ該ページのPTE内のアドレス・フィールド1
    個を、選択された媒体の物理アドレスにセットして該ペ
    ージを指し示し、該PTEの内容が非監視状態で動作す
    る命令によって変更可能になるのを防ぐステップを含む
    、アドレス変換方法。 (6)請求項(1)に記載の命令プロセッサにおけるア
    ドレス変換方法であって、 上記PTEにビット位置1個を設けて上記媒体フィール
    ドのそれぞれを表し、各媒体フィールドに、表現された
    媒体に選択された状態として特定の状態を用いるステッ
    プを含み、異なる該媒体フィールドのいずれかに対して
    ビット位置が1個しか選択された状態にセットされない
    、アドレス変換方法。 (7)請求項(1)に記載の命令プロセッサにおけるア
    ドレス変換方法であって、 上記媒体フィールドのいずれも、動的アドレス変換の間
    に選択された状態を持たないとき、ページ・フォールト
    ・シグナルを与え、上記PTEによって表されたページ
    を、該PTEの媒体フィールドによって表された電子媒
    体以外の媒体からアクセスすることを、監視状態で動作
    する制御プログラムに要求するステップを含む、アドレ
    ス変換方法。 (8)請求項(5)に記載の命令プロセッサのアドレス
    変換方法であって、上記プロセッサがマルチプロセッサ
    ・システム(MP)において動作可能であり、下記のス
    テップを用いて、(非監視状態を含む)任意の状態で命
    令を実行する、アドレス変換方法。 アクセスされたPTEによってロック・フィールドの状
    態をテストして、該PTEによってアドレス指定された
    ページのロック/アンロック状態を判定し、プロセッサ
    が該ページのアクセスを許可されているかどうかを判定
    するステップと、上記PTEに対してロック状態が示さ
    れている場合には上記命令の実行を終了するが、該ロッ
    ク状態が該PTEに対して示されていない場合には、上
    記ロック・フィールドを該ロック状態にセットして、上
    記システムの他のプロセッサに対して、該PTEによっ
    てアドレス指定されたページが別のプロセッサによって
    アクセスされるものではないことを示し、よって該ロッ
    ク状態をセットしたプロセッサが、該PTEによってア
    ドレス指定されたページを排他的にアクセスできるよう
    にするステップ。 (9)請求項(8)に記載の命令プロセッサにおけるア
    ドレス変換方法であって、 上記ロック・フィールドを表すために上記PTEにビッ
    ト位置1個を設けるステップを含むアドレス変換方法。 (10)請求項(1)に記載の命令プロセッサにおける
    アドレス変換方法であって、 上記PTEに、または上記PTEから指示できるプロテ
    クト・キー・フィールドを設けて、上記複数の媒体のう
    ち選択された一つの媒体内の、該PTEによってアドレ
    ス指定されたページに対してプロテクト・キー状態を示
    すステップを含む、アドレス変換方法。 (11)請求項(10)に記載の命令プロセッサにおけ
    るアドレス変換方法であって、 上記PTE内に、または上記PTEから指示できる変更
    フィールドと参照フィールドを設けて、上記選択された
    媒体内のPTEによってアドレス指定されたページに対
    する変更または参照を示すステップを含むアドレス変換
    方法。 (12)請求項(10)に記載の命令プロセッサにおけ
    るアドレス変換方法であって、 上記PTE内に、または上記PTEから指示できるフェ
    ッチ・プロテクト・フィールドを設けて、上記選択され
    た媒体内のPTEによってアドレス指定されたページに
    対してフェッチ・プロテクトがいつ存在するかを示すス
    テップを含むアドレス変換方法。 (13)請求項(10)に記載の命令プロセッサにおけ
    るアドレス変換方法であって、 各PTEに非キー・プロテクト・フィールドを設けて、
    該PTEのプロテクト・キー・フィールドの設定にかか
    わらず、上記選択された媒体のPTEによってアドレス
    指定されたページに対してキー・プロテクトが非活動化
    されていることを示すステップを含むアドレス変換方法
    。 (14)請求項(11)、(12)、(13)のいずれ
    かに記載の命令プロセッサにおけるアドレス変換方法で
    あって、 上記変更フィールド、参照フィールド、フェッチ・プロ
    テクト・フィールド、および非キー・プロテクト・フィ
    ールドのそれぞれに対して、各PTEにビット位置1個
    を設けるステップを含むアドレス変換方法。 (15)請求項(1)に記載のアドレス変換方法を含む
    命令実行方法であって、 プロセッサを任意の動作状態(非監視状態と監視状態を
    含む)にセットして、アプリケーシヨン・プログラムを
    含めた任意のプログラムの実行を可能にするステップと
    、 オペレーション・コードと、ソース・オペランドの仮想
    アドレスおよびデスティネーシヨン・オペランドの仮想
    アドレスを指定する二つのオペランドとを含み、該オペ
    ランドの仮想アドレスがそれぞれ、ソース・オペランド
    PTEとデスティネーション・オペランドPTEとを取
    得するために、同じ変換テーブルまたは異なる変換テー
    ブルによって変換される、ページ・コピー命令を実行す
    るステップと、 上記ページ・コピー命令の構造が、該命令のオペランド
    のページをアクセスするために選択された媒体(または
    ある媒体)に依存しないようにするステップと、 上記ソースPTE内および上記デスティネーションPT
    E内の媒体フィールドをアクセスして、ソース媒体とデ
    スティネーション媒体が両方とも、対応するPTEにて
    選択されているかどうかを判定し(該ソース媒体と該デ
    スティネーション媒体には同じ電子ストレージまたは異
    なる電子ストレージを選択でき)、該ソースPTEから
    はソース・ページ・アドレスを、該デスティネーション
    PTEからはデスティネーシヨン・ページ・アドレスを
    取得するステップと、 上記ソース・ページ・アドレスのソース・ページを上記
    ソース電子ストレージに読み込むステップと、 上記ソース・ページから読み込まれたデータを上記デス
    ティネーシヨン電子ストレージの上記デスティネーショ
    ン・ページ・アドレスに書き込み、どのデータもあらか
    じめ上記デスティネーション・ページに読み込んでおく
    必要をなくし、上記ページ・コピー命令の実行が成功し
    ている間は上記プロセッサにその処理状態(非監視状態
    を含む)を変更させないステップとを含む、命令実行方
    法。 (16)請求項(15)に記載のページ・コピー命令方
    法であって、上記プロセッサが、上記ソース媒体と上記
    デスティネーション媒体が、両方とも対応するPTEに
    て選択されていない場合には、上記プロセッサの例外を
    シグナル通知し、上記ページ・コピー命令の実行が成功
    していないことを示すステップと、 上記例外のために上記ページ・コピー命令の実行を抑止
    して、監視制御プログラムによって上記プロセッサを監
    視状態に切り替え、対応する媒体フィールドを、媒体が
    選択されていない上記ソースPTEまたは上記デスティ
    ネーシヨンPTEに、該PTEのいずれも媒体が選択さ
    れていることを示さない場合は両PTEに、セットする
    ステップとを実行する、ページ・コピー命令方法。 (17)請求項(15)に記載のページ・コピー命令方
    法であって、上記プロセッサが、現在のプロセッサ状態
    (非監視状態であり得る)での実行を終える前に上記監
    視制御プログラムの活動化を可能にするステップを実行
    する、ページ・コピー命令方法。 (18)請求項(15)に記載のページ・コピー命令方
    法であって、上記プロセッサが、ソース媒体とデスティ
    ネーション媒体が両方とも選択されておらず、ページ操
    作が成功していないことが示される場合に、該プロセッ
    サに条件コードをセットするステップと、 上記ページ・コピー命令の実行を終了するステップとを
    実行する、ページ・コピー命令方法。 (19)請求項(15)に記載のページ・コピー命令方
    法であって、上記プロセッサが、上記命令のオペランド
    に命令終了オプション・フィールドを設けて、条件コー
    ドの設定によって該命令の実行が完了するかどうか、ま
    たは監視制御プログラムが、後に分岐命令が続くことな
    く、ページ・フォールト例外条件を処理するために、該
    命令の実行が完了した後で介入できるようにする例外条
    件によって、該命令の実行が完了するかどうかを示すス
    テップを実行する、ページ・コピー命令方法。 (20)請求項(19)に記載のページ・コピー命令方
    法であって、上記プロセッサが、条件コードをセットす
    ることによって該命令の実行が完了することを、上記命
    令終了オプション・フィールドがいつ示すかを検出する
    ステップと、 条件コードをセットして、該命令の実行中に明らかにな
    った例外状態を示すステップとを実行する、ページ・コ
    ピー命令方法。 (21)請求項(15)に記載のページ・コピー命令方
    法であって、上記プロセッサが、上記命令のオペランド
    に命令終了オプション・フィールドを設けて、条件コー
    ドの設定によって該命令の実行が完了するかどうか、ま
    たは該命令によってホストの制御プログラムにインター
    セプションがかかり、該命令の実行中に判定されたペー
    ジ・フォールト例外条件がすべて処理されるかどうかを
    示すステップを実行する、ページ・コピー命令方法。 (22)請求項(21)に記載のページ・コピー命令方
    法であって、上記プロセッサが、ホストの制御プログラ
    ムにエミュレーシヨン・モード・インターセプシヨンが
    生じて、該命令の実行中に判定されたページ・フォール
    ト例外条件がすべて処理されることを、上記命令終了オ
    プシヨン・フィールドがいつ示すかを検出するステップ
    と、 ゲスト・プログラムが実アドレシング・モードで動作す
    るとき、現在のページ移動命令を含むプログラムがいつ
    、エミュレーション・モードで動作するゲスト・プログ
    ラムであるかを検出するステップと、 上記ページ移動命令の内容の表現と、既存のすべてのペ
    ージ・フォールト例外条件についての情報とをステート
    ・ディスクリプタ制御ブロックに格納するステップと、 上記ホスト制御プログラムに対してエミュレーシヨン・
    モード・インターセプションを開始して、上記ページ・
    コピー命令によって生じ得るページ・フォールト例外条
    件をすべてインターセプション1回で処理できるように
    するステップとを実行する、ページ・コピー命令方法。 (23)請求項(15)に記載のページ・コピー命令方
    法であって、上記プロセッサが、それぞれのPTEタイ
    プの各PTE内の媒体フィールドのそれぞれにビット位
    置1個を設けるステップと、 各PTE内の1ビットの媒体フィールドのいずれかを、
    選択された状態にセットして、上記ページ・コピー命令
    に対して、該PTEによって表されたページが実際に電
    子ストレージに存在することを示すステップとを実行す
    る、ページ・コピー命令方法。 (24)請求項(16)に記載のページ・コピー命令方
    法であって、上記プロセッサが、上記PTEか上記デス
    ティネーションPTEのいずれか、または両方において
    媒体フィールドが選択されていないときの例外の通知に
    応答して、ページ・フォールト・ハンドラ・ルーチンを
    アクティブにし、上記制御プログラムが下記の処理を実
    行できるようにするステップを実行する、ページ・コピ
    ー命令方法。 使用可能な媒体を選択し、媒体の選択を要する各PTE
    において、対応する媒体のビットを、選択された状態に
    セットするステップと、 選択された媒体にページ・フレームを割り当て、対応す
    るPTE内のアドレス・フィールドを、割り当てられた
    ページ・フレームに選択された媒体内のロケーションに
    セットするステップ。 (25)請求項(8)に記載の命令実行方法であって、
    MPのあるプロセッサが、 アクセスされたソースPTE内とアクセスされたデステ
    ィネーションPTE内のロック・フィールドをテストし
    て、両PTE内のロック・フィールドの状態を判定する
    ステップと、 上記ソースPTEと上記デスティネーションPTEのい
    ずれでもアンロック状態が示される場合には、両PTE
    内で上記ロック・フィールドをロック状態にセットし、
    該ロック・フィールドを該ロック状態にセットして、該
    ロック状態が存在する間はいずれのPTEでも選択され
    たページをアクセスしないよう警告する上記プロセッサ
    によって、各PTEによってアドレス指定されたページ
    が排他的に保持されていることを、上記システムの他の
    プロセッサに示すステップとを含む、上記ページ・コピ
    ー命令を実行する命令実行方法。(26)請求項(8)
    に記載の命令方法であって、MPのあるプロセッサが、 アクセスされたソースPTE内とアクセスされたデステ
    ィネーションPTE内のロック・フィールドをテストし
    て、両PTE内のロック・フィールドの状態を判定する
    ステップと、 上記ソースPTEと上記デスティネーションPTEのい
    ずれでもアンロック状態が示される場合には、両PTE
    内で上記ロック・フィールドをロック状態にセットし、
    該ロック・フィールドを該ロック状態にセットして、該
    ロック状態が存在する間は、該選択された媒体内のPT
    Eのページを他のプロセッサがアクセスすることを防ぐ
    上記プロセッサによって、両PTEによってアドレス指
    定された、選択された媒体(またはある媒体)内のペー
    ジが排他的に保持されていることを、上記システムの他
    のプロセッサに示すステップとを含む、上記ページ・コ
    ピー命令を実行する命令実行方法。 (27)請求項(28)に記載の命令方法において、上
    記MPの別のプロセッサが上記ページ・コピー命令を実
    行しているとき、アクセスされたPTE内のロック状態
    であって、上記PTEによってアドレス指定されたペー
    ジが、ロック状態にあり、衝突の発生していない別のP
    TEによって他のページがアドレス指定されている場合
    に、別のプロセッサが同じ媒体または他の媒体内の該別
    のページをアクセスしているとしても、上記ロック・フ
    ィールドを該ロック状態にセットした上記プロセッサ以
    外のどのプロセッサによっても、アクセスされないもの
    であることを、上記MPの上記PTEをアクセスしてい
    る他のプロセッサに示すステップを含む、ロック状態。 (28)請求項(15)に記載の命令方法において、上
    記ページ・コピー命令を実行する上記MPのプロセッサ
    であつて、 アクセスされたソースPTE内とアクセスされたデステ
    ィネーションPTE内のロック・フィールドをテストし
    て、両PTE内のロック・フィールドの状態を判定する
    ステップと、 上記ソースPTE内でも上記デスティネーションPTE
    内でもアンロック状態が示される場合は、非MS媒体ペ
    ージが選択された各PTEにおいてのみ、上記ロック・
    フィールドを上記ロック状態にセットし、該ロック・フ
    ィールドを該ロック状態にセットして、該PTE内に該
    ロック状態が存在する間は、該選択された非MS媒体ペ
    ージをアクセスしないよう該他のプロセッサに警告した
    上記プロセッサによって、該PTEによって選択された
    非MS媒体ページが排他的に保持されていることを、上
    記システムの他のプロセッサに示すが、あるPTE内の
    該ロック・フィールドは、該PTE内の選択された媒体
    として示された非MS媒体ページにロック状態を与える
    ためにのみ用いられ、MS内のページをロックするため
    に他の手段を用いるステップとを実行する、プロセッサ
    。 (29)請求項(28)に記載のページ・コピー命令方
    法におけるプロセッサであって、各PTEのビット位置
    1個を所定状態にセットして、該PTEの上記媒体フィ
    ールドのいずれかによって選択された非MS媒体の上記
    ロック状態を示すステップを実行する、プロセッサ。 (30)請求項(15)に記載のページ・コピー命令方
    法におけるプロセッサであって、上記ソースPTEと上
    記デスティネーションPTEのそれぞれにプロテクト・
    キー・フィールドを設けて、各PTEに選択された媒体
    として示された非MS媒体内の、上記PTEによってア
    ドレス指定されたページに割り当てられたプロテクト・
    キーを格納するステップを実行する、プロセッサ。 (31)請求項(15)に記載のページ・コピー命令方
    法におけるプロセッサであって、各PTEに変更フィー
    ルドと参照フィールドとを与えて、該PTEに選択され
    た媒体と示された非MS媒体内の、PTEによってアド
    レス指定されたページに対する変更または参照を示すス
    テップを実行する、プロセッサ。 (32)請求項(15)に記載のページ・コピー命令方
    法におけるプロセッサであって、各PTEにフェッチ・
    プロテクト・フィールドを与えて、該PTEに選択され
    た媒体と示された非MS媒体内の、PTEによってアド
    レス指定されたページにフェッチ・プロテクトが存在す
    るかどうかを示すステップを実行する、プロセッサ。 (33)請求項(30)に記載のページ・コピー命令方
    法におけるプロセッサであって、各PTEに非キー・プ
    ロテクト・フィールドを設けて、該PTEのプロテクト
    ・キー・フィールドの設定にかかわらず、該PTEに選
    択された媒体と示された非MS媒体内の、PTEにアド
    レス指定されたページに、非キー・プロテクトがいつか
    けられているかを示すステップを実行する、プロセッサ
    。 (34)請求項(29)ないし(33)のいずれかに記
    載のページ・コピー命令方法におけるプロセッサであっ
    て、 各PTEのロック、変更、参照、フェッチ、および非キ
    ー・プロテクトの各フィールドにビット位置1個を与え
    るステップを実行する、プロセッサ。 (35)請求項(15)に記載のページ・コピー命令方
    法におけるプロセッサであって、実行中のページ・コピ
    ー命令のオペランドに関連したフィールドに与えられ、
    該命令のデスティネーション・ページをある特定の電子
    ストレージに格納しようとする意図を監視制御プログラ
    ムに示す、インテンション・パラメータを検出するステ
    ップを実行する、プロセッサ。 (36)請求項(35)に記載のページ・コピー命令方
    法におけるプロセッサであって、インテンション・パラ
    メータ・フィールドを与えて、上記ページ・コピー命令
    のデスティネーション媒体としてMSが望ましい電子ス
    トレージであることを示すステップと、 MSが上記デスティネーションPTEに選択された媒体
    ではない場合、あらかじめセットされたインテンション
    ・パラメータに応答して監視制御プログラムを起動し、
    MS内のページ・フレームが上記デスティネーション媒
    体に割り当てられるかどうかを該制御プログラムが判定
    できるようにするステップとを実行する、プロセッサ。 (37)請求項(15)に記載のページ・コピー命令方
    法であって、 上記プロセッサが、デスティネーション・ページにコピ
    ーするために、上記媒体内のソース・ページに対するデ
    ータをアクセスするときに、該プロセッサによって用い
    られる高速バッファ(キャッシュ)をバイパスするステ
    ップを含む、ページ・コピー命令方法。 (38)請求項(37)に記載の命令方法であって、 上記プロセッサがデータをソース・ページからデスティ
    ネーション・ページへコピーするときに、該プロセッサ
    によって用いられる高速バッファ(キャッシュ)をバイ
    パスするステップと、MSが、選択されたデスティネー
    ション媒体であることが上記デスティネーションPTE
    によって示される場合に、上記高速バッファのバイパス
    を禁止して、上記ソース・ページを上記キャッシュへコ
    ピーするのを可能にするステップとを含む、ページ・コ
    ピー命令方法。 (39)請求項(37)に記載の命令方法であって、 変換されたアドレスに関連するインテンション・パラメ
    ータ・フィールドと、MSが、上記ページ・コピー命令
    のデスティネーシヨン媒体として望まれた電子ストレー
    ジであることを示すインテンシヨン・パラメータとをあ
    らかじめセットしておくステップと、 MSが、上記命令によって用いられたデスティネーショ
    ンPTEに選択された媒体ではない場合、該命令の実行
    中に監視制御プログラムを起動し、該デスティネーショ
    ンPTEのデスティネーション媒体の選択を該制御プロ
    グラムが調べ直せるようにするステップと、上記プロセ
    ッサが上記ソース・ページまたは上記デスティネーショ
    ン・ページに対するデータをアクセスするときに、該プ
    ロセッサによって用いられる高速バッファ(キャッシュ
    )をバイパスすることを含めて、上記ページ・コピー命
    令の実行を再開するステップと、MSが、選択されたデ
    スティネーション媒体であることが上記デスティネーシ
    ョンPTEに示され、上記インテンション・パラメータ
    がセットされてMSが所望の媒体であることが示されて
    いる場合に、上記キャッシュのバイパスを禁止し、上記
    デスティネーション・ページのうち少なくともアドレス
    指定された部分を該キャッシュへコピーすることを可能
    にするステップとを含む、ページ・コピー命令方法。 (40)請求項(39)に記載の命令方法であって、 上記キャッシュ・バイパスを禁止している間に、MSを
    示すパラメータに応答して上記ページ・コピー命令のデ
    スティネーション・オペランドによってアドレス指定さ
    れたバイトを含むデータのキャッシュ・ユニットだけを
    上記キャッシュにコピーするステップを含む、ページ・
    コピー命令方法。 (41)請求項(39)に記載の命令方法であって、 上記キャッシュ・バイパスを禁止している間に、MSを
    示すパラメータに応答して上記ページ・コピー命令のデ
    スティネーシヨン・オペランドによってアドレス指定さ
    れたバイトを含むデータのデスティネーション・ページ
    全体を上記キャッシュにコピーするステップを含む、ペ
    ージ・コピー命令方法。 (42)請求項(37)に記載の命令方法であって、 上記プロセッサが、上記媒体内のソース・ページおよび
    非MS媒体内のデスティネーション・ページに対するデ
    ータをアクセスするときに、該プロセッサによって用い
    られる高速バッファ(キャッシュ)をバイパスするステ
    ップを含む、ページ・コピー命令方法。 (43)請求項(15)に記載の命令方法であって、 上記プロセッサが、ページ移動命令を実行するときに、
    該プロセッサによって用いられる高速バッファ(キャッ
    シュ)をバイパスするステップを含む、ページ・コピー
    命令方法。(44)請求項8に記載のアドレス変換方法
    を用い、複数の媒体のPTEのロック・フィールドがロ
    ック状態にセットされているときでも、後続の非特権命
    令が該PTEを使用できるようにするプログラム実行方
    法であって、上記プロセッサが、自体を監視状態にセッ
    トし、下記のステップを用いて、命令の実行を開始して
    、上記複数の媒体のPTEによってアドレス指定された
    ページを無効にするステップを実行する、プログラム実
    行方法。 アクセスされたPTEの媒体フィールドをすべてセット
    して、ページが該PTEによって有効と表されていない
    ことを示すステップと、 上記MSの他のプロセッサにシグナルを同報して、他の
    プロセッサが上記PTEを用いて命令を実行しているか
    どうかについての応答を求めるステップと、 上記MSの他のプロセッサがすべて上記同報シグナルに
    応答して、上記PTEを用いて命令を実行しているプロ
    セッサが他にないことを示すのを待つステップと、 上記ページ無効化命令の実行を終了するステップ。 (45)請求項8に記載のアドレス変換方法を用い、複
    数の媒体のPTEのロック・フィールドがロック状態に
    セットされているときでも、後続の非特権命令が該PT
    Eを使用できるようにするプログラム実行方法であって
    、上記プロセッサが、自体を監視状態にセットし、下記
    のステップを用いて、命令の実行を開始して、上記複数
    の媒体のPTEによってアドレス指定された非MS媒体
    内のページを無効にするステップを実行する、プログラ
    ム実行方法。 アクセスされたPTEの非MS媒体フィールドをセット
    して、該PTEによって表されたページが上記非MS媒
    体内に有効に格納されていないことを示すステップと、 上記MSの他のプロセッサにシグナルを同報して、他の
    プロセッサが上記PTEを用いて命令を実行しているか
    どうかについての応答を求めるステップと、 上記MSの他のプロセッサがすべて上記同報シグナルに
    応答して、上記非MS媒体を用いて命令を実行している
    プロセッサが他にないことを示すのを待つステップと、 上記ページ無効化命令の実行を終了するステップ。 (46)請求項8に記載のアドレス変換方法を用い、複
    数の媒体のPTEのロック・フィールドがロック状態に
    セットされているときでも、後続の命令が該PTEを使
    用できるようにするプログラム実行方法であって、上記
    プロセッサが、 自体を監視状態にセットし、下記のステップを用いて、
    命令の実行を開始して、上記複数の媒体のPTEによっ
    てアドレス指定されたES媒体内のページを無効にする
    ステップを実行する、プログラム実行方法。 アクセスされたPTEの、ロック・フィールドが関係す
    るES媒体フィールドをセットして、ESページが該P
    TEによって有効にアドレス指定されていないことを示
    すステップと、 上記MSの他のプロセッサにシグナルを同報して、上記
    PTEのロック・フィールドをロック状態に保つ必要の
    ある命令を実行していないとの応答を求めるステップと
    、 上記MSの他のプロセッサがすべて上記同報シグナルに
    応答して、ESへのアクセスを要する命令を実行してい
    るプロセッサが他にないことを判定するのを待つステッ
    プと、 上記PTEのロック状態が、上記ES媒体 フィールドの無効状態によって解かれた状態で上記ペー
    ジ無効化命令の実行を終了するステップ。 (47)請求項8に記載のアドレス変換方法を用い、複
    数の媒体のPTEのロック・フィールドがロック状態に
    セットされているときでも、後続の命令が該PTEを使
    用できるようにするプログラム実行方法であって、上記
    プロセッサが、 自体を監視状態にセットし、下記のステップを用いて、
    複数の媒体のPTEに対するページ無効化命令の実行を
    開始するプログラム実行方法。 アクセスされたPTEの媒体フィールドをセットして、
    該PTEによって表されたページが、該PTEによって
    表された媒体に有効に格納されていないことを示すステ
    ップと、 上記MSの他のプロセッサにシグナルを同報して、ある
    特定の媒体に対する上記PTEのページ・アドレスを示
    し、同報されたページ・アドレスのページをアドレス指
    定する命令を実行しているプロセッサがあるかどうかの
    応答を他のプロセッサに求めるステップと、上記MSの
    他のプロセッサがすべて、上記同報シグナルに対して、
    アドレス指定されたページを使用しているプロセッサが
    他にないと応答するのを待つステップと、 上記ページ無効化命令の実行を終了するステップ。 (48)電子メイン・ストレージ(MS)、電子拡張ス
    トレージ(ES)、および命令実行手段を持つ命令プロ
    セッサのページ・コピー方法であって、該実行手段が、
    命令によって指定され、仮想アドレスが指定された各オ
    ペランドに対して、該オペランドに対して指定されたセ
    グメント・テーブルを用いてアドレス空間を判定し、各
    セグメント・テーブルが、セグメント・テーブル・エン
    トリ(STE)を格納してページ・テーブルをアドレス
    指定し、各ページ・テーブルが、ページ・テーブル・エ
    ントリ(PTE)を有してページを指し示すとき、 上記プロセッサを問題状態と仮想アドレシング状態とに
    セットするステップと、 オペレーションコードと、アクセスされたセグメント・
    テーブルを用いてソース・オペランドの仮想アドレスお
    よびデスティネーション・オペランドの仮想アドレスを
    指定した二つのオペランド指定とを格納し、該アクセス
    されたセグメント・テーブルが、該二つのオペランドに
    対して同じかまたは異なるセグメント・テーブルであり
    、該オペランド指定が、アクセス対象のページを格納し
    た特定の媒体に依存しない、ページ・コピー命令を実行
    するステップと、 上記ソース・オペランド仮想アドレスと上記デスティネ
    ーション仮想アドレスとを、上記アクセスされたセグメ
    ント・テーブルに適用して、各仮想アドレスに対するペ
    ージ・テーブルを指し示し、第1PTEと第2PTEが
    、上記二つのオペランドに対して同じかまたは異なるペ
    ージ・テーブルであるとき、ソース・ページのロケーシ
    ョンを格納した第1PTEとデスティネーション・ペー
    ジのロケーションを格納した第2PTEとをアクセスす
    るステップと、 上記第1および第2のPTEの制御フィールドをアクセ
    スして、MSとESのいずれが、上記ソース・ページと
    上記デスティネーション・ページのロケーションを格納
    した電子ストレージであるかを判定するステップと、 上記第1PTEによって判定された電子ストレージ内の
    ロケーションの上記ソース・ページを読み取るステップ
    と、 上記ソース・ページから読み取られたデータを、上記第
    2PTEによって判定された電子ストレージ内のロケー
    シヨンの上記デスティネーション・ページに書き込むス
    テップと、上記ソース・ページの読み取りと、該ソース
    ・ページの上記デスティネーション・ページへの書き込
    みとの成功または失敗を示して、仮想ページの移動をE
    SとMSとの間、MS内、またはES内で物理的に実行
    し、成功の指示が、上記プロセッサが非特権状態から抜
    けることなく与えられるステップとを含む、ページ・コ
    ピー方法。 (49)請求項(48)に記載の命令プロセッサのペー
    ジ・コピー方法であって、 上記命令にパラメータを設けて、ユーザが任意に、失敗
    の指示を受けないことを選択できるようにし、それに代
    えて、監視制御プログラムを起動して、該失敗の指示の
    原因となった条件を処理するステップを含む、ページ・
    コピー方法。 (50)請求項(48)に記載の命令プロセッサのペー
    ジ・コピー方法であって、 上記パラメータをセットして、失敗の指示に対して上記
    制御プログラムを起動し、上記命令の実行に対する成功
    の指示がないかどうかをテストする後続の条件つき分岐
    命令の必要をなくすステップを含む、ページ・コピー方
    法。 (51)請求項(48)に記載の命令プロセッサのペー
    ジ・コピー方法であって、 失敗の指示の原因となったページ・フォールト例外条件
    を生じさせ、上記命令の実行を再開する前に上記監視制
    御プログラムを起動して、該監視制御プログラムに該ペ
    ージ・フォールト条件を処理させるステップを含む、ペ
    ージ・コピー方法。 (52)請求項(48)に記載の命令プロセッサのペー
    ジ・コピー方法であって、 上記パラメータをセットして、ユーザが任意に選択でき
    る条件コードを置くことを選択し、上記命令の実行の成
    功または失敗の指示を与えるステップを含む、ページ・
    コピー方法。
JP2247669A 1989-10-20 1990-09-19 プロセツサおよび命令実行方法 Granted JPH03137747A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/424,797 US5237668A (en) 1989-10-20 1989-10-20 Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
US424797 1989-10-20

Publications (2)

Publication Number Publication Date
JPH03137747A true JPH03137747A (ja) 1991-06-12
JPH0531179B2 JPH0531179B2 (ja) 1993-05-11

Family

ID=23683911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2247669A Granted JPH03137747A (ja) 1989-10-20 1990-09-19 プロセツサおよび命令実行方法

Country Status (7)

Country Link
US (1) US5237668A (ja)
EP (1) EP0423453B1 (ja)
JP (1) JPH03137747A (ja)
AT (1) ATE146886T1 (ja)
BR (1) BR9005264A (ja)
CA (1) CA2024444C (ja)
DE (1) DE69029504T2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172610A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> 半同期メモリ・コピー動作において用いられるアドレス範囲の妥当性
JP2008541214A (ja) * 2005-05-05 2008-11-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理
JP4815539B2 (ja) * 2008-01-11 2011-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション フレーム管理を有する動的アドレス変換
US8151083B2 (en) 2008-01-11 2012-04-03 International Business Machines Corporation Dynamic address translation with frame management
US8335906B2 (en) 2008-01-11 2012-12-18 International Business Machines Corporation Perform frame management function instruction for clearing blocks of main storage
CN113474755A (zh) * 2019-02-25 2021-10-01 国际商业机器公司 一种基于按键功能控制的移动数据及设置存储键

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2829115B2 (ja) * 1990-10-19 1998-11-25 株式会社日立製作所 ファイル共用方法
US5428758A (en) * 1991-05-10 1995-06-27 Unisys Corporation Method and system for remapping memory from one physical configuration to another physical configuration
JP2778291B2 (ja) * 1991-05-31 1998-07-23 日本電気株式会社 アドレス変換レジスタ制御方式
US5394539A (en) * 1991-09-04 1995-02-28 International Business Machines Corporation Method and apparatus for rapid data copying using reassigned backing pages
EP0549924A1 (en) * 1992-01-03 1993-07-07 International Business Machines Corporation Asynchronous co-processor data mover method and means
JP3219826B2 (ja) * 1992-02-21 2001-10-15 日本電気株式会社 情報処理装置
JP2675961B2 (ja) * 1992-05-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 実記憶のページをロックするための方法
US5388244A (en) * 1992-09-17 1995-02-07 International Business Machines Corporation Controls for initial diversion of page-frame logical content as part of dynamic virtual-to-real translation of a virtual page address
US5461721A (en) * 1993-04-14 1995-10-24 International Business Machines Corporation System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs)
US5619671A (en) * 1993-04-19 1997-04-08 International Business Machines Corporation Method and apparatus for providing token controlled access to protected pages of memory
US5628023A (en) * 1993-04-19 1997-05-06 International Business Machines Corporation Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
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
US5535365A (en) * 1993-10-22 1996-07-09 Cray Research, Inc. Method and apparatus for locking shared memory locations in multiprocessing systems
CA2137488C (en) * 1994-02-18 1998-09-29 Richard I. Baum Coexecuting method and means for performing parallel processing in conventional types of data processing systems
US5842225A (en) * 1995-02-27 1998-11-24 Sun Microsystems, Inc. Method and apparatus for implementing non-faulting load instruction
US5706489A (en) * 1995-10-18 1998-01-06 International Business Machines Corporation Method for a CPU to utilize a parallel instruction execution processing facility for assisting in the processing of the accessed data
US5900019A (en) * 1996-05-23 1999-05-04 International Business Machines Corporation Apparatus for protecting memory storage blocks from I/O accesses
US5802397A (en) * 1996-05-23 1998-09-01 International Business Machines Corporation System for storage protection from unintended I/O access using I/O protection key by providing no control by I/O key entries over access by CP entity
US5809546A (en) * 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5787309A (en) * 1996-05-23 1998-07-28 International Business Machines Corporation Apparatus for protecting storage blocks from being accessed by unwanted I/O programs using I/O program keys and I/O storage keys having M number of bits
US5724551A (en) * 1996-05-23 1998-03-03 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers
US5860144A (en) * 1996-08-09 1999-01-12 Oracle Corporation Addressing method and system for providing access of a very large size physical memory buffer to a number of processes
US5822773A (en) * 1996-10-17 1998-10-13 Fwb Software Llc Method and system for accelerating the copying of repetitively copied computer data
US6047388A (en) * 1997-04-09 2000-04-04 International Business Machines Corporation Method and apparatus for processing an invalid address request
JP3228182B2 (ja) * 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
JPH1165936A (ja) * 1997-06-12 1999-03-09 Oki Micro Design Miyazaki:Kk メモリ装置
US6516342B1 (en) 1998-07-17 2003-02-04 International Business Machines Corporation Method and apparatus for extending memory using a memory server
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
US7657727B2 (en) * 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
JP4651230B2 (ja) 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
US6574706B2 (en) 2001-02-28 2003-06-03 International Business Machines Corporation Managing unvirtualized data pages in real storage
GB2381886B (en) * 2001-11-07 2004-06-23 Sun Microsystems Inc Computer system with virtual memory and paging mechanism
US7454585B2 (en) * 2005-12-22 2008-11-18 International Business Machines Corporation Efficient and flexible memory copy operation
JP2008077144A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 仮想化システム、メモリ管理方法及び制御プログラム
US8132036B2 (en) * 2008-04-25 2012-03-06 International Business Machines Corporation Reducing latency in data transfer between asynchronous clock domains
DE102009058681A1 (de) 2009-12-16 2011-06-22 Fresenius Medical Care Deutschland GmbH, 61352 Bilanziereinrichtung, externe medizinische Funktionseinrichtung, Behandlungsvorrichtung sowie Verfahren
TW201241662A (en) * 2010-12-21 2012-10-16 Ibm Virtual machine validation
US8918885B2 (en) * 2012-02-09 2014-12-23 International Business Machines Corporation Automatic discovery of system integrity exposures in system code
CN110188026B (zh) * 2019-05-31 2023-05-12 龙芯中科技术股份有限公司 快表缺失参数的确定方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
US4500952A (en) * 1980-05-23 1985-02-19 International Business Machines Corporation Mechanism for control of address translation by a program using a plurality of translation tables
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces
US4476524A (en) * 1981-07-02 1984-10-09 International Business Machines Corporation Page storage control methods and means
JPS5898893A (ja) * 1981-12-09 1983-06-11 Toshiba Corp 情報処理装置
JPS6047624B2 (ja) * 1982-06-30 1985-10-22 富士通株式会社 アドレス変換制御方式
JPS6261132A (ja) * 1985-09-12 1987-03-17 Fujitsu Ltd デ−タ転送命令制御方式
US4775955A (en) * 1985-10-30 1988-10-04 International Business Machines Corporation Cache coherence mechanism based on locking
US4763244A (en) * 1986-01-15 1988-08-09 Motorola, Inc. Paged memory management unit capable of selectively supporting multiple address spaces
JPS6376034A (ja) * 1986-09-19 1988-04-06 Hitachi Ltd 多重アドレス空間制御方式
US5127094A (en) * 1987-11-09 1992-06-30 Hitachi, Ltd. Virtual storage type computer system
US5023773A (en) * 1988-02-10 1991-06-11 International Business Machines Corporation Authorization for selective program access to data in multiple address spaces

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008541214A (ja) * 2005-05-05 2008-11-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理
JP2007172610A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> 半同期メモリ・コピー動作において用いられるアドレス範囲の妥当性
JP4815539B2 (ja) * 2008-01-11 2011-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション フレーム管理を有する動的アドレス変換
US8151083B2 (en) 2008-01-11 2012-04-03 International Business Machines Corporation Dynamic address translation with frame management
US8335906B2 (en) 2008-01-11 2012-12-18 International Business Machines Corporation Perform frame management function instruction for clearing blocks of main storage
US8417916B2 (en) 2008-01-11 2013-04-09 International Business Machines Corporation Perform frame management function instruction for setting storage keys and clearing blocks of main storage
US8489853B2 (en) 2008-01-11 2013-07-16 International Business Machines Corporation Executing a perform frame management instruction
US8909899B2 (en) 2008-01-11 2014-12-09 International Business Machines Corporation Emulating execution of a perform frame management instruction
CN113474755A (zh) * 2019-02-25 2021-10-01 国际商业机器公司 一种基于按键功能控制的移动数据及设置存储键
JP2022521046A (ja) * 2019-02-25 2022-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーション キー機能制御に基づくデータ移動および記憶キー設定
US12423451B2 (en) 2019-02-25 2025-09-23 International Business Machines Corporation Move data and set storage key based on key function control

Also Published As

Publication number Publication date
CA2024444A1 (en) 1991-04-21
JPH0531179B2 (ja) 1993-05-11
US5237668A (en) 1993-08-17
CA2024444C (en) 1995-08-15
ATE146886T1 (de) 1997-01-15
DE69029504D1 (de) 1997-02-06
EP0423453B1 (en) 1996-12-27
EP0423453A2 (en) 1991-04-24
BR9005264A (pt) 1991-09-17
DE69029504T2 (de) 1997-07-17
EP0423453A3 (en) 1992-04-29

Similar Documents

Publication Publication Date Title
JPH03137747A (ja) プロセツサおよび命令実行方法
US10768832B2 (en) Managing storage protection faults
US10552346B2 (en) Protection key management and prefixing in virtual address space legacy emulation system
JP7444853B2 (ja) メモリ・アクセスを制御するための装置及び方法
US6345351B1 (en) Maintenance of speculative state of parallel executed jobs in an information processing system
JPS6248258B2 (ja)
JPH0769844B2 (ja) データ空間への共通アクセス装置及び方法
JP7291149B2 (ja) メモリ・アクセスにおける保護タグ・チェックの制御
IL263204A (en) Permission control for contingent memory access program instruction
US5459872A (en) Software control of hardware interruptions
US7506096B1 (en) Memory segment emulation model for virtual machine
US5117491A (en) Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding
US7552305B2 (en) Dynamic and real-time management of memory
JPS63298652A (ja) 情報処理装置