JPH11242633A - メモリ保護方式 - Google Patents

メモリ保護方式

Info

Publication number
JPH11242633A
JPH11242633A JP4486498A JP4486498A JPH11242633A JP H11242633 A JPH11242633 A JP H11242633A JP 4486498 A JP4486498 A JP 4486498A JP 4486498 A JP4486498 A JP 4486498A JP H11242633 A JPH11242633 A JP H11242633A
Authority
JP
Japan
Prior art keywords
area
page
page information
address
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
JP4486498A
Other languages
English (en)
Inventor
Kenichiro Aikawa
健一郎 相川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4486498A priority Critical patent/JPH11242633A/ja
Publication of JPH11242633A publication Critical patent/JPH11242633A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】メモリ保護機能を搭載するMPUを使用したリ
アルタイム制御システムで、ページテーブルの検索をオ
ペレーティングシステムで行うメモリ保護方式におい
て、ページテーブルの構成を、検索時間だけを考えて構
成した場合、全ページ数分のテーブルを生成する必要が
あるため、メモリ使用量が多くなってしまう。 【解決手段】保護する領域全体をいくつかに分割し、さ
らにアクセス権が細分化される領域に対しては全ページ
数分のテーブルを生成し、細分化しない領域に対しては
1つの範囲と1つのページ情報を保護領域全体を管理す
るテーブルに持たせる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】メモリ保護機能を搭載するM
PUを使用したリアルタイム制御システムで、ページテ
ーブルの検索をオペレーティングシステムで行うメモリ
保護方式に関する。
【0002】
【従来の技術】組み込み制御システムのMPUでは一般
のパーソナルコンピュータやワークステーションで使用
されるMPUとは異なり、Translation Lookaside Buff
er(以下、TLBという。)へのページ情報の設定をソ
フトウェアで行うものが主流である。このようなMemory
Managemeut Unit(以下、MMUという。)を搭載した
MPUを使用したシステムでは、ページテーブルの構成
は、保護する全領域ページ数分のページ情報を持つ方式
か、テキスト領域やデータ領域などのある領域単位のテ
ーブルをいくつも生成し、範囲とページ情報を持たせる
方式のどちらかを用いていた。
【0003】しかし、全領域ページ分のページ情報を持
つページテーブルを生成した場合、検索時間は短くなる
がメモリの使用量が大きくなるため、メモリに余裕のな
いシステムには不向きである。また、ある領域単位にテ
ーブルを持つ方式の場合、メモリの使用量が少ないとい
う利点はあるが該当ページが存在するまで領域単位のテ
ーブルを順に検索する必要があるため、TLBへの登録
処理に時間がかかり、時間も一定ではない。
【0004】そのため、主メモリなどのようにアクセス
権が細分化されている領域に対しては全ページ数分のテ
ーブルを生成し、領域全体でアクセス権が1つであるよ
うな細分化しない領域に対しては、全ページ数分のテー
ブルを生成せず、1つの範囲と1つのページ情報を、保
護領域全体を管理するテーブルに持たせるメモリ保護方
式がある。
【0005】
【発明が解決しようとする課題】上記従来技術はページ
テーブルの検索時間またはメモリ使用量について考慮さ
れておらず、検索時間だけを考えた場合、全ページ数分
のテーブルを生成する必要があるため、メモリ使用量が
多くなってしまうという問題があった。また、メモリ使
用量だけを考えた場合、テキスト領域,データ領域など
の領域単位に、範囲とページ情報を持つテーブルを生成
するため、検索時には該当ページが存在するまで順に探
す必要があり、時間がかかるという問題があった。
【0006】本発明はこれらの問題を解決するため、保
護領域全体を分割し、それを管理するテーブルとページ
情報テーブルとでページテーブルを構成することで、メ
モリ使用量の削減と検索時間の短縮を両立させることを
目的とする。
【0007】本発明はこれらの問題を解決するため、細
分化されるエリアに対しては全ページ数分のテーブルを
生成し、細分化しないエリアに対しては1つの範囲と1
つのページ情報を全体を管理するテーブルに持たせるこ
とで、メモリ使用量の削減と検索時間の短縮を両立させ
ることを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、保護する領域をいくつかに分割し、さらにアクセス
権が細分化される領域に対しては全ページ数分のテーブ
ルを生成し、細分化しない領域に対しては1つの範囲と
1つのページ情報を保護領域全体を管理するテーブルに
持たせるようにしたものである。
【0009】
【発明の実施の形態】以下、本発明の実施例について図
面を参照して詳細に説明する。
【0010】図1は、本発明の実施形態に係るリアルタ
イム制御システム装置の構成を示す図である。図1のリ
アルタイム制御システムはリアルタイムOS1と主記憶
2とMPU3で構成されている。MPU3内にはMMU
4とTLB5があり、またページ保護例外処理部6が存
在する。主記憶2にはページテーブル8があり、エリア
テーブル7とページ情報テーブル14で構成されてい
る。エリアテーブル7にはページ情報テーブルポインタ
9とページ数10と開始アドレス11と終了アドレス1
2とページ情報13がある。
【0011】本構成においてMMU4はメモリへのアク
セスがある度に動作する。MMU4はアクセスされたア
ドレスがTLB5内に登録されていることを確認し、存
在した場合は対応する物理アドレスに変換し、存在しな
かった場合はページ保護例外処理部6が主記憶2のペー
ジテーブル8を検索する。ページテーブル8内に存在し
た場合はページ情報をTLB5に登録する。ページテー
ブル8にも存在しない場合はエラー報告を行い、当該処
理を中断状態にする。
【0012】ページテーブル8はエリアテーブル7とペ
ージ情報テーブル14で構成され、初期化はリアルタイ
ム制御システムが起動される途中で行われる。エリアテ
ーブル7は保護領域全体を分割したエリア0からエリア
5の6つのエリアで管理している。
【0013】また、エリアテーブル7内のページ情報テ
ーブルポインタ9はページ情報テーブル14の先頭アド
レスを格納しており、当該エリアをいくつかのセグメン
トに分け、それぞれのアクセス権が違う場合はこれを使
用する。セグメント分けを行うのは主に主記憶などで、
データエリアは特権モードでもユーザモードでもリード
/ライト可能だが、テキストエリアは特権モードでもユ
ーザモードでもリードのみ可能、というような区分であ
る。
【0014】ページ数10は当該エリアのページ数(ペ
ージ情報テーブル14の数)がいくつかを格納してお
く。開始アドレス11と終了アドレス12とページ情報
13は当該エリアを分割せず、1つのセグメントとする
場合に使用する。主にI/O空間などで、特権モードで
はアクセスするが、ユーザモードではアクセスしない、
またはアクセス禁止するような場合である。
【0015】開始アドレス11には保護するエリアの先
頭アドレスを格納し、終了アドレス12には保護するエ
リアの最終アドレスを格納する。ページ情報13にはア
クセス権などを示すページ情報を格納しておく。ユーザ
モードでアクセスするエリアが主記憶中心であることを
考えると、その他のエリアをエリアテーブルで1セグメ
ント/1エリアとして保護することはメモリの削減に有
効である。
【0016】図2はページ保護例外処理部のフローを示
している。アクセスのあったエリアのそのエリアのペー
ジ情報テーブルポインタにアドレスが格納されている場
合はページ数を参照し、アクセスされたアドレスが範囲
を超えていないことを確認する。超えていない場合は、
ページ情報テーブルのページ情報を取得する。ページ情
報テーブルポインタにアドレスが格納されていない場合
は開始アドレスを参照し、アドレスが格納されていると
きには開始アドレスと終了アドレスの範囲内であるかを
確認し、範囲内である場合はページ情報を取得する。
【0017】開始アドレスが格納されていない場合や範
囲外であった場合は何れも不当アクセスとしてエラー出
力を行う。検索は複数セグメントでも単一セグメントで
も一発で可能なため、検索時間にばらつきがなく短い時
間でページ情報を取得することができる。
【0018】図3はエリアテーブル34のエリア1のア
クセス権を細分化し、エリア1のページ2(39)にアク
セスがあり、MMUがTLBを検索した結果、該当デー
タがない場合にページ保護例外処理部が起動され、ペー
ジテーブルの検索が行われたときの処理手順を示してい
る。
【0019】図3において、アクセスのあったアドレス
がTLBに存在しなかった場合、そのアドレスはMMU
によりアクセスアドレス31に格納される。また、MM
Uレジスタ36に設定したページ情報がTLBに登録さ
れる。エリアテーブル34の開始アドレス,終了アドレ
ス,ページ情報についてはデータは格納されていない。
【0020】これらの構成で、アクセスのあったアドレ
スがどのエリアかを示すエリア番号32は、アクセスア
ドレスの上位数ビットをマスクして決定する。次にその
エリアのページ情報テーブルポインタ36の示すページ
情報テーブル35をアクセスし、ページ情報38を取得
する。
【0021】このときページ情報テーブル35の何番目
のページ情報を取得するかは、アクセスアドレス31の
中間数ビットをマスクしたインデックス番号33により
決定する。取得したページ情報38はMMUレジスタ3
6に格納し、TLBに登録する。
【0022】図4はエリアテーブルのエリア0のアクセ
ス権を細分化せず、エリア0のアドレスにアクセスがあ
り、MMUがTLBを検索した結果、該当データがない
場合にページ保護例外処理部が起動され、ページテーブ
ルの検索が行われたときの処理手順を示している。
【0023】図3において、アクセスのあったアドレス
48がTLBに存在しなかった場合、そのアドレスはM
MUによりアクセスアドレス41に格納される。また、
MMUレジスタ44に設定したページ情報がTLBに登録
される。エリアテーブル43のページ情報アドレスポイ
ンタ,ページ数についてはデータは格納されていない。
【0024】これらの構成で、アクセスのあったアドレ
ス48がどのエリアかを示すエリア番号42は、アクセ
スアドレスの上位数ビットをマスクして決定する。次に
そのエリアのページ情報テーブルポインタが設定されて
いないため、開始アドレス45と終了アドレス46を参
照し、アクセスアドレス48が範囲内であることを確認
する。範囲内であった場合、ページ情報47を取得して
変換する物理アドレス等とマスクして、TLBに登録す
るページ情報を生成する。生成したページ情報はMMU
レジスタ44に格納し、TLBに登録する。
【0025】
【発明の効果】本発明によれば、保護領域全体をいくつ
かのエリアに分割して、アクセス権を細分化するエリア
か,しないエリアか、によって全ページ数分のページ情
報を持つエリアと、範囲情報とページ情報のみを持つエ
リアに分けたことで、ページテーブルの検索時間短縮と
メモリ使用量の削減を両立できるという効果と、ページ
テーブルの検索時間にばらつきをなくすという効果があ
る。
【図面の簡単な説明】
【図1】本発明の実施例であるメモリ保護方式全体構成
を示す図。
【図2】本発明のページ保護例外処理部を示すフロー
図。
【図3】本発明のページ情報テーブルが生成されている
場合の検索手順を示す図。
【図4】本発明のページ情報テーブルが生成されていな
い場合の検索手順を示す図。
【符号の説明】
1…リアルタイムOS、2…主記憶、3…MPU、4…
MMU、5…TLB、6…ページ保護例外処理部、7…
エリアテーブル、8…ページテーブル、9,36…ペー
ジ情報テーブルポインタ、10,37…ページ数、1
1,45…開始アドレス、12,46…終了アドレス、
13,38,47…ページ情報、14,35…ページ情
報テーブル、31,41…アクセスアドレス、32,4
2…エリア番号、33…インデックス番号、34,43
…エリアテーブル、39…アクセスされたページ2、4
4…MMUレジスタ、48…アクセスのあったアドレ
ス。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】MPUに搭載されるメモリ保護機能が、ア
    ドレスへのアクセスの度にTLBを検索し、TLBに存
    在しない場合は例外を発生させ、あらかじめ生成してお
    いたページテーブルをソフトウェアで検索し、存在した
    場合はTLBへの登録を行い、存在しない場合はエラー
    とし、存在した場合でもアクセス権の確認を行い、アク
    セス権のある場合は物理アドレス変換を行い、アクセス
    権がない場合はエラーとするメモリ保護機構を備えたリ
    アルタイム制御システムにおいて、ページテーブルの構
    成を2つの構成にし、1つ目のテーブルには保護領域全
    体の情報を持たせ、2つ目のテーブルには各領域の全ペ
    ージ数分のページ情報を持たせ、保護する領域のアクセ
    ス権が1種類である場合は2つ目のテーブルは生成せ
    ず、1つ目のテーブル内に保護範囲とページ情報を持た
    せることで、ページテーブルのメモリ使用量を削減でき
    ること、およびページテーブルからのページ情報取得時
    間を短縮できることを特徴とするメモリ保護方式。
