JPS60221851A - メモリ・アクセス・コントローラを具えるデータ処理装置 - Google Patents

メモリ・アクセス・コントローラを具えるデータ処理装置

Info

Publication number
JPS60221851A
JPS60221851A JP60027579A JP2757985A JPS60221851A JP S60221851 A JPS60221851 A JP S60221851A JP 60027579 A JP60027579 A JP 60027579A JP 2757985 A JP2757985 A JP 2757985A JP S60221851 A JPS60221851 A JP S60221851A
Authority
JP
Japan
Prior art keywords
memory
address
segment
cache
unit
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
JP60027579A
Other languages
English (en)
Other versions
JPH0531776B2 (ja
Inventor
セシル・ヘルツ・カプリンスキー
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of JPS60221851A publication Critical patent/JPS60221851A/ja
Publication of JPH0531776B2 publication Critical patent/JPH0531776B2/ja
Granted 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
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は共通アドレス バスに接続されたプロセッサと
、少なくともキャッシュ メモリ及び共通バスに接続さ
れたローカル メモリと具備するメモリ階層と、共通バ
スとキ1?ツシュ アドレスバスを介してキャッシュ 
メモリとに接続されたメモリ アクセス コントローラ
とを具え、このメモリ アクセス コントローラが、デ
ータがキャッシュ メモリ内に存在することを示す第1
の8I識を蓄えるための第1の記憶ユニットと、この第
1の記憶ユニツ1〜に接続され且つ前記プロセッサによ
り供給される仮想アドレスを受け取るためにこのプロセ
ッサに接続された第1のアドレス入力端子を有し、仮想
アドレスを受け取った時この仮想アドレスが第1の記憶
ユニットに蓄えられている前記第1の標識の一つに対応
するか否かを検査し、対応する時第1の検査結果信号を
発生し、対応しない時第2の検査結果信号を発生する第
1の検査ユニットとを具え、更にキャッシュ メモリへ
のアクセスを可能にする第1のイネ−ブリング ユニッ
トが設i)られ、この第1のイネ−ブリング ユニット
が第1の検査結果信号を受け取った時活性化されるキャ
ッシュ コントローラと、仮想アドレスを受け取るため
の第2のアドレス入力端子とを有し、仮想アドレスを物
理アドレスに変換するために設けられ、データがローカ
ル メモリ内に存在することを示す第2の標識を蓄える
ための第2の記憶ユニットと、この第2の記憶ユニット
と前記第2のアドレス入力端子とに接続され、仮想アド
レスを受け取った時この仮想アドレスが第2の記憶ユニ
ット内に蓄えられている前記第2の標識の一つに対応す
るか否かを検査し、対応しでいる時第3の検査結果信号
を発生し、対応しない時第4の検査結果信号を発生する
第2の検査ユニットとを具え、第1の制御入力端子に供
給される前記第2の検査結果信号により制御され、更に
ローカル メモリへのアクセスを可能にする第2のイネ
−ブリング ユニットが設けられ、この第2のイネ−ブ
リング ユニットが第3の検査結果信号を受け取った時
活性化される変換ユニツトとを具えるデータ処理装置に
関するも′のである。
このようなデータ処理装置は欧州特許願第0O5237
0号から既知である。而してこの既知のデータ処理装置
の一部であるメモリ アクセスコントローラはキ1?ツ
シュ コン1−〇−ラと変換ユニットとを具える。メモ
リ階層へのアクセスがブロセツ1すにより要求されると
、後者が仮想アドレスを発生し、この仮想アドレスがメ
モリ階層のメモリの一つでアクセスすべき位置を示す。
この仮想アドレスは先ずキャッシュ コントローラの一
部である第1の検査ユニットの第1のアドレス入力端子
へ提示される。仮想アドレスを受け取った時、キ1?ツ
シュ コントローラはこの受【ノ取られた仮想アドレス
により示された要求されているデータがキャッシュ コ
ントローラに接続されているキャッシュ メモリ内に存
在するか否かを検査する。この検査は第1の検査ユニッ
トにより実現されるが、これは受【ノ取られた仮想アド
レスが第1の記憶ユニット内に蓄えられている第1の標
識の一つに対応するか否かを検査する。既知のキャッシ
ュ コントローラではこれらの標識はキャッシュ メモ
リ内に蓄わえられているデータのアドレスにより形成さ
れる。受は取られた仮想アドレスがこれらの標識の一つ
に対応する場合は、これは要求されているデータがキャ
ッシュ メモリ内に存在することを含意し、第1の検査
結果信号が発生させられる。第1の検査結果信号を受け
取った時第1のイネ−ブリング ユニットはキャッシュ
 メモリへのアクセスをイネーブルし、要求されている
データをキャッシュ メモリから取り出す。他方要求さ
れているデータがキャッシュメモリ内に存在しない場合
は第2の検査結果信号が発生させられる。この第2の検
査結果信号の制御の下に仮想アドレスが共通バスを介し
て活性化されている変換ユニットの第2のアドレス入力
端子に加えられる。変換ユニットの一部である第2の検
査ユニットは要求されているデータがローカル メモリ
内に存在するか否かを検査する。この検査は受け取られ
た仮想アドレスが第2の標識の一つに対応するか否かを
検査することにより実現される。対応している時は第3
の検査結果信号を発生し、第2のイネ−ブリング ユニ
ットは受け取られた仮想アドレスを物理アドレスに変換
し、これをローカル メモリに与え、要求されているデ
ータを取り出す。要求されているデータがローカル メ
モリ内に存在しない場合は第2の検査ユニットが第4の
検査結果信号を発生ずる。
この既知のデータ処理装置の欠点はメモリ アクセス 
コントローラが逐次に動作すること、即ち、先ず要求さ
れているデータがキャッシュ メモリ内に存在するか否
かを検査し、次に要求されているデータがキャッシュ 
メモリ内に存在しない場合はローカル メモリ内に存在
するか否かを検査することである。要求されているデー
タがローカル メモリ内に存在することを検査するため
に、仮想アドレスを共通バスを介して変換ユニットに移
さねばならない。これはバス アクセスの要求を含意す
る。このようなバス要求と逐次の検査はプロセッサが持
たねばならない実行時間を必要とし、性能を下げる。ま
た共通バス上での仮想アドレスの転送はバスのロードを
大きくする。
本発明の目的はメモリ アクセス タイミングの問題を
軽減し、プロセッサをその理論的な最高性能へ近づけ、
更にはキャッシュ コントローラど変換ユニツ1〜とを
同時に動作させるにある。
それ数本発明に係るデータ処理装置はキャッシュ コン
トローラが第1のアドレス入力端子により、変換ユニッ
トが第2のアドレスユニットにより並列に、プロセッサ
の仮想アドレス出力端子に接続されたアドレスバスに接
続され、このアドレス バスが仮想アドレスを同時にキ
ャッシュ コントローラと変換ユニットとに転送するた
めに設けられたことを特徴とする。
こうするとキャッシュ コントローラと変換ユニットが
並列にアドレス バスに接続され、このアドレス バス
がプロセッサの仮想アドレス出力端子に接続されるため
、仮想アドレスが同時にキャッシュ コントローラと変
換ユニットとに供給される。こうすれば仮想アドレスを
変換ユニットに転送するために共通バス上でバス アク
セスを要求する必要がなくなり、実行時間が節約され、
負荷が軽くなる。またこのインプリメンテーションはメ
モリ アクセス コントローラが同時にキャッシュ コ
ントローラと変換ユニットにより要求されているデータ
が存在するか否か検査できるようにする。
本発明に係るデータ処理装置の第1の好適な実施例はメ
モリ アクセス コントローラが前記第2の検査ユニッ
トに接続され、第4の検査結果信号を受け取った時バス
 アクセス信号を発生して共通バスへのアクセスを獲得
するために設けられ、前記プロセッサへ接続されたバス
 アクセス信号発生器を具備するマイクロ コントロー
ラを具えることを特徴とする請 求されているデータがキャッシュ メモリ内にもローカ
ル メモリ内にも存在しない時は、メモリ アクセス 
コントローラに活性化されているマイクロ コントロー
ラを設け、共通バスへのアクセスを要求し、要求されて
いるデータを別のメモリから取り出ず。
本発明データ処理装置の第2の好適な実施例は前記メモ
リ階層が更に主メモリを具え、マイクロコントローラが
バス アクセス信号を受け取った時プロセッサにより発
生させられたバス アクセス権を受番ノ取るための第2
の制御入力端子を具え、更にアドレス バスに接続され
、仮想アドレスを主メモリをアドレッシングするための
マツプ アドレスに変換するために設けられたマツピン
グユニツ1〜を具え、またイネーブル信号を発生して主
メモリにアクセスするための第3のイネ−ブリング手段
を具えることを特徴とする。
マツピング ユニットは要求されているデータがキャッ
シュ メモリ内にもローカル メモリ内にもない時活性
化される。このマツピング ユニットは受け取られた仮
想アドレスを主メモリをアドレッシングするマツプ ア
ドレスに変換し、バス アクセス信号を受け取った時要
求されたデータを主メモリから7エツチできるようにす
る。こうして得られる階層はプロセッサの容量を一層有
効に使用できるようにする。
前記変換ユニットが第1のローディング手段を設けられ
、前記イネーブル信号を受け取るための第3の制御入力
端子を有し、上記イネーブル信号の制御の下に前記主メ
モリから取り出したデータを前記ローカル メモリにロ
ードし、第2の標識をデータがローカル メモリにロー
ドされていることを示す前記第2の記憶ユニットにロー
ドするために設けるようにすると好適である。
こうするど主メモリからフェッチされたデータがローカ
ル メモリ内に存在し、要求に具えることになる。
前記第1の検査ユニットと前記第1の記憶ユニットとを
アドレス バスに接続された内容をアドレスできるメモ
リにより形成するようにすると好適である。
こうするとキャッシュ コントローラの一部を有効且つ
実用的に作ることができる。
前記第2の検査ユニットと前記第2の記憶ユニ適である
こ−うすると変換ユニットの一部を有効且つ実用的に作
ることができる。
本発明データ処理装置の第3の好適な実施例は前記メモ
リN層が更に主メモリを具え、この主メモリが第1の数
のセクタに分割され、前記キャッシュ メモリが第2の
数のセクタに分割され、前記仮想アドレスが上記キャッ
シュ メモリ内のセクタのセクタ番号を示す第1のフィ
ールドを具え、前記第1の検査ユニットが前記仮想アド
レスから前記第1のフィールドを取り出し、前記第1の
フィールドの内容について検査するために設けたことを
特徴とする。
こうすると数個のビット、即ち、第1のフィールドのビ
ットだけを検査すればよいから検査を高速に実行できる
。またキャッシュ メモリがセクタ毎にロードでき、1
つのセクタに属する全てのデータがキャッシュ メモリ
内に存在するからセクタへの分割は有利である。
主メモリとキャッシュ メモリの前記セクタを夫々用3
と第4の数のブロックに分割し、前記仮想アドレスが前
記キャッシュ メモリ内のブロックのブロック番号を示
す第2のフィールドを具え、前記第1の記憶ユニットが
キャッシュ メモリ内にブロックが存在づることを示す
プレゼンス ビットを蓄えるためのプレゼンス ピッ1
へ メモリを具え、前記第1の検査ユニットが前記仮想
アドレスから前記第2のフィールドを取り出し、上記プ
レゼンス ビット メモリ内で前記フィールド内に示さ
れたブロック番号のプレゼンス ビットがセットされて
いる場合は制御することにより前記検査を行なうように
すると好適である。
セクタをいくつかのブロックに分割するとキャッシュ 
メモリの内容を一層こまかく分割できる。
また、プレゼンス ビットを使用すると特定のブロック
内に要求されたデータが存在する時検査を高速且つ容易
に行なえる。キャッシュ コントローラはプレゼンス 
ビットの検査により要求されたデータの存在が確立され
た時だけアクセスされる。
前記キャッシュ コントローラに前記主メモリからのデ
ータを前記キャッシュ メモリにロードするための第2
のローディング手段を設けたデータ処理装置において、
前記第2のローディング手段が前記データをブロック毎
に前記キャッシュメモリにロードし、ロードされたブロ
ックのプレピンス ピッ1−を前記プレゼンスビット 
メモリにセットするために段【すられるようにすると好
適である。
一つのブロックの全てのデータはリンクされているから
、データをブロック毎にロードするとキャッシュ メモ
リとキャッシュ コントローラが効率よく使用される。
蓋し、他の要求のためにデータをそれが同じブロックに
属すればキャッシュメモリからフェッチできるからであ
る。またプレゼンス ビットを同時にセットできるから
データ処理装置の効率も改良される。
本発明データ処理装置の第4の好適な実施例はメモリ 
アクセス コントローラが前記アドレスバスに接続され
、仮想アドレスにより占められる仮想アドレス空間を成
る数の異なる領域に分割し、領域番号を得られた各領域
に与えるためのレジスタ手段を具え、このレジスタ手段
が分割さるべき領域の長さをプログラムできるようにす
るセット入力端子を有し、このレジスタ手段が仮想アド
レスのアドレス ビットに基づいて前記分割を行なうよ
うにしたことを特徴とする。
仮想アドレス空間が可成り大きいため、領域で分割する
とメモリ アクセス コントローラを一層効率よく使用
できる。蓋し、例えば、別のプロセス又はシステム ラ
イブラリへのジャンプが必要な時全てのポインタ レジ
スタをクリアする必要がないからである。領域の長さを
プログラムできるため種々の領域の長さを選択できる。
本発明データ処理装置の第5の好適な実施例は前記ロー
カル メモリが可変数のセグメントに分割でき、セグメ
ントの各々が固定長のページに分割でき、前記仮想アド
レスがセグメントの番号を示すためのセグメント番号フ
ィールドと、このセグメント番号フィールドにより示さ
れたセグメント内でのページの番号を示すためのページ
番号フィールドとを具え、前記メモリ アクセス コン
トローラが更にローカル メモリ内に存在するセグメン
トの記述子を蓄えるためのセグメント テーブル ポイ
ンタ レジスタを具え、上記記述子の各々がローカル 
メモリのセグメント テーブルを示すためのセグメント
 テーブルポインタを具えることを特徴とする。
