JPH02105240A - 仮想記憶管理装置 - Google Patents

仮想記憶管理装置

Info

Publication number
JPH02105240A
JPH02105240A JP63258860A JP25886088A JPH02105240A JP H02105240 A JPH02105240 A JP H02105240A JP 63258860 A JP63258860 A JP 63258860A JP 25886088 A JP25886088 A JP 25886088A JP H02105240 A JPH02105240 A JP H02105240A
Authority
JP
Japan
Prior art keywords
holding means
address
access
processor
memory
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
JP63258860A
Other languages
English (en)
Inventor
Yoshinobu Terui
嘉信 照井
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP63258860A priority Critical patent/JPH02105240A/ja
Publication of JPH02105240A publication Critical patent/JPH02105240A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、仮想記憶管理を行うマイクロ・プロセッサ等
を用いた処理装置におけるアドレス変換ユニットに関す
る。
[従来の技術1 近年、ソフトウェアの開発効率向上が大きな問題となっ
ている。中でも、デバッグの効率向上はソフトウェア開
発における一つのキーである。
ある時間内において複数のアプリケーション・プログラ
ムが動作可能なマルチタスク・システムにおいて、複数
のアプリケーション・プログラムに対して共有メモリを
設けた場合、あるアプリケーション・プログラムが共有
メモリを排他的に使用したい場合がある。
これは、特にマルチ・タスク処理を行う処理装置におい
ては、各タスクが独立にメモリを操作するため、各タス
ク間で共有するメモリ空間でメモリ・アクセスの競合す
る部分の相互排除が正しく行われていないと、発見しに
くい重大な問題を引き起こすからである。
この問題は、[際どい部分(クリティカル・セクション
月の相互排除として良く知られた問題である(たとえば
、エム、ペン−アリ著[並行プログラミングの原理J 
、1986年3月15日、啓学出版株式%式%) このような問題が生じる場合、一般にはオペレーティン
グ・システムに対するシステム・コールを発行すること
で相互排除を実現することが可能である。すなわち、オ
ペレーティング・システムを介してメモリをアクセスす
ることにより、メモリ・アクセス競合が発生しないよう
に管理する。
一方、良く知られているように従来の処理装置では、制
限された容量のメモリで大規模なプログラムの作成を可
能とし、且つ、システムの安全性を高める、すなわち、
システムを保護するという2つの目的で、仮想記憶管理
が行われている。
[発明が解決しようとする課題1 従来の仮想記憶管理方式は、プロセッサからの論理アド
レスを基にアドレス変換テーブルを参照してアドレス変
換を行う機構と、アドレス変換の高速化を目的、とした
TLB(TranslationLook−aside
 Buffer)として良く知られている変換索引バッ
ファ機構を含むアドレス変換ユニ・ノドからなるハード
ウェア的な機構を組み合せることで実現されている。
従来の仮想記憶管理方式では、タスク間で互いに保護さ
れているメモリ空間に対する操作には保護機構が働くが
、前記のマルチタスク・システムのような各タスク間で
共有するメモリ空間での相互排除の不正の防止・発見に
対しては有効ではなかった。
すなわち、オペレーティング・システムによりメモリ・
アクセスを管理する場合でも、オペレーティング・シス
テムがデバッグ途中等でバグが内在する可能性のある場
合、アプリケーション・プログラムのバグ等によりシス
テム・コールを使用せず直接共有メモリをアクセスした
場合等では上記の相互排除の正当性は保証されない。
本発明は、従来の仮想記憶管理装置の持つ不都合に鑑み
、各タスク間で共有するメモリ空間での相互排除の不正
の防止・発見に対して有効な仮想記憶管理装置を提供す
ることを目的とする。
[課題を解決するための手段] 本発明の仮想記憶管理装置は、前記目的を達成するため
、プロセッサからのアクセスを検出すべきメモリ・アド
レス範囲と、前記プロセッサからのメモリ・アクセスの
種別を示すメモリ・アクセス属性と、前記プロセッサ上
での実行を検出すべきプロセスの種別を示すプロセス識
別子とを保持するための検出条件保持手段と、プロセス
実行中のプロセッサから出力された論理アドレスをアド
レス変換した物理アドレス、該物理アドレスにおけるメ
モリ・アクセス属性及び実行中のプロセスのプロセス識
別子のそれぞれを、前記検出条件保持手段に保持された
メモリ・アドレス範囲、メモリ・アクセス属性及びプロ
セス識別子のそれぞれと比較し、予め決められた出力論
理が満足されたとき出力を発生するアクセス判定手段と
を設けたことを特徴とする。
また、前記プロセッサから設定可能であり、前記アクセ
ス判定手段における出力論理を変更可能な制御情報保持
手段を設けることができる。
[作用] 本発明の原理を第1図を参照して具体的に説明する。
図において、1は、仮想ページ番号及びオフセットから
なる仮想アドレスVAを物理アドレスADR8に変換す
る従来と同様なアドレス変換ユニットである。本発明に
おいてはこのアドレス変換ユニット1に加えて、アクセ
スの有無を検出すべきアドレス等の検出条件を保持する
検出条件保持手段2を設けるとともに、この検出条件保
持手段2の内容とプロセッサからのメモリへの実際のア
クセス状態とを比較するアクセス判定手段3を設けてい
る。
検出条件保持手段2について詳細に説明すると、この検
出条件保持手段2は、その部分構成として、対象プロセ
スを指示するプロセス識別子pidを保持するプロセス
識別子保持手段4と、特定アドレスに対する読み出し、
書き込み等のアクセスの種別を示すメモリ・アクセス属
性rwxを指示するためのメモリ・アクセス属性保持手
段5と、アクセスが検出されるアドレス範囲adrsを
指示するためのアドレス保持手段6とを含んでいる。な
お、対象プロセスとは、特定アドレスに対するアクセス
を比較・判定する対象となるプロセスを意味する。
そして、上述の検出条件保持手段2からのプロセス識別
子pid、メモiルアクセス属性rWX及びアドレス範
囲adrsが、アクセス検出情報ADIとしてアクセス
判定手段3の一方の人力として供給される。
一方、プロセッサからは、前記仮想アドレスVAがアド
レス変換ユニット1に供給されて物理アドレスADR8
に変換され、アクセス判定手段3の他方の入力として供
給される。ぞしてこの物理アドレスADR8が前記検出
条件保持手段2に保持されているアドレス範囲adrs
内に入ったかどうかがアクセス判定手段3により判定さ
れる。
また、このとき、アドレス範囲adrsだけでなく、プ
ロセッサからのプロセス識別子PID及びプロセッサ・
メモリ・アクセス属性RWXと、検出条件保持手段2か
らのプロセス識別子pid及びメモリ・アクセス属性r
WXが比較され、各条件が一致したときのみ、アクセス
判定手段3からアクセス検出信号ADSが出力される。
したがって、プロセッサからのメモリアクセスが、プロ
セス識別子pidにより規定されるある特定のプロセス
における、特定のアドレス範囲adrsに対するメモリ
・アクセス属性rWXにより規定される特定のメモリア
クセスであるとき、これが検出される。これにより、例
えば、アクセスが禁止されている領域がアクセスされた
ことがわかる。
[実施例1 、以下、図面を参照しながら、実施例により本発明の特
徴を具体的に説明する。
第2図に本発明の一実施例を示す。なお、第2図では、
第1図と同じ構成要素等には同一の符号を付しである。
第2図において、破線で囲まれた部分は、従来と同様な
アドレス変換ユニット1である。このアドレス変換ユニ
ット1は、複数のエレメントからなるTLB12を備え
ている。
いま、先に説明した相互排除の不正によって正しく動作
していないアプリケーション・プロセスP1があるとす
る。本実施例による相互排除の不正に対するデバッグ・
サポートの手順・動作は以下のようになる。
始めに、デバッガ或いはオペレーティング・システムに
よって、検出条件保持手段2のプロセス識別子保持手段
4.メモリ・アクセス属性保持手段5及びアドレス保持
手段6に、被デバツグ、プロセスP1のプロセス識別子
pid、読み出しまたは書き込み禁止等の種別を示すメ
モリ・アクセス属性rWX及びデバッグ・プロセスP1
以外のプロセスからのアクセスの検出を行う一つ以上の
アドレス或いは一つ以上のアドレス範囲を設定する。な
お、ここでは、−組のアドレスadrsl、 adrs
2により、一つのアドレス範囲を指定している。上述の
検出条件保持手段2は、プロセッサにより設定可能であ
る様に構成されており、これらの設定の後にデバッガ或
いはオペレーテイングウステムは通常の処理を起動する
通常の処理状態においては、あるプロセスが起動された
ときにオペレーティング・システムによって、アドレス
変換ユニット1のPIDレジスタ11に現在処理中のプ
ロセスのプロセス識別子PIDが設定されるとともに、
TLB12に論理アドレスLAと物理アドレスADR8
との対応表が設定される。なお、論理アドレスLAは、
第1図に示す仮想アドレスと同じ意味である。
アドレス変換ユニット1は、図示しないプロセッサのメ
モリ・サイクルの度に、プロセッサからの論理ページ番
号及びオフセットからなる論理アドレスLAとプロセッ
サ・メモリ・アクセス属性RWXとを受は取り、内部の
TLB12と連想的に比較を行い、入力されたプロセッ
サからの論理アドレスLAに対応する物理アドレスAD
R8を出力する。
この物理アドレスADR8,アドレス変換ユニット1の
PIDレジスタ11の内容PID及びプロセッサが出力
するプロセッサの処理状態を示すプロセッサ・メモリ・
アクセス属性RWXと、デバッガ或いはオペレーティン
グ・システムによって検出条件保持手段2に設定された
アドレス保持手段6の内容adrsl、 adrs2.
プロセス識別子保持手段4の内容pid及びメモリ・ア
クセス属性保持手段5の内容rWXとを、アクセス判定
手段3によって比較・判定することによって、アクセス
検出信号ADSを出力する。
このアクセス検出信号ADSは、例えば、アクセスが禁
止されたアドレスが特定のプロセスからアクセスされた
ことを示すものであって、プロセッサの例外処理等を起
動する或いは他のハードウェア装置の動作を起動するた
めに使われる。
一例として、アクセス検出信号ADSによってプロセッ
サの例外処理が起動されたとすると、デバッガ或いはオ
ペレーティング・システムによって、その時の処理中の
プロセスのプロセス識別子PID 、処理中のプロセッ
サのプログラム・カウンタ値等を確認・保存することが
でき、したがって、相互排除の不正によって正しく動作
していないアプリケーション・プロセスP1の不正の原
因となっているプロセス、そのプロセスの実行命令、共
有メモリのアドレス或いはアドレス範囲を同定すること
ができる。
次に第2図に示すアクセス判定手段3の比較・判定動作
について更に説明する。
デバッガ或いはオペレーティング・システムによって検
出条件保持手段2のプロセス識別子保持手段4に設定さ
れた被デバツグ・プロセスP1のプロセス識別子の内容
をpid、メモ曹ルアクセス属性保持手段5に設定され
たメモリ・アクセス属性をrWX、アドレス保持手段6
に設定された被デバツグ・プロセスP1以外のプロセス
からのアクセスの検出を行うアドレス範囲の下限・上限
をそれぞれadrsl、adrs2とし、また、通常の
処理状態においであるプロセスが起動されたときにオペ
レーティング・システムによってアドレス変換ユニット
1のPIDレジスタ11に設定された現在処理中のプロ
セスのプロセス識別子をPID、プロセッサが出力する
プロセッサの処理状態を示すプロセッサ・メモリ・アク
セス属性をRWX、アドレス変換ユニット1から出力さ
れる物理アドレスをADR8とすると、アクセス検出信
号ADSが論理l(真)となるのは、 (pidf−PID)&(rwx = RWX)&(a
drsl≦AI)R8≦adrs2)となる場合である
。但し、[&]は、論理積を示す。この論理の実現は当
業者にとっては容易なことであるので詳述しない。
更に第2図に示した実施例においては、デバッガ或いは
オペレーティング・システムによって設定可能であり、
検出条件保持手段2の設定、アクセス判定手段3の比較
・判定動作の制御を行う制御情報保持手段13が設けら
れている。この制御情報保持手段13は、例えば、コン
トロールレジスタから構成されており、第3図に示され
るように、ロックピット、キーフィールド及び判定制御
スイッチとを含んでいる。
以下、制御情報保持手段13について説明する。
ロックピットは、プロセッサから読み出し・書き込み可
能なビットであり、プロセッサが検出条件保持手段2の
設定或いは制御情報保持手段13の書き込みが可能か否
かを示している。検出条件保持手段2の設定或いは制御
情報保持手段13の書き込みを行おうとする場合には、
設定或いは書き込みに先立ってロックピットを読み出し
、ロックピッ)LBが論理Oであれば検出条件保持手段
2の設定、制御情報保持手段13の書き込みを可能とす
る。
また、キーフィールドには、制御情報保持手段13を設
定しようとするプロセスのプロセス識別子が設定される
。−度ロツクピットを論理1に設定した場合には、プロ
セス識別子がキーフィールドの内容と一致するプロセス
しかロックビットを解除する、すなわち、論理Oにする
ことはできないように構成されている。
このように、制御情報保持手段13を設定することがで
きる条件を制限することにより、例えば、ユーザプロセ
ス(アプリケーションプロセス)Plが暴走したような
場合でもデータが不用意に書き換えられることがない。
また、判定制御スイッチは、式(1)で示したアクセス
検出信号ADSの出力論理を変更するためのスイッチで
ある。判定制御スイッチに設定された値によって、式(
1)の出力論理は例えば式(2)の様に切り替えられる
(pid=PID)&(nvx=RWX)&(adrs
l≦ADR8≦adrs2)前述の式(1)がプロセス
識別子保持手段4に設定されたプロセス識別子pid以
外のプロセス全てを対象にして判定を行うのに対して、
式(2)は、プロセス識別子保持手段4に設定されたプ
ロセス識別子pidを持つプロセスに限定して判定を行
うので他のプロセスの動作に影響を与えないという利点
を持つ。なお、式(2)は−例として示したもので、判
定制御スイッチで制御されるアクセス検出信号ADSの
出力論理は式(2)に限定されるものではない。
また、第2図に示した検出条件保持手段2は、簡単のた
めに一組の検出アドレス情報しか設定できないように構
成されているが、検出条件保持手段2と同等の構造を複
数掴持たせることで、複数組の検出アドレス情報を設定
でき、本発明はまり有効なものとなる。なお、検出条件
保持手段2を複数個設ける場合には、TLB12と同様
の連想的検索手段が使用できることは言うまでもない。
第2図及びその動作の記述においては、簡単のために本
発明をデバッグ・サポートに応用した場合を例としてそ
の有効性を示したが、本発明はオペレーティング・シス
テムと組み合せる事によって有効な相互排除の手段とし
て応用することも可能である。すなわち、あるプロセス
が共有メモリを排他的に使用しようとするとき、そのア
ドレス範囲等を検出条件保持手段2に設定することで、
誤ってそのアドレス範囲を使用しようとするプロセスに
対して検出アドレス−アクセス検出信号ADSが出力さ
れる。その検出アドレス−アクセス検出信号ADSによ
って、オペレーティング・システムを起動し、誤ってア
ドレス範囲を使用しようとしたプロセスを待機させるこ
とができる。これによって有効な相互排除が実現される
本発明を相互排除の手段として用いることにより、排他
的に共有メモリを使用しようとするプロセスがオペレー
ティング・システムを通して検出条件保持手段2を設定
するだけで、従来ではバグ等で相互排除がうまく行われ
ていない筈のオペレーティング・システム或いはアプリ
ケーションのプロセスに対しても有効な相互排除が実現
されるということは本発明の大きな特徴である。
なお、上述の実施例においては、あるアドレス範囲に対
してのアクセスの検出を行うものとしたが、本発明の有
効性はこれに限定されるものではなく単一のアドレスに
対しても効果を持つ。
[発明の効果1 以上に述べたように、本発明においては、検出条件保持
手段にアクセスの有無を検出する対象となるアドレス範
囲等を設定し、アクセス判定手段により、このアドレス
範囲が一定の条件を満たした状態でアクセスされたかど
うかを判定している。これにより、本来アクセスされて
はならない状態でアクセスされたとき、これを検出する
ことができ、プロセスのバグに対する処置を的確に行う
ことが可能となる。
【図面の簡単な説明】
第1図は本発明の基本的構成を示す説明図、第2図は本
発明実施例のアドレス変換ユニットのブロック図、第3
図は制御情報保持手段の構成を示す説明図である。 1ニアドレス変換ユニツト 2:検出条件保持手段 3:アクセス判定手段 4:プロセス識別子保持手段 5:メモリ・アクセス属性保持手段 6:アドレス保持手段 11:PIDレジスタ 12:TLB 13:制御情報保持手段 特許出願人    富士ゼロックス株式会社代理人  
手掘 益(ほか2名)

Claims (1)

  1. 【特許請求の範囲】 1、プロセッサからのアクセスを検出すべきメモリ・ア
    ドレス範囲と、前記プロセッサからのメモリ・アクセス
    の種別を示すメモリ・アクセス属性と、前記プロセッサ
    上での実行を検出すべきプロセスの種別を示すプロセス
    識別子とを保持するための検出条件保持手段と、 プロセス実行中のプロセッサから出力された論理アドレ
    スをアドレス変換した物理アドレス、該物理アドレスに
    おけるメモリ・アクセス属性及び実行中のプロセスのプ
    ロセス識別子のそれぞれを、前記検出条件保持手段に保
    持されたメモリ・アドレス範囲、メモリ・アクセス属性
    及びプロセス識別子のそれぞれと比較し、予め決められ
    た出力論理が満足されたとき出力を発生するアクセス判
    定手段とを設けたことを特徴とする仮想記憶管理装置。 2、前記プロセッサから設定可能であり、前記アクセス
    判定手段における出力論理を変更可能な制御情報保持手
    段を設けたことを特徴とする請求項1記載の仮想記憶管
    理装置。
JP63258860A 1988-10-13 1988-10-13 仮想記憶管理装置 Pending JPH02105240A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63258860A JPH02105240A (ja) 1988-10-13 1988-10-13 仮想記憶管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63258860A JPH02105240A (ja) 1988-10-13 1988-10-13 仮想記憶管理装置

Publications (1)

Publication Number Publication Date
JPH02105240A true JPH02105240A (ja) 1990-04-17

Family

ID=17326041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63258860A Pending JPH02105240A (ja) 1988-10-13 1988-10-13 仮想記憶管理装置

Country Status (1)

Country Link
JP (1) JPH02105240A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016509303A (ja) * 2013-02-05 2016-03-24 エイアールエム リミテッド データ処理装置のメモリ・アクセス動作の操作
JP2022502729A (ja) * 2018-10-15 2022-01-11 アーム・リミテッド メモリ・アクセス制御

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016509303A (ja) * 2013-02-05 2016-03-24 エイアールエム リミテッド データ処理装置のメモリ・アクセス動作の操作
US9940268B2 (en) 2013-02-05 2018-04-10 Arm Limited Handling memory access protection and address translation in a data processing apparatus
JP2022502729A (ja) * 2018-10-15 2022-01-11 アーム・リミテッド メモリ・アクセス制御

Similar Documents

Publication Publication Date Title
US5043878A (en) System with real-time checking of privilege levels and the system's state to allow access to internal resources of the system
US5396609A (en) Method of protecting programs and data in a computer against unauthorized access and modification by monitoring address regions
US5305460A (en) Data processor
KR100800340B1 (ko) 어드레스에 기반한 프로세싱 제한 블로킹 방법 및 시스템
JP4302492B2 (ja) メモリへのアクセスを管理するための装置および方法
JP4302494B2 (ja) データ処理装置内のメモリへアクセスするための技術
JP4302493B2 (ja) データ処理装置内のメモリへアクセスするための技術
US3828327A (en) Simplified storage protection and address translation under system mode control in a data processing system
CN109359487A (zh) 一种基于硬件隔离的可扩展安全影子存储及标签管理方法
US3825903A (en) Automatic switching of storage protect keys
JPH03137747A (ja) プロセツサおよび命令実行方法
KR20070080589A (ko) 메모리 속성들을 사용하기 위한 기술
JPS6248258B2 (ja)
US10467410B2 (en) Apparatus and method for monitoring confidentiality and integrity of target system
US5873124A (en) Virtual memory scratch pages
JPH02105240A (ja) 仮想記憶管理装置
WO2006108618A1 (en) Generic low cost hardware mechanism for memory protection
JP2004110240A (ja) キャッシュメモリ装置
JP3585510B2 (ja) プログラム実行管理装置及びプログラム実行管理方法
US6687845B2 (en) Fault vector pointer table
KR100238174B1 (ko) 병렬 프로세서 시스템
JPS6346466B2 (ja)
JPS6074059A (ja) 記憶装置アクセス制御方式
JPH02239351A (ja) マイクロプロセッサ
JPH04314151A (ja) 共用データ域破壊防止方式