JPH03211643A - 並行例外検査及び更新バイパスを有する変換索引バッファ - Google Patents
並行例外検査及び更新バイパスを有する変換索引バッファInfo
- Publication number
- JPH03211643A JPH03211643A JP2308457A JP30845790A JPH03211643A JP H03211643 A JPH03211643 A JP H03211643A JP 2308457 A JP2308457 A JP 2308457A JP 30845790 A JP30845790 A JP 30845790A JP H03211643 A JPH03211643 A JP H03211643A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- page
- entry
- access
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はメモリ管理ユニット(MMU)に関し、特にM
MUに内蔵される変換索引バッファ(TLB)に関する
。
MUに内蔵される変換索引バッファ(TLB)に関する
。
(従来の技術)
M M U +1コンビ二一タに、複数のタスク及び/
又は複数のユーザが同一メモリアレイを共有スる能力を
与える。TLBは主メモリの仮想アドレスを主メモリの
実アドレス(physical address)に変
換するため、並びに複数のユーザ及び/又は複数のタス
クが主メモリの同一の物理的な記憶位置(つまり、ペー
ジ)をアクセスしないことを確実にするために使用され
る。本発明は特に、TLBを構成する要素の構造配列及
び動作に向けられている。本発明の構造配列の1つの局
面は、複数のユーザ及び/又は複数のタスクが主メモリ
の同一ページをアクセスしないことを確実にし、且っT
LBからの実アドレスをアクセスする時間を最小限にす
ることである。
又は複数のユーザが同一メモリアレイを共有スる能力を
与える。TLBは主メモリの仮想アドレスを主メモリの
実アドレス(physical address)に変
換するため、並びに複数のユーザ及び/又は複数のタス
クが主メモリの同一の物理的な記憶位置(つまり、ペー
ジ)をアクセスしないことを確実にするために使用され
る。本発明は特に、TLBを構成する要素の構造配列及
び動作に向けられている。本発明の構造配列の1つの局
面は、複数のユーザ及び/又は複数のタスクが主メモリ
の同一ページをアクセスしないことを確実にし、且っT
LBからの実アドレスをアクセスする時間を最小限にす
ることである。
MMUはコンピュータシステムの中央処理装置から送ら
れた仮想アドレスを受は取り、システムの主メモリ中の
情報の位置付けのために、これらの仮想アドレスを実ア
ドレスに変換する。仮想アドレスを実アドレスに変換す
ることは、典型的にはマツピングと呼ばれる。MMUは
タスク及び/又はユーザ間の保護を提供して、タスク及
び/又はユーザが主メモリの各部分を互いに侵害しない
ことを確実にする。MMUはタスク/ユーザが適当なア
クセス権限を有する主メモリの領域のみをアクセスする
ことを確実にする。MMU中のTLBの機能は最新の仮
想アドレスの実アドレスへの変換(マツピング)を記憶
するためである。TLBは、時間を超過して使用される
仮想アドレスから実アドレスへの変換のキャッシュメモ
リであるので、しばしばアドレス変換キャッシュと呼ば
れ、複数のユーザ及び/又は複数のタスクが主メモリ中
の同一位置を使用しないことを確実にする。
れた仮想アドレスを受は取り、システムの主メモリ中の
情報の位置付けのために、これらの仮想アドレスを実ア
ドレスに変換する。仮想アドレスを実アドレスに変換す
ることは、典型的にはマツピングと呼ばれる。MMUは
タスク及び/又はユーザ間の保護を提供して、タスク及
び/又はユーザが主メモリの各部分を互いに侵害しない
ことを確実にする。MMUはタスク/ユーザが適当なア
クセス権限を有する主メモリの領域のみをアクセスする
ことを確実にする。MMU中のTLBの機能は最新の仮
想アドレスの実アドレスへの変換(マツピング)を記憶
するためである。TLBは、時間を超過して使用される
仮想アドレスから実アドレスへの変換のキャッシュメモ
リであるので、しばしばアドレス変換キャッシュと呼ば
れ、複数のユーザ及び/又は複数のタスクが主メモリ中
の同一位置を使用しないことを確実にする。
タスク及び/又はユーザが適当なアクセス特権(つまり
、権限)を持たない主メモリの領域をアクセスしようと
すると「例外」が発生する。典型的には例外検査論理が
TLBに組み込まれており、MMU中でマツピングされ
たメモリの各ページのアクセス特権を判断する。特権は
、主メモリ中の「ユーザ」スペース及び「スーパバイザ
」スペースの両方のための「読み出しJl 「書き込み
」および「実行」許可を包含する。定義によるユーザタ
スクは保全の目的でフンピユータ資源のすべてをアクセ
スできるわけではない。しかし、スーパバイザタスクは
フンピユータ資源の全てをアクセスすることができる。
、権限)を持たない主メモリの領域をアクセスしようと
すると「例外」が発生する。典型的には例外検査論理が
TLBに組み込まれており、MMU中でマツピングされ
たメモリの各ページのアクセス特権を判断する。特権は
、主メモリ中の「ユーザ」スペース及び「スーパバイザ
」スペースの両方のための「読み出しJl 「書き込み
」および「実行」許可を包含する。定義によるユーザタ
スクは保全の目的でフンピユータ資源のすべてをアクセ
スできるわけではない。しかし、スーパバイザタスクは
フンピユータ資源の全てをアクセスすることができる。
スーパバイザ状態は、そのような能力が要求されるタス
ク及び/またはユーザにのみ与えられる。
ク及び/またはユーザにのみ与えられる。
変換要求がTLBによって受は取られると、仮想アドレ
スから実アドレスへの変換がTLBに存在するかどうか
を判断することは十分ではない。
スから実アドレスへの変換がTLBに存在するかどうか
を判断することは十分ではない。
TLBはメモリの所望のページ(所望のページアドレス
に対応する)のためのアクセス特権が、所望するタスク
及び/又はユーザのアクセス特権に適合するかどうかも
判断しなくてはならない。アクセス特権が侵害される場
合には、「例外」処理が開始される。TLBは「例外」
フラグ(特権化又は保護化)を発生させて、例外が起こ
ったコンピュータの他の制御論理を変更する。
に対応する)のためのアクセス特権が、所望するタスク
及び/又はユーザのアクセス特権に適合するかどうかも
判断しなくてはならない。アクセス特権が侵害される場
合には、「例外」処理が開始される。TLBは「例外」
フラグ(特権化又は保護化)を発生させて、例外が起こ
ったコンピュータの他の制御論理を変更する。
所望の仮想アドレスから実アドレスへのマツピングがT
LBメモリ装置内にすでにあると仮定すると、従来のT
LBによる仮想アドレス変換はおよそ1クロツタサイク
ルを消費する(つまり、ロード命令がサイクルiに見ら
れる場合、実アドレスはサイクルf+1でコンビニータ
システムに利用可能である)。TLBの変換動作は、シ
ステムのクロックサイクル期間を短縮するシステムの能
力に基づいて、クリティカルバス又は制限要因である。
LBメモリ装置内にすでにあると仮定すると、従来のT
LBによる仮想アドレス変換はおよそ1クロツタサイク
ルを消費する(つまり、ロード命令がサイクルiに見ら
れる場合、実アドレスはサイクルf+1でコンビニータ
システムに利用可能である)。TLBの変換動作は、シ
ステムのクロックサイクル期間を短縮するシステムの能
力に基づいて、クリティカルバス又は制限要因である。
従って、TLBによって要求される変換時間が短縮され
得る場合、システムの各クロックサイクルの時間は短縮
されることができ、システム全体の性能も向上される。
得る場合、システムの各クロックサイクルの時間は短縮
されることができ、システム全体の性能も向上される。
(発明が解決しようとする課題)
第1図に示されるように、従来のTLBにおいて仮想ア
ドレスから実アドレスへのマツピングをアクセスするた
めの典型的なりロックサイクルは以下の4ステツプを必
要とする。(1)入力された仮想アドレスを内容参照可
能メモリ又は連想記憶装置(CAM)の各エントリと比
較するステップ、(2)ランダムアクセスメモリ(RA
M)の対応するページアドレスエントリを選択するステ
ップ、(3)RAMからの制御及びアクセス情報と共に
ページアドレスを読み出すステップ、並びに(4)ステ
ップ3の間に得られた情報を用いて現在の要求の例外又
は特権権限を判断するステップ。従来技術のTLBの構
造は(第2a図に示されるように)上記ステップの順番
に従ってTLBを処理する要求によって効率よく変換を
得るTLBの能力を抑制している。従来技術のTLBお
よびその動作に関するさらに詳しい論議は、本明細書の
詳細な説明の部分で開示される。
ドレスから実アドレスへのマツピングをアクセスするた
めの典型的なりロックサイクルは以下の4ステツプを必
要とする。(1)入力された仮想アドレスを内容参照可
能メモリ又は連想記憶装置(CAM)の各エントリと比
較するステップ、(2)ランダムアクセスメモリ(RA
M)の対応するページアドレスエントリを選択するステ
ップ、(3)RAMからの制御及びアクセス情報と共に
ページアドレスを読み出すステップ、並びに(4)ステ
ップ3の間に得られた情報を用いて現在の要求の例外又
は特権権限を判断するステップ。従来技術のTLBの構
造は(第2a図に示されるように)上記ステップの順番
に従ってTLBを処理する要求によって効率よく変換を
得るTLBの能力を抑制している。従来技術のTLBお
よびその動作に関するさらに詳しい論議は、本明細書の
詳細な説明の部分で開示される。
「ミス」が原因となってMMUが主メモリから所望の変
換情報を獲得する場合、従来技術のTLB構造による付
加的な制限が発生する。第5図では、従来のTLBを有
するMMUにおいてミスを含む状況に対する典型的なタ
イムチャートが示されている。RAM及びCAMへの新
しいエントリを獲得するために、置き換えアルゴリズム
が主メモリを通して「テーブルウオークJを行った後、
仮想アドレス及びページアドレスはCAM及びRAMに
それぞれ更新される。その後、1クロツクサイクル中に
TLBは再変換を行って、所望される当初の仮想アドレ
ス変換に対応する実アドレスを獲得する。従来のTLB
の構造は、TLBのメモリ(つまり、RAM及びCAM
)を更新し、その後所望の実アドレスを獲得するために
仮想アドレスを再変換することをTLBに要求する。ミ
スが起こる度に更新ステップ及び再変換ステップを行う
必要なく実アドレスが提供されることができれば、処理
の全クロックサイクルは短縮されることができる。
換情報を獲得する場合、従来技術のTLB構造による付
加的な制限が発生する。第5図では、従来のTLBを有
するMMUにおいてミスを含む状況に対する典型的なタ
イムチャートが示されている。RAM及びCAMへの新
しいエントリを獲得するために、置き換えアルゴリズム
が主メモリを通して「テーブルウオークJを行った後、
仮想アドレス及びページアドレスはCAM及びRAMに
それぞれ更新される。その後、1クロツクサイクル中に
TLBは再変換を行って、所望される当初の仮想アドレ
ス変換に対応する実アドレスを獲得する。従来のTLB
の構造は、TLBのメモリ(つまり、RAM及びCAM
)を更新し、その後所望の実アドレスを獲得するために
仮想アドレスを再変換することをTLBに要求する。ミ
スが起こる度に更新ステップ及び再変換ステップを行う
必要なく実アドレスが提供されることができれば、処理
の全クロックサイクルは短縮されることができる。
本発明は従来技術に関して上述された欠点を低減又は解
消する方法及び装置を提供しようとするものである。
消する方法及び装置を提供しようとするものである。
(課題を解決するための手段)
本発明の装置は、主メモリの仮想アドレスを実アドレス
に変換するための装置であって、該主メモリは複数のペ
ージを備え、該主メモリの該ページはそれぞれページア
ドレスに対応しており、本発明の装置は該変換の要求が
該ページアドレスに関連する該ページをアクセスするた
めに十分なアクセス特権を有しているかどうかを判断す
るための装置であって、複数の該仮想アドレスを記憶す
る内容参照可能メモリ手段であって、複数のエントリを
備え、該エントリのそれぞれは該仮想アドレスの1つを
含んでいる内容参照可能メモリ手段と、複数の該ページ
アドレスを記憶するランダムアクセスメモリ手段であっ
て、複数のエントリを備え、該ランダムアクセス手段の
エントリのそれぞれは該ページアドレスの1つ及びアク
セス特権情報を含んでおり、該アクセス特権情報は該ラ
ンダムアクセスメモリエントリに記憶された該ページア
ドレスを獲得するために要求されたアクセス特権のレベ
ルを示すものであり、該ランダムアクセスメモリの各エ
ントリは該内容参照可能メモリ手段のエントリに対応す
るランダムアクセスメモリ手段と、該内容参照可能メモ
リ手段の各エントリに関連して、及び該ランダムアクセ
スメモリ手段の該対応するエントリに関連して、該要求
されたアクセス特権が該ページアドレスに関連する該ペ
ージをアクセスするのに十分であるかどうかを判断する
ために、該主メモリの該ページの1つに対する該アクセ
ス特権を該要求アクセス特権と比較するための所定の論
理機能を実行する手段、並びに該ページアドレスと該仮
想アドレスとを組み合わせて該実アドレスを獲得する手
段、並びに該実アドレスを獲得する該手段と並行して、
該要求されたアクセス特権が該ページをアクセスするた
めに十分であるかどうかの該判断を得る手段と、を備え
ている。
に変換するための装置であって、該主メモリは複数のペ
ージを備え、該主メモリの該ページはそれぞれページア
ドレスに対応しており、本発明の装置は該変換の要求が
該ページアドレスに関連する該ページをアクセスするた
めに十分なアクセス特権を有しているかどうかを判断す
るための装置であって、複数の該仮想アドレスを記憶す
る内容参照可能メモリ手段であって、複数のエントリを
備え、該エントリのそれぞれは該仮想アドレスの1つを
含んでいる内容参照可能メモリ手段と、複数の該ページ
アドレスを記憶するランダムアクセスメモリ手段であっ
て、複数のエントリを備え、該ランダムアクセス手段の
エントリのそれぞれは該ページアドレスの1つ及びアク
セス特権情報を含んでおり、該アクセス特権情報は該ラ
ンダムアクセスメモリエントリに記憶された該ページア
ドレスを獲得するために要求されたアクセス特権のレベ
ルを示すものであり、該ランダムアクセスメモリの各エ
ントリは該内容参照可能メモリ手段のエントリに対応す
るランダムアクセスメモリ手段と、該内容参照可能メモ
リ手段の各エントリに関連して、及び該ランダムアクセ
スメモリ手段の該対応するエントリに関連して、該要求
されたアクセス特権が該ページアドレスに関連する該ペ
ージをアクセスするのに十分であるかどうかを判断する
ために、該主メモリの該ページの1つに対する該アクセ
ス特権を該要求アクセス特権と比較するための所定の論
理機能を実行する手段、並びに該ページアドレスと該仮
想アドレスとを組み合わせて該実アドレスを獲得する手
段、並びに該実アドレスを獲得する該手段と並行して、
該要求されたアクセス特権が該ページをアクセスするた
めに十分であるかどうかの該判断を得る手段と、を備え
ている。
本発明の方法は、主メモリの仮想アドレスを該主メモリ
の実アドレスに変換するための方法であって、該主メモ
リは複数のページを備え、該主メモリの該ページはそれ
ぞれページアドレスに対応し、仮想アドレスは内容参照
可能メモリに記憶され、該内容参照可能メモリは複数の
エントリを備え、該エントリのそれぞれは該仮想アドレ
スの1つを包含し、該ページアドレスはランダムアクセ
スメモリに記憶され、該ランダムアクセスメモリは複数
のエントリを備え、該ランダムアクセスメモリの各エン
トリは該ページアドレスの1つ及び該ページアドレスに
関連するアクセス特権情報を含み、該アクセス特権情報
は該ランダムアクセスメモリエントリに記憶された該ペ
ージアドレスをアクセスすることを要求されたアクセス
特権のレベルヲ示すためであり、該ランダムアクセスメ
モリの各エントリは該内容参照可能メモリのエントリに
対応し、該内容参照可能メモリの各エントリ及び該ラン
ダムアクセスメモリの該対応する各エントリに関連して
、該要求が該ランダムアクセスメモリの該対応するペー
ジアドレスに関連する該主メモリの該ページをアクセス
するために十分であるかどうかを判断するために該主メ
モリの該ページの1つに対するアクセス特権を要求アク
セス特権と比較する手段を備え、適合があるならば、該
仮想アドレスと該内容参照可能メモリのどのエントリと
が適合しているかを決定するために、変換されるべき該
仮想アドレスと該内容参照可能メモリの内容を比較する
ステップと、該内容参照可能メモリの内容と該仮想アド
レスとを比較する該ステップと並行して、該ランダムア
クセスメモリの各エントリに関連するアクセス特権情報
を、あるならば、獲得するステップであって、要求され
たアクセス特権がページアドレスに関連するページをア
クセスするのに十分であるかどうかを判断するために該
エントリのそれぞれに対するアクセス特権を要求アクセ
ス特権と比較するステップを包含するステップと、該内
容参照可能メモリの該適合したエントリに関連してラン
ダムアクセスメモリエントリを選択するステップと、該
ランダムアクセスメモリエントリを選択する該ステップ
と並行して、該内容参照可能メモリ及び該ランダムアク
セスメモリの該適合するエントリに関連した該所定の論
理機能を実行する該手段を選択するステップと、該ペー
ジアドレスを該仮想アドレスと組み合わせて該実アドレ
スを獲得するステップと、該組み合わせるステップと並
行して、該要求されたアクセス特権が該ページをアクセ
スするために十分であるかどうかの該判断を該所定の論
理機能から獲得するステップと、を包含する〇本発明の
方法は、主メモリの仮想アドレスから実アドレスへの変
換を効率よく提供するための方法であって、該変換は変
換索引バッファによって行われ、該変換索引バッファは
複数の該仮想アドレスを記憶するための内容参照可能メ
モリ、複数のページアドレスを記憶するためのランダム
アクセスメモリ、該仮想アドレスを用いて該内容参照可
能メモリを更新するための仮想アドレスバス及び該ペー
ジアドレスを用いてランダムアクセスメモリを更新する
ための更新データバスを備え、該仮想アドレスバスと該
更新バスは出力マルチプレクサによって結合されており
、該方法は該変換が該実アドレスを生じない場合に動作
する、変換されるべき該仮想アドレスを用いて内容参照
可能メモリを更新するステップ及び該仮想アドレスに対
応する該ページアドレスを用いてランダムアクセスメモ
リを更新するステップを包含し、該内容参照可能メモリ
及び該ランダムアクセスメモリを更新する該ステップは
、該仮想アドレスを該仮想アドレスバス上、及び該ペー
ジアドレスを該更新デー9バス上で該出力マルチプレク
サへ送り、該仮想アドレスと該ページアドレスを組み合
わせて該実アドレスを生じるステップを包含する。
の実アドレスに変換するための方法であって、該主メモ
リは複数のページを備え、該主メモリの該ページはそれ
ぞれページアドレスに対応し、仮想アドレスは内容参照
可能メモリに記憶され、該内容参照可能メモリは複数の
エントリを備え、該エントリのそれぞれは該仮想アドレ
スの1つを包含し、該ページアドレスはランダムアクセ
スメモリに記憶され、該ランダムアクセスメモリは複数
のエントリを備え、該ランダムアクセスメモリの各エン
トリは該ページアドレスの1つ及び該ページアドレスに
関連するアクセス特権情報を含み、該アクセス特権情報
は該ランダムアクセスメモリエントリに記憶された該ペ
ージアドレスをアクセスすることを要求されたアクセス
特権のレベルヲ示すためであり、該ランダムアクセスメ
モリの各エントリは該内容参照可能メモリのエントリに
対応し、該内容参照可能メモリの各エントリ及び該ラン
ダムアクセスメモリの該対応する各エントリに関連して
、該要求が該ランダムアクセスメモリの該対応するペー
ジアドレスに関連する該主メモリの該ページをアクセス
するために十分であるかどうかを判断するために該主メ
モリの該ページの1つに対するアクセス特権を要求アク
セス特権と比較する手段を備え、適合があるならば、該
仮想アドレスと該内容参照可能メモリのどのエントリと
が適合しているかを決定するために、変換されるべき該
仮想アドレスと該内容参照可能メモリの内容を比較する
ステップと、該内容参照可能メモリの内容と該仮想アド
レスとを比較する該ステップと並行して、該ランダムア
クセスメモリの各エントリに関連するアクセス特権情報
を、あるならば、獲得するステップであって、要求され
たアクセス特権がページアドレスに関連するページをア
クセスするのに十分であるかどうかを判断するために該
エントリのそれぞれに対するアクセス特権を要求アクセ
ス特権と比較するステップを包含するステップと、該内
容参照可能メモリの該適合したエントリに関連してラン
ダムアクセスメモリエントリを選択するステップと、該
ランダムアクセスメモリエントリを選択する該ステップ
と並行して、該内容参照可能メモリ及び該ランダムアク
セスメモリの該適合するエントリに関連した該所定の論
理機能を実行する該手段を選択するステップと、該ペー
ジアドレスを該仮想アドレスと組み合わせて該実アドレ
スを獲得するステップと、該組み合わせるステップと並
行して、該要求されたアクセス特権が該ページをアクセ
スするために十分であるかどうかの該判断を該所定の論
理機能から獲得するステップと、を包含する〇本発明の
方法は、主メモリの仮想アドレスから実アドレスへの変
換を効率よく提供するための方法であって、該変換は変
換索引バッファによって行われ、該変換索引バッファは
複数の該仮想アドレスを記憶するための内容参照可能メ
モリ、複数のページアドレスを記憶するためのランダム
アクセスメモリ、該仮想アドレスを用いて該内容参照可
能メモリを更新するための仮想アドレスバス及び該ペー
ジアドレスを用いてランダムアクセスメモリを更新する
ための更新データバスを備え、該仮想アドレスバスと該
更新バスは出力マルチプレクサによって結合されており
、該方法は該変換が該実アドレスを生じない場合に動作
する、変換されるべき該仮想アドレスを用いて内容参照
可能メモリを更新するステップ及び該仮想アドレスに対
応する該ページアドレスを用いてランダムアクセスメモ
リを更新するステップを包含し、該内容参照可能メモリ
及び該ランダムアクセスメモリを更新する該ステップは
、該仮想アドレスを該仮想アドレスバス上、及び該ペー
ジアドレスを該更新デー9バス上で該出力マルチプレク
サへ送り、該仮想アドレスと該ページアドレスを組み合
わせて該実アドレスを生じるステップを包含する。
本発明の装置は、主メモリの仮想アドレスから実アドレ
スへの変換を効率よく提供するための変換索引バッファ
であって、複数の該仮想アドレスを記憶するための内容
参照可能メモリと、複数のページアドレスを記憶するた
めのランダムアクセスメモリと、該仮想アドレスを用い
て該内容参照可能メモリを更新するための仮想アドレス
バスと、該ページアドレスを用いてランダムアクセスメ
モリを更新するための更新データバスとを備えており、
該仮想アドレスバスと該更新データバスは出力マルチプ
レクサによって結合され、該マルチプレクサは該ページ
アドレスを該仮想アドレスと組み合わせて該実アドレス
を生じる。
スへの変換を効率よく提供するための変換索引バッファ
であって、複数の該仮想アドレスを記憶するための内容
参照可能メモリと、複数のページアドレスを記憶するた
めのランダムアクセスメモリと、該仮想アドレスを用い
て該内容参照可能メモリを更新するための仮想アドレス
バスと、該ページアドレスを用いてランダムアクセスメ
モリを更新するための更新データバスとを備えており、
該仮想アドレスバスと該更新データバスは出力マルチプ
レクサによって結合され、該マルチプレクサは該ページ
アドレスを該仮想アドレスと組み合わせて該実アドレス
を生じる。
簡単にいうと、本発明の好ましい実施態様は主メモリの
仮想アドレスを実アドレスに変換する装置を包含する。
仮想アドレスを実アドレスに変換する装置を包含する。
主メモリは複数のページを備えており、主メモリの各ペ
ージはページアドレスに対応する。装置はまた、変換要
求が前記ページアドレスに関連するページをアクセスす
るために十分なアクセス特権を有するかどうかを判断す
る。本発明の好ましい実施態様は以下の要素を包含する
。
ージはページアドレスに対応する。装置はまた、変換要
求が前記ページアドレスに関連するページをアクセスす
るために十分なアクセス特権を有するかどうかを判断す
る。本発明の好ましい実施態様は以下の要素を包含する
。
装置によって現在アクセスされている複数の仮想アドレ
スを記憶するための内容参照可能メモリ。
スを記憶するための内容参照可能メモリ。
内容参照可能メモリは複数のエントリを備えており、各
エントリは仮想アドレスの1つを含んでいる。
エントリは仮想アドレスの1つを含んでいる。
複数のページアドレスを記憶するためのランダムアクセ
スメモリ。ランダムアクセスメモリは複数のエントリを
備えており、ランダムアクセスメモリの各エントリはア
ドレスの1つ及びページアドレスに関連するアクセス特
権情報を含んでいる。
スメモリ。ランダムアクセスメモリは複数のエントリを
備えており、ランダムアクセスメモリの各エントリはア
ドレスの1つ及びページアドレスに関連するアクセス特
権情報を含んでいる。
アクセス特権情報は、主メモリから対応するページを獲
得するために必要とされるアクセス特権のレヘルヲ示ス
。ランダムアクセスメモリの各エントリは内容参照可能
メモリのエントリに対応する。
得するために必要とされるアクセス特権のレヘルヲ示ス
。ランダムアクセスメモリの各エントリは内容参照可能
メモリのエントリに対応する。
特定の所定の論理機能を行う手段は、内容参照可能メモ
リの各エントリ及びランダムアクセスメモリの対応する
各エントリに関連している。所定の論理機能は、所望の
アクセス特権がページアドレスに関連するページをアク
セスするために十分であるかどうかを判断するために、
主メモリの前記ページの1つに対するアクセス特権を要
求アクセス特権と比較する。
リの各エントリ及びランダムアクセスメモリの対応する
各エントリに関連している。所定の論理機能は、所望の
アクセス特権がページアドレスに関連するページをアク
セスするために十分であるかどうかを判断するために、
主メモリの前記ページの1つに対するアクセス特権を要
求アクセス特権と比較する。
本発明の好ましい実施態様は、ページアドレスを仮想ア
ドレスと組み合わせて実アドレスを獲得する手段、及び
前記実アドレスを獲得する手段に並行して、所望のアク
セス特権がページをアクセスするために十分であるかど
うかの判断を得る手段も包含する。
ドレスと組み合わせて実アドレスを獲得する手段、及び
前記実アドレスを獲得する手段に並行して、所望のアク
セス特権がページをアクセスするために十分であるかど
うかの判断を得る手段も包含する。
本発明の好ましい実施態様は、主メモリの仮想アドレス
を実アドレスに変換する方法も包含する。
を実アドレスに変換する方法も包含する。
この方法は以下のステップを包含する。
内容参照可能メモリの内容は仮想アドレスと比較されて
、適合があるならば、内容参照可能メモリのどのエント
リが仮想アドレスに適合するかを判断するために、内容
参照可能メモリの内容は変換されるべき仮想アドレスと
比較される。
、適合があるならば、内容参照可能メモリのどのエント
リが仮想アドレスに適合するかを判断するために、内容
参照可能メモリの内容は変換されるべき仮想アドレスと
比較される。
ランダムアクセスメモリの各エントリに関連するアクセ
ス特権情報を獲得するステップは、内容参照可能メモリ
の内容を仮想アドレスと比較するステップに並行する。
ス特権情報を獲得するステップは、内容参照可能メモリ
の内容を仮想アドレスと比較するステップに並行する。
アクセス特権情報を獲得するステップは、所望のアクセ
ス特権がページアドレスに関連するページをアクセスす
るのに十分であるかどうかを判断するために、各エント
リのアクセス特権を所望のアクセス特権と比較するステ
ップを包含する。
ス特権がページアドレスに関連するページをアクセスす
るのに十分であるかどうかを判断するために、各エント
リのアクセス特権を所望のアクセス特権と比較するステ
ップを包含する。
次のステップは、内容参照可能メモリの適合したエント
リに関連したランダムアクセスメモリエントリを選択す
ることを包含する。内容参照可能メモリの適合したエン
トリ及びランダムアクセスメモリの対応するページに関
連する所定の論理機能を行う手段を選択するステップは
、ランダムアクセスメモリを選択するステップに並行す
る。
リに関連したランダムアクセスメモリエントリを選択す
ることを包含する。内容参照可能メモリの適合したエン
トリ及びランダムアクセスメモリの対応するページに関
連する所定の論理機能を行う手段を選択するステップは
、ランダムアクセスメモリを選択するステップに並行す
る。
最後のステップは、ページアドレスを仮想アドレスと組
み合わせて実アドレスを獲得すること、組み合わせるス
テップと並行して、所望のアクセス特権がページをアク
セスするために十分であるかどうかの判断を選択された
所定の論理機能から獲得することを要求する。
み合わせて実アドレスを獲得すること、組み合わせるス
テップと並行して、所望のアクセス特権がページをアク
セスするために十分であるかどうかの判断を選択された
所定の論理機能から獲得することを要求する。
本発明の好ましい実施態様は、主メモリの仮想アドレス
から実アドレスへの変換を効率よく提供するための変換
索引バッファも備えている。変換索引バッファは、複数
の仮想アドレスを記憶するための内容参照可能メモリと
、複数のページアドレスを記憶するためのランダムアク
セスメモリと、仮想アドレスを用いて内容参照可能メモ
リを更新するための仮想アドレスバス及びページアドレ
スを用いてランダムアクセスメモリを更新するための更
新データバスとを備えている。
から実アドレスへの変換を効率よく提供するための変換
索引バッファも備えている。変換索引バッファは、複数
の仮想アドレスを記憶するための内容参照可能メモリと
、複数のページアドレスを記憶するためのランダムアク
セスメモリと、仮想アドレスを用いて内容参照可能メモ
リを更新するための仮想アドレスバス及びページアドレ
スを用いてランダムアクセスメモリを更新するための更
新データバスとを備えている。
仮想アドレスバス及び更新データバスは出力マルチプレ
クサによって結合されている。出力マルチプレクサは、
ページアドレスを仮想アドレスと組み合わせて、前記実
アドレスを作る。
クサによって結合されている。出力マルチプレクサは、
ページアドレスを仮想アドレスと組み合わせて、前記実
アドレスを作る。
(実施例)
■、従来のTLB
第1図、第2a図、第2b図および第2C図を参照して
、従来技術のTLBに関してさらに詳細に説明する。第
1図は、少なくとも1クロツクサイクルを必要とする従
来のTLBによって行われ、実アドレス及び所望の実ア
ドレスに関連する例外情報を獲得する典型的な変換を表
している。従来技術のTLBによって行われるステップ
は第1図に示されるように順次的に起きる。第2a図は
従来技術のTLBの詳細な構造の概略図である。
、従来技術のTLBに関してさらに詳細に説明する。第
1図は、少なくとも1クロツクサイクルを必要とする従
来のTLBによって行われ、実アドレス及び所望の実ア
ドレスに関連する例外情報を獲得する典型的な変換を表
している。従来技術のTLBによって行われるステップ
は第1図に示されるように順次的に起きる。第2a図は
従来技術のTLBの詳細な構造の概略図である。
第2a図に示されるTLBは仮想アドレスバス4、更新
データバス6、内部バス7及び実アドレスバス48を含
む4つの重要なバスを備えている。
データバス6、内部バス7及び実アドレスバス48を含
む4つの重要なバスを備えている。
TLBはCAMI 2、デコード/ヒツト制御ブロック
18、RAM22、出力MUX38、及び主制御/例外
ブロック28も備えている。
18、RAM22、出力MUX38、及び主制御/例外
ブロック28も備えている。
メモリ変換が要求されると、仮想アドレスはバス4およ
びバス8を通して伝達され、CAMI2を駆動する。仮
想アドレスは32ビツト幅であり、CAMI2の64エ
ントリはそれぞれ32ビツト幅である。仮想アドレスが
CAMI2のビットラインを駆動すると、CAMI2の
各エントリは入力された仮想アドレスと比較される。T
LBにおいて適合が見つけられると、64ビットCAM
において対応するビット「ヒツトワード」が設定され、
バス16を通してデコード/ヒツトIJIIIブロック
18へ伝達される。デコード/ヒツト制御ブロック18
に関するさらに詳細な説明は第2b図を参照して後述さ
れる。
びバス8を通して伝達され、CAMI2を駆動する。仮
想アドレスは32ビツト幅であり、CAMI2の64エ
ントリはそれぞれ32ビツト幅である。仮想アドレスが
CAMI2のビットラインを駆動すると、CAMI2の
各エントリは入力された仮想アドレスと比較される。T
LBにおいて適合が見つけられると、64ビットCAM
において対応するビット「ヒツトワード」が設定され、
バス16を通してデコード/ヒツトIJIIIブロック
18へ伝達される。デコード/ヒツト制御ブロック18
に関するさらに詳細な説明は第2b図を参照して後述さ
れる。
ブロック18のヒツト制御論理は64ビツトワードを評
価してヒツトが起こったかどうかを判断する。あるなら
ば、CAMI2に1つだけ適合が起こることができる。
価してヒツトが起こったかどうかを判断する。あるなら
ば、CAMI2に1つだけ適合が起こることができる。
「ヒツト」が起こらなければ(つまり、適合がなければ
)、ワード中のビットは設定されない。「ミス」が起こ
ったからである(n (c) 17”照)。ヒツトが起
こったと仮定すると、ヒツトワードの設定ビットに対応
するRAM22中のエントリが選択される。デコード信
号20がブロック18のデコード信号からRAM22へ
送られる。ヒツトワードにおいて設定されたビットに対
応するRAMエントリはRAM22から読み出される。
)、ワード中のビットは設定されない。「ミス」が起こ
ったからである(n (c) 17”照)。ヒツトが起
こったと仮定すると、ヒツトワードの設定ビットに対応
するRAM22中のエントリが選択される。デコード信
号20がブロック18のデコード信号からRAM22へ
送られる。ヒツトワードにおいて設定されたビットに対
応するRAMエントリはRAM22から読み出される。
RAM22は64エントリを含んでおり、各エントリは
CAMI2のエントリに対応している。RAM22の各
エントリは32ビツトワードを含んでいる。例えば、ワ
ードの24ビツトはページアドレスを含み、残りの8ビ
ツトは主制御ユニット28で例外論理機能を行うための
他の雑多な情報(制御及びアクセス特権情報を含む)を
含んでいる。第2C図では、典型的なRAMエントリが
示されている。ワード内のビットの指定は以下の表1を
参照してさらに説明される。
CAMI2のエントリに対応している。RAM22の各
エントリは32ビツトワードを含んでいる。例えば、ワ
ードの24ビツトはページアドレスを含み、残りの8ビ
ツトは主制御ユニット28で例外論理機能を行うための
他の雑多な情報(制御及びアクセス特権情報を含む)を
含んでいる。第2C図では、典型的なRAMエントリが
示されている。ワード内のビットの指定は以下の表1を
参照してさらに説明される。
RAM22の特定のエントリが選択された後、エントリ
の24ビツトはRAM22からバス24を通して伝達さ
れて、内部バス7を駆動する。第2図に示される残りの
8ビツトはバス26を通して主制御ブロック28に含ま
れる例外論理に送られる。
の24ビツトはRAM22からバス24を通して伝達さ
れて、内部バス7を駆動する。第2図に示される残りの
8ビツトはバス26を通して主制御ブロック28に含ま
れる例外論理に送られる。
以下の表1は雑多な8ビツトの目的を説明し、例外論理
28によって評価されたアクセス特権を表す。
28によって評価されたアクセス特権を表す。
(以下余白)
表1
C−キャッシャ可能なビット
エントリがキャッシュRAMを使用するかどうかを示す
、 M−修正されたビット エントリが修正されたかどうかを示す、ACC[2:
0]−ページアクセスレベル保護[2:Ol ユーザ
スーパバイザ0 読出し専用 読
出し専用 1 読出し/書込み 読出し/書込み2 読出し
/実行 読出し/実行3 読出し/書込み/実行読
出し/書込み/実行4 実行専用 実行専
用 5 読出し専用 読出し/書込み6 アクセ
スなし 読出し/実行7 アクセスなし 読
出し/書込み/実行ST [1: Ol−マツピングサ
イズを制御する、V−有効ビット RAMワードが有効がどうかを示す。
、 M−修正されたビット エントリが修正されたかどうかを示す、ACC[2:
0]−ページアクセスレベル保護[2:Ol ユーザ
スーパバイザ0 読出し専用 読
出し専用 1 読出し/書込み 読出し/書込み2 読出し
/実行 読出し/実行3 読出し/書込み/実行読
出し/書込み/実行4 実行専用 実行専
用 5 読出し専用 読出し/書込み6 アクセ
スなし 読出し/実行7 アクセスなし 読
出し/書込み/実行ST [1: Ol−マツピングサ
イズを制御する、V−有効ビット RAMワードが有効がどうかを示す。
「C」キャッシュ可能なビットはページ上の情報がキャ
ッシュ可能かどうかを示す制御ビットである。rMJ修
正されたビットもページが修正されたかどうかを示す制
御ビットである。このビットによって動作システムはペ
ージが修正されていなければそれを放棄することができ
る。エントリはキャッシュ可能なビット及び修正された
ビットを含み、主制御装置28がメモリからどのページ
がスワップされるべきかを決定することを可能にする。
ッシュ可能かどうかを示す制御ビットである。rMJ修
正されたビットもページが修正されたかどうかを示す制
御ビットである。このビットによって動作システムはペ
ージが修正されていなければそれを放棄することができ
る。エントリはキャッシュ可能なビット及び修正された
ビットを含み、主制御装置28がメモリからどのページ
がスワップされるべきかを決定することを可能にする。
例えば、修正されたフラグはそのページが実際に全部コ
ピーされる必要があるかどうか、又はオーバーライドさ
れてもよいかを判断するために使用される。(rACC
[2: Ol Jの)ビットは、メモリのこのセグメン
トがユーザ又はスーパバイザのために持っているアクセ
ス特権のタイプを示す8つの2進アクセス特権指定(r
ACC[2:OlJ)を表すための3つのアクセス特権
ビットである。3つのビットは8つの2進数の1つであ
り、各2進数はユーザ又はスーパバイザのいずれかに対
する異なる状態を表している。アクセス表における情報
は、複数ビット制御ワードの形態で主制御ユニット28
へ制御ライン入力30を通して来る要求アクセス特権情
報と比較される。
ピーされる必要があるかどうか、又はオーバーライドさ
れてもよいかを判断するために使用される。(rACC
[2: Ol Jの)ビットは、メモリのこのセグメン
トがユーザ又はスーパバイザのために持っているアクセ
ス特権のタイプを示す8つの2進アクセス特権指定(r
ACC[2:OlJ)を表すための3つのアクセス特権
ビットである。3つのビットは8つの2進数の1つであ
り、各2進数はユーザ又はスーパバイザのいずれかに対
する異なる状態を表している。アクセス表における情報
は、複数ビット制御ワードの形態で主制御ユニット28
へ制御ライン入力30を通して来る要求アクセス特権情
報と比較される。
入力された制御ワードは所望の動作のアクセス特権タイ
プを示すための少なくとも4つのビットを備えている。
プを示すための少なくとも4つのビットを備えている。
1つのビットは書込み要求を表し、第2のビットは読出
し要求を示し、第3のビットは実行命令を示し、第4の
ビットはスーパバイザ又はユーザの制御を示している。
し要求を示し、第3のビットは実行命令を示し、第4の
ビットはスーパバイザ又はユーザの制御を示している。
スーパバイザ/ユーザビットが設定される場合、第1、
第2及び第3のビットはスーパバイザ要求に関連する。
第2及び第3のビットはスーパバイザ要求に関連する。
逆に、スーパバイザ/ユーザピットが設定されない場合
は、第1、第2及び第3のビットはユーザ要求に関連す
る。
は、第1、第2及び第3のビットはユーザ要求に関連す
る。
アクセス特権表(rACC[2: o]J)は主制御装
置28の例外論理によって評価された論理を指示してい
る。例えば、ユーザが書込み動作を要求していることを
制御入力が示し、アクセスACC[2:Ol ビットが
2進数O(つまり、「000」)に設定される場合、読
出し専用と認められ、保護侵害が起こる。主ユニット2
8の例外制御論理から出力されるライン34はハイに設
定される。
置28の例外論理によって評価された論理を指示してい
る。例えば、ユーザが書込み動作を要求していることを
制御入力が示し、アクセスACC[2:Ol ビットが
2進数O(つまり、「000」)に設定される場合、読
出し専用と認められ、保護侵害が起こる。主ユニット2
8の例外制御論理から出力されるライン34はハイに設
定される。
スーパバイザによって現在制御されるメモリのページを
ユーザが要求する場合、ライン32上に特権侵害が起こ
る。例えば、ユーザが書込み動作を行うことを制御入力
が指示し、アクセスACC[2:Ol ビットが2進数
6又は7(つまり、「110」、rlllJ)に設定さ
れている場合、「アクセスなし」と認められ、特権侵害
が起こる。
ユーザが要求する場合、ライン32上に特権侵害が起こ
る。例えば、ユーザが書込み動作を行うことを制御入力
が指示し、アクセスACC[2:Ol ビットが2進数
6又は7(つまり、「110」、rlllJ)に設定さ
れている場合、「アクセスなし」と認められ、特権侵害
が起こる。
主制御装置28の例外論理から出力されるライン32は
ハイに設定される。
ハイに設定される。
「V] (有効)フラグは、設定されていれば、エント
リが有効であることを示し、消去されていれば、エント
リが無効でありTLBミスが起こっていることを示す制
御ビットである(従って、動作システムはこのビットを
用いて特定ページの変換がもはや有効でないことを示す
ことができる)。
リが有効であることを示し、消去されていれば、エント
リが無効でありTLBミスが起こっていることを示す制
御ビットである(従って、動作システムはこのビットを
用いて特定ページの変換がもはや有効でないことを示す
ことができる)。
コンピュータシステムが起動されると、各エントリに対
する有効ビットを消去することによってTLBのエント
リのすべてを「フラッシュする」。
する有効ビットを消去することによってTLBのエント
リのすべてを「フラッシュする」。
このように、最初のフラッシュされた状態を示すために
RAMのエントリのすべてがゼロに設定される必要はな
い。
RAMのエントリのすべてがゼロに設定される必要はな
い。
ST [1: O] ビットもまた、ページのサイズ、
4にバイト、256にバイト、16Mバイト及び4Gバ
イトを表す制御ビットである。VAX構造のページサイ
ズ(512バイト)に比べて4にバイトは非常に大きい
。大きいページサイズを有するための主な理由は、メモ
リ及びI10技術における最近の傾向のためである。シ
ステムが「ベージング」 (必要に応じて主メモリとI
10装置との間のページをスワップすること)を用いる
ので、実際のページサイズは、メモリサイズ、スワップ
アウトされたページを保持するために使用された装置(
例えばディスク)のアクセス時間、及び装置とメモリと
の間の伝達の帯域幅(データ速度)に依存する。より大
きいメモリサイズ、より長いアクセス時間又はシーク時
間(メモリアクセス時間に比べて)、及びより高いI1
0帯域幅を有する傾向のために、より大きいページサイ
ズを有スる必要性が生じてきた。
4にバイト、256にバイト、16Mバイト及び4Gバ
イトを表す制御ビットである。VAX構造のページサイ
ズ(512バイト)に比べて4にバイトは非常に大きい
。大きいページサイズを有するための主な理由は、メモ
リ及びI10技術における最近の傾向のためである。シ
ステムが「ベージング」 (必要に応じて主メモリとI
10装置との間のページをスワップすること)を用いる
ので、実際のページサイズは、メモリサイズ、スワップ
アウトされたページを保持するために使用された装置(
例えばディスク)のアクセス時間、及び装置とメモリと
の間の伝達の帯域幅(データ速度)に依存する。より大
きいメモリサイズ、より長いアクセス時間又はシーク時
間(メモリアクセス時間に比べて)、及びより高いI1
0帯域幅を有する傾向のために、より大きいページサイ
ズを有スる必要性が生じてきた。
さらに重要なことは、TLBの所定のサイズに対して、
ページサイズが大きくなればなるほどより大きいアドレ
ススペースがTLBによって対象とされることができる
。例えば、ページサイズが512バイトの場合、64エ
ントリTLBはアドレススペースの32にバイトしかマ
ツプしない。
ページサイズが大きくなればなるほどより大きいアドレ
ススペースがTLBによって対象とされることができる
。例えば、ページサイズが512バイトの場合、64エ
ントリTLBはアドレススペースの32にバイトしかマ
ツプしない。
ページサイズが4,096バイトの場合は、TLBはア
ドレススペースの256にバイトをマツプする。
ドレススペースの256にバイトをマツプする。
ページアドレスがRAM22から読出され、内部バス7
を駆動した後、バス40を通して出力MUX38へ伝達
される。当初の入力仮想アドレスはバス4を通してバス
42を介して出力MUX38へ伝達される。主制御装置
28はライン44を介して出力MUX38を制御し、ペ
ージアドレスの上位24ビツトを仮想アドレスの下位1
2ピツトに[多重化(mux) J シて、実アドレス
(36ビツト長)を形成する。(ページアドレスのこの
特定の構成は4にバイトページに対するものである。
を駆動した後、バス40を通して出力MUX38へ伝達
される。当初の入力仮想アドレスはバス4を通してバス
42を介して出力MUX38へ伝達される。主制御装置
28はライン44を介して出力MUX38を制御し、ペ
ージアドレスの上位24ビツトを仮想アドレスの下位1
2ピツトに[多重化(mux) J シて、実アドレス
(36ビツト長)を形成する。(ページアドレスのこの
特定の構成は4にバイトページに対するものである。
本明細書では、ページアドレスの全てのf及は4にバイ
トを有するページに対するものである。)実アドレスが
構成された後、出力MUX38は得られた実アドレスを
バス46を通して伝達し、実アドレスバス48を駆動す
る。実アドレスバス48は、入力仮想アドレスの当初の
変換が起こるように要求するコンピュータシステムの論
理に接続されている。アクセス特権が侵害される場合に
は、コンピュータシステムは例外処理を行って特権侵害
が許可可能であるかどうかを判断する。
トを有するページに対するものである。)実アドレスが
構成された後、出力MUX38は得られた実アドレスを
バス46を通して伝達し、実アドレスバス48を駆動す
る。実アドレスバス48は、入力仮想アドレスの当初の
変換が起こるように要求するコンピュータシステムの論
理に接続されている。アクセス特権が侵害される場合に
は、コンピュータシステムは例外処理を行って特権侵害
が許可可能であるかどうかを判断する。
第2b図では、デコード/ヒツト制御ユニット18の内
容に関するより詳細な説明が示されている。特に、CA
MI2の各エントリ及びRAM22内の対応する各エン
トリはデコード/ヒツト制御ユニット18内のエントリ
に関連して示されている。デコード/ヒツト制御ユニッ
ト18中の64エントリのそれぞれは、CAMワード選
択論理ユニット54、ヒツト判断ユニット56及びRA
Mワード選択ユニット58を備えている。特に、デコー
ド/ヒツト制御ユニット18には例外処理はない。
容に関するより詳細な説明が示されている。特に、CA
MI2の各エントリ及びRAM22内の対応する各エン
トリはデコード/ヒツト制御ユニット18内のエントリ
に関連して示されている。デコード/ヒツト制御ユニッ
ト18中の64エントリのそれぞれは、CAMワード選
択論理ユニット54、ヒツト判断ユニット56及びRA
Mワード選択ユニット58を備えている。特に、デコー
ド/ヒツト制御ユニット18には例外処理はない。
CAMワード選択ユニット54は診断及び更新の目的で
CAMI2のどの列が読み出されるか又はオーバーライ
ドされるかを決定する。ヒツト判断ユニット56はCA
MI 2からの64ビツトヒツトワードを解釈して、C
AMI2のどのエントリが入力された仮想アドレスに適
合するかを決定する。ビットが64ビツトヒツトワード
に設定されている場合、ヒツト判断ユニット56は適合
が発見されたことを示し、ヒツトが起こったことを示す
信号を出力する。逆に、適合が見られない場合はヒツト
が起こらなかったことを示す信号が出力される。RAM
ワード選択論理ユニット58は、診断及び更新の目的の
ためにRAM22のどのエントリが読み出されるか又は
オーバーライドされるべきかを決定する。加えて、RA
Mワード選択ユニット58はRAM22のどのエントリ
が64ビツトヒツトワードの適合したエントリに対応す
るかを解読する。例えば、CAMI2の10番めのエン
トリにヒツトが起こったとヒツト判断ユニット56が判
断すると、おそら< RAM22の10番めのエントリ
が選択されてRAMワード選択ユニット58によって読
み出される。
CAMI2のどの列が読み出されるか又はオーバーライ
ドされるかを決定する。ヒツト判断ユニット56はCA
MI 2からの64ビツトヒツトワードを解釈して、C
AMI2のどのエントリが入力された仮想アドレスに適
合するかを決定する。ビットが64ビツトヒツトワード
に設定されている場合、ヒツト判断ユニット56は適合
が発見されたことを示し、ヒツトが起こったことを示す
信号を出力する。逆に、適合が見られない場合はヒツト
が起こらなかったことを示す信号が出力される。RAM
ワード選択論理ユニット58は、診断及び更新の目的の
ためにRAM22のどのエントリが読み出されるか又は
オーバーライドされるべきかを決定する。加えて、RA
Mワード選択ユニット58はRAM22のどのエントリ
が64ビツトヒツトワードの適合したエントリに対応す
るかを解読する。例えば、CAMI2の10番めのエン
トリにヒツトが起こったとヒツト判断ユニット56が判
断すると、おそら< RAM22の10番めのエントリ
が選択されてRAMワード選択ユニット58によって読
み出される。
以下のパラグラフは、変換動作中に従来のTLBによっ
て行われるステップの概要である。第1図に戻って、第
2a図、第2b図及び第2C図に示される従来技術のT
LBによって(順次的に)行われるステップをさらに詳
しく説明する。第1ステツプ60(第1図)では、入力
仮想アドレスをCAM12(第2a図)の内容と比較す
る。CAM12(第2a図)はバス16(第2a図)を
通してデコード/ヒツト制御ブロック18(3i2a図
及び第2b図)へ64ビツトヒツトワードを出力する。
て行われるステップの概要である。第1図に戻って、第
2a図、第2b図及び第2C図に示される従来技術のT
LBによって(順次的に)行われるステップをさらに詳
しく説明する。第1ステツプ60(第1図)では、入力
仮想アドレスをCAM12(第2a図)の内容と比較す
る。CAM12(第2a図)はバス16(第2a図)を
通してデコード/ヒツト制御ブロック18(3i2a図
及び第2b図)へ64ビツトヒツトワードを出力する。
第2ステツプ62(第1図)では、デコード/ヒツト制
御ブロック18はRAM22(第2a図)の読み出され
るべき特定RAMエントリを選択する。第3ステツプ6
4(第1図)では、RAM22(第2a図)の選択され
たエントリはRAM22 (第2a図)から読み出され
てバス24及び26(第2a図)を駆動し、実アドレス
が構成される。次に、第4ステツプ66く第1図)では
、主制御装置28(第2a図)の例外処理がRAM22
(第2a図)から読み出されたページアドレスに関連す
る権限又は例外を判断する。アクセス権限が判断される
と、1クロックサイクル全体が逸脱してしまうことにな
る。その後、ステップ68(第1図)では、主制御装置
28の例外処理は次のクロックサイクル中のコンピュー
タシステムの論理へ権限又は例外情報を入れる。
御ブロック18はRAM22(第2a図)の読み出され
るべき特定RAMエントリを選択する。第3ステツプ6
4(第1図)では、RAM22(第2a図)の選択され
たエントリはRAM22 (第2a図)から読み出され
てバス24及び26(第2a図)を駆動し、実アドレス
が構成される。次に、第4ステツプ66く第1図)では
、主制御装置28(第2a図)の例外処理がRAM22
(第2a図)から読み出されたページアドレスに関連す
る権限又は例外を判断する。アクセス権限が判断される
と、1クロックサイクル全体が逸脱してしまうことにな
る。その後、ステップ68(第1図)では、主制御装置
28の例外処理は次のクロックサイクル中のコンピュー
タシステムの論理へ権限又は例外情報を入れる。
■1本発明の好ましい実施例
A、並行例外処理の概要(第3図)
第1図及び第3図を参照して、本発明の好ましい実施態
様によって行われた並行動作の概要を述べている。特に
、TLBをアクセスするためのクロックサイクル期間は
第1図に示される従来のTLBのクロックサイクルと比
較して短縮されていることに注目されたい。好ましい実
施例のサイクルはクロックサイクル期間をおよそ2〜3
ナノセカンド短縮するので、クロックサイクル全体では
27ナノセカンドからおよそ25ナノセカンド短縮する
と考えられる。
様によって行われた並行動作の概要を述べている。特に
、TLBをアクセスするためのクロックサイクル期間は
第1図に示される従来のTLBのクロックサイクルと比
較して短縮されていることに注目されたい。好ましい実
施例のサイクルはクロックサイクル期間をおよそ2〜3
ナノセカンド短縮するので、クロックサイクル全体では
27ナノセカンドからおよそ25ナノセカンド短縮する
と考えられる。
好ましい実施態様において、第3図および第4a図を簡
単に見ると、従来技術が仮想アドレスから実アドレスへ
の変換を要求する方法と同じ方法で仮想アドレスから実
アドレスへの変換の要求が起こっている。しかしながら
、変換の第1ステツプ70(第3図)において、アクセ
ス特権情報(並行な)は、RAM92(第4a図)の各
エントリから、第4b図に示されるようにここではCA
M84とRAM92との間に置かれている例外処理(例
外/デコード/ヒツト制御1ユニット88)に直接入れ
られてもいる(第4a図及び第4b図の更に詳しい説明
は簡単に行う)。RAM92及びCAM84の各64エ
ントリは、RAM92の特定のエントリに許可されたア
クセス特権をユーザ又はスーパバイザによって要求され
るアクセス特権と比較する付随した例外処理を有する。
単に見ると、従来技術が仮想アドレスから実アドレスへ
の変換を要求する方法と同じ方法で仮想アドレスから実
アドレスへの変換の要求が起こっている。しかしながら
、変換の第1ステツプ70(第3図)において、アクセ
ス特権情報(並行な)は、RAM92(第4a図)の各
エントリから、第4b図に示されるようにここではCA
M84とRAM92との間に置かれている例外処理(例
外/デコード/ヒツト制御1ユニット88)に直接入れ
られてもいる(第4a図及び第4b図の更に詳しい説明
は簡単に行う)。RAM92及びCAM84の各64エ
ントリは、RAM92の特定のエントリに許可されたア
クセス特権をユーザ又はスーパバイザによって要求され
るアクセス特権と比較する付随した例外処理を有する。
権限又は例外を判断するステップ(70、第3図)は、
CAM84での仮想アドレス適合のサーチ(70、第3
図)と並行して起こり、RAM92の各エントリに対す
る例外又は権限を判断するステップは、適合があるなら
ば、CAM84の適合が判断される時までに完了される
。適合が見られる場合には、64ビツトヒツトワードの
うち対応するビットが設定される。設定されたビットに
関連する特定のRAMエントリが選択され(72、第3
図)、並行シて例外/デコード/ヒツト制御ユニット8
8(第4a図)の特定の例外処理エントリも選択される
。ステップ74く第3図)では、ページアドレスはRA
M92から読み出され、実アドレスが構成され、例外処
理によって算出された例外又は権限が同時に出力される
。アクセス特権が侵害されると・ コンピュータシステ
ムは例外処理を行0特権侵害が許可可能であるかを判断
する。
CAM84での仮想アドレス適合のサーチ(70、第3
図)と並行して起こり、RAM92の各エントリに対す
る例外又は権限を判断するステップは、適合があるなら
ば、CAM84の適合が判断される時までに完了される
。適合が見られる場合には、64ビツトヒツトワードの
うち対応するビットが設定される。設定されたビットに
関連する特定のRAMエントリが選択され(72、第3
図)、並行シて例外/デコード/ヒツト制御ユニット8
8(第4a図)の特定の例外処理エントリも選択される
。ステップ74く第3図)では、ページアドレスはRA
M92から読み出され、実アドレスが構成され、例外処
理によって算出された例外又は権限が同時に出力される
。アクセス特権が侵害されると・ コンピュータシステ
ムは例外処理を行0特権侵害が許可可能であるかを判断
する。
開発されている並行処理によって、好ましい実施態様は
より速いアクセス時間をTLBに与えるので、装置のク
リティカルタイミングバスを短縮する。その結果、クロ
ックサイクルが対応して短縮され(つまり、27ナノセ
カンドがおよそ25ナノセカンド1こなる)、コンビニ
ータシステム全体の性能が向上する。
より速いアクセス時間をTLBに与えるので、装置のク
リティカルタイミングバスを短縮する。その結果、クロ
ックサイクルが対応して短縮され(つまり、27ナノセ
カンドがおよそ25ナノセカンド1こなる)、コンビニ
ータシステム全体の性能が向上する。
B、並行例外処理の詳細な説明(第4a図)第2a図、
第2b図、第2c図、第4a図及び第4b図を参照して
、本発明の好ましい実施態様に関するさらに詳しい説明
を行う。第2a図及び第4a図は類似して見えるが、第
2a図の主制御装置28に設置されている例外論理は、
例外/デコード/ヒツト制御ブロック88(第4alJ
及び第4b図)において64回(第4a図)の反復を戦
略的に行ったものであり、1つのエントリはCAM84
(第4図)及びRAM92の各エントリに対応する。さ
らに直接的に比較するために、第2b図及び第4b図を
参照する。従来のTLBの第2b図に示されるデコード
/ヒツト制御二二ッ)18の各列は、ここでは例外論理
ユニットI34を備えている(第4b図)。
第2b図、第2c図、第4a図及び第4b図を参照して
、本発明の好ましい実施態様に関するさらに詳しい説明
を行う。第2a図及び第4a図は類似して見えるが、第
2a図の主制御装置28に設置されている例外論理は、
例外/デコード/ヒツト制御ブロック88(第4alJ
及び第4b図)において64回(第4a図)の反復を戦
略的に行ったものであり、1つのエントリはCAM84
(第4図)及びRAM92の各エントリに対応する。さ
らに直接的に比較するために、第2b図及び第4b図を
参照する。従来のTLBの第2b図に示されるデコード
/ヒツト制御二二ッ)18の各列は、ここでは例外論理
ユニットI34を備えている(第4b図)。
第4a図に示される好ましい実施態様のTLB構造の動
作及び従来技術のTLBに対する性能の改善はここでさ
らに詳しく述べられる。仮想アドレスから実アドレスへ
の変換要求が起こると、仮想アドレスはバス76及びバ
ス80を通してCAM84に伝達される。本発明の好ま
しい実施態様は、CAM84に64エントリを含み、各
エントリは32ビツトワードを含んでいる。CAM84
の内容を比較することと並行して(つまり、同時に)、
CAM84の各エントリに関連する例外論理は表1(従
来技術の部分で述べた)を評価する論理を実行すること
によってRAM92の各エントリに対するアクセス特権
を判断する。より具体的には、各エントリの例外論理は
、エントリに対して許可されるアクセス特権が、ライン
116(第4a図及び第4b図)を通して主制御装置1
04(複数ビットワードの)への制御入力によって要求
されるアクセス特権によって侵害されているかどうかを
判断する。主制御装置への制御人力116(第4a図)
は、4ビツトのうちの1つに、書き込み要求、読み出し
要求、実行要求があるかどうか、及び読み出し要求、書
き込み要求又は実行要求がスーパバイザ又はユーザのい
ずれかによって要求されているかどうかを示す。これら
の要求はRAM92の各エントリに対して獲得されるア
クセス特権情報と比較される。特権情報はRAM92の
各エントリのACC[2:O] ビットに通常は含ま
れていることを思い起こされたい。
作及び従来技術のTLBに対する性能の改善はここでさ
らに詳しく述べられる。仮想アドレスから実アドレスへ
の変換要求が起こると、仮想アドレスはバス76及びバ
ス80を通してCAM84に伝達される。本発明の好ま
しい実施態様は、CAM84に64エントリを含み、各
エントリは32ビツトワードを含んでいる。CAM84
の内容を比較することと並行して(つまり、同時に)、
CAM84の各エントリに関連する例外論理は表1(従
来技術の部分で述べた)を評価する論理を実行すること
によってRAM92の各エントリに対するアクセス特権
を判断する。より具体的には、各エントリの例外論理は
、エントリに対して許可されるアクセス特権が、ライン
116(第4a図及び第4b図)を通して主制御装置1
04(複数ビットワードの)への制御入力によって要求
されるアクセス特権によって侵害されているかどうかを
判断する。主制御装置への制御人力116(第4a図)
は、4ビツトのうちの1つに、書き込み要求、読み出し
要求、実行要求があるかどうか、及び読み出し要求、書
き込み要求又は実行要求がスーパバイザ又はユーザのい
ずれかによって要求されているかどうかを示す。これら
の要求はRAM92の各エントリに対して獲得されるア
クセス特権情報と比較される。特権情報はRAM92の
各エントリのACC[2:O] ビットに通常は含ま
れていることを思い起こされたい。
CAM84に適合が見つけられる時までに、RAM92
の各エントリに対応する例外論理は要求されるアクセス
の許可されたアクセスへの比較を完了する。このプロセ
スは、例外/デコード/ヒツト制御ユニット88の例外
論理エントリのすべてに対して並行に行われる。ヒツト
がCAM84に見つけられる場合、64ビツトヒツトワ
ードの対応するビットが設定され、ヒツトワードはバス
94を通して例外/デコード/ヒツト制御1ユニット8
8のヒツト判断論理に送られる。ヒツト判断ユニット1
36(第4b図)はRAM92のどのエントリがCAM
84の適合したエントリに対応するかを選択し、CAM
84及びRAM92のマツプされたエントリに対応する
例外論理134(第4b図)のエントリを並行して選択
する。
の各エントリに対応する例外論理は要求されるアクセス
の許可されたアクセスへの比較を完了する。このプロセ
スは、例外/デコード/ヒツト制御ユニット88の例外
論理エントリのすべてに対して並行に行われる。ヒツト
がCAM84に見つけられる場合、64ビツトヒツトワ
ードの対応するビットが設定され、ヒツトワードはバス
94を通して例外/デコード/ヒツト制御1ユニット8
8のヒツト判断論理に送られる。ヒツト判断ユニット1
36(第4b図)はRAM92のどのエントリがCAM
84の適合したエントリに対応するかを選択し、CAM
84及びRAM92のマツプされたエントリに対応する
例外論理134(第4b図)のエントリを並行して選択
する。
次に、例外/デコード/ヒツト制御ユニット88の選択
されたエントリのRAMワード選択ユニット138(第
4b図)はRAM92に読み出し信号を送って、RAM
92の選択されたエントリからページアドレスを読み出
す。ページアドレスがRAM92から読み出されている
間に、例外又は権限の判断はバス102を通して主制御
ユニット104へ出力される。特権侵害が起こると、侵
害はバス106及び/又は108を通して出力され、ユ
ーザ/スーパバイザ特権侵害及び/又は読み出しもしく
は書き込み保護侵害が起こったことを外側の論理に示す
。コンビニータシステムは侵害を処理する方法を決定す
る。
されたエントリのRAMワード選択ユニット138(第
4b図)はRAM92に読み出し信号を送って、RAM
92の選択されたエントリからページアドレスを読み出
す。ページアドレスがRAM92から読み出されている
間に、例外又は権限の判断はバス102を通して主制御
ユニット104へ出力される。特権侵害が起こると、侵
害はバス106及び/又は108を通して出力され、ユ
ーザ/スーパバイザ特権侵害及び/又は読み出しもしく
は書き込み保護侵害が起こったことを外側の論理に示す
。コンビニータシステムは侵害を処理する方法を決定す
る。
RAM92から獲得されたページアドレスはバス112
を通して出力され、内部バス120を駆動する。その後
、内部バス120の内容はバス122を介して出力MU
X124に伝達される。そこで、仮想アドレスの下位1
2ビツトはページアドレスの上位24ビツトと共に多重
化され、実アドレス(36ビツト)はライン126を通
して出力されて実アドレスバス128を駆動する。仮想
アドレスから実アドレスへの変換に対する上記動作はl
クロックサイクルの長さである。
を通して出力され、内部バス120を駆動する。その後
、内部バス120の内容はバス122を介して出力MU
X124に伝達される。そこで、仮想アドレスの下位1
2ビツトはページアドレスの上位24ビツトと共に多重
化され、実アドレス(36ビツト)はライン126を通
して出力されて実アドレスバス128を駆動する。仮想
アドレスから実アドレスへの変換に対する上記動作はl
クロックサイクルの長さである。
C0再変換機能のバイパス
(1)従来のTLB変換「ミス」
第2a図及び第5図を参照して、変換ミスが起こった場
合にCAMI2及びRAM22への更新を実行するため
の、従来のTLBでの手順がここで説明される。第5図
におけるTLBの典型的な実行は以下の通りである。仮
想アドレスはTLBによる変換のためにコンピュータの
中央処理装置(不図示)によって発生される。仮想アド
レスはバス4及び8を通してTLBのCAMI2へ伝達
される(第2a図)。ステップ144の間に、仮想アド
レスはCAMI 2の各エントリと比較される(第5図
においてlクロツタサイクルとして示される)。仮想ア
ドレスがCAMI 2 (第2 a図)に見られない
場合(つまり、CAMI 2が要求される仮想アドレス
を含まない場合)、「ミス」状態がTLBによって示さ
れる(146、第5図)。
合にCAMI2及びRAM22への更新を実行するため
の、従来のTLBでの手順がここで説明される。第5図
におけるTLBの典型的な実行は以下の通りである。仮
想アドレスはTLBによる変換のためにコンピュータの
中央処理装置(不図示)によって発生される。仮想アド
レスはバス4及び8を通してTLBのCAMI2へ伝達
される(第2a図)。ステップ144の間に、仮想アド
レスはCAMI 2の各エントリと比較される(第5図
においてlクロツタサイクルとして示される)。仮想ア
ドレスがCAMI 2 (第2 a図)に見られない
場合(つまり、CAMI 2が要求される仮想アドレス
を含まない場合)、「ミス」状態がTLBによって示さ
れる(146、第5図)。
より具体的には、ライン16(第2a図)を通してデコ
ード/ヒツト制御ユニット18へ伝達される64ビツト
ヒツトワードは、適合が見られなかったことを示すので
、実アドレスはTLBによって供給されることができな
い。この状況において、第2a図には示されない論理が
「テーブルウオークjと呼ばれる機能を行うので、それ
によってコンピュータシステムの主メモリ(不図示)は
当初要求された仮想アドレスから実アドレスへのマツピ
ングをサーチされる(148、第5図)。
ード/ヒツト制御ユニット18へ伝達される64ビツト
ヒツトワードは、適合が見られなかったことを示すので
、実アドレスはTLBによって供給されることができな
い。この状況において、第2a図には示されない論理が
「テーブルウオークjと呼ばれる機能を行うので、それ
によってコンピュータシステムの主メモリ(不図示)は
当初要求された仮想アドレスから実アドレスへのマツピ
ングをサーチされる(148、第5図)。
仮想アドレスから実アドレスへのマツピングの限られた
量しかTLBは記憶できないのでミスが発生する。TL
Bに適合しないマツピングはページテーブルの主メモリ
に記憶され、コンビュータンステムのMMUによって行
われるテーブルウオークの間にアクセスされることがで
きる(148、第5図)。
量しかTLBは記憶できないのでミスが発生する。TL
Bに適合しないマツピングはページテーブルの主メモリ
に記憶され、コンビュータンステムのMMUによって行
われるテーブルウオークの間にアクセスされることがで
きる(148、第5図)。
仮想アドレスから実アドレスへのマツピングが主メモリ
に見つけられると、マツピングはTLBのCAMI 2
及びRAM22に更新される。より詳しくは、MMUは
主メモリがら読み出し動作を行い、変換マツピングを仮
想アドレスバス4上(つまり仮想アドレス)に、及び更
新データバス6上(つまり、ページアドレス及び雑多な
ビット)に伝達する。この時点で、CAMI 2及びR
AM22への更新は主制御装置28(第2a図)によっ
て要求される。更新は、新しく検索された仮想アドレス
及びページアドレスをCAMI2及びRAM22の指定
された位置に書き込むことによって行われる。主制御装
置28は、CAMI2及びRAM22のどのエントリを
新しい情報に置き換えるかを決定する。主制御装置28
は、バス52を通してCAMI2及びRAM22の書き
込み動作を統合するデコード/ヒツト制御ユニット18
にアドレスを送ることによって書き込み動作を開始する
。この時点で、仮想アドレスから実アドレスへの変換が
再び要求される(152、第5図)。
に見つけられると、マツピングはTLBのCAMI 2
及びRAM22に更新される。より詳しくは、MMUは
主メモリがら読み出し動作を行い、変換マツピングを仮
想アドレスバス4上(つまり仮想アドレス)に、及び更
新データバス6上(つまり、ページアドレス及び雑多な
ビット)に伝達する。この時点で、CAMI 2及びR
AM22への更新は主制御装置28(第2a図)によっ
て要求される。更新は、新しく検索された仮想アドレス
及びページアドレスをCAMI2及びRAM22の指定
された位置に書き込むことによって行われる。主制御装
置28は、CAMI2及びRAM22のどのエントリを
新しい情報に置き換えるかを決定する。主制御装置28
は、バス52を通してCAMI2及びRAM22の書き
込み動作を統合するデコード/ヒツト制御ユニット18
にアドレスを送ることによって書き込み動作を開始する
。この時点で、仮想アドレスから実アドレスへの変換が
再び要求される(152、第5図)。
CAMI2はここでは、当初に要求された仮想アドレス
変換に一致する仮想アドレスを含む。加えて、対応する
ページアドレスはRAM22に記憶されている。ここで
、CAMI2中の比較が起こると、適合が発見され、ヒ
ツトワードの適当なビットが設定される。変換が行われ
、実アドレスはバス24.7及び44を介して実アドレ
スバス48に送られる(154、第5図)。
変換に一致する仮想アドレスを含む。加えて、対応する
ページアドレスはRAM22に記憶されている。ここで
、CAMI2中の比較が起こると、適合が発見され、ヒ
ツトワードの適当なビットが設定される。変換が行われ
、実アドレスはバス24.7及び44を介して実アドレ
スバス48に送られる(154、第5図)。
(2)本発明の好ましい実施例のバイパス機能第4a図
、第5a図及び第6図を参照して、本発明の好ましい実
施態様の再変換バイパス動作に関する詳細を説明する。
、第5a図及び第6図を参照して、本発明の好ましい実
施態様の再変換バイパス動作に関する詳細を説明する。
第5図及び第6図において、144.146.148及
び150(第5図)で行われるステップはバイパス動作
の156.158.160及び162(第6図)で行わ
れるステップと同じである。より詳しくは、TLBは特
定の仮想アドレスから実アドレスへの変換(156、第
6図)をサーチされ、ミスが発生しく158、!6図)
、複数サイクルテーブルウオークが仮想アドレスから
実アドレスへの変換の位置を突きとめ(160、第6図
)、並びにCAMI2及びRAM22は仮想アドレス及
びページアドレスと共に(雑多なビットと共に)それぞ
れ更新される(162、第6図)。
び150(第5図)で行われるステップはバイパス動作
の156.158.160及び162(第6図)で行わ
れるステップと同じである。より詳しくは、TLBは特
定の仮想アドレスから実アドレスへの変換(156、第
6図)をサーチされ、ミスが発生しく158、!6図)
、複数サイクルテーブルウオークが仮想アドレスから
実アドレスへの変換の位置を突きとめ(160、第6図
)、並びにCAMI2及びRAM22は仮想アドレス及
びページアドレスと共に(雑多なビットと共に)それぞ
れ更新される(162、第6図)。
更新動作(162、第6図)が起きている間に、実アド
レスが獲得され実アドレスバス128に伝達される。仮
想アドレスがバス76(第4図)上にあり、ページアド
レスが更新データバス78(第4図)上にある間は、ペ
ージアドレスはバス78を通してバイパスバス130か
ら内部バス120へ、その後バス122へ伝達され、そ
こで実アドレスは出力MUX124にゲートされる。出
力MUX124は、仮想アドレスバス76及びバス12
5によって送られる仮想アドレスの下位12ビツトをペ
ージアドレスの上位ピットと組み合わせて、実アドレス
バス128を駆動する実アドレスを形成する。主メモリ
から得られるページアドレスを出力MUXに直接送るこ
とによって、TLBがページアドレスを用いてRAMを
更新し仮想アドレスを再変換する(150.152(第
5図))のを待つことなく、1クロックサイクル全体が
短縮される。バイパス動作は第2a図及び第5図に示さ
れる従来の構成に比べて性能が増大し、7本発明は典型
的な好ましい実施例において説明されたが、それに限定
されるものではない。当業者は、本発明の精神と範囲か
ら離脱することなく、さらに修正及び改善が本発明にな
され得ることを認識するであろう。本発明の範囲は、請
求の範囲によってのみ制限されるべきである。
レスが獲得され実アドレスバス128に伝達される。仮
想アドレスがバス76(第4図)上にあり、ページアド
レスが更新データバス78(第4図)上にある間は、ペ
ージアドレスはバス78を通してバイパスバス130か
ら内部バス120へ、その後バス122へ伝達され、そ
こで実アドレスは出力MUX124にゲートされる。出
力MUX124は、仮想アドレスバス76及びバス12
5によって送られる仮想アドレスの下位12ビツトをペ
ージアドレスの上位ピットと組み合わせて、実アドレス
バス128を駆動する実アドレスを形成する。主メモリ
から得られるページアドレスを出力MUXに直接送るこ
とによって、TLBがページアドレスを用いてRAMを
更新し仮想アドレスを再変換する(150.152(第
5図))のを待つことなく、1クロックサイクル全体が
短縮される。バイパス動作は第2a図及び第5図に示さ
れる従来の構成に比べて性能が増大し、7本発明は典型
的な好ましい実施例において説明されたが、それに限定
されるものではない。当業者は、本発明の精神と範囲か
ら離脱することなく、さらに修正及び改善が本発明にな
され得ることを認識するであろう。本発明の範囲は、請
求の範囲によってのみ制限されるべきである。
4、 の、 な号日
第1図は、従来のTLBによって順次行われる変換動作
を表す図である。
を表す図である。
第2a図は、従来技術のTLBの構造の概略を表す図で
ある。
ある。
第2b図は、第2a図に示される従来のTLBのRAM
及びCAMの各エントリに関連するデコード/ヒツト制
御構成要素を表す図である。
及びCAMの各エントリに関連するデコード/ヒツト制
御構成要素を表す図である。
第2c図は、第2a図に示されるRAMのエントリを表
す図である。
す図である。
第3図は、本発明によるTLBによって並行に行われる
動作の1クロツクサイクルを表す図である。
動作の1クロツクサイクルを表す図である。
第4a図は、本発明によるTLBの構造の概略を表す図
である。
である。
第4b図は、本発明によるRAM及びCAMの各エント
リに関連する例外/デコード/ヒ・ット制御構成要素を
表す図である。
リに関連する例外/デコード/ヒ・ット制御構成要素を
表す図である。
第5図は、変換ミスが生じた時に、更新及び再変換ステ
ップを行う従来のTLBのタイムチャートを表す図であ
る。
ップを行う従来のTLBのタイムチャートを表す図であ
る。
第6図は、本発明によって、TLBの更新と並行して、
所望のページアドレスをアクセスするためのバイパス機
構(iAa図に示される)を備えているTLBを更新す
るためのタイムチャートを表す図である。
所望のページアドレスをアクセスするためのバイパス機
構(iAa図に示される)を備えているTLBを更新す
るためのタイムチャートを表す図である。
以上
Claims (1)
- 【特許請求の範囲】 1、主メモリの仮想アドレスを実アドレスに変換するた
めの装置であって、該主メモリは複数のページを備え、
該主メモリの該ページはそれぞれページアドレスに対応
しており、該装置は該変換の要求が該ページアドレスに
関連する該ページをアクセスするために十分なアクセス
特権を有しているかどうかを判断するための装置であっ
て、複数の該仮想アドレスを記憶する内容参照可能メモ
リ手段であって、複数のエントリを備え、該エントリの
それぞれは該仮想アドレスの1つを含んでいる内容参照
可能メモリ手段と、 複数の該ページアドレスを記憶するランダムアクセスメ
モリ手段であって、複数のエントリを備え、該ランダム
アクセス手段のエントリのそれぞれは該ページアドレス
の1つ及びアクセス特権情報を含んでおり、該アクセス
特権情報は該ランダムアクセスメモリエントリに記憶さ
れた該ページアドレスを獲得するために要求されたアク
セス特権のレベルを示すものであり、該ランダムアクセ
スメモリの各エントリは該内容参照可能メモリ手段のエ
ントリに対応するランダムアクセスメモリ手段と、 該内容参照可能メモリ手段の各エントリに関連して、及
び該ランダムアクセスメモリ手段の該対応するエントリ
に関連して、該要求されたアクセス特権が該ページアド
レスに関連する該ページをアクセスするのに十分である
かどうかを判断するために、該主メモリの該ページの1
つに対する該アクセス特権を該要求アクセス特権と比較
するための所定の論理機能を実行する手段、並びに該ペ
ージアドレスと該仮想アドレスとを組み合わせて該実ア
ドレスを獲得する手段、並びに該実アドレスを獲得する
該手段と並行して、該要求されたアクセス特権が該ペー
ジをアクセスするために十分であるかどうかの該判断を
得る手段とを備えている、装置。 2、主メモリの仮想アドレスを該主メモリの実アドレス
に変換するための方法であって、該主メモリは複数のペ
ージを備え、該主メモリの該ページはそれぞれページア
ドレスに対応し、仮想アドレスは内容参照可能メモリに
記憶され、該内容参照可能メモリは複数のエントリを備
え、該エントリのそれぞれは該仮想アドレスの1つを包
含し、該ページアドレスはランダムアクセスメモリに記
憶され、該ランダムアクセスメモリは複数のエントリを
備え、該ランダムアクセスメモリの各エントリは該ペー
ジアドレスの1つ及び該ページアドレスに関連するアク
セス特権情報を含み、該アクセス特権情報は該ランダム
アクセスメモリエントリに記憶された該ページアドレス
をアクセスすることを要求されたアクセス特権のレベル
を示すためであり、該ランダムアクセスメモリの各エン
トリは該内容参照可能メモリのエントリに対応し、該内
容参照可能メモリの各エントリ及び該ランダムアクセス
メモリの該対応する各エントリに関連して、該要求が該
ランダムアクセスメモリの該対応するページアドレスに
関連する該主メモリの該ページをアクセスするために十
分であるかどうかを判断するために該主メモリの該ペー
ジの1つに対するアクセス特権を要求アクセス特権と比
較する手段を備え、 適合があるならば、該仮想アドレスと該内容参照可能メ
モリのどのエントリとが適合しているかを決定するため
に、変換されるべき該仮想アドレスと該内容参照可能メ
モリの内容を比較するステップと、 該内容参照可能メモリの内容と該仮想アドレスとを比較
する該ステップと並行して、該ランダムアクセスメモリ
の各エントリに関連するアクセス特権情報を、あるなら
ば、獲得するステップであって、要求されたアクセス特
権がページアドレスに関連するページをアクセスするの
に十分であるかどうかを判断するために該エントリのそ
れぞれに対するアクセス特権を要求アクセス特権と比較
するステップを包含するステップと、 該内容参照可能メモリの該適合したエントリに関連して
ランダムアクセスメモリエントリを選択するステップと
、 該ランダムアクセスメモリエントリを選択する該ステッ
プと並行して、該内容参照可能メモリ及び該ランダムア
クセスメモリの該適合するエントリに関連した該所定の
論理機能を実行する該手段を選択するステップと、 該ページアドレスを該仮想アドレスと組み合わせて該実
アドレスを獲得するステップと、該組み合わせるステッ
プと並行して、該要求されたアクセス特権が該ページを
アクセスするために十分であるかどうかの該判断を該所
定の論理機能から獲得するステップ、とを包含する方法
。 3、主メモリの仮想アドレスから実アドレスへの変換を
効率よく提供するための方法であって、該変換は変換索
引バッファによって行われ、該変換索引バッファは複数
の該仮想アドレスを記憶するための内容参照可能メモリ
、複数のページアドレスを記憶するためのランダムアク
セスメモリ、該仮想アドレスを用いて該内容参照可能メ
モリを更新するための仮想アドレスバス及び該ページア
ドレスを用いてランダムアクセスメモリを更新するため
の更新データバスを備え、該仮想アドレスバスと該更新
バスは出力マルチプレクサによって結合されており、該
方法は 該変換が該実アドレスを生じない場合に動作する、変換
されるべき該仮想アドレスを用いて内容参照可能メモリ
を更新するステップ及び該仮想アドレスに対応する該ペ
ージアドレスを用いてランダムアクセスメモリを更新す
るステップを包含し、該内容参照可能メモリ及び該ラン
ダムアクセスメモリを更新する該ステップは、該仮想ア
ドレスを該仮想アドレスバス上、及び該ページアドレス
を該更新データバス上で該出力マルチプレクサへ送り、
該仮想アドレスと該ページアドレスを組み合わせて該実
アドレスを生じるステップを包含する、方法。 4、主メモリの仮想アドレスから実アドレスへの変換を
効率よく提供するための変換索引バッファであって、該
変換索引バッファは、 複数の該仮想アドレスを記憶するための内容参照可能メ
モリと、 複数のページアドレスを記憶するためのランダムアクセ
スメモリと、 該仮想アドレスを用いて該内容参照可能メモリを更新す
るための仮想アドレスバスと、該ページアドレスを用い
てランダムアクセスメモリを更新するための更新データ
バスとを備えており、該仮想アドレスバスと該更新デー
タバスは出力マルチプレクサによって結合され、該マル
チプレクサは該ページアドレスを該仮想アドレスと組み
合わせて該実アドレスを生じる、 変換索引バッファ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US43638489A | 1989-11-13 | 1989-11-13 | |
| US436,384 | 1989-11-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03211643A true JPH03211643A (ja) | 1991-09-17 |
Family
ID=23732191
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2308457A Pending JPH03211643A (ja) | 1989-11-13 | 1990-11-13 | 並行例外検査及び更新バイパスを有する変換索引バッファ |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0428079A3 (ja) |
| JP (1) | JPH03211643A (ja) |
| KR (1) | KR910010318A (ja) |
| CA (1) | CA2029628A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011048615A (ja) * | 2009-08-27 | 2011-03-10 | Renesas Electronics Corp | データプロセッサ |
| JP2013140477A (ja) * | 2012-01-04 | 2013-07-18 | Toyota Motor Corp | 情報処理装置及びメモリアクセス管理方法 |
Families Citing this family (6)
| 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 |
| US6807611B2 (en) | 2002-04-05 | 2004-10-19 | International Business Machine Corporation | High speed selective mirroring of cached data |
| US9390031B2 (en) | 2005-12-30 | 2016-07-12 | Intel Corporation | Page coloring to associate memory pages with programs |
| US10162694B2 (en) | 2015-12-21 | 2018-12-25 | Intel Corporation | Hardware apparatuses and methods for memory corruption detection |
| US12393523B2 (en) | 2022-03-31 | 2025-08-19 | Intel Corporation | Circuitry and methods for implementing micro-context based trust domains |
| US12417099B2 (en) | 2022-04-02 | 2025-09-16 | Intel Corporation | Circuitry and methods for informing indirect prefetches using capabilities |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4580217A (en) * | 1983-06-22 | 1986-04-01 | Ncr Corporation | High speed memory management system and method |
-
1990
- 1990-11-09 EP EP19900121481 patent/EP0428079A3/en not_active Withdrawn
- 1990-11-09 CA CA002029628A patent/CA2029628A1/en not_active Abandoned
- 1990-11-13 KR KR1019900018309A patent/KR910010318A/ko not_active Withdrawn
- 1990-11-13 JP JP2308457A patent/JPH03211643A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011048615A (ja) * | 2009-08-27 | 2011-03-10 | Renesas Electronics Corp | データプロセッサ |
| JP2013140477A (ja) * | 2012-01-04 | 2013-07-18 | Toyota Motor Corp | 情報処理装置及びメモリアクセス管理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0428079A2 (en) | 1991-05-22 |
| CA2029628A1 (en) | 1991-05-14 |
| EP0428079A3 (en) | 1991-12-18 |
| KR910010318A (ko) | 1991-06-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4332010A (en) | Cache synonym detection and handling mechanism | |
| JP2833062B2 (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
| KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
| JP2567594B2 (ja) | 複数のアドレス空間を選択的にサポ−トできるペ−ジ式記憶装置管理ユニット | |
| KR100369923B1 (ko) | 데이타처리장치 | |
| US6532528B1 (en) | Data processor and data processor system having multiple modes of address indexing and operation | |
| EP0856798B1 (en) | A cache system | |
| JP3740195B2 (ja) | データ処理装置 | |
| US5265227A (en) | Parallel protection checking in an address translation look-aside buffer | |
| JP2618175B2 (ja) | キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル | |
| JP4065660B2 (ja) | 機能が並列に分散された変換索引バッファ | |
| EP0408058B1 (en) | Microprocessor | |
| US5860147A (en) | Method and apparatus for replacement of entries in a translation look-aside buffer | |
| JPH03220647A (ja) | データ処理システム | |
| JP2001184263A (ja) | 旧キャッシュラインを無効化および除去する装置 | |
| US7269825B1 (en) | Method and system for relative address translation | |
| US5928352A (en) | Method and apparatus for implementing a fully-associative translation look-aside buffer having a variable numbers of bits representing a virtual address entry | |
| JP2930071B2 (ja) | 情報処理装置およびプロセッサ | |
| US5287482A (en) | Input/output cache | |
| JPH03211643A (ja) | 並行例外検査及び更新バイパスを有する変換索引バッファ | |
| JPH0371355A (ja) | キヤツシユ検索装置および検索方法 | |
| JP3210637B2 (ja) | データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム | |
| JPH055137B2 (ja) | ||
| JPH05250262A (ja) | マスキングされた保護間接ページ記述子を用いたデ−タ・プロセッサにおけるアドレス変換の方法および装置 | |
| JP2564377B2 (ja) | キャッシュメモリを備えた情報処理装置 |