JPH04357544A - データ処理装置およびそのためのメモリ割当方法 - Google Patents

データ処理装置およびそのためのメモリ割当方法

Info

Publication number
JPH04357544A
JPH04357544A JP3187255A JP18725591A JPH04357544A JP H04357544 A JPH04357544 A JP H04357544A JP 3187255 A JP3187255 A JP 3187255A JP 18725591 A JP18725591 A JP 18725591A JP H04357544 A JPH04357544 A JP H04357544A
Authority
JP
Japan
Prior art keywords
area
unit area
real
key
storage
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
JP3187255A
Other languages
English (en)
Inventor
▲高▼橋 喜久雄
Kikuo Takahashi
Toyohiko Kagimasa
豊彦 鍵政
Toshiaki Mori
利明 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3187255A priority Critical patent/JPH04357544A/ja
Publication of JPH04357544A publication Critical patent/JPH04357544A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムの実記
憶の構成に係わり、特に大容量実記憶装置を実現するの
に好適な、メモリ割り当て方法および、そのためのデー
タ処理装置に関する。
【0002】
【従来の技術】従来の仮想記憶方式の計算機システムで
は、実記憶を通常は仮想ページサイズと同一サイズの管
理単位(実ページ)に分割し、この管理単毎に記憶保護
のための、キー記憶エントリを設置している。そのため
、実記憶容量が数百MB(メガバイト)オーダのときは
問題無いが、実記憶が大容量化、例えば数十GB(ギガ
バイト)になると、前記キー記憶のエントリ数も巨大に
なり、キー記憶装置全体の容量の大きさが問題となる。 例えば、キー記憶装置は、実記憶装置上の領域がアクセ
スされる都度、参照または更新されるため、高速なアク
セスが要求され高速な半導体素子で構成され、高価であ
り、キー記憶装置の容量が巨大化するとシステム全体の
コストにも影響すると言うコスト面での問題がある。さ
らに重大な事として、キー記憶装置の容量が巨大化する
と、従来の所定領域内に実装できなくなり、キー記憶の
アクセス時間が大となり、しいては、システム全体の性
能を低下させると言う問題がある。この問題に関しては
、特開昭63−289659、特開昭64−17138
でキー記憶エントリの設置単位である実記憶装置の管理
単位大きくし、それでもってキー記憶エントリ数(キー
記憶装置の容量)を低減する方法が論じられている。
【0003】
【発明が解決しようとする課題】この従来技術のように
管理単位を大きくしても、必要な記憶単位の数が将来さ
らに多くなると、キー記憶エントリ数は増大せざるをえ
ないと言う問題がある。本発明の目的は、キー記憶装置
の容量を増加させることなく大容量実記憶装置を提供す
ることにある。
【0004】
【課題を解決するための手段】上記目的の達成のため、
本発明では、実記憶装置の一部の領域からなる第1の実
記憶領域には本領域に含まれる複数の実記憶管理単位毎
に各々キー記憶エントリを設置し(第1キー記憶装置と
呼ぶ)、これとは異なる他の第2の実記憶領域に対して
は本領域に含まれる複数の実記憶管理単位に共通に一つ
のキー記憶エントリを設置(第2キー記憶装置と呼ぶ)
する。さらに、第2の実記憶領域に対して設けたキー記
憶エントリには、少なくとも、IPLと呼ばれているオ
ペレーティングシステム(以下OSと略す)の初期化完
了までに、あらかじめ定められた特定のキー値を与えて
おく。以降、OSが仮想領域に実記憶領域を割り当てる
場合には、当該仮想領域の持つ記憶保護キー値をチェッ
クし、前記あらかじめ定めてある特定のキー値と同一キ
ー値で有れば、当該仮想領域には、前記第2の実記憶領
域内に優先して割り当てる。前記キーが、前記特定のキ
ー値と異なる場合や第2の実記憶領域内に空き領域が無
い場合には、前記第1の実記憶領域内に割り当てる。以
降、命令の実行等によりキー記憶へのアクセスが必要と
なった場合に、前記の第1キー記憶装置と、第2キー記
憶装置のいずれの領域に対応するキー記憶エントリへの
アクセスかを判断するキーアクセス制御回路を設け、前
記第1キー記憶装置に対するアクセスの場合には対応す
る各々のキー記憶エントリに対して、書き込みも読み出
しも許可し、第2キー記憶装置の場合には読み出しのみ
許可し前記あらかじめ定めてある特定のキー値を応答す
る。
【0005】また、実記憶領域上のデータのアクセス権
限をチェックする場合は、基本的にはアクセス元プログ
ラムの持つプログラム状態語(PSW)内のアクセスキ
ー値とアクセスするデータが存在する実記憶領域に対応
するキー記憶エントリ内のキー値とを比較し、アクセス
可否をチェックする。従ってこの比較においても、上記
述べたキー記憶へのアクセスが適用され、第1の実記憶
領域に対するアクセスであれば前記第1キー記憶装置内
の対応するエントリ上のキー値と前記アクセスキー値を
比較し、第2の実記憶領域に対するアクセスであれば前
記第2キー記憶装上の特定キー値と前記アクセスキー値
を比較し、アクセス権限をチェックする。
【0006】
【作用】第1の実記憶領域には本領域内の複数の実記憶
管理単位毎に各々キー記憶エントリを設置し、これ以外
の第2の実記憶領域に対しては本領域に含まれる複数の
実記憶管理単位全体を代表する特定キー値を持つ一つの
キー記憶エントリのみを設置し、OSが仮想領域に実記
憶領域を割り当てる場合には、前記特定のキー値と同一
キー値を持つ仮想領域のみを選択し第2の実記憶領域に
割当て、さらに、キーアクセス制御回路を設け、命令実
行によるキー記憶装置への誤操作を防止するとともに、
前記特定キー値を用いて記憶保護も実施するので、キー
記憶エントリが一つしか設置されない上記第2の実記憶
領域を設けても、機密保護機能を損なうこと無くシステ
ムを構築できる。従って、実記憶の一部を上記第2の実
記憶領域で構成すれば、実記憶容量の増加に伴う、キー
記憶装置の容量増加を抑止できる。
【0007】
【実施例】以下、本発明の一実施例を図面を参照して説
明する。図1は、本実施例における計算機システムの概
要を表している。以下の説明では、まず、OSの実記憶
割当て処理をについて述べ、その後、図1に示すハード
動作を述べる。図6を用いてOSの実記憶割当て処理を
述べる前に、図1の内の関連する部分について簡単に説
明しておく。図1の太線で示す部分が本発明の特徴部で
あるが、この内、第1のキー記憶装置(120)、第2
のキー記憶装置(610)、実記憶装置(130)につ
いて説明しておく。実記憶装置(130)は領域1(1
31)と領域2(132)の二つの領域から構成されて
おり、いずれの領域もその内部を仮想記憶A(150)
および、仮想記憶B(151)の仮想ページサイズと同
一の4KB毎に分割し、これを管理単位としている。第
1のキー記憶装置(120)は、実記憶領域1(131
)に対して設けたものであり、前記4KB毎に分割した
管理単位(以下実記憶管理単位と呼ぶ)各々に対応して
各一つずつエントリが設置されている。一方、第2のキ
ー記憶装置(610)は実記憶領域2(132)に対し
て設けたものであり、当該領域全体に一つのエントリが
設置されており、この第2のキー記憶装置(610)に
は、本実施例では詳細は後述するがあらかじめ定められ
た特定キー値8がセットされる。この特定キー値のセッ
ト方法そのものについては問わないが、たとえば、専用
命令を設けてIPL時にOSがセットするれば良い。
【0008】次に、図6により、本実施例での実記憶割
当て処理を説明する。本実施例では、実記憶領域2(1
32)に対して設けた第2のキー記憶装置(610)に
は前記の特定キー値を8と定め、これと同一キー値の仮
想ページのみを選択して割り当てる、また、当該実記憶
領域に空きがない場合やキー値が8以外の仮想ページは
、実記憶領域1(131)に割り当てるものとする。 次に、なぜキー値を8と定めたかと言う事を、大型計算
機のオペレーティングシステムの代表とも言えるIBM
社のMVS(Multiple Virtual St
orage)を例にとり述べる。MVSでは記憶保護キ
ーの値を以下の様に規定している。
【0009】(1)記憶保護キー値=0は、VSシステ
ム制御プログラムが使用する領域に付けるキー値。
【0010】(2)記憶保護キー値=1は、ジョブスケ
ジューラやJESとよばれるサブシステム制御プログラ
ムが使用する領域に付けるキー値。
【0011】(3)記憶保護キー値=5は、データ管理
プログラムが使用する領域に付けるキー値。
【0012】(4)記憶保護キー値=6は、TCAM,
VTAMなどのプログラムが使用する領域に付けるキー
値。
【0013】(5)記憶保護キー値=8は、V=V(ア
ドレス変換対象となる)ユーザプログラムが使用する領
域に付けるキー値。 (6)記憶保護キー値=9から15は、V=R(アドレ
ス変換を実施しない)ユーザプログラムが使用する領域
に付けるキー値。
【0014】本実施例では、上記のうち最も多量の実記
憶を消費すると思われる一般ユーザのプログラム用記憶
保護キー値である8を前記実記憶領域2(132)に対
するキー値と定めた。これは、一般ユーザのプログラム
用領域がシステムのなかで最も大量の領域を必要とする
から、これを実記憶領域2(132)に割り当てること
により、実記憶の増設にともなうキー記憶容量の増加を
抑止すると言う考えである。
【0015】図6のページ割り当て処理は、一般のデマ
ンドページング方式のオペレーティングシステムと同様
に起動される。すなわち、仮想記憶のある仮想ページが
アクセスされた場合に、そのアクセスされた仮想ページ
に、まだ実ページが割り当てられていない場合に、ハー
ドウェアからのアドレス変換例外(ページフォールト)
通知により起動される。以下では、その仮想ページに初
めて実ページを割り当てる場合を例にとり図6の処理を
説明する。また、図において、本実施例で新たに設けら
れた処理は、ステップ500、501、510とステッ
プ512である。その他のステップは、本出願人による
先の出願特願平1−180323号(1989.7.1
4出願)明細書記載の技術と実質的に同じである。さら
に、一般的に仮想記憶方式の計算機では、仮想領域上の
データ位置(仮想アドレス)と実際にそのデータが記録
されている実記憶上の位置(実アドレス)に変換するた
めの、アドレス変換テーブル(図示せず)が用意されて
いる。さらに、デマンドペーング方式においては、仮想
アドレスに対応する前記アドレス変換テーブル(同示せ
ず)の構成要素の一つである外部ページテーブル(図示
せず)に、当該仮想ページに付与されるべき記憶保護キ
ー値が保持されている。すなわち、仮想記憶領域が確保
される時に、特別な指定がされない限り、当該仮想記憶
領域を確保すべく実行中のプログラムのPSW上のキー
(K)値と同じキー値が、前記外部ページテーブル(図
示せず)上の対応するエントリにセットされる。
【0016】さて、前記のページフォールトの発生によ
り、図6の処理が起動されると、まず、本実施例で新た
に設けたステップ500により、ページフォールトが発
生した仮想アドレスを含む仮想ページに付与されている
記憶保護キーの値がいくつであるかを判定する。すなわ
ち、前述の外部ページテーブル(図示せず)より前記ペ
ージフォールトが発生した仮想アドレスに対応する記憶
保護キー値を取り出し、この記憶保護キー値が、あらか
じめ定めた8であるかどうかを比較する。この比較処理
において、記憶保護キー値が8であった場合には、実記
憶領域2(132)から未使用の実管理単位(実施例の
冒頭で述べた4KB毎に分割された領域で以下の説明で
は、これを実ページと呼ぶ)を一個取り出し、これを前
記のページフォールトが発生した仮想ページに割り当て
る。この処理の詳細は後述することとし、記憶保護キー
値が8以外であった場合ついて、先に説明する。この場
合には、ステップ502にて実記憶領域1(131)上
の未使用実ページ(いずれの仮想ページにも割り当てら
れていない実ページ)の有無を確認する。この処理を図
7を参照しながら説明する。図7は実記憶使用状況を管
理するためのOS内部のテーブルの内、空き領域管理テ
ーブルを示しており、テーブルの構造や管理方法自体は
本出願人による先の出願特願平1−180323号(1
989.7.14出願)明細書記載の技術を用いるので
、以下では簡単に説明するに止める。すなわち、実記憶
装置(130)の実記憶領域1(131)に属する各々
の未使用実ページ群を集め、各未使用実ページに対応す
る実記憶管理テーブル群(A1,A2,…An)を各実
記憶管理テーブル内のポインタ(FWP,BWP)で相
互連結しキューとして管理する。図7において、テーブ
ルポインタA(710)はこのキューの先頭と終わりを
示すポインタ群である。同様に、実記憶領域2(132
)に属する未使用実ページ群を管理する実記憶管理テー
ブル群(B1,B2,…Bn)をテーブルポインタB(
700)に接続しキュー管理する。つぎに図6に戻り前
記ステップ502では、このテーブルポインタA(71
0)上のフォワードポインタがゼロであれば、実記憶領
域1(131)上には未使用実ページが無いと判断する
。そして、未使用実ページがこの実記憶領域1に無い場
合にはステップ521進み、後述の図9に示すように、
空き領域生成処理6を起動する。この処理6では、後述
するように、実記憶領域1,2の両方に、いくつかの未
使用実ページを確保する。いずれか一方の実記憶領域の
未使用実ページの確保が済むまで、前述のアクセスされ
た仮想ページへの実ページの割り当てが保留され、実記
憶領域1又は2のいずれか一方において、未使用実ペー
ジの確保が終了したとき、図6の実記憶割り当て処理3
が起動される。その結果、未使用実ページの確保が終了
した実記憶領域1又は2のいずれか一方内の未使用実ペ
ージが割り当てられることになる。ステップ501で、
未使用実ページがこの実記憶領域2に有ると判断された
場合には、スッテプ511により、実記憶領域1(13
1)から未使用の実ページを1個取り出し、当該仮想ペ
ージに割り当てる。この実ページの取り出しは、以下の
様に実施する。前述のテーブルポインタA(710)に
連結されている先頭の実記憶管理テーブルA1を、一連
の当該実記憶管理テーブル群より取り出し、当該実記憶
管理テーブルA1に対応する実ページを、仮想ページに
割り当てるべき実記憶領域として選択し、ステップ51
3において当該実記憶管理テーブルA1を割当て済み実
記憶管理用のキュー(810)の末尾に移動する。この
割当て済み実記憶管理キュー(810)は図8に示すよ
うに、前記の空き領域管理テーブルと同様の構造であり
、説明は省略する。なお、管理上の両者の違いは、図7
に示す空き領域管理テーブルキュー(700、710)
がシステム全体に各1個設けられるのに対し、図8に示
す割当て済み領域管理テーブルキュー(800、810
)は実行中のプログラムが属する仮想記憶空間対応に設
けられると言う点である。
【0017】次に図6に戻り、ステップ520において
は、ステップ511で選択した実ページに対応する、第
1のキー記憶装置(120)のエントリに、当該仮想ペ
ージに付与されているキーの値をセットする。このセッ
トは、前記選択した実ページのアドレスと前記仮想ペー
ジに付与されているキー値をオペランドとしてSSKE
(SET STORAGE KEY EXTEND)命
令を発行して行なわれる。そのときの図1の装置の動作
は後に説明する。次に、ステップ530において、当該
仮想ページに対応する前記アドレス変換テーブル(図示
せず)のエントリに前記実ページのアドレスをセットし
、当該エントリを有効化する。これらのことにより、前
記選択された実ページを前記ページフォールトが発生し
た仮想ページに割り当てるためのページ割り当て処理が
完了する。
【0018】次に、前記ステップ500の判定において
、記憶保護キー値が8であった場合について述べる。 この場合には、実記憶領域2(132)に未使用の実ペ
ージがあれば、それを上記仮想ページに割り当て、そう
でないときには実記憶領域1(131)内の未使用の実
ステップ501で前記ステップ502と同様にテーブル
ポインタB(700)を調べ実記憶領域2(132)上
の未使用実ページの有無を確認する。未使用実ページが
無いときには、ステップ502にジャンプし、先に述た
記憶保護キー値が8でなかった場合の処理(ステップ5
02,521,511,513,520,530)が実
施され実記憶領域1(131)に未使用実ページがあれ
ば、その実ページが割り当てられ、実記憶領域に未使用
実ページがなければ、空き領域生成処理6(図9)を実
行後に実記憶領域1又は2内の未使用実ページが割り当
てられる。ステップ501で未使用実ページが実記憶領
域2に有ると判断された場合には、ステップ510、5
12においてテーブルポインタB(700)に接続され
ているキューから、前記ステップ511および513と
同様にして割り当てるべき実ページを実記憶領域2から
選択する。次に、この取り出された実ページは前述のよ
うにあらかじめキー値が8と定められいるので、前述の
ステップ520で実施したキー情報のセットは実施せず
に、前述のステップ530を実施してページ割り当て処
理を完了する。
【0019】以上の様にして割当てを実施すれば、実記
憶領域1(131)内の実ページに割り当てられた仮想
ページは、従来どうりのキー記憶保護が実施可能で有る
ことは言うまでもない。また、実記憶領域2(132)
内の実ページを割り当てられた仮想ページも、キーの値
があらかじめ定められているだけであり、この定められ
たキー値をもつ仮想ページを選択して割り当てる訳であ
るから実質上は従来となんら変わらず機密保護が実施可
能である。
【0020】次に、前述のステップ521で起動される
空き領域生成処理6について図9を用いて説明する。本
処理は図6で説明した様に、実記憶領域1(131)上
に空き領域が無い場合に起動される。起動されると、実
記憶領域1(131)の処理に先立ち、まず、ステップ
900、911、928Aで、実記憶領域2(132)
上も空き領域が無くなっていないかどうかを調べる。こ
の領域にも空き領域が無くなっている場合には、ステッ
プ928Aから921Aを実施し当該実記憶領域上に空
き領域を作る。この処理の詳細は後回しにして、まず、
実記憶領域1(131)上に空き領域生成する場合の処
理を先に説明する。この処理は先に引用した特願平1−
180323号明細書に記載のLRU(leastre
cently used)法と実質的には同じであり、
以下に、その処理の概要を簡単述べるに止める。この場
合には、前記の図8に示した各実行中のプログラムの仮
想記憶空間毎に設けられた実記憶割当て済み領域管理テ
ーブルの1つをえらびこの管理テーブルポインタC(8
10)に接続されるキュー上の実ページに割り当てられ
ている仮想ページが、実記憶領域1(131)上に空き
領域を作るため当該実ページ上から追い出される。また
、LRU法では、OSの他のコンポーネントであるペー
ジ計測処理部(図示せず)により、ある一定時間間隔で
前記キュー上の実ページ管理テーブルCの群が、対応す
る実ページの使用される頻度の小さい順にソートされて
いる。従って当該キューの先頭から順に追い出せばLR
U法が成り立つ様に成っている。この処理は以下のよう
に成される。
【0021】まず、ステップ920で当該キューをたど
るためのキューポインタ変数Qに、当該キューの先頭実
記憶管理テーブルC1へのポインタをセットする。次に
、ステップ921は、当該キューの終わりを判定する為
のもので今は条件が成り立たずステップ922が実行さ
れる。このステップ922ではキューポインタ変数Qが
指す実記憶管理テーブルCiに対応する実ページのアド
レスをオペランドに指定して、キー記憶装置操作命令の
一つであるRRBEと呼ばれる命令を発行する。後で図
1に基づいて説明するように、このRRBE命令を実行
すると当該実ページ対する、第1のキー記憶装置120
(図1)内のエントリ内の、参照ビットRとチェンジビ
ットCを読み出され、前記両ビットのON/OFF状態
がコンデッションコードとして出力される。ステップ9
23ではチェンジビットCのみ調べる。このチェンジビ
ットCがONの場合には、当該実ページ内の情報が、補
助記憶装置(図示せず)から先に実記憶装置130(図
1)に転送された後に書き替えられていることを表して
おり、これを補助記憶(図示せず)へページアウトする
必要があり、ステップ924により、この実ページのペ
ージアウトが実行された後ステップ925に制御が渡る
。一方、チェンジビットCがOFFの場合には、この実
ページの内容は補助記憶(図示せず)へページアウトす
る必要は無く、ステップ924は実行せずにステップ9
25に制御が渡る。以降の処理ではステップ925でキ
ューポインタQが後続する実記憶管理テーブルを指す様
にポインタを進め、ステップ926で今まで処理してい
た実記憶管理テーブルCiを前記空き領域管理テーブル
Aの群の末尾に移動し、スッテプ927で対応するアド
レス変換テーブル(図示せず)内の対応するエントリを
無効化する。こうして当該実ページが空き領域となる。 以上のステップ922からステップ926の処理を、当
該キュー全てを処理するまで、つまりステップ921の
判定が成り立つまで、もしくは所定数の実ページが空き
領域になるまで、つまりステップ928の判定が成り立
つまで繰り返す。また、上記ステップ921の判定で処
理を終えた場合には、他の実行中のプログラムに対応す
る前記管理テーブルポインタC(810)に接続される
キューに対して今まで述べてきた図9の処理を所定数の
空き領域ができるまで、くり返す。以上で実記憶領域1
(131)上に空き領域生成する場合の説明を終える。
【0022】次に、実記憶領域2(132)上に空き領
域生成する場合の処理を説明する。この領域はキー記憶
エントリの設置数を低減させるため、当該実記憶領域全
体に1個のキー記憶エントリしか設置されていない。そ
のため、前記のLRU法の前提である各実ページ毎の使
用頻度が把握出来ない、従ってこの場合には、上記で述
べた方法を適用出来ない。本実施例では、このため、そ
れ自体公知のFIFO(first in first
 out)法を適用する。前記図8に示したテーブルポ
