JPH05134930A - メモリ保護装置 - Google Patents

メモリ保護装置

Info

Publication number
JPH05134930A
JPH05134930A JP32390791A JP32390791A JPH05134930A JP H05134930 A JPH05134930 A JP H05134930A JP 32390791 A JP32390791 A JP 32390791A JP 32390791 A JP32390791 A JP 32390791A JP H05134930 A JPH05134930 A JP H05134930A
Authority
JP
Japan
Prior art keywords
memory
protection
storage means
information storage
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.)
Pending
Application number
JP32390791A
Other languages
English (en)
Inventor
Shigeki Yamada
茂樹 山田
Katsumi Maruyama
勝己 丸山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP32390791A priority Critical patent/JPH05134930A/ja
Publication of JPH05134930A publication Critical patent/JPH05134930A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 複数のメモリブロックを多数のプロセスが共
用使用するシステムで、メモリブロックの内容が誤った
プロセス等により破壊されるのを防ぎ、メモリ保護のた
めのオーバヘッドが少なく、可変長のメモリブロックに
も対応できるメモリ保護装置を提供する。 【構成】 複数のメモリブロック25−iのうちのある
メモリブロックをアクセスする前に、そのメモリブロッ
クに対応するメモリ保護情報記憶手段17に保護キー2
0−iを設定し、メモリブロックに関する属性キーをカ
レントキーレジスタ19に設定しておく。メモリブロッ
クへのアクセスがある度にメモリアクセスと並行して、
メモリ保護記憶手段17内のメモリアドレスに対応する
メモリブロックの保護キー20−iとカレントキーレジ
スタ19の属性キーとを比較し、予め定められた条件を
満足すればメモリアクセスを許容し、満足しなければメ
モリアクセスを禁止し外部に通知する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータシステムの
メモリ保護装置に関し、とくに複数のメモリブロックを
多数のプロセスが共用使用するシステムにおいて、メモ
リブロックの内容が誤ったプロセス等によって破壊され
るのを防ぎ、信頼性の高いシステムを構築する技術に関
するものである。
【0002】
【従来の技術】コンピュータシステムのメモリを複数の
メモリブロックに分け、それらを多数のプロセスで共用
使用するシステムにおいては、あるプロセスの暴走等に
より、それと無関係なメモリブロックの内容が破壊され
システム全体をダウンさせるという問題があった。
【0003】これを防ぐために、従来は、メモリを固定
長のブロックに分割し、これとは別にメモリ上の別エリ
アにメモリ保護テーブルを用意し、メモリ保護テーブル
に各メモリブロック対応にキー情報(プロテクトに必要
な情報)を格納する方式が考案されていた。
【0004】この方式では、オペレーティングシステム
(OS)等が、メモリブロックを使用する前に、そのブ
ロックに対応するメモリ保護テーブルに、必要なキー情
報を予め格納しておき、あるプロセスがメモリブロック
を使用する時に、まずメモリ保護テーブルをアクセス
し、対応するキー情報を読みだして実行中のプロセスが
有するキー情報と比較を行って正常であれば、次に実際
のメモリブロックへのアクセスを行い、異常が検出され
れば、処理を中断して例外処理に移行する等の方法が考
えられていた(例えば特開平3−52046号公報)。
【0005】
【発明が解決しようとする課題】従来の方式では、メモ
リブロックを読み書きしようとする度に毎回メモリ保護
テーブルをアクセスしてチェックを行うので、チェック
を行わない方式に比較してメモリアクセス頻度が2倍に
なり、システム処理能力を大きく低下させるという問題
があった。
【0006】また、メモリブロックは固定長で構成する
ことが原則であり、もし、2倍の長さのメモリブロック
長も使用する場合には、1つのメモリブロックに対して
もメモリ保護テーブルの連続する2箇所にキー情報をセ
ットする等の処理オーバヘッドが付加されるので、処理
能力が更に低下し、融通性も少なく使いにくいという欠
点があった。
【0007】本発明の目的は、メモリ保護の実現手段を
改良して、メモリ保護のためのオーバヘッドが少なく、
更に可変長のメモリブロックにも対応できる柔軟なメモ
リ保護装置を提供することにある。
【0008】
【課題を解決するための手段】本発明は上記目的を達成
するため、複数のメモリブロックと、各メモリブロック
に対応して保護情報を格納する複数個のメモリ保護情報
記憶手段と、あるメモリブロックに関する属性情報を記
憶するカレントキー情報記憶手段とを備え、あるメモリ
ブロックをアクセスする前に予め、該メモリブロックに
対応するメモリ保護情報記憶手段に保護キーを設定し、
該メモリブロックに関する属性キーをカレントキー情報
記憶手段に設定しておき、メモリブロックへのアクセス
がある度に該メモリアクセスと並行して、メモリ保護記
憶手段内の該メモリアドレスに対応するメモリブロック
の保護キーとカレントキー情報記憶手段内の属性キーと
を比較し、予め定められた条件を満足すれば該メモリア
クセスを許容し、満足しなければ該メモリアクセスを禁
止してアクセス違反が生じたことを外部に通知すること
を特徴とする。
【0009】また前記複数個のメモリ保護情報記憶手段
を連想メモリを用いて構成し、メモリアドレス情報をも
とに前記複数個のメモリ保護情報記憶手段が互いに並列
的に動作する連想検察を行うことによって、複数個のメ
モリ保護情報記憶手段の中から当該メモリブロックに対
応するメモリ保護情報記憶手段を選択することを特徴と
する態様は有効である。
【0010】さらに前記複数個のメモリ保護情報記憶手
段をランダムアクセスメモリを用いて構成し、メモリア
ドレス情報の上位ビットをインデクシングして複数の前
記メモリ保護情報記憶手段の中から当該メモリブロック
に対応するメモリ保護情報記憶手段を選択することを特
徴とする態様は有効である。
【0011】また任意のNバイト長のメモリブロックに
対してlog2 Nビットをマスクパタンとして前記カレ
ントキー情報記憶手段に記憶しておき、前記メモリアド
レスの下log2 Nビットをマスクして連想検索するこ
とにより、任意のサイズのメモリブロックの保護を行う
態様は効果的である。
【0012】さらにまた、任意のNバイト長のメモリブ
ロックに対してlog2 Nビットをマスクパタンとして
前記カレントキー情報記憶手段に記憶しておき、前記メ
モリアドレスの下log2 Nビットを除いた値×保護キ
ー情報長をオフセット値としてメモリ保護情報記憶手段
にアクセスすることにより、任意のサイズのメモリブロ
ックの保護を行う態様は効果的である。
【0013】
【作用】本発明では、メモリ保護テーブルへのアクセス
モード(I/Oアクセスモード)とメモリブロックへの
アクセスモード(メモリモード)を変え、I/Oアクセ
スモードによってメモリ保護情報記憶手段への読み書き
を行い、メモリモードによって、メモリブロックへのア
クセスと並行してメモリ保護情報記憶手段へのアクセス
を行うことによって、チェックのための時間が処理能力
に影響を与えないように構成している。
【0014】すなわち、本発明ではメモリ保護テーブル
をメモリブロックを格納する一般のメモリから分離し
て、メモリ保護テーブルとメモリブロックとが同時アク
セス出来るようにすることによって処理能力を低下させ
ることなくメモリ保護チェックを行うことができる。
【0015】また可変長メモリブロックに対しては、連
想メモリのマスク機能(検索時に比較データの一部のデ
ータを検索対象外にするための制御データ)を用いるこ
とによって、処理オーバヘッドの極めて少ない融通性の
あるシステムを提供できる。
【0016】以下図面にもとづき実施例について説明す
る。
【0017】
【実施例】図1は本発明の第1の実施例の装置を組み込
んだシステム構成図である。
【0018】同図において11はプロセッサ、12はメ
モリバス、13は本発明を含むメモリシステム、14は
メモリアドレスレジスタ、15はメモリデータレジス
タ、16はメモリシステム13の全体制御を司るアクセ
ス制御部、17はメモリ保護制御部、18は複数のメモ
リブロックから構成されるメモリプール、19は現在実
行中のプロセスが有するキー情報(カレントキー)を記
憶するカレントキーレジスタ、20−1、20−2、・
・・20−kはメモリプールの各メモリブロックのキー
情報を格納する保護キーレジスタ、21−1、21−
2、・・・21−kは各保護キーレジスタ20−1、2
0−2、・・・20−kの内容を、メモリアドレスレジ
スタ14の内容及びカレントキーレジスタ19の内容と
比較する比較器で、特定のビット群について比較を抑止
するマスク機能を備えている。
【0019】保護キーレジスタ20−iと比較器21−
iをひとまとめにしたものを保護セル22−iと呼ぶ。
【0020】各保護セルは並列的に比較を行う機能、即
ち連想アクセス機能を有する。
【0021】23は比較を行った結果、条件を満足する
保護セルのアドレスを抽出する一致アドレス生成器、2
4は比較結果の状態情報を記憶する状態レジスタであ
る。
【0022】図1においてメモリシステム13内のメモ
リプール18へのアクセスは、メモリバス12(アドレ
スバス及びデータバス)上に図2に示すアドレスバスフ
ォーマット、データバスフォーマットの各情報のメモリ
アドレス41、メモリデータ42をのせることによって
行われる。
【0023】一方、メモリシステム13内のメモリ保護
制御部17へのアクセス(各種制御情報の書込み、読み
出し)はI/Oアクセスモードで行われる。
【0024】I/Oアクセスモードはプロセッサ11の
周辺装置を制御するためのモードで具体的には図3に示
すアドレスバスフォーマット、データバスフォーマット
の情報をプロセッサ11とメモリシステム13との間で
転送する。
【0025】図3のI/O制御モード指定フィールド5
1はプロセッサ周辺装置の識別番号を指定するフィール
ドで、メモリ保護制御部17や、各保護セル22−i、
カレントキーレジスタ19等、各情報転送単位毎に固有
の番号が与えられる。
【0026】I/Oアクセスモードとメモリアクセスモ
ードの間の識別はアドレスバスの上位ビットに互いに異
なる値を割り当てることによって互いに識別可能であ
る。
【0027】52はコマンドフィールドで、メモリ保護
制御部17に対する各種制御内容を指示する部分であ
る。
【0028】53はメモリブロック上位アドレスフィー
ルドで、プロテクト対象のメモリブロックの上位アドレ
スを示す。
【0029】なお、本発明においては同一メモリブロッ
ク内の各アドレスの上位ビットは同一になるようにメモ
リ割り付けを行っている。
【0030】54は当該メモリブロックを使用するプロ
セス番号(PID)を記憶するフィールド、55はメモ
リブロックサイズの可変長化に対応するために、メモリ
アドレスの下位ビットを検索対象からはずすように指示
するためのマスクパタン、56は54と同様のプロセス
番号フィールドである。
【0031】図3(2)の情報はメモリチェックを行う
際に使用される情報で、保護キーと呼ばれ、保護セルに
記憶される。
【0032】また、図3(3)の情報はメモリブロック
のサイズや実行中のプロセス番号等の実行属性を示す情
報で、属性キーと呼ばれ、カレントキーレジスタに記憶
される。
【0033】なお、53−56の各フィールドはフィー
ルド単位に独立にメモリ保護制御部17に読み書きがで
きるものとする。
【0034】どのフィールドの読み書きを行うかの細か
い指定は図3(1)のコマンドフィールド52で行われ
る。
【0035】次にメモリ保護制御部17の動作例を以下
に説明する。
【0036】〔1〕保護セルへのキー情報登録
【0037】図3に示すようにI/Oアクセスモード
で、保護キー情報の保護セルへの登録をする場合にはプ
ロセッサ11が図3に示すアドレス情報とデータ情報を
メモリバス12経由でメモリシステム13に送出する。
【0038】メモリアドレスレジスタ14には図3
(1)の情報が入り、メモリデータレジスタ15には図
3(2)の情報が入る。
【0039】その際、I/O制御モード指定フィールド
51はI/Oアクセスモードであることを指定し、コマ
ンドフィールド52で保護セルへのキー情報登録である
ことを指定しているので、連想メモリの各保護セル22
−1、・・22−kのうちの空き保護セルが検索され、
そのアドレスが一致アドレス生成器23から出力され、
状態レジスタ24に記憶されるとともに、対応する空き
保護セル(例えば22−2)に図3(2)の保護キー情
報が書込まれる。
【0040】これによって登録されたメモリブロック
(例えば25−k)内の任意エリアへのアクセスが発生
した場合にチェックすべきキー情報が保護セル22−2
に設定された。
【0041】〔2〕カレントキーレジスタへのキー情報
登録
【0042】次にカレントキーレジスタ19への属性キ
ー情報の登録については、I/Oアクセスモードを用い
て図3(1)と図3(3)に示す情報がカレントキーレ
ジスタ19に転送される。
【0043】ここでI/O制御モード指定フィールド5
1とコマンドフィールド52はカレントキーレジスタ1
9への登録であることを指定しているので、メモリデー
タレジスタ15内のマスクパタン55とプロセス番号5
6がそのままカレントキーレジスタ19に登録される。
【0044】これによって現在実行中のプロセス番号
(CPID)と使用中のメモリブロックのサイズが設定
され、メモリプロテクトの準備が完了した。
【0045】〔3〕メモリプールへのアクセス及びチェ
ック
【0046】上記〔1〕、〔2〕を設定した後、メモリ
ブロックに読み書きアクセスが生じたものと仮定する。
【0047】メモリアクセスが生じると、プロセッサ1
1からメモリアクセスモードで図2に示す情報がメモリ
バス12経由で転送され、メモリアドレスレジスタ14
には読み書き対象のメモリプールのアドレスが設定さ
れ、メモリデータレジスタ15には書込みの場合の書込
みデータが設定される。
【0048】このアドレス情報に基づいて、メモリプー
ル18内の指定されたメモリブロックへのアクセスが行
われる。
【0049】一方、これと並行してメモリアドレスレジ
スタ14の情報が、カレントキーレジスタ19の情報と
合わせてメモリ保護制御部17の各保護セル22−1、
・・22−kに供給され、これらと各保護セルの保護キ
ーレジスタ20−1、・・20−kの内容とが一斉比較
される。
【0050】ここで、カレントキーレジスタ19内のマ
スクパタン55はメモリアドレスレジスタ14の情報の
下位ビットをマスクする。
【0051】例えば、図4に示すように、各メモリブロ
ックが8バイト(2進数で1000)で構成され、0番
地から順にアドレス付けされていると仮定すると、3番
目のブロックのアドレスは16番地(2進数で1000
0)から23番地(2進数で10111)を占めること
になる。
【0052】この場合、カレントキーレジスタ19内の
マスクパタンは8−1=7(2進数で111)に、保護
セル内の保護キーレジスタ(例えば20−2)には3番
目のメモリブロック先頭アドレス上位ビット(2進数で
10xxxの上位3ビットである10x)が記憶され
る。
【0053】この状態で3番目のメモリブロック内のエ
リア21番地(2進数で10101)がアクセスされる
と、このアドレスのマスクパタンに1が立っているビッ
ト位置(下3ビット)がマスクされるので、アドレスの
上位2ビットである〔10xxx〕が各保護セルの保護
キーレジスタ20−1、・・・20kのメモリブロック
上位アドレスフィールド53と一斉比較される。
【0054】これと同時にカレントキーレジスタ19内
の実行中プロセス番号(CPID)と各保護セル内キー
レジスタのプロセス番号(PID)が一斉比較される。
【0055】この例ではもし、正しいメモリアクセスで
あれば図4に示すように保護セル内の保護キーレジスタ
20−2のメモリブロック上位アドレスが一致し、か
つ、カレントキーレジスタ19内のカレントプロセス番
号と保護キーレジスタ20−2のプロセス番号(この値
は本来読み書きを許されているプロセス番号を記憶して
いる)と一致する。
【0056】その結果、これと並行して行われているメ
モリプールへの読み書きをそのまま承認してアクセス結
果をプロセッサ側に返送する。
【0057】一方、例えばプログラムの暴走等のために
メモリプール内のエリアを誤ってアクセスしてしまった
場合、保護キーレジスタ20−1、・・・20−kに登
録されていないメモリブロックへのアクセスであれば、
そこで不一致が検出される。
【0058】また、保護キーレジスタ20−1、・・・
20−kに登録済みのメモリブロック上位アドレスのい
ずれかとたまたま一致しても、実行中のプロセス番号
(CPID)と登録されているプロセス番号(PID)
が異なるため、やはり不一致が検出される。
【0059】状態レジスタ24に不一致が検出されると
アクセス制御部16が、並行して行われているメモリプ
ール18へのアクセスを直ちに中止させ、プロセッサ1
1に例外事象が発生したことを通知する。
【0060】以上の方法によって不正なメモリアクセス
に対する保護をかけることができる。
【0061】図5は本発明のメモリ保護チェックを実現
するためのタイムシーケンスを示したものである。
【0062】図5において送信側スレッド65(プロセ
スの最小単位)から受信側スレッド66にメモリブロッ
ク25−3を介してメッセージ転送する場合を例に説明
する。
【0063】(ステップ67)カーネルのスケジューラ
64は次に実行すべきスレッドを決めるプログラムであ
り、送信側スレッド65を実行する場合には対応する送
信側プロセス番号(SID)を図1に示した機構によ
り、メモリシステム内のカレントキーレジスタ19に登
録する。
【0064】(ステップ68−69)送信側スレッド6
5の実行が開始されると、送信側スレッド65はカーネ
ルのメモリ管理プログラム63に、必要なサイズのメモ
リブロックの捕捉(ハント)を要求する。
【0065】(ステップ70−72)メモリ管理プログ
ラム63は図1の機構を用いてメモリプール内の空きメ
モリブロック25−3を見つけると、対応するメモリ保
護制御部17内の保護キーレジスタ20−2にメモリブ
ロック要求元のプロセス番号(SID)とメモリブロッ
ク上位アドレスを登録する。
【0066】また、バッファサイズ−1の値(マスクパ
タン)をカレントキーレジスタ19に設定する。
【0067】そしてその先頭アドレスを送信側スレッド
65に返送する。
【0068】(ステップ73−74)これでカレントキ
ーレジスタ19と保護キーレジスタ20−2の両方への
登録が完了したので、これ以降メモリブロック25−3
へのアクセスチェックができる状態になり、送信スレッ
ド65からのメモリブロック25−3へのアクセスがあ
る度にチェックが行われる。
【0069】即ちこの期間において送信側スレッド65
以外のスレッドが当該メモリブロックにアクセスすると
エラーを検出することができる。
【0070】(ステップ75−80)送信側スレッド6
5がメモリブロック25−3にメッセージを書込んでメ
モリブロックの使用が終了すると、カーネルのメモリ管
理プログラム63はメモリ保護制御部に登録しておいた
プロセス番号(SID)を削除する。
【0071】送信側スレッド65の処理が終了してカー
ネルのスケジューラ64に制御が戻ると、スケジューラ
64はカレントキーレジスタ19に格納してあったカレ
ントプロセス番号を削除し、次に実行するスレッド(受
信側スレッド66)が決まると、そのプロセス番号(R
ID)をカレントキーレジスタ19に登録する。
【0072】(ステップ81−84)受信側スレッド6
6に制御が渡り、受信側スレッド66が受信システムコ
ールを発すると、カーネルのメモリ管理プログラム63
がメモリブロックに対応する保護制御部にメモリブロッ
ク使用元のプロセス番号(RID)を登録する。
【0073】これによってメモリブロック25−3への
アクセスチェックの準備が完了した。
【0074】(ステップ85−86)受信側スレッド6
6がメモリアクセスを行うと、その度に対応するメモリ
ブロックのプロセス番号とカレントキーレジスタ19内
のプロセス番号との比較を行い、イリーガルアクセスで
ないかどうかチェックする。
【0075】(ステップ87−91)受信側スレッド6
6はメモリブロック25−3を使用し終わると、カーネ
ルのメモリ管理プログラム63が保護キーレジスタ20
−2に登録しておいたRIDを削除し、続いて受信側ス
レッド66の処理が終了してスケジューラ64に制御が
戻るとカレントキーレジスタ19のRIDを削除する。
【0076】図6は本発明の第2の実施例の装置を組み
込んだシステム構成図である。
【0077】同図において101はプロセッサ、102
はメモリバス、103は本発明を含むメモリシステム、
104はメモリアドレスレジスタ、105はメモリデー
タレジスタ、106はメモリシステム103の全体制御
を司るアクセス制御部、107はメモリ保護テーブル、
108は複数のメモリブロックから構成されるメモリプ
ール、109は現在実行中のプロセスの識別番号を記憶
するカレントキーレジスタ、110はメモリ保護テーブ
ル107の内容とカレントキーレジスタ109の内容と
の比較を行う比較器である。
【0078】このうちプロセツサ101、メモリバス1
02、メモリアドレスレジスタ104、メモリデータレ
ジスタ105、メモリプール108、カレントキーレジ
スタ109はそれぞれ図1の対応する部分と同様の構成
である。
【0079】メモリプール108は複数のメモリブロッ
ク111(連続するメモリエリアを一定長に区切り、そ
の各々をメモリブロックと称する)を収容するランダム
アクセスメモリで、0番地からアドレス付けが行われて
いるものとする。メモリブロック単位で書込み読み出し
等の保護が行われる。
【0080】メモリ保護テーブル107は複数の保護キ
ー情報を収容するランダムアクセスメモリで、各保護キ
ー情報21はメモリプール108内の対応するメモリブ
ロック111を保護するための情報を記憶するものであ
り、具体的にはそのメモリブロックの使用権を獲得して
いるプロセスの番号(PID)をあらわす。
【0081】メモリプール108は通常のメモリアクセ
スモードにおいて、メモリアドレスレジスタ104で指
定されたアドレスをもとに、メモリデータレジスタ10
5で指定されたデータの書込み、あるいは指定されたア
ドレスのデータをメモリデータレジスタ105に読み出
しを行う。
【0082】一方、メモリ保護テーブル107は通常の
メモリアクセスモードの他にI/Oアクセスモードでも
動作する。
【0083】メモリアクセスモードにおいては保護キー
情報の読み出しを行い、I/Oアクセスモードにおいて
は保護キー情報の登録等を行う。
【0084】即ちメモリアクセスモードではメモリプー
ル108側ではメモリアドレスレジスタ104で指定さ
れたアドレスのメモリブロックへのアクセスを行う一
方、これと並行してメモリアドレスレジスタ104の情
報がメモリ保護テーブル107に入力される。
【0085】保護キー情報とメモリブロックはそれぞれ
対応し、メモリプール108の先頭からK番目のメモリ
ブロックに対応する保護キー情報はメモリ保護テーブル
107の先頭からK番目に記憶されている。
【0086】したがって、各メモリブロックサイズがN
(=2n )バイト、各保護キー情報のサイズがJ(=2
j )バイトの場合、予めカレントキーレジスタ109に
n個の1が並んだマスクパタンを記憶しておく。
【0087】そしてメモリブロックへのアクセスが生じ
ると、(メモリアドレスレジスタ104のアドレスの下
位nビットを除いた値)×Jをテーブル先頭アドレスか
らのオフセット値としてメモリ保護テーブル107をア
クセスすることにより、対応する保護キー情報を読み出
すことができる。
【0088】読み出した保護キー情報は比較器110に
入力され、カレントキーレジスタ109内のカレントキ
ー情報(現在実行中のPID)と比較される。
【0089】一致していれば、メモリブロックをアクセ
スを許可されたプロセスが実際にアクセスを行ったので
メモリブロックの読み書きをそのまま許容する。
【0090】一致していなければ、現在実行中のプロセ
スはメモリブロックアクセスを許可されたプロセスと異
なるので、進行中のメモリプール108へのアクセスを
中止し、インタフェース線112、113を経由して例
外の発生をプロセッサ101に通知する。
【0091】
【発明の効果】以上説明したように、本発明のメモリ保
護装置によればメモリ保護情報記憶手段(メモリ保護制
御部、メモリ保護テーブル)には保護キー情報を、カレ
ントキーレジスタには実行環境を示す属性キー情報を記
憶し、メモリアクセスと並行して両識別情報を比較して
エラーチェックを行うことによって、性能を低下させず
に、信頼性の高いシステムを構築することが可能とな
る。
【0092】また、マスクパタンを用いることによって
各種バッファサイズに柔軟に対応することができる。
【図面の簡単な説明】
【図1】本発明の第1の装置を組み込んだシステムのブ
ロック図である。
【図2】メモリバス上のメモリアクセスモードにおける
アドレス、データ情報である。
【図3】メモリバス上のI/Oアクセスモードにおける
アドレス、データ情報である。
【図4】メモリ保護チェックの手順を示したものであ
る。
【図5】メモリ保護チェックを実現するためのタイムシ
ーケンスである。
【図6】本発明の第2の実施例の装置を組み込んだシス
テムのブロック図である。
【符号の説明】
11 プロセッサ 13 本発明の第1の実施例を含むメモリシステム 17 メモリ保護制御部 18 メモリプール 19 カレントキーレジスタ 20−1、20−2、・・・20−k 保護キーレジス
タ 21 保護キー情報 21−1、21−2、・・・21−k 比較器 22−1、22−2、・・・22−k 保護セル 23 一致アドレス生成器 24 状態レジスタ 25−1、25−2、25−3、・・・25−k メモ
リブロック 41 メモリアドレス 42 メモリデータ 51 I/O制御モード指定フィールド 52 コマンドフィールド 53 メモリブロック上位アドレス 54、56 プロセス番号 55 マスクパタン 63 メモリ管理プログラム 64 スケジューラ 65 送信側スレッド 66 受信側スレッド 101 プロセッサ 103 本発明の第2の実施例を含むメモリシステム 107 メモリ保護テーブル 108 メモリプール 190 カレントキーレジスタ 110 比較器

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数のメモリブロックと、各メモリブロ
    ックに対応して保護情報を格納する複数個のメモリ保護
    情報記憶手段と、あるメモリブロックに関する属性情報
    を記憶するカレントキー情報記憶手段とを備え、 あるメモリブロックをアクセスする前に予め、該メモリ
    ブロックに対応するメモリ保護情報記憶手段に保護キー
    を設定し、該メモリブロックに関する属性キーをカレン
    トキー情報記憶手段に設定しておき、メモリブロックへ
    のアクセスがある度に該メモリアクセスと並行して、メ
    モリ保護記憶手段内の該メモリアドレスに対応するメモ
    リブロックの保護キーとカレントキー情報記憶手段内の
    属性キーとを比較し、予め定められた条件を満足すれば
    該メモリアクセスを許容し、満足しなければ該メモリア
    クセスを禁止してアクセス違反が生じたことを外部に通
    知することを特徴とするメモリ保護装置。
  2. 【請求項2】 前記複数個のメモリ保護情報記憶手段を
    連想メモリを用いて構成し、メモリアドレス情報をもと
    に前記複数個のメモリ保護情報記憶手段が互いに並列的
    に動作する連想検察を行うことによって、前記複数個の
    メモリ保護情報記憶手段の中から当該メモリブロックに
    対応するメモリ保護情報記憶手段を選択することを特徴
    とする請求項1記載のメモリ保護装置。
  3. 【請求項3】 前記複数個のメモリ保護情報記憶手段を
    ランダムアクセスメモリを用いて構成し、メモリアドレ
    ス情報の上位ビットをインデクシングして前記複数個の
    メモリ保護情報記憶手段の中から当該メモリブロックに
    対応するメモリ保護情報記憶手段を選択することを特徴
    とする請求項1記載のメモリ保護装置。
  4. 【請求項4】 任意のNバイト長のメモリブロックに対
    してlog2 Nビットをマスクパタンとして前記カレン
    トキー情報記憶手段に記憶しておき、前記メモリアドレ
    スの下log2 Nビットをマスクして連想検索すること
    により、任意のサイズのメモリブロックの保護を行うこ
    とを特徴とする請求項2記載のメモリ保護装置。
  5. 【請求項5】 任意のNバイト長のメモリブロックに対
    してlog2 Nビットをマスクパタンとして前記カレン
    トキー情報記憶手段に記憶しておき、前記メモリアドレ
    スの下log2 Nビットを除いた値×保護キー情報長を
    オフセット値としてメモリ保護情報記憶手段にアクセス
    することにより、任意のサイズのメモリブロックの保護
    を行うことを特徴とする請求項3記載のメモリ保護装
    置。