ローカル メモリを可変数のセグメントに分割するため
、セグメントの長さをセグメントに含まれるルーチンの
長さの関数として選ぶことができる。固定長のページに
分割するとローカル メモリの利用できる空間が有効に
使用できる。蓋し、不均一なページによる空の空間が残
らないからである。記述子を用いると変換ユニットを効
率よく動作させられる。セグメント記述子はローカルメ
モリの論理的程度を記述する。ページ テーブルはロー
カル メモリの物理的程度を記述するページ記述を含む
前記レジスタ手段が各領域ごとに分割されたしジスタ対
を具え、このレジスタ対が現在のプロセスにアクセスで
きる仮想アドレス空間の区域についての基準を蓄えるた
めのセグメント テーブルポインタ レジスタと、セグ
メントの長さを示すためのセグメント長レジスタとを具
えるようにすると好適である。
セグメント テーブル ポインタ レジスタとセグメン
ト テーブル長レジスタとを用いると領域概念を用いる
ことと領域を識別するためのフレキシブルで有効な方法
が得られる。
前記マツピング ユニットが領域番号を受け取るために
前記レジスタ手段に接続された第1の入力端子と、ロー
カル メモリ内での上記領域番号に対するセグメント 
テーブルを示すセグメントテーブル ポインタ標識を受
け取るために前記セグメント テーブルポインタに接続
された第2の入力端子とを有し、前記マツピング ユニ
ットが仮想アドレスのセグメント番号フィールドを前記
セグメント テーブル内での位置を示す索引として用い
、ページ番号フィールドを前記セグメントテーブル内の
インデックスされた位置により示されたページ テーブ
ル レジスタ内の位置を示すための索引として用いるこ
とにより物理アドレスを発生するために設けられるよう
にすると好適である。
こうすると実用的なマツピング ユニットがつくられる
前記記述子がこの記述子によりインデックスされたセグ
メントへのアクセスが保護されているが否かを示すため
の保護フィールドを具えるようにすると好適である。
こうするとセグメント ベースに基づいて保護が容易に
得られる。
セグメント テーブル ポインタ レジスタがインデッ
クスされた領域にアクセスすることが保護されているか
否かを示すために保護標識を蓄えるための位置を具える
ようにすると好適である。
こうしCもけグメント ベースに基づいて保護”が容易
に得られる。
前記記述子がセットされている場合、セグメントをキャ
ッシュ メモリにロードすることを禁止するためのノン
キャシャブル ピットを具えるようにするど好適である
これはプロセス間で共用されているセグメントに何時も
更新されている唯一つのコピーを持たせる。記述子でビ
ットを用いることはその簡単な実現を可能にする。 〜 本発明データ処理装置の第6の好適な実施例はメモリ 
アクセス コントローラをアドレス バスによりI10
ユニットに接続し、上記メモリアクセス コントローラ
が受け取られた仮想アドレスをI10ユニットのための
物理アドレスにマツピングする他のマツピング ユニッ
トを具えることを特徴とする。
これはI10動作に仮想アドレスを用いる可能性を与え
る。
図面につき本発明の詳細な説明する。
11A図は単一のメモリ アクセス コントローラ(I
J、后MACと称する。)を用いる本発明に係るデータ
処理装置の第1の実施例のブロック図である。MACl
はプロセッサ2とメモリ装置どの間に置かれる。メモリ
装置は本例ではキャッシュ メモリ3と2個のメモリ 
モジュール6及び7とにより作られる。キャッシュ メ
モリ3は直接MACIに接続する。これに対しメモリ 
モジュール6及び7はデータバス4とアドレスバス5と
を介してプロセッサ2及びMACIに接続する。
これらのバス4及び5にはI10モジュール8及び9も
接続する。MACIはメモリ装置へのプロLツサ2の要
求を取り扱い、キャッシュ メモリ3を完全に制御−リ
゛る。これは可成り直線的な解決法である。蓋し、■1
0モジュール8及び9へのDMA (ダイレクト メモ
リ アクセス)要求は全て実アドレスを用いているから
である。これはハードウェアに対しては可成り直線的で
あるが、ソフトウェアはメモリにダイレクト メモリ 
アクセスしな番プればならないブロックを、DMAユニ
ットが分散させられている実メモリを取り扱えない限り
、順次の実アドレスにフィツトさせるようにアレンジし
なければならない。
第1B図は単一のMACを用いるデータ処理装置の第2
の実施例のブロック図である。(同じ要素には同じ符号
を付しである。)この第2の実施例ではI10モジュー
ルへの要求が仮想アドレスを用いている。これはソフト
ウェアにとって取扱がずっと容易になるが、I10モジ
ュールがつながっているアドレス バスとデータ バス
がプロセッサとMACとの間のアドレス バス10及び
データ バス11になる。これはモジュール性を限られ
ているデータ処理装置にとって好ましい解決法である。
第1C図はいくつかのMACを用いる本発明データ処理
装置の第3の実施例のブロック図である。
この第3の実施例では各々がMAC(1A、IB。
IC)と、プロセッサ(2A、2B、 2c)と、キャ
ッシュ メモリ(3A、3B、3G)とを具える3個の
ユニット(A、B、C)が存在する。
そしてこれらの3個のユニットが各々データ処理装置の
データ バス4と、アドレス バス5とに接続されてい
る。この実施例は5,6個のMAC迄互にひどく乱しあ
うことなく働くことを許す。
この実施例は各々が自分のMACを伴なうプロセッサを
示しているが、これらのプロセッサは全く容易にDMA
特性を有する■/○ユニットでもあり得ることに注意す
る必要がある。
第1D図は2個のMACを用いる本発明の第4の実施例
のブロック図である。各ユニット(A。
B)は局所メモリ(ローカル メモリ)(12A。
12B)を具えている。このような実施例は用途を区画
1゛る(パーティション)方法があれば使うことができ
る。これはデータ処理装置とソフト ウェアの複雑さに
依存して多くの方法で行なうことができる。
いくつかの用途はスタチックにパーティションできる。
例えば、プロセッサにタスクが予め割り振られているプ
ロセス制御システムである。この場合、ローカル メモ
リはコードのためと、特定のデータ、例えば、スタック
を処理するためとに使用できる。
勿論この実施例を用いてダイナミツ゛りに再割り振りさ
れる用途も処理できる。MACはローカルメモリをペー
ジ イン及びページ アラ1−する能力を与える。MA
Cはどのページがどこにあるかをモニタし、ローカルと
してマークされているが、未だその特定のユニットのロ
ーカルメモリ内にあるとしてマークされていないページ
へのアクセスをプロセッサが要求する時割込む。
第1E図は1個の一プロセッサ2に2個のMACが付け
られている本発明データ処理装置の第5の実施例のブロ
ック図である。2個のMAC(1A及びIB)はデータ
 バス4とアドレス バス5とに接続されている。各M
ACは自分のキャッシュ メモリ(3A、3B)を有す
る。いくつかの特別な場合は1個のプロセッサに2個以
上のMACを取付ける必要がある。キャッシュ ヒツト
率は十分高((>90%)なければならず、デスクリプ
タ(記述子)キャッシュ ヒツト率は99.5%以上で
なければならないから普通はこうしてはならない。しか
し、これが十分でなかったり、割込みのために高速応答
を欲する場合は、複数個のMACを用いることができる
。ヒツト率はメモリ アクセスが(例えばメモリ モジ
ュールを具える〉主メモリではなく、キャッシュ メモ
リからどの程瓜頻繁に満足されるかを示す。ヒツト率が
高い程、プロセッサは理想的な性能に近づく。
1個又は複数個のMACをデータ処理装置に取り付番)
る種々の方法を考察した後、今度は本発明に係るMAC
のセット アップと動作を説明する。
第2図はMACをデータ処、理装置に組込む詳細なセッ
ト アップを示したものである。ここでは4個の接続群
を区別する必要がある。MACの第′Iの接続群はマイ
クロプロセッサ2とMACIとの間のインタフェースを
可能にする。この第1の接続群はMAClと、マイクロ
プロセッサ2と、キャッシュ メモリ3と、アドレス 
バス インタフェース38とに接続されている第1のア
ドレスバス32を具える。この第1のアドレスバス32
はアクセスすべき記憶位置のアドレスの物理的アドレス
部を転送できるようにする。この第1の接続群はマイク
ロプロセッサのアドレス出力端子とMACのアドレス入
力端子との間を接続する第2のアドレス バス35も具
える。この第2のアドレスバスはマイクロプロセッサ2
により発生させられた仮想アドレス部をMAClに送る
。この第2のアドレス バスにはまたデコーダ30も接
続されているが、このデコーダ30は第2のアドレス 
バス35にのっている仮想アドレスの存在をデ」−ドし
、チップ選択(C8)信号を発生する。このチップ選択
信号はMAC1のC8入力端子に加えられる。
第1の接続群はまたマイクロプロセッサ2とMACIと
の間に接続される第1の接続ライン39と第2の接続ラ
イン40とを具える。第1の接続ライン39は、例えば
、バス誤り信号(B E R、R> 、停止信号(HL
 T )又はデータ肯定応答出力信号(DTACK)を
運ぶが、これらの信号はMACにより発生させられる。
第2の接続ライン40はマイクロプロセッサ2により発
生させられた、例えば、デーラストローブ信号(D ’
S )又は読出し/書込み信号(R/ W ’)のよう
な制御信号を運ぶ。
第2の接続ライン40はまたキャッシュ制御装置31に
も接続する。これらの制御信号の機能はMACの機能動
作の説明と一緒に後【よど開示する。第1の接続群はま
たMACIと、キャッシュ メモリ3と、マイクロプロ
セッサ2とデータ バス インタフェース37との間に
接続されたデータ バス33を具える。
第2の接続群は記憶要求がキャッシュ メモリ3で満足
させられる時活躍する。この第2の接続群はMACIの
キャッシュ アドレス出力端子とキャッシュ メモリ3
のアドレス入力端子との間に接続されたキャッシュ ア
ドレス バス36を具える。このキャッシュ アドレス
 バスは仮想アドレスを受【プ取った時MAC1により
発生させられるキャッシュ アドレスを運ぶ。MACl
とキャッシュ制御装置31との間に第3の接続ライン3
4を接続Jる。この第3の接続ライン34を介して、例
えば、キャッシュ イネーブル信号又はキャッシュ潜込
みイネーブル信号のようなMAClで発生させられた制
御信号を受け取った時、キャッシュ メモリ3に接続さ
れているキャッシュ制御l装置31がキャッシュ メモ
リ3をして要求されたアクセスをできるようにする。
第3の接続群は記憶要求がキ1zツシュ メモリで満た
されない時活躍する。この第3の接続群はMACの仮想
アドレスに対するアドレス出力端子とアドレス バス 
インタフェース38との間に接続されているアドレス 
バス41を具える。このアドレス バスは仮想アドレス
を受け取った時MACにより発生させられた物理アドレ
スを運ぶ。この時物理アドレスはメモリ モジュール内
の記憶位置をアドレスするのに使われる。このM3の接
続群はまたMACIの制御出力端子とメモリ モジュー
ルとの間に接続され、物理アドレスが発生した時マスク
 アドレス ストローブ信号を運IS第4の接続ライン
43を具える。メモリ モジュールへのアクセスは第5
の接続ライン44を介してMAC1ヘデータ肯定応答入
力信号(DTACK IN)をアサートする時終了する
。このようなりTACKIN信号を受け取ると、MAC
がDTACKOLIT信号をアサートする。
第4の接続群はメモリ モジュールから要求されたデー
タを渡すことに加えて活躍する。この時MACは=トヤ
ツシュ メモリからのキャッシュスロットをメモリ モ
ジュールからのデータ ブロックで満たす。これは一連
の読出動作を必要としていた。第aの接続ライン42を
介してMACは物理アドレス ラッチ イネーブル信号
(LAGLR)をキャッシュ メモリに送り、MACに
より発生させられた物理アドレスにより指示されたキャ
ッシュ メモリ内のスロットをクリアし、その後でその
物理アドレスにメモリ モジュールに由来するデータを
ロードする。
第3図は本発明に係るメモリ アクセス コントローラ
(MAC)のアーキテクチャを示す。このMACは3個
の主要なサブシステム、即も、キャッシュ コントロー
ラ50と、トランスレイジョン(変換)ルック アサイ
ド バッファ51とマイロコントローラ52とである。
キャッシュ コントローラ50はキャッシュ メモリと
コミュニケートするのに必要な全ての整合と制御論理を
与える。
トランスレイジョン ルック アサイド バッファ51
は第2のアドレス バス35により与えられ/j仮想ア
ドレスをローカル又は主メモリでの物理対応物に変換す
る。これらの2個のサブシステムは特に全系のパー7フ
ーマンスを助ける。これらは書込み動作が次の読出し動
作と重なり合うことを許し、メモリ マネジメントとキ
ャッシュ動作が次の跣出し動作と重なり合うのを許し、
メモリマネジメントとキャッシュ動作とが互に重なり合
うのを許す。マイクロコントローラはいくつかのタスク
を行うが、その中でもトランスレイジョンルック アザ
イド バッフ1を更新づるのが重要である。
キャッシュ コントローラとトランスレイジョン ルッ
ク アザイド バッファとはいずれも第2のアドレス 
バス35に接続するが、この第2のアドレス バス35
はマイクロプロセッサにより発生させられた高次の仮想
アドレスを運ぶ。マイクロコントローラ52はこの第2
のアドレス バス35と、キャッシュ アドレス バス
36と、アドレスバス41とに接続する。制御信号DT
ACK及びDSは第5の接続ライン44を介してマイク
ロコントローラに与えられる。
第4図に示した流れ図を用いてMACの動作を説明する
。MACがマイクロプロセッサにより発生させられた仮
想アドレスを受け取った時(70)、この仮想アドレス
は第2のアドレス バス35を介してキレッシュ コン
トローラ50とトランスレイジョン ルック アサイド
 バッファ51とに並列に転送される。この仮想アドレ
スを受け取った時、ニド1νツシユ コントローラ3は
このアドレスがキ1?ツシュ メ[り内にあるか否かを
検査1°る(71)それ故、与えられた仮想アドレスは
キャッシュコントローラの一部である内容をアドレスで
きるメモリ53に入力される。(この内容をアドレスで
きるメモリの動作は、例えば、フランス国特許願第24
12140号に記載さている。)この内容をアドレスで
きるメモリ53はキャッシュ メモリに蓄わえられてい
る全てのデータの仮想アドレスを蓄わえる。このため仮
想アドレスを内容をアドレスできるメモリに入力するこ
とにより要求されたデータがキVツシュ メモリ内にあ
るか否かがチェックされる。要求されたデータがキ11
ツシュメモリ内にあれば(71Y)、保護論理55がそ
のデータへのアクセスが許されるか否かを検査する(7
2)。この検査はセットされたフラグ ビット又は禁止
されたアドレス領域に基づいて行なえる。
アクセスが許されなければ(N)、バス誤り信号を発生
づる。他方アクセスが許される時は(Y)、内容をアド
レスできるメモリ53に接続されているランダム アク
セス メモリ(RAM)54が受け取った仮想アドレス
を完了し、キャッシュ アドレスバス3Gを介してキャ
ッシュ メモリをアドレッシングするアドレスを発生す
る(74)。次に主11ツシユ コントローラ50はD
TACK出力信号を発生し、要求されたデータをキッシ
ュ メモリからマイクロプロセッサに移す(75)。キ
ャッシュ メモリが要求されたデータを含まない場合は
<71N)、t−ランスレージョン ルック 7勺イド
 バッファ(TLB)をイネーブルする(76Y)キャ
ッシュ コントローラによる検査と同時に、T ’L 
Bはその内容をアドレスできるメモリ56により要求さ
れたデータがローカルメモリ内に存在りるか否かを検査
する(77)。要求されたデータが存在すれば(Y)、
次にこの記憶位置にアクセスできるか否かを検査する(
78)。できなければ〈N)、バス誤り信号を発生する
(79)。アクセスが許されれば(Y)、トランスレイ
ジョン ルック アサイド バッファのページ デスク
リプタ(記述子)RAM57が受け取−ったアドレスを
物理アドレスに変換する(80)。イネーブル検査後(
7GY)、この物理アドレスを出ツノし、アドレスバス
41を介してシステム メモリに送り、要求されたデー
タにアクセスする(81)。
他方、トランスレイジョン ルック アサイドバッファ
が受け取った仮想アドレスを含まない場合は(77N)
、仮想−物理マツピングができず、アクセスを完了する
ためにこのマツプを得なければならない。これを行なう
ために、イネーブル検査(76Y)後、MACのマイク
ロコントローラがその停止信号とバス誤り信号をアサ−
1−L、(82)、プロセッサからシステム バスの使
用権を得る。
次にMACのマイクロコントローラは受け取った仮想ア
ドレスを物理アドレスに変換しく83)、この物理アド
レスをマイクロプロセッサから第2のアドレスバス41
へのアクセス権を受け取った時この第2のアドレス バ
ス41に与える。次にマイクロコントローラはシステム
 メモリから必要なマツピング情報をフェッチしく84
)、これをトランスレーション ルック アサイド バ
ッフ1にロード゛する。入手したマツピング情報により
、マイクロコントローラはバスをマイクロプロセッサに
渡す。マイクロプロセッサはもう一度MACからの前の
仮想アドレスを要求する(85)。
再びトランスレーション ルック アサイドバッファに
より要求されたデータがあるか否か及び仮想−物理アド
レス変換が可能か否かを検査する(86)。要求された
データが存在し、変換が可能ならば(86Y)、要求さ
れたデータをマイクロプロセッサに移す(81)。しか
し、例えば、要求されたデータがディスク上にしかない
ため要求されたデータが存在しないとか、仮想−物理ア
ドレス変換が不可能であるということがある(86N>
この場合はマイクロコントローラによりマイクロプロセ
ッサに割込みをかけ(88)、マイクロコントローラを
オペレーティングシステムズ メモリマネジメント ル
ーチンへ入れる。このルーチンは要求されたデータをデ
ィスクからマイクロプロセッサのRAMに移しく89)
 、必要とあらばデータ ブロックをRAMからディス
