JPH07191903A - データ処理システムおよび動作方法 - Google Patents

データ処理システムおよび動作方法

Info

Publication number
JPH07191903A
JPH07191903A JP6293671A JP29367194A JPH07191903A JP H07191903 A JPH07191903 A JP H07191903A JP 6293671 A JP6293671 A JP 6293671A JP 29367194 A JP29367194 A JP 29367194A JP H07191903 A JPH07191903 A JP H07191903A
Authority
JP
Japan
Prior art keywords
bits
logical address
transparent
mode
register
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
JP6293671A
Other languages
English (en)
Inventor
Juan G Revilla
ジュアン・ギルモ・レビラ
Art Parmet
アート・パーメット
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH07191903A publication Critical patent/JPH07191903A/ja
Pending 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/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/1425Protection 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 physical, e.g. cell, word, block
    • G06F12/1441Protection 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 physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

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)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 メモリ管理ユニットMMU14を利用するデ
ータ処理システム10,28および方法を提供する。 【構成】 プロセッサは、2つの特権動作モード、すな
わちユーザ動作モードおよびスーパバイザ動作モードを
有する。MMU14は、論理アドレス変換をキャッシュ
・アクセスおよびテーブルウォークを介して行う第1動
作モードと、第2動作モードとを有する。第2動作モー
ドでは、第1透過変換レジスタTTR16,第2透過変
換レジスタTTR18またはディフォルト番地22のい
ずれか1つから変換属性ビットを与える。各TTR1
6,18は、異なるアドレス空間および異なるアドレス
指定されたメモリ・サイズをマッピングでき、ディフォ
ルト番地22は、TTR16,18の一方でマッピング
されなかったすべてのメモリを網羅する。ディフォルト
番地22はプログラム可能で、ライト・プロテクション
を行い、特権モードから独立して属性ビットを与える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、メモリにアク
セスするデータ・プロセッサに関し、さらに詳しくは、
透過的なアドレス変換レジスタを有するメモリ管理ユニ
ットに関する。
【0002】
【従来の技術】メモリ管理ユニットでは、メモリのいく
つかの大きなエリアの透過的なマッピングを必要とする
システムを満足させるため、透過変換レジスタ(transpa
rent translation register)がマッピングしない残りの
アドレス空間に対してメモリ・アクセス制御を行う必要
な場合がある。これは、部分的には、メモリ管理ユニッ
ト内に格納されたハードワイヤード・アクセス制御属性
ビットのセットによって行われる。このハードワイヤー
ド格納方法では、属性ビットがハードウェアの固定され
た格納番地に格納され、システム・ユーザまたはプログ
ラマによって変更できないので柔軟性がないという1つ
の大きな欠点がある。
【0003】
【発明が解決しようとする課題】あるシステムでは、M
MU(Memory Management Unit)がマッピングされていな
い空間に対してアクセス制御を行うため、特権モード依
存動作モードを内蔵している。具体的には、アイデンテ
ィティ変換モード(Identity Translation Mode)では、
アクセス制御は4つのエリア記述子(area descriptor)
のセットによって管理され、第1の記述子はスーパバイ
ザ空間命令アクセス(supervisor space instruction ac
cess) を制御するために用いられ、第2の記述子は、ス
ーパバイザ空間オペランド・アクセスを制御するために
用いられ、第3の記述子は、ユーザ空間命令アクセスを
制御するために用いられ、第4の記述子は、ユーザ空間
オペランド・アクセスを制御するために用いられる。こ
の方法では、スーパバイザ・エリア記述子はユーザ・プ
ログラムによる不正アクセスからスーパバイザ空間を保
護できないので、論理アドレス空間をスーパバイザ空間
とユーザ空間とに分割する必要があるという大きな欠点
がある。この方法の別の大きな欠点は、プログラマによ
って複数のレジスタを構築する必要があることである。
【0004】
【課題を解決するための手段】上記の欠点は本発明によ
って克服され、他の利点が達成される。1つの形態で
は、本発明は、データ処理システムにおいてメモリ・ア
クセス制御を行う方法からなり、データ処理システム
は、少なくとも2つのプロセッサ特権動作モードを有す
る。論理アドレスは、データ・プロセッサ内のメモリ管
理ユニットに与えられる。論理アドレスの一部は、第1
透過変換レジスタ内の所定のビット数と選択的に比較さ
れる。論理アドレス信号のこの一部が第1透過変換レジ
スタの所定のビット数に等しい場合に、第1制御信号は
アサートされる。論理アドレスの一部は、第2透過変換
レジスタ内の所定のビット数と選択的に比較される。論
理アドレスのこの一部が第2透過変換レジスタの所定の
ビット数に等しい場合に、第2制御信号はアサートされ
る。第1透過変換レジスタからの属性ビット,第2透過
変換レジスタからの属性ビットまたはデフォルト格納番
地からの属性ビットは、第1制御信号または第2制御信
号のいずれかに基づいて選択される。デフォルト格納番
地は、プロセッサ特権モードにかかわりなく、属性ビッ
トを与える。
【0005】別の形態では、本発明は、少なくとも2つ
の動作モードを有するメモリ管理ユニットを備えたデー
タ・プロセッサからなる。第1動作モードが通常動作モ
ードであり、第2動作モードがデフォルト動作モードで
ある。データ・プロセッサは、2つの特権モード(1つ
の形態では、ユーザ・モードおよびスーパバイザ・モー
ド)を有し、これら2つの特権モードはデータ保護を行
う。データ・プロセッサは、メモリ管理ユニットに論理
アドレスを与える回路を有する。第1および第2透過変
換レジスタは、機能的にメモリ管理ユニットの一部であ
る。論理アドレスを受ける比較回路は、データ・プロセ
ッサ内にある。この比較回路は、第1透過変換レジスタ
および第2透過変換レジスタの両方に結合される。比較
回路は、論理アドレスにおける所定のビット数を各第1
および第2透過変換レジスタにおける所定のビット数と
比較して、論理アドレスの所定のビット数が第1および
第2透過変換レジスタの一方の所定のビット数に等しい
場合に、制御信号をアサートする。比較回路は、デフォ
ルト動作モードで機能する。メモリ管理ユニット内のデ
フォルト格納番地は、複数の属性ビットを格納するため
に用いられる。デフォルト格納番地は、特権モードにか
かわりなく、複数の属性ビットを与える出力を有する。
セレクタ回路は、第1透過変換レジスタから所定の数の
属性ビットを受ける第1入力を有し、第2透過変換レジ
スタから所定の数の属性ビットを受ける第2入力を有
し、特権モードにかかわりなく複数の属性ビットを与え
る出力に結合された第3入力を有する。セレクタ回路は
制御信号に結合され、この制御信号は、セレクタ回路の
出力を決定するために用いられ、このセレクタ回路の出
力は、第1入力,第2入力または第3入力のいずれか1
つのビットである。セレクタ回路は、デフォルト動作モ
ードで機能する。
【0006】
【実施例】本発明は、添付の図面とともに以下の詳細な
説明から理解を深めることができよう。
【0007】ただし、図示を簡単かつ明瞭にするため、
図面に示される要素は必ずしも原寸どおりではない。例
えば、明確にするため、ある要素の寸法は他の要素に対
して誇張されている。さらに、適切と思われる場合に
は、対応するまたは同様な要素を示すため、参照番号は
図面を通じて反復して用いられている。
【0008】一般に、本発明は、データ・プロセッサ内
でメモリ・アクセス制御を行う方法および装置を提供す
る。これは、通常メモリ・アクセス中に、物理アドレス
に対して論理アドレスをデフォルト・アドレス・マッピ
ングすることによって行われる。この方法は、特権モー
ド(スーパバイザまたはユーザ)および論理アドレスを
メモリ管理ユニット(MMU)に与えることによって開
始する。特権モードおよび論理アドレスが、第1透過変
換レジスタ(TTR)によって定められた特権モードお
よび論理アドレスのブロック、または第2透過変換レジ
スタによって定められた特権モードおよび論理アドレス
のブロックと一致するかどうかの判定が行われる。メモ
リ・アクセス中の論理アドレスの透過的マッピングは、
第1TTRが一致した場合に、第1TTRにおって行わ
れる。第2TTRが一致し、第1TTRが一致しない場
合、論理アドレスの透過的マッピングは第2TTRによ
って行われる。しかし、いずれのTTRも一致しない場
合、デフォルト・アドレス変換が呼び出され、デフォル
ト・アクセス制御レジスタに格納されたアクセス制御ビ
ットのセットがアクセスで用いられる。
【0009】デフォルト・アクセス制御レジスタは、ラ
イト・プロテクション・ビットを格納することによっ
て、書き込み保護を行う。デフォルト・アクセス制御レ
ジスタは、独立して、あるいはユーザ・モードまたはス
ーパバイザ・モードを使用中であるかどうかに関係な
く、属性ビットを出力する。さらに、デフォルト・アク
セス制御レジスタは、システム・ユーザまたはプログラ
マによって変更またはプログラム可能な属性ビットを出
力する。
【0010】本発明は、図1ないし図5を参照すること
によってさらに詳しく理解できる。図1は、プロセッサ
10を有するシステムを示す。プロセッサ10は、パイ
プライン・ユニット12およびメモリ管理ユニット(M
MU)14を有する。ユニット12は、プロセッサ10
内で命令を実行するために用いられる。ユニット12
は、2つの特権レベル、すなわちスーパバイザ・モード
またはユーザ・モードの1つで動作する。概して、プロ
セッサ10は、マイクロプロセッサ,パイプラインド実
行デバイス,特定用途向け集積回路(ASIC)デバイ
ス、プログラマブル論理アレイ(PLA),ハードワイ
ヤード論理,マイクロコードおよび/またはナノコード
によって少なくとも部分的にソフトウエア駆動される実
行ユニット,複数の実行デバイス,デジタル信号プロセ
ッサ(DSP),コンピュータ,データ・プロセッサ,
中央処理装置(CPU),マイクロコントローラ・ユニ
ット(MCU)などであっても、あるいはそれらを含ん
でもよい。
【0011】プロセッサ10内のMMU14の主な機能
は、通常動作モードにおいて変換回路を利用して、ユニ
ット14によって与えられた論理アドレスを物理アドレ
スに変換することである。変換回路11は、通常動作モ
ードにおいてアドレス変換を行うため、アドレス変換キ
ャッシュ(ATC)アクセスおよび/またはテーブルウ
ォーク(tablewalk) を必要とすることがる。デフォルト
動作モードでは、変換回路11は論理アドレスを物理ア
ドレスとしてとして与え(すなわち、論理アドレス・ビ
ットが物理アドレス・ビットに等しい)、バス属性ビッ
トは図1に示す回路を介して導出される。
【0012】前述のように、MMU14は、2つの動作
モード、すなわち通常モードまたはデフォルト・モード
の一方で動作する。MMU14は、第1透過変換レジス
タ(TTR)16および第2透過変換レジスタ18を有
し、これらはデフォルトまたは通常動作モードにおい
て、通常メモリ・アクセス中に物理アドレスとして用い
られる論理アドレスのブロックを定めるために利用され
る。TTRは、好適な形態では、通常動作モード中に一
般にディセーブルされ、従って、ディフォルト動作モー
ドにおいてのみ用いられる。また、MMU14は、論理
アドレスを物理アドレスに変換するために用いられるペ
ージ・アドレス変換ユニットを有し、これは図1におい
て回路11を介して示される。
【0013】ユニット12,14は、外部アドレス・バ
スを介して外部メモリ26に接続される。双方向データ
・バスは、図1に示すように、外部メモリ26とパイプ
ライン・ユニット12との間に接続される。多くの場
合、アドレス・バスおよびデータ・バスは、簡単にする
ため図1に図示しない入力ドライバ,出力ドライバ,I
/Oドライバ,バス制御回路,キャッシュ・ユニットな
どの論理を通過する。また、ユニット14は、複数の属
性信号を介して外部メモリ26に接続される。パイプラ
イン・ユニット12は、メモリ26からデータを受け、
ユニット14は、アドレスおよびアクセス制御情報をメ
モリ26に与える。
【0014】パイプライン・ユニット12は、メモリ2
6へのアクセスが必要なことを判断する。内部論理アド
レスは、図示のようにMMU14に与えられる。MMU
14は、まず比較ユニット20を介して、特権モードお
よび論理アドレスを、TTR16によって定められた特
権モードおよび論理アドレスのブロックと、TTR18
によって定められた特権モードおよび論理アドレスのブ
ロックと比較する。好適な形態では、ユニット20は並
列比較ユニットであるが、多くの直列比較ユニットも当
技術分野で存在し、TTR16およびTTR18で利用
できる。比較ユニット20を介してTTR16またはT
TR18が一致すると、メモリ・アクセスについて論理
アドレスが物理アドレスとして用いられる。さらに、比
較ユニット20の出力によって制御されるマルチプレク
サ(MUX)24は、一致したTTR(TTR16また
はTTR18)に格納されたアクセス制御属性ビットの
セットを、複数の属性データ・ラインを介してメモリ2
6に送る。
【0015】TTR16または18のいずれも一致せ
ず、MMU14が通常モードで動作している場合、ペー
ジ・アドレス変換ユニット11は、論理アドレスの物理
アドレス変換を行うために呼び出され、MUX24の出
力はメモリ・アクセスについて無視される。いずれのT
TRも一致せず、MMU14がデフォルト・モードで動
作している場合、プログラマ・ビジブル(programmer vi
sible)デフォルト・アクセス制御レジスタ22に格納さ
れたアクセス制御ビットのセットがこのアクセスで用い
られる。
【0016】物理アドレスおよびアクセス制御属性のセ
ットが外部メモリ26によって受け取られると、外部メ
モリ26は、外部物理アドレスに応答して、データ・バ
スを介して複数のデータ・ビットをパイプライン・ユニ
ット12に与える。
【0017】好適な形態では、TTR16,TTR18
およびデフォルト・アクセス制御レジスタ(デフォルト
格納)22に格納されたアクセス制御属性ビットのセッ
トは、キャッシュ・モード・ビットのセット,ユーザ・
ページ属性ビットのセットおよびデータ・ライト・アク
セス・プロテクション・ビットによって構成される。デ
フォルト・アクセス制御レジスタ22が存在せず、MM
U14がデフォルト・モードで動作しているならば、T
TRミス(すなわち、TTR16またはTTR18のい
ずれにおいてもアドレス・ヒットがない)の場合に、マ
ッピングされていない空間に対して柔軟なアクセス制御
ができないことに留意されたい。また、デフォルト・ア
クセス制御レジスタ22が存在せず、MMU14がデフ
ォルト・モードで動作しているならば、TTRミスの場
合に、マッピングされていない空間に対してデータ・ラ
イト・アクセス・プロテクションができないことに留意
されたい。
【0018】図2は、複数のアドレスおよびデータ・ラ
インを介して外部メモリ50に接続されたプロセッサ2
8を有する別のデータ処理システムを示す。プロセッサ
28は、パイプライン・ユニット30と、2つの独立し
たメモリ・キャッシュ・ユニット、すなわち命令キャッ
シュ・ユニット(ICU)48およびオペランド・キャ
ッシュ・ユニット(OCR)66とを有する。ユニット
30は、プロセッサ28内で命令を実行するために用い
られ、2つの特権レベル、すなわちスーパバイザ・モー
ドおよびユーザ・モードの一方で動作する。ICU48
はおよびOCU66は、複数のアドレスおよびデータ・
ラインを介してユニット30に接続される。ICU48
は、パイプライン・ユニット30によって迅速にアクセ
スできるように、新しくプリフェッチされた命令データ
のコピーを保持するために用いられる。OCU66は、
パイプライン・ユニット30によって迅速にアクセスで
きるように、新しくフェッチされたオペランド・データ
のコピーを保持するために用いられる。ICU48およ
びOCU66に格納されたデータは、同時に、かつ外部
メモリ50によって与えるよりも高速に、ユニット30
に与えることができる。従って、ICU40およびOC
U66は、命令データおよびオペランド・データのアク
セスのスループット改善のために利用される。
【0019】また、プロセッサ28は、第1透過変換レ
ジスタ(TTR)34および第2透過変換レジスタ36
を有し、これらは命令データのプリフェッチ中に物理ア
ドレスとして用いられる論理アドレスのブロックを定め
るために用いられ、また、第3透過変換レジスタ54お
よび第4透過変換レジスタ56を有し、これらはオペラ
ンド・データ・アクセス中に物理アドレスとして用いら
れる論理アドレスのブロックを定めるために用いられ
る。好適な形態では、各TTR34,36,54,56
は、論理アドレス・ベース・フィールド,論理アドレス
・マスク・フィールド,特権モード・ビット,およびキ
ャッシュ・モード・ビットのセットや、ユーザ属性ビッ
トのセットや、データ・ライト・アクセス・プロテクシ
ョン・ビットを含む複数のアクセス制御属性ビットによ
って構成される。
【0020】パイプライン・ユニット30は、ICU4
8および/またはOCU58に対する命令データ・アク
セスおよび/またはオペランド・データ・アクセスが必
要なことを判定する。命令データ・アクセスが必要な場
合、論理アドレス32(上位および下位ビット部分に分
割される)がICU48および比較回路42に与えられ
る。論理アドレス32は、図示のように上位部分と下位
部分とに分割される。比較回路42は、特権モードおよ
び論理アドレスの上位部分を、TTR34に格納された
特権モード・ビットおよび論理アドレス・ベース・ビッ
トと、TTR36に格納された特権モード・ビットおよ
び論理アドレス・ベース・ビットと比較するために用い
られる。マスク回路38は、TTR34に格納された論
理アドレス・マスク・ビットを利用して、TTR34の
論理アドレス・ベース・フィールドのどのビットを比較
中に無視するかを判定する。TTR34における論理ア
ドレス・マスク・ビットが設定されると、TTR34に
おける対応する論理アドレス・ベース・ビットは比較中
に無視される。同様に、マスク回路40は、TTR36
に格納された論理アドレス・マスク・ビットを利用し
て、TTR36の論理アドレス・ベース・フィールドの
どのビットを比較中に無視するかを判定する。TTR3
4またはTTR36のいずれかが一致すると、比較回路
42の出力によって制御されるセレクタ回路44は、一
致したTTRに格納されたアクセス制御属性ビットのセ
ットを複数のデータ・ラインを介してICU48に渡
す。いずれのTTRも一致しなければ、セレクタ回路4
4は,プログラマ・ビジブル・デフォルト・アクセス制
御レジスタ46に格納されたアクセス制御ビットのセッ
ト46aをICU48に渡す。論理アドレスを物理アド
レスとして用いることにより、ICU48は、物理アド
レスに応答して、メモリ・バンク内でキャッシュ・デー
タを探す。もし見つかると、ICU48はこのデータを
複数のデータ・ラインを介してパイプライン・ユニット
30に供給する。ICU48内でデータが見つからなけ
れば、ICU48は外部メモリ・アクセスを要求し、複
数のデータ・ラインを介してアクセス制御属性ビットを
外部メモリ50に渡す。
【0021】オペランド・データ・アクセスが必要な場
合、論理アドレス52はOCU66および比較回路62
に与えられる。論理アドレス52は、同様に論理アドレ
ス32に分割される。比較回路62は、特権モードおよ
び論理アドレスの上位部分を、TTR54に格納された
特権モード・ビットおよび論理アドレス・ベース・ビッ
トと、TTR56に格納された特権モード・ビットおよ
び論理アドレス・ベース・ビットと比較するために用い
られる。マスク回路58は、TTR54に格納された論
理アドレス・マスク・ビットを利用して、TTR54の
論理アドレス・ベース・フィールドのどのビットをが比
較中に無視するかを判定する。TTR54における論理
アドレス・マスク・ビットが設定されると、TTR54
における対応する論理アドレス・ベース・ビットが比較
中に無視される。同様に、マスク回路60は、TTR5
6に格納された論理アドレス・マスク・ビットを利用し
て、TTR56の論理アドレス・ベース・フィールドの
どのビットを比較中に無視するかを判定する。TTR5
4またはTTR56のいずれかが一致すると、比較回路
62の出力によって制御されるセレクタ回路64は、一
致したTTRに格納されたアクセス制御属性ビットのセ
ットを複数のデータ・ラインを介してOCU66に渡
す。いずれのTTRも一致しなければ、セレクタ回路6
4は、プログラマ・ビジブル・デフォルト・アクセス制
御レジスタ46に格納されたアクセス制御ビットのセッ
ト46bをOCU66に渡す。論理アドレスを物理アド
レスとして用いることにより、OCU66は、物理アド
レスに応答して、メモリ・バンク内でキャッシュ・デー
タを探す。もし見つかると、OCU66はこのデータを
複数のデータ・ラインを介してパイプライン・ユニット
30に供給する。OCU66内でデータが見つからなけ
れば、OCU66は外部メモリ・アクセスを要求し、複
数のデータ・ラインを介してアクセス制御属性ビットを
外部メモリ50に渡す。
【0022】物理アドレスおよびアクセス制御属性のセ
ットが外部メモリ50によって受け取られると、外部メ
モリ50は、物理アドレスに応答して、データ・バスを
介して複数のデータ・ビットをユニット30に与える。
【0023】ここでも、デフォルト・アクセス制御レジ
スタ46が存在しなければ、TTRミスの場合に、マッ
ピングされていない空間で柔軟なアクセス制御および/
またはライト・アクセス・プロテクションを行うことが
できないことに留意されたい。また、1つのデフォルト
・アクセス制御レジスタが、独立した命令およびオペラ
ンド・メモリ・キャッシュ・ユニットを有するシステム
においてメモリ・アクセス制御を行うことができること
に留意されたい。デフォルト・アクセス制御レジスタ4
6は、ライト・プロテクション・ビットを含み、ユーザ
またはスーパバイザ・モードに関係なくアクセスされ、
プログラム可能であり、従って極めて柔軟性が高い。
【0024】図3は、メモリ・アクセス制御を行うため
にプロセッサ10および/または28によって用いられ
る方法を説明するフローチャートを示す。ステップ10
0は、パイプライン・ユニット12および/または30
が2つの特権モード(スーパバイザまたはユーザ)の一
方で命令を処理しており、通常メモリ・アクセスを実行
する必要があり、論理アドレスをMMU14および/ま
たは比較回路42,62に与えることを示す。ステップ
102は、特権モードおよび論理アドレス(図2の論理
アドレス32,52)の上位部分が、比較ユニット20
または比較ユニット42,62を介して、TTR16,
18またはTTR34,36,54,56によって定め
られた特権モードおよび論理アドレスのブロックと比較
されることを示す。ステップ104は、ステップ102
で行われた比較の結果にもとづいて、MUX24または
セレクタ回路44,64が、アクセス制御属性ビットの
どのセットをアクセスに用いるかを判定することを示
す。また、ステップ104は、MMU14がデフォルト
・モードで動作していることを示唆する。ステップ10
4でTTRミスが検出されると、ステップ106が実行
される。ステップ106で、MUX24は、デフォルト
・アクセス制御レジスタ22に格納されたアクセス制御
属性ビットのセットを選択する。ステップ104でTT
Rヒットが検出されると、ステップ108において、M
UX24は、一致したTTRに格納されたアクセス制御
属性ビットのセットをアクセスのために選択する。ステ
ップ110において、MUX24は選択された属性を外
部メモリ26に供給し、メモリ・アクセスは完了する。
【0025】図4は、TTR16,18,34,36,
54,56について図1ないし図3で用いられる好適な
ビット・フォーマットを示す。図4は、以下のようない
くつかのビット・フィールドおよびビット値を有する透
過変換レジスタ(TTR)(好ましくは32ビットを有
する)を示す: 論理アドレス・ベース(LOGICAL ADDRESS BASE):この8
ビット・フィールドは、特権モードおよび論理アドレス
比較中に、論理アドレスの8上位ビットと比較され、M
MUデフォルト動作モードで用いられる。 論理アドレス・マスク(LOGICAL ADDRESS MASK):この8
ビット・フィールドは、論理アドレス・ベース・フィー
ルドのマスクとして用いられる。このフォールドのビッ
トが設定されると、論理アドレス・ベース・フィールド
における対応するビットは、特権モードおよび論理アド
レス比較中に無視される。 E−イネーブル(ENABLE):このビットは、TTRレジス
タをイネーブル(enable)および/またはディセーブル(d
isable) する。ディセーブルされたTTRは、特権モー
ド中およびMMUディフォルト・モードの論理アドレス
比較中に完全に無視される。 S−スーパバイザ/ユーザ・モード(SUPERVISOR/USER M
ODE):このフィールドは、特権モードおよび論理アドレ
ス比較中に一致する特権モードを指定する。 U−ユーザ・ページ属性(USER PAGE ATTRIBUTES) U
1,U0:これらのビットは、プロセッサ10および/
または28によって解釈されないが、通常メモリ・アク
セス中にプロセッサ10および/または28のUPA1
ピンおよびUPA0ピンにそれぞれ反映される。UPA
1は、ある設計ではチップ・セレクトとして利用でき
る。 CM−キャッシュ・モード(CACHE MODE):この2ビット
のフィールドは、通常メモリ・アクセスのキャッシュ・
モードを選択するために用いられる。CMフィールドに
は4つのステートがあり、第1のステートはキャッシュ
可能ライトスルー(writethrough)ステートであり、第2
のステートはキャッシュ可能コピーバック(copyback)ス
テートであり、第3のステートはキャッシュ禁止(cache
inhibited) ステートで、精度例外モデル(precision e
xception model) であり、第4のステートはキャッシュ
禁止ステートで、不精度例外モデル(inprecise excepti
onmodel) である。 W−ライト・プロテクト(WRITE PROTECT) :このビット
は、メモリ・アドレス空間が書き込み保護されるかどう
かを示す。設定されると、保護されたアドレス空間内の
すべてのアドレスに対するライトおよびリード・モディ
ファイ・ライト・アクセスが許可されない。 図5は、図2におけるデフォルト・ビット部分44a,
44bについて図1ないし図3で用いられる好適なビッ
ト・フォーマットを示す。これらのビットは、次の通り
である: DCO−デフォルト・オペランド・キャッシュ・モード
(DEFAULT OPERAND CACHE MODE):この2ビット・フィー
ルドは、図4のTTRのCMフィールドと同様に機能す
る。 DUO−デフォルト・オペランド・ユーザ・ページ属性
(DEFAULT OPERAND User Page Attributes):この2ビッ
ト・フィールドは、図4のTTRにおけるU1およびU
0と同様に機能する。 DCI−デフォルト命令キャッシュ・モード(DEFAULT I
NSTRUCTION CACHE MODE):この2ビット・フィールド
は、DCOフィールドと同様に機能する。 DUI−ディフォルト命令ユーザ・ページ属性(DEFAULT
INSTRUCTION User Page Attributes):この2ビット・
フィールドは、DUOフィールドと同様に機能する。 W−ライト・プロテクト(WRITE PROTECT) :このビット
は、図4のTTRにおけるWビットと同様に機能する。 本発明は、データ処理システムにおいてメモリ・アクセ
ス制御を行う方法および装置を提供する。このような方
法および装置により、物理アドレスに対する論理アドレ
スの柔軟なディフォルト・アドレス・マッピングが可能
になる。
【0026】本明細書で説明してきた発明は、論理アド
レスから物理アドレスへのディフォルト・アドレス・マ
ッピングを行う他の従来の方法と比較できる。これら他
の方法では、ディフォルト・アクセス制御属性ビットは
別々のレジスタに格納され、一方のレジスタはユーザ・
アクセス専用であり、他方のレジスタはスーパバイザ・
アクセス専用であった。
【0027】この方法の問題点は、論理アドレス空間を
スーパバイザ空間とユーザ空間とに分割する必要があ
り、さもなければスーパバイザ空間はユーザ・プログラ
ムによる不正アクセスから保護できないことである。本
発明は、与えられたメモリ・アクセスについてディフォ
ルト・アドレス・マッピングを行う際に特権モードを無
視することにより、この問題を解決する。従って、集積
回路はわずかな基板表面領域しか用いず、スピードも改
善される。さらに、データの破損を生じる恐れのある不
正なユーザ・プログラム・アクセスからスーパバイザ空
間を保護するため、任意のライト・アクセス・プロテク
ションも施される。
【0028】本発明について特定の実施例を参照して図
説してきたが、さらなる修正や改善は当業者に想起され
る。例えば、本発明がディフォルト・アドレス・マッピ
ング機能を提供できるさまざまなMMUが当技術分野に
存在し、ここでMMUは任意の以下のもの、すなわちペ
ージ・アドレス変換キャッシュ(ATC),ブロック・
アドレス変換キャッシュ,透過変換レジスタまたは任意
の種類のアドレス変換機能を含むことができる。バス・
ビット・サイズは、設計条件に応じて変えることができ
る。さらに、本明細書で説明したビット・フィールドお
よび制御信号は、1ビットでも複数のビットでもよい。
システムにおいて、ゼロ,1つまたは複数のキャッシュ
を利用してもよい。論理アドレスを符号・解読する多く
の方法が当技術分野に存在し、すべて論理アドレスとし
て利用できる。従って、本発明は説明した特定の形式に
限定されず、特許請求の範囲は本発明の精神および範囲
から逸脱しないすべての修正を網羅するするものとす
る。
【図面の簡単な説明】
【図1】本発明によるデータ処理システムを示すブロッ
ク図である。
【図2】本発明による別のデータ処理システムを示すブ
ロック図である。
【図3】本発明によりメモリ・アクセス制御を行う方法
を示すフローチャートである。
【図4】本発明による透過変換レジスタ(TTR)のビ
ット構成を示すブロック図である。
【図5】本発明によるデフォルト属性格納レジスタのビ
ット構成を示すブロック図である。
【符号の説明】
10 プロセッサ 11 変換回路(ページ・アドレス変換ユニット) 12 パイプライン・ユニット 14 メモリ管理ユニット(MMU) 16 第1透過変換レジスタ(TTR) 18 第2透過変換レジスタ 20 比較ユニット 22 プログラマ・ビジブル・デフォルト・アクセス制
御レジスタ 24 マルチプレクサ(MUX) 26 外部メモリ 28 プロセッサ 30 パイプライン・ユニット 32 論理アドレス 34 第1透過変換レジスタ(TTR) 36 第2透過変換レジスタ 38,40 マスク回路 42 比較回路 44 セレクタ回路 46 プログラマ・ビジブル・デフォルト・アクセス制
御レジスタ 48 命令キャッシュ・ユニット 50 外部メモリ 52 論理アドレス 54 第3透過変換レジスタ 56 第4透過変換レジスタ 58,60 マスク回路 62 比較回路 64 セレクタ回路 66 オペランド・キャッシュ・ユニット

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも2つの動作モードを有し、第
    1の動作モードが通常動作モードであり、第2の動作モ
    ードがディフォルト動作モードであるメモリ管理ユニッ
    トを有するデータ・プロセッサ(10)であって、2つ
    の特権モードを有し、これら2つの特権モードがデータ
    ・プロテクションを行うデータ・プロセッサは:前記メ
    モリ管理ユニットに論理アドレスを与える、前記データ
    ・プロセッサ内の回路;前記メモリ管理ユニット内の第
    1透過変換レジスタ;前記メモリ管理ユニット内の第2
    透過変換レジスタ;前記論理アドレスを受ける比較回路
    であって、前記第1透過変換レジスタおよび第2透過変
    換レジスタに結合され、前記論理アドレスのおける第1
    の所定のビット数を、各前記第1および第2透過変換レ
    ジスタにおける第2の所定のビット数と比較して、前記
    論理アドレスにおける前記第1の所定のビット数が前記
    第1および第2透過変換レジスタのいずれか一方におけ
    る前記第2の所定のビット数と等しい場合に、制御信号
    をアサートする比較回路であって、前記ディフォルト動
    作モードで機能する比較回路;複数の属性ビットを格納
    する、前記メモリ管理ユニット内のディフォルト格納番
    地であって、前記特権モードにかかわりなく前記複数の
    属性ビットを与える出力を有するフォルト格納番地;お
    よび前記第1透過変換レジスタから第3の所定の数の属
    性ビットを受ける第1入力を有し、前記第2透過変換レ
    ジスタから第4の所定の数の属性ビットを受ける第2入
    力を有し、前記特権モードにかかわりなく前記複数の属
    性ビットを与える前記出力に結合された第3入力を有す
    るセレクタ回路であって、このセレクタ回路は前記制御
    信号に結合され、前記制御信号はセレクタ回路の出力を
    決定するために用いられ、セレクタ回路の出力は、前記
    第1入力,前記第2入力または前記第3入力のいずれか
    1つのビットであり、前記ディフォルト動作モードで動
    作するセレクタ回路;によって構成されることを特徴と
    するデータ・プロセッサ。
  2. 【請求項2】 少なくとも2つのプロセッサ特権動作モ
    ードを有するデータ処理システムにおいて、メモリ・ア
    クセス制御を行う方法であって:データ・プロセッサ内
    のメモリ管理ユニットに論理アドレスを与える段階;前
    記論理アドレスの一部を第1透過変換レジスタ内の所定
    のビット数と選択的に比較して、前記論理アドレスの前
    記一部が前記第1透過変換レジスタ内の前記所定のビッ
    ト数と等しい場合に、第1制御信号をアサートする段
    階;前記論理アドレスの一部を第2透過変換レジスタ内
    の所定のビット数と選択的に比較して、前記論理アドレ
    スの前記一部が前記第2透過変換レジスタ内の前記所定
    のビット数と等しい場合に、第2制御信号をアサートす
    る段階;および前記第1制御信号または前記第2制御信
    号のいずれか一方に基づいて、前記第1透過変換レジス
    タからの属性ビット,前記第2透過変換レジスタからの
    属性ビットまたはディフォルト格納番地からの属性ビッ
    トを選択する段階であって、前記ディフォルト格納番地
    は、プロセッサ特権モードにかかわりなく属性ビットを
    与える、段階;によって構成されることを特徴とする方
    法。
  3. 【請求項3】 少なくとも2つのプロセッサ特権動作モ
    ードを有するデータ処理システムにおいて、メモリ・ア
    クセス制御を行う方法であって:データ・プロセッサ内
    のメモリ管理ユニットに論理アドレスを与える段階;前
    記論理アドレスの一部を第1透過変換レジスタ内の所定
    のビット数と比較して、前記論理アドレスの前記一部が
    前記所定のビット数と等しい場合に、制御信号をアサー
    トする段階;前記制御信号に基づいて、前記第1透過変
    換レジスタからの属性ビットまたはディフォルト格納番
    地からの属性ビットを選択する段階であって、前記ディ
    フォルト格納番地は、プロセッサ特権モードにかかわり
    なく属性ビットを与え、前記データ・プロセッサに結合
    された複数のメモリ番地に対するライト・アクセス許可
    を制御するための少なくとも1ビットを含む、段階;に
    よって構成されることを特徴とする方法。