JP32390791A 1991-11-12 1991-11-12 メモリ保護装置 Pending JPH05134930A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32390791A JPH05134930A (ja) 1991-11-12 1991-11-12 メモリ保護装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32390791A JPH05134930A (ja) 1991-11-12 1991-11-12 メモリ保護装置

Publications (1)

Publication Number Publication Date
JPH05134930A true JPH05134930A (ja) 1993-06-01

Family

ID=18159949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32390791A Pending JPH05134930A (ja) 1991-11-12 1991-11-12 メモリ保護装置

Country Status (1)

Country Link
JP (1) JPH05134930A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006050A (ja) * 2001-06-25 2003-01-10 Matsushita Electric Ind Co Ltd 半導体装置
US6868471B1 (en) 1999-04-20 2005-03-15 Nec Corporation Memory address space extension device and storage medium storing therein program thereof
US8356307B2 (en) 2000-11-20 2013-01-15 Humming Heads Inc. Information processing method, apparatus, and system for controlling computer resources, control method therefor, storage medium, and program
JP2021511565A (ja) * 2018-01-22 2021-05-06 エイアールエム リミテッド 複数ガード・タグ設定命令
JP2021532474A (ja) * 2018-07-31 2021-11-25 アーム・リミテッド ガード・タグ紛失の取り扱い
US11762566B2 (en) 2018-01-22 2023-09-19 Arm Limited Programmable mapping of guard tag storage locations

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868471B1 (en) 1999-04-20 2005-03-15 Nec Corporation Memory address space extension device and storage medium storing therein program thereof
US8356307B2 (en) 2000-11-20 2013-01-15 Humming Heads Inc. Information processing method, apparatus, and system for controlling computer resources, control method therefor, storage medium, and program
US8504706B2 (en) 2000-11-20 2013-08-06 Humming Heads, Inc. Information processing method, apparatus, and system for controlling computer resources, control method therefor, storage medium, and program
JP2003006050A (ja) * 2001-06-25 2003-01-10 Matsushita Electric Ind Co Ltd 半導体装置
JP4663162B2 (ja) * 2001-06-25 2011-03-30 パナソニック株式会社 半導体装置
JP2021511565A (ja) * 2018-01-22 2021-05-06 エイアールエム リミテッド 複数ガード・タグ設定命令
US11762566B2 (en) 2018-01-22 2023-09-19 Arm Limited Programmable mapping of guard tag storage locations
JP2021532474A (ja) * 2018-07-31 2021-11-25 アーム・リミテッド ガード・タグ紛失の取り扱い