インタDに接続される実記憶管理テーブルDの群のキュ
ーは図6の実記憶割当て処理を繰り返すことにより得ら
れるものであり、当該キュー上の前記実記憶管理テーブ
ルDの群はそれぞれに対応する実ページが仮想ページに
割り当てられた順、すなわち、実記憶領域2(132)
上に存在する時間が長い順に並んでいる。このFIFO
法ではこのキューに属するテーブルDを先頭から順次読
み出し、それぞれの、実記憶管理テーブルDに対応する
実ページの情報を追い出す。また、当該実記憶領域2に
対応する第2キー記憶装置(610)(図1)は、その
領域2内の個々の実ページ毎には前記チェンジビットC
を持っていないため、それぞれの実ページの内容が、補
助記憶(図示せず)から先に実記憶装置130(図1)
に転送された後、更新されたか否かは判別できる。した
がって、図7のポインタB(700)に接続された実記
憶管理テーブルB1,B2,……に対応する実ページは
上記更新の有無によらず常に補助記憶(図示せず)へペ
ージアウトする。具体的には、先の述べた実記憶領域1
(131)上に空き領域を生成する場合の処理(ステッ
プ920〜928)から第1のキー記憶装置(120)
(図1)に対する処理(ステップ922〜924)を除
いた、ステップ921,925からステップ927の処
理と同様である。すなわち、ステップ921A,922
A,925A〜928Aはそれぞれステップ921,9
22,925〜928Cは、使用する実記憶管理テーブ
ルなどが異なるのみである。すなわち、前記図8に示し
たテーブルポインタDに接続される実記憶管理テーブル
D群の先頭から順次ページアウトし(ステップ922A
)、その都度、図8のポインタDを更新し(ステップ9
25A)、さらに前記図7に示したテーブルポインタB
に接続される実記憶管理テーブルB群の末尾に移動し(
ステップ926A)、アドレス変換テーブルエントリを
無効化する(ステップ927A)。この実記憶領域2に
おける空き領域の確保も、所定数の空き実ページが確保
されるまで、すなわちステップ928Aの判定が成り立
つまで繰り返される。以上でOSの処理説明を終える。
【0023】以下、本実施例のハード動作を図1を参照
して説明する。図1において、太線で示す部分が本実施
例に特に特徴的な部分である。
【0024】すでに述べたように、第1キー記憶装置(
120)は実記憶装置(130)の一部である領域1(
131)に対して設けたものであり、領域1(131)
属する記憶実記憶管理単位(仮想ページサイズと同一サ
イズに分割された4KB単位の領域で以下実ページと呼
ぶ)各々に一つづつ対応する複数のエントリで構成され
ている。このエントリの内容(図1の123)は従来と
同様である。第2キー記憶装置(610)は実記憶装置
(130)の他の一部である領域2(132)に対して
設けたものであり、領域2(132)属する複数実ペー
ジ対応し1個のエントリで構成されている。また、本第
2のキー記憶装置(610)には、特定キーとして8が
セットされている。
【0025】命令語レジスタ(20)は実記憶装置13
0からフェッチされた命令を保持し、この命令で指定さ
れた(22、23)汎用レジスタ群(30)内の幾つか
のレジスタを用いてDAT機構(70)が実アドレスを
生成し、実アドレスレジスタ(100)がこれを保持す
る。このDAT機構(70)の処理を以降説明で用いる
キー記憶操作命令(SSKE,ISKE)と主記憶操作
命令(ストア命令,ロード命令)の説明を兼ねてもう少
し具体的に述べる。まず、キー記憶操作命令について述
べる。
【0026】図10にキー記憶操作命令が実行されてい
る場合の前記命令語レジスタ(20)上の命令形式を示
す。前記のSSKE(Set Storagere K
ey Extended)とISKE(Insert 
Storagere Key Extended)は命
令コードが異なるだけで同一の形式をしている。SSK
E命令はキー記憶書き込み命令であり、フィールドR1
で指定された汎用レジスタ上にあらかじめセットされて
いるキー情報(図1の123と同様の情報)を、フィー
ルドR2で指定された汎用レジスタ上の実アドレスで指
定された実ページに対応するキー記憶位置にセットする
。SSKE命令はこれとは逆に、フィールドR2で指定
された汎用レジスタで示す実ページに対応するキー記憶
位置からキー情報を読み出しフィールドR1で指定され
た汎用レジスタ上にインサートする命令である。これの
命令の場合には、前記命令語レジスタ(20)上のフィ
ールドR2で指定された汎用レジスタは実アドレスが指
定されており、前記DAT機構(70)は介さずにこの
汎用レジスタの内容がそのまま実アドレスレジスタ(1
00)にセットされる。詳細を後述するが、本実施例に
おいては、上記述べたキー記憶操作命令は、その動作が
書き込みか読み出しか、および、そのアクセスする位置
が第1キー記憶装置(120)内か第2キー記憶装置(
610)内かにより動作が制御される。
【0027】次に主記憶操作命令の場合について述べる
【0028】図11に主記憶操作命令が実行されている
場合の前記命令語レジスタ(20)上の命令形式を示す
。ストア命令とロード命令は同一の形式をしており、フ
ィールドX2で指定される汎用レジスタ,フィールドB
2で指定される汎用レジスタと、フィールドD2の内容
とがDAT機構(70)により実アドレスに変換され、
実アドレスレジスタ(100)に保持される。この実ア
ドレスで示す実記憶領域に、フィールドR1で指定され
る汎用レジスタの内容を書き込むのが前記ストア命令で
あり、前記実アドレスで示す実記憶領域から情報を読み
出し前記汎用レジスタにセットするのがロード命令であ
り、以降の説明で述べる様にキー記憶保護ルールに従っ
て実記憶へのアクセスが許可されたり、されなかったり
する。
【0029】なお、本発明は上記の例示した命令に依存
するものではないことは言うまでもなく、キー記憶、ま
たは、主記憶を読み書きする基本的な命令として実施例
説明に当り例示したものである。これら意外にも、例え
ば、先に図9のステップ923で述べたキー記憶操作命
令の1種であるRRBE(Reset Referen
ce Bit Extended)命令は、その命令形
式は上記例示したキー記憶操作命令と同じであるが、そ
の動作は、フィールドR2で指定された汎用レジスタで
示す実ページに対応するキー記憶位置から、まずキー情
報(123)を読み出し、このキー情報(123)上の
参照ビットRとチェンジビットCとをコンディション生
成回路(図示せず)で調べ、その結果をコンディション
コード保持レジスタ(図示せず)に出力し(ここまでの
処理が前記ISKE命令によるキー記憶読み出し動作に
相当する)、さらに、当該キー情報(123)上の参照
ビットRを0に書き替える(この処理が前記SSKE命
令によるキー記憶書き込み動作に相当する)命令であり
、その実行過程でキー記憶読み出し動作と書き込み動作
の両方が行われる。このような命令の場合には、以下で
述べるキー記憶読み出し制御回路(420)とキー記憶
書き込み制御回路(410)を組み合わせて動作させる
制御回路(図示せず)を設けて命令実行シーケンスに合
わせて順次動作させれば良い。以下では、キー記憶、ま
たは、主記憶を読み書きする基本的な命令として前記例
示したSSKE,ISKE,ストア,ロードの各命令を
実行する場合について述べる。
【0030】図1に戻り、本実施例特有の、記憶保護制
御回路(300)の要部を図1に、その詳細は図2に示
す。記憶保護制御回路(300)には、上記領域1(1
31)と領域2(132)の境界アドレスを示すためさ
らに領域2(132)の先頭実アドレスを保持する境界
アドレスレジスタ(110)とは、アクセスすべき実ア
ドレスが前記いずれの実記憶領域に属するかを判断する
領域判別回路(310)と、上記命令の種類を解読する
解読回路(40)と、キー記憶書き込み制御回路(41
0)、キー記憶読み出し制御回路(420)、キー値の
選択回路(430)、実記憶読み出し制御回路(440
)、実記憶書き込み制御回路(450)と、PSW(1
0)上のプログラムが持つキー値K(11、以降これを
アクセスキーとよぶ)と前記第1キー記憶装置(120
)もしくは第2キー記憶装置(610)のいずれかから
読みだしたキー値(以降これをストレジキーとよぶ)を
比較し、その結果が実記憶アクセス時の記憶保護チェッ
クに用いられるキー値比較回路(340)およびOR回
路(460)がある。
【0031】この制御回路(300)の動作説明の前に
、従来のキー記憶保護の仕掛けに関し少し述べておく。 IBM社のマニュアル「IBM Enterprise
 System Architecture /370
 Principles of Operation;
SA22−7200−0」ページ3−7,3−7にも記
載されているように、データがアクセスされるときに、
前記PSW上のアクセスキーと当該データが存在する実
ページ対応するキー記憶装置上に記録されているストレ
ジキーとを比較し一致していればアクセスが許可され、
一致していない場合には許可されないと言うのが基本で
ある。これを記憶保護と言う。ただし、従来のキー記憶
エントリは第1キー記憶装置(120)のエントリ(1
21)と同様であり、このエントリ上にFビット(フェ
ッチビット)と呼ばれるデータ参照時専用の制御情報が
設けられている。本ビットが1の場合には、前記2つの
キーの比較によるアクセスの可否がチェックされ、本ビ
ットが0の場合には、キーの比較によるアクセス可否チ
ェックはなされず、いずれのキー値を持つプログラムか
らも当該実ページ上のデータ参照が許可される様になっ
ている。
【0032】本実施例の記憶保護制御回路(300)に
おいても、実記憶装置(130)上のデータがアクセス
される時、当該データが存在する実ページが前記領域1
(131)に属する場合には、上記の従来と同じキー記
憶保護を実施する。
【0033】さらに、当該データが存在する実ページが
前記領域2(132)に属する場合には以下の様に、キ
ー記憶保護を実施する。
【0034】(1)データを実記憶に書き込む命令の場
合 従来と同様に、前記アクセスキーとストレジキーの比較
によるキー記憶保護を実施するが、この場合に比較され
るストレジキーは、当該実記憶に属するいずれの位置の
実ページに対するデータの更新用アクセスかによらず、
前記第2キー記憶装置(610)より読みだす。
【0035】(2)データ参照(実記憶からの読みだし
)の場合 前記述べた従来のFビットが0の場合と同様に、いずれ
のキー値を持つプログラムからのデータ参照も許可する
。なお、Fビットが0の場合と同様とするか否かによっ
て本発明が左右される訳ではない。
【0036】また、キー記憶装置上の情報を直接操作す
る場合(例えば、実記憶上のアドレスを指定し、それに
対応するキー記憶エントリを書き替える命令、例えば前
述のSSKE(Set Storage Key Ex
tended)命令あるいはこのキー記憶エントリを読
み出したりする)命令例えば前述のISKE(Inse
rt Storage Key Extended)命
令の場合には、このアドレスが前記領域1(131)に
属する場合は、更新も参照も従来同様に実施し、このア
ドレスが前記領域2(132)に属する場合には、以下
のように実施する。
【0037】(3)キー記憶装置へ書き込む命令の場合
この命令の実行を禁止し、プログラムエラーを示す割込
み信号を発生する。第2キー記憶装置(610)内のキ
ーは固定値であるためである。
【0038】(4)キー記憶装置から読みだす命令の場
合 このアドレスの値によらず前記第2キー記憶装置(61
0)より記憶保護キーを読みだす。
【0039】次に、上記の制御を図2を参照して具体的
に述べる。図において、図1と同じ構成要素の物は同じ
番号で示してある。
【0040】まず、領域判定回路(310)は実アドレ
スレジスタ(100)内の命令で指定された実アドレス
IN2と境界アドレスレジスタ(110)内の、実記憶
領域2(132)の先頭アドレスを示す境界アドレスI
N1とを比較し、この実アドレスが領域1,2のいずれ
に属するかを判定する。図4に示すように、回路の出力
信号311は、この実アドレスが、実記憶領域2(13
2)または実記憶領域1(131)に属するとき、それ
ぞれ1,0となる。この実アドレスは第1キー記憶装置
120へも送られる。前記解読回路(40)により実行
すべき命令の種別がキー記憶への書き込みを必要とする
キー記憶操作命令と解析された場合、図3に示すように
解読信号41が1となる。キー記憶書き込み制御回路(
410)が、本制御回路(410)では、前記信号31
1と前記信号41とをANDゲート(320)でAND
する。この命令が第2キー記憶装置123への書き込み
命令であるとき、このAND結果が1となりこのAND
結果がOR(460)を経て割込み信号200として割
り込み制御回路400に送られ、この回路により当該命
令の実行が中断される。一方、この命令が第1キー記憶
装置123の書き込みを必要とするキー操作命令の場合
是前記AND(320)の結果が0となり、この命令の
実行は中断されない。一方前記信号311の逆転信号と
前記信号41とをANDゲート(61)でANDした結
果が1となり、第1キー記憶装置123へ書き込み信号
として供給され、汎用レジスタ群(30)の内、この命
令が指定した一つのレジスタ(51)内の情報が第1キ
ー記憶装置123内の前記実アドレス(100)レジス
タ内の実アドレスに対応するエントリに書き込まれ、こ
の命令の実行が完了する。
【0041】次に、キー記憶読み出し制御回路(420
)について述べる。前記図3に示すように、この命令が
キー記憶読み出しを必要とするキー操作命令であるとき
、解読回路(40)の信号42が1となる。本制御回路
(420)では、この解読信号42がOR(63)を経
て、ANDゲート(62)により、領域判別回路310
の出力信号311の逆転信号とANDされる。この命令
が指定する実アドレスが実記憶装置130の領域1に属
するとき、領域判別回路310の出力311が0となる
ので、ANDゲート62の出力64が1となる。第1キ
ー記憶装置120は、この出力64に応答して実アドレ
スレジスタ100内の実アドレスに対応するエントリの
内容123を読み出す。セレクタ(64)は、この出力
信号64の値1に対応して、第1キー記憶装置120か
ら読み出されたキー情報123を選択する。一方、この
命令が指定する実アドレスが実記憶装置(130)の領
域2に属するときには、領域判別回路(310)の出力
311は0となり、セレクタ(64)は、この信号に応
答して第2キー記憶装置(610)内のキー情報を選択
し、切り替え回路(65)へ入力するようになっている
。切り替え回路(65)は、セレクタ64で選択された
キー情報の出力先を、前記解読信号(42)の値により
切り替える。今仮定しているようには、実行中の命令が
キー記憶読み出しを必要とするキー操作命令の場合、解
読信号(42)は1であり、この場合には汎用レジスタ
群(30)(図1)の内にこの命令で指定された一つの
レジスタ(52)へ読み出したキー情報をセットし、こ
の命令の実行が完了する。
【0042】以上でキー記憶装置上の情報を直接操作す
る命令に係る動作の説明を終え、次に、主記憶操作(実
記憶装置上のデータでのアクセスに係わる命令)、例え
ばストア命令(主記憶上のデータを変更する命令)や、
ロード命令(主記憶上のデータを参照する命令)の場合
の動作を説明する。
【0043】実記憶書き込み制御回路(450)は実行
すべき命令が主記憶操作かつ情報更新系アクセスの場合
、前記図3に示すように、前記解読回路(40)の信号
44が1となる。この命令の場合にも、すでに述べたよ
うに、記憶保護のために、キー記憶装置からキー値を読
み出す必要がある。このため、先程述べたキー記憶読み
出し制御回路(420)内のORゲート(63)にこの
解読信号44が入力され、前記のキー操作命令によるキ
ー情報の読み出しと同様にして、セレクタ(64)から
、いずれか一方のキー記憶装置のキー情報が出力される
。次に切り替え回路(65)では前記キー操作命令の場
合と異なり、信号42が0であるため、読み出したキー
値は比較器(340)に出力され、PSW(10)上の
アクセスキーK(11)と比較される。この比較結果3
12は、図5に示すように、両者が一致すれば1、不一
致の場合には0となる。この信号312が実記憶書き込
み制御回路(450)に渡され、アクセス可否の制御に
用いられる。すなわち、ANDゲート(93)では信号
312の逆転信号と信号44とのANDをとる。
【0044】その結果が1の場合には上記二つのキー値
が不一致であるため、不当アクセスとしてこのアンドゲ
ート(93)の出力はORゲート(460)を経て割込
み制御回路(400)に通知し当該命令の実行を中止す
る。
【0045】さらに解読信号44と比較信号312がA
NDゲート(91)でANDされる。前記両者のキー値
が一致する場合には、信号312は1であるため、この
ANDゲート(91)の出力2は実記憶装置130へ書
き込み許可信号WEとして供給される。汎用レジスタ群
(30)の内、この命令が指定する一つのレジスタ(5
3)内のデータが、実アドレスレジスタ(100)内の
実アドレスで指される実記憶位置に書き込まれる。さら
に、この書き込み許可信号WE(2)と前記比較信号3
11の逆転信号とをANDゲート(92)でANDされ
る。この実アドレスが実記憶領域1(133)に属する
場合にはこのANDゲート(92)の出力信号RCは1
となる。この信号は当該実記憶位置に対応するキー記憶
エントリ上の参照ビットR、および、チェンジビットC
をセットする回路(図示せず)に送られる。こうして当
該命令の実行を完了する。
【0046】次に、主記憶操作に係るもう一方のデータ
を読み出す命令を実行する場合の動作を説明する。この
命令の場合、前記解読回路(40)により前記図3に示
すように、信号43が1となる。この命令の場合にも、
先に述べた実記憶書き込み命令と同様に記憶保護のため
に、キー記憶読み出し制御回路(420)内のORゲー
ト63に、前記読解信号43が入力され第1キー記憶装
置120又は第2キー記憶装置610からキー情報が読
み出され、比較器(340)によりこのキー情報とPS
W(10)内のキーとの比較動作がなされる。実記憶読
み出し制御回路(440)には、比較信号312といず
れの実記憶領域へのアクセスかを表す信号311と、前
記解読信号43および、キー情報の読み出しが第1キー
記憶装置120内のエントリから行われた場合には、当
該キー記憶エントリ上のFビット(キー記憶保護の説明
で述べたデータ参照時専用の記憶保護制御ビット)が入
力され、以下の3条件のいずれかが成り立てば実記憶の
参照が許可される。
【0047】(1)実記憶領域1内のデータを参照する
命令でFビットが1でかつキー一致する場合領域判別回
路310の出力311の反転信号とキー比較信号312
と解読信号43を入力とするANDにより、ゲート(8
1)の出力が1となり、この出力がORゲート84を介
して実記憶装置(130)へ読み出し信号REとして送
られる。実記憶装置(130)は、レジスタ(100)
内の実アドレスで指される実記憶位置上のデータが、汎
用レジスタ群(30)の内、この命令で指定された一つ
のレジスタ(53)に読み出される。
【0048】(2)実記憶領域1内のデータを読み出す
命令でかつFビットが0の場合 これはキー値の一致による記憶保護は実施せばデータの
参照を許可する場合である。この場合には、解読信号4
3と、領域判別信号311の反転信号と、第1キー記憶
装置120から読み出されたキー情報内のFビットの反
転信号が入力されるANDゲート82により、読み出し
信号REが生成される。
【0049】(3)実記憶領域2内のデータを読み出す
命令の場合 キー値の一致による記憶保護は実施せずにデータの参照
を許可する。
【0050】以上の場合、さらに、この信号RE(1)
と前記信号311の逆転信号とをANDゲート(86)
ANDすることにより、実記憶領域1(133)に対す
るアクセスの場合には信号Rを生成し、当該実記憶位置
に対応するキー記憶エントリ上の参照ビットRビットを
セットする回路(図示せず)に送り、このセット後、当
該命令の実行を完了する。
【0051】一方、実記憶領域1(133)からのデー
タ読み出しをする命令で、かつ、前記Fビットが1の場
合(キー値による記憶保護をデータ参照時も実施する場
合)で、かつキー不一致の場合、この命令の実行は中止
される。すなわちこの場合、かつ、解読信号43、領域
判定信号311、比較信号312とFビットが入力され
るANDゲート(85)の出力が1となる。このAND
ゲート(85)の出力と、前記比較信号311の逆転信
号(キー値不一致を示す)とをするANDゲート(87
)の出力が1となる場合にはキー値不一致の不当アクセ
スとしてOR(460)を経て割込み制御回路(400
)にこのANDゲート(85)の出力が送られ当該命令
の実行を中止する。
【0052】以上の様にして、命令の種別、および、命
令処理対象となる領域に対応して、記憶保護制御を実施
することにより、実記憶領域1(131)に対しては従
来通りのキー記憶保護を保証し、かつ、実記憶領域2(
132)に対してもキー記憶装置へのアクセス誤動作を
防止する。さらに、特定キー値で有ることを除き従来と
同様のキー記憶保護を実施可能となる。したがって、実
記憶領域2(132)を増設していくことにより、従来
技術で述べたキー記憶容量増加による問題を招くことな
く、巨大な実記憶を実現可能となる。
【0053】
【発明の効果】本発明では、実記憶装置の一部の、複数
の単位領域に対して一つのキーしか記憶しないので実記
憶容量巨大化に伴うキー記憶容量の増加を抑止できる。
【図面の簡単な説明】
【図1】計算機システムを示す図。
【図2】記憶保護制御回路の概要図。
【図3】図1、図2の解読器の出力信号を説明する図。
【図4】図1、図2の領域判別回路の出力信号を説明す
る図。
【図5】図1、図2のキー比較回路の出力信号を説明す
る図。
【図6】実記憶割当て処理フロー図。
【図7】実記憶の未使用領域を管理するテーブル群を示
す図。
【図8】実記憶の使用中の領域を管理するテーブル群を
示す図。
【図9】実記憶不足時に、未使用な空き領域を生成する
処理フロー図。
【図10】キー記憶操作命令の形式を示す図。
【図11】主記憶操作命令の形式を示す図。
【符号の説明】
10…プログラム状態語、11…プログラムが持つアク
セスキー、20…命令語レジスタ、30…汎用レジスタ
群、40…命令種別の解読回路、100…命令で操作さ
れるデータの位置を示す実アドレス、130…実記憶装
置、131…実記憶装置上の領域1、132…実記憶装
置上の領域2、100…実記憶領域1と領域2の境界ア
ドレス保持する内部レジスタ、120…実記憶領域1に
対する第1キー記憶装置、610…実記憶領域2に対す
る特定キーを保持する第2キー記憶装置、310…領域
判別回路、340…キー値比較回路、400…割込み制
御回路、410…キー記憶書き込み制御回路、420…
キー記憶読み出し制御回路、430…選択回路、440
…実記憶読み出し制御回路、450…実記憶書き込み制
御回路。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】実記憶装置と、該実記憶装置の一部の領域
    からなる第1の領域に属する複数の実の単位領域のひと
    つにそれぞれ対応して設けられた複数の記憶位置と該実
    記憶装置の第2の領域に属する複数の実の単位領域に対
    して共通に設けられた一つの記憶位置とを有し、該複数
    の記憶位置の各々は、対応する実の単位領域が仮想の単
    位領域に割り当てられたときに、その仮想の単位領域に
    より定まる記憶保護キーを保持する第1の領域と、その
    割り当ての後に、その実の単位領域がアクセスされたと
    きにそのアクセスに関連する少くとも一つの情報を保持
    する第2の領域とを有し、該一つの記憶位置は、該第2
    の領域に属する複数の実の単位領域のいずれか一つを仮
    想の単位領域に割り当てる前に、その第2の領域内の該
    複数の実の単位領域に対して共通に用いるべき予め定め
    られた一つの記憶保護キーを保持する領域を有し、その
    割り当て後にその第2の領域内のいずれかの単位領域が
    アクセスされるときにそのアクセスに関連する情報を保
    持するための領域を有しないキー保持手段と、該実記憶
    装置内のいずれかの単位領域を指定する命令に応答して
    、その単位領域が該第1の領域に属するときには、該キ
    ー記憶手段内の、その指定された単位領域に対応する記
    憶位置をアクセスし、その単位領域が該第2の領域に属
    するときには、該キー記憶手段内の、上記一つの記憶位
    置をアクセスする手段とを有するデータ処理装置。
  2. 【請求項2】該予め定めた値は、複数のユーザプログラ
    ムに共通に割り当てられるべき記憶保護キー値である請
    求項1記載のデータ処理装置。
  3. 【請求項3】該キー保持手段は、該複数の記憶位置を有
    する第1のキー記憶装置と、該予め定めた記憶保護キー
    を保持する第2のキー記憶装置とからなり、該アクセス
    手段は、該アクセスすべき実の単位領域が、該第1の領
    域と他の第2の領域のいずれに属するかを検出する手段
    と、該アクセスすべき実の単位領域が該第1の領域に属
    すると検出されたとき、該第1のキー記憶装置内の、そ
    の実の単位領域に対応する記憶位置をアクセスし、該ア
    クセスすべき実の単位領域が該第2の領域に属すると検
    出されたとき、該第2のキー記憶装置をアクセスする手
    段からなる請求項1記載のデータ処理装置。
  4. 【請求項4】該アクセス手段は、該命令が、実行中のプ
    ログラムから出力された該指定された実の単位領域への
    アクセスを要求する命令であるとき、その実の単位領域
    が該第1の領域に属する場合には、該キー保持手段内の
    、その実の単位領域に対応する記憶位置から記憶保護キ
    ーを読み出し、その実の単位領域が該第2の領域に属す
    る場合には、該キー保持手段内の該一つの記憶位置から
    記憶保護キーを読み出す手段を有し、該データ処理装置
    は、該読みだし手段により読み出された記憶保護キーに
    基づいてその実の単位領域へのアクセスを許すか否かを
    判別する手段をさらに有する請求項1記載のデータ処理
    装置。
  5. 【請求項5】該判別手段は、該読み出された記憶保護キ
    ーとそのプログラムに割り当てられたアクセスキーとが
    所定の関係にあるか否かに基づいて、そのアクセスを許
    すか否かを判別する手段を有する請求項4記載のデータ
    処理装置。
  6. 【請求項6】該アクセス手段は、該命令が、それが指定
    する実の単位領域に対して記憶された、該キー保持手段
    内の情報をアクセスすることを要求する命令であるとき
    、該命令が指定する実の単位領域が該第1の領域に属す
    る場合には、その要求されたアクセスが、それが指定す
    る実の単位領域に対して記憶された該キー保持手段内の
    情報を読み出すためのアクセスであるかその情報を更新
    するためのアクセス命令であるかにかかわらず、そのキ
    ー保持手段内の、その実の領域に対応する記憶位置に対
    してそのアクセスを実行し、該命令が指定する実の単位
    領域が該第2の領域に属するとき、その要求されたアク
    セスが、それが指定する実の単位領域に対して記憶され
    たキー保持手段内の情報を読み出すためのアクセスであ
    る場合には、そのキー保持手段内の、その一つの記憶位
    置に対してそのアクセスを実行し、該命令が指定する実
    の単位領域が該第2の領域に属するとき、その要求され
    たアクセスが、それが指定する実の単位領域に対して記
    憶されたキー保持手段内の情報を更新するアクセスであ
    る場合には、そのアクセスを禁止する手段を有する請求
    項1記載のデータ処理装置。
  7. 【請求項7】該アクセス手段は、該命令が、それが指定
    する実の単位領域に対して記憶されたキー保持手段内の
    情報をアクセスすることを要求する命令であるとき、該
    命令が指定する実の単位領域が該第1の領域に属する場
    合には、その要求されたアクセスが、それが指定する実
    の単位領域に対して記憶されたキー記憶手段内の情報を
    読み出すためのアクセスであるかその情報を更新するた
    めのアクセス命令であるかにかかわらず、そのキー記憶
    手段内の、その実の領域に対応する記憶位置に対してそ
    の要求されたアクセスを実行する手段と、該命令が指定
    する実の単位領域が該第2の領域に属するとき、その要
    求されたアクセスが、それが指定する実の単位領域に対
    して記憶されたキー保持手段内の情報を更新するアクセ
    スである場合には、そのアクセスを禁止する手段を有す
    る請求項1記載のデータ処理装置。
  8. 【請求項8】実記憶装置と、該実記憶装置の一部の領域
    からなる第1の領域に属する複数の実の単位領域のひと
    つにそれぞれ対応して設けられた複数の記憶位置と該実
    記憶装置の該第1の領域と異なる他の第2の領域に属す
    る複数の実の単位領域に対して設けられた一つの記憶位
    置とを有し、該複数の記憶位置の各々には、対応する実
    の単位領域が仮想の単位領域に割り当てられたときに、
    その仮想の単位領域により定まる記憶保護キーを書き込
    み、該一つの記憶位置には、該第2の領域に属する複数
    の実の単位領域のいずれか一つを仮想の単位領域に割り
    当てる前に、その第2の領域に対して予め定められた一
    つの記憶保護キーを保持するキー保持手段と、実行中の
    プログラムから該実記憶装置のいずれか一つの実の単位
    領域へのアクセス要求が出されたときに、その実の単位
    領域が該第1の領域に属するときには、該キー記憶手段
    内の、その実の単位領域に対応する記憶位置に記憶され
    た記憶保護キーに基づいてそのアクセスを許すか否かを
    判別し、そのアクセス要求された実の単位領域が該第2
    の領域に属するときには、該記憶された予め定めた特定
    の記憶保護キーに基づいて、そのアクセスを許すか否か
    を判別する手段とを有するデータ処理装置。
  9. 【請求項9】該予め定めた値は、複数のユーザプログラ
    ムに共通に割り当てられるべき記憶保護キー値である請
    求項8記載のデータ処理装置。
  10. 【請求項10】該キー保持手段は、該複数の記憶位置を
    有する第1のキー記憶装置と、該予め定めた記憶保護キ
    ーを保持する第2のキー記憶装置とからなり、該判別手
    段は、該アクセスすべき実の単位領域が、該第1の領域
    と他の第2の領域のいずれに属するかを検出する手段と
    、該アクセスすべき実の単位領域が該第1の領域に属す
    るとき、該第1のキー記憶装置内の、その実の単位領域
    に対応する記憶位置に記憶された記憶保護キーを読みだ
    し、該アクセスすべき実の単位領域が該第2の領域に属
    するとき、該第2のキー記憶装置に記憶された該予め定
    めた記憶保護キーを読みだす手段と、該読みだし手段に
    より読み出された記憶保護キーとその実の単位領域へに
    アクセスを要求したプログラムに割り当てられたアクセ
    スキーとが所定の関係を満たすかを判別し、その判別結
    果によりそのアクセスを許可するか否かを判別する手段
    とからなる請求項8記載のデータ処理装置。
  11. 【請求項11】該所定の関係は、該読み出された記憶保
    護キーとそのプログラムに割り当てられたアクセスキー
    とが等しことである請求項10記載のデータ処理装置。
  12. 【請求項12】該判別手段は、該アクセス更新がデータ
    参照要求であり、かつ、アクセス要求された記憶位置が
    該第2領域に属する場合には、該判別をすることなく、
    該アクセスを許可する手段を有する請求項10記載のデ
    ータ処理装置。
  13. 【請求項13】該プログラムが該実の記憶装置内のいず
    れかの実の単位領域に対して記憶された記憶保護キーを
    書き換えることを要求したとき、その実の単位領域が該
    第1の領域に属するか該第2の領域に属するかに依存し
    て、その書き換えを許可するか禁止するかを制御する手
    段をさらに有する請求項8記載のデータ処理装置。
  14. 【請求項14】該プログラムが該実の記憶装置内のいず
    れかの実の単位領域に対して記憶された記憶保護キーを
    読み出すことを要求したとき、その実の単位領域が該第
    1の領域に属するか該第2の領域に属するかにかかわら
    ず、その読み出しを許可する手段をさらに有する請求項
    9記載のデータ処理装置。
  15. 【請求項15】実記憶装置と、該実記憶装置の一部の領
    域からなる第1の領域に属する複数の実の単位領域のひ
    とつにそれぞれ対応して設けられた複数の記憶位置と該
    実記憶装置の該第1の領域と異なる他の第2の領域に属
    する複数の実の単位領域に対して設けられた一つの記憶
    位置とを有し、該複数の記憶位置の各々は、対応する実
    の単位領域が仮想の単位領域に割り当てられたときに、
    すくなくともその仮想の単位領域により定まる記憶保護
    キーを保持する第1の領域と、その実の単位領域がその
    後アクセスされたときにアクセスされたことを示す参照
    情報を保持する第2の領域と、そのアクセスにより、そ
    の実の単位領域の内容が更新されたときに内容の更新を
    示す更新情報を保持する第3の領域を有し、該一つの記
    憶位置は、該第2の領域に属する複数の実の単位領域の
    いずれか一つを仮想の単位領域に割り当てる前に、その
    第2の領域に対し予め定められた一つの記憶保護キーを
    保持する領域を有し、その第2の領域内のいずれの単位
    領域に関する参照情報と更新情報を保持しないキー保持
    手段とを有し、情報がアクセスされる時、その情報が存
    在す実の単位領域が該第1の領域に属し、かつ、そのア
    クセスが許可され、かつ、そのアクセスが書き込みのた
    めにのアクセスである場合、該キー記憶手段内の、その
    アクセスされた実の単位領域に対応して設けられた記憶
    位置に参照情報を書き込み、その実の単位領域が該第1
    の領域に属し、かつ、そのアクセスが許可され、かつ、
    そのアクセスが書き込みのためにのアクセスであるとき
    、該キー記憶手段内の、そのアクセスされた実の単位領
    域に対応して設けられた記憶位置に参照情報と更新情報
    とを書き込むデータ処理装置において、(a)該第2の
    領域に属する複数の実の単位領域のいずれか一つを仮想
    の単位領域に割り当てる前に、その第2の領域に対して
    予め定められた一つの記憶保護キーを該一つの記憶位置
    に記憶し、(b)実行中のプログラムが該実記憶装置内
    のいずれか一つの実の単位領域を一つの仮想の単位領域
    に割り当てることを要求したとき、その仮想の単位領域
    が要求する記憶保護キーの値が該予め定めた値に等しい
    か否かを判断し、(c)その判断結果が否定的なときに
    は、その仮想の単位領域に該第1の領域内の一つの実の
    単位領域を割り当て、(d)その仮想の単位領域が要求
    した記憶保護キーを、該キー記憶手段内の、該割り当て
    られた実の単位領域に対応する記憶位置に書き込み、(
    e)その判断結果が肯定的なときには、その仮想の単位
    領域に該第2の領域内の一つの実の単位領域を割り当て
    るステップからなるメモリ割り当て方法。
  16. 【請求項16】該予め定めた値は、複数ユーザプログラ
    ムに割り当てられるべき共通の記憶保護キー値である請
    求項15項記載のメモリ割り当て方法。
  17. 【請求項17】該ステップ(e)は、(e1)該第2の
    領域内の、いずれの仮想の単位領域に未だ割り当てられ
    ていない一つの実の単位領域(未割り当て実の単位領域
    )を探索し、(e2)未割り当て実の単位領域が探索さ
    れればそれをその仮想の単位領域に割り当てるステップ
    からなり、(f)該ステップ(e1)により、未割り当
    ての実の単位領域が探索されなかったとき、該第1の領
    域内の一つの未割り当ての実の単位領域をその仮想の単
    位領域に割り当てるステップをさらに有する請求項15
    項記載のメモリ割り当て方法。
  18. 【請求項18】(g)該第1の領域内のいずれかの仮想
    の単位領域に割り当て済みの、実の単位領域(割り当て
    済みの実の単位領域)をその仮想の単位領域から解放す
    べき場合に、その実の単位領域の内容が先に2次記憶装
    置から該実記憶装置に転送されてから書き換えられたか
    否かを該キー記憶手段内の、その実の単位領域に対応す
    る記憶位置に更新情報により判断し、その判断に基づき
    その実の単位領域の内容を該2次記憶装置に転送するか
    否かを制御し、(h)該第2の領域内の場合に、その実
    の単位領域の内容が、いずれかの仮想の単位領域に割り
    当て済みの、実の単位領域(割り当て済みの実の単位領
    域)をその仮想の単位領域から解放すべき先に2次記憶
    装置から該実記憶装置に転送されてから書き換えられた
    か否かにかかわらず、その実の単位領域の内容を該2次
    記憶装置に転送するステップをさらに有する請求項17
    項記載のメモリ割り当て方法。
  19. 【請求項19】(i)該ステップ(f)により割り当て
    るべき未割り当ての実の単位領域が、該第1の領域にな
    いとき、該第1、第2の領域内に、それぞれの領域ごと
    にあらかじめ定めた数の実の単位領域が解放されるよう
    に、該ステップ(g)と(h)を起動するステップをさ
    らに有する請求項18項記載のメモリ割り当て方法。
  20. 【請求項20】(j)該ステップ(g)と(h)のいず
    れか一方の終了後に該第1と第2の領域の内の対応する
    一方に確保された未使用の実の単位領域を該仮想の単位
    領域に割り当てるステップをさらに有する請求項19記
    載のメモリ割り当て方法。
  21. 【請求項21】(i)該第1の領域内の、いずれかの仮
    想の単位領域に既に割り当てられている複数の単位領域
    のうちで、それまでの参照頻度が最も低い実の単位領域
    を選択し、(j)ステップ(i)で選択された実の単位
    領域に対してステップ(g)を実行し、(k)該第2の
    領域内の、いずれかの仮想の単位領域に既に割り当てら
    れている複数の単位領域のうちで、仮想の単位領域に割
    り当てられた時刻が最も古い実の単位領域を選択し、(
    l)ステップ(k)で選択された実の単位領域に対して
    ステップ(k)を実行するステップをさらに有する請求
    項18項記載のメモリ割り当て方法。
JP3187255A 1990-08-31 1991-07-26 データ処理装置およびそのためのメモリ割当方法 Pending JPH04357544A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3187255A JPH04357544A (ja) 1990-08-31 1991-07-26 データ処理装置およびそのためのメモリ割当方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP22812990 1990-08-31
JP2-228129 1990-08-31
JP3187255A JPH04357544A (ja) 1990-08-31 1991-07-26 データ処理装置およびそのためのメモリ割当方法

Publications (1)

Publication Number Publication Date
JPH04357544A true JPH04357544A (ja) 1992-12-10

Family

ID=26504239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3187255A Pending JPH04357544A (ja) 1990-08-31 1991-07-26 データ処理装置およびそのためのメモリ割当方法

Country Status (1)

Country Link
JP (1) JPH04357544A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537879A (ja) * 2006-05-19 2009-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザ選択可能なストレージ・アクセス・キーを用いてデータを移動する方法及びシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537879A (ja) * 2006-05-19 2009-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザ選択可能なストレージ・アクセス・キーを用いてデータを移動する方法及びシステム

Similar Documents

Publication Publication Date Title
US5335334A (en) Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US5845331A (en) Memory system including guarded pointers
EP3830700B1 (en) Memory protection unit using memory protection table stored in memory system
US7461209B2 (en) Transient cache storage with discard function for disposable data
US7287140B1 (en) System and technique for fine-grained computer memory protection
US7047322B1 (en) System and method for performing conflict resolution and flow control in a multiprocessor system
US20130091331A1 (en) Methods, apparatus, and articles of manufacture to manage memory
US5418927A (en) I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines
US20080235477A1 (en) Coherent data mover
US11907301B2 (en) Binary search procedure for control table stored in memory system
US5956751A (en) Computer memory management system using physical segmentation space allocation
JPH0364890B2 (ja)
JPH08278886A (ja) データ処理システムでの拡張システム管理操作のための方法およびシステム
US11775308B2 (en) Extended tags for speculative and normal executions
US11734015B2 (en) Cache systems and circuits for syncing caches or cache sets
US11860786B2 (en) Data defined caches for speculative and normal executions
US20230103438A1 (en) Allocation of spare cache reserved during non-speculative execution and speculative execution
US11954493B2 (en) Cache systems for main and speculative threads of processors
WO2024078342A1 (zh) 内存交换方法、装置、计算机设备及存储介质
CN118210622B (zh) 一种内存分配方法及计算设备
JP2001222468A (ja) マイクロプロセッサのロード/ストア命令制御回路、およびロード/ストア命令制御方法
US6832295B1 (en) Methods and systems for extending an application's address space
JP3485940B2 (ja) 仮想記憶制御装置及び方法
JPH04357544A (ja) データ処理装置およびそのためのメモリ割当方法
EP0285309A2 (en) Memory protection apparatus for use in an electronic calculator