JP6293671A 1993-11-09 1994-11-04 データ処理システムおよび動作方法 Pending JPH07191903A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US149496 1988-01-28
US08/149,496 US5623636A (en) 1993-11-09 1993-11-09 Data processing system and method for providing memory access protection using transparent translation registers and default attribute bits

Publications (1)

Publication Number Publication Date
JPH07191903A true JPH07191903A (ja) 1995-07-28

Family

ID=22530550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6293671A Pending JPH07191903A (ja) 1993-11-09 1994-11-04 データ処理システムおよび動作方法

Country Status (4)

Country Link
US (1) US5623636A (ja)
EP (1) EP0656592B1 (ja)
JP (1) JPH07191903A (ja)
KR (1) KR100338446B1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5842225A (en) * 1995-02-27 1998-11-24 Sun Microsystems, Inc. Method and apparatus for implementing non-faulting load instruction
JP3082701B2 (ja) * 1997-03-14 2000-08-28 日本電気株式会社 メモリ保護装置およびメモリ保護方法
GB2325061B (en) * 1997-04-30 2001-06-06 Advanced Risc Mach Ltd Memory access protection
US5987557A (en) * 1997-06-19 1999-11-16 Sun Microsystems, Inc. Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU)
US6154818A (en) * 1997-11-20 2000-11-28 Advanced Micro Devices, Inc. System and method of controlling access to privilege partitioned address space for a model specific register file
US6516395B1 (en) 1997-11-20 2003-02-04 Advanced Micro Devices, Inc. System and method for controlling access to a privilege-partitioned address space with a fixed set of attributes
US6594701B1 (en) 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6321276B1 (en) * 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6233667B1 (en) 1999-03-05 2001-05-15 Sun Microsystems, Inc. Method and apparatus for a high-performance embedded memory management unit
US6282626B1 (en) * 1999-07-15 2001-08-28 3Com Corporation No stall read access-method for hiding latency in processor memory accesses
US6754784B1 (en) * 2000-02-01 2004-06-22 Cirrus Logic, Inc. Methods and circuits for securing encached information
US6629187B1 (en) * 2000-02-18 2003-09-30 Texas Instruments Incorporated Cache memory controlled by system address properties
US7185183B1 (en) 2001-08-02 2007-02-27 Mips Technologies, Inc. Atomic update of CPO state
US7181600B1 (en) * 2001-08-02 2007-02-20 Mips Technologies, Inc. Read-only access to CPO registers
US7634638B1 (en) * 2002-10-22 2009-12-15 Mips Technologies, Inc. Instruction encoding for system register bit set and clear
US20060070077A1 (en) * 2004-09-30 2006-03-30 Microsoft Corporation Providing custom product support for a software program
US7818625B2 (en) * 2005-08-17 2010-10-19 Microsoft Corporation Techniques for performing memory diagnostics
CN100426264C (zh) * 2005-10-19 2008-10-15 联发科技股份有限公司 存取一存储器的方法与相关的微处理器系统
KR20110124992A (ko) 2010-05-12 2011-11-18 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 시스템
US9323533B2 (en) * 2011-12-29 2016-04-26 Intel Corporation Supervisor mode execution protection
TWI492051B (zh) * 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
JP6273733B2 (ja) * 2013-09-20 2018-02-07 富士通株式会社 演算処理装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
US9390058B2 (en) 2013-09-24 2016-07-12 Apple Inc. Dynamic attribute inference
US9367309B2 (en) 2013-09-24 2016-06-14 Apple Inc. Predicate attribute tracker
US10831679B2 (en) 2018-03-23 2020-11-10 Intel Corporation Systems, methods, and apparatuses for defending against cross-privilege linear probes
US20220180467A1 (en) 2019-03-15 2022-06-09 Intel Corporation Systems and methods for updating memory side caches in a multi-gpu configuration
CN113383310A (zh) 2019-03-15 2021-09-10 英特尔公司 矩阵加速器架构内的脉动分解
US11934342B2 (en) 2019-03-15 2024-03-19 Intel Corporation Assistance for hardware prefetch in cache access

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763250A (en) * 1985-04-01 1988-08-09 Motorola, Inc. Paged memory management unit having variable number of translation table levels
US4972338A (en) * 1985-06-13 1990-11-20 Intel Corporation Memory management for microprocessor system
WO1988002148A1 (en) * 1986-09-15 1988-03-24 Motorola, Inc. A transparent translation method and apparatus for use in a memory management unit
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
US5075846A (en) * 1989-09-29 1991-12-24 Motorola, Inc. Memory access serialization as an MMU page attribute
US5278961A (en) * 1990-02-22 1994-01-11 Hewlett-Packard Company Physical address to logical address translator for memory management units
US5335334A (en) * 1990-08-31 1994-08-02 Hitachi, Ltd. Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor

Also Published As

Publication number Publication date
KR950015083A (ko) 1995-06-16
US5623636A (en) 1997-04-22
EP0656592B1 (en) 1998-10-21
KR100338446B1 (ko) 2002-09-27
EP0656592A1 (en) 1995-06-07

Similar Documents

Publication Publication Date Title
JPH07191903A (ja) データ処理システムおよび動作方法
JP3713312B2 (ja) データ処理装置
US6266755B1 (en) Translation lookaside buffer with virtual address conflict prevention
US5247639A (en) Microprocessor having cache bypass signal terminal
US7401358B1 (en) Method of controlling access to control registers of a microprocessor
US7043616B1 (en) Method of controlling access to model specific registers of a microprocessor
US5909696A (en) Method and apparatus for caching system management mode information with other information
US5729760A (en) System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
JP2745949B2 (ja) オペランド情報の静的および動的マスキングを同時かつ独立して行うデータ・プロセッサ
US6226732B1 (en) Memory system architecture
US6745306B1 (en) Method and system for restricting the load of physical address translations of virtual addresses
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
JP4499237B2 (ja) 単純高性能メモリ管理ユニット
US7130977B1 (en) Controlling access to a control register of a microprocessor
JPH0642212B2 (ja) メモリアクセス制御装置
EP0253824A1 (en) PAGE STORAGE MANAGEMENT UNIT WITH THE ABILITY TO SUPPORT MULTIPLE ADDRESSES.
KR970011207B1 (ko) 원자 억세스를 제공하는 레지스터가 소프트웨어 인터록 없이 공유된 레지스터의 개별 비트를 세트하고 클리어하기 위한 방법 및 장치
US7082507B1 (en) Method of controlling access to an address translation data structure of a computer system
US7146477B1 (en) Mechanism for selectively blocking peripheral device accesses to system memory
US6938127B2 (en) Reconfiguring memory to reduce boot time
US7634635B1 (en) Systems and methods for reordering processor instructions
US5954812A (en) Apparatus for caching system management memory in a computer having a system management mode employing address translation
US6260132B1 (en) Method and apparatus for secure address re-mapping
JP3505231B2 (ja) コンピュータシステム