JP4486498A 1998-02-26 1998-02-26 メモリ保護方式 Pending JPH11242633A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4486498A JPH11242633A (ja) 1998-02-26 1998-02-26 メモリ保護方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4486498A JPH11242633A (ja) 1998-02-26 1998-02-26 メモリ保護方式

Publications (1)

Publication Number Publication Date
JPH11242633A true JPH11242633A (ja) 1999-09-07

Family

ID=12703372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4486498A Pending JPH11242633A (ja) 1998-02-26 1998-02-26 メモリ保護方式

Country Status (1)

Country Link
JP (1) JPH11242633A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858237B1 (ko) 2006-11-07 2008-09-12 주식회사 안철수연구소 Tlb를 이용한 메모리 접근 제어 방법
CN100432955C (zh) * 2005-09-02 2008-11-12 中兴通讯股份有限公司 一种非法内存读写的检测方法
JP2009104555A (ja) * 2007-10-25 2009-05-14 Intel Corp Vt環境で動作するソフトウェアエージェントの改竄防止、方法および装置
CN109791524A (zh) * 2016-10-04 2019-05-21 罗伯特·博世有限公司 用于保护工作存储器的方法和设备
EP3716079A1 (en) * 2019-03-27 2020-09-30 INTEL Corporation Memory management apparatus and method for managing different page tables for different privilege levels

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100432955C (zh) * 2005-09-02 2008-11-12 中兴通讯股份有限公司 一种非法内存读写的检测方法
KR100858237B1 (ko) 2006-11-07 2008-09-12 주식회사 안철수연구소 Tlb를 이용한 메모리 접근 제어 방법
JP2009104555A (ja) * 2007-10-25 2009-05-14 Intel Corp Vt環境で動作するソフトウェアエージェントの改竄防止、方法および装置
CN109791524A (zh) * 2016-10-04 2019-05-21 罗伯特·博世有限公司 用于保护工作存储器的方法和设备
JP2019535093A (ja) * 2016-10-04 2019-12-05 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh ワーキングメモリを保護する方法および装置
CN109791524B (zh) * 2016-10-04 2023-11-07 罗伯特·博世有限公司 用于保护工作存储器的方法和设备
EP3716079A1 (en) * 2019-03-27 2020-09-30 INTEL Corporation Memory management apparatus and method for managing different page tables for different privilege levels
US11144472B2 (en) 2019-03-27 2021-10-12 Intel Corporation Memory management apparatus and method for managing different page tables for different privilege levels
US11615031B2 (en) 2019-03-27 2023-03-28 Intel Corporation Memory management apparatus and method for managing different page tables for different privilege levels
EP4492247A3 (en) * 2019-03-27 2025-04-02 INTEL Corporation Memory management apparatus and method for managing different page tables for different privilege levels

Similar Documents

Publication Publication Date Title
US12613807B2 (en) Method, system, and apparatus for page sizing extension
US5412787A (en) Two-level TLB having the second level TLB implemented in cache tag RAMs
US5182805A (en) Method and system for determining copy-on-write condition
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
EP0208428B1 (en) Direct input/output in a virtual memory system
JP5475055B2 (ja) キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ
US5475827A (en) Dynamic look-aside table for multiple size pages
NO870415L (no) Datamaskinsystem.
EP0253824A1 (en) MEMORY MANAGEMENT UNIT ORGANIZED IN PAGES CAPABLE OF SELECTIVELY SUPPORTING MULTIPLE ADDRESS SPACES.
EP1182551A3 (en) Address space priority arbitration
US6785790B1 (en) Method and apparatus for storing and retrieving security attributes
JP2000276397A (ja) 単純高性能メモリ管理ユニット
JPH11242633A (ja) メモリ保護方式
EP0175398A2 (en) Data processing system comprising a memory access controller which is provided for combining descriptor bits of different descriptors associated with virtual addresses
EP0196244A3 (en) Cache mmu system
EP0425771A2 (en) An efficient mechanism for providing fine grain storage protection intervals
US6918023B2 (en) Method, system, and computer program product for invalidating pretranslations for dynamic memory removal
CA2029628A1 (en) Translation look aside buffer with parallel exception checking and update bypass
RU2005115088A (ru) Управление доступом устройства к памяти
JP2002049531A (ja) メモリ領域境界検出方法及びコンピュータシステム
JPS6149703B2 (ja)
JP3087279B2 (ja) マイクロコンピュータ・システム
JPS5821352B2 (ja) バツフア・メモリ制御方式
JPH01197844A (ja) アドレス変換装置