JPS6257044A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPS6257044A
JPS6257044A JP60195842A JP19584285A JPS6257044A JP S6257044 A JPS6257044 A JP S6257044A JP 60195842 A JP60195842 A JP 60195842A JP 19584285 A JP19584285 A JP 19584285A JP S6257044 A JPS6257044 A JP S6257044A
Authority
JP
Japan
Prior art keywords
address
upper limit
register
segment
data
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
JP60195842A
Other languages
English (en)
Other versions
JPH0782458B2 (ja
Inventor
Toyohiko Kagimasa
豊彦 鍵政
Kikuo Takahashi
高橋 喜久雄
Mie Ono
大野 美恵
Seiichi Yoshizumi
吉住 誠一
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 JP60195842A priority Critical patent/JPH0782458B2/ja
Priority to DE86111162T priority patent/DE3689217T2/de
Priority to EP86111162A priority patent/EP0214490B1/en
Priority to US06/897,403 priority patent/US4851989A/en
Publication of JPS6257044A publication Critical patent/JPS6257044A/ja
Publication of JPH0782458B2 publication Critical patent/JPH0782458B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/655Same page detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は計rσ機の主記憶保護に好適な記憶保護装置に
関する。
〔発明の背景〕
従来の計算機の仮想記憶方式として大きくわけて、デマ
ンドページング、セグメンテーションの2方式があった
。これらの方式についてはマグローヒ/l/ (Me 
()raw−Hi I 1 )社刊行の「オペレーテイ
ングシステA J  (Qperating f3ys
tems )と題する書籍において論じられている。両
方式とも第2図に示すように主記憶上に1段または複数
段の構造を持つアドレス変換機を使用する。第1図は2
段の場合を示し、以下両方式の記憶保護上の違いを第1
図にしたがって説明する。
デマンドベージング方式は仮想記憶をまずセグメントと
呼ぶ固定長の単位に分け、さら釦セグメントの中をペー
ジと呼ぶ固定長の単位に分け、実記憶をページ単位に割
り当てる。仮想記憶へのアクセス時は、命令のオペラン
ドアドレスを示すベースアドレスと相対アドレスを加算
後、セグメント表1とページ表2を引きアクセスするペ
ージを決定する。この方式は単位が固定長であるので効
率的な仮想記憶管理ができる。また、論理上は1次元の
仮想記憶であるので、小さなサイズのデータを多数使う
場合でも端から詰めて割り当てられるので、仮想記憶の
空きができず、仮想記憶空間を効率的に使用できる。し
かし、配列データなどのデータの集合が仮想記憶のどの
範囲に置かれているかは、セグメント表1とページ表2
の情報ではわからない。したがって、データの集合をア
クセスする場合、アドレスがデータの存在範囲をはすれ
ているかどうかの検出(アドレス範囲チェックと呼ぶ)
は、この方式ではできない。
一方、セグメンテーション方式は仮想記憶を可変長のセ
グメントに分け、セグメントとデータの集合を対応づけ
、通常は一つのセグメントに一つのデータの集合を割り
当てる。ページは固定長にすることが多い。仮想記憶へ
のアクセス時は、まずベースアドレスでセグメント表1
を引いたのち、当該セグメントのページ表2を引いてア
クセスするページを決定する。この方式ではセグメント
表エントリ3にデータの存在範囲を示すアドレスを持ち
、アドレス変換時にアドレス範囲チェックを行うことが
できる。しかし、小さいデータの集合が多い場合、ベー
スアドレスで指定可能なセグメンNCも上限があるので
、すべてのデータ集合が仮想記憶空間に入りきらない可
能性はデマンドページング方式より高い。言いかえれば
、セグメンテーション方式は仮想記憶空間に非使用部分
があちこちにできるのでスペース効率が悪い。
〔発明の目的〕
本発明の目的は、主記憶上の配列やスタックなどの構造
を持つデータをアクセスする場合に起るデータ範囲を誤
って逸脱してアクセスするのを検出でき、かつ効率的な
仮想記憶管理が可能な記憶保護機構を提供すること(で
ある。
〔発明の概要〕
アドレス範囲をチェックしたい構造を持つデータの数は
そうでないデータの数より少ないのが普通である。また
、デマンドページング方式のセグメント表エントリやペ
ージ表エントリにデータの上限アドレスを持てばセグメ
ントまたはページにアドレス範囲をチェックしたい構造
を持つデータを1個だけ置くことができる。
したがって、デマンドページング方式の仮想記憶を基本
として、セグメントまたはページごとにアドレス範囲チ
ェックを行うかどうかを設定可能くすれば、実用上問題
ない数のアドレス範囲チェック可能なデータを取り扱え
、かつ効率的な仮想記憶を実現できると考えた。
〔発明の実施例〕
以下、本発明の一実施例を図面により説明する。
第1図は本実施例の構成図である。記憶保護装置は命令
制御ユニット10、主記憶ユニット11、記憶制御ユニ
ット12、演算制御ユニット13がら成る。命令制御ユ
ニツ)10は命令実行の制御を行い、汎用レジスタ群2
0.実行命令のオペランドアドレスのベースアドレスを
保持するベースアドレス・レジスタ22、インデクスを
保持するインデクス・レジスタ23、変位を保持する変
位レジスタ24、オペランドアドレスに対してアドレス
範囲チェックを実施することを示すLビット21、加算
器25,26、仮想アドレス・レジスタ27、相対アド
レス・レジスタ28、セレクタ30を持つ。
記憶側間ユニット11は、仮想記憶アクセスの制御ヲ行
い、仮想アドレスを実アドレスへ変換するアドレス変換
回路31、実ページアドレス・レジスタ33、セグメン
トがアドレス範囲チェックの対象となるデータを持つこ
とを示すPビット34、対尿データの上限アドレスを保
持する上限アドレスレジスタ35、実アドレス・レジス
タ39、割り込み回路40、比較器38、ゲート42.
43,44,45、割り込み信号線41を持つ。演算ユ
ニット13は命令の演算機能を実行する。主記憶ユニッ
ト11はアドレス変換機29を格納している。第3図は
アドレス変換機29のエントリ・フォーマットを示す。
仮想記憶はまずセグメントと呼ばれる仮想記憶単位に分
けられ。
さらにセグメントの中をページと呼ばれる単位に分けら
れる。アドレス変換機29は第2図に示す構造を持ち、
セグメント表エントリ3はセグメントごとに設けられ、
ページ表アドレス50、アドレス範囲チェックの対象デ
ータを持つことを示すフラグ51、対象データが存在す
る範囲の上限を示すセグメント内相対アドレスである上
限アドレス52を持つ。ページ表エントリ4はページご
とに設けられ、実ページアドレス53を持つ。
第4図は命令のフォーマットを示す。命令60にはオペ
レーションコード61に加工て、オペランドアドレスを
あられすベースレジスタ番号64、インデクスレジスタ
番号63、変位65が指定されている。レジスタ番号6
3.64は汎用レジスタの番号を指定する。
第5図はペースレジスタのフォーマツトラ示す。
ベースレジスタ50の左端ビットはアドレス範囲チェッ
クを受けるべきアクセスであることを示すフラグ71で
あり、残シのフィールドはベースアドレス72である。
ベースアドレス72はセグメント・アドレス73、ペー
ジ・アドレス74、変位75に分かれる。
したがって、本実施例では、アドレス範囲チェックを行
いたいデータはセグメントの先頭から上限アドレス52
.55で示す範囲に置かなければならない。同一セグメ
ント内にアドレス範囲チェックの対象データを複数置く
ことはできないが、アドレス範囲チェックの対象データ
を1個置き。
残りの部分にアドレス範囲チェックを行わないデータを
複数置くことができる。
次に本実施例の動作を説明する。本実施例では仮想記憶
上のデータをアクセスする前に、プログラムにより汎用
レジスタ群20のいずれかのレジスタをペースレジスタ
70として選び、対象データのベースアドレス72をロ
ードする必要がある。
また、その際に対象データに対してアドレス範囲チェッ
クを実施したい場合は、ベースレジスタ70の7ラグ7
1を論理和演算命令などでオンにしておく。仮想記憶に
アクセスする命令を実行しようとすると、本実施例では
命令制御ユニット10が当該命令のペースレジスタ番号
64で示す汎用レジスタ群20のレジスタの7ラグ71
をLピット21に、ベースアドレス72をベースアドレ
ス・レジスタ22にセットし、インデクスレジスタ番号
63で示す汎用レジスタ群20のレジスタの内容をイン
デクス・レジスタ23にセットする。主記憶ユニット1
1内にある命令60中の変位65は変位レジスタ24に
セットする。その後、加算器26でインデクス・レジス
タ23と変位レジスタ24の内容を加算して相対アドレ
ス・レジスタ28にセットし、加算器25でさらに相対
アドレス・レジスタ28とベースアドレス・レジスタ2
2の内容を加算するが、セレクタ30によりLピット2
1がオフの場合は仁の加算結果が仮想アドレス・レジス
タ27にセットされ、Lビット21がオンの場合はベー
スアドレス・レジスタ22のセグメント・アドレス73
と相対アドレス・レジスタ28のページ・アドレス74
と変位75が仮想アドレス・レジスタ27にセットされ
る。記憶制御ユニット12のアドレス変換回路31は仮
想アドレス・レジスタ27のセグメント・アドレス73
からアドレス変換機29の該当セグメント表エントリ3
を求め、7ラグ51をPビット34に、上限アドレス5
2を上限アドレス・レジスタ35にセットする。該当セ
グメント表エントリ3のページ表アドレス50と仮想ア
ドレス・レジスタのページ・アドレス74から該当ペー
ジ表エントリ4を求め、実ページ・アドレス53を実ペ
ージアドレス・レジスタ33にセットする。
災ページアドレス・レジスタの内容と仮想アドレス・レ
ジスタ27の変位75は実アドレス・レジスタ39にセ
ットされる。比較器38は上限アドレス・レジスタ35
と相対アドレス・レジスタ28の内容を比較し、その結
果とLビット21、Pビット34を入力としてゲー)4
2.43゜44.45は、Lピット21、Pビット34
、比較器38の出力がそれぞれ、1,1.1またはO9
1.0または1,0.0または1,0.1の場合に割り
込み発生回路40を起動する。割り込み発生回路40は
割り込み信号線41により演算ユニット13に割り込み
の発生を知らせ、仮想記憶へのアクセスを無効にさせる
本実施例によれば、ペースレジスタの’t[ビットをフ
ラグに使用するため、デマンド・ベージング方式にくら
べて仮想記憶空間の容量は1/2になるが高速のアドレ
ス範囲チェックが可能となる。
また、セグメンテーション方式とくらべると、小さいデ
ータ集合が多い場合でも仮想記憶空間に非使用部分がで
きずスペース効率が良い。
〔発明の効果〕
本発明によれば、仮想記憶は管理効率がよく仮想記憶空
間のスペース効率もよいデマンドページング方式を採り
ながら、配列やスタックなどの構造を持つデータのアド
レス範囲のチェックをアドレス変換時に効率よく行うこ
とができる。デマンドページング方式でアドレス範囲チ
ェックをソフトウェアで行う場合にくらべて本発明なら
ば命令のデコード、上下限値のロードが必要ないので少
なくとも10倍程度速いチェックが可能である。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図、第2図はこの実施
例のアドレス変換機の構造図、第3図はこの実施例のア
ドレス変換機エントリのフォーマット図、第4図はこの
実施例の命令フォーマット図、第5図はこの実施例のペ
ースレジスタのフォーマットを示す。 21・・・Lピッ)、22・・・ベースアドレス・レジ
スタ、28・・・相対アドレス・レジスタ、29・・・
アドレス変換機、31・・・アドレス変換回路、34・
・・Pビット、35・・・上限アドレス・レジスタ、5
1・・・アドレス範囲チェック・フラグ、52・・・上
限アドレス、71・・・アドレス範囲チェック・フラグ
、  。 、〆 72・・・ベースアドレス。            
(\′

Claims (1)

    【特許請求の範囲】
  1. 仮想記憶方式を採りベースアドレスと相対アドレスによ
    り命令のオペランドアドレスを決定する方式の計算機に
    おいて、仮想記憶単位ごとにアドレス範囲チェックの対
    象データの存在を示すフラグと該対象データの存在範囲
    を示す上限アドレスを含むエントリを持つアドレス変換
    機と、命令のオペランドアドレスごとにアドレス範囲チ
    ェックを実施するか否かを弁別する手段と、仮想記憶ア
    クセス時にベースアドレスが示す仮想記憶単位に対応す
    る上記アドレス変換機のエントリ内の上記フラグおよび
    存在範囲を示す上記上限アドレスと上記弁別手段に基づ
    いて、アドレス範囲チェック実施であり該フラグがオン
    でかつ相対アドレスが該上限アドレスより大きい場合と
    、アドレス範囲チェック実施であり該フラグがオフの場
    合と、アドレス範囲チェック非実施であり該フラグがオ
    ンでかつ相対アドレスが該上限アドレスより大きくない
    場合に、仮想記憶へのアクセスを無効にし例外条件を発
    生させる判定手段を設けたことを特徴とする記憶保護装
    置。
JP60195842A 1985-09-06 1985-09-06 データ処理装置 Expired - Lifetime JPH0782458B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP60195842A JPH0782458B2 (ja) 1985-09-06 1985-09-06 データ処理装置
DE86111162T DE3689217T2 (de) 1985-09-06 1986-08-12 Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher.
EP86111162A EP0214490B1 (en) 1985-09-06 1986-08-12 Data processing apparatus with a virtual storage address boundary check circuit
US06/897,403 US4851989A (en) 1985-09-06 1986-08-18 Data processing apparatus with a virtual storage address boundary check circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60195842A JPH0782458B2 (ja) 1985-09-06 1985-09-06 データ処理装置

Publications (2)

Publication Number Publication Date
JPS6257044A true JPS6257044A (ja) 1987-03-12
JPH0782458B2 JPH0782458B2 (ja) 1995-09-06

Family

ID=16347912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60195842A Expired - Lifetime JPH0782458B2 (ja) 1985-09-06 1985-09-06 データ処理装置

Country Status (4)

Country Link
US (1) US4851989A (ja)
EP (1) EP0214490B1 (ja)
JP (1) JPH0782458B2 (ja)
DE (1) DE3689217T2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104868B2 (ja) * 1988-04-08 1995-11-13 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン データ記憶検索システム
US5555387A (en) * 1995-06-06 1996-09-10 International Business Machines Corporation Method and apparatus for implementing virtual memory having multiple selected page sizes
US5784713A (en) * 1993-03-05 1998-07-21 Cyrix Corporation Address calculation logic including limit checking using carry out to flag limit violation
US5590351A (en) * 1994-01-21 1996-12-31 Advanced Micro Devices, Inc. Superscalar execution unit for sequential instruction pointer updates and segment limit checks
US5564030A (en) * 1994-02-08 1996-10-08 Meridian Semiconductor, Inc. Circuit and method for detecting segment limit errors for code fetches
US5577219A (en) * 1994-05-02 1996-11-19 Intel Corporation Method and apparatus for preforming memory segment limit violation checks
US5513337A (en) * 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
WO1996008775A1 (en) * 1994-09-16 1996-03-21 Philips Electronics N.V. Software programmable bus disable system
US5822786A (en) * 1994-11-14 1998-10-13 Advanced Micro Devices, Inc. Apparatus and method for determining if an operand lies within an expand up or expand down segment
US5701448A (en) * 1995-12-15 1997-12-23 Cyrix Corporation Detecting segment limit violations for branch target when the branch unit does not supply the linear address
EP0976050B1 (en) * 1996-01-24 2002-06-12 Sun Microsystems, Inc. Processor with array access bounds checking
FR2766597B1 (fr) * 1997-07-23 2004-01-09 Inside Technologies Microprocesseur comportant un chemin d'adresses securise
KR101724590B1 (ko) * 2011-01-31 2017-04-11 삼성전자주식회사 멀티 프로세서 시스템에서의 메모리 보호 장치 및 방법
CN112860174B (zh) * 2019-11-27 2024-07-12 瑞昱半导体股份有限公司 数据写入系统与方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253424A5 (en) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind Memory address system for data protection - has predetermined limit and two memories with replacement system for first memory by second
FR2258112A5 (ja) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
US4084227A (en) * 1976-09-24 1978-04-11 Sperry Rand Corporation Virtual address translator
GB2059652B (en) * 1979-09-29 1983-08-24 Plessey Co Ltd Memory protection system using capability registers
US4584666A (en) * 1984-06-21 1986-04-22 Motorola, Inc. Method and apparatus for signed and unsigned bounds check

Also Published As

Publication number Publication date
EP0214490A3 (en) 1990-01-10
DE3689217T2 (de) 1994-02-24
US4851989A (en) 1989-07-25
DE3689217D1 (de) 1993-12-02
EP0214490A2 (en) 1987-03-18
EP0214490B1 (en) 1993-10-27
JPH0782458B2 (ja) 1995-09-06

Similar Documents

Publication Publication Date Title
US5335334A (en) Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US4408274A (en) Memory protection system using capability registers
US4992936A (en) Address translation method and apparatus therefor
US7467271B2 (en) Operating system permitting limited access to a system page
US5317705A (en) Apparatus and method for TLB purge reduction in a multi-level machine system
EP0213843A2 (en) Digital processor control
JP3219826B2 (ja) 情報処理装置
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
JPH0459654B2 (ja)
JPS6257044A (ja) データ処理装置
US4866599A (en) Call instruction, return instruction and trap procedure for ring crossing architecture
US5873124A (en) Virtual memory scratch pages
JPH0512126A (ja) 仮想計算機のアドレス変換装置及びアドレス変換方法
US4991083A (en) Method and system for extending address space for vector processing
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JPH0430062B2 (ja)
EP1901171A1 (en) Apparatus and method for handling interrupt disabled section and page pinning apparatus and method
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
EP0389886A2 (en) Ring reduction logic mechanism
JP2533931B2 (ja) 動的割当て領域のデ―タ内容保護方式
JPS59111557A (ja) アドレス変換装置
KR20240057652A (ko) 가비지 컬렉션 방법 및 장치
JPH02168332A (ja) データ処理装置
JPH03113548A (ja) 拡張メモリ制御装置
JPH0652507B2 (ja) マイクロコンピユ−タの開発装置