クに移してスペース(空間)を作る。
キャッシュ メモリを設ける必要があるのは、プロセッ
サが本来的にメモリより高速であるために生ずる不整合
を除き、プロセッサを高速で動作ざゼるためである。し
かし、メモリの階層化を行なえば、プロセッサの待ち時
間を小さくし、プロセッサにその論理的最大性能を発揮
させることができる。マイクロプロセッサとMACとは
組んで下記の5層の階層化を支える。即ち、 1 レジスタ 2 キャッシュ メモリ 3 ローカル メモリ 4 主 メモリ 5 ディスク等の外部メモリ である。
次にこの階層化の種々のレベルを詳細に考察する。
1、MACレジスタ MAC上のレジスタは5個の目的のために使用される。
即ち、 1、マイクロプロセッサによりバードウ」、アシステム
構成のMACに情報を与えること、2、マイクロプロセ
ッサによりソフトウェア構成のMAGに情報を与えるこ
と、 3、マイクロプロセッサによりMACポインタ情報、例
えば、テーブル ポインタ及びスタック ポインタを与
えること、 4、MACによりプロセッサの状態を知らせること、 5、メール ボックスとすること である。成る機能ではMACはハードウェア化されたサ
ブルーチンとみなすことができる。成る(仮想的な)レ
ジスタに書込むことはMACにコマンドを実行仝せる。
監視III能符号−を用いずにレジスタへのアクセスが
なされるとMACはバス誤り信号(BERR)を出す。
チップ選択入力(O3>が活性な時MAC上のレジスタ
はマイクロプロセッサによりアクセスできる。次に第2
のアドレス バス35(第2図)を介して送られてくる
アドレス信号からレジスタアドレスをデコードする。M
AGは種々のレジスタを具えるが、以下にそれらを挙げ
る。
a)構成レジスタ このレジスタはシステムのハードウェア構成を規定する
。本質的にこれは、例えば、キャッシュのサイズ十ペー
ジの長さのようなパラメータを記述する。
a−1)ページ レジスタ PDI”(このレジスタは
、例えば、8ビツトを蓄わえる容量を有する。このレジ
スタの最初の5ビツトは主メモリに蓄わえられているペ
ージのページ サイズを示すのに用いられる。残りのピ
ッ1〜の一つはローカルとマークされた主メモリのセグ
メント内にあるページを検査し、そのページが必要なロ
ーカル メモリ内にあるか否かを見る。
a−2)セグメント レジスタのサイズ(SSR)。
このレジスタはMACリセットの時ゼロにリセットされ
るが、アドレスのセグメントを選択する部分を規定する
。SSRの内容はレグソフト番号の一部であるアドレス
 ビットの符号化された番号である。
a−3)キ1?ツシュ レジスタのサイズ(SCR)こ
のレジスタはキャッシュ メモリ構成を特定化する。
a−4)キャッシュ モード レジスタ(CMRこのレ
ジスタはキャッシュ メモリの存否を示すために用いら
れる。
a−5)アドレス スペースj成レジスター←と旦美」
」− このレジスタは仮想アドレス スペース(空間)を種々
の領域に分割するために使用される。
a−6)領域イネーブル レジスタ(RER)このレジ
スタはどの領域が活性であるかを確定し、領域属性を規
定する。イネーブルピットがセットされていない領域に
アクセスが試みられた時はBERR信号を発生する。
a−7)領域規定レジス′り(RDR)このレジスタは
仮想アドレス スペースが分割されている領域の境界を
規定する。
b)ポインタ レジスタ このレジスタはポインタとMACが支える長さの情報と
を蓄ねえ、現在のセグメントテーブルの位置と長さを規
定する。
このレジスタは現在有効なセグメント テーブルのアド
レスを蓄ねえる。それがロードされる時間属領域内のM
ACでの全てのマツピングがリレットされる。即ち、キ
ャッシュメモリはその領域の全てのアドレスとその領域
内のMACでの全てのページ ディスクリブタとが空に
なって現われ、アドレス スペースが破壊される。
b−2)セグメン1− テーブル長レジスタ(STLR
) このレジスタは現在有効なセグメント テーブルの長さ
く即ち、セグメントの番号)を蓄わえる。
1)−3)MACスタック ポインタ レジスタ(MS
PR) このレジスタはメモリ内のMACスタックの物理アドレ
スを蓄わえる。ポインタはこのスタックを含むページの
開始部を指さす。
C)プロセッサ識別レジスタ ローカル メモリを具えるマルチ プロセッサ システ
ムではプロセッサがMACに対して自己を丞し、MAC
がローカル ページが必要なローカル メモリ内にある
か否かを検査できるようにしなければならない。これは
プロセッサ識別レジスタにより行なわれる。
d)変換レジスタ このレジスタへ書込むとMACが変換コマンドを実行J
る。
e)割込みレジスタ このレジスタはMACがプロセッサに割込みをか()ら
れるように割込みベクトルをセットするのに使用される
。このレジスタはまたプロセッサに割込みバックについ
ての情報を提供するICめにも使用される。
2、キャッシュ メモリ このメモリ要素はメモリ内にある一部のプログラムとデ
ータとを蓄える。これはMACにより完全に制御され、
ソフト ウェアに対して透明である。キャッシュは小形
で高速なメモリであり、プロセッサがアクセスの90%
は通常のシステム メモリ アクセス時間の代りにキャ
ッシュ アクセス時間を見、バスの使用を85%も減ら
J、、キャッシュ メモリの原理はローカル又は主メモ
リの多くのワードは可成り短い時間間隔内に2度以上ア
クセスされるという事実に基づいている。MACはブロ
セッ勺により読出された各ワードを自動的にキャッシュ
 メモリに蓄え、このプロセッサがそのワードを再び読
出そうと試みると、MACが主メモリにアクセス、ぜず
にキャッシュ メモリからそのワードを提供する。プロ
セッサが−ワードを書込む時はMACがポリシーに従っ
て書込みをインプリメントする。即ち、そのワードは4
−ヤシュ メモリとメモリとの両方に書込まれる。セグ
メントがメーカルとマークされている場合はこれは主メ
モリではなくローカル メモリに対して行なわれる。プ
ロセッサがバスを利用できない場合でもMACはプロセ
ッサを先に進め、次の「キャッシュミス」の前又は次の
書込みの前にバスが許可されてもプロセッサはバス ア
クセス待ち時間が存在したことを意識する必要はない。
成る種の状態、即ら、2個のプロセッサが時間的にイン
タリーブされたメモリの共通なセグメントへのアクセス
を分けあっている時は、データをキャッシュすることは
望ましくない。この時はセグメントはノンギャッシュブ
ルとマークする。
多くのタイプのキャッシュをインプリメントすることが
考えられるが、3個の主要なタイプがあるので、これに
ついて簡単に論する。それらは下記の通りである。
a)タラノド キャッシュ これは多くのミニ及びミツト レンジのコンピュータで
使用される「普通Jのキャッシュである。各キャッシュ
される項目と関連して上位のアドレス ビットを識別す
るタグがある。これらのタグ ビットは探しているワー
ドの高次のアドレス ビットと比較される。それらが一
致し、存在ビットがセットされれば「ヒツト」(bit
 )が記録される。
b)アソシアティブ キャッシュ 共に各キ1νツシュ ワードに付けられた識別子を有す
る点でアソシアティブ キャッシュはタラノド キャッ
シュに類似する。しかしその識別子がアドレスの高次の
ビットを保持する内容をアドレスできるメモリ(CAM
)である点で7ソシアテイブ キャッシュはタラノド 
キャッシュと貸なる。
C〉セミ−アソシアティブ キャッシュセミ−アソシア
ティブ キャッシュはアンシアティブキャッシュの考え
に成る程度の現実性を持たせようとする試みである。基
本的にはセミ−アソシアティブ キャッシュはアソシア
ティブ キャッシュに一つの仮定を加えるものである。
この仮定は一組の記憶位置が存在し、この組が実際に合
理的に小さく、中間的なタイムグレイン上でいくつの点
の周りに集まっているというものである。
セミ アソシアティブ キャッシュではキャッシュ自体
をいくつかのサブ キャッシュに分割する。そしてこの
数はセット サイズと呼ばれる。
これらのサブ キャッシュは下記の例で示すような高次
のアト1ノl ビ1ント「上I/I宇搾A名八−へさが
nのアドレス ビットをとり、これを3個の区域に分割
する。
Lビット ラベル サブ キャッシュを定義する高次の
アドレスビット Iビット 索引 これはサブ キャッシュにアクセスす
るのに使われる (アルゴリズムは後に与え る)。
Bビット オフセット これはブロックサイズがワード
サイズよ大きい場 合にだCノ使われる。ブロッ クサイズはキャッシュ メ モリとメモリの間のデータ バスの幅である。これはプ ロセッサのデータ バスよ りも広いことがあり得る。
換言ずればアドレスは次のようになる。
ラベル フィールドは長さが2 ワードのサブ アドレ
ス スペースを規定りる。S迄はこれらのアドレス ス
ペースのセット サイズは同時にキャッシュ メモリの
Sサブディビジョンにマツピングできる。これらのサブ
 アドレス スペースの一つとザブ キャッシュとの間
のマツピングは固定されたものではなく、ダイナミック
に変わるものであることに注意されたい。
3、ローカル メモリ マルチ プロセッサ システムではローカルメモリは各
ブロレッナにイ]けることがp6る。MACはコードの
動き及びこれらのローカル メモリのデーの出し入れを
制口11する機能を与える。この特徴はユーザ ソフト
ウェアにとって透明である。
4、主メモリ これはシステムの全ての部分にアクセスできる。
要求時ベージング・された仮想メモリシステムは1個又
は複数個のMACでインプリメントできる。
MACは各プロセッサに付けることができるからバスの
使用を少なくし、マルチ プロセッサ システムを実用
的なものにする。
MACはDMAユニットに実アドレス又は仮想アドレス
を使う機能を付与する。後者の場合は全ての仮想アドレ
スである全ての制御ユニットをMACに接続しなければ
ならない。
このようにしてMACは真の要求時ベージングされた仮
想メモリ システムをビルトできるようにするために必
要なメモリ アクセスと制御とを全て与える。
5、ディスク即ち外部メモリ メモリのこの部分は良いアクセス時間を必要とし、周知
の磁気ディスク又は光学式ディスクで与えられる。ディ
スクはシステムの背景メモリを構成する。
以上メモリのI!!i層を説明したから、今度はMAC
の作り方を詳細に説明する。MACが採用するキャッシ
ュ技術はセクタ アソシアティブと呼ばれる。第5図に
示すように、主メモリは等しいサイズのセクタに分割さ
れ、キャッシュ メモリはいくつかの、本例では32個
のセクタのサイズのスロットに分けられる。このように
すると任意の主メモリ セクタがこれらの32個のスロ
ットの一つを占めることができる。しかし、各一つを自
分自身の主1フッシュ スロットにフィツトさせるには
余りに多くの主メモリ セクタが存在するから、MAC
は32位間の内容をアドレスできるメモリ(CAM)1
01を用いるマツピング手順を用いてキャッシュ メモ
リ内のこれらのセクタを識別する。
特定のセクタがキャッシュ メモリ内に存在するか否か
を検査する手順を一方では第5図により、」 他方では第6図の流れ図により説明する。仮想アドレス
100を受け取ると(110) 、MACはその仮想ア
ドレスをセクタ(SCT)、ブロック(BLC)及びオ
フセット(OFFS)フィールドに分ける( 111)
セクタは自然に大きいが、32にバイトのキャッシュメ
モリを一時に一つのセクタを満たすことは全く実際的で
はない。そのためセクタは2.4゜8又は16バイトの
ブロックに分割する。このブロックをアドレスするため
に、仮想アドレスはブロック フィールドを含む。しか
し、セクタ内の各ブロンが必然的にキャッシュ内にある
訳ではないから、プレゼンス ビットはアドレス ブロ
ックがそこにあるか否かを云う必要がある。このプレげ
ンス ビットはCAM 101に接続されているプレゼ
ンス ビット メモリ 102に蓄えられる。
次にMACはセクタ フィールドがCAM 101の記
憶位置の一つに存在づるか否かを検査する( 112)
。セクタ フィールドが存在すれば(Y)キャッシュ 
ヒツトが生ずる( 113)。存在しなければミスが生
ずる( 120)。セクタ フィールが存在する場合は
MACはそのセクタ内の特定のブロックが存在するか否
かを検査する。この検査はプレゼンスビットに基づいて
行なわれる。これはセクタ内の各ブロックが必らずしも
キャッシュメモリ内にあるとは限らない1=め必要であ
る。要求されたブロックが存在すれば(Y) 、それを
キャッシュ メモリから取り出す(115)。存在しな
ければ(N)、ブロックミスが生ずる( 1ie)。
ブロック ミスが生じた場合はMACは主メモリにアク
セスしく 117) 、要求されたデータ ブロックを
フェッチする。要求されたデータ ブロックは主メモリ
からマイクロ プロセッサ、更にはキャッシュ メモリ
に移される( iig)そのデータ ブロックをキャッ
シュ メモリに蓄えた後、MACはプレゼンス ビット
をプレゼンス ビット メモリ 102にセットする(
 119)。
