JPH0262645A - 記憶保護方式 - Google Patents
記憶保護方式Info
- Publication number
- JPH0262645A JPH0262645A JP21585388A JP21585388A JPH0262645A JP H0262645 A JPH0262645 A JP H0262645A JP 21585388 A JP21585388 A JP 21585388A JP 21585388 A JP21585388 A JP 21585388A JP H0262645 A JPH0262645 A JP H0262645A
- Authority
- JP
- Japan
- Prior art keywords
- protection
- address
- page
- memory
- block
- 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
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000006378 damage Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
Landscapes
- Storage Device Security (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、記憶保護方式に関し、特に、データ処理シス
テムにおけるメモリ上のデータを保護する記憶保護方式
に関するものである。
テムにおけるメモリ上のデータを保護する記憶保護方式
に関するものである。
従来、データ処理システムにおいて、主記憶装置に対す
る不正な書込み、不正読出し、主記憶装置の内容の破壊
などを防止して、メモリ上のデータを保護するために記
憶保護が行われる。このような記憶保護方式の一例とし
て、主記憶装置上のデータに対して、メモリアクセスの
単位であるページ(4K B yte)単位に記憶保護
を行うページプロテクション(Page Protec
tion)がある、このページプロテクションでは、ペ
ージテーブルにページプロテクションビットを持ち、こ
のページプロテクションビットが1”の時、対応する仮
想空間のページに対する書込みを禁止する。すなわち、
ストアしようとするページのページプロテクションビッ
トが11”の時には、ストアリクエストは抑止されて、
記憶保護例外の処理を行う。
る不正な書込み、不正読出し、主記憶装置の内容の破壊
などを防止して、メモリ上のデータを保護するために記
憶保護が行われる。このような記憶保護方式の一例とし
て、主記憶装置上のデータに対して、メモリアクセスの
単位であるページ(4K B yte)単位に記憶保護
を行うページプロテクション(Page Protec
tion)がある、このページプロテクションでは、ペ
ージテーブルにページプロテクションビットを持ち、こ
のページプロテクションビットが1”の時、対応する仮
想空間のページに対する書込みを禁止する。すなわち、
ストアしようとするページのページプロテクションビッ
トが11”の時には、ストアリクエストは抑止されて、
記憶保護例外の処理を行う。
また、記憶保護方式の他の一例として、低位アドレス保
護(Low Address Protection)
がある、この低位アドレス保護では、論理アドレスのO
〜511番地までの512Bの固定記憶領域に対する記
憶保護である。低位アドレス保護はページプロテクショ
ンに比較して、記憶保護の単位が512Bと小さいが、
固定アドレスによる記憶領域の記憶保護となっている。
護(Low Address Protection)
がある、この低位アドレス保護では、論理アドレスのO
〜511番地までの512Bの固定記憶領域に対する記
憶保護である。低位アドレス保護はページプロテクショ
ンに比較して、記憶保護の単位が512Bと小さいが、
固定アドレスによる記憶領域の記憶保護となっている。
このようなページプロテクション、低位アドレス保護に
関しては、rアイ ビー エム システム/370
エクステンデッド アーキテクチャ プリンシプルズ
オブ オペレーション(SA22−7085−1)、1
987年1月、 3−10頁〜3−11頁[IBM S
ystem/370 Ex’tended Archi
tecturePrinciples of 0per
ation (SA22−7085−1) 、1987
Jan 、 + pp3−10−3−111に記載され
ている。
関しては、rアイ ビー エム システム/370
エクステンデッド アーキテクチャ プリンシプルズ
オブ オペレーション(SA22−7085−1)、1
987年1月、 3−10頁〜3−11頁[IBM S
ystem/370 Ex’tended Archi
tecturePrinciples of 0per
ation (SA22−7085−1) 、1987
Jan 、 + pp3−10−3−111に記載され
ている。
ところで、ベーンプロテクションは、データ処理システ
ムにおける記憶保護として有効なものであるが、記憶保
護が4キロバイト(4KB)’のページ単位でしか行な
えない。
ムにおける記憶保護として有効なものであるが、記憶保
護が4キロバイト(4KB)’のページ単位でしか行な
えない。
データ処理システムの運用において5プログラム処理が
実行されている間に、グローバルブロックと呼ばれる6
4バイト程度の重要領域が知らない間に破壊され、破壊
が判明した時には破壊の原因が解からなくなっていると
いうソフトエラーが発生することがある。このようなソ
フトエラーの原因の解明のため、ソフトウェアにより記
憶保護する単位を、ページ単位の4KBよりも小さい単
位1例えば64B、32Bといった小さな記憶領域(制
御ブロックデータに対応する範囲の記憶領域など)の単
位で指定して、記憶保護が行えるようにした記憶保護方
式が所望される。
実行されている間に、グローバルブロックと呼ばれる6
4バイト程度の重要領域が知らない間に破壊され、破壊
が判明した時には破壊の原因が解からなくなっていると
いうソフトエラーが発生することがある。このようなソ
フトエラーの原因の解明のため、ソフトウェアにより記
憶保護する単位を、ページ単位の4KBよりも小さい単
位1例えば64B、32Bといった小さな記憶領域(制
御ブロックデータに対応する範囲の記憶領域など)の単
位で指定して、記憶保護が行えるようにした記憶保護方
式が所望される。
しかしながら、上述のように、ページプロテクションで
は記憶保護を行う単位がページ単位の4KB単位で行わ
れるものであり、4KB単位の範囲の記憶保護は、記憶
保護範囲が大きすぎて、ソフトウェア上において細かく
記憶保護の制御を行うには、使い勝手が悪いという問題
点があった。
は記憶保護を行う単位がページ単位の4KB単位で行わ
れるものであり、4KB単位の範囲の記憶保護は、記憶
保護範囲が大きすぎて、ソフトウェア上において細かく
記憶保護の制御を行うには、使い勝手が悪いという問題
点があった。
また、低位アドレス保護では、ページプロテクションに
比べて記憶保護範囲が512Bと小さいが、この低位ア
ドレス保護は、論理アドレスの0〜511番地までの固
定的な記憶領域の書込み保護であり、記憶保護がなされ
るのは、アドレスの0〜511番地に限られており、任
意のアドレスのデータを記憶保護するものでは無く、こ
れもソフトウェア上において細かく記憶保護の制御を行
うには、使い勝手が悪いという問題点があった。
比べて記憶保護範囲が512Bと小さいが、この低位ア
ドレス保護は、論理アドレスの0〜511番地までの固
定的な記憶領域の書込み保護であり、記憶保護がなされ
るのは、アドレスの0〜511番地に限られており、任
意のアドレスのデータを記憶保護するものでは無く、こ
れもソフトウェア上において細かく記憶保護の制御を行
うには、使い勝手が悪いという問題点があった。
本発明は、上記問題点を解決するためになされたもので
ある。
ある。
本発明の目的は、仮想空間のページよりも小さい領域に
対して記憶保護が行える記憶保護方式を提供することに
ある。
対して記憶保護が行える記憶保護方式を提供することに
ある。
本発明の前記ならびにその他の目的と新規な特徴は1本
明細書の記述及び添付図面によって明らかになるであろ
う。
明細書の記述及び添付図面によって明らかになるであろ
う。
上記目的を達成するため、本発明においては、ページテ
ーブルのエントリデータによりアドレス変換を行い、メ
モリアクセスを仮想空間のページ単位に行うデータ処理
システムにおいて、仮想空間のページをn個(nは自然
数)のブロックに分割したブロック単位に記憶保護を指
示するデータを格納するブロック記憶保護フィールドを
ページテーブルのエントリアドレスデータ内にn個のブ
ロックに対応して設け、ブロック単位に記憶保護を行う
ことを特徴とする。
ーブルのエントリデータによりアドレス変換を行い、メ
モリアクセスを仮想空間のページ単位に行うデータ処理
システムにおいて、仮想空間のページをn個(nは自然
数)のブロックに分割したブロック単位に記憶保護を指
示するデータを格納するブロック記憶保護フィールドを
ページテーブルのエントリアドレスデータ内にn個のブ
ロックに対応して設け、ブロック単位に記憶保護を行う
ことを特徴とする。
前記手段によれば、仮想空間のページをn個のブロック
に分割したブロック単位に記憶保護を指示するデータを
格納するブロック記憶保護フィールドがページテーブル
のエントリアドレスデータ内にn個のブロックに対応し
て設けられる。データ処理システムは、仮想アドレスか
らページテーブルのエントリデータにより実アドレスに
アドレス変換を行い、メモリアクセスを仮想空間のペー
ジ単位に行う。このときのアドレス変換は、ブロック記
憶保護フィールドのデータを含んだページテーブルのエ
ントリアドレスデータのコピーを有するアドレス変換バ
ッファにより行う。つまり、仮想アドレスのバイトイン
デックスの一部をデコードすることにより、アドレス変
換バッファに格納しているページテーブルエントリデー
タを読出して、アクセスするブロックを認識して、メモ
リアクセスを行う、このとき、ページテーブルエントリ
データの記憶保護フィールドに格納された対応するブロ
ック保護ビットとアクセスの種類(ストア・リクエスト
、命令フェッチ、オペランドフェッチなど)から、記憶
保護の指定で許可されたアクセスか否かを判定し、許可
されたアクセスでない場合には該リクエストを抑止して
、記憶保護例外を発生させ、プログラム割込みによりシ
ステム制御プログラムに報告する。
に分割したブロック単位に記憶保護を指示するデータを
格納するブロック記憶保護フィールドがページテーブル
のエントリアドレスデータ内にn個のブロックに対応し
て設けられる。データ処理システムは、仮想アドレスか
らページテーブルのエントリデータにより実アドレスに
アドレス変換を行い、メモリアクセスを仮想空間のペー
ジ単位に行う。このときのアドレス変換は、ブロック記
憶保護フィールドのデータを含んだページテーブルのエ
ントリアドレスデータのコピーを有するアドレス変換バ
ッファにより行う。つまり、仮想アドレスのバイトイン
デックスの一部をデコードすることにより、アドレス変
換バッファに格納しているページテーブルエントリデー
タを読出して、アクセスするブロックを認識して、メモ
リアクセスを行う、このとき、ページテーブルエントリ
データの記憶保護フィールドに格納された対応するブロ
ック保護ビットとアクセスの種類(ストア・リクエスト
、命令フェッチ、オペランドフェッチなど)から、記憶
保護の指定で許可されたアクセスか否かを判定し、許可
されたアクセスでない場合には該リクエストを抑止して
、記憶保護例外を発生させ、プログラム割込みによりシ
ステム制御プログラムに報告する。
このように、ページテーブルエントリ内のブロック記憶
保護フィールドは、アドレス変換過程で読み出され、ア
ドレス変換バッファに書き込まれる。メモリリクエスト
時、仮想アドレスを実アドレスに変換するため、アドレ
ス変換バッファが参照される。この時、アドレス変換バ
ッファに書込まれているブロック記憶保護フィールドが
読み出される。アドレス変換では、仮想アドレスのバイ
トインデックス部がデコードされて、仮想アドレスのア
クセスアドレスがページ内のいずれのブロックをアクセ
スしているかが解読され、更にアドレス変換バッファの
ブロック記憶フィールドの対応するブロックの記憶保護
ビットの値により、メモリアクセスアドレスのメモリリ
クエストが許可されているか否かが判定される0判定の
結果、許可されたメモリリクエストのアクセスでない場
合には該リクエストを抑止して、記憶保護例外を発生さ
せ、プログラム割込みによりシステム制御プログラムに
報告する。
保護フィールドは、アドレス変換過程で読み出され、ア
ドレス変換バッファに書き込まれる。メモリリクエスト
時、仮想アドレスを実アドレスに変換するため、アドレ
ス変換バッファが参照される。この時、アドレス変換バ
ッファに書込まれているブロック記憶保護フィールドが
読み出される。アドレス変換では、仮想アドレスのバイ
トインデックス部がデコードされて、仮想アドレスのア
クセスアドレスがページ内のいずれのブロックをアクセ
スしているかが解読され、更にアドレス変換バッファの
ブロック記憶フィールドの対応するブロックの記憶保護
ビットの値により、メモリアクセスアドレスのメモリリ
クエストが許可されているか否かが判定される0判定の
結果、許可されたメモリリクエストのアクセスでない場
合には該リクエストを抑止して、記憶保護例外を発生さ
せ、プログラム割込みによりシステム制御プログラムに
報告する。
これにより、ページを更に小さい単位のブロックに分割
し、各ブロック対応に記憶保護の制御を行うことができ
る。
し、各ブロック対応に記憶保護の制御を行うことができ
る。
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
る。
第1図は、本発明の一実施例にかかる記憶保護方式を一
態様で実施するデータ処理システムのアドレス変換処理
部の要部の構成を示すブロック図であり、第2図は、メ
モリ空間の1ページを8個のブロック単位に分割したペ
ージとブロックの関係を示す図であり、また、第3図は
、ページテーブルエントリのフォーマットを示す図であ
る。
態様で実施するデータ処理システムのアドレス変換処理
部の要部の構成を示すブロック図であり、第2図は、メ
モリ空間の1ページを8個のブロック単位に分割したペ
ージとブロックの関係を示す図であり、また、第3図は
、ページテーブルエントリのフォーマットを示す図であ
る。
第1図、第2図、および第3図を参照して1本実施例に
かかる記憶保護方式を説明する。第1図において、1は
仮想アドレスレジスタ、2はアドレス変換バッファ(T
LB)である。3はデコーダ、4は一致回路、5,6,
7.8はANDゲート、9はORゲート、10は記憶保
護例外処理回路である。第2図に示すように、仮想アド
レス空間は4キロバイト(4KB)毎の各ページ21.
22の単位に分割されて、仮想アドレスから実アドレス
へのアドレス変換が行われる。各ページは、更に8個の
ブロック21a、21b、 ・・・、21hに分割さ
れて、このブロック単位に記憶保護が行われるものとす
る。すなわち、各々のページサイズを4KBとし、この
ページをさらに512Bの大きさの8個の単位に分割し
、この単位をブロックと呼び、1ページの各々のブロッ
クをBLKO−BLK7とする。このように分割したブ
ロック単位に記憶保護を行う。
かかる記憶保護方式を説明する。第1図において、1は
仮想アドレスレジスタ、2はアドレス変換バッファ(T
LB)である。3はデコーダ、4は一致回路、5,6,
7.8はANDゲート、9はORゲート、10は記憶保
護例外処理回路である。第2図に示すように、仮想アド
レス空間は4キロバイト(4KB)毎の各ページ21.
22の単位に分割されて、仮想アドレスから実アドレス
へのアドレス変換が行われる。各ページは、更に8個の
ブロック21a、21b、 ・・・、21hに分割さ
れて、このブロック単位に記憶保護が行われるものとす
る。すなわち、各々のページサイズを4KBとし、この
ページをさらに512Bの大きさの8個の単位に分割し
、この単位をブロックと呼び、1ページの各々のブロッ
クをBLKO−BLK7とする。このように分割したブ
ロック単位に記憶保護を行う。
第3図に示すように、ページテーブルエントリ30のデ
ータ構成は、ビット0〜23までのフォーマットは、従
来におけるページテーブルエントリと同様な構成である
。すなわち、ビット1〜19はページフレームアドレス
(PFRA)となっている。ビット21はインバリッド
ビット(1)であり、また、ビット22はページプロテ
クションビット(P)である。ビット24〜31は記憶
保護フィールドとして、記憶保護を指示するフラグビッ
トのブロックプロチク、ジョンビット(BO〜B7)が
設定される。このブロックプロテクションビットBO−
87のフラグは、第2図に示したように、各々のページ
を8個に分割したブロックBLKO−BLK7にそれぞ
れ対応している。対応する各ブロックに対して書込みを
禁止したい場合にブロックプロテクションビットを“1
”にする。例えば、あるページのブロックBLKI、B
LK4.BLK6に破壊されては困るデータが格納され
ている場合には、対応するページテーブルエントリのブ
ロックプロテクションビットBO〜B7を“01001
010”と設定しておく。また、ページ全体の書込みを
禁止したい場合は、ページプロテクションビットPを“
1″とする。これはページプロテクションによる記憶保
護であり。
ータ構成は、ビット0〜23までのフォーマットは、従
来におけるページテーブルエントリと同様な構成である
。すなわち、ビット1〜19はページフレームアドレス
(PFRA)となっている。ビット21はインバリッド
ビット(1)であり、また、ビット22はページプロテ
クションビット(P)である。ビット24〜31は記憶
保護フィールドとして、記憶保護を指示するフラグビッ
トのブロックプロチク、ジョンビット(BO〜B7)が
設定される。このブロックプロテクションビットBO−
87のフラグは、第2図に示したように、各々のページ
を8個に分割したブロックBLKO−BLK7にそれぞ
れ対応している。対応する各ブロックに対して書込みを
禁止したい場合にブロックプロテクションビットを“1
”にする。例えば、あるページのブロックBLKI、B
LK4.BLK6に破壊されては困るデータが格納され
ている場合には、対応するページテーブルエントリのブ
ロックプロテクションビットBO〜B7を“01001
010”と設定しておく。また、ページ全体の書込みを
禁止したい場合は、ページプロテクションビットPを“
1″とする。これはページプロテクションによる記憶保
護であり。
ページ単位で記憶保護する制御フラグである。
次に、第1図を参照して、このページテーブルエントリ
内のブロックブロテクシ旦ンビットB0〜B7によって
、記憶保護例外が検出される動作例を説明する。メモリ
アクセスを行う仮想アドレスは仮想アドレスレジスタ1
にセットされる。仮想アドレスは、セグメントインデッ
クスSX、ページインデックスPx、バイトインデック
スBXのデータに分割されて、各々のデータにより、記
憶保護例外の検出の判定処理が行われる。仮想アドレス
レジスタ1に仮想アドレスVRがセットされると、仮想
アドレスレジスタ1のセグメントインデックスフィール
ド1aのデータをアドレスとして、アドレス変換バッフ
ァ2をアクセスする。
内のブロックブロテクシ旦ンビットB0〜B7によって
、記憶保護例外が検出される動作例を説明する。メモリ
アクセスを行う仮想アドレスは仮想アドレスレジスタ1
にセットされる。仮想アドレスは、セグメントインデッ
クスSX、ページインデックスPx、バイトインデック
スBXのデータに分割されて、各々のデータにより、記
憶保護例外の検出の判定処理が行われる。仮想アドレス
レジスタ1に仮想アドレスVRがセットされると、仮想
アドレスレジスタ1のセグメントインデックスフィール
ド1aのデータをアドレスとして、アドレス変換バッフ
ァ2をアクセスする。
アドレス変換バッファ2から読み出されたエントリ中の
VビットがR1′1であり、かつ、仮想アドレスレジス
タ1のページインデックスフィールド1bのページイン
デックスPXとアドレス変換バッファ2から読み出され
たページインデックスPXの一致が一致回路4で検出さ
れた時、ANDゲート7からTLBヒツトの信号が出力
される。すなわち、このTLBヒツトの信号がANDゲ
ート7から出力されたとき、仮想アドレスレジスタ1に
セットした仮想アドレスVAに対応するページフレーム
アドレスPFRAがアドレス変換バッファ2に登録され
ていると判定されて、アドレス変換バッファがTLBヒ
ツトとなる。アドレス変換バッファがTLBヒツトしな
い場合には、アドレス変換過程が起動され、セグメント
テーブルからページテーブルを参照し、ページテーブル
に格納されているページテーブルエントリ内のページフ
レームアドレスPFRAを求める。このページフレーム
アドレスPFRAをアドレス変換バッファ2に仮想アド
レスレジスタ1のページインデックスフィールド1bの
ページインデックスPxと共に登録する。この時、ペー
ジテーブルエントリのページプロテクションビットP、
ブロックプロテクションピットBO〜B7もアドレス変
換バッファに登録される。ここでは、アドレス変換バッ
ファ2が拡張されて、ブロックプロテクションビットB
O−B7を格納するブロック保護フィールド2cが追加
されており、アドレス変換バッファにページフレームア
ドレスPFRA、ページプロテクションビットPが登録
される時、ブロック保護フィールド2cにページテーブ
ルエントリ30のブロックプロテクションビットBO−
87の内容が格納される。
VビットがR1′1であり、かつ、仮想アドレスレジス
タ1のページインデックスフィールド1bのページイン
デックスPXとアドレス変換バッファ2から読み出され
たページインデックスPXの一致が一致回路4で検出さ
れた時、ANDゲート7からTLBヒツトの信号が出力
される。すなわち、このTLBヒツトの信号がANDゲ
ート7から出力されたとき、仮想アドレスレジスタ1に
セットした仮想アドレスVAに対応するページフレーム
アドレスPFRAがアドレス変換バッファ2に登録され
ていると判定されて、アドレス変換バッファがTLBヒ
ツトとなる。アドレス変換バッファがTLBヒツトしな
い場合には、アドレス変換過程が起動され、セグメント
テーブルからページテーブルを参照し、ページテーブル
に格納されているページテーブルエントリ内のページフ
レームアドレスPFRAを求める。このページフレーム
アドレスPFRAをアドレス変換バッファ2に仮想アド
レスレジスタ1のページインデックスフィールド1bの
ページインデックスPxと共に登録する。この時、ペー
ジテーブルエントリのページプロテクションビットP、
ブロックプロテクションピットBO〜B7もアドレス変
換バッファに登録される。ここでは、アドレス変換バッ
ファ2が拡張されて、ブロックプロテクションビットB
O−B7を格納するブロック保護フィールド2cが追加
されており、アドレス変換バッファにページフレームア
ドレスPFRA、ページプロテクションビットPが登録
される時、ブロック保護フィールド2cにページテーブ
ルエントリ30のブロックプロテクションビットBO−
87の内容が格納される。
アドレス変換バッファ2のページプロテクションビット
Pは、ANDゲート5によりストアリクエスト信号と共
に論理積(AND)がとられ、ORゲート9に入力され
る。また、アドレス変換バッファ2のブロックプロテク
ションビットBO〜B7は、ストアリクエスト信号と、
仮想アドレスレジスタ1のバイトインデックスフィール
ド1cのデータの上位3ビツトデータ(仮想アドレスV
Rのビット20〜22のデータ)をデコーダ3でデコー
ドした各信号出力と共に、各々のビット対応に各AND
ゲート6で論理積をとり、各ANDゲート6の出力がO
Rゲート9に入力される。
Pは、ANDゲート5によりストアリクエスト信号と共
に論理積(AND)がとられ、ORゲート9に入力され
る。また、アドレス変換バッファ2のブロックプロテク
ションビットBO〜B7は、ストアリクエスト信号と、
仮想アドレスレジスタ1のバイトインデックスフィール
ド1cのデータの上位3ビツトデータ(仮想アドレスV
Rのビット20〜22のデータ)をデコーダ3でデコー
ドした各信号出力と共に、各々のビット対応に各AND
ゲート6で論理積をとり、各ANDゲート6の出力がO
Rゲート9に入力される。
ブロックプロテクションビットBO〜B7に、例えば、
“01001010 ”が登録されていた場合を例にし
て説明を続ける。メモリアクセスするアドレスが、第2
図に示すように、ページ単位に分割し更にブロック単位
に分割した場合のブロックBLK4内のアドレスであっ
たとすると、メモリアクセスの仮想アドレスVRのビッ
ト20〜22が“100 ”となっている。このビット
20〜22はデコーダ8によりデコードされて、デコー
ダ3からは第4番目の出力信号だけが゛1″となる出力
が得られ、ANDゲート6に供給される。
“01001010 ”が登録されていた場合を例にし
て説明を続ける。メモリアクセスするアドレスが、第2
図に示すように、ページ単位に分割し更にブロック単位
に分割した場合のブロックBLK4内のアドレスであっ
たとすると、メモリアクセスの仮想アドレスVRのビッ
ト20〜22が“100 ”となっている。このビット
20〜22はデコーダ8によりデコードされて、デコー
ダ3からは第4番目の出力信号だけが゛1″となる出力
が得られ、ANDゲート6に供給される。
このメモリアクセスアドレスに対しては、アドレス変換
バッファ2のブロックプロテクションビットBO〜B7
に”01001010”が登録すしているので、ブロッ
クプロテクションビットB4からの出力の′1″がAN
Dゲート6に加わる。
バッファ2のブロックプロテクションビットBO〜B7
に”01001010”が登録すしているので、ブロッ
クプロテクションビットB4からの出力の′1″がAN
Dゲート6に加わる。
このため、ANDゲート6の4番目のゲート出力が″1
″となる。このゲート出力がORゲート9を経てAND
ゲート8に供給され、ANDゲート8によりTLBヒツ
ト信号と共に論理積がとられる。このANDゲート8の
出力が記憶保護例外の発生信号として、記憶保護例外処
理回路10に供給される。すなわち、メモリアクセスを
行う場合に[アドレス変換バッファがTLBヒツトであ
り、かつ、アクセスしているブロックのブロックプロテ
クションビットが11”であるストアアクセスである」
という条件が成立したことが検出されると、記憶保護例
外処理回路10に記憶保護例外の発生が報告され、記憶
保護例外の処理が行われる。
″となる。このゲート出力がORゲート9を経てAND
ゲート8に供給され、ANDゲート8によりTLBヒツ
ト信号と共に論理積がとられる。このANDゲート8の
出力が記憶保護例外の発生信号として、記憶保護例外処
理回路10に供給される。すなわち、メモリアクセスを
行う場合に[アドレス変換バッファがTLBヒツトであ
り、かつ、アクセスしているブロックのブロックプロテ
クションビットが11”であるストアアクセスである」
という条件が成立したことが検出されると、記憶保護例
外処理回路10に記憶保護例外の発生が報告され、記憶
保護例外の処理が行われる。
これにより、記憶保護例外が発生した該ストアアクセス
は抑止され、記憶保護例外が発生したことをプログラム
割込みを起こすことでシステム制御プログラムに報告す
る。
は抑止され、記憶保護例外が発生したことをプログラム
割込みを起こすことでシステム制御プログラムに報告す
る。
この実施例におり5ては、4KBのページを8分割し、
1ブロツクの単位を512Bとしているが、1ページの
分割数をさらに増やし、更に小さなブロック単位にきめ
細かく記憶保護するようにしてもよい。また、この実施
例の説明では、ブロックに対する書込み保護による記憶
保護のみに限ったが、例えばページテーブルエントリの
ブロックプロテクションビットを1ブロック当り1ビツ
トではなく3ビツトとし、この3ビツトを順に「命令実
行保護ビット」、「書込み保護ビット」、「データ読出
し保護ビット」と意味付けて、それぞれ。
1ブロツクの単位を512Bとしているが、1ページの
分割数をさらに増やし、更に小さなブロック単位にきめ
細かく記憶保護するようにしてもよい。また、この実施
例の説明では、ブロックに対する書込み保護による記憶
保護のみに限ったが、例えばページテーブルエントリの
ブロックプロテクションビットを1ブロック当り1ビツ
トではなく3ビツトとし、この3ビツトを順に「命令実
行保護ビット」、「書込み保護ビット」、「データ読出
し保護ビット」と意味付けて、それぞれ。
命令フェッチ、ストアリクエスト、オペランドフェッチ
のアクセスの種類に対応してブロック単位で記憶保護を
行うようにしても良い。この場合には、アドレス変換バ
ッファのブロックプロテクションビットフィールドもブ
ロック当り3ビツトに拡張し、各ビットを命令フェッチ
リクエスト信号。
のアクセスの種類に対応してブロック単位で記憶保護を
行うようにしても良い。この場合には、アドレス変換バ
ッファのブロックプロテクションビットフィールドもブ
ロック当り3ビツトに拡張し、各ビットを命令フェッチ
リクエスト信号。
ストアリクエスト信号、オペランドフェッチ信号とそれ
ぞれ論理積をとるように変形して、アクセスの種類に応
じた記憶保護を行なうようにする。
ぞれ論理積をとるように変形して、アクセスの種類に応
じた記憶保護を行なうようにする。
以上、説明した本実施例の要点をまとめれば、次のよう
になる。
になる。
(1)仮想空間のページ(アドレス変換を行う単位)を
n個(nは自然数)のブロックに分割し、該ブロック単
位に記憶保護を行う。
n個(nは自然数)のブロックに分割し、該ブロック単
位に記憶保護を行う。
(2)このブロック単位の記憶保護を行うために、ペー
ジテーブルエントリ内にn個のブロックに対応したブロ
ック記憶保護フィールドを設け、該ブロック記憶保護フ
ィールドにブロックプロテクションビットをセットして
、ブロック単位の記憶保護を指示する。
ジテーブルエントリ内にn個のブロックに対応したブロ
ック記憶保護フィールドを設け、該ブロック記憶保護フ
ィールドにブロックプロテクションビットをセットして
、ブロック単位の記憶保護を指示する。
(3)ブロック単位の記憶保護を指示するブロックプロ
テクションビットは、アドレス変換バッファ内に、対応
ページテーブルエントリのデータと対応してそのコピー
が格納される。
テクションビットは、アドレス変換バッファ内に、対応
ページテーブルエントリのデータと対応してそのコピー
が格納される。
(4)アドレス変換バッファを参照して、メモリのアク
セスを行う時に、仮想アドレスのページ内アドレス(バ
イトインデックス)の一部又は全部をデコードすること
により、ページ内のいずれのブロックをアクセスしてい
るかを判定し、アクセスしているブロックに対応するア
ドレス変換バッファ内のブロック記憶保護フィールドの
内容とメモリリクエストの種類とから、記憶保護例外を
検出し、記憶保護されているリクエストは抑止する。
セスを行う時に、仮想アドレスのページ内アドレス(バ
イトインデックス)の一部又は全部をデコードすること
により、ページ内のいずれのブロックをアクセスしてい
るかを判定し、アクセスしているブロックに対応するア
ドレス変換バッファ内のブロック記憶保護フィールドの
内容とメモリリクエストの種類とから、記憶保護例外を
検出し、記憶保護されているリクエストは抑止する。
(5)これにより、ページを更に小さい単位のブロック
に分割し、各ブロック対応に記憶保護の制御を行うこと
ができる。
に分割し、各ブロック対応に記憶保護の制御を行うこと
ができる。
以上、本発明を実施例にもとづき具体的に説明したが、
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
以上、説明したように1本発明によれば、仮想空間のペ
ージより小さい領域に対して、きめ細かく記憶保護がで
きるので、小さい領域の制御ブロックなど重要な情報を
保護することができる。また、保護している領域に対し
禁止されているアクセスが発生すると1発生した時点で
記憶保護例外を発生し、システム制御プログラムに報告
するため、プログラムのどこの部分が禁止されたアクセ
スを行なっているか究明することができ、プログラムの
誤りを見つけることができる。
ージより小さい領域に対して、きめ細かく記憶保護がで
きるので、小さい領域の制御ブロックなど重要な情報を
保護することができる。また、保護している領域に対し
禁止されているアクセスが発生すると1発生した時点で
記憶保護例外を発生し、システム制御プログラムに報告
するため、プログラムのどこの部分が禁止されたアクセ
スを行なっているか究明することができ、プログラムの
誤りを見つけることができる。
第1図は、本発明の一実施例にかかる記憶保護方式を一
態様で実施するデータ処理システムのアドレス変換処理
部の要部の構成を示すブロック図。 第2図は、メモリ空間の1ページを8個のブロック単位
に分割したページとブロックの関係を示す図、 第3図は、ページテーブルエントリのフォーマットを示
す図である。 図中、1・・・仮想アドレスレジスタ、1a・・・セグ
メントインデックスフィールド、1b・・・ページイン
デックスフィールド、IC・・・バイトインデックスフ
ィールド、2・・・アドレス変換バッファ(TLB)、
2c・・・ブロック保護フィールド、3・・・デコーダ
、4・・・−数回路、5,6,7.8・・・ANDゲー
ト、9・・・ORゲート、10・・・記憶保護例外処理
回路、21゜22・・・ページ、21a〜21h・・・
ブロック、30・・・ページテーブルエントリ。
態様で実施するデータ処理システムのアドレス変換処理
部の要部の構成を示すブロック図。 第2図は、メモリ空間の1ページを8個のブロック単位
に分割したページとブロックの関係を示す図、 第3図は、ページテーブルエントリのフォーマットを示
す図である。 図中、1・・・仮想アドレスレジスタ、1a・・・セグ
メントインデックスフィールド、1b・・・ページイン
デックスフィールド、IC・・・バイトインデックスフ
ィールド、2・・・アドレス変換バッファ(TLB)、
2c・・・ブロック保護フィールド、3・・・デコーダ
、4・・・−数回路、5,6,7.8・・・ANDゲー
ト、9・・・ORゲート、10・・・記憶保護例外処理
回路、21゜22・・・ページ、21a〜21h・・・
ブロック、30・・・ページテーブルエントリ。
Claims (1)
- 【特許請求の範囲】 1、ページテーブルのエントリアドレスデータによりア
ドレス変換を行い、メモリアクセスを仮想空間のページ
単位に行うデータ処理システムにおいて、仮想空間のペ
ージをn個(nは自然数)のブロックに分割したブロッ
ク単位に記憶保護を指示するデータを格納するブロック
記憶保護フィールドをページテーブルのエントリアドレ
スデータ内にn個のブロックに対応して設け、ブロック
単位に記憶保護を行うことを特徴とする記憶保護方式。 2、アドレス変換を行うアドレス変換バッファ内に、前
記ページテーブルのエントリアドレスデータ内のブロッ
ク記憶保護フィールドの内容の写しを持つことを特徴と
する前記特許請求の範囲第1項記載の記憶保護方式。 3、アドレス変換バッファを参照してアドレス変換を行
う時、仮想アドレスのページ内アドレスの一部又は全部
をデコードすることにより、ページ内のいずれのブロッ
クをアクセスしているかを判定し、アクセスしているブ
ロックに対応するアドレス変換バッファ内のブロック記
憶保護フィールドの内容と、メモリリクエストの種類と
から、記憶保護例外を検出し、リクエストを抑止するこ
とを特徴とする前記特許請求の範囲第1項記載の記憶保
護方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21585388A JPH0262645A (ja) | 1988-08-29 | 1988-08-29 | 記憶保護方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21585388A JPH0262645A (ja) | 1988-08-29 | 1988-08-29 | 記憶保護方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0262645A true JPH0262645A (ja) | 1990-03-02 |
Family
ID=16679361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21585388A Pending JPH0262645A (ja) | 1988-08-29 | 1988-08-29 | 記憶保護方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0262645A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0425771A2 (en) * | 1989-11-03 | 1991-05-08 | International Business Machines Corporation | An efficient mechanism for providing fine grain storage protection intervals |
JPH04155577A (ja) * | 1990-10-19 | 1992-05-28 | Fujitsu Ltd | ベクトル処理システムの記憶保護制御方式 |
JP2020505685A (ja) * | 2017-01-19 | 2020-02-20 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 保護ストレージ機能の動作を調整する制御の読み込みおよび格納 |
-
1988
- 1988-08-29 JP JP21585388A patent/JPH0262645A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0425771A2 (en) * | 1989-11-03 | 1991-05-08 | International Business Machines Corporation | An efficient mechanism for providing fine grain storage protection intervals |
EP0425771A3 (en) * | 1989-11-03 | 1992-09-02 | International Business Machines Corporation | An efficient mechanism for providing fine grain storage protection intervals |
JPH04155577A (ja) * | 1990-10-19 | 1992-05-28 | Fujitsu Ltd | ベクトル処理システムの記憶保護制御方式 |
JP2020505685A (ja) * | 2017-01-19 | 2020-02-20 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 保護ストレージ機能の動作を調整する制御の読み込みおよび格納 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5619671A (en) | Method and apparatus for providing token controlled access to protected pages of memory | |
US4777588A (en) | General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance | |
US5075848A (en) | Object lifetime control in an object-oriented memory protection mechanism | |
EP0208428B1 (en) | Direct input/output in a virtual memory system | |
US6823433B1 (en) | Memory management system and method for providing physical address based memory access security | |
JP4295111B2 (ja) | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 | |
GB2239333A (en) | Type management and control in an object-oriented memory protection mechanism | |
JPS58102381A (ja) | バツフアメモリ | |
JPH0628262A (ja) | ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法 | |
JPH0193847A (ja) | アドレス拡張方式 | |
JPS6248258B2 (ja) | ||
US4731740A (en) | Translation lookaside buffer control system in computer or virtual memory control scheme | |
KR100995146B1 (ko) | 개선된 메모리 엑세스 보안을 제공하는 메모리에 디바이스엑세스를 제어하기 위한 시스템 및 방법 | |
JP2005528690A (ja) | セキュア実行モード例外 | |
US6519684B1 (en) | Low overhead method for selecting and updating an entry in a cache memory | |
JPH0262645A (ja) | 記憶保護方式 | |
JP3476402B2 (ja) | アドレス変換装置及びアドレス変換方法 | |
JP3030037B2 (ja) | 主記憶装置 | |
JPH02101552A (ja) | アドレス変換バッファ処理方式 | |
JP2796162B2 (ja) | 命令処理方法 | |
JPS6220044A (ja) | チエンジレコ−デイング制御方式 | |
JP2635310B2 (ja) | アドレス変換装置 | |
JPS63752A (ja) | メモリ保護方式 | |
JPS589452B2 (ja) | フア−ムウエアホウシキ | |
JPS60241135A (ja) | アドレス生成方式 |