Similar Documents

Publication Publication Date Title
KR100306456B1 (ko) 오퍼레이팅시스템의재기동방법
EP0258736B1 (en) Parallel computer with distributed shared memories and distributed task activating circuits
US7484017B1 (en) Dequeuing from a host adapter two-dimensional queue
KR890004994B1 (ko) 어드레스 변환 제어장치
US4429360A (en) Process and apparatus for interrupting and restarting sequential list-processing operations
US5136714A (en) Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system
US20070050586A1 (en) Memory access control apparatus
Namjoo et al. Watchdog processors and capability checking
WO2001086890A2 (en) A method and system for decreasing routing latency for switching platforms with variable configuration
JPH05134930A (ja) メモリ保護装置
US5564023A (en) Method for accessing a sequencer control block by a host adapter integrated circuit
US5761403A (en) Failure recovery system and failure recovery method in loosely coupled multi-computer system, and medium for storing failure recovery program
JPH01286029A (ja) マイクロプログラムのパッチ方式
JP2000339189A (ja) 不正なメモリアクセスを検出する方法、デバッグ装置および記録媒体
GB1495729A (en) Apparatus and method for handling exceptions in a data processing system
JPH0736713A (ja) プログラム実行管理装置
JPS6285372A (ja) マルチプロセツサシステムにおけるコンペアアンドスワツプ方式
US6789134B1 (en) Dequeuing from a host adapter two-dimensional queue
JPS6240736B2 (ja)
US6317857B1 (en) System and method for utilizing checksums to recover data
JP3189894B2 (ja) 仮想計算機システム
JPS5922977B2 (ja) 入出力装置によるペ−ジメモリ呼び出し方法
JP2919457B1 (ja) 二重化装置i/o制御方式およびそのプログラム記録媒体
JPS5930305B2 (ja) ロツク管理方式
JPH07141120A (ja) 情報記憶媒体障害処理方法