セクタがキI7ツシユ メモリ内にないためミスが生じ
たステップ(120)に戻ると、MACは次に主メモリ
にアクセスしく 121) 、要求されたセクタをプロ
セッサとキャッシュ メモリとに移す(122)。この
後でセクタ アドレスをCAMにロードする( 123
)。
MACど共にセクタ アソシアティブ キャッシュ メ
モリを用いる利点は、ブロック原理と共にセクタDi’
 ]!I!で検査するため、MACが要求されたデータ
がキャッシュ メモリ内に存在することを確認した後に
だけキャッシュ メモリがアクセスされることである。
こうずればキャッシュにアクセスして要求されたデータ
が存在するか否かを検査する必要がなくなる。これはM
ACにより行なわれるからアクセス時間が節約される。
セミ アソシアティブ キャッシュ メモリを用いる場
合の要求されたワードがキャッシュ メモリ内にあるか
否かを見るためにMACにより実行される基本アルゴリ
ズムを下に与える。
1、CAMに対して長さがSで幅がLのラベルフィール
ドを比較する。整合があれば先に央み、整合がなければ
、ミスを記録し、ステップ3に進む。
2、各サブ キ11ツシュが2×β個のプレゼンス ビ
ット メモリを伴ない、所望のブロックが存在するか否
か、即ち、各ブロックがプレゼンス ビットを伴なうか
否かを見る。索引を用いてこのプレゼンス ピッ1− 
メモリにアクセスする。プレゼンス ビットがセラ1−
されれば要求されたデータが存在し、Bのオフヒツト 
ビットをそれにアクレスするのに使うことができる。プ
レゼンス ビットがセットされなければ、メモリ アク
セスを行い、そのデータを関連するRAMビットをセッ
トするキャッシュにロードする。
3、このステップはラベル フィールドにより指定され
たアドレス スペースが割り当てられたサブ キャッシ
ュを有しない場合にだけとられる。それ故サブ キャッ
シュを割り当てる必要がある。最も古く割り当てられた
サブ キャッシュが解放される。即ち、ラベルザブ ス
ペースの割り当てをはずし、必要とされたラベルをサブ
 キャッシュに割り当てる。そのサブ キャッシュのプ
レゼンス ビットを全てゼロにリセットし、ステップ2
をとる。この場合サブ キャッシュとアドレスの間で新
らしいマツピングを行なわな番ノればならない。注意す
べきことはステップ1の出力をステップ2の出力を有効
とするのに用いて、ステップ1と2を平行にとれること
である。この置き換えアルゴリズムは本質的にFIFO
lllliになっていることに注意されたい。
シミュレーションはワーキングセットでMACのサイズ
を規定すれば、FIFOとしてRU置き換えアルゴリズ
ムとの間に実際上の性能の差異がないことを示している
。 “キャッシュ メモリを制御できることに加えて、
MACはまたメモリ マネジソフト ユニットとして働
き、大きな線形の仮想アドレス スペースを与える。M
ACによるマネージされる仮想メモリ スペースを副分
割する3通りの方法がある。
即ち、 aンセグメンテイション b)ページング G)ページングを伴なうセグメンテイションである。
第1の方法(セグメンテイション)を第7図のaに示す
。この第1の方法は仮想アドレス スペ−ス100をメ
モリ内で連続しており且つページサイズの複数に割り当
てられているセグメントに分割する。こうするど仮想ア
ドレスはセグメント番号(SN)と、ページ番号(PN
)と、オフセット(OFFS)どから成る。セグメンテ
イションを用いる時、MACには何時も最も最近にアク
セスされたページのデスクリプタを蓄えているレグソフ
ト テーブル ポインタ レジスタを設りる。
これらのデスクリプタは就中セグメント デープル ポ
インタ(STP) 、ページ又はセグメントページ長及
び例えばその関連するサブディビジョンのような他の状
況情報、アクセス権並びに他の情報を含む。レグメン1
− テーブル ポインタレジスタはC8信号を受【ノ取
った時MACによりロードする。このセグメント テー
ブル ポインタ レジスタは受【ノ取られた仮想アドレ
スに対するデスクリプタがMAC内にない時使用される
この時レグメン1− テーブル ポインタSTPは主メ
モリのセグメント テーブル(ST)を示す。
主メモリ内の記憶位置にアクセスするために発生しなけ
ればならない物理アドレスは後記のようにして発生させ
られる。仮想アドレスのセグメント番号(SN)はセグ
メント テーブル ポインタ(STP)により支持され
たセグメント テーブル(S T )内の位置を示づ゛
。その示されたセグメント デープルの位置にはセグメ
ント番号(SN)とページ番号(PN)とが蓄えられて
おり、これらは各々物理アドレス105の一部を形成す
る。またレグメン1− テーブル ポインタ レジスタ
に蓄えられているデスクリプタ内に存在するセグメント
長を仮想アドレスのオフセット(OFFs>と比較し、
セグメント長がローカル メモリの記憶容量を越えない
かどうか検査する。越えている場合は割込みを発生する
。他方セグメント長がローカルメモリとコンパチブルで
ある場合はオフセットをセグメントベース(SN+PN
)に加え、これと共に物理アドレスを発生づ゛る。セグ
メンテイションの利点はセグメントに異なる長さを持た
せられることである。これは主メモリ又はディスクへの
アクセスを短くできることを含意する。蓋し、セグメン
ト長はロードずべきプログラム又はデータの長さに適応
させ得るからである。
ページングと呼ばれる第2の方法を第7図のbに示J0
この方法で仮想アドレスの空間100を各ページが、例
えば、1.2.4又は8にバイト長に構成されている固
定サイズのページに分割する。
仮想アドレス100はページ番号(PN)とオフセット
(OF)S)とから成る。ページングを用いる時は物理
アドレスを形成するためにオフセットを検査することは
ない。蓋し、ページは固定長であるからである。MAC
はページ テーブル ポインタ レジスタを具えるが、
そこでは蓄えられているページ デスクリプタ(PTP
)を用いて主メモリのページ テーブル(PT)を示す
。このページ テーブルは仮想アドレスのページ番号(
PN)により示された蓄えられているページ番@をペー
ジ ベース(Pa)に変換する変換テーブルのように見
える。この時物理アドレス105はページ ベースにオ
フセット(OFFS)を加えることにより発生させられ
る。
第7図のbにはまた第2レベルのページテーブル(SP
T)が示されている。これは仮想アドレスにより与えら
れたページ番号を2つの部分に分割できるようにするた
めに有用である。この時第1部はページ テーブル(P
T)内の位置を示す。
この位置には第2レベルのページテーブルへの指示が蓄
えられている。仮想アドレスで与えられたページ番号の
第2部は第2レベルのページ テーブル内の位置をアク
セスするのに使用される。このインプリメンテイシミン
は物理アドレスを形成づるのに大きなフレキシビリティ
を与える。
ページングの利点はページが固定長になっていることで
、これはページが除かれ他のページで置き換えれる時、
アクセスできるメモリ空間が再び完全に占められること
を含意する。
ページングを伴なうセグメンテイションと呼ばれるM3
の方法を第7図のCに示す。この方法でも仮想アドレス
空間100をセグメントに分割するが、第1の方法と異
なって、セグメントは連続で(よない。代りにページは
メモリ上に分散させ得る。
このようにこの方法は第1の方法の利点と第2の方法の
利点とを組合せたものである。記述子(デスクリプタ)
は主メモリのセグメント デープル(S T )を示し
、他方仮想アドレスのセグメント番号(SN)がそのセ
グメント テーブル内の位置を示J0この位置にはペー
ジ デープル(P T ’)に対づる標識があり、そこ
では仮想アドレスのページ番号(PN)により位置が示
されている。この場合物理アドレスはページ テーブル
により与えられるようなページ ベースにオフセットを
加えることにより発生させられる。
仮想アドレス空間が可成り大きく、このため取扱が困難
であるという問題が生じ得る。この問題は特に実行中の
プロセス内で変化がめられている時又は同じMACを用
いる2個のプロセッサが異なるプロセスを実行する詩才
ずる。この場合付加的手段が設けられていなければセグ
メント テーブル ポインタ レジスタを更新すること
が必要となる。こうすればその現在の内容がなくなる。
例えば、プロセスの実行時に画像を表示することが必要
どなる。そのプロセスを実行するためにローカル メモ
リ内に必要なコードとデータとを蓄える。セグメント 
テーブル ポインタ レジスタ内にロードされCいる記
述子がその特定のプロセスのセグメント テーブルを示
す。しかし、その画像を表示する必要はメモリの別の部
分にアクセスすることを必要とし、セグメント テーブ
ルポインタ レジスタ内に他の記述子をロードすること
が必要となる。これはプロヒスを更に実行する時その記
述子をそのプログラムのために再ロードする必要がある
ことを含意する。
この問題を解決するために、MACはプロセッサの仮想
空間アドレスを4個の異なる領域に分割できる。これら
の4個の領域は仮想アドレス空間の下端からスタートし
て順次に定義される。各領域の上限は順次に特定化され
る。これは次の領域の下限を定義することでもある。こ
のように一つの領域の下限だけを特定化すれば、その上
限はFFFFFFFFとして与えられる。4個の領域は
全て等価である。
それらを分離するにもかかわらず、個々の領域の内容は
入力点を介して相互作用する。これは機能サブルーチン
のライブラリーを:!1容J−るために有用な特徴であ
る。事実、ライブラリー サブルーチンとリンクざぜれ
ば小さなプログラムでも何倍もそのサイズを拡大できる
MACは加え′られた仮想アドレスの最上位のビットか
ら領域番号を判定する。
加えで、4個の領域を指示するために、MACに4個の
レジスタ対を設りる。各レジスタ対はセグメント テー
ブル ポインタ レジスタ(STP、R)とセグメント
 テーブル長レジスタ(’5TLR)とから成る。各領
域はまた関連するセグメント テーブル又は第ルベルの
ページ テーブル(第7図のC参照)を有する。セグメ
ント テーブルは仮想アドレス空間のどの区域が現在の
プロセスにアクレスできるかを規定する。この現在の領
域の規定はMAC上のこれらのレジスタを再セットJる
ことにより達成される。イネーブルビットがリセットさ
れている領域を見てバス誤り信号(BERR)を発生ず
る。これはレジスタの艮ざをプログラミングする可能性
を与える。システム設計者は4個の領域の最大のもので
1個又は所望通りの数の部分を使うことができる。例え
ば、2個の領域から成るシステムは領域Oでは12個の
部分を有し、領域1では20個の部分を有する。
簡単なシステムは全ての機能コードによりアクセスでき
る1個の領域だけを有するものとして定義できる。斯く
して各セグメントに関連する保護ピッ]〜により保護が
行なわれる。このシステムは全ての領域定義レジスタに
FFFFFFFFを書込み、これによりROの上側境界
をFFFFFF「Fと定め、ROの下側境界をoooo
ooo。
と定めることにより構成される。
別に何もする必要はない。このシステムはあたかもOか
らFFFFFFFF迄一様に伸びる1個の領域だけを有
するものとして使用できる。
使用者を他人から保護し且つそれ自体からも保護する有
用な動作システムをインプリメントする際に4個の領域
全てを使用する仕方の一例を第8図につぎ説明する。
システム メモリ(SM)は4個の異なる区域、即ち、
動作システム区域(O8)、システム ライブラリー区
域(SL)、プロセスAのためのコードとデータのため
の区域(A)及びプロセスBのためのコードとデータの
ための区域(B)を具える。1個又は2個のマイクロプ
ロセッサにより実行されるプロセスΔ(PROA>とプ
ロセスB (PRCB)とのために仮想アドレス空間を
4個の領域に分1ノる。
領域ROは動作システムO8の特権部しか使用できない
が、特権を与えられた核の部分を含む。
このようにして、この領域内の全てのセグメントにはそ
れらにアクセスするためには監視者の許可が必要である
という指示がマークされる。動作システムのこの部分は
できるだけ小さくする必要がある。蓋し、メモリの全て
にアクセスを有するからである。
次の領域R1は監視者により使用される。これは動作シ
ステムの非特権機能を与える部分である。
それにもかかわらずこの符号は[トラステッドコードJ
 (trusted code)であり、ユーザプログ
ラムでは利用できない資源にアクセスできる。
ユーザ コードを実行中はこの領域は普通ディスエーブ
ルされる。
しばしばシステム内には多くのプログラムにより使用さ
れる膨大なユーティリティがある。それらがアクセスづ
るデータが保護されている場合は、実行モードで全ての
ユーザがこれらのユーティリティを自動的に利用できな
いとする理由はない。
このためR2はシステム ライブラリ(8m)として用
いられ、全てのプロセスが利用でき、いつもイネーブル
されている。
最后の領域R3はユーザ領域である。この領域はプロセ
ス特有のコードとデータ(PRCG+D)を蓄える。こ
の仮想アドレス空間を関連する物理アドレスへ変換する
マツピングはプロセス毎に異なる。この再マツピングは
MAC内でレジスタを変えることにより行なわれる。
MACはそれが支えられる仮想メモリ システムの範囲
では全くフレキシブルである。いくつかのシステムは大
きなサイズのセグメント テーブルとページ テーブル
とを多数有し得る。このようなシステムではユーザ(タ
スク)領域のためのテーブルが仮想メモリ内にある。こ
の場合テーブルポインタのためのアドレス変換を行ない
、これらのテーブルにアクセスできるようにする必要が
ある。全てのテーブル ポインタは変換テーブル自体が
主メモリにある領域に属する必要がある。
これはそうしないとテーブルにアクセスできず、アドレ
ス変換もできないため必要である。
それ故全てのテーブルが物理メモリ内にある所謂領域を
セグメント及びページ テーブルが仮想メモリ内にある
タスク領域から区別することができる。
MACがその斗ヤツシュ メモリ又はその変換(トラン
スレイジョン)ルック アザイド バッファ内に仮想ア
ドレスを見出せない時、レジスタを用いて主メモリ記述
子テーブルをサーチする。
領域を用いる時は、MACが第1に受け取られた仮想ア
ドレスに基づいて領域番号を判定し、次にその領域の関
連するセグメント テーブルのセグメント テーブル 
ポインタ レジスタにアクセスする。ページド セグメ
ント(第7図のC)の場合は領域のセグメン1− テー
ブル長レジスタがセグメントのサイズを判定する。次に
、仮想アドレスからのセグメント フィールド番号を索
引として用いて、MACがセグメント テーブルポイン
タ レジスタにより参照されたセグメントテーブルにア
クセスする。アクセスされたセグメント記述子が関連す
るページ テーブル ポインタとページ長とを含む。次
にMACは仮想アドレスのページ番号フィールドを索引
として用い物理ページ ベース アドレスを見出す。こ
れは物理ページフレーム アドレスを仮想アドレスのオ
フセット フィールドとリンクさせることにより物理ア
ドレスを計算する。
前述したようにMACは領域に分割され、領域が可変長
レグソフトに分割され得るメモリを用いる。これらのセ
グメントは固定長ページに分割される。この分割はセグ
メント ベースに従って保護を与えることができる。こ
の保護は下記の属性を有する。即ち、 1、必要な監視者の許可 2、読出しの許可 3、書込みの許可 4、実行の許可 である。
これらの属性はMACのハードウェア、例えば、ゲート
又はフリップ フロップによりダイナミックに認識され
、保護される。ユーザが許可を得ていないセグメントに
アクセスしようとすると、バス誤り信号(BERR)が
発生ずる。
非常に精巧な保護スキームが必要でも、簡単なソフト 
ウェアを用いてm WAできるような性能の損失を伴な
わずにこれを達成できる。各セグメントは1個のソフト
ウェア保護ビットを伴なう。このソフトウェア保護ビッ
トがセットされている場合はセグメントを最初に実行す
る時BERRがアサートされる。このようにセグメント
記述子にドメイン フィールドを加え、成るサブルーチ
ンは付加的アクセス許可検査を行なうアクセス グー1
〜を通してのみ呼ばれる。代りにプロセスのセグメント
 テーブル内の項目を用いて合法的にアクヒスされる項
目に対しアドレス空間を制限することができる。
これらの保護属性の他に、MACはメモリ階層を制御す
るのに用いられる3個の付加的属性を支える。これらの
属性は下記の通りである。即ち、ノン キャッシャプル この属性は関連するセグメントが決してキャッシュされ
ないようにする。これはプロセス間で共用されているセ
グメントが何時も更新されているコピーを1部だけ有す
るようにJる。
ローカル システムがローカル メモリを有する場合はこの属性を
用いて関連するページをプロセッサにとってローカルな
メモリに入れ、バス アクセスを節約する。
連 続 この属性はレツhされている場合ページ テーブルを伴
なわないセグメントを示す。このようなセグメントは全
体としてメモリにロードされ、再ロードされる。
MACも領域レベルで保護されるようにり゛る。
第9図はページド(不連続)セグメントに対するセグメ
ント テーブル内の32ピツ1へヒグソフト記述子のフ
ォーマットの一例を示づ°。第10図番よ連続しICセ
グメントの記述子のフA−マットの一例を示す。
如何なる瞬時においてもいくつの領域が定義され、イネ
ーブルされているかに依存して4個の有効なセグメン1
〜 テーブルの一つが存在する。゛レグメンl−テーブ
ルは3個のフィールドから成る。
即ち、 a)ページ テーブル ポインタ このフィールドは現在のセグメントを定義しているペー
ジ テーブルへのポインタを蓄える。
ページ テーブルはメモリ内の長語境界上に整列させね
ばならない。
b)ページ テーブル長 このフィールドはページ内のセグメントの長さを蓄える
0)L?グメソフ保護 各プロセスにグランドされる許可に依存してセグメント
の各使用が異って保護される。このフィールドはセグメ
ントの状態を定義するビットを含む。
これらのフィールドは、例えば、過去の内容を有する9
個のビットを具える。
ビット1:このセグメントにアクセスJ−るのに必要な
監視者許可(S) ビット2〜4:アクセス許可ビット。これらの3個のア
クセス許可ビットはセラ1〜 された場合アクセスモードを許1−0 これらのビットは下記の通りである。即ち、読出しアク
セス(RA) 書込みアクセス(WA) 実行アクセス(EΔ) である。
ビット5:有効(V)。このビットはセグメントが有効
か否かを示すのに用いられ る。
ビット6:ソフトウエア保ff1(SP)。このビット
がセットされるとl311連するセグメントがアクセス
される第1回目の 時にトラップが発生する。そのセグ メントへの以後のアクレスはトラッ プを発生させることも発生さけない こともある。従って、1〜ラップ取扱 いソフトウェアは第1回目の割込み 後このビットをリセットするが又は 多数トラップを取扱えるようにする 必要がある。このビットはセグメン トへの侵入に対するソフトウェア フィルタを提供する。
最后の3個のビットはセグメントをマツピングする仕方
を定める。これらは下記の通りである。
即ち、 ビット7:関連するセグメントがセマフォを具えるか又
は2個のプロセッサ若しく はI10ユニットにより使用できる 場合はそめようにマークする必要が ある。
ごツト8:ローカル(L)。これはプロセッサに対して
ローカルな1個又は複数個 のメモリにそのセグメントが蓄えら れていることを示す。
ヒラ!・9:連続(C)。このビットはそのセグメント
がページ テーブルを有さな いことを示す。これはセグメント オンリーであり、全体としてメモリ にマツピングする必要がある。
MACはまたページ テーブルのレベルでの保護を可能
にする。
第11図はページ テーブル メモリ内の32ピッ1−
 ページ記述子のフォーマットの一例を示す。
ページ テーブルは2個のフィールドに分けられ、これ
が何時もハードウェアにより使用される。これらは下記
のものを含む。即ち、 1、ページの開始点の物理アドレスへのポインタ、2.
3個のページ活動記録ピット: 存在(P);ページはメモリ内にある。
使用(U)二ページは使、用されている。蓋し、このビ
ットは最后にリセットさ れているからである。
汚れ(D)二ページページは書込まれている。
蓋し、このビットは最后にリセ ットされているからである。
3.6個のソフトウェア ビット(SW) 、これらの
ビットは何等かの目的でソフトウェアにより使用−丈る
ことができる。
4、ローカル メモリ識別(LI)、MA’Cは例えば
16個迄のローカル メモリを具えるシステムを支持す
る。セグメントがローカルとマークされると、これらの
ビットはどのローカル メモリにそのページが存在する
かを示す。これはプロヒッサ識別レジスタの内容に対し
てチェックされる。BERRはローカルとマークされた
セグメントがそのプロセッサのローカル メモリ内にな
い時発生させられる。
上述したシステム テーブルの大概のものは必然的に何
時も物理メモリ内に有することなく仮想メモリ内に置く
ことが望ましい。
MACは明らかにキャッシュの誤りをフィールディング
しつつ複数個のページ誤りを許ず。即ち、MACが記述
子を必要とし、記述子自体が物理メモリ内に存在しない
と、BERRを発生し、記述子のアドレスとアクセス誤
りの原因とを与える。
このように常時物理メモリ内に存在する必要のあるテー
ブルだけが割込み取扱いルーチンとメモリマネジメント
ルーチンのテーブルである(即ち、セグメント テーブ
ルとページ テーブルへのポインタを含むテーブル)、
、注意すべきことはページ誤りは何の誤り状態も示さな
いことである。むしろそれは鋤ぎかけが必要なことを示
す。しかし、ページ誤りは誤りが生じたことを示ず。必
要な許可が得られていないセグメントへアクセスされた
か又は無効なセグメントへアクセスされたかである。
MACは保護の程度が変わるシステムをインプリメント
する機構を与える。最も簡単な保護されたシステムはユ
ーザコードをOSコードから分離Jるだけである。
保護は基本的には必要と−4る資源へのプロセスアクセ
スを与えるだけで与えられる。これらの資源はメモリと
Iloとを含む。Iloへのアクセスは必要なI10マ
ネジメント ルーチンへのプロセス アクレスを与える
ーことにより達成される。このアクセスは実行オンリー
とすることができ、これらのルーチンへ入ることは通常
の態様でハードウェアを介して制御するか又はアクせス
点としてソフトウェア「ゲートウェイ」を置くことによ
り制御できる。このゲートウェイは本質的には実行j−
ンリーセグメントであり、これは入った時トラップを惹
き起すようにマークされる。このようにしてトラストさ
れたプログラムを用いて′I10アクセスをづるか又は
呼出しプログラムのエキストラ入力点を与えることがで
きる。例えば、ファイルが開かれると、この技術はセグ
メントを呼出しプロセスの仮想アドレス空間へ加え、そ
こで各セグメントがl1011t能を実行する。プロセ
スはこれらのルーチンへのアクセスを有するだけである
当然このプロセスはそのセグメント記述子をアクセスす
ることが禁じられている時だけ有効となる。これはプロ
セスに属するセグメント テーブルを直接そのプロセス
へアクセスできるセラメン1〜に置かれないことにより
達成される。当然このセラメン]・は動作システム及び
MACへアクセスできる。
コードとデータを許容することは同じページテーブルを
指すセグメント記述子を2個以上のプロセッサのセグメ
ント テーブルに置くだけで達成できる。注意すべきこ
とはこれらのセグメントは目的が異なれば仮想アドレス
も異なることである。それでもメツセージ パッシング
は動作システムに記述子を別のプロセスのアドレス空間
に「加える」ことをめることにより簡単且つ有効にイン
プリメントできる。
キャッシュ コントローラ機能を用いるか又は用いない
でMACはMMU (メモリ マネジソフト ユニツ1
〜)として使用できる。
簡単なシステムが欲しい肋はMACの可能性のサブ セ
ットを使用することができる。下記のものは可能なシス
テム構成のいくつかの例である。
a、i[iページド システム これはプログラムとデータとを含む1個のセグメントを
伴なう1個だけの領域を有する。
b、最小保護システム これはコードとデータとに対する2個のセラメン1〜を
右する1個の領域を有し、各セグメンI〜内ではページ
ングを行なわない。
C9最小保護スタック ベース システムこれは使用さ
れる各スタックにつきもう1個のセグメントを有する。
これは無制限な成長を制御しつつスタック空間を必要通
りに簡単に割当てるのに使用できる。
明らかに、もつと多数の例を作ることができる。
これは全てのm能が何時も使用されることが必要とは限
らないことを強調するためにだけ与えられたものである
以上で領域の概念と保護機能を紹介し、MACのアーキ
テクチャの概観を説明した。以下にはMACの動作を詳
細に述べる。既に述べたように、MACはキャッシュ 
コントローラと変換ルックアサイド バッファとを具え
る(@3図)。
キ1?ツシュ コントローラはセミ アソシアティブ 
キレッシュをマネージする。これは例えば32個のキャ
ッシュのワーキング セットを看する。
これらのサブ キャッシュはアドレ蜘により規定される
だけでなく、アドレス空間によっても規定される。MA
Cは4個の領域により規定された4個のアドレス空間を
認識する。キャッシュ コン1−ローラ内でのこれらの
領域間の区別は純粋に各別のアドレス空間に属するキャ
ッシュ項目を全体としての領域に対しては無効化するこ
とを許す。
システムのダイナミックなワーキング セラ]・が好ま
しい場合はこれは、例えば、割込みサービスルーチンが
キャッジ1内にとどまり続け、他方プロセッサがブ[J
 レスを続け、更にはプロセスを変える。
リセット時にはキャッシュは空とマークされ、32個の
ザブ キVツシュが全て4個の領域全てのために利用で
きる。一つの領域により使用状態にある全てのザブ キ
t?ツシュはその領域のセラメン1へ テーブル ポイ
ンタ レジスタ(STR[<′)がロードされている時
何時も自動的に空とマークされる。
ワードはセグメント記述子の基準を満足した場合にだけ
キャッシュに入ることができる。このようにして、ワー
ドが読出され、それがキレッシュ内に見出される時は、
プロセッサが必要な許可を有する場合に有効である。セ
グメント許可権の」ビーは関連1”るザブ キャッシュ
と共に保たれる。
書込みが実行されるとこれはプロセッサが書込み許可を
有する場合にだけキャッシュ内に書込まれる。MACの
M M U tクション内の汚れビットとページ テー
ブルは更新される。
摺込みが達成されたとき情報はメモリに書込まれる。サ
ブ キ1!ツシュが既にこのデータに割当てられている
時だけ情報はキャッシュ メモリにも書込まれる。書込
まれるべきデータの幅がキャッシュの幅と同、じである
場合は、関連するブロックのプレゼンス ビットが有効
とマークされる。
書込みデータの幅がキャッシュのブロック幅と同じでな
い場合は、プレゼンス ビットが変えられない。
書込み時にはMACはアドレスとデータをラッチにスト
ローブし、メモリ書込みサイクルをスター I−′il
る。そうする前に必要な記述子を有するが否かをチェッ
クする。有しなければメモリがらそれをフェッチする。
既にセットされていない場合は、MACは汚れビットを
メモリ内のページ テーブルとMAC上のページ記述子
キャッシュとの両方でセラ!・する。次にプロセッサに
DTACK伯号をプロセッサにアサートすることを進め
きせ、その間にメモリ転送を行なう。第1の書込みが完
了する前に別のメモリ転送(キャッシュ読出しミス又は
出込み)を要求しない限りプロセッサーは先へ進むこと
を訂される。
バイトで表わUば、キャッシュは2にバイト、即ち、2
バイ1−の1にブロックから64にバイト、即ち、16
バイトの4にブロックへ変わる。
〜般には4ソードの1024ブロツク、即ち、1に×6
4のキャッシュであれば、プロセッサは少なくとも95
%のメモリ アクセスのキャッシュ 、アクセス時間を
見る。例えば、キャッシュ ヒツト又はj1i複書込み
が十分高速で生じ、プロセッサ内で如何なる持ち状態も
起さず、メモリ アクセスが4個の待ち状態であるなら
ば1メモリ アクセス当りの待ら状態の平均数は0.2
である。
変換ルック アリ゛イド バッファはメモリの3個のレ
ベル間でページング1IIII1211を行なう。これ
らの3個のレベルは下記のものである。即ち、1、ディ
スク即らバックグラウンド メモリ2、システム メモ
リ(RAM) 3、ローカル メ′しり(RAM) である。
マルチプロセッサ システムでは、バス トラフィック
を小さくするために、各又は少数のプロ[ツサ毎にロー
カル メモリを取り付けるのが望ましい。そうずれば、
MACはセグメントがローカル メモリに属していると
マークされている場合プロセッサに信号を与えることが
できる。アクヒスされたページがローカル メモリ内に
なければページ誤りトラップが発生する。MACはシス
テム メモリとバックグラウンド メモリとの間のペー
ジングを制御できるだけでなく、ローカルメモリとシス
テム メモリ又はバックグラウンドメモリとの間でもペ
ージングを制御できる。
MACの変換ルック アザイド バッファ(TLB)は
例えば32個のページに対する記述子を蓄え、それらは
MACの要求でロードされる。キャッシュの場合と同じ
ように、各ページはその論理アドレスによってのみ識別
される。
加えてTLBは4個のレジスタ トリブレットを蓄える
。これらのトリブレットは領域定義レジスタ(ROR)
、セグメント テーブル ボインタ ジスタ(S T 
l) R)及びセグメント テーブル長レジスタ(ST
LR)である。これらのトリブレットの各々はそれらの
人々の領域の現在のコンテキストを規定づる。
ページ記)1子は十分にアソシアティブなMAC上の記
述子キt・ツシュ内にある。各記述子は下記のフィール
ドから成る。
1.19ピツトの物理アドレス 2.4個の許可ビット、即ち、必要とされる監視者許可
アクセス許可ビット 読出しアクセス(RA) 書込みアクセス(WA) 実行アクセス(EA) 3、ページ マネジソフト ビット、即ち、ノン キャ
ッシャプル(NC> ローカル(L) 4、汚れどツI−(D)、即ち、そのページが既に書込
まれている。
ワードが読み打され、それがキャッシュ メモリ内にな
い場合、TLBがアクセスされ、その物理アドレスを見
出す。関連丈るページ記述子がTLB内になりれば、M
ACは領域5TPRを用いてそれを見出ず。これは5T
LRレジスタで確立されている長さ゛と共に用いる。ペ
ージがメモリ内にない場合だけBERRをアサ−1−す
ることによりページ誤りが発生する。
セグメント記述子をフェッチするプロセス時にMACは
セグメント番号が有効か否か、即ち、下側領域境界に対
してアドレス空間用のレジスタ内にセットされている長
さよりも短いか否かを検査する。またそのページ番号が
セグメント記迷子内の最大ページ番号よりも大きくない
か否かを検査する。これらの条件がいずれか満たされな
い場合は誤り警告を発生する。セグメントがローカルと
マークされ、この検査がイネーブルされると、ページ記
述子がそのページが要求中のプロセッサのローカル メ
モリ内にあるか否かを検査する。
用いられたビットがメモリ内のページ記述子でセットさ
れていない場合は、MACによりセットづる。
何等かの許された書込みがページに対してなされ、キャ
ッシュ内のページ記連子内の汚れビットがセットされて
いない場合は、これを記述子キャッシュとメモリ内の両
方でセットする。
要求されている許可ビットがセットされていないローカ
ル メモリに対してアクセスがなされると、BERRが
セットされる。違反しているアドレスと理由はメモリ内
のMACスタックに苔えられる。
そこにないページにアクセスがなされた時も同じ手順に
従う。これは誤ったページが所望のページであるか又は
セグメント テーブル若しくはページ テーブルを含む
ページである場合に生ずる。
MACと制御中のプロセッサとの間の通信の一部は主メ
モリ内のMACスタックを介して行なわれる。システム
内の各MACはこのようなスタックを有し、成る数又は
バイト、例えば、何時もメモリー内にあるべき1ページ
の最初の512を占める。
MAC上のMSPRレジスタはそのスタックを含むメモ
リ内のページ フレームの物理アドレスを蓄える。この
スタックは次のように用0られる。
即ち、 動作時にMACが誤り又はページ誤りを検出した時その
誤りを起こしているアドレスを含む誤り報告と問題の記
述をMACによりスタックに蓄える。次にMACはBE
RRをプロセッサに送る。
512バイトのスタックを機能コード信号によりインデ
ックスされる8個のセクションに分割する。
索引000はプロセッサのためのセクションを示し、残
りの7個のセクションはI10装置のためのものである
プロセッサ セクションはプロセッサにより試みられた
メモリ アクセスでの誤り又はページ誤りの場合は誤っ
ているアドレスと誤り原因とを蓄えるの用いられる。こ
のセクションはまたアドレス変換コマンドで用いられる
仮想と実のアドレスを蓄える。
他の7つのセクションは各々8個のブロックに分割され
る。これらの(8バイト)ブロックGよ各々誤リアドレ
スとrs題の記述とから成る誤り報告を蓄える。これら
のブロックの各々に「書き込まれたjビットはMACが
そのブロックに誤り報告を書込む時何時もセットされる
。このビットはブロックがプロセッサによりサービスさ
れるべき誤り報告を蓄えていることを示し、プロセッサ
がその誤りを処理した後初めてプロセッサによりリセッ
トされる。MACは「書き込まれた」ビットがセットさ
れない時だけブロックに誤り報告を書き込む。
主メモリのプロセス用の物理アドレスを計算するために
記憶容置を拡張することはMACができるが、その場合
I10100ための仮想アドレスを用い、[仮想J11
0を作り出す。この能力は特にページド仮想メモリにと
って重要である。ここでは論理的に連続したページが順
次の位置で生ずることはない。仮想I10がないと、デ
ィスク動作は分散しているページにあるデータを読出し
たり書込んだりするのにソフトウェアでIIな計算を必
要とするであろう。しかし、コントローラはDMAコン
トローラ(例えば、ディスク コントローラ)に仮想メ
モリを用いることを許すことによりこの問題を解決する
I10ユニツl〜はプロセッサ メモリ基準より6むし
ろIloを実行中の機能符号ビットを示す。
この機能符号ヒツトがアドレスがI10基準であること
を示す時は全ての保護検査が保留され、残りの機能符号
ビットがどの特定のI10コントローラが含まれるかを
示す。コントローラはI10ユニットによる不合法のア
クセスにより怠き起された誤りをすべて報告しなければ
ならないからこの指示は必要であり、残りの機能符号ビ
ットは故障ユニットを識別する。
プロセッサが理由を調べる前に複数個のI10誤りが生
じ得るから、MAC内に一つの誤りレジスタを設けるだ
けでは不十分である。代りに、110アドレスによりイ
ンデックスされた通信区域がI10誤りメツセージを書
込むために分離される(装置Oによりインデックスされ
たメモリの部分がプロセッサのために確保される)。
誤りが生ずる時、コントローラは誤りメツセージを適当
な記憶区域に出込む。そこでは誤りメツセージ フィー
ルドの上位のビットが有効な誤りメツセージが存在する
か否かを示す。フィールドはまた誤りが生じた記憶領域
及びアドレス並びに誤りメツセージ番号を示し、原因を
識別する。またMACはBERR信号の周辺装置への転
送を止める。
I10コントローラがこのアボートを受け取ると、プロ
セッサに割込みをかけ、プロセッサが割込みサーごス 
ルーチンを実行し、故障を識別する。このルーチンはI
10ユニット番号を判定し、これを索引として用いてメ
モリの通信区域内に入る。そこでルーチンは全ての有効
な誤りメツ1=−ジをザーチし、それらを処理し、上位
の誤りビットをリセツ1〜する。
コントローラの重要な利点はシステム バスへのロード
を軽くし、システム バスを解放し、多くのプロセス′
す°を取り付は得るようにすることである。代表的な6
8000 (モトローラ マイクロプロセッサ6800
0 )ベースのキャッシュ メモリを有する仮想メモリ
 システムでは、平均して、メモリ アクセスの85%
が読出され、15%が書込まれる。読出しアクセスの約
90%がキャッシュメモリで満足されるから、システム
 バスのロードは軽い。
ノンキャッシュ システムでは対照的に各メモリ基準毎
にプロセッサはバスにアクセスしなければならない。し
かし、MAC及びキャッシュ メモリを用いればこの数
字は著しく下がる。
このようにキュッシュ システムを用いると、性能をあ
まり落すことなく少しのプロセッサを付加することがで
きる。また普通のメモリ コン1〜〇−ラを用いたので
は占められているバスにアクレスしようとするとプロセ
ッサは待たねばならないが、コン]・ローラ チップを
用いると、これは普通は起こらない。蓋し、書込み動作
がキャッシュ メモリによりリゾルブされた読出し動作
とオーバーラツプするからである。
マルチプロセシングはソフトウェアとハードウェアに要
求を課す。ここではコントローラが主メモリのページ又
はセグメントにノンキャッジプルとマークさせることに
より自己を識別する。これはソフトウェアのセクション
へのアクセスが一時に一個のプロセッサに限られている
時に必要である。コントローラがこのようなページ又は
セグメントに遭遇すると、そのページ又はセグメントの
マツピング情報をその変換ルック アサイド バッファ
に置き、キャッシュに置くことは決してない。このよう
にして2個以上のプロセッサが一時にアクセスすること
が防がれる。
MACは一時に一個のプロセッサへのコードのセクショ
ンのアクセスを限るのに使用されるセマフォ位置を獲得
するためにも同じような解決法を提供する。例えばプロ
セッサはその4:11ツシユ内にセマフォを有する。別
のプロセッサが同じセマフォ上でセマフA作用を試みる
と、両方のプロセッサにより見られるセマフォ値は異な
ってくる。
最後にこれはソフトウェアの破壊にもつながり得る。M
ACはこの問題をセマフォ自体にアンキャッシャプルと
マークすることにより解決する。
また、セグメント又はページにアンキャッシャプルとマ
ークする技術はI10動作にも有用である。例えば、U
ART (汎用非同期送受信機)からデータを読み出す
普通のキャッシュされたシステムでは、データはキャッ
シュ内と主メモリ内とでワインド アップする。プロセ
ッサが順次の文字を読出ず試みをする時、UARTから
更新された文字を得るよりもむしろキャッシュから安定
したデータを得る。それ故状態をオートノマスに変え得
る装置−例えば、I10装置及びコプロセッサ−のため
のデータ区域をノンキャッシャプルとマークすることが
必要である。
5個以上のプロセッサが設計で必要な場合は、MACは
かなり小さいローカル メモリを各プロセッサに付加す
るだけで強力なマルチ プロセシング スキームを与え
る。プロセッサがページにアクセスする時はいつも、コ
ントローラがローカル メモリ内、特に要求しているプ
ロセッサのローカル メモリ内にあるか否かを検査する
。そのページがローカル メモリ内にあれば、幼げられ
ずにアクセスが行なわれる。しかし、そうでない場合は
、コントローラがバス誤り(BERR)信号をプロセッ
サに送り、プロセッサがそのローカル メモリに要求さ
れたデータをロードする。これはディスクからRA M
へデータをページングするのと類似しており、これはプ
ログラマには見えない状態で生ずる。
【図面の簡単な説明】
第1A図は単一のメモリ アクセス コントローラ(M
AC)を用いる本発明に係るデータ処理装置の第1の実
施例のブロック図、 第1B図は単一のMACを用いる第2の実施例のブロッ
ク図、 第1C図は数個のMACを用いる第3の実施例のブロッ
ク図、 第1D図は2個のMACを用いる第4の実施例のブロッ
ク図、 第1E図は2個のMACを1個のプロセッサに取り付け
た第5の実施例のブロック図、第2図はMACをデータ
処理装置内にインプリメントするセットアツプの仕方の
詳細を示したブロック図、 第3図は本発明に係るメモリ アクセス コントローラ
のアーキテクチュアを示したブロック図、第4図はMA
Cの動作を示す流れ図、 第5図は本発明に係るMACで用いられるセクタ アソ
シアティブ キャッシュ技術の説明図、第6図は特定の
セクタがキャッシュ メモリ内に存在するか否かを検査
する手順を示す流れ図、第7図の(a )は仮想メモリ
空間を副分割するためのセラメンティション法の説明図
、第7図の(b)はページング法の説明図、第7図の(
C)はページングを伴なうセラメンティション法の説明
図、 第8図は有効な動作システムをインプリメントする上で
領域がどのように使用されるかを示す説明図、 第9図はページド(不連続)“セグメント用のセグメン
ト テーブル内の32ビット セグメント記述子(デス
クリプタ)のフォーマットの一例を示す説明図、 第10図は連続したセグメントの記述子のフォーマット
の一例を示す説明図、 第11図はページ テーブル メモリ内の32ビツトペ
ージ記述子のフォーマットの一例を示す説明図である。 1・・・MAC(メモリ アクセス コントローラ)2
・・・プロセッサ 3・・・キャッシュ メモリ4・・
・データ バス 5・・・アドレス バス 6.7・・・メモリ モジュール 8.9・・・I10モジュール 10・・・アドレス バス 11・・・データ バス 12・・・ローカル メモリ 30・・・デコーダ 31・・・キャッシュ制御装置3
2・・・第1のアドレス バス 33・・・データ バス 34・・・第3の接続ライン 35・・・第2のアドレス バス 3G・・・キャッシュ アドレス バス31・・・デー
タ バス インタフェース38・・・アドレス バス 
インタフェース39・・・第1の接続ライン 40・・・第2の接続ライン 41・・・アドレス バス 42・・・第6の接続ライン 43・・・第4の接続ライン 44・・・第5の接続ライン 50・・・キャッシュ コントローラ 51・・・トランスレイジョン ルック アサイドバッ
ファ 52・・・マイクロ コントローラ 53・・・内容をアドレスできるメモリ!+4・・・R
AM 55・・・保護論理56・・・内容をアドレスで
きるメモリ51・・・RAM 100・・・仮想アドレ
ス101・・・32位置の内容をアドレスできるメモリ
102・・・プレゼンス ビット メモリ105・・・
物理アドレス ト Cフ 一 −O。 ロー Nm ローN 閂 αXαγ χχα α

Claims (1)

  1. 【特許請求の範囲】 1、共通アドレス バスに接続されたプロセッサと、少
    なくともキャッシュ メモリ及び共通バスに接続された
    ローカル メモリとを具備するメモリ階層と、共通バス
    とキャッシュアドレス バスを介してキャッシュ メモ
    リとに接続されたメモリ アクセス コントローラとを
    具え、このメモリ アクセス コントローラが 一データがキャッシュ メモリ内に存在することを示す
    第1の標識を蓄えるための第1の記憶ユニットと、この
    第1の記憶ユニットに接続され且つ前記プロセッサによ
    り供給される仮想アドレスを受け取るためにこのプロセ
    ッサに接続された第1のアドレス入力端子を有し、仮想
    アドレスを受け取った時この仮想アドレスが第1の記憶
    ユニットに蓄えられている前記第1の標識の一つに対応
    するか否かを検査し、対応する時第1の検査結果信号を
    発生し、対応しない時第2の検査結果信号を発生する第
    1の検査ユニットとを具え、更にキャッシュ メモリへ
    のアクセスを可能にする第1のイネ−プリング ユニッ
    トが設けられ、この第1のイネ−ブリング ユニットが
    第1の検査結果信号を受け取った時活性化されるキャッ
    シュ コントローラと; −仮想アドレスを受け取るための第2のアドレス入力端
    子を有し、仮想アドレスを物理アドレス変換するために
    設けられ、データがローカル メモリ内に存在すること
    を示す第2の標識を蓄えるための第2の記憶ユニットと
    、この第2の記憶ユニットと前記第2のアドレス入力端
    子とに接続され、仮想アドレスを受け取った時この仮想
    アドレスが第2の記憶ユニット内に蓄えられている前記
    第2の標識の一つに対応するか否かを検査し、対応して
    いる時第3の検査結果信号を発生し、対応しない時第4
    の検査結果信号を発生する第2の検査ユニットとを具え
    、第1の制御入力端子に供給される前記第2の検査結果
    信号により制御され、更にローカル メモリへのアクセ
    スを可能にする第2のイネ−ブリング ユニットが設け
    られ、この第2のイネ−ブリングユニットが第3の検査
    結果信号を受け取った時活性化される変換ユニットと を具えるデータ処理装置において、 キャッシュ コントローラが第1のアドレス入力端子に
    より、変換ユニットが第2のアドレスユニットにより並
    列に、プロセッサの仮想アドレス出力端子に接続された
    アドレスバスに接続され、このアドレス バスが仮想ア
    ドレスを同時にキャッシュ コントローラと変換ユニッ
    トとに転送するために設けられたことを特徴とするデー
    タ処理装置。 2、メモリ アクセス コントローラが前記第2の検査
    ユニットに接続され、第4の検査結果信号を受け取った
    時バス アクセス信号を発生して共通バスへのアクセス
    を獲得するために設けられ、前記プロセッサへ接続され
    たバス アクセス信号発生器を具備するマイクロ コン
    トローラを具えることを特徴とする特許請求の範囲第1
    項記載のデータ処理装置。 3、前記メモリ階層が更に主メモリを具え、マイクロ 
    コントローラがバス アクセス信号を受け取った時プロ
    セッサにより発生させられたバス アクセス権を受け取
    るための第2の制御入力端子を具え、更にアドレス バ
    スに接続され、仮想アドレスを主メモリをアドレッシン
    グするためのマツプ アドレスに変換するために設けら
    れたマツピング ユニットを具え、またイネーブル信号
    を発生して主メモリにアクセスするための第3のイネ−
    ブリング手段を具えることを特徴とする特許請゛ 求の
    範囲第2項記載のデータ処理装置。 4、前記変換ユニットが第1のローディング手段を設け
    られ、前記イネーブル信号を受け取るだめの第3の制御
    入力端子を有し、上記イネーブル信号の制御の下に前記
    主メモリから取り出したデータを前記ローカル メモリ
    にローfし、第2の標識をデータがローカルメモリにロ
    ードされていることを示す前記第2の記憶ユニットにロ
    ードするために設けるようにしたことを特徴とする特許
    請求の範囲第3項記載のデータ処理装置。 5、前記第1の検査ユニットと前記第1の記憶ユニット
    とをアドレス バスに接続された内容をアドレスできる
    メモリにより形成するようにしたことを特徴とする特許
    請求の範囲前記各項のいずれかに記載のデータ処理装置
    。 6、前記第2の検査ユニットと前記第2の記憶ユニット
    とをアドレス バスに接続された内容をアドレスできる
    メモリにより形成するようにしたことを特徴とする特許
    請求の範囲前記各項のいずれかに記載のデータ処理装置
    。 1、前記メモリ階層が更に主メモリを具え、この主メモ
    リが第1の数のセクタに分割され、前記キャッシュ メ
    モリが第2の数のセクタに分割され、前記仮想アドレス
    が上記キャッシュ メモリ内のセクタのセクタ番号を示
    す第1のフィールドを具え、前記第1の検査ユニットが
    前記仮想アドレスから前記第1のフィールドを取り出し
    、前記第1のフィールドの内容について検査するために
    設けたことを特徴とする特許請求の範囲前記各項のいず
    れかに記載のデータ処理装置。 8、主メモリとキャッシュ メモリの前記セクタを夫々
    第3と第4の数のブロックに分割し、前記仮想アドレス
    が前記キャッシュ メモリ内のブロックのブロック番号
    を示す第2のフィールドを具え、前記第1の記憶ユニッ
    トがキャッシュ メモリ内にブロックが存在することを
    示すプレゼンス ビットを蓄えるためのプレゼンス ビ
    ット メモリを具え、前記第1の検査ユニットが前記仮
    想アドレスから前記第2のフィールドを取り出し、上記
    プレゼンス ビット メモリ内で前記フィールド内に示
    されたブロック番号のプレゼンス ビットがセットされ
    ている場合は制御することにより前記検査を行なうよう
    にしたことを特徴とする特許請求の範囲第7項記載のデ
    ータ処理装置。 9、前記キャッシュ コントローラに前記主メモリから
    のデータを前記キャッシュ メモリにロードするための
    第2のローディング手段を設けた特許請求の範囲第8項
    記載のデータ処理装置において、前記第2のローディン
    グ手段が前記データをブロック毎に前記キャッシュ メ
    モリにロードし、ロードされたブロックのプレゼンス 
    ビットを前記プレゼンスビット メモリにセットするた
    めに設けられるようにしたことを特徴とするデータ処理
    装置。 10、メモリ アクセス コントローラが前記アドレス
     バスに接続され、仮想アドレスにより占められる仮想
    アドレス空間を成る数の異なる領域に分割し、領域1号
    を得られた各領域に与えるためのレジスタ手段を具え、
    このレジスタ手段が分4割さるべき領域の長さをプログ
    ラムできるようにするセット入力端子を有し、このレジ
    スタ手段が仮想アドレスのアドレス ビットに基づいて
    前記分割を行なうようにしたことを特徴とする特許請求
    の範囲第1項ないし第6項のいずれかに記載のデータ処
    理装N。 11、前記ローカル メモリが可変数のセグメントに分
    割でき、セグメントの各々が固定長のページに分割でき
    、前記仮想アドレスがセグメントの番号を示すためのセ
    グメント番号フィールドと、このセグメント番号フィー
    ルドにより示されたセグメント内でのページの番号を示
    すためのページ番号フィールドとを具え、前記メモリ 
    アクセス コントローラが更にローカル メモリ内に存
    在するセグメントの記述子を蓄えるためのセグメント 
    テーブル ポインタ レジスタを具え、上記記述子の各
    々がローカル メモリのセグメントテーブルを示すため
    のセグメント テーブルポインタを具えることを特徴と
    する特許請求の範囲第1項ないし第6項のいずれかに記
    載のデータ処理装置。 12、前記セグメントが可変長を有することを特徴とす
    る特許請求の範囲第11項記載のデータ処理装置。 13、各領域が少なくとも1個のセグメントを具えるこ
    とを特徴とする特許請求の範囲第10項及び第11項記
    載のデータ処理装置。 14、前記レジスタ手段が各領域ごとに分割されたレジ
    スタ対を具え、このレジスタ対が現在のプロセスにアク
    セスできる仮想アドレス空IJの区域についての暴準を
    蓄えるためのセグメント テーブル ポインタ レジス
    タと、セグメントの長さを示ずためのセグメント長レジ
    スタとを具えるようにしたことを特徴とする特許請求の
    範囲第13項記載のデータ処理装置。 15、前記マツピング ユニットが領域番号を受け取る
    ために前記レジスタ手段に接続された第1の入力端子と
    、ローカル メモリ内での上記領域番号に対するセグメ
    ント テーブルを示すセグメント テーブル ポインタ
    標識を受け取るために前記セグメント テーブルポイン
    タに接続された第2の入力端子とを有し、前記マツピン
    グ ユニットが仮想アドレスのセグメント番号フィール
    ドを前記セグメント テーブル内での位置を示す索引と
    して用い、ページ番号フィールドを前記セグメント テ
    ーブル内のインデックスされた位置により示されたペー
    ジ テーブル レジスタ内の位置を示すための索引とし
    て用いることにより物理アドレスを発生するために設け
    られるようにしたことを特徴とする特許請求の範囲第1
    3項及び第14項に記載のデータ処理装置。 16、前記記述子がこの記述子によりインデックスされ
    たセグメントへのアクセスが保護されているか否かを示
    すための保護フィールドを具えるようにしたことを特徴
    とする特許請求の範囲第11項、第12項、第13項、
    第14項又は第15項に記載のデータ処理装置。 17、セグメント テーブル ポインタ レジスタがイ
    ンデックスされた領域にアクセスすることが保護されて
    いるか否かを示すために保護標識を蓄えるための位置を
    具えるようにしたことを特徴とする特許請求の範囲第1
    4項、第15項又は第16項に記載のデータ処理装置。 18、前記記述子がセットされている場合、セグメント
    をキャッシュ メモリにロードすることを禁止するため
    のノンキャッシャプル ピットを具えるようにしたこと
    を特徴とする特許請求の範囲第16項記載のデータ処理
    装置。 19、前記記述子がセットされた場合セグメントをロー
    カル メモリにロードすることを強制するローカル ピ
    ッ1〜を具えることを特徴とする特許請求の範囲第16
    項記載のデータ処理装置。 20、前記ページ テーブルが前記ページが読み出され
    且つキャッシュ メモリ及びローカルメモリ若しくはそ
    のいずれか一方に書き込まれたか又は読み出され若しく
    は書き込まれたかを示ずための汚れピットを具えること
    を特徴とする特許請求の範囲第16項記載のデータ処理
    装置。 21、メモリ アクセス コントローラをアドレス バ
    スによりI10ユニットに接続し、上記メモリ アクセ
    ス コントローラが受け取られた仮想アドレスをI10
    ユニットのための物理アドレスにマツピングする他のマ
    ツピング ユニットを具えることを特徴とする特許請求
    の範囲前記各項のいずれかに記載のデータ処理装置。 22、前記メモリ アクセス コントローラがキャッシ
    ュ コントローラと、変換ユニットと、マイクロ コン
    トローラとを具えることを特徴とする特r[M求の範囲
    前記各項のいずれか一項に記載のデータ処理−置で使用
    されるメモリ アクセス コントローラ。
JP60027579A 1984-02-17 1985-02-16 メモリ・アクセス・コントローラを具えるデータ処理装置 Granted JPS60221851A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/581,388 US4669043A (en) 1984-02-17 1984-02-17 Memory access controller
US581388 1984-02-17

Publications (2)

Publication Number Publication Date
JPS60221851A true JPS60221851A (ja) 1985-11-06
JPH0531776B2 JPH0531776B2 (ja) 1993-05-13

Family

ID=24325012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60027579A Granted JPS60221851A (ja) 1984-02-17 1985-02-16 メモリ・アクセス・コントローラを具えるデータ処理装置

Country Status (5)

Country Link
US (1) US4669043A (ja)
EP (1) EP0153779B1 (ja)
JP (1) JPS60221851A (ja)
CA (1) CA1232970A (ja)
DE (1) DE3587960T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282417A (ja) * 2001-03-30 2008-11-20 Mips Technologies Inc コンピュータメモリ保護方式の拡張機構

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8400186A (nl) * 1984-01-20 1985-08-16 Philips Nv Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem.
US5255369A (en) * 1984-03-10 1993-10-19 Encore Computer U.S., Inc. Multiprocessor system with reflective memory data transfer device
GB2156554B (en) * 1984-03-10 1987-07-29 Rediffusion Simulation Ltd Processing system with shared data
JPH0630075B2 (ja) * 1984-08-31 1994-04-20 株式会社日立製作所 キャッシュメモリを有するデータ処理装置
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4972338A (en) * 1985-06-13 1990-11-20 Intel Corporation Memory management for microprocessor system
US4868738A (en) * 1985-08-15 1989-09-19 Lanier Business Products, Inc. Operating system independent virtual memory computer system
US4797853A (en) * 1985-11-15 1989-01-10 Unisys Corporation Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
US4758982A (en) * 1986-01-08 1988-07-19 Advanced Micro Devices, Inc. Quasi content addressable memory
US4890223A (en) * 1986-01-15 1989-12-26 Motorola, Inc. Paged memory management unit which evaluates access permissions when creating translator
US4755936A (en) * 1986-01-29 1988-07-05 Digital Equipment Corporation Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
JPS62194563A (ja) * 1986-02-21 1987-08-27 Hitachi Ltd バツフア記憶装置
JPS62206658A (ja) * 1986-03-07 1987-09-11 Hitachi Ltd 記憶管理装置
US4821185A (en) * 1986-05-19 1989-04-11 American Telephone And Telegraph Company I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer
US4872111A (en) * 1986-08-27 1989-10-03 Amdahl Corporation Monolithic semi-custom IC having standard LSI sections and coupling gate array sections
JPS6376034A (ja) * 1986-09-19 1988-04-06 Hitachi Ltd 多重アドレス空間制御方式
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
US5045996A (en) * 1986-11-12 1991-09-03 Xerox Corporation Multiprocessor cache memory housekeeping
US5123101A (en) * 1986-11-12 1992-06-16 Xerox Corporation Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JPS63163648A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd メモリ管理装置
US4797806A (en) * 1987-02-19 1989-01-10 Gtx Corporation High speed serial pixel neighborhood processor and method
US4831581A (en) * 1987-02-24 1989-05-16 Digital Equipment Corporation Central processor unit for digital data processing system including cache management mechanism
US4891752A (en) * 1987-03-03 1990-01-02 Tandon Corporation Multimode expanded memory space addressing system using independently generated DMA channel selection and DMA page address signals
US4849875A (en) * 1987-03-03 1989-07-18 Tandon Corporation Computer address modification system with optional DMA paging
US5293597A (en) * 1987-03-09 1994-03-08 At&T Bell Laboratories Concurrent context memory management unit
US4827406A (en) * 1987-04-01 1989-05-02 International Business Machines Corporation Memory allocation for multiple processors
EP0288649B1 (en) * 1987-04-22 1992-10-21 International Business Machines Corporation Memory control subsystem
US5249276A (en) * 1987-06-22 1993-09-28 Hitachi, Ltd. Address translation apparatus having a memory access privilege check capability data which uses mask data to select bit positions of priviledge
US4926317A (en) * 1987-07-24 1990-05-15 Convex Computer Corporation Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
US4959777A (en) * 1987-07-27 1990-09-25 Motorola Computer X Write-shared cache circuit for multiprocessor system
KR960005392B1 (ko) * 1987-08-10 1996-04-24 탄돈 코포레이션 Dma 및 인터럽트로 사용하기 위해 어드레스 수정을 제공하는 컴퓨터 시스템
US5101339A (en) * 1987-08-10 1992-03-31 Tandon Corporation Computer address modification system using writable mapping and page stores
US4954983A (en) * 1987-10-13 1990-09-04 Tektronix, Inc. Data driver for multiple mode buffered processor-peripheral data transfer with selective return of data to processor
US5226147A (en) * 1987-11-06 1993-07-06 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device for simple cache system
EP0325421B1 (en) * 1988-01-20 1994-08-10 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in supporting multiprocessor operations
US5553262B1 (en) * 1988-01-21 1999-07-06 Mitsubishi Electric Corp Memory apparatus and method capable of setting attribute of information to be cached
US4912630A (en) * 1988-07-29 1990-03-27 Ncr Corporation Cache address comparator with sram having burst addressing control
US5142676A (en) * 1988-12-28 1992-08-25 Gte Laboratories Incorporated Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
JPH0680499B2 (ja) * 1989-01-13 1994-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムのキャッシュ制御システムおよび方法
US5287482A (en) * 1989-01-13 1994-02-15 International Business Machines Corporation Input/output cache
EP0377970B1 (en) * 1989-01-13 1995-08-16 International Business Machines Corporation I/O caching
US5161219A (en) * 1989-01-13 1992-11-03 International Business Machines Corporation Computer system with input/output cache
JP3155537B2 (ja) * 1989-01-23 2001-04-09 株式会社日立製作所 実記憶管理方法
US5210847A (en) * 1989-05-19 1993-05-11 Compaq Computer Corporation Noncacheable address random access memory
US5218677A (en) * 1989-05-30 1993-06-08 International Business Machines Corporation Computer system high speed link method and means
GB9008145D0 (en) * 1989-05-31 1990-06-06 Ibm Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
JPH0711793B2 (ja) * 1989-07-13 1995-02-08 株式会社東芝 マイクロプロセッサ
US5233702A (en) * 1989-08-07 1993-08-03 International Business Machines Corporation Cache miss facility with stored sequences for data fetching
JP2907451B2 (ja) * 1989-08-31 1999-06-21 キヤノン株式会社 ダイレクトメモリアクセス方法および装置
US5469556A (en) * 1989-12-12 1995-11-21 Harris Corporation Resource access security system for controlling access to resources of a data processing system
JP2826857B2 (ja) * 1989-12-13 1998-11-18 株式会社日立製作所 キャッシュ制御方法および制御装置
US5123094A (en) * 1990-01-26 1992-06-16 Apple Computer, Inc. Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers
US6507909B1 (en) 1990-02-13 2003-01-14 Compaq Information Technologies Group, L.P. Method for executing trusted-path commands
US5247648A (en) * 1990-04-12 1993-09-21 Sun Microsystems, Inc. Maintaining data coherency between a central cache, an I/O cache and a memory
CA2045789A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites Granularity hint for translation buffer in high performance processor
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
JPH04233642A (ja) * 1990-07-27 1992-08-21 Dell Usa Corp キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法
US5809309A (en) * 1990-09-28 1998-09-15 Texas Instruments Incorporated Processing devices with look-ahead instruction systems and methods
US5163143A (en) * 1990-11-03 1992-11-10 Compaq Computer Corporation Enhanced locked bus cycle control in a cache memory computer system
US5247642A (en) * 1990-12-05 1993-09-21 Ast Research, Inc. Apparatus for determining cacheability of a memory address to provide zero wait state operation in a computer system
GB2251102B (en) * 1990-12-21 1995-03-15 Sun Microsystems Inc Translation lookaside buffer
US5249283A (en) * 1990-12-24 1993-09-28 Ncr Corporation Cache coherency method and apparatus for a multiple path interconnection network
US5283882A (en) * 1991-02-22 1994-02-01 Unisys Corporation Data caching and address translation system with rapid turnover cycle
US5353429A (en) * 1991-03-18 1994-10-04 Apple Computer, Inc. Cache memory systems that accesses main memory without wait states during cache misses, using a state machine and address latch in the memory controller
JP2778291B2 (ja) * 1991-05-31 1998-07-23 日本電気株式会社 アドレス変換レジスタ制御方式
US5420993A (en) * 1991-06-13 1995-05-30 Unisys Corporation Extended address translation system for pointer updating in paged memory systems
US5659797A (en) * 1991-06-24 1997-08-19 U.S. Philips Corporation Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface
GB9118312D0 (en) * 1991-08-24 1991-10-09 Motorola Inc Real time cache implemented by dual purpose on-chip memory
US5895489A (en) * 1991-10-16 1999-04-20 Intel Corporation Memory management system including an inclusion bit for maintaining cache coherency
US5509131A (en) * 1991-10-22 1996-04-16 Unisys Corporation System for pointer updating across paged memory
US5627987A (en) * 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5875464A (en) * 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
US5359721A (en) * 1991-12-18 1994-10-25 Sun Microsystems, Inc. Non-supervisor mode cross address space dynamic linking
US5594927A (en) * 1992-01-09 1997-01-14 Digital Equipment Corporation Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits
US5617554A (en) * 1992-02-10 1997-04-01 Intel Corporation Physical address size selection and page size selection in an address translator
JP3219826B2 (ja) * 1992-02-21 2001-10-15 日本電気株式会社 情報処理装置
JPH07504527A (ja) * 1992-03-09 1995-05-18 オースペックス システムズ インコーポレイテッド 高性能の不揮発性ram保護式の書き込みキャッシュアクセラレータシステム
US5428759A (en) * 1992-03-30 1995-06-27 Unisys Corporation Associative memory system having segment and page descriptor content-addressable memories
US5809531A (en) * 1992-09-21 1998-09-15 Intel Corporation Computer system for executing programs using an internal cache without accessing external RAM
US5566324A (en) * 1992-12-24 1996-10-15 Ncr Corporation Computer apparatus including a main memory prefetch cache and method of operation thereof
CA2107056C (en) * 1993-01-08 1998-06-23 James Allan Kahle Method and system for increased system memory concurrency in a multiprocessor computer system
EP0795820B1 (en) * 1993-01-21 2000-03-01 Advanced Micro Devices Inc. Combined prefetch buffer and instructions cache memory system and method for providing instructions to a central processing unit utilizing said system.
US5452440A (en) * 1993-07-16 1995-09-19 Zitel Corporation Method and structure for evaluating and enhancing the performance of cache memory systems
JPH07168741A (ja) * 1993-12-15 1995-07-04 Toshiba Corp ウォッチドッグタイマ装置
US5550995A (en) * 1994-01-03 1996-08-27 Motorola, Inc. Memory cache with automatic alliased entry invalidation and method of operation
DE69429503T2 (de) * 1994-03-24 2002-05-16 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Übersetzungsmechanismus für Ein-/Ausgabeadressen
US5535352A (en) * 1994-03-24 1996-07-09 Hewlett-Packard Company Access hints for input/output address translation mechanisms
US5636359A (en) * 1994-06-20 1997-06-03 International Business Machines Corporation Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
US5960180A (en) * 1994-09-07 1999-09-28 Adaptec, Inc. Host adapter integrated circuit having autoaccess pause
US5961582A (en) * 1994-10-25 1999-10-05 Acorn Technologies, Inc. Distributed and portable execution environment
US5640526A (en) * 1994-12-21 1997-06-17 International Business Machines Corporation Superscaler instruction pipeline having boundary indentification logic for variable length instructions
US5682527A (en) * 1994-12-22 1997-10-28 Unisys Corporation Method and apparatus for block-level auditing and database recovery in a transaction processing system
EP0723230B1 (en) * 1995-01-23 2002-05-22 Compaq Computer Corporation A distributed data cache for cached multiprocessor system
US5752275A (en) * 1995-03-31 1998-05-12 Intel Corporation Translation look-aside buffer including a single page size translation unit
US5696932A (en) * 1995-05-16 1997-12-09 International Business Machines Corporation Method and system for estimating minumun requirements on a cache in a computer based storage system
US5680578A (en) * 1995-06-07 1997-10-21 Advanced Micro Devices, Inc. Microprocessor using an instruction field to specify expanded functionality and a computer system employing same
US5699543A (en) * 1995-09-29 1997-12-16 Intel Corporation Profile guided TLB and cache optimization
US6378023B1 (en) 1996-02-14 2002-04-23 Advanced Micro Devices, Inc. Interrupt descriptor cache for a microprocessor
US5926841A (en) * 1996-03-13 1999-07-20 Advanced Micro Devices, Inc. Segment descriptor cache for a processor
US5864876A (en) * 1997-01-06 1999-01-26 Creative Technology Ltd. DMA device with local page table
US5956754A (en) * 1997-03-03 1999-09-21 Data General Corporation Dynamic shared user-mode mapping of shared memory
US6189074B1 (en) 1997-03-19 2001-02-13 Advanced Micro Devices, Inc. Mechanism for storing system level attributes in a translation lookaside buffer
US6085296A (en) * 1997-11-12 2000-07-04 Digital Equipment Corporation Sharing memory pages and page tables among computer processes
US6804766B1 (en) 1997-11-12 2004-10-12 Hewlett-Packard Development Company, L.P. Method for managing pages of a designated memory object according to selected memory management policies
US6496916B1 (en) * 1998-04-17 2002-12-17 Agere Systems Inc. System for flexible memory paging in partitioning memory
DE19835609C2 (de) * 1998-08-06 2000-06-08 Siemens Ag Programmgesteuerte Einheit
US6446189B1 (en) 1999-06-01 2002-09-03 Advanced Micro Devices, Inc. Computer system including a novel address translation mechanism
US6510508B1 (en) 2000-06-15 2003-01-21 Advanced Micro Devices, Inc. Translation lookaside buffer flush filter
US6651132B1 (en) * 2000-07-17 2003-11-18 Microsoft Corporation System and method for emulating the operation of a translation look-aside buffer
US6665788B1 (en) 2001-07-13 2003-12-16 Advanced Micro Devices, Inc. Reducing latency for a relocation cache lookup and address mapping in a distributed memory system
DE10335643B4 (de) * 2003-08-04 2007-10-31 Infineon Technologies Ag Vorrichtung und Verfahren zum Steuern des Zugriffs von mehreren Datenverarbeitungseinrichtungen auf einen Speicher
DE102004045727B3 (de) * 2004-09-21 2006-04-13 Infineon Technologies Ag System umfassend einen Mikrocontroller bzw. Mikroprozessor und eine Schnittstellen-Einrichtung, sowie Verfahren zum Betreiben eines derartigen Systems
US20060117156A1 (en) * 2004-12-01 2006-06-01 Chai Jesse C Method and apparatus for dual protection of a protected memory block
US9710384B2 (en) * 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
US8972958B1 (en) 2012-10-23 2015-03-03 Convey Computer Multistage development workflow for generating a custom instruction set reconfigurable processor
US8041922B2 (en) * 2008-01-11 2011-10-18 International Business Machines Corporation Enhanced dynamic address translation with load real address function
US8041923B2 (en) * 2008-01-11 2011-10-18 International Business Machines Corporation Load page table entry address instruction execution based on an address translation format control field
US8103851B2 (en) * 2008-01-11 2012-01-24 International Business Machines Corporation Dynamic address translation with translation table entry format control for indentifying format of the translation table entry
US8019964B2 (en) * 2008-01-11 2011-09-13 International Buisness Machines Corporation Dynamic address translation with DAT protection
US8117417B2 (en) 2008-01-11 2012-02-14 International Business Machines Corporation Dynamic address translation with change record override
US8677098B2 (en) 2008-01-11 2014-03-18 International Business Machines Corporation Dynamic address translation with fetch protection
US8082405B2 (en) * 2008-01-11 2011-12-20 International Business Machines Corporation Dynamic address translation with fetch protection
US8037278B2 (en) * 2008-01-11 2011-10-11 International Business Machines Corporation Dynamic address translation with format control
US8095773B2 (en) 2008-02-26 2012-01-10 International Business Machines Corporation Dynamic address translation with translation exception qualifier
US8621154B1 (en) 2008-04-18 2013-12-31 Netapp, Inc. Flow based reply cache
US8161236B1 (en) 2008-04-23 2012-04-17 Netapp, Inc. Persistent reply cache integrated with file system
US8171227B1 (en) 2009-03-11 2012-05-01 Netapp, Inc. System and method for managing a flow based reply cache
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
JP6155723B2 (ja) * 2013-03-18 2017-07-05 富士通株式会社 レーダ装置及びプログラム
US10884945B2 (en) * 2015-06-30 2021-01-05 International Business Machines Corporation Memory state indicator check operations
US10635307B2 (en) 2015-06-30 2020-04-28 International Business Machines Corporation Memory state indicator
TW201933122A (zh) * 2018-01-19 2019-08-16 晨星半導體股份有限公司 記憶體控制裝置及記憶體控制方法
CN110134325A (zh) * 2018-02-09 2019-08-16 晨星半导体股份有限公司 存储器控制装置及存储器控制方法
US11947458B2 (en) * 2018-07-27 2024-04-02 Vmware, Inc. Using cache coherent FPGAS to track dirty cache lines
US11853231B2 (en) 2021-06-24 2023-12-26 Ati Technologies Ulc Transmission of address translation type packets

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5644178A (en) * 1979-09-17 1981-04-23 Hitachi Ltd Buffer memory control system
JPS5786180A (en) * 1980-11-17 1982-05-29 Hitachi Ltd Memory device having address converting mechanism
JPS5858666A (ja) * 1981-10-02 1983-04-07 Hitachi Ltd デ−タ処理装置
JPS5898893A (ja) * 1981-12-09 1983-06-11 Toshiba Corp 情報処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
US3848234A (en) * 1973-04-04 1974-11-12 Sperry Rand Corp Multi-processor system with multiple cache memories
US4300192A (en) * 1974-04-18 1981-11-10 Honeywell Information Systems Inc. Method and means for storing and accessing information in a shared access multiprogrammed data processing system
US4070706A (en) * 1976-09-20 1978-01-24 Sperry Rand Corporation Parallel requestor priority determination and requestor address matching in a cache memory system
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4410941A (en) * 1980-12-29 1983-10-18 Wang Laboratories, Inc. Computer having an indexed local ram to store previously translated virtual addresses
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5644178A (en) * 1979-09-17 1981-04-23 Hitachi Ltd Buffer memory control system
JPS5786180A (en) * 1980-11-17 1982-05-29 Hitachi Ltd Memory device having address converting mechanism
JPS5858666A (ja) * 1981-10-02 1983-04-07 Hitachi Ltd デ−タ処理装置
JPS5898893A (ja) * 1981-12-09 1983-06-11 Toshiba Corp 情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282417A (ja) * 2001-03-30 2008-11-20 Mips Technologies Inc コンピュータメモリ保護方式の拡張機構

Also Published As

Publication number Publication date
CA1232970A (en) 1988-02-16
US4669043A (en) 1987-05-26
EP0153779A3 (en) 1989-08-30
EP0153779A2 (en) 1985-09-04
DE3587960T2 (de) 1995-06-29
EP0153779B1 (en) 1994-12-14
JPH0531776B2 (ja) 1993-05-13
DE3587960D1 (de) 1995-01-26

Similar Documents

Publication Publication Date Title
JPS60221851A (ja) メモリ・アクセス・コントローラを具えるデータ処理装置
JP2833062B2 (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US4800489A (en) Paged memory management unit capable of selectively supporting multiple address spaces
US5075848A (en) Object lifetime control in an object-oriented memory protection mechanism
JP3493409B2 (ja) コンピユータ装置
US5123094A (en) Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers
US6003123A (en) Memory system with global address translation
US6430657B1 (en) Computer system that provides atomicity by using a tlb to indicate whether an exportable instruction should be executed using cache coherency or by exporting the exportable instruction, and emulates instructions specifying a bus lock
US5075845A (en) Type management and control in an object oriented memory protection mechanism
US5630097A (en) Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
US5418927A (en) I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines
EP1934753B1 (en) Tlb lock indicator
US9032145B2 (en) Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same
US4763250A (en) Paged memory management unit having variable number of translation table levels
EP1891533B1 (en) Translating loads for accelerating virtualized partition
EP1471421A1 (en) Speculative load instruction control
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
US20070130237A1 (en) Transient cache storage
JP2005509946A (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
US6763328B1 (en) Method and data processing system for emulating virtual memory utilizing threads
US5287482A (en) Input/output cache
US5293622A (en) Computer system with input/output cache
US6832295B1 (en) Methods and systems for extending an application's address space
US4766537A (en) Paged memory management unit having stack change control register

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees