JPH0444143A - 主記憶キー制御装置 - Google Patents

主記憶キー制御装置

Info

Publication number
JPH0444143A
JPH0444143A JP15224390A JP15224390A JPH0444143A JP H0444143 A JPH0444143 A JP H0444143A JP 15224390 A JP15224390 A JP 15224390A JP 15224390 A JP15224390 A JP 15224390A JP H0444143 A JPH0444143 A JP H0444143A
Authority
JP
Japan
Prior art keywords
key
main memory
storage
storage device
area
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
JP15224390A
Other languages
English (en)
Inventor
Hiroshi Ikegaya
池ヶ谷 浩
Hidenori Umeno
梅野 英典
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 JP15224390A priority Critical patent/JPH0444143A/ja
Publication of JPH0444143A publication Critical patent/JPH0444143A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、主記憶キー制御装置に関し、特に、複数サイ
ズの記憶保護単位を同時に主記憶に存在させる計算機シ
ステムにおいて有用な主記憶キー制御装置に関する。
[従来技術] 計算機システムにおいて、主記憶に対する不正な書き込
み、読み出しを防止するため、主記憶を記憶保護単位に
分け、その各々に主記憶キーを対応させ、プログラムが
主記憶にアクセスする時、そのプログラムに予め割り当
てられている保護キ−とアクセス先の主記憶キーとを比
較することが行われている。
記憶保護単位のサイズは、一定の場合(例えば全て4に
バイト)と、複数の場合(例えば4にバイトと64にバ
イトを同時に存在させる)とがあるが、後者の場合に対
する主記憶キーの制御技術としては以下のものが知られ
ている。
例えば特開昭63−206844号公報に開示の技術は
、主記憶の低位アドレス(例えばIGバイト未満)を小
さい記憶保護単位(例えば4にバイト)に分け、高位ア
ドレス(例えばIGバイト以上)を大きな記憶保護単位
(例えば64にバイト)に分け、アクセス要求のあった
アドレスの低位、高位に応じて前記アドレスのビット位
置を変更して、キー記憶装置のエントリの番地を得て、
主記憶キーを取り出すものである。
また、例えば特開昭63−289659号公報に開示の
技術は、実記憶装置をバンクと呼ばれる大きな単位に分
割し、各バンク内を同じサイズの記憶保護単位に分け、
キー記憶装置のエントリにはバンク毎に各記憶保護単位
のキーを順に格納し、アクセス要求のあったアドレスの
一部を、対応するバンクのキーを格納しているエントリ
群の先頭番地に変換し、また、前記アドレスの他の一部
を。
対応するキーを格納しているエントリ群における相対番
地に変換し、前記先頭番地と相対番地とを加算して、キ
ー記憶装置のエントリの番地を得て、主記憶キーを取り
出すものである。
[発明が解決しようとする課題] 前記特開昭63−206844号公報に開示の従来技術
では、低位アドレスと高位アドレスとに分けて記憶保護
単位のサイズを変えることが前提となっているため、例
えば低位アドレスの領域に4にバイトと64にバイトの
記憶保護単位を混在させるといったことが出来ない問題
点がある。
また、前記特開昭63−289659号公報に開示の従
来技術では、アクセス要求のあったアドレスを、キー記
憶装置のエントリの番地に変換してから主記憶キーを取
り出すため、主記憶キーを取り出すのに要する時間が長
くなる問題点がある。
また、各バンク毎に異なるサイズの記憶保護単位を設定
できるが、一つのバンク内では異なるサイズの記憶保護
単位を混在させることが出来ない問題点がある。すなわ
ち、主記憶の連続した領域を仮想計算機に割り当てる仮
想計算機システムでは、バンク単位で仮想計算機に割り
当てるため、バンク内で異なるサイズの記憶保護単位を
設定する必要があるが、これに対応できない問題点があ
る。
そこで、本発明の目的は、低位アドレス、高位アドレス
に制限されずに異なったサイズの記憶保護単位を混在さ
せることが出来ると共に、主記憶キーを取り出すまでの
時間を短縮することが出来る主記憶キー制御装置を提供
することにある。また、主記憶の連続した領域を仮想計
算機に割り当てる仮想計算機システムにおいて異なるサ
イズの記憶保護単位を混在させることが出来る主記憶キ
ー制御装置を提供することにある。
[課題を解決するための手段] 第1の観点では、本発明は、サイズの最も大きい記憶保
護単位のキー記憶装置と、それよりサイズの小さい記憶
保護単位のキー記憶装置と、主記憶キー参照手段とを備
え、前記各キー記憶装置は、そのエントリに、自サイズ
の記憶保護単位についての主記憶キーを記憶するか又は
自サイズより小さい記憶保護単位のキー記憶装置の対応
するエントリ群の先頭を示す値を記憶すると共に、自サ
イズより小さい記憶保護単位のキー記憶装置が存在する
ときは前記主記憶キーまたは前記値のいずれを記憶して
いるかの情報を記憶し、前記主記憶キー参照手段は、主
記憶参照アドレスにより、サイズの最も大きい記憶保護
単位のキー記憶装置の前記情報を調べて、主記憶キーが
記憶されているならその主記憶キーを出力し、自サイズ
より小さい記憶保護単位のキー記憶装置の対応するエン
トリ群の先頭を示す値が記憶されているならその値と主
記憶参照アドレスとにより対応するエントリをたどって
主記憶キーに到達し、その主記憶キーを出力することを
さらに有する主記憶キー制御装置を提供する。
上記構成において、キー記憶装置に対して、主記憶キー
又は他のキー記憶装置の対応するエントリ群の先頭を示
す値のいずれかと、いずれを記憶しているかの情報とを
設定するキー記憶装置設定手段をさらに備えるのが好ま
しい。
第2の観点では、本発明は、実計算機の主記憶装置を複
数個の領域に分割し、各領域を仮想計算機の主記憶装置
として割り当て、複数の仮想計算機が同時に走行可能な
仮想計算機システムにおいて、キー記憶装置と、キーア
ドレス変換テーブルと、主記憶キー参照手段とを備え、
前記キー記憶装置は、各仮想計算機の主記憶装置をサイ
ズの異なる記憶保護単位毎の複数領域に分割したときの
各領域の各主記憶キーを記憶し、前記キーアドレス変換
テーブルは、複数の仮想計算機の各々を識別する情報と
、各仮想計算機の主記憶装置内におけるサイズの異なる
記憶保護単位毎の各領域の容量と、前記各領域の主記憶
キーを記憶したキー記憶装置のエントリ群の先頭を示す
値とを記憶し、前記主記憶キー参照手段は、仮想計算機
を識別する情報と主記憶参照アドレスとから前記キーア
ドレス変換テーブルを参照して、対応する記憶保護単位
の領域の容量とキー記憶装置のエントリ群の先頭を示す
値とを取り出すと共に、それらと前記主記憶参照アドレ
スとからキー記憶装置参照アドレスを生成し、そのキー
記憶装置参照アドレスにより前記キー記憶装置から主記
憶キーを取り出し。
その主記憶キーを出力することをさらに有する主記憶キ
ー制御装置を提供する。
」1記構成において、キーアドレス変換テーブルに対し
て、複数の仮想計算機の各々を識別する情報と、各仮想
計算機の主記憶領域内におけるサイズの異なる記憶保護
単位毎の各領域の容量と、前記各領域の主記憶キーを記
憶したキー記憶装置のエントリ群の先頭を示す値とを設
定するキーアドレス変換テーブル設定手段をさらに備え
るのが好ましい。
[作用] 上記第1の観点による本発明の主記憶キー制御装置では
、主記憶キー参照手段は、主記憶参照アドレスによりサ
イズの最も大きい記憶保護単位のキー記憶装置の前記情
報を調べて、主記憶キーが記憶されているなら、その主
記憶キーを使用する。
一方、自サイズより小さい記憶保護単位のキー記憶装置
の対応するエントリ群の先頭を示す値が記憶されている
なら、その値と主記憶参照アドレスにより対応するエン
トリを求めて、前記と同様の動作を繰り返し、主記憶キ
ーに到達したら、その主記憶キーを使用する。
これによれば、低位アドレス、高位アドレスの制限なく
、サイズの異なる記憶保護単位の領域を混在させること
が出来る。従って、実計算機の主記憶装置の連続した領
域を仮想計算機に割り当てる仮想計算機システムにおい
て、異なるサイズの記憶保護単位が混在した領域を仮想
計算機に割り当てても主記憶の保護が可能となる。さら
に、サイズの最も大きい記憶保護単位の主記憶キーは直
接的に取り出されるので、主記憶キー参照時のオーバヘ
ッドを低減できる。
上記第2の観点による本発明の主記憶キー制御装置では
、主記憶キー参照手段は、仮想計算機を識別する情報と
主記憶参照アドレスとからキーアドレス変換テーブルを
参照して、対応する記憶保護単位の領域の容量とキー記
憶装置の先頭アドレスとを取り出し、それらと主記憶参
照アドレスとからキー記憶装置参照アドレスを生成し、
そのキー記憶装置参照アドレスによりキー記憶装置から
主記憶キーを取り出して、その主記憶キーを使用する。
これにより、実計算機の主記憶装置の連続した領域を仮
想計算機の主記憶に割り当てた場合でも、サイズが異な
る複数の記憶保護単位の領域を混在させることが出来る
[実施例] 以下、図に示す実施例により本発明をさらに説明する。
なお、これにより本発明が限定されるものではない。
第1図は、本発明の主記憶キー制御装置の第1実施例の
構成図である。
この主記憶キー制御装置100は、4にキー記憶装置2
−1.64にキー記憶装置2−2.セレフタ3および加
算器4を具備して構成される。
第2図は、前記主記憶キー制御装置100に対する主記
憶装置5の状態を示す説明図である。
すなわち、主記憶装置5を、64にバイト境界で、「領
域O」、「領域1」、「領域2」。
に分割する。「領域O」、「領域1」、「領域3」「領
域5」、・・、は記憶保護単位を64にバイトとし、そ
れぞれに主記憶キー(64にキー)を割り当てる。また
、「領域2」、「領域4」。
は記憶保護単位を4にバイトとし、それぞれに主記憶キ
ー(4にキー)を割り当てる。
第3図は、前記64にキー記憶装置2−2と4にキー記
憶装置2−1の構成を示す説明図である。
64にキー記憶装置2−2は、前記「領域O」「領域1
」、 「領域2」、・・・、に対応したエントリ [K
sOJ、   rKsIJ、   rKs2J、  ・
・・、 を持ち、記憶保護単位を64にバイトとした前
記「領域O」、「領域1」、「領域3」、「領域5」、
に対応するエントリrKsOJ、  rKsIJrKS
3J 、rKs5J 、・・・、のデータフィールドに
、対応する領域の64にキーを格納し、■フィールドに
は〈0〉を格納している。
また、4にキー記憶装置2−1は、4にキーの数だけの
エントリを持ち、各エントりに順に「領域2」の各4に
キー、「領域4」の各4にキ・・、を格納している。
そして、「領域2」の各4にキーを格納した4にキー記
憶装置2−1のエントリ群の先頭を示す値を前記64に
キー記憶装置2−2のエントリrKs2Jに格納し、■
フィールドには〈1〉を格納する。また、「領域4」の
各4にキーを格納した4にキー記憶装置2−1のエント
リ群の先頭を示す値を前記64にキー記憶装置2−2の
エントリrKs4Jに格納し、■フィールドには〈1〉
を格納する。以下、同様にする。
主記憶キー制御装置100の動作は以下の通りである。
なお、ビット(α、β)の表記は、主記憶参照アドレス
のバイト位置αにおけるビット位置βのビットを表わす
。例えば、ビット(0,1)の表記は、主記憶参照アド
レスの0バイト目の1ビット目のビットを表わす。
主記憶参照アドレス拡張部1−1および主記憶参照アド
レス1のビット(E、6)〜(1,7)は、主記憶装置
5の64 Kバイト毎の領域を指標するもので、データ
線101を通して64にキー記憶装置2−2に入力され
る。すると、64にキー記憶装置2−2の該当エントリ
のIフィールドの値がデータ線103を通してセレクタ
3へ出力される。また、■フィールドの値が<0>のと
きは、該当エントリのデータフィールドに格納されてい
る64にキーがデータ線104を通してセレクタ3へ出
力される。■フィールドの値が〈1〉のときは、該当エ
ントリのデータフィールドに格納されていた4にキー記
憶装置2−1のエントり群の先頭を示す値かデータ線1
05を通して加算器4へ出力される。
主記憶参照アドレス1のビット(2,O)〜(2,3)
は、各64にバイトの領域内における4にバイトの記憶
保護単位の先頭からの順番を指標するもので、データ線
102を通して加算器4へ出力される。
そこで、加算器4は、前記4にキー記憶装置2−1のエ
ントリ群の先頭を示す値と、その先頭からの順番とを加
算して、アクセスするへき4にキー記憶装置2−1のエ
ントリのアドレスを生成する。その生成したアドレスは
、データ線106を通して4にキー記憶装置2−1へ入
力される。
すると、4にキー記憶装置2−1は、該当エントリの4
にキーをデータ線107を通して前記セレクタ3へ出力
する。
セレクタ3は、データ線103の値か<0>のときは、
データ線104の64にキーをデータ線108に出力す
る。データ線103の値が〈1〉のときは、データ線1
07の4にキーをデータ線108に出力する。つまり、
アクセス先の64にキーまたは4にキーが出力される。
上記実施例によれば、低位アトルス、高位アドレスに制
限されずに64にバイトの記憶保護単位と4にバイトの
記憶保護単位とを混在させることが出来る。従って、実
計算機の主記憶装置の連続した領域を仮想計算機に割り
当てる仮想計算機システムにおいて、異なるサイズの記
憶保護単位が混在した領域を仮想計算機に割り当てる場
合でも好適に主記憶の保護を行うことが出来る。さらに
、64にキー記憶装置2−2を参照するときは、キー記
憶を直接に参照するので、主記憶キーを取り出すまでの
時間を短縮することが出来る。
ここで、実記憶装置の容量が16Gバイトとし。
IGバイトまでの実記憶領域の記憶保護単位のサイズが
4にバイト、IGバイトを越えて16Gバイトまでの実
記憶領域の記憶保護単位のサイズが64にバイトとし、
64にキーを取り出す時間を1.0. 4にキーを取り
出す時間を15 とすると、本実施例による平均主記憶
キー取出時間は、前記特開昭63−289659号公報
に開示の従来技術に比べて、68%に短縮される。
なお、上記実施例では、サイズが64にバイトと4にバ
イトの場合について説明したか、その他のサイズの場合
でも同様に本発明を適用できる。
第4図は、前記64にキー記憶装置2−2のエントリに
、■フィールドの値と、4にキー記憶装置2−1のエン
トリ群の先頭を示す値とを設定する5ETKS命令の動
作を示す説明図である。
この5ETKS命令を実行する装置は、第1オペランド
レジスタ11と、■フィールドラッチ6と 主記憶キー
先頭カウンタ7と、4にキー記憶容量レジスタ8と、加
算器9と、比較器10とから構成される。
5ETKS命令では、オペランドに2つの汎用レジスタ
を指定する。第1オペランドレジスタ11には、主記憶
参照アドレス1を指定する。これにより、データ線20
1を通して、64にキー記憶装置2−2の該当エントリ
か参照される。第2オペランドレジスタには、Iフィー
ルドの値を指定する。これにより、■フィールドの値が
Iフィールドラッチ6に設定され、その値が<0>の場
合は64にキー記憶装置2−2のIフィールドに〈0〉
か設定される。その値が〈1〉の場合は、64にキー記
憶装置2−2のIフィールドに〈1〉か設定されると共
に、データフィールドに主記惚キー先頭カウンタ7の値
(4にキー記憶装置21のエントリ群の先頭を示す値)
が設定される。
さらに、■フィールドの値が〈1〉の時は、主記憶キー
先頭カウンタ7の値を加算器9によって更新し、データ
線202を通して主記憶キー先頭カウンタ7に再設定す
る。
さらに、主記憶キー先頭カウンタ7の値は、比較器10
によって、4にキー記憶容量レジスタ8の値と比較され
、その値の範囲内の場合はデータ線203を通して条件
コード<0>を出力し、その値を越えた場合はデータ線
203を通して条件コード〈1〉を出力する。条件コー
ドく1〉は、エラーを示す。
次に、第5図は、本発明の主記憶キー制御装置の第2実
施例の構成図である。
この主記憶キー制御装置200は、4にキー記憶装置2
−1.64にキー記憶装置2−2 256にキー記憶装
置2 4.セレクタ3.加算器4および加算器4−1を
具備して構成される。
第6図は、前記主記憶キー制御装置200に対する主記
憶装置5の状態を示す説明図である。
すなわち、主記憶装置5を、256にバイト境界で、「
領域O」、「領域1」、「領域2」。
に分割する。「領域O」、「領域2」、・・・、は記憶
保護単位を256にハイドとし、それぞれに主記憶キー
(256にキー)を割り当てる。また、記憶保護単位を
256にバイトとじない「領域1」「領域3」、・・、
は64 Kバイト境界で、[領域1−OJ、  「領域
1−IJ、・・・、にそれぞれ4分割する。「領域1」
内の[領域1−OJ、  [領域1−IJ、・・と「領
域3j内の「領域8−OJ。
「領域3−1Jは記憶保護単位を64にバイトとし、そ
れぞれに主記憶キー(64にキー)を割り当てる。また
、記憶保護単位を64にバイトとしない「領域3」内の
、「領域3−21.  「領域33」は、記憶保護単位
を4にバイトとし、それぞれに主記憶キー(4にキー)
を割り当てる。
第7図は、前記256にキー記憶装置2−4と64にキ
ー記憶装置2−2と4にキー記憶装置21の構成を示す
説明図である。
256にキー記憶装置2−4は、前記「領域0」「領域
1」、「領域2」、・・・、に対応したエンドlJ r
KsOJ、  rKsIJ、  rKS2J、−・を持
ち、記憶保護単位を256にバイトとした前記「領域O
」、「領域2」、・・・、に対応するエントリrKsO
J 、  rKS2J 、−、のデータフィールドには
対応する256にキーを格納し、■フィールドには〈0
〉を格納している。
また、64にキー記憶装置2−2は、記憶保護単位を2
56にバイトとしない前記「領域1」。
「領域3」、・・・、毎に4個(−256に÷64K)
のエントリを持ち、記憶保護単位を64にバイトとした
[領域1−IJ、r領域1−2J、・・・、に対応する
エントリのデータフィールドには対応する64にキーを
格納し、■フィールドには〈0〉を格納している。
そして、記憶保護単位を256にバイトとしない前記「
領域1」、「領域3」、・・・、毎の4個づつの64に
キー記憶装置2−2のエントリ群の先頭を示す値を前記
256にキー記憶装置2−4の対応するエンh’)rK
sIJ 、rKs3J 、−に格納し、■フィールドに
は〈1〉を格納する。
また、4にキー記憶装置2−1は、4にキーの数だけの
エントリを持ち、各エンドりに順に「領域3−2」の各
4にキー、「領域3−3jの各4にキー、・・・、を格
納している。
そして、「領域3−2」の各4にキーを格納した4にキ
ー記憶装置2−1のエントリ群の先頭を示す値を前記6
4にキー記憶装置2−2の対応するエントリに格納し、
■フィールドには〈1〉を格納する。また、「領域3−
31の各4にキーを格納した4にキー記憶装置2−1の
エントリ群の先頭を示す値を前記64にキー記憶装置2
−2の対応するエントリに格納し、■フィールドには〈
1〉を格納する。以下、同様にする。
主記憶キー制御装置200の動作は以下の通りである。
主記憶参照アドレス拡張部1−1および主記憶参照アド
レス1のビット(E、  6)〜(1,5)は、主記憶
装置5の256にバイト毎の領域を指標するもので、デ
ータ線111を通して256にキー記憶装置2−4に入
ノJされる。すると、256にキー記憶装置2−4の該
当エントリのIフィールドの値がデータ線113を通し
てセレクタ3へ出力される。また、■フィールドの値か
<0>のときは、該当エントリのデータフィールドに格
納されている256にキーがデータ線114を通してセ
レクタ3へ出力される。■フィールドの値が〈1〉のと
きは、該当エントリのデータフィールドに格納されてい
た64にキー記憶装置2−2の対応するエントリ群の先
頭を示す値がデータ線115を通して加算器4−1へ出
力される。
主記憶参照アドレス1のビット(1,6)と(17)は
、256にバイト領域内における64にバイト領域の先
頭からの順番を指標するもので、データ線101を通し
て加算器4−1へ出力される。
そこで、加算器4−1は、前記64にキー記憶装置2−
2のエントリ群の先頭を示す値と、その先頭からの順番
とを加算して、64にキー記憶装置2−2における対応
するエントリのアドレスを生成する。その生成したアド
レスは、データ線116を通して64にキー記憶装置2
−2に入力される。
すると、64にキー記憶装置2−2の該当エントリの■
フィールドの値がデータ線103を通してセレクタ3へ
出力される。また、■フィールドの値が<0>のときは
、該当エントりのデータフィールドに格納されていた6
4にキーがデータ線104を通してセレクタ3へ出力さ
れる。■フィールドの値が〈1〉のときは、該当エント
リのデータフィールドに格納されていた4にキー記憶装
置2−1の対応するエントリ群の先頭を示す値がデータ
線105を通して加算器4へ出力される。
主記憶参照アドレス1のビット(2,O)〜(2,3)
は、64にバイト領域内における4にバイトの記憶保護
単位の先頭からの順番を指標するもので、データ線10
2を通して加算器4へ出力される。
そこで、加算器4は、前記4にキー記憶装置22のエン
トリ群の先頭を示す値と、その先頭からの順番とを加算
して、4にキー記憶装置2−1における対応するエント
リのアドレスを生成する。
その生成したアドレスは、データ線106を通して4に
キー記憶装置2−1に入力される。
すると、4にキー記憶装置2−1は、該当エントリの4
にキーをデータ線107を通して前記セレクタ3へ出力
する。
セレクタ3は、データ線113の値が<0>のときは、
データ線114の256にキーをデータ線108に出力
する。データ線113の値が〈1〉でデータ線103の
値が<0>のときは、データ線104の64にキーをデ
ータ線108に出力する。データ線113の値が〈1〉
でデータ線103の値が〈1〉のときは、データ線10
7の4にキーをデータ線108に出力する。つまり、ア
クセス先の256にキーまたは64にキーまたは4にキ
ーが出ノjされる。
上記実施例によれば、低位アドレス、高位アドレスに制
限されずに256にバイトの記憶保護単位と64にバイ
トの記憶保護単位と4にバイトの記憶保護単位とを混在
させることが出来る。また、一つのバンク内に64にバ
イトの記憶保護単位と4にバイトの記憶保護単位とを混
在させることが出来る。さらに、256にキーを取り出
すときは、キー記憶を直接に参照するので、256にキ
ーを取り出すまでの時間を短縮することが出来る。
なお、上記実施例では、サイズが256にバイトと64
にバイトと4にハイドの場合について説明したが、その
他のサイズの場合でも同様に本発明を適用できる。
次に、第8図は、本発明の主記憶キー制御装置の第3実
施例の構成図である。
この主記憶キー制御装置300は、64に/4にキー記
憶装置2−3,256にキー記憶装置2−4.セレクタ
3.加算器4およびシフタ40を具備して構成される。
なお、この第3実施例では、256にキー記憶2−4の
Iフィールドは2ビツトである。
第9図は、前記主記憶キー制御装置300に対する主記
憶装置5の状態を示す説明図である。
すなわち、主記憶装置5を、256にバイト境界で、「
領域O」、「領域1」、「領域2」、・・・に分割する
。「領域O」、「領域2」、・・・、は記憶保護単位を
256にバイトとし、それぞれに主記憶キー(256に
キー)を割り当てる。また、記憶保護単位を256にバ
イトとしない「領域1」「領域3」、・・・、は、記憶
保護単位を64にバイトまたは4にバイトのいずれか一
方とし、それぞれに主記憶キー(64にキーまたは4に
キー)を割り当てる。
第10図は、前記256にキー記憶装置2−4と64に
/4にキー記憶装置2−3の構成を示す説明図である。
256にキー記憶装置2−4は、前記「領域O」「領域
1」、「領域2」、・・、に対応したエントリrKsO
J、  「KSIJ、  rKs2J、  ・・・を持
ち、記憶保護単位を256にバイトとした前記「領域0
」、「領域2」、・、に対応するエントリrKsOJ、
  rKs2J、  ・・、のデータフィールドには対
応する256にキーを格納し、■フィールドには〈OO
〉を格納している。
また、64に74にキー記憶装置2−3は、64にキー
と4にキーの数だけのエントリを持ち、256にバイト
の領域毎にまとめて順に64にキーまたは4にキーを格
納している。
そして、256にバイトの領域毎の64に/4にキー記
憶装置2−3のエントり群の先頭を示す値を前記256
にキー記憶装置2−4の対応するエントりに格納し、そ
の領域の記憶保護単位が64にバイトなら■フィールド
に〈01〉を格納し、その領域の記憶保護単位が4にバ
イトならIフィールドに〈10〉を格納する。
主記憶キー制御装置300の動作は以下の通りである。
主記憶参照アドレス拡張部1−1および主記憶参照アド
レス1のビット(E、6)〜(1,5)は、主記憶装置
5の256にバイト毎の領域を指標するもので、データ
線101を通して256にキー記憶装置2−4に入力さ
れる。すると、256にキー記憶装置2−4の該当エン
トリのIフィールドの値がデータ線103を通してセレ
クタ3へ出力されると共に、データ線109を通してシ
フタ40へ出力される。また、■フィールドの値が〈0
0〉のときは、該当エントリのデータフィールドに格納
されていた256にキーがデータ線104を通してセレ
クタ3へ出ノjされる。■フィールドの値が〈01〉ま
たはく10〉のときは、該当エントリのデータフィール
ドに格納されていた64に/4にキー記憶装置2−3の
対応するエントリ群の先頭を示す値がデータ線105を
通して加算器4へ出力される。
主記憶参照アドレス1のビット(1,6)〜(2,3)
は、ビット(1,6)と(1,7)が256にバイト領
域内における64にバイトの記憶保護単位の先頭からの
順番を指標し且つビット(2,0)〜(2,3)が無意
味であるか、又は。
全ビットが256にバイト領域内における4にバイトの
記憶保護単位の先頭からの順番を指標するもので、デー
タ線102を通してシフタ40へ出力される。
シフタ40は、データ線109から入力される値が〈0
1〉のときは、データ線102から入力される主記憶参
照アドレス1のビット(1,6)〜(2,3)を4ビツ
トだけ右シフトし、データ線121を通して加算器4へ
出ノJする。一方、データ線109から入力される値が
〈10〉のときは、データ線102から入力される主記
憶参照アドレス1のビット(1,6)〜(2,3)をそ
のままデータ線121を通して加算器4へ出力する。
従って、256にバイト領域内における64にバイトの
記憶保護単位の先頭からの順番または256にバイト領
域内における4にバイトの記憶保護単位の先頭からの順
番が加算器4に入力される。
そこで、加算器4は、前記64に/4にキー記憶装置2
−3のエントリ群の先頭を示す値と、その先頭からの順
番とを加算して、64に/4にキー記憶装置2−3にお
ける対応するエントリのアドレスを生成する。その生成
したアドレスは、データ線106を通して64に/4に
キー記憶装置2−3に人力される。
すると、64に/4にキー記憶装置2−3の該当エント
リのデータフィールドに格納されていた64Kまたは4
にキーがデータ線107を通してセレクタ3へ出力され
る。
セレクタ3は、データ線103の値が〈OO〉のときは
、データ線104の256にキーをデータ線108に出
力する。データ線103の値か〈01〉またはく10〉
のときは、データ線107の64にキーまたは4にキー
をデータ線108に出力する。つまり、アクセス先の2
56にキーまたは64にキーまたは4にキーが出力され
る。
」二記実施例によれば、低位アドレス、高位アドレスに
制限されずに256にバイトの記憶保護単位と64にバ
イトの記憶保護単位と4にバイトの記憶保護単位とを混
在させることが出来る。また、256にキーを取り出す
ときは、キー記憶を直接に参照するので、256にキー
を取り出すまでの時間を短縮することが出来る。
なお、上記実施例では、サイズが256にバイトと64
にバイトと4にバイトの場合について説明したが、その
他のサイズの場合でも同様に本発明を適用できる。
次に、第11図は、本発明の主記憶キー制御装置の第4
実施例の構成図である。
この主記憶キー制御装置400は、キー記憶先頭アドレ
ステーブル20.仮想計算機識別子21比較器22.比
較器23.減算器24.加算器25、加算器26.セレ
クタ27およびキー記憶装置2を具備して構成される。
第12図は、前記主記憶キー制御装置400を用いたシ
ステムで、仮想計算機VMI、VM2の主記憶装置が実
計算機の主記憶装置5」−に割り当てられる形態を示す
説明図である。
すなわち、第1仮想計算機VMIの主記憶として実計算
機の主記憶装置5のアドレスαからアドレスα十βまで
が割り当てられ、領域5−1の記憶保護単位は4にバイ
トとされ、領域5−2の記憶保護単位は64にバイトと
される。同様に、第2仮想計算機VM2の主記憶として
実計算機の主記憶装置5のアドレスα十βからアドレス
α+β十γまでが割り当てられ、領域5−3の記憶保護
単位は4にバイトとされ、領域5−4の記憶保護単位は
64にバイトとされる。
第13図は、上記仮想計算機VMIか実計算機の主記憶
装置5を参照するためのアドレス変換を示す説明図であ
る。
すなわち、仮想計算機VMIに割り当てた主記憶装置5
の先頭アドレスαおよび主記憶容量βを各々レジスタ5
01およびレジスタ502に保持する。そして、仮想計
算機VMIから発行された主記憶参照アドレス1とレジ
スタ501の内容αを加算器503によって加算し、主
記憶装置5を参照するアドレスを得る。なお、主記憶参
照アドレス1をレジスタ502の内容βと比較器504
によって比較することにより、主記憶参照アドレス1が
仮想計算機VMIに割り当てられた主記憶容量を越えて
いる場合にアドレス例外を検出する。
このアドレス変換の技術については、例えば特開昭60
−122444号公報に開示されている。
第14図は、前記主記憶キー制御装置400を用いたシ
ステムで、キー記憶装置2が各仮想計算機に割り当てら
れる形態を示す説明図である。
すなわち、キー記憶先頭アドレステーブル20には、仮
想計算機を識別するVMTDフィールドと、その仮想計
算機に割り当てた4にキー領域の主記憶容量フィールド
と、4にキーのキー記憶先頭アドレスフィールドと、6
4にキー領域の主記憶容量フィールドと、64にキーの
キー記憶先頭アドレスフィールドとがある。
キー記憶装置2には、各仮想計算機対応に4にキーおよ
び64にキーが順に記憶されており、4にキーが記憶さ
れているエントり群の先頭アドレスが前記キー記憶先頭
アドレステーブル20の対応する4にキーのキー記憶先
頭アドレスフィールドに記憶され、64にキーが記憶さ
れているエントリ群の先頭アドレスが前記キー記憶先頭
アドレステーブル20の対応する64にキーのキー記憶
先頭アドレスフィールドに記憶されている。
主記憶キー制御装置400の動作は以下の通りである。
仮想計算機識別子21は、比較器22によってキー記憶
先頭アドレステーブル20の仮想計算機識別子フィール
ドと比較される。比較の結果、仮想計算機識別子21の
値と等しいエントリをデータ線301を通して指定する
そこで、キー記憶先頭アドレステーブル20の前記指定
されたエントリの4にキー領域の主記憶容量がデータ線
307を通して比較器23および減算器24へ出力され
、4にキーのキー記憶先頭アドレスがデータ線308を
通して加算器25へ出力され、64にキーのキー記憶先
頭アドレスがデータ線309を通して加算器26へ出力
される。
比較器23は、主記憶参照アドレス拡張部11および主
記憶参照アドレス1のビット(E、  6)〜(3,7
)からなるアドレスと前記4にキー領域の主記憶容量と
を比較し、前者が後者より小さい場合にデータ線302
を通して〈0〉をセレクタ27へ出力し、前者が後者よ
り大きい場合にデータ線302を通して〈1〉をセレク
タ27へ出力する。つまり、データ線302の<0>は
アクセス先が4にキー領域であることを示し、〈1〉は
アクセス先が64にキー領域であることを示す。
主記憶参照アドレス拡張部1−1および主記憶参照アド
レス1のビット(E、6)〜(2,3)は、アクセス先
が4にキー領域ならばその4にキー領域における相対ア
ドレスを意味し、加算器25で前記4にキーのキー記憶
先頭アドレスと加算されることにより、キー記憶装置2
における参照アドレスになり、データ線303を通して
セレクタ27へ出力される。
主記憶参照アドレス拡張部1−1および主記憶参照アド
レス1のビット(E、6)〜(3,7)は、減算器24
で前記4にキー領域の主記憶容量を減算されることによ
り、アクセス先が64にキー領域ならばその64にキー
領域における相対アドレスとなり、ピッI−(E、6)
〜(1,,7)がデータ線306を通して加算器26へ
出力される。
加算器26は、前記64にキー領域における相対アドレ
スと前記64 Kキーのキー記憶先頭アトレスとを加算
してキー記憶装置2における参照アドレスを生成し、デ
ータ線304を通してセレクタ27へ出力する。
セレクタ27は、信号線302の値が<0>のときはデ
ータ線303の値をデータ線305を通してキー記憶装
置2に出力し、信号線302の値が〈1〉のときはデー
タ線304の値をデータ線305を通してキー記憶装置
2に出力する。
そこで、キー記憶装置2は、アクセス先に対応する4に
キーまたは64にキーをデータ線108に出力する。
」1記実施例によれば、実計算機の主記憶装置の連続し
た領域を仮想計算機に割り当てる仮想計算機システムに
おいて、異なるサイズの記憶保護単位を混在させること
が可能となる。
なお、上記実施例では、サイズか4にバイトと64にバ
イトの場合について説明したが、その他のサイズの場合
でも同様に本発明を適用できる。
第15図は、キー記憶先頭アドレステーブル20に仮想
計算機識別子、4にキー領域の主起憶容it、4にキー
のキー記憶先頭アドレス 64にキー領域の主記憶容量
および64 Kキーのキー記憶先頭アドレスを設定する
5ETVK命令の動作を示す説明図である。
この5ETVK命令を実行する装置は、第1オペランド
レジスタ30.第2オペランドレジスタ31、キー記憶
先頭アドレスカウンタ32 カウンタ制御部33および
カウンタ制御部34から構成される。
5ETVK命令では、オペランドに2つの汎用レジスタ
を指定する。第1オペランドレジスタ30には、仮想計
算機識別子を指定する。これは、データ線401を通し
て、キー記憶先頭アドレステーブル20の仮想計算機識
別子フィールドに設定される。
第2オペランドレジスタ31には、前半に4にキー領域
の主記憶容量を指定し、後半に64にキー領域の主記憶
容量を指定する。第2オペランドレジスタ31の前半の
4にキー領域の主記憶容量は、データ線402を通して
キー記憶先頭アドレステーブル20の4にキー領域の主
記憶容量フィールドに設定される。第2オペランドレジ
スタ31の後半の64にキー領域の主記憶容量は、ブタ
線404を通してキー記憶先頭アドレステーブル20の
64にキー領域の主記憶容量フィールドに設定される。
キー記憶先頭アドレスカウンタ32には4にキーのキー
記憶先頭アドレスが予め設定されており、その値がデー
タ線408を通してキー記憶先頭アドレステーブル20
の4にキーのキー記憶先頭アドレスフィールドに人ノj
され、設定される。
次に、データ線403を通して前記第2オペランドレジ
スタ31の前半の4にキー領域の主記憶容量と前記4に
キーのキー記憶先頭アドレスとがカウンタ制御部33に
よって加算されて64にキーのキー記憶先頭アドレスが
求められ、データ線406を通してキー記憶先頭アドレ
スカウンタ32に設定される。
キー記憶先頭アドレスカウンタ32に設定された前記6
4にキーのキー記憶先頭アドレスは、データ線409を
通してキー記憶先頭アドレステーブル20の64にキー
のキー記憶先頭アドレスフィールドに入力され、設定さ
れる。
次に、データ線405を通して前記第2オペランドレジ
スタ31の後半の64にキー領域の主記憶容量と前記6
4にキーのキー記憶先頭アドレスとがカウンタ制御部3
4によって加算されて次の4にキーのキー記憶先頭アド
レスが求められ、データ線407を通してキー記憶先頭
アドレスカウンタ32に設定される。
[発明の効果] 本発明によれば、低位アドレス、高位アドレスに制限さ
れずに異なったサイズの記憶保護単位を混在させること
が出来る。また、キー記憶を参照する時間を短縮するこ
とか出来る。さらに、主記憶の連続した領域を仮想計算
機に割り当てる仮想計算機システムにおいて異なるサイ
ズの記憶保護単位を混在させることが出来るようになる
【図面の簡単な説明】
第1図は本発明の主記憶キー制御装置の第1実施例のブ
ロック図、第2図は第1図の主記憶キー制御装置に対応
する主記憶の記憶保護単位の割り当て説明図、第3図は
第1図の主記憶キー制御装置における64にキー記憶装
置および4にキー記憶装置の構成説明図、第4図は第1
図の主記憶キー制御装置における6 4 Kキー記憶装
置にデータをセットする命令の説明図、第5図は本発明
の主記憶キー制御装置の第2実施例のブロック図、第6
図は第5図の主記憶キー制御装置に対応する主記憶の記
憶保護単位の割り当て説明図、第7図は第5図の主記憶
キーniす御装置における256にキー記憶装置および
64にキー記憶装置および4にキー記憶装置の構成説明
図、第8図は本発明の主記憶キー制御装置の第3実施例
のブロック図、第9図は第8図の主記憶キー制御装置に
対応する主記憶の記憶保護単位の割り当て説明図、第1
0図は第8図の主記憶キー制御装置における256にキ
ー記憶装置および64に74にキー記憶装置の構成説明
図、第11図は本発明の主記憶キー制御装置の第4実施
例のブロック図、第12図は第1図の主記憶キー制御装
置に対応する仮想計算機の主記憶の実計算機の主記憶へ
の割り当て説明図、第13図は仮想計算機の主記憶参照
アドレスを実計算機の主記憶参照アドレスに変換する作
動の説明図、第14図は第11図の主記憶キー制御装置
におけるキー記憶先頭アドレステーブルの構成説明図、
第15図は第11図の主記憶キー制御装置におけるキー
記憶先頭アドレステーブルにデータをセットする命令の
説明図である。 (符号の説明) 1・・・主記憶参照アドレス。 1−1・・・主記憶参照アドレス拡張部2・・・キー記
憶装置。 2−1・・・4にキー記憶装置。 2−2・・64にキー記憶装置。 2−3・・・64 K/4 Kキー記憶装置2−4・・
・256にキー記憶装置。 327・・・セレクタ。 4.4−1.9,25.26・加算器 5・・・主記憶装置。 6・・・Iフィールドラッチ 7・・・主記憶キー先頭カウンタ 8・4にキー記憶容量レジスタ 10.22.23・・・比較器 11.30・・・第1オペランドレジスタ。 20・・・キー記憶先頭アドレステーブル。 21・・・仮想計算機識別子 24・・・減算器 31・・・第2オペランドレジスタ 32・・キー記憶先頭アドレスカウンタ33.34・・
カウンタ制御部。 40・・・シフタ。

Claims (1)

  1. 【特許請求の範囲】 1、サイズの最も大きい記憶保護単位のキー記憶装置と
    、それよりサイズの小さい記憶保護単位のキー記憶装置
    と、主記憶キー参照手段とを備え、 前記各キー記憶装置は、そのエントリに、 自サイズの記憶保護単位についての主記憶キーを記憶す
    るか又は自サイズより小さい記憶保護単位のキー記憶装
    置の対応するエントリ群の先頭を示す値を記憶すると共
    に、自サイズより小さい記憶保護単位のキー記憶装置が
    存在するときは前記主記憶キーまたは前記値のいずれを
    記憶しているかの情報を記憶し、前記主記憶キー参照手
    段は、主記憶参照ア ドレスにより、サイズの最も大きい記憶保護単位のキー
    記憶装置の前記情報を調べて、主記憶キーが記憶されて
    いるならその主記憶キーを出力し、自サイズより小さい
    記憶保護単位のキー記憶装置の対応するエントリ群の先
    頭を示す値が記憶されているならその値と主記憶参照ア
    ドレスとにより対応するエントリをたどって主記憶キー
    に到達し、その主記憶キーを出力する ことを特徴とする主記憶キー制御装置。 2、キー記憶装置に対して、主記憶キー又は他のキー記
    憶装置の対応するエントリ群の先頭を示す値のいずれか
    と、いずれを記憶しているかの情報とを設定するキー記
    憶装置設定手段をさらに有する請求項1の主記憶キー制
    御装置。 3、実計算機の主記憶装置を複数個の領域に分割し、各
    領域を仮想計算機の主記憶装置として割り当て、複数の
    仮想計算機が同時に走行可能な仮想計算機システムにお
    いて、 キー記憶装置と、キーアドレス変換テーブ ルと、主記憶キー参照手段とを備え、 前記キー記憶手段は、各仮想計算機の主記 憶装置をサイズの異なる記憶保護単位毎の複数領域に分
    割したときの各領域の各主記憶キーを記憶し、 前記キーアドレス変換テーブルは、複数の 仮想計算機の各々を識別する情報と、各仮想計算機の主
    記憶装置内におけるサイズの異なる記憶保護単位毎の各
    領域の容量と、前記各領域の主記憶キーを記憶したキー
    記憶装置のエントリ群の先頭を示す値とを記憶し、 前記主記憶キー参照手段は、仮想計算機を 識別する情報と主記憶参照アドレスとから前記キーアド
    レス変換テーブルを参照して、対応する記憶保護単位の
    領域の容量とキー記憶装置のエントリ群の先頭を示す値
    とを取り出すと共に、それらと前記主記憶参照アドレス
    とからキー記憶装置参照アドレスを生成し、そのキー記
    憶装置参照アドレスにより前記キー記憶装置から主記憶
    キーを取り出し、その主記憶キーを出力する ことを特徴とする主記憶キー制御装置。 4、キーアドレス変換テーブルに対して、複数の仮想計
    算機の各々を識別する情報と、各仮想計算機の主記憶領
    域内におけるサイズの異なる記憶保護単位毎の各領域の
    容量と、前記各領域の主記憶キーを記憶したキー記憶装
    置のエントリ群の先頭を示す値とを設定するキーアドレ
    ス変換テーブル設定手段をさらに有する請求項3の主記
    憶キー制御装置。
JP15224390A 1990-06-11 1990-06-11 主記憶キー制御装置 Pending JPH0444143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15224390A JPH0444143A (ja) 1990-06-11 1990-06-11 主記憶キー制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15224390A JPH0444143A (ja) 1990-06-11 1990-06-11 主記憶キー制御装置

Publications (1)

Publication Number Publication Date
JPH0444143A true JPH0444143A (ja) 1992-02-13

Family

ID=15536223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15224390A Pending JPH0444143A (ja) 1990-06-11 1990-06-11 主記憶キー制御装置

Country Status (1)

Country Link
JP (1) JPH0444143A (ja)

Similar Documents

Publication Publication Date Title
EP0208428B1 (en) Direct input/output in a virtual memory system
JP4268332B2 (ja) 仮想アドレスからページ・テーブル・インデックスを計算する方法および装置
JP2960415B2 (ja) 記憶保護方法および装置
US5481688A (en) Information processing system having an address translation table loaded with main/expanded memory presence bits
EP0044924B1 (en) Physical address developing unit and method
US4079453A (en) Method and apparatus to test address formulation in an advanced computer system
GB2239333A (en) Type management and control in an object-oriented memory protection mechanism
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JP2005509946A (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
JPH08212136A (ja) 仮想メモリ変換処理を効率的に共有する方法及び装置
JPH03126144A (ja) 仮想アドレス式情報処理システムにおけるメモリの使用方法及びこの方法を実施するための装置
US7269825B1 (en) Method and system for relative address translation
JPS6376034A (ja) 多重アドレス空間制御方式
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JPH05210593A (ja) マイクロプロセッサのためのメモリ区分化装置およびセグメント記述子をセグメント・レジスタへロードする方法
US5319761A (en) Directory look-aside table for a virtual storage system including means for minimizing synonym entries
JPH07281948A (ja) メモリ制御装置
KR19990037571A (ko) 단일 주기 내에 간접 어드레싱 모드 어드레스를 출력하는 데이터 포인터 및 그 제공방법
US5479631A (en) System for designating real main storage addresses in instructions while dynamic address translation is on
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
JPH0444143A (ja) 主記憶キー制御装置
JPS5844263B2 (ja) 記憶制御回路
JPH0192851A (ja) アドレス空間切替装置
JPS60134937A (ja) アドレス拡張装置
JPH08202646A (ja) I/oコントローラ