JP2001056783A - プログラム単位メモリ属性管理方式 - Google Patents

プログラム単位メモリ属性管理方式

Info

Publication number
JP2001056783A
JP2001056783A JP11231859A JP23185999A JP2001056783A JP 2001056783 A JP2001056783 A JP 2001056783A JP 11231859 A JP11231859 A JP 11231859A JP 23185999 A JP23185999 A JP 23185999A JP 2001056783 A JP2001056783 A JP 2001056783A
Authority
JP
Japan
Prior art keywords
program
memory
attribute
address
access
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
JP11231859A
Other languages
English (en)
Other versions
JP3607540B2 (ja
Inventor
Kenichi Yaku
健一 夜久
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.)
NEC Software Kobe Ltd
Original Assignee
NEC Software Kobe 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 NEC Software Kobe Ltd filed Critical NEC Software Kobe Ltd
Priority to JP23185999A priority Critical patent/JP3607540B2/ja
Publication of JP2001056783A publication Critical patent/JP2001056783A/ja
Application granted granted Critical
Publication of JP3607540B2 publication Critical patent/JP3607540B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 非特権モードプログラムが特権モードプログ
ラムを介し他のプログラム領域を破壊できる等の欠点を
改善する。 【解決手段】 プログラムのロード、実行、停止、終了
を制御監視するプログラム制御部12とプログラムにメ
モリページを割付け、その属性(E、R、W、許可)を
生成し属性表としてプログラム毎に属性領域18に登録
するプログラム領域生成部11と、実行中のプログラム
の属性表の写しをメモリ制御手段に保持しプログラムの
メモリアクセスをプログラム単位でチェックし許可抑制
するアクセスチェック機構9とを有す。又プログラムが
自分のページをアドレス、属性を指定し呼出先に貸出す
命令手段、貸出をチェック後第2メモリ制御手段に設定
し他プログラムのそのページアクセスを許可する手段を
有す。又PT、TLBの延長上にプログラムID、属性
を保持しプログラム毎のアクセスチェックを行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置のメモ
リ属性管理方式に関する。
【0002】
【従来の技術】従来より、情報処理装置のメモリ属性管
理方式としては、メモリを管理単位であるページに分割
し、プログラムの指定する仮想メモリ空間を管理単位で
ページにアサインするページテーブル(以下PTと省
略)の各ページ毎にそのページの保護レベルとしてシス
テムエリア/読出可ユーザエリア/読出し書込み可ユー
ザエリアのいずれかを設定しておき、プログラムの実行
レベル値(メモリアクセス権レベル値)を特権モード
(レベル0〜2)と非特権モード(レベル3)としメモ
リアクセスの都度アクセス対象ページの上記保護レベル
を得、実行レベルが特権モードであれば無条件にアクセ
ス可とし、非特権モードではアクセスの種類(読み出
し、書き込み)に応じユーザエリアのみアクセス可とす
る方式が広く用いられている。即ち、非特権モードのあ
るプログラムが特権モード範囲プログラムにアサインさ
れたページや他の非特権モードプログラムにアサインさ
れたページについてアクセスすることを禁止し、メモリ
の保護が行われている。
【0003】
【発明が解決しようとする課題】しかし、この従来技術
は以下の問題点がある。特権モードでは、他のプログラ
ムが使用しているメモリ領域を使用することが可能であ
る。非特権モードのプログラムが特権モードのプログラ
ムを呼び出した場合、特権モードのプログラムは他のプ
ログラムのメモリ領域にアクセスすることが可能である
ため、他のプログラム領域を破壊することが可能とな
る。
【0004】図13を参照しこの一例を示す。メモリに
は上位番地よりスーパーバイザ、I/O処理等のシステ
ムプログラム、ユーザレベルのプログラムA、Aのワー
クエリア、Aの読み込みバッファ、ユーザレベルのプロ
グラムB、Bのデータエリアが配置されている。スーパ
ーバイザ、システムプログラム、ユーザレベルのプログ
ラムのそれぞれの実行リングレベル(RL)は0、1、
3である。従ってプログラムAはスーパーバイザ、シス
テムプログラムにアサインされたページにはアクセス出
来ない(少なくとも書き込み不可)。プログラムAはI
/O処理に依頼する際のパラメータ(ファイル名、ブロ
ックアドレス、ブロック数、読込みバッファのアドレス
BUF)をAのワークエリアの末尾部分に設定しI/O
処理にこのパラメータ値を直接若しくはこの末尾部分ア
ドレスを渡し入力ファイルの所定ブロックの読込みを依
頼する。読み込まれたデータをワークエリア前半に格納
されている条件に従い検索し、その結果をワークエリア
後半に作成し、前記パラメータとともにワークファイル
41にセーブし、ワークエリアを用い他の処理(例えば
他の入力ファイルのデータの検索)をする。この処理が
終了し、前記セーブした結果とパラメータをリストアす
るがここでファイルリ−ドエラーが最後の方で発生しエ
ラー処理に入る。しかしエラー処理に問題があり処理続
行可と判断し入力ファイルから次のブロックを読み込む
為に完全にリストア出来てないパラメータ情報を渡しI
/O処理に依頼する。ここでパラメータの内前記BUF
の一部が誤ったものであればI/O処理はこれを受付け
処理し誤ったBUFが指しているBのデータエリアに書
込みこれを破壊することが起こりうる。(プログラムA
は読み込みバッファのセグメント記述子をディスクリプ
タ表から汎用レジスタにロードしこのBUFに控え、I
/O処理を呼び出す前にBUFをデータセグメントレジ
スタにロードするものとする。或いはAのワークエリ
ア、読み込みバッファ、Bのデータエリアの全てが本来
Bのデータセグメントで、Bが検索処理をAに依頼した
際、検索条件と結果用のエリアをローカルにサイズ指定
しAに渡し、Bはサイズ以降のエリアに次の検索条件を
作成しているとする)このような従来の記憶保護方式の
欠点を回避する方式としては、例えば特開昭60−73
762に開示されている様な方式が考えられる。引用の
方式は、実行プログラムにその種類に応じA〜Dの実行
レベルを与え、メモリのブロック単位にA〜Dの各レベ
ル毎にアクセスを許可/禁止するフラグを記憶保護レジ
スタに設定し、実行プログラムによるメモリアクセスの
都度アクセスアドレスによりブロック番号を算出しブロ
ック番号と実行レベル値で記憶保護レジスタを索引しフ
ラグ値を得、そのフラグ値に応じメモリアクセス動作を
許可/抑止する方式である。制御記憶の例で16ブロッ
クの上位1ブロックはA〜Dの全レベルが書き込み可で
他のブロックはA〜Cレベルが排他的に書き込み可に設
定された例が示されている。
【0005】従って、上記従来記憶保護方式より多少改
善されているものの実行されるプログラムを実行レベル
でグループ化しメモリのブッロックのメモリ属性をレベ
ルに対し設定しているので同一実行レベルのプログラム
間ではそれぞれにアサインされたブロックに対する保護
は出来てない。又、上位1ブロックは各レベルのプログ
ラムの交信エリアと解釈するが、交信エリアが固定され
ているので、これを情報処理装置の通常プログラムがア
クセスするメモリの記憶保護方式とした場合プログラム
に対する自由度が低下することになる。
【0006】本発明は、以上の問題点を解決する為に上
記実行レベル方式でなくプログラムによるメモリアクセ
スの都度アクセスする対象の管理単位(例えばページ)
がそのプログラムに与えられた管理単位であるかチェッ
クし、他プログラムを呼び出しデータ等を受け取る際に
は自プログラムに与えられた管理単位を呼び出し先に一
時貸し出すという思想に基づくプログラム単位のメモリ
属性管理方式を提供するものである。
【0007】
【課題を解決するための手段】本発明の第1のメモリ属
性管理方式は、主記憶上のメモリについて所定の管理単
位でメモリ属性を保持し、プログラムのメモリアクセス
可否をチェック後許可抑止するアクセスチェック機構を
備えた処理装置のメモリ属性管理方式において、プログ
ラムのメモリへのロード、実行、停止、終了を制御監視
するプログラム制御部と、プログラムロード時、対象プ
ログラムファイルの付属情報に基づきプログラムに必要
なメモリ領域を管理単位で割付け、そのメモリ属性を生
成し属性表として登録するプログラム領域生成部と、ロ
ードされているプログラムについてプログラム毎の属性
表を保持するメモリ属性領域と、実行中のプログラムの
前記属性表の写しをメモリ制御手段に保持しプログラム
のメモリアクセス可否をプログラム単位でチェックし許
可抑制する手段を含むアクセスチェック機構とを有して
構成される。
【0008】本発明の第2のメモリ属性管理方式は、上
記処理装置のメモリ属性管理方式において、プログラム
のメモリへのロード、実行、停止、終了を制御監視する
プログラム制御部と、プログラムロード時、対象プログ
ラムファイルの付属情報に基づきプログラムに必要なメ
モリ領域を管理単位で割付け、そのメモリ属性を生成し
属性表として登録するプログラム領域生成部と、ロード
されているプログラムについてプログラム毎の属性表を
保持するメモリ属性領域と、実行中のプログラムの前記
属性表の写しとテンポラリのメモリ属性をそれぞれ第
1、2のメモリ制御手段に保持しプログラムのメモリア
クセスの種類をチェックし許可抑制するアクセスチェッ
ク機構とプログラムが割当てられたメモリをアドレス、
付与属性を指定し呼出し先のプログラムに貸出す命令手
段とを含んで構成され、前記プログラム制御部はプログ
ラムの実行開始に際しそのプログラムの属性表を第1の
メモリ制御レジスタに設定し、アクセスチェック機構は
プログラム単位でチェックをするとともに、前記貸出し
命令を受けると指定するアドレスの属性を第1のメモリ
制御手段より得、付与属性が該属性の範囲以下であれば
これを第2のメモリ制御手段に設定し次のプログラムの
メモリアクセスチェックを第1と第2のメモリ制御手段
の属性を加えて行うことを特徴とする。
【0009】本発明の第3のメモリ属性管理方式は、前
記属性表はアクセス属性の種類毎で、メモリ管理単位に
対応し許可ないし禁止を示すビットマップを含むことを
特徴とする。
【0010】本発明の第4のメモリ属性管理方式は、実
行中のプログラムによる追加メモリ領域要求及びその解
放通知に呼応し、前記メモリ制御手段の該メモリ管理単
位番号に対応の属性値を更新する手段と更新したことを
表示する手段を有し、又実行中のプログラムの切り替え
に際し前記更新表示がされていればメモリ制御手段の属
性値を実行中のプログラムの属性領域にセーブする手段
を有して構成される。
【0011】本発明の第5のメモリ属性管理方式は、論
理アドレスを主記憶上のメモリアドレスに変換するアド
レス変換表、メモリ管理単位でメモリ属性を保持する属
性表、実行状態のプログラムに関しアドレス変換表の写
しを持ちメモリ管理単位で前記アドレス変換する機構、
プログラムのメモリ管理単位へのアクセスをチェックす
る機構を備えた処理装置の記憶保護方式において、プロ
グラムのロード、実行、停止、終了に関する動作を制御
し、ロードするプログラム名に一意にプログラム識別を
付与し、必要なメモリの確保を指示するプログラム制御
部と、前記指示を受けプログラムファイルの付属情報に
基づきプログラムが使用する論理アドレス情報に対し管
理単位毎にメモリ属性を生成しメモリ管理単位番号を割
付け、メモリ管理単位番号をアドレス変換表のエントリ
に登録し、生成したメモリ属性を属性表の前記エントリ
にプログラム識別とともに登録するプログラム領域生成
部と、前記各プログラムの管理単位毎の論理アドレスを
保持する属性領域と、前記アドレス変換機構と、実行状
態の複数プログラムに関し属性表のプログラム識別、メ
モリ属性の写しをメモリ制御手段の対応エントリに保持
するとともに実行中のプログラムのメモリ制御手段のエ
ントリを指定するカレント指定手段を有すアクセスチェ
ック機構とを含んで構成され、アクセスチェック機構は
命令読出しでそのアドレスに対応するメモリ制御手段の
エントリのメモリ属性が実行可であれば、そのエントリ
のプログラム識別をカレント指定手段に設定し、以降の
データアクセスのチェックでアクセスアドレスに対応す
るエントリのプログラム識別がカレント識別と一致する
ことを含めてアクセスチェックすることを特徴とする。
【0012】本発明の第6のメモリ属性管理方式は、上
記処理装置のメモリ属性管理方式において、プログラム
のロード、実行、停止、終了を制御し、ロードするプロ
グラム名に一意にプログラム識別を付与し、必要なメモ
リの確保を指示するプログラム制御部と、前記指示を受
けプログラムファイルの付属情報に基づきプログラムが
使用する論理アドレス情報に対し管理単位毎にメモリ属
性を生成しメモリ管理単位番号を割付け、メモリ管理単
位番号をアドレス変換表のエントリに登録し、生成した
メモリ属性を属性表の前記エントリにプログラム識別と
ともに登録するプログラム領域生成部と、前記各プログ
ラムの管理単位毎の論理アドレスを保持する属性領域
と、前記アドレス変換機構と、実行状態の複数プログラ
ムに関し属性表のプログラム識別、メモリ属性の写しを
第1のメモリ制御手段の対応エントリに、テンポラリの
メモリ属性を第2のメモリ制御手段の前記対応エントリ
に保持するとともに実行中のプログラムのメモリ制御手
段のエントリを指定するカレント指定手段を有すアクセ
スチェック機構と、プログラムが割当てられたメモリに
関し論理アドレス、付与属性を指定し他プログラムに貸
出す命令手段とを含んで構成され、アクセスチェック機
構は命令読出しアドレスに対し実行可属性をもつ第1の
メモリ制御手段のエントリのプログラム識別をカレント
指定手段に設定し、以降のデータアクセスアドレスに対
応するエントリのプログラム識別がカレント識別と一致
することを含めてアクセスチェックをし、貸出設定では
付与属性がアドレスに対応する第1のメモリ制御手段の
エントリの属性の範囲以下であればこれを第2のメモリ
制御手段に設定することを特徴とする。
【0013】本発明の第7のメモリ属性管理方式は、前
記プログラム領域生成部が前記プログラムのロード時に
生成する属性に貸出し時属性を含めて属性表を生成し登
録する手段を有し、その写しがメモリ制御手段に設定さ
れ、前記貸出し可のメモリ管理単位の前記貸出し時属性
を有効化する命令手段を有して構成され、前記アクセス
制御機構はメモリ制御手段の前記有効化命令を含むプロ
グラムに対応した貸し出し時属性を有効化する手段を有
すことを特徴とする。
【0014】本発明の第8のメモリ属性管理方式は、前
記プログラム制御部は第1のプログラムが使用した領域
を移管し第2のプログラムが連携起動されることを検出
する手段、第1のプログラム終了時に、該プログラムに
付与していたプログラム識別を第2のプログラム名に対
応付ける手段、前記プログラム領域生成部に引継を通知
する手段を有し、前記プログラム領域生成部は該通知に
より第1のプログラムの属性領域を第2のプログラム用
にする手段を有して構成される。
【0015】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は本発明のメモ
リ属性管理方式が適用される情報処理装置の一例を示す
ブロック図である。情報処理装置はプロセッサ1とメモ
リ2とファイルデバイス4と操作者用の表示装置5−
1、キーボード5−2とこれらを相互接続するシステム
制御ユニット3を有す。プロセッサ1は命令演算処理部
7とキャッシュ6とアドレス変換機構8とアクセスチェ
ック機構9を有す。命令演算処理部7は実行する命令を
先行して読出し、順次デコードし必要なメモリオペラン
ドデータを読出す命令処理とオペランド間演算を行い結
果を必要に応じメモリ2に格納する演算実行処理を行
う。キャッシュ6はメモリ2のブロックの内最近実行さ
れた命令に関わるブロックを一時記憶する命令、オペラ
ンドのキャッシュである。アドレス変換機構8はメモリ
2にあるページ表の写しを持ち、命令演算処理部7のメ
モリ2乃至キャッシュ6へのアクセスに際しアクセスア
ドレスが論理アドレスの場合これをメモリ2上の実アド
レス(以下メモリアドレスと省略)に変換する。変換は
メモリ管理単位(以下ページとする)に行う。尚、本発
明の第1の実施形態ではアドレス変換機構8は必要とし
ない。
【0016】アクセスチェック機構9はメモリ2上の属
性表の写しを持ち、命令演算処理部7がメモリ2乃至キ
ャッシュ6へのアクセス時アクセス種類を指定するアク
セスコード(E:命令とし実行、R:読出、W:書込、
C:キャッシュバイパス)とアクセスページの属性をつ
き合わせチェックし、チェック結果に応じメモリ乃至キ
ャッシュアクセスを許可/抑止する。メモリ2はシステ
ムプログラムの内コアとなるプログラム用のシステムコ
アエリア2−1、通常のシステムプログラム用のシステ
ムエリア2−2、ユーザレベルプログラム用のユーザエ
リア2−3に区分して定義され使用される。
【0017】本発明のメモリ属性管理方式はシステムコ
アエリア2−1上に置くプログラム領域生成部11、プ
ログラム制御部12、プログラム毎の属性領域18−1
・・18−4、このディレクトリ16とアクセスチェッ
ク機構9を含む。更に第1の実施形態ではプログラム制
御部12の配下の領域として割込ベクタ表13−1、1
3−3、プログラムセレクタ表13−2、13−4を含
む。又第2の実施形態ではアドレス変換表(PT)の各
エントリの延長上に置くプログラム識別、属性情報を含
む。又メモリ2の容量は例えば32メガバイトで、メモ
リ管理単位をページとすれば例えば4キロバイトとな
る。
【0018】次に、本発明の第1の実施の形態について
図面を参照して説明する。図2は本発明の構成要素とし
てプログラム領域生成部11、プログラム制御部12、
プログラム毎の属性領域18ー1・・18−4、このデ
ィレクトリ16と実行されるプログラムとしてシステム
プログラム1・・システムプログラムJとユーザレベル
のプログラム(J+1)・・ユーザレベルプログラムN
とプログラムの割込み時切替え機構としての割込ベクタ
表13−1、13−3、通常の呼び出し時切り替え機構
としてのプログラムセレクタ表13−2、13−4を示
したものである。これらはメモリ2に配置されている。
【0019】プログラム制御部12は、操作者からの指
示により当該プログラムファイル43をロードし当該プ
ログラム名にプログラム識別を付与し、プログラム領域
生成部11に実行に必要なメモリの確保、属性表生成を
指示し、属性表アドレスを得てアクセスチェック機構9
に属性表のロードを指示し、その他実行に必要な設定を
し当該プログラムを実行開始する。又当該プログラムに
よる他プログラム呼び出しを一時フックし他プログラム
の属性表アドレスを得てアクセスチェック機構9に第1
メモリ制御レジスタ(第1MCR)61の切替えを指示
後他プログラムに移行し、リターン時に第1MCR61
を戻す切替えを指示し当該プログラムにリターンする。
マルチプログラミング環境ではプロセスタイマー割り込
みを利用し(プログラム起動時プロセスタイマーを設定
し割り込みベクタ表13−1の対応するエントリに自セ
グメントのセグメント記述子位置と所定オフセットを設
定しておき)当該プログラムの処理の区切りで割込み、
次のプログラムの属性表ロードを同様に指示する。又当
該プログラムが終了時ソフトウェア割込みにより通知さ
れる。プログラム制御部12は実行中のプログラムの追
加メモリアロケート要求の際プログラム領域生成部11
に指示し、追加ページ番号を得てアクセスチェック機構
9に更新を指示する。
【0020】プログラム識別(PID)表12−2はプ
ログラムをメモリ2にロードする際に付与するプログラ
ム識別(番号)とプログラム名の対応表でプログラムA
に番号Nを付与した場合、エントリNにプログラムAの
名称を登録する。プログラムステータス表12−3はメ
モリ2にロードされているプログラムについてプログラ
ム識別毎に、停止、待機、実行中のいずれの状態にある
かを示す。
【0021】割込みベクタ表B(IDTB)13−1は
外部割込みとファンクションコールを含めたソフトウェ
ア割込に関するコール先の命令セグメント記述子セレク
タ、オフセット情報をプログラム制御部12の命令セグ
メント記述子セレクタとセグメント内オフセットに書き
換えたものである。プログラムセレクタ表B(PSEL
B)13−2はユーザプログラム間の呼出しに関しても
その様に設定したセレクタ表である。割り込みベクタ表
(IDT)13−3は上記書き換え前のコール先情報
で、プログラムセレクタ表(PSEL)13−4はユー
ザプログラム間の呼出し先のセレクタ表である。割り込
みベクタ表は割り込み要因別のエントリを有すが、プロ
グラムセレクタ表は呼び出し先プログラムごとのエント
リで、プログラム識別順にソートされている(エントリ
NはプログラムNを指している)。
【0022】プログラム領域生成部11は、ロードされ
るプログラムのプログラムファイル43より、命令、デ
ータ、スタック別にセグメントを列挙し属性に関する指
定でグループ化し、各グループにそのサイズに応じてペ
ージ識別(仮の通番)と属性(実行可、読出し可、書込
み可、キャッシュバイパス)を付与し、これにメモリ使
用表11−2を参照しページ番号(ページフレームアド
レス)を割付け、属性表を作成しそのアドレスをプログ
ラム制御部12に返すとともに属性エリアディレクトリ
(ATDR)16に登録する。
【0023】プログラム管理エリア14にはセグメント
記述子表(DT)17も格納される。この管理エリアに
は属性エリア18−1、・・18−4もあり、プログラ
ム単位で属性ごとのビットマップを含む属性表が格納さ
れる。属性表は、メモリ2の全ページを所定数でブロッ
ク化しそのページブロック番号とブロックの各ページの
属性ごとのビットマップとする。例えば図5に示す様に
8192ページを32ページ単位のブロックとし、ペー
ジブロック番号とその32ページのビットマップ形式で
格納する。ビットマップデータ内の一つのビットは、メ
モリ2のページ(メモリ管理単位)に一対一に対応して
いる。ビットマップデータ内のビットは、図5の通り
「0」が禁止、「1」が許可の意味を持つ。属性エリア
ディレクトリ(ATDR)16にはプログラム単位にプ
ログラム識別、属性エリアアドレスが格納される。
【0024】メモリ使用表11−2はシステムコアエリ
ア、システムエリア、ユーザエリアの区分毎にページブ
ロック単位で各ページが使用中(割付済み)/否を表示
管理している。又ブロック内ページが全て未使用、未使
用ページ有り、無しを表示するフラグも備えている。又
システムエリアのメモリ使用表に付随してプログラムが
共通に読出し専用で使用するリソース情報、辞書等は読
出し専用の旨と、情報識別名ごとのページ番号を対記し
たリストを備えている。ATDRポインタ11−4は属
性エリアディレクトリ(ATDR)16の先頭アドレス
を保持している。
【0025】次に図3を参照しアクセスチェック機構9
の概要を説明する。図中51はアクセスコードレジスタ
(ACCR)で、命令演算処理部7からのコマンドとア
クセスコードがセットされる。コマンドはメモリアクセ
ス(MA)、属性表ロード(LD)、第1MCR61の
ページ単位更新(PLD)、貸出設定(REN)が定義
されている。アクセスコードはメモリアクセスと属性表
ロードコマンドではメモリアクセスの種類がE:実行、
R:読出、W:書込、C:キャッシュバイパスの4ビッ
トがそれぞれ指定される。ページ単位更新、貸出設定で
は上記4ビットを用い新規の付与属性が指定される。メ
モリアドレスレジスタ(MAR)52にはアクセスアド
レス或いは属性エリアアドレスがセットされる。属性エ
リアアドレスレジスタ(ATAR)53は属性エリアか
ら属性表をロードした後このアドレスをセーブしておく
レジスタである。カレントページブロックレジスタ(C
PBR)57は実行中のプログラムの属性表のページブ
ロック番号を保持する。第1メモリ制御レジスタ(第1
MCR)61は実行中のプログラムの属性表ビットマッ
プ(4バイト)を各属性で2バイトX2ワードに折り畳
んで保持している。ブロック74は第3のPBRとMC
Rを含みプログラム制御部12自身の属性表のページブ
ロック番号、属性ビットマップを固定的に保持する。こ
れらはRAMないしレジスタファイルで構成される。B
SEL66は16ビットから1ビットを選択するビット
セレクタで、SEL67は1ビット出力と16ビットの
スルー出力と16ビットオール1を切換える3ウェイセ
レクタである。カウンタ(CNT)65は上記ビット選
択モードではその選択した1ビット出力を書込むビット
位置(0〜4)をインクリメントして指定し、オール1
選択モードではMAR52のビット11〜14がセット
されるデコード出力の4ビットカウンタである。59、
60はMAR52内のアクセスアドレス上位とCPBR
57、TPBR58のページブロック番号の一致検出回
路で出力はそれぞれ第1MCR61、第2MCR62の
読出し出力のEnable信号となる。
【0026】読出レジスタ(RDR)68は第1MCR
61、第2MCR62より読出され上記ビット選択され
たアクセスするページの各属性値(E、R、W、C、O
W)を保持するレジスタである。又第1MCR61より
読出された各属性値の16ビット幅ビットマップデータ
がセットされる。69はWビットにOW(他のプログラ
ムによる書込み可)ビットを論理和し、RビットにOR
(他のプログラムによる読出可)ビットを論理和し他の
ビットはスルーとする回路である。アクセスチェック回
路70はACCR51のアクセスの種類(E、R、W、
C)のオンビットに対応する回路69の属性値(E、
R、W、C)のビットがオンであればアクセス可と判定
しそうでなければアクセス抑止信号を発生する回路であ
る。貸出チェック回路71は貸出設定で、ACCR51
内の貸し出し時付与属性R、Wが対象ページの本来属性
R、W以下(同値又は付与属性Rオンに対し本来属性の
Wがオン)で貸出可と判定しそうでなければ貸出抑止信
号を発生する回路である。
【0027】アクセスチェック制御回路72は命令演算
処理部7のアクセス要求を受けアクセスコード、メモリ
アドレスをACCR51、MAR52にセットしコマン
ドに従って上記レジスタの設定、読み出しを制御する。
コマンドが(LD)であればMAR52の属性エリアア
ドレスとACCRのアクセスコード(Rのみオン)でキ
ャッシュ6より属性エリア対応のキャッシュブロックか
ら属性表を読み出す。MAR52の属性エリアアドレス
下位部分をインクリメンタ54で更新しページブロック
番号、E属性ビットマップ0〜1バイト、2〜3バイ
ト、R属性ビットマップバイト0〜1バイト、・・と順
次読出しCPBR57、第1MCR61の各エントリに
書き込む。MAR52下位部分の属性エリアアドレスは
ATAR53にセーブしておく。
【0028】コマンドが(PLD)であればMAR52
のページブロック番号とブロック内ページ番号の上位2
ビットで第1MCR61より属性Xビットの16ビット
幅ビットマップを読出しRDR68にセットしておき、
次にCNT65にブロック内ページ番号の下位4ビット
をセットしSEL67でオール1パターンを選択してお
き目的のページ対応のRDR68のビット位置を1にセ
ットする。ORセットされたXビットの16ビット幅ビ
ットマップを第1MCR61に書き込む。ACC51の
付与属性がオンセットされているXビットについて上記
ビットマップ更新を繰り返す。最後にATAR53のM
(モディファイ)ビットをオンにする。
【0029】コマンドが(MA)であればMAR52の
ページブロック番号とCPBR57のページブロック番
号が一致するMCRよりアクセスページの属性値をE、
R、W、C、OWの順にビット選択機能を使いRDR6
8の上位5ビットに抽出しOR回路69を通しアクセス
チェック回路70でメモリアクセス可否を判定する。
【0030】コマンドが(REN)であればMAR52
のページブロック番号とCPBR57のページブロック
番号の一致するMCRより貸出ページの属性値Wについ
てビット選択機能を使いRDR68のビット1、2に抽
出し貸出チェック71で貸出可否を判定する。貸し出し
可であれば第1MCR61よりスルーモードで属性R、
WのビットマップをRDR68に読出しLDR55経由
で第2MCR62のOR、OWの対応ワード位置に書き
込む。そしてテンポラリページブロック番号レジスタ
(TPBR)58にCPBR57のページブロック番号
をコピーする。これらの実行結果、チェック結果を命令
演算処理部7に返す。
【0031】次にプログラムN28をプログラムファイ
ル43からメモリ2にロードし初期メモリ設定後、実行
開始しプログラムNがページを貸出しIOS25を呼び
出しリターン後ページ貸出しをリセットし実行終了する
例について、図7、8のフローチャートに基づき、図2
〜6を参照しプログラム制御部12、プログラム領域生
成部11、アクセスチェック機構9の動作を説明する。
【0032】プログラム制御部12は操作者の指示を受
けファイルデバイス4上のプログラムファイル43を読
込バッファ24に読み込み、バッファアドレス、サイズ
を伴いプログラム領域生成部11に初期メモリ設定指示
をする(図7のS1)。バッファには図4に示す実行形
式のプログラムファイル43のヘッダー44と実行モジ
ュール45が読込まれている。ヘッダー44にはヘッダ
ー、実行モジュールのサイズ46、セグメントの定義4
7、セグメントリロケーション情報48が含まれてい
る。セグメント定義47はコード、データ、スタック別
にセグメント名とそのサイズが記載され、リロケーショ
ン情報48には各セグメントにアクセスするために使用
する命令演算処理部7のセグメントレジスタと各セグメ
ントの記述子を該レジスタにロードする命令の位置が記
載されている。
【0033】プログラム領域生成部11はヘッダー44
を参照し、属性エリアを確保する。次にコード、デー
タ、スタック毎にセグメントを自ワークエリアに列挙し
データは指定(W、C、共用のR専用)でグループ化す
る。コードは実行可、読出可、としデータでWrite
指定のないものは読出可とし、Write指定されてい
れば読出可、書込可とし、スタックは読出可、書込可と
する。これらは共用の読出専用を除きプログラムNにの
み与えられたアクセス権である。次にコード、データの
各グループ、スタックの各グループ単位にサイズの小計
を算出しサイズを考慮しページID(通番)を付与し
ページIDに属性(E、R、W、C)を付与し図6のペ
ージIDとメモリ属性が作成される。図6では命令セグ
メントをP1とし実行可、読出可を付与し、DT1セグ
メントをP2、P3とし読出可、書込可を付与しDT2
セグメントをP4とし読出可、書込可を付与しSTST
KセグメントをP5とし読出可、書込可を付与する(図
7のS2−1)。
【0034】次サブステップではページ使用表を参照し
各ページIDにページ番号を付与する。共通の読み出し
専用セグメントのページIDにはシステムプログラムの
ページ使用表に付随する情報を検索し登録されてあれば
そのページ番号を付与し、これ以外は未使用ページを採
番しページ番号を付与する。図6のページIDとメモリ
属性とページ番号が自ワークエリアに作成される(図7
のS2−2)。
【0035】次に各セグメントのベースアドレス、サイ
ズを計算しセグメント記述子をセグメント記述子表(D
T)17に書込み実行モジュールのセグメント記述子ロ
ード命令のセレクタ値を上記書き込み位置に合わせてお
く(図7のS2−3)。尚、命令セグメント記述子はD
T17のエントリNに書き込む。次サブステップでは属
性エリア18−4にプログラムN属性表を作成する。即
ち、ページ番号ごとの各属性を図5に示すページブロッ
ク#、属性毎のブロック内ビットマップを作成し属性エ
リアに格納する(図7のS2−4)。属性表ディレクト
リ(ATDR)16のエントリNにプログラムN属性エ
リアアドレスを登録しておく(図7のS2−5)。最後
に属性エリア、命令セグメント記述子アドレスと共にメ
モリ設定終了をプログラム制御部12に通知する(図7
のS2−6)。
【0036】プログラム制御部12は読込バッファ内2
4の実行モジュール(コード部)をプログラムNの命令
セグメントに移送し、 プログラムN属性エリアアドレ
スをオペランドとする属性表ロード命令を発行する。ア
クセスチェック機構9はこの属性表を読み出し、CPB
R、第1メモリ制御レジスタ(MCR)61にセット
し、属性エリアアドレスをATAR53にセーブする。
プログラム制御部12は実行結果を命令演算処理部7の
フラグレジスタで確認しプログラムNを実行する(呼び
出す)(図7のS3)。
【0037】命令演算処理部7によりプログラムNの命
令読出が行われるがこのアクセスは第1メモリ制御レジ
スタ61が許可する。プログラムNはソート処理1を実
行する。この処理においてDT1セグメント対応ページ
へのアクセスを、第1メモリ制御レジスタ61が許可す
る。次にDT2(ソート対象データ読込エリアページ)
の貸出準備をする。即ちアドレスをDT2ページ番号と
し貸出時属性としWビットをオンとする)貸出設定命令
を発行する(図8のS4)。
【0038】アクセスチェック機構9は第1メモリ制御
レジスタ61からDT2ページの属性を読出し、その結
果Wビットオンで貸出可と判定し、第2メモリ制御レジ
スタ62のDT2ページのOWビットをオンにしTPB
R58にCPBRのページブロック#をセットする(図
8のS5)。
【0039】プログラムNはIOS呼び出しを実行する
(図8のS6)。プログラム制御部12はこの呼び出し
を前記フックし、本来の呼出し先の記述子表エントリ番
号(=1)で、ATDR16のエントリ1にアクセスし
IOS25の属性エリアアドレスを取得しIOS25の
属性表ロード命令を発行する(図8のS7)。アクセス
チェック機構9はATAR53のモディファイビットが
オフであることを確認し、第1メモリ制御レジスタ61
内属性情報の属性エリア18−4へのセーブを省略し、
IOS25の属性表をCPBR57、第1メモリ制御レ
ジスタ61にセット後、ATAR53にIOS属性エリ
アアドレスをセーブしておく(図8のS8)。プログラ
ム制御部12はIDT13−3を使用しIOS25の呼
び出しを実行する(図8のS9)。
【0040】IOS25はデータをDT2に読み込み
(第2メモリ制御レジスタ62のOWビットがアクセス
許可)、IRETを実行(図8のS10)し、プログラ
ム制御部12はスタックしておいた戻り情報(戻りの命
令セグメントセレクタ値)よりプログラムN属性エリア
アドレス取得し属性表ロード命令発行後IRETを実行
する(図8のS11)。
【0041】プログラムN28は返値を確認し、DT2
ページ貸し出し設定をリセットする命令を発行後、ソー
ト処理2を実行しプログラムの実行終了をプログラム制
御部12に通知(終了割り込み)する(図8のS1
2)。
【0042】次に本実施形態の他の実施例として実行中
のプログラムNが複数ページの貸し出し設定を同時処理
する例を示す。プログラムNはコマンドとして第1MC
R61の属性値読出を指定し、アドレスとしてページブ
ロック番号を指定する。アクセスチェック機構9は上記
指定されたMCRの属性表(各属性ビットマップ)をス
ルーモードでRDR68に読出し、LDR55経由で命
令演算処理部7に返す。プログラムNは例えばW属性ビ
ットマップを入力とし、OW属性ビットマップを作成す
る。次にこれをストアデータとし、アドレスを上記ペー
ジブロック番号とし、アクセスコードのWビットをオン
とし貸し出し設定コマンド(REN2)を発行する。ア
クセスチェック機構9は上記ページブロック番号とCP
BR57の一致を確認し、第1MCR61よりW属性ビ
ットマップをスルーモードでRDR68に読出し、SD
R56内の上記ストアデータとの論理積を回路73で求
める。この結果がストアデータに等しければ貸し出し可
と判定し、ストアデータをLDR55に転送し第2MC
R62のOW対応ワードに書き込み、TPBR58にC
PBR57をコピーし、貸出し設定を行う。この様にビ
ットマップデータをワード単位で扱うことで複数ページ
に対する属性の処理が高速化できる。
【0043】次に、本発明の第2の実施の形態について
説明する。本実施形態は論理アドレス上のページを実メ
モリアドレス上のページに変換するページテーブル(P
T)、実行状態の複数プログラムに関しPTの写しを持
ちページ単位でアドレス変換する機構を備えた処理装置
を対象としてプログラム単位の記憶保護を行う方式を示
すものである。各プログラムの属性エリアにはそのプロ
グラムが使用する論理アドレス上のページ(ページサイ
ズを4Kバイトとすると論理アドレスの下位12ビット
を除いた上位アドレス)を保持し、属性表はPTの各エ
ントリに対応しそのメモリページの所有者(プログラム
識別)と属性、共用ページフラグ(多数のプログラムが
読出し専用で共用)を持つ。又アクセスチェック機構1
0は実行状態の複数プログラムが使用するページについ
て属性表の写しを有す。従ってプログラム単位のアクセ
スチェックをする為には、実行しているプログラムの属
性を指定する必要がありカレント指定手段を持つ。該手
段としては命令読み出しアクセスで索引され、実行許可
(Eビットオン)となっているエントリのプログラム識
別を用いればよい。
【0044】図9は本発明の構成要素としてプログラム
領域生成部31、プログラム制御部32、プログラム毎
の属性領域19ー1・・19−4、このディレクトリ1
6と実行されるプログラムとしてシステムプログラム1
・・システムプログラムJとユーザレベルのプログラム
(J+1)・・ユーザレベルプログラムNと従来からの
割込みベクタ13−3とセグメント記述子表17、ぺー
ジテーブル(PT)21とそのディレクトリ20とPT
21の各エントリに対応したエントリを持つ属性表22
を示したものである。
【0045】プログラム制御部32は、前記実行中プロ
グラムによる他プログラム呼び出しのフックや、ロード
後ないしプログラム切替え時の属性表のメモリ制御レジ
スタ97へのロード指示や、実行中のプログラムの要求
によるメモリ追加に伴うメモリ制御レジスタの更新指示
等は一切行わない点が前記第1の実施の形態と異なるが
他は前記と同様である。
【0046】プログラム領域生成部31は、ロードされ
るプログラムのプログラムファイル情報より、命令、デ
ータ、スタック別にセグメントを列挙し属性に関する指
定でグループ化し、各グループにそのサイズに応じてペ
ージ識別(仮の通番)と属性(実行可、読出し可、書込
み可、キャッシュバイパス)を付与し、各ページ識別に
論理アドレスを追記しこれにメモリ使用表11−2を参
照しページ番号(ページフレームアドレス)を割付け、
図6の属性表原形を作成しページ識別と論理アドレスを
そのプログラムの属性エリアへ格納する。又PTエリア
を確保し、PTDR20の論理アドレス上位で指定され
るエントリにPTエリア先頭アドレスを登録し、PTエ
リアの論理アドレス上位で指定されるエントリにページ
番号(PFA)、制御ビット、プログラム識別、属性を
登録する。又論理アドレスを登録した属性エリアのアド
レスをプログラム識別とともに属性表ディレクトリ(A
TDR)16に登録する。
【0047】プログラム管理エリア15にはセグメント
記述子等の情報が格納される。プログラム領域生成部3
1は前記メモリ使用表11−2の他にスワップファイル
使用表11−3を有して、メモリ上のページをスワップ
アウトするファイルの各ブロックの使用状態を管理して
いる。更に前記ATDRポインタ11−4の他にPTD
R20ポインタ11−5も有している。
【0048】プログラム領域生成部31は付与済みペー
ジをスワップアウトする場合、プログラム制御部32に
プログラム選定を依頼する。プログラム制御部32は優
先度の低いプログラムを選定しその実行を停止する(プ
ロセセスタイマー割り込み等を利用し実行停止する)。
プログラム領域生成部31はそのPIDを得て、ATD
R16を引き属性エリアより論理アドレス一覧を得る。
論理アドレスでPT21にアクセスしそのPFA、制御
ビット、属性を得る。データページをスワップアウト対
象とし、PT21、アドレス変換バッファ81の制御ビ
ットのS(スワップ)をオンにする。次に制御ビット中
の更新履歴ビットがオンしているページをスワップファ
イルにセーブする。スワップファイル使用表11−3に
採番し、スワップ先アドレスを得て追記し、IOS25
にファイルへの書込を依頼する。完了すると対象ページ
に対しPT21、アドレス変換バッファ81の制御ビッ
トのP(ページ存在)をリセットする。属性エリアにも
Pをリセット、Sをオンとしてスワップ先アドレスを書
込む。対象ページの空きをページ使用表に反映する。
尚、アクセスチェック機構10はIOS25のページ読
出を、Sビットがオンで且つCPIDがIOS25であ
ることでこれを許可する。
【0049】スワップインの場合は、上記属性エリアの
情報を取り出し、新規PFAを採番し、PT21、アド
レス変換バッファ81のPFAを更新後IOSにファイ
ルからの読み込みを指示する。アクセスチェック機構1
0はIOS25のメモリ書き込み要求に対し、Pがリセ
ット、Sがオンの為、その書き込みをスワップインとみ
なしこれを許可する。書き込み完了後、プログラム領域
生成部31はPT21のPビット、Sビットをそれぞれ
セット、リセットしておく。属性エリアの情報も更新し
ておく。
【0050】図10を参照しアドレス変換機構8の概要
を説明する。論理アドレスレジスタ(LAR)75は命
令演算処理部7からの論理アドレスを保持するレジスタ
で、ページフレームアドレスレジスタ(PFAR)76
はメモリ2のPT21から読み出したページ番号と制御
ビットを保持するレジスタである。TLB−L80、T
LB−R81はそれぞれ64エントリ X 4レベルの
アドレス変換バッファで、TLB−L80の各エントリ
はLAR75の論理ページアドレスの上位、TLB−R
81の各エントリは前記論理ページアドレス上位と自エ
ントリ番号を論理ページアドレス下位とする論理ページ
アドレスに対応するページ番号(PFA)を保持してい
る。これらは一致回路82、4ウェイセレクタSELA
83と合わせセットアソシアティブ方式のアドレス変換
を行う。RA2R84は変換されたページフレームアド
レスとLAR75のページ内アドレスを受けキャシュ1
0へのメモリアドレスとしてこれを保持するレジスタで
ある。変換チェック制御部85は命令演算処理部7から
のメモリアクセスの都度その論理アドレスをメモリアド
レスに変換する制御を行うとともに対応するページ番号
が登録されてなくミスヒットした場合はPT21よりペ
ージ番号(PFA)、制御ビット、属性、プログラム識
別を読み出し、TLB−R81、第1メモリ制御レジス
タ(MCR)87の属性部、PID部に登録する。又ア
ドレス変換と、アクセスチェックを同ステージで処理す
るため、本制御部はアクセスチェックも制御する。
【0051】次に本図を参照しアクセスチェック機構1
0の概要を説明する。ACCR79は命令演算処理部7
から受けるコマンドとアクセスの種類(E、R、W、
C)を保持するレジスタである。ATR77、PIDR
78はそれぞれPT21から読み出した属性、プログラ
ム識別をMCRへ書込む為に保持するレジスタである。
第1MCR87の属性部、PID部のそれぞれのエント
リにはTLB−R81の対応エントリが保持しているペ
ージの属性、プログラム識別(ページの所有者)が保持
される。第2MCR88の各エントリは対応するページ
が貸し出された場合その属性(OW、OR)を保持す
る。即ち他プログラムに書込み可で貸出した場合はOW
ビットがセットされ、読出し可で貸出した場合はORビ
ットがセットされる。更に各エントリは対応するページ
が多数のプログラムが読み出し専用で共用する場合CR
ビットをセットし保持する。第1MCR87、第2MC
R88はTLB−R81と同様に4レベルのセットアソ
シアティブ構造である。SELB90、SELC91は
ヒットしたレベルを選択する4ウェイセレクタである。
カレントプログラム識別(CPID)92は実行中のプ
ログラム識別を保持するレジスタである。一致回路94
はメモリアクセスの都度第1MCR87のPID部より
読出されたプログラム識別とCPIDの一致検出回路で
ある。ゲ−ト回路96は第1MCR87の属性部より読
出された属性(E、R、W、C)の内(R、W、C)を
一致回路94出力でゲートしRビットをEビットでもゲ
ートする回路である。回路98はWビットとOWビット
の論理和、RビットとCRビットとORビットの論理和
を作成しE、Cビットはスルーとする回路である。アク
セスチェック回路70、貸出しチェック回路73は前記
図3の回路と同様である。
【0052】変換チェック制御部85は命令演算処理部
7のアクセス要求を受けるとコマンドとアクセスコード
をACCR79、論理アドレスをLAR75にセットし
前記アドレス変換を行う。ミスヒットであれば前記PT
21より対応ページの情報をロード後アドレス変換す
る。アドレス変換と同時にコマンドに従ってアクセスチ
ェックをする。コマンドがメモリアクセス(MA)で且
つアクセスコードが命令読み出しであれば第1MCR8
7より読出した属性のE、R、ビットがオンであるかア
クセスチェック回路70で判定しオンであれば読出した
プログラム識別をCPID92にセットし、又その命令
読出しを許可する。データの読出し書込みアクセスであ
れば第1MCR87より読出したプログラム識別がCP
IDに一致し、属性のR、Wビットがオンかを上記対応
の回路で判定し、その結果に応じアクセスを許可/抑止
する。又共用ページの読出しは第2MCR88より読出
したCRビット値により許可/抑止する。コマンドがペ
ージ貸出し(REN)であれば第1MCR87より読出
したプログラム識別がCPIDに一致し、属性のR、W
ビットがアクセスコードで指定されている貸出し時属性
を含むものであれば貸出し時属性を第2MCR88の対
応エントリに書き込む。これによりこの後のアクセスで
プログラム識別がCPIDに一致しなくても貸出しペー
ジアクセスは許容される。尚、ページ貸出しのリセット
はリセットする属性対応のアクセスコードのビットをオ
フとするRENコマンドをセット時と同様に処理するこ
とで実現される。
【0053】次にプログラムN28をプログラムファイ
ル43からメモリ2にロードし初期メモリ設定後、実行
開始しプログラムN28がページを貸出しIOS25を
呼び出しリターン後ページ貸出しをリセットし実行終了
する例について、図11、12のフローチャートに基づ
き、図4、図6、図9、図10を参照しプログラム制御
部32、プログラム領域生成部31、アクセスチェック
機構10の動作を説明する。
【0054】プログラム制御部32は操作者の指示を受
けファイルデバイス4上のプログラムファイル43を
読込バッファ24に読込みバッファアドレス、サイズを
伴いプログラム領域生成部31に初期メモリ設定指示を
する(図11のS21)。バッファには図4に示す実行
形式のプログラムファイルのヘッダー44と実行モジュ
ール45が読み込まれている。ヘッダーにはヘッダー、
実行モジュールのサイズ46、セグメント定義47、セ
グメントリロケーション情報48が含まれている。セグ
メント定義はコード、データ、スタック別にセグメント
名とそのサイズが記載され、リロケーション情報には各
セグメントにアクセスするために使用する命令演算処理
部7のセグメントレジスタと各セグメントの記述子を該
レジスタにロードする命令の位置が記載されている。
【0055】プログラム領域生成部31はヘッダー44
を参照し、属性エリア19−4を確保する。次にコー
ド、データ、スタック毎にセグメントを自ワークエリア
に列挙しデータは指定(W、C、共用のR専用)でグル
ープ化する。コードは実行可、読出可、としデータでW
rite指定のないものは読出可とし、Write指定
されていれば読出可、書込可とし、スタックは読出可、
書込可とする。これらは共用の読出専用を除きプログラ
ムNにのみ与えられたアクセス権である。次にコード、
データの各グループ、スタックの各グループ単位にサイ
ズの小計を算出しサイズを考慮しページID(通番)を
付与しページIDに論理アドレス、属性(E、R、W、
C)を付与し図6のページIDと論理ページアドレスと
メモリ属性が作成される。図6では命令セグメントをP
1とし論理アドレス上のページ#100、実行可、読出
可を付与し、DT1セグメントをP2、P3とし論理ア
ドレス上のページ#201、#202と読出可、書込可
を付与しDT2セグメントをP4とし論理アドレス上の
ページ#203と読出可、書込可を付与しSTSTKセ
グメントをP5とし論理アドレス上のページ#500と
読出可、書込可を付与する(図11のS22−1)。
【0056】次サブステップではページ使用表11−2
を参照し各ページIDにページ番号を付与する。共用の
読出専用セグメントのページIDにはシステムプログラ
ムのページ使用表に付随する情報を検索し登録されてあ
ればそのページ番号を付与し、これ以外は未使用ページ
を採番しページ番号を付与する。図6のページIDと論
理ページアドレスとメモリ属性とページ番号(PF
A)、が自ワークエリアに作成される(図11のS22
−2)。
【0057】次に各セグメントのベースアドレス、サイ
ズを計算しセグメント記述子をDT17に書込み実行モ
ジュールのセグメント記述子ロード命令のセレクタ値を
上記書込み位置に合わせておく(図11のS22−
3)。次サブステップでは属性エリア19−4にプログ
ラムN論理アドレス一覧を作成する。属性値そのもので
なくPT21を通じ属性表を指す論理アドレス一覧を格
納する。即ち、ページIDと論理ページアドレスをプロ
グラムNの属性エリア19−4に格納する(図11のS
22−4)。そしてPT21用エリアを確保し、エリア
の先頭アドレスをPTDR20の論理ページアドレスの
上位に対応するエントリに書込み、PTエリアの論理ペ
ージアドレスの下位に対応するエントリにページ番号
(PFA)、制御ビット、プログラム識別、属性を書込
む(図11のS22−5)。尚制御ビットの命令セグメ
ントページのP(ページが存在することを表示)ビット
はリセット状態を書き込む。ATDR16の対応エント
リにプログラムN属性エリアアドレスを書き込む(図1
1のS22−6)。読込バッファ内コード部をプログラ
ムNの命令セグメントに移送する。この書込みについて
はアクセスチェック機構10の変換アクセスチェック制
御部85は命令セグメントページの制御ビットの内のP
ビットがセットされてなくプログラム領域生成部31の
アクセス(CPID:プログラム領域生成部31のI
D)であることで例外的に実行可、読出可のみのページ
への書き込みを許容する。移送後PT21上の命令セグ
メントページのPビットをセットする。最後に命令セグ
メント記述子アドレスと共にメモリ設定終了をプログラ
ム制御部32に通知する(図11のS22−7)。
【0058】プログラム制御部32は、プログラムNを
呼び出す(図11のS23)。命令演算処理部7はプロ
グラムNの命令読出し要求をアドレス変換機構8に対し
て行なうが新規設定ページにつきミスヒットしPT21
より対応エントリをロードする。その後このアクセスは
許可され、CPID92にはN(プログラムNの識別)
がセットされる。プログラムNはソート処理1を実行す
る。この処理においてDT1セグメント対応ページへの
アクセスをCPID、第1メモリ制御レジスタ87が許
可する。この後、DT2(ソート対象データ読込エリア
ページ)の貸出準備をする。即ちアドレスをDT2論理
アドレスとし貸出時属性としてアクセスコードのWビッ
トをオンとする貸出設定命令を発行する(図12のS2
4)。
【0059】アクセスチェック機構10は第1メモリ制
御レジスタ87からDT2ページのPID、属性を読出
し、その結果PID値がCPID92と一致し、又属性
のWビットオンで貸出し可と判定する。そして第2メモ
リ制御レジスタ88のDT2ページにアクセスコードレ
ジスタのR、W値を書き込む(OWビットをオンにす
る)(図12のS25)。
【0060】プログラムNはIOS呼び出しを実行する
(図12のS26)。命令演算処理部7はIOSプログ
ラムの命令読出しを行い、このアクセスは第1メモリ制
御レジスタ87により許可され、CPID92には同時
に読出されたIOSのPID(=1)がセットされる。
IOSはデータをDT2に読み込み(第2メモリ制御レ
ジスタ88のOWビットがアクセス許可)IRET命令
を実行する(図12のS27)。
【0061】プログラムNのIRET先命令読出が行わ
れCPID92にNがセットされる。プログラムNは返
値を確認し、DT2ページ貸出設定をリセットする命令
(アドレスをDT2の論理アドレスとしアクセスコード
が全てリセット状態の貸出し命令)を発行後、ソート処
理2を実行しプログラムの実行終了をプログラム制御部
32に通知(終了割り込み)する(図12のS28)。
【0062】次に、本発明の第3の実施の形態について
説明する。本実施形態は前記プログラムNのページ貸し
出し設定命令による第2メモリ制御レジスタのOR、O
Wビットセットを、プログラムNをロード時に他の属性
と共に生成し、他の属性が第1メモリ制御レジスタにロ
ードされる時、OR、OW属性を第2メモリ制御レジス
タにロードしておく。そしてプログラムNが例えばIO
Sを呼び出す直前で命令によりOR、OW属性を有効化
し、IOSよりリターン時これを無効化するものであ
る。
【0063】図4を参照し、プログラム領域生成部11
或いは31は前記属性表を自ワークエリアに作成すると
先ず他プログラム呼び出し命令に着目し、その引値(コ
ール時パラメータ)を解析する。その結果コール先にバ
ッファエリア乃至データエリアを渡していればそのセグ
メントを割り出す。図4の例では102番地の引値設定
で、ファイル読み込みを指定しその前にDT2セグメン
トをデータセグメントレジスタに設定しているのでDT
2セグメントをバッファとして渡していると判定する。
そして図6の斜線部に示している様にP4のOWビット
をオンに設定する。このOWビットは図5の属性表、図
9の属性表22にも書き込まれる。アクセスチェック機
構9乃至10は属性表をロード時、他の属性を第1メモ
リ制御レジスタにロードする際OR、OW属性を第2メ
モリ制御レジスタにロードしておく。
【0064】図3を参照しアクセスチェック機構9のア
クセスチェック制御回路72は上記有効化命令に基づく
コマンド(ENREN)を受けるとCPBR57をTP
BR58にコピーし第2メモリ制御レジスタ62のO
R、OWビットマップを有効化する。無効化命令に基づ
くコマンド(DISREN)を受けるとTPBR58を
クリアないしこのレジスタの有効性表示ビットをリセッ
トし第2メモリ制御レジスタ62のOR、OWビットマ
ップを無効化する。
【0065】図10を参照しアクセスチェック機構10
の変換チェック制御部85は上記有効化命令に基づくコ
マンド(ENREN)を受けるとCPID92を貸出し
元プログラム識別(RPID)93にコピーし第2メモ
リ制御レジスタ88のOR、OWビットを有効化する
(一致回路95の出力がOR、OW読出し出力を回路9
7でゲートする)。無効化命令に基づくコマンド(DI
SREN)を受けるとRPID93をクリアないしこの
レジスタの有効性表示ビットをリセットし第2メモリ制
御レジスタ88のOR、OWビットを無効化する。
【0066】次に、本発明の第4の実施の形態について
説明する。本実施形態では前記プログラムN(ソート)
が実行された後、プログラム(マージ)が実行結果を受
け取り連携して動作する場合にプログラム(マージ)の
メモリエリア生成を高速に行う方式を示す。
【0067】図4を参照し前記プログラム制御部12、
乃至32はプログラムN(ソート)のロード時にヘッダ
ー44内の連携情報49をチェックし本プログラム実行
後コード用領域、データ領域、スタック領域を引き渡し
プログラム(マージ)が連携起動されること検出する。
図2を参照しPID表12ー2のエントリNの備考エリ
アに連携起動されるプログラム名(MERG)を記憶し
ておく。プログラムNが実行され終了後プログラム制御
部11乃至31は上記記憶された連携情報をチェック
し、プログラム(マージ)のプログラムファイルをバッ
ファに読み込み、PIDとしてNを指定しメモリの引継
設定をプログラム領域生成部11乃至31に指示する。
同時にPID表のエントリNをマージに更新する。プロ
グラム領域生成部11ないし31はプログラムファイル
のヘッダー情報を参照し、又プログラムN属性エリア情
報をもとに各セグメントのページ数が越えてないかチェ
ックする。問題なければ、プログラム(ソート)命令セ
グメントにバッファのコード部を移送してメモリ引き継
ぎ設定を完了する。
【0068】上記第1の実施形態ではアクセスチェック
機構9の第1メモリ制御レジスタが一つの例を示した
が、これを複数とし実行するプログラムの切替えに伴う
属性表入替えを最小にし、実行中プログラムに対応する
メモリ制御レジスタを命令読出を許可したメモリ制御レ
ジスタと指定する方式であってもよい。
【0069】上記第2の実施形態ではアクセスチェック
機構10の第1メモリ制御レジスタはページ当たり1エ
ントリのレジスタとし、PIDを保持するようにした
が、これを複数のレジスタとしPIDを持たず、実行中
プログラムに対応するメモリ制御レジスタを命令読出を
許可したメモリ制御レジスタと指定する方式も容易に類
推できる。
【0070】上記実施形態の貸し出されたページを更に
属性、ページを範囲内で限定し又貸しするための命令と
これに対応するアクセスチェック機構9、10の構造等
は容易に類推出来る。
【0071】
【発明の効果】以上説明した様に本発明の第1、5のメ
モリ属性管理方式は、プログラム毎にメモリ属性を生成
しプログラム毎に属性領域に保持し、実行されるプログ
ラムを特定し、その属性をアクセスチェック機構に設定
する手段を持つので、単独動作するプログラムが使用す
るメモリ部分にのみ、メモリ属性許可を与えることが可
能となりプログラム毎に実メモリページアクセスに対す
るメモリ保護が出来る効果がある。
【0072】本発明の第2、3、4、6、7、8のメモ
リ属性管理方式は、プログラム毎にメモリ属性を生成し
プログラム毎に属性領域に保持し、実行されるプログラ
ムを特定し、その属性をアクセスチェック機構に設定す
る手段、他プログラムが所有する領域への正当なアクセ
スをエリア、期間を限定し許可設定する手段を持つの
で、そのプログラムが使用するメモリ部分にのみ、メモ
リ属性許可を与えることが可能となりプログラム毎に実
メモリページアクセスに対するメモリ保護が出来る効果
がある。
【0073】本発明の第3のメモリ属性管理方式は、属
性表をアクセス属性の種類毎で、メモリ管理単位に対応
し許可ないし禁止を示すビットマップを含み構成するの
でビットマップデータをワード単位で扱え複数ページに
対する属性の処理が高速化できる効果がある。
【0074】本発明の第4のメモリ属性管理方式は、実
行中のプログラムによる追加メモリ領域要求及びその解
放通知に呼応した属性表の更新を効率的に行ない、属性
管理処理の処理時間を低減する効果がある。
【0075】本発明の第6のメモリ属性管理方式は、多
数のプログラムがマルチプロセス、マルチスレッドで並
列実行される環境においても、処理装置のメモリアクセ
ス速度を低下させることなく、又少ない金物乃至ステッ
プの追加で前記プログラム毎にメモリ保護が出来る効果
がある。
【0076】本発明の第7のメモリ属性管理方式は、プ
ログラムのエリア貸し出し設定、解除命令を簡単にし、
これらの命令数を低減する効果がある。
【0077】本発明の第8のメモリ属性管理方式は、連
携起動されるプログラムの領域生成を高速化し、属性エ
リアサイズを縮小する効果がある。
【図面の簡単な説明】
【図1】本発明のメモリ属性管理方式が適用される情報
処理装置例を示すブロック図
【図2】本発明のメモリ属性管理方式の第1の実施形態
のメモリ上に配置された要素を示す図。
【図3】本発明のメモリ属性管理方式の第1、第3の実
施形態におけるアクセスチェック機構9のブロック図。
【図4】実行形式プログラムファイルのヘッダー、実行
モジュールの例を示す図。
【図5】本発明のメモリ属性管理方式の第1、第3の実
施形態におけるプログラムN属性表の内容を示す図。
【図6】本発明のメモリ属性管理方式の第2、第3の実
施形態におけるプログラムN属性表作成イメージを示す
図。
【図7】本発明のメモリ属性管理方式の第1実施形態の
動作を示すフローチャート。
【図8】本発明のメモリ属性管理方式の第1実施形態の
動作を示すフローチャート。
【図9】本発明のメモリ属性管理方式の第2の実施形態
のメモリ上に配置された要素を示す図。
【図10】本発明のメモリ属性管理方式の第2、第3の
実施形態におけるアドレス変換機構8とアクセスチェッ
ク機構10のブロック図。
【図11】本発明のメモリ属性管理方式の第2の実施形
態の動作を示すフローチャート。
【図12】本発明のメモリ属性管理方式の第2の実施形
態の動作を示すフローチャート。
【図13】従来のプログラム領域の破壊例を説明するた
めの図。
【符号の説明】
1 プロセッサ 2 メモリ 3 システム制御ユニット 4 ファイルデバイス 5−1 表示装置 5−2 キーボード 6 キャッシュ 7 命令演算処理部 8 アドレス変換機構 9、10 アクセスチェック機構 11、31 プログラム領域生成部 11−4 ATDRポインタ 12、32 プログラム制御部 12−2 プログラム識別(PID)表 13−1 割り込みベクタ表B(IDTB) 13−2 プログラムセレクタ表B(PSELB) 13−3 割り込みベクタ表(IDT) 13−4 プログラムセレクタ表(PSEL) 14、15 プログラム管理エリア 16 属性エリアディレクトリ(ATDR) 17 セグメント記述子表(DT) 18、19 属性エリア 20 ページテーブルディレクトリ(PTDR) 21 ページテーブル(PT) 22 属性表 43 プログラムファイル 44 ヘッダー 45 実行モジュール 51、79 アクセスコードレジスタ(ACCR) 52 メモリアドレスレジスタ(MAR) 53 属性エリアアドレスレジスタ(ATAR) 57 カレントページブロックレジスタ(CPBR) 58 テンポラリページブロックレジスタ(TPB
R) 61、87 第1メモリ制御レジスタ(第1MCR) 62、88 第2メモリ制御レジスタ(第2MCR) 70 アクセスチェック回路 71 貸出チェック回路 72 アクセスチェック制御回路 75 論理アドレスレジスタ(LAR) 76 ページフレームアドレスレジスタ(PFAR) 80 アドレス変換バッファ(TLB−L) 81 アドレス変換バッファ(TLB−R) 85 変換チェック制御部 92 カレントプログラム識別レジスタ(CPID) 93 貸出し元プログラム識別レジスタ(RPID)

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 主記憶上のメモリについて所定の管理単
    位でメモリ属性を保持し、プログラムのメモリアクセス
    可否をチェック後許可抑止するアクセスチェック機構を
    備えた処理装置のメモリ属性管理方式において、プログ
    ラムのメモリへのロード、実行、停止、終了を制御監視
    するプログラム制御部と、プログラムロード時、対象プ
    ログラムファイルの付属情報に基づきプログラムに必要
    なメモリ領域を管理単位で割付け、そのメモリ属性を生
    成し属性表として登録するプログラム領域生成部と、ロ
    ードされているプログラムについてプログラム毎の属性
    表を保持するメモリ属性領域と、実行中のプログラムの
    前記属性表の写しをメモリ制御手段に保持しプログラム
    のメモリアクセス可否をプログラム単位でチェックし許
    可抑制する手段を含むアクセスチェック機構とを有すメ
    モリ属性管理方式。
  2. 【請求項2】 主記憶上のメモリについて所定の管理単
    位でメモリ属性を保持し、プログラムのメモリアクセス
    可否をチェック後許可抑止するアクセスチェック機構を
    備えた処理装置のメモリ属性管理方式において、プログ
    ラムのメモリへのロード、実行、停止、終了を制御監視
    するプログラム制御部と、プログラムロード時、対象プ
    ログラムファイルの付属情報に基づきプログラムに必要
    なメモリ領域を管理単位で割付け、そのメモリ属性を生
    成し属性表として登録するプログラム領域生成部と、ロ
    ードされているプログラムについてプログラム毎の属性
    表を保持するメモリ属性領域と、実行中のプログラムの
    前記属性表の写しとテンポラリのメモリ属性をそれぞれ
    第1、2のメモリ制御手段に保持しプログラムのメモリ
    アクセスの種類をチェックし許可抑制するアクセスチェ
    ック機構とプログラムが割当てられたメモリをアドレ
    ス、付与属性を指定し呼出し先のプログラムに貸出す命
    令手段とを含み、前記プログラム制御部はプログラムの
    実行開始に際しそのプログラムの属性表を第1のメモリ
    制御レジスタに設定し、アクセスチェック機構はプログ
    ラム単位でチェックをするとともに、前記貸出し命令を
    受けると指定するアドレスの属性を第1のメモリ制御手
    段より得、付与属性が該属性の範囲以下であればこれを
    第2のメモリ制御手段に設定し次のプログラムのメモリ
    アクセスチェックを第1と第2のメモリ制御手段の属性
    を加えて行うことを特徴とする請求項1記載のメモリ属
    性管理方式。
  3. 【請求項3】 前記属性表はアクセス属性の種類毎で、
    メモリ管理単位に対応し許可ないし禁止を示すビットマ
    ップを含むことを特徴とする請求項1、2記載のメモリ
    属性管理方式。
  4. 【請求項4】 実行中のプログラムによる追加メモリ領
    域要求及びその解放通知に呼応し、前記メモリ制御手段
    の該メモリ管理単位番号に対応の属性値を更新する手段
    と更新したことを表示する手段を有し、又実行中のプロ
    グラムの切り替えに際し前記更新表示がされていればメ
    モリ制御手段の属性値を実行中のプログラムの属性領域
    にセーブする手段を有すことを特徴とする請求項1、
    2、3記載のメモリ属性管理方式。
  5. 【請求項5】 論理アドレスを主記憶上のメモリアドレ
    スに変換するアドレス変換表、メモリ管理単位でメモリ
    属性を保持する属性表、実行状態のプログラムに関しア
    ドレス変換表の写しを持ちメモリ管理単位で前記アドレ
    ス変換する機構、プログラムのメモリ管理単位へのアク
    セスをチェックする機構を備えた処理装置のメモリ属性
    管理方式において、プログラムのロード、実行、停止、
    終了を制御し、ロードするプログラム名に一意にプログ
    ラム識別を付与し、メモリの確保を指示するプログラム
    制御部と、前記指示を受けプログラムファイルの付属情
    報に基づきプログラムが使用する論理アドレス情報に対
    し管理単位毎にメモリ属性を生成しメモリ管理単位番号
    を割付け、メモリ管理単位番号をアドレス変換表のエン
    トリに登録し、生成したメモリ属性を属性表の前記エン
    トリにプログラム識別とともに登録するプログラム領域
    生成部と、前記各プログラムの管理単位毎の論理アドレ
    スを保持する属性領域と、前記アドレス変換機構と、実
    行状態の複数プログラムに関し属性表のプログラム識
    別、メモリ属性の写しをメモリ制御手段の対応エントリ
    に保持するとともに実行中のプログラムのメモリ制御手
    段のエントリを指定するカレント指定手段を有すアクセ
    スチェック機構とを含み、アクセスチェック機構は命令
    読出しアドレスに対し実行可の属性をもつメモリ制御手
    段のエントリのプログラム識別をカレント指定手段に設
    定し、以降のデータアクセスアドレスに対応するエント
    リのプログラム識別がカレント識別と一致することを含
    めてアクセスチェックすることを特徴とするメモリ属性
    管理方式。
  6. 【請求項6】 論理アドレスを主記憶上のメモリアドレ
    スに変換するアドレス変換表、メモリ管理単位でメモリ
    属性を保持する属性表、実行状態のプログラムに関しア
    ドレス変換表の写しを持ちメモリ管理単位で前記アドレ
    ス変換する機構、プログラムのメモリ管理単位へのアク
    セスをチェックする機構を備えた処理装置のメモリ属性
    管理方式において、プログラムのロード、実行、停止、
    終了を制御し、ロードするプログラム名に一意にプログ
    ラム識別を付与し、メモリの確保を指示するプログラム
    制御部と、前記指示を受けプログラムファイルの付属情
    報に基づきプログラムが使用する論理アドレス情報に対
    し管理単位毎にメモリ属性を生成しメモリ管理単位番号
    を割付け、メモリ管理単位番号をアドレス変換表のエン
    トリに登録し、生成したメモリ属性を属性表の前記エン
    トリにプログラム識別とともに登録するプログラム領域
    生成部と、前記各プログラムの管理単位毎の論理アドレ
    スを保持する属性領域と、前記アドレス変換機構と、実
    行状態の複数プログラムに関し属性表のプログラム識
    別、メモリ属性の写しを第1のメモリ制御手段の対応エ
    ントリに、テンポラリのメモリ属性を第2のメモリ制御
    手段の前記対応エントリに保持するとともに実行中のプ
    ログラムのメモリ制御手段のエントリを指定するカレン
    ト指定手段を有すアクセスチェック機構と、プログラム
    が割当てられたメモリに関し論理アドレス、付与属性を
    指定し他プログラムに貸出す命令手段とを含み、アクセ
    スチェック機構は命令読出しアドレスに対し実行可の属
    性をもつ第1のメモリ制御手段のエントリのプログラム
    識別をカレント指定手段に設定し、以降のデータアクセ
    スアドレスに対応するエントリのプログラム識別がカレ
    ント識別と一致することを含めてアクセスチェックを
    し、貸出設定では付与属性がアドレスに対応する第1の
    メモリ制御手段のエントリの属性の範囲以下であればこ
    れを第2のメモリ制御手段に設定することを特徴とする
    請求項5記載のメメモリ属性管理方式。
  7. 【請求項7】 前記プログラム領域生成部が前記プログ
    ラムのロード時に生成する属性に貸出し時属性を含めて
    属性表を生成し登録する手段を有し、その写しがメモリ
    制御手段に設定され、前記貸出し可のメモリ管理単位の
    前記貸出し時属性を有効化する命令手段を有し、前記ア
    クセス制御機構はメモリ制御手段の前記有効化命令を含
    むプログラムに対応した貸し出し時属性を有効化する手
    段を有すことを特徴とするメモリ属性管理方式。
  8. 【請求項8】 前記プログラム制御部は第1のプログラ
    ムが使用した領域を移管し第2のプログラムが連携起動
    されることを検出する手段、第1のプログラム終了時
    に、該プログラムに付与していたプログラム識別を第2
    のプログラム名に対応付ける手段、前記プログラム領域
    生成部に引継を通知する手段を有し、前記プログラム領
    域生成部は該通知により第1のプログラムの属性領域を
    第2のプログラム用にする手段を有すことを特徴とする
    請求項1、2、3、4、5、6、7記載のメモリ属性管
    理方式。
JP23185999A 1999-08-18 1999-08-18 プログラム単位メモリアクセス属性管理方式 Expired - Fee Related JP3607540B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23185999A JP3607540B2 (ja) 1999-08-18 1999-08-18 プログラム単位メモリアクセス属性管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23185999A JP3607540B2 (ja) 1999-08-18 1999-08-18 プログラム単位メモリアクセス属性管理方式

Publications (2)

Publication Number Publication Date
JP2001056783A true JP2001056783A (ja) 2001-02-27
JP3607540B2 JP3607540B2 (ja) 2005-01-05

Family

ID=16930148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23185999A Expired - Fee Related JP3607540B2 (ja) 1999-08-18 1999-08-18 プログラム単位メモリアクセス属性管理方式

Country Status (1)

Country Link
JP (1) JP3607540B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004537786A (ja) * 2001-06-08 2004-12-16 ヒューレット・パッカード・カンパニー オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム
JP2005528686A (ja) * 2002-05-31 2005-09-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント
JP2007058776A (ja) * 2005-08-26 2007-03-08 Toshiba Corp メモリアクセス制御装置
GB2434892A (en) * 2006-02-07 2007-08-08 Intel Corp Computer memory attributes
JP2008282417A (ja) * 2001-03-30 2008-11-20 Mips Technologies Inc コンピュータメモリ保護方式の拡張機構
WO2008152846A1 (ja) * 2007-06-13 2008-12-18 Renesas Technology Corp. 制御回路および処理装置
JP2011181089A (ja) * 2006-02-22 2011-09-15 Sony Computer Entertainment Inc 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
US8078801B2 (en) 2006-12-27 2011-12-13 Intel Corporation Obscuring memory access patterns
US8296546B2 (en) 2006-08-15 2012-10-23 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US8533428B2 (en) 2005-01-14 2013-09-10 Intel Corporation Translating a guest virtual address to a host physical address as guest software executes on a virtual machine
US8892810B2 (en) 2011-02-18 2014-11-18 Kabushiki Kaisha Toshiba Semiconductor device and memory protection method
WO2018158909A1 (ja) * 2017-03-02 2018-09-07 三菱電機株式会社 情報処理装置およびアクセス管理プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904518B2 (en) 2010-05-07 2014-12-02 Panasonic Corporation Information processing device, information processing method, and program distribution system

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282417A (ja) * 2001-03-30 2008-11-20 Mips Technologies Inc コンピュータメモリ保護方式の拡張機構
JP2004537786A (ja) * 2001-06-08 2004-12-16 ヒューレット・パッカード・カンパニー オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム
JP4688490B2 (ja) * 2002-05-31 2011-05-25 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント
JP2005528686A (ja) * 2002-05-31 2005-09-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント
US10114767B2 (en) 2005-01-14 2018-10-30 Intel Corporation Virtualizing physical memory in a virtual machine system using a hierarchy of extended page tables to translate guest-physical addresses to host-physical addresses
US9164920B2 (en) 2005-01-14 2015-10-20 Intel Corporation Using permission bits in translating guests virtual addresses to guest physical addresses to host physical addresses
US8533428B2 (en) 2005-01-14 2013-09-10 Intel Corporation Translating a guest virtual address to a host physical address as guest software executes on a virtual machine
JP2007058776A (ja) * 2005-08-26 2007-03-08 Toshiba Corp メモリアクセス制御装置
JP4519738B2 (ja) * 2005-08-26 2010-08-04 株式会社東芝 メモリアクセス制御装置
US8812792B2 (en) 2006-02-07 2014-08-19 Intel Corporation Technique for using memory attributes
US8560781B2 (en) 2006-02-07 2013-10-15 Intel Corporation Technique for using memory attributes
GB2434892A (en) * 2006-02-07 2007-08-08 Intel Corp Computer memory attributes
GB2434892B (en) * 2006-02-07 2008-11-26 Intel Corp Technique for using memory attributes
JP2011181089A (ja) * 2006-02-22 2011-09-15 Sony Computer Entertainment Inc 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
US9372807B2 (en) 2006-08-15 2016-06-21 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US9298641B2 (en) 2006-08-15 2016-03-29 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US10747682B2 (en) 2006-08-15 2020-08-18 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US9678890B2 (en) 2006-08-15 2017-06-13 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US8949571B2 (en) 2006-08-15 2015-02-03 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US9122624B2 (en) 2006-08-15 2015-09-01 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US8296546B2 (en) 2006-08-15 2012-10-23 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US9251094B2 (en) 2006-08-15 2016-02-02 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US9262338B1 (en) 2006-08-15 2016-02-16 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US8601233B2 (en) 2006-08-15 2013-12-03 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US9298640B2 (en) 2006-08-15 2016-03-29 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US9330021B2 (en) 2006-08-15 2016-05-03 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US9372806B2 (en) 2006-08-15 2016-06-21 Intel Corporation Synchronizing a translation lookaside buffer with an extended paging table
US8078801B2 (en) 2006-12-27 2011-12-13 Intel Corporation Obscuring memory access patterns
JP2008310460A (ja) * 2007-06-13 2008-12-25 Renesas Technology Corp 制御回路、記憶媒体、処理装置、組込みシステムならびに領域管理方法
WO2008152846A1 (ja) * 2007-06-13 2008-12-18 Renesas Technology Corp. 制御回路および処理装置
US9336065B2 (en) 2011-02-18 2016-05-10 Kabushiki Kaisha Toshiba Semiconductor device and memory protection method
US8892810B2 (en) 2011-02-18 2014-11-18 Kabushiki Kaisha Toshiba Semiconductor device and memory protection method
WO2018158909A1 (ja) * 2017-03-02 2018-09-07 三菱電機株式会社 情報処理装置およびアクセス管理プログラム
JPWO2018158909A1 (ja) * 2017-03-02 2019-06-27 三菱電機株式会社 情報処理装置およびアクセス管理プログラム

Also Published As

Publication number Publication date
JP3607540B2 (ja) 2005-01-05

Similar Documents

Publication Publication Date Title
JP3259969B2 (ja) キャッシュメモリ制御装置
US5280614A (en) Apparatus and method for controlling access to data using domains
US8850557B2 (en) Processor and data processing method with non-hierarchical computer security enhancements for context states
US5845331A (en) Memory system including guarded pointers
US8943288B2 (en) Method of controlling memory access
US6542919B1 (en) Operating system for use with protection domains in a single address space
US5892944A (en) Program execution and operation right management system suitable for single virtual memory scheme
JP4818793B2 (ja) マイクロコンピュータ及びメモリアクセスの制御方法
TWI603223B (zh) 記憶體保護電路、處理裝置、及記憶體保護方法
US9626303B2 (en) Data processing apparatus and address space protection method
EP2284712A2 (en) Method of controlling a cache memory to increase an access speed to a main memory, and a computer using the method
EP0827610A1 (en) Protection domains in a single address space
JP3607540B2 (ja) プログラム単位メモリアクセス属性管理方式
JP7359837B2 (ja) メモリ・システム内に記憶されているメモリ保護テーブルを使用するメモリ保護ユニット
JP7096840B2 (ja) 能力メタデータを管理するための装置及び方法
JP3454854B2 (ja) メモリ管理装置及び方法
JP7397057B2 (ja) メモリ・システム内に記憶されている制御テーブルのための二分探索手順
JP3485940B2 (ja) 仮想記憶制御装置及び方法
CN111914284B (zh) 操作系统中进程地址空间隔离保护方法、装置及设备
EP0428079A2 (en) Translation look aside buffer with parallel exception checking and update bypass
JP3585510B2 (ja) プログラム実行管理装置及びプログラム実行管理方法
EP0389886B1 (en) Ring reduction logic mechanism
JPS63240657A (ja) 記憶保護装置
JPH0488537A (ja) 情報処理システム
JPH0488538A (ja) 情報処理システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041007

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S633 Written request for registration of reclamation of name

Free format text: JAPANESE INTERMEDIATE CODE: R313633

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081015

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091015

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091015

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101015

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111015

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121015

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees