JPH07295889A - アドレス変換回路 - Google Patents

アドレス変換回路

Info

Publication number
JPH07295889A
JPH07295889A JP7101714A JP10171495A JPH07295889A JP H07295889 A JPH07295889 A JP H07295889A JP 7101714 A JP7101714 A JP 7101714A JP 10171495 A JP10171495 A JP 10171495A JP H07295889 A JPH07295889 A JP H07295889A
Authority
JP
Japan
Prior art keywords
bit
tag
bit cell
current electrode
electrode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7101714A
Other languages
English (en)
Inventor
Chih-Jiu Peng
チイ−ジュイ・ペン
Paul C Rossbach
ポール・シー・ロスバック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JPH07295889A publication Critical patent/JPH07295889A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

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)
  • Static Random-Access Memory (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 ルーティングの要求を最小化しかつ総合的な
回路容量を低減した配置が可能な、可変長ブロックのア
ドレス変換器を実現可能にする。 【構成】 CAM/SRAM構造では各アドレス変換は
上部ハーフおよび下部ハーフに分解されたレジスタに格
納される。上部ハーフはブロック長タグ(BL)を格納
するSRAMビットセルと交替的に、格納されたタグ
(BEPI)と入力実効アドレスを整合するCAMビッ
トセルを含む。ブロック長タグは変換されたブロックの
長さを規定し、入力実効アドレスと格納されたタグとの
間で整合すべきビット数を規定する。下部ハーフはマル
チプレクサ回路と交替するタグ(BRPN)に関連する
実アドレスを格納するSRAMビットセルを含む。CA
M整合の場合には、各マルチプレクサ回路はブロック長
タグに応じて、実アドレスビットまたは入力実効アドレ
スビットを出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般的にはデジタル計算
システムに関し、かつより特定的にはアドレス変換方法
および装置に関する。
【0002】
【従来の技術】現代のデータ処理システムは一般的には
アドレス変換機構を導入している。アドレス変換(Ad
dress translation)はシステムのデ
ータプロセッサによって操作されるメモリアドレスをシ
ステムのメモリシステムに与えられるアドレスへとマッ
ピングするプロセスである。典型的には、データ処理シ
ステムのデータプロセッサによって操作されるアドレス
は「実効(effective)」または「論理(lo
gical)」アドレスと称される。逆に、データ処理
システムの通信バスに与えられるアドレスは「実(re
al)」または「物理(physical)」アドレス
と称される。
【0003】アドレス変換機構は少なくとも3つの理由
でデータ処理システムの性能を改善する。第1に、アド
レス変換機構はメインメモリの特定のセクションについ
てのある有用な特性を規定するために使用できる。例え
ば、これらの特性はシステムのデータプロセッサがある
動作モードの間に入力/出力装置に書き込むのを防止す
ることができ、あるいはメモリの他の領域がデータプロ
セッサのメモリキャッシュにおいてキャッシングされる
ことから制限することができる。また、複数のソフトウ
ェアアプリケーションがデータプロセッサのメモリに同
時に一方のプログラムが他方のプログラムを汚染する恐
れなしに存在し得る。第2に、アドレス変換機構はデー
タプロセッサがシステムのランダムアクセスメモリ
(“RAM”)より大きなプログラムを実行できるよう
にする。これらの非常に大きなプログラムの大部分は永
久的なメモリ装置(ハードディスクドライブ、磁気テー
プドライブ、その他)に格納される。これらの非常に大
きなプログラムのより小さな部分は必要に応じてシステ
ムのRAMへと呼び出される。この特徴は「仮想メモリ
(virtual memory)」として知られてい
る。第3に、マルチプロセッサデータ処理システム
(“MP”)において、1つより多くのデータプロセッ
サがメモリに格納された同じデータを容易にアクセスす
ることができる。MPシステムにおける各々のデータプ
ロセッサはメモリにおける同じロケーションをアクセス
するのに異なるアドレスを使用することができる。この
特徴はそのようなシステムのソフトウェアプログラミン
グを単純化する。この特徴はまた単一データプロセッサ
のデータ処理システムにおいて実行している複数のプロ
グラムによって使用することもできる。
【0004】
【発明が解決しようとする課題】3つの基本的なタイプ
のアドレス変換機構があり、それらはページング、セグ
メンテーション、およびページング/セグメンテーショ
ンの組合わせである。これら3つの機構は各々お互いに
対して技術的に知られた利点および欠点を有している。
【0005】ページングアドレス機構においては、メイ
ンメモリが数多くの固定サイズのブロック(「ページ
(pages)」)に分割される。データプロセッサに
よって発生される各々の実効アドレスのうちのある数の
アドレスビット(最上位ビット(most signi
ficant bits))がメモリにおける選択され
たページを識別する。各々の実効アドレスの残りの数の
アドレスビット(最下位ビット(least sign
ificant bits))は選択されたページ内の
バイトを識別する。ページはしばしば比較的小さなもの
である。したがって、ページ変換データは大きな容量の
ものでありかつテーブルに格納される。
【0006】セグメンテーションアドレシング機構にお
いては、メインメモリは数多くの可変サイズのブロック
(「セグメント(segments)」)に分割され
る。データプロセッサによって発生される各々の実効ア
ドレスの上位および下位ビットは、それぞれ、セグメン
トおよび選択されたセグメント内のバイトを識別する。
当初は、データ処理システムのオペレーティングシステ
ムのプログラムコード、そのアプリケーションプログラ
ムコード、そのアプリケーションプログラムデータ、お
よびそのポインタスタックは各々メインメモリ中の4つ
のセグメントの異なる1つへとマッピングされた。その
結果、セグメントのサイズはページのサイズよりも大き
さが数桁大きくなるよう発展してきた。セグメント変換
データはより小さくかつしたがってレジスタファイルま
たはテーブルに格納することができる。
【0007】ページング/セグメンテーション機構にお
いても、メインメモリはページに分割される。しかしな
がら、各々の実効アドレスはメインメモリにおける特定
のページにマッピングされる前にセグメンテーション機
構によって中間または「仮想(virtual)」アド
レスにマッピングされる。前述のように、実効アドレス
の下位ビットは選択されたページ内のバイトを識別する
ために使用される。いくつかのページング/セグメンテ
ーション機構においては、ページおよびセグメントの双
方が固定サイズのブロックである。パワーPCアーキテ
クチャはそのような全て固定サイズのページング/セグ
メンテーションアドレス機構を使用する。
【0008】パワーPCアーキテクチャはページング/
セグメンテーション機構を超えて2つの付加的なアドレ
シングモードを規定する。第1に、ブロックアドレス変
換機構(“BAT”)が単一ページより大きな実効アド
レスの範囲を実メモリ記憶装置の連続した領域へとマッ
ピングする手段を提供する。これらの領域はメモリマッ
ピングされたディスプレイバッファまたは数字データの
きわめて大きなアレイを識別することができる。第2
に、パワーPCアーキテクチャは実アドレシングモード
を規定する。実アドレシングモードにおいては、データ
プロセッサによって操作される実効アドレスは何らの変
換もなしにメモリシステムへと出力される。もしイネー
ブルされれば、実効アドレシングモードの変換が選択さ
れる。もし実アドレシングモードがイネーブルされなれ
れば、BATによる首尾よいアドレス変換が前記実効ア
ドレスを発生する。もし実アドレシングモードがイネー
ブルされずかつBATが首尾よいアドレス変換を発生し
なければ、ページング/セグメンテーション機構は実効
アドレスを発生する。
【0009】したがって、本発明の目的は、従来のアド
レス変換器の不都合を実質的に除去する構成を有するア
ドレス変換器を提供することにある。
【0010】
【課題を解決するための手段および作用】アドレス変換
器は受信した実効アドレスを実アドレスに変換するため
の複数のエントリを有する。各々のエントリは平行なラ
インに沿って整列された第1および第2の行(row)
の回路セルおよびワード線ドライバを有する。第1の行
の回路セルはJのマスクビット−タグビットセル対を有
し、この場合Jは整数である。前記Jのマスクビット−
タグビットセル対は、次に、マスクビットセルおよび第
1の連想または内容にアドレス可能な(content
addressable)メモリビットセルを有す
る。I番目のマスクビットセルはI番目の論理状態を記
憶し、この場合Iは1からJにおよび整数の指数であ
る。I番目の第1の連想ビットセルは複数のタグビット
のうちのI番目のものを記憶する。I番目の第1の連想
ビットセルはまた複数の実効アドレスビットのうちの受
信したI番目のものがI番目の論理状態と整合すればま
たはI番目のタグビットが論理的に第1の論理状態に等
しければ第1の複数の制御信号のうちのI番目のものを
否定する(de−asserts)。前記ワード線ドラ
イバは前記第1の制御信号の各々が否定されれば整合ラ
イン(matchline)信号を肯定する。第2の行
の回路セルはJのデータビット−マルチプレクサ回路対
を有する。Jのデータビット−マルチプレクサ回路対
は、次に、データビットセルおよびマルチプレクサ回路
を有する。I番目のデータビットセルは複数の実アドレ
スビットのうちのI番目のものを記憶する。I番目のマ
ルチプレクサ回路はもしワード線ドライバが前記整合ラ
イン信号を肯定すればおよびもしI番目の論理状態が第
1の論理状態に対応すれば複数の実効アドレスビットの
うちのI番目のものを出力する。あるいは、I番目のマ
ルチプレクサ回路はもし前記ワード線ドライバが前記整
合ライン信号を肯定すればおよびもしI番目の論理状態
が第2の論理状態に対応すれば前記複数の実効アドレス
ビットのうちのI番目のものを出力する。I番目のマル
チプレクサ回路はI番目のマスクビット−タグビットセ
ル対に隣接している。
【0011】
【実施例】本発明の特徴および利点は添付の図面ととも
に以下の詳細な説明を参照することによりさらに明瞭に
理解され、図面においては同じ参照数字は同じおよび対
応する部分を示している。
【0012】図1は、本発明にしたがって構成されたデ
ータプロセッサ10のブロック図を示す。データプロセ
ッサ10はページング/セグメンテーションアドレス変
換機構と組合せてブロックアドレス変換機構を使用する
ことによりその性能を改善するデータプロセッサであ
る。ブロックアドレス変換器は可変長の実効アドレスブ
ロックを同じ大きさにされた実アドレスブロックへと変
換する。各々のブロックアドレス変換マッピングに関連
するタグはブロックサイズを特定する。ブロックのサイ
ズは変換を行なわせるために入力の実効アドレスブロッ
クと記憶されたマッピングタグの間で整合しなければな
らないビットの数に影響する。該ブロックのサイズはま
たブロックアドレス変換器が記憶されたデータフィール
ドから出力するビットの数およびそれが入力実効アドレ
スからどれだけ多くのビットを出力するかに影響を与え
る。半導体基板上の開示されたブロックアドレス変換器
のレイアウトはその寸法を低減しかつその動作周波数を
増大する。
【0013】1.データプロセッサの概観 図1で説明を続けると、バスインタフェースユニット
(以後BIUと称する)12はデータプロセッサ10と
データ処理システム(図示せず)の残りの部分との間の
データの流れを制御する。BIU12は命令キャッシュ
14におよびデータキャッシュ16に接続されている。
データキャッシュ16は図2〜図8を参照して後にさら
に詳細に説明する。命令キャッシュ14は命令ストリー
ムを命令フェッチユニット18に供給する。命令フェッ
チユニット18は個々の命令を適切な実行ユニットに送
る。データプロセッサ10は分岐ユニット20、固定小
数点実行ユニットA 22、固定小数点実行ユニットB
24、コンプレクス固定小数点実行ユニット26、ロ
ード/ストア実行ユニット28、および浮動小数点実行
ユニット30を有する。固定小数点実行ユニットA 2
2、固定小数点実行ユニットB 24、コンプレクス固
定小数点実行ユニット26、およびロード/ストア実行
ユニット28はそれらの結果を汎用目的のアーキテクチ
ャレジスタファイル32(GPRと名付けられかつ以後
GPRファイルと称する)に対しかつ第1のリネームバ
ッファ34に対し読み出しおよび書き込みを行なう。浮
動小数点実行ユニット26およびロード/ストア実行ユ
ニット28はそれらの結果を浮動小数点アーキテクチャ
レジスタファイル36(FPRと名付けられかつ以後F
PRファイルと称する)に対しかつ第2のリネームバッ
ファ38に対し読み出しおよび書き込みを行なう。デー
タプロセッサ10はまたBIU12、命令キャッシュ1
4、およびデータキャッシュ16に接続された2次アド
レス変換ユニット40を有する。2次アドレス変換ユニ
ット40は図9〜図11を参照して後にさらに説明す
る。
【0014】開示された発明を除いたデータプロセッサ
10の動作は技術的に知られている。一般に、分岐ユニ
ット20はあるデータレジスタの内容および命令それら
自体が与えられればプログラムされた命令のどのシーケ
ンスが適切であるかを決定する。命令キャッシュ14は
プログラムされた命令のこのシーケンスを命令フェッチ
ユニット18に提供する。もし命令キャッシュ14が必
要な命令を含んでいなければ、それはデータプロセッサ
10の外部のメインメモリシステム(図示せず)からそ
れらをフェッチする。
【0015】命令フェッチユニット18はプログラムさ
れた命令の前記シーケンスの個々の命令を種々の実行ユ
ニット20,22,24,26,28および30に発行
する。各々の実行ユニットは特定のクラスの命令のうち
の1つまたはそれ以上の命令を実行する。各々の実行ユ
ニットの命令の特定のクラスは該実行ユニットの名前に
よって示される。例えば、固定小数点実行ユニットAお
よびBは固定小数点表記法で表現されたオペランドに対
し加算、減算、AND演算、OR演算およびXOR演算
のような単純な数学的演算を行なう。コンプレクス固定
小数点実行ユニット26は固定小数点表記法で表現され
たオペランドに対し乗算および除算のようなより複雑な
数学的操作を行なう。浮動小数点実行ユニット30は浮
動小数点表記法で表現されたオペランドに対し乗算およ
び除算のような数学的演算を行なう。
【0016】固定小数点実行ユニットAおよびBそして
コンプレクス固定小数点ユニット26はそれらの操作ま
たは演算の結果を第1のリネームバッファ34の指定さ
れたエントリに戻す。第1のリネームバッファ34は前
記結果を発生した命令に先行する全ての命令がそれらの
GPRファイルのエントリを更新した場合に第1のリネ
ームバッファ34からのエントリによってGPRファイ
ル32のエントリを周期的に更新する。命令フェッチユ
ニット18はこの更新を調整する。第1のリネームバッ
ファ34およびGPRファイル32の双方はオペランド
を固定小数点実行ユニットAおよびBにかつコンプレク
ス固定小数点ユニット26に供給することができる。
【0017】浮動小数点実行ユニット30はその操作ま
たは演算の結果を第2のリネームバッファ38の指定さ
れたエントリに戻す。第2のリネームバッファ38はそ
の結果を発生した命令に先行する全ての命令がそれらの
FPRファイルのエントリを更新したときに第2のリネ
ームバッファ38のエントリによってFPRファイル3
6のエントリを周期的に更新する。命令フェッチユニッ
ト18もまたこの更新を調整する。第2のリネームバッ
ファ38およびFPRファイル36の双方はオペランド
を浮動小数点実行ユニット30に供給する。
【0018】ロード/ストアユニット28はGPRファ
イル32、第1のリネームバッファ34、FPRファイ
ル36または第2のリネームバッファ38に格納された
データを読み出しかつ選択されたデータをデータキャッ
シュ16に書き込む。このデータはまた開示された発明
に関連のないデータプロセッサ10の動作特性に依存し
て外部メモリシステム(図示せず)に書き込むことがで
きる。逆に、ロード/ストアユニット28はデータキャ
ッシュ16に記憶されたデータを読み取りかつその読み
取りデータをGPRファイル32、第1のリネームバッ
ファ34、FPRファイル36または第2のリネームバ
ッファ38に書き込む。もしデータキャッシュ16が必
要とされるデータを含んでいなければ、それは該データ
をBIU12を介してデータプロセッサ10の外部のメ
インメモリシステムからフェッチする。
【0019】開示されたデータキャッシュを備えたデー
タプロセッサ10の動作につき図2〜図11を参照して
以下に説明する。一般に、データプロセッサ10は縮小
命令セットコンピュータ(“RISC”)である。デー
タプロセッサ10は各々の命令を一連のより小さなステ
ップに分解し、それぞれのステップは他の命令のステッ
プと時間的にオーバラップできるようにすることによっ
て高い性能を達成する。この性能戦略は「パイプライン
方式(pipe lining)」として知られてい
る。
【0020】示された実施例では、各々の命令は5つほ
どの離散的なステップに分解され、すなわち、フェッ
チ、ディスパッチ、実行、ライトバック、および完了で
ある。命令キャッシュ14内のメモリ管理回路(図示せ
ず)がフェッチフェーズの間に命令フェッチユニット1
8または分岐ユニット20によって識別されるメモリア
ドレスで始まる1つまたはそれ以上の命令を取り出す。
命令フェッチユニット18は各々の命令を許すことので
きないデータの依存性(dependencies)が
ないことを判定した後およびディスパッチフェーズにお
ける命令の結果に対するリネームバッファのエントリを
リザーブした後に各々の命令を適切な実行ユニットに導
く。各々の特定の実行ユニットは実行フェーズの間にそ
のプログラムされた命令を実行しかつ、もしあれば、そ
の結果をライトバックフェーズの間に前記確保されたリ
ネームバッファのエントリに書き込む。最後に、命令フ
ェッチユニット18は特定の命令に先行するそれぞれの
命令がそのようにアーキテクチャレジスタファイルを更
新した後にリネームバッファに格納された特定の命令の
結果によってアーキテクチャレジスタファイルを更新す
る。一般に、各々の命令フェーズは1つのマシンクロッ
クサイクルを必要とする。しかしながら、いくつかの命
令は実行するのに1つより多くのクロックサイクルを必
要とし、一方他のものは5つ全てのフェーズを必要とし
ない。また、種々の命令が完了するのに必要とする時間
の範囲のため特定の命令のライトバックフェーズと完了
フェーズとの間で遅延が生じ得る。
【0021】2.データキャッシュ A.概観 図2は、図1に示されたデータキャッシュ16のブロッ
ク図を示す。命令キャッシュ14およびデータキャッシ
ュ16は実質的に同じであることに注目すべきである。
2つの構造の間の相違は主としてそれらに格納された情
報の使用方法に依存する。ブロックアドレス変換器
(“BAT”)42、実効−実アドレス変換器(“ER
AT”)44、およびデータアレイ46はデータプロセ
ッサ10の各々のクロックサイクルの間にロード/スト
アユニット28からデータアクセスの実効アドレスを受
信する。2:1マルチプレクサ(MUXと名付けられて
いる)48はアーキテクチャ化された決まりにしたがっ
てBAT42によってまたはERAT44によって発生
されるアドレス変換出力を選択する。アドレス変換と平
行して、データアレイ46はキャッシュラインおよび提
示された実効アドレスに関連する関連の実アドレスタグ
を出力する。比較器50はマルチプレクサ50によるア
ドレス変換出力およびデータアレイ46による実アドレ
スタグ出力を受信する。もしアドレス変換出力および実
アドレスタグが論理的に等価であれば、ロード/ストア
ユニット28へのデータ出力は実際に要求されたデータ
である。比較器50はこの場合DCACHE HITを
肯定する。もし前記アドレス変換出力および前記実アド
レスタグが論理的に等価でなければ、ロード/ストアユ
ニット28へのデータ出力は要求されたデータではな
い。比較器50はこの場合DCACHE HITを否定
する(de−asserts)。この第2の場合に、B
IU12はメモリシステム(図示せず)からデータを要
求することになる。BIU12はいったんそれがメモリ
システムから該データを受信すると該データをデータア
レイ46に書き込むことになる。
【0022】BAT42およびERAT44はロード/
ストアユニット28によってそれらに提供された各々6
4ビットの実効アドレスの52の最上位ビット(“MS
B”)を変換しようと試みる。もし首尾よく変換されれ
ば、BAT42およびERAT44は前記提供された実
効アドレスに対応する実アドレスの28のMSB、実ペ
ージナンバ(“RPN”)を発生する。各々の構造はま
た首尾よい変換を示すヒット信号を肯定することにな
る。BAT42はもしそれが首尾よく実効アドレスを変
換すれば制御信号BAT HITを肯定する。ERAT
44はもしそれが首尾よく実効アドレスを変換すれば制
御信号ERAT HITを肯定する。特定の実効アドレ
スの全40ビットの実アドレスは実効アドレスのRPN
と該実効アドレスの12の最下位ビット(“LSB”)
とを連結することにより発生される。パワーPCアーキ
テクチャにおいては、BAT42によって変換されるア
ドレスは、もしあれば、ERAT44によって変換され
るアドレスに対し優先する。したがって、前記制御信号
BAT HITは該制御信号が肯定されたときマルチプ
レクサ48にBAT42によって発生されたRPNを出
力させる。逆に、前記制御信号BAT HITは否定さ
れたときにマルチプレクサ48にERAT44によって
発生されたRPNを出力させる。もしBAT42もER
AT44も首尾よく特定の実効アドレスに変換されなけ
れば、2次アドレス変換ユニット40が前記実効アドレ
スの変換を試みる。制御信号BAT HITおよびER
AT HITはこの動作を可能にするために2次アドレ
ス変換ユニット40に導かれる。BAT42は図3〜図
7を参照して以下により詳細に説明する。ERAT44
は図8を参照して以下により詳細に説明する。2次アド
レス変換ユニット40は図9〜図11を参照して以下に
より詳細に説明する。
【0023】データアレイ46は8ウェイセット連想キ
ャッシュ(eight−way set associ
ative cache)のように動作する物理的にイ
ンデクスされる半連想(semi−associati
ve)キャッシュである。データアレイ46は各々4つ
のクワドワード(quad−words)のデータを格
納する512のキャッシュラインを含む。512のキャ
ッシュラインは2つのバンクの32のキャムレット(c
amlets)に編成される。各々のキャムレットは8
つのキャッシュラインを含む。4つのクワドワードのデ
ータごとに特定のキャムレットの8個の異なるキャッシ
ュのいずれかにマッピングすることができる。データア
レイ46の各々のキャッシュラインは連想メモリ(co
ntent addressable memory:
CAM)に実アドレスタグ(REAL ADDRESS
TAG)を格納し、CAMに実効アドレスタグ(EF
FECTIVE ADDRESS TAG)を格納し、
かつ1行のスタティックランダムアクセスメモリ(“S
RAM”)ビットのセルに4つのクワドワードのデータ
を格納する。各々の実アドレスタグは前記キャッシュラ
インエントリの実アドレスの28の最上位ビットを含
む。各々の実効アドレスタグは前記キャッシュラインエ
ントリの実効アドレスの8個の最上位ビットを含む。
【0024】データアレイ46はロード/ストアユニッ
ト28がそれに提供する各々の実効アドレスに対する実
効アドレスビット(52:57)によって1つのキャム
レット内にインデクスを行なう。同時に、データアレイ
は実効アドレスビット(44:51)を1つの選択され
たキャムレット内の8つの実効アドレスタグのうちの1
つと整合するよう試みる。もしデータアレイ46が実効
アドレスタグが前記1つのキャムレットにおいて整合を
検出すれば、実効アドレスヒットが生じかつデータアレ
イ46は制御信号「実効アドレスヒット(EFFECT
EIVE ADDRESS HIT)」を肯定する。こ
の場合、データアレイ46は関連する128ビットをロ
ード/ストアユニット28に出力する。この時点で、前
記実効アドレスヒットが唯一の可能なヒットである。前
に述べたように、比較器50は各々の実効アドレスヒッ
トが実際のデータキャッシュヒットであるか否かをマル
チプレクサ48によるRPN出力および前記選択された
1つのキャムレットの実効アドレスタグを比較すること
により判定する。もしアレイ50が前記1つのキャムレ
ットにおいて実効アドレスタグの整合を検出しなけれ
ば、キャッシュミス(cache miss)が生じか
つデータアレイ46は制御信号「実効アドレスヒット」
を否定する。この場合、BIU12は前記RPNおよび
前記提供された実効アドレスの12のLSBを連結する
ことによって発生される40ビットの実アドレスで始ま
るデータを要求する。
【0025】B.ブロックアドレス変換器 i.概観 図3は、図2に示されたBAT42のブロック図を示
す。第1の動作モードにおいては、BAT42は単一ペ
ージより大きな仮想アドレスの範囲を実記憶装置の連続
する領域へとマッピングするためのメカニズムを提供す
る。BAT42はロード/ストアユニット28からの入
力実効アドレスを4つの可能な実アドレスロケーション
にマッピングするための4つのエントリを含む。この動
作モードは「実効モード」と称される。第2の動作モー
ドにおいては、BAT42は単に入力実効アドレスをそ
の出力に実アドレスとして通過させる。このモードは
「実モード」と称される。これら2つのアドレシングモ
ードは制御信号「実モード(REAL MODE)」に
よって制御される。ユーザビジブル(user−vis
ible)の特別目的のレジスタ(図示せず)の単一の
ビットが前記制御信号「実モード」を発生する。
【0026】BAT42における前記4つのエントリの
各々の1つは47ビットのブロック実効ページインデク
ス(“BEPI”)、11ビットのブロック長タグ
(「BLタグ)」および23ビットのブロック実ページ
番号(“BRPN”)を格納する。BAT42における
各々のエントリはまた該エントリのBRPNによって参
照される実メモリ空間のある特性を規定する種々のビッ
ト(図示せず)を格納する。これらのビットは開示され
た発明には関連がない。前記4つのBEPIはCAM構
造に格納される。前記4つのBLタグおよび4つのBR
PNはSRAMビットセルに格納される。特定のエント
リのBRPNは以下に説明するように該エントリのBE
PIの内容を入力実効アドレスと整合することにより読
み取られる。特定のエントリのBRPNは制御信号BA
T2進選択(BAT BINARYSESECT)によ
って前記エントリの2進インデクス(000〜111)
を入力するこによりかつ適切な入力データをBRPNに
提供することにより書き込まれる。
【0027】実効−実アドレス変換の間に、各々の提供
された実効アドレスの36のMSBは常に前記4つのB
EPIの36のMSBに対して整合される。しかしなが
ら、パワーPCアーキテクチャにおいては、BEPIの
11の最下位ビットの各々は前記BLタグに格納された
データに依存して対応する11の実効アドレスビットに
対して整合されてもよくあるいは整合されなくてもよ
い。この特徴はデータプロセッサのユーザに異なるブロ
ックサイズを定義できるようにする。例えば、もし前記
第2のエントリのBLタグが論理的に(000 000
0 0011,MSB〜LSB)に等価であれば、前記
第2のエントリのBEPIの45のMSB(36+9)
は前記第2のエントリのBRPNを選択するために前記
入力実効アドレスの45のMSBと整合しなければなら
ない。この場合、該ブロックはサイズが512KBであ
る。もし第2のエントリのBLタグが論理的に(000
0001 1111,MSB〜LSB)と等価であれ
ば、前記第2のエントリのBEPIの42のMSB(3
6+6)は第2のエントリのBRPNを選択するために
入力実効アドレスの42のMSBと整合しなければなら
ない。この場合、前記ブロックはサイズが4MBであ
る。BAT42の各々のエントリは異なる値を持っても
よいことが理解されるべきである。
【0028】BAT42は2つの場合にアドレス変換の
目的で23ビットのデータストリームを出力する。第1
に、BAT42は関連するBEPIが入力実効アドレス
と整合すれば、およびデータプロセッサ10が仮想モー
ド(virtual mode)で動作していればBR
PNを出力する。仮想モードにおいては、BAT42は
BRPNの12のMSBをもしマスクされていなければ
残りのBRPNのLSBとあるいはもしマスクされてい
れば対応する実効アドレスビットと連結することにより
ビットごとのベースで発生する。上記最初の例において
は、BRPNは(1)選択されたBRPNの12のMS
B、(2)選択されたBRPNの9個の次のMSB、そ
して(3)実効アドレスビット(45:46)、の連結
から構成される。上に述べた第2の例においては、BR
PNは(1)選択されたBRPNの12のMSB、
(2)選択されたBRPNの6個の次のMSB、および
(3)実効アドレスビット(42:46)、から構成さ
れることになる。第2に、BAT42はデータプロセッ
サ10が実モードで動作していれば入力実効アドレスの
23のMSBを出力する。マルチプレクサ48(図2)
によって受信されるRPNはそれ自体上に述べたBRP
Nと実効アドレスビット(47:51)の連結である。
【0029】ii.バランス型マスク可能/マスク不可
能CAM 図4は、図3に示されたBAT42の第1の部分の回路
図を示す。図4は、BAT42の第1のエントリの36
番目および37番目のCAMセルを示す。CAMセル5
2は第1のエントリのBEPIの36番目のビットをビ
ットセル54に格納する。上に述べたように、CAMセ
ルは常に実効アドレスの36番目のビットとビットセル
54に格納されたデータを比較する。したがって、CA
Mセル52はマスク可能である必要はない。CAMセル
56は最初のエントリのBEPIの37番目のビットを
ビットセル58に格納する。上に述べたように、CAM
セルは実効アドレスの37番目のビットとビットセル5
8に格納されたデータとを比較しても良くあるいは比較
しなくてもよい。この条件的な比較は前記第1のエント
リのBLタグのMSBの値に依存する。したがって、C
AMセル52はマスク可能でなければならない。より機
能的ではあるが、CAMセル56は一般にCAMセル5
2と同じくらい高速である。この特徴は性能を低下させ
ることなしに設計を単純化する。
【0030】CAMセル52のすぐ左にCAMセル52
と同じ35のCAMセルがあることが理解されるべきで
ある。これらのCAMセルは前記第1のエントリのBE
PIの第1〜第35のビットを格納する。この構造はC
AMセル52の左側への水平方向の省略符号によって反
映されている。同様に、CAMセル56のすぐ右側にC
AMセル56と同じ10のCAMセルがある。これらの
CAMセルは前記第1のエントリのBEPIの38番目
〜47番目のビットを格納する。この構造はCAMセル
56の右側への水平方向の省略符号によって反映されて
いる。これら10個のCAMセルの配置は第1のエント
リに対する11のBLタグのビットを格納する11ビッ
トのセルと交互になっている。BAT42のレイアウト
は図7に関連して以下に説明する。また、示された部分
的な行の下に3行のCAMセルおよびBLタグビットの
セルがある。これら3行は前記第2、第3および第4番
目のBEPIおよび前記第2、第3および第4のBLタ
グを格納する。この構造はCAMセル52および56の
下の垂直方向の省略符号によって反映されている。
【0031】図4によって説明を続けると、ビットセル
54は格納された論理状態およびその補状態(comp
lement)を、それぞれ、データ信号(“D”と名
付けられている)およびデータバー(data−ba
r)信号(“*D”と名付けられている)によって出力
する。なお、ここで記号“*”は信号の補状態を示すも
のとして、一般に使用されるオーバーに対応する。前記
データ信号はパスゲート60のn形装置にかつパスゲー
ト62のp形装置に接続されている。前記データバー信
号はパスゲート60のp形装置におよびパスゲート62
のn形装置に接続されている。パスゲート60の第1の
電流電極はインバータ64の出力に接続されている。イ
ンバータ64の入力はNANDゲート66の出力に接続
されている。NANDゲート66の第1の入力は周期的
なクロック信号、「クロック(CLOCK)」を受信す
る。NANDゲート66の第2の入力はインバータ68
の出力に接続されている。インバータ68の入力は実効
アドレスEAの36番目のビットを受信する。(EA
(0)は実効アドレスの第1のビットである)。パスゲ
ート62の第1の電流電極はインバータ70の出力に接
続されている。インバータ70の入力はNANDゲート
72の出力に接続されている。NANDゲート72の第
1の入力は前記周期的なクロック信号、「クロック(C
LOCK)」を受信する。NANDゲート72の第2の
入力は実効アドレスの36番目のビットを受信する。パ
スゲート60および62の各々の第2の電流電極はn形
トランジスタ74の制御電極に接続されている。トラン
ジスタ74の第1の電流電極は前記第1のエントリのC
AMセルに共通な整合ライン(マッチライン:matc
hline)ノードに接続されている。該整合ラインノ
ード上に存在する電圧は信号「マッチライン(MATC
HLINE)」を発生する。トランジスタ74の第2の
電流電極は、伝統的にグランドとして示されている、第
1の電源電圧を受ける。
【0032】ビットセル58はまた記憶された論理状態
およびその補状態を、それぞれ、データ信号(“D”と
名付けられている)およびデータバー信号(“*D”と
名付けられている)によって出力する。前記データ信号
はパスゲート76のn形装置にかつパスゲート78のp
形装置に接続されている。前記データバー信号はパスゲ
ート76のp形装置におよびパスゲート78のn形措置
に接続されている。パスゲート76の第1の電流電極は
NANDゲート80の出力に接続されている。NAND
ゲート80の第1の入力は周期的なクロック信号、クロ
ック(CLOCK)を受信する。NANDゲート80の
第2の入力はインバータ82の出力に接続されている。
インバータ82の入力は実効アドレスEAの37番目の
ビットを受信する。パスゲート78の第1の電流電極は
NANDゲート84の出力に接続されている。NAND
ゲート84の第1の入力は周期的なクロック信号、クロ
ック(CLOCK)を受信する。NANDゲート84の
第2の入力は実効アドレスEAの37番目のビットを受
信する。各々のパスゲート76および78の第2の電流
電極はNORゲート86の第1の入力に接続されてい
る。NORゲート86の第2の入力は第1のエントリの
BLタグの第1のビット、BL(0)を受信する。NO
Rゲート86の出力はn形トランジスタ88の制御電極
に接続されている。トランジスタ88の第1の電流電極
は整合ライン(matchline)ノードに接続され
ている。トランジスタ88の第2の電流電極は第1の電
源電圧を受信する。
【0033】CAMセル52および56は3つの機能、
比較、書き込みおよび読み出し、を行なう。
【0034】比較動作(前記周期的クロッキング信号、
「CLOCK」はハイ論理状態に対応する)において
は、実効アドレスの47のMSBは前記4つのBEPI
の各々の47の格納されたビットと比較される。もし実
効アドレスおよび記憶されたデータビットの47全ての
対がBAT42の特定のエントリにおいて論理的に等価
であれば、該エントリの整合ラインノードはプリチャー
ジされた状態(ハイ)に留まっていることになる。前記
整合ラインノードに存在する電圧は次にバッファリング
されて前記エントリのBRPNビットセルを一連の出力
ビット線に結合する制御信号をドライブすることができ
るようになる。もし実効アドレスおよび格納されたデー
タビットのいずれか1つまたはそれ以上の対がBAT4
2の特定のエントリにおいて論理的に等価でなければ、
前記特定のエントリの整合ラインノードはグランドに放
電することになる。この場合、前記エントリのBRPN
ビットセルは前記出力ビット線に結合されないであろ
う。CAMセル52および56は異なる構成を有するこ
とに注目すべきである。パスゲート60および62は入
力実効アドレスの論理的補をトランジスタ74の制御電
極に受け渡す。逆に、パスゲート76および78は入力
実効アドレスビットをNORゲート86の第1の入力に
受け渡す。この差はCAMセル56が前記第1のBLタ
グビットがハイ論理状態に対応する場合に整合ラインノ
ードを放電しないようにする。
【0035】ビットセル50の内容はビット線をビット
セル54の書込みポート(いずれも示されていない)に
接続することにより書き込むことができる。典型的に
は、「BAT2進選択(BAT BINARY SEL
ECT)」信号のデコードされたものが使用されてこの
接続を達成する。ビット線上に存在するどのような論理
状態もビットセル54に書き込まれる。逆に、ビットセ
ル54の内容はビット線をビットセル54の書込みポー
トに接続しかつセンスアンプ(いずれも示されていな
い)をビット線に接続することによって読み取ることが
できる。
【0036】iii.分散型マルチプレクサ(Dist
ributed multiplexer) 図5は、図3に示されるBAT42の第2の部分の回路
図を示す。図5は、BAT42の第1のエントリのN番
目のBRPNビットセル92に関連する分散型マルチプ
レクス回路90を示し、ここでNは整数の指数である。
ビットセル92は前記第1のエントリのBRPNのN番
目のビットを格納する。上に述べたように、BAT42
はあるエントリのBRPNの12のMSBを、もしその
エントリが整合動作において選択されれば、常に出力す
る。BAT42はまた該エントリのBLタグに応じて残
りの11のLSBのいくつかを出力する。もしBAT4
2が前記残りの11のBRPNビットのうちの特定の1
つを出力しなければ、それは対応する実効アドレスを出
力する。図示された回路は前記エントリが同時にCAM
動作を行なう間に各々の実効アドレスおよびBRPNビ
ット対の間で多重化する。BAT42はこの多重化動作
をそれがCAM動作を行なうよりも速く行なうことがで
きる。したがって、ブロック長機能に関連する時間ペナ
ルティはCAM動作の下におよびデータキャッシュ16
のスピードパス(speed path)から隠され
る。
【0037】BAT42の第1のエントリにおいて図5
に示されたものと同じ10の他の回路があることを理解
すべきである。これら11の回路は第1のエントリのB
RPNの11のLSBを格納しかつ出力する。この構造
は図5に示された回路の左側および右側の水平方向の省
略符号によって反映されている。また、図示された部分
的行の下に3つの行の11の分散された多重化回路90
がある。これら3つの行は前記第2、第3および第4の
BRPNの11のLSBを格納する。この構造は分散さ
れた多重化回路90の下の垂直方向の省略符号によって
反映されている。各々のBRPNの36のMSBは単に
1つのビットセル92を含む。図示された実施例は64
ビットのデータプロセッサである。しかしながら、各々
の実アドレスは長さが40ビットのみが許容されてい
る。したがって、各々のBRPNの24のMSBはマル
チプレクサ48に接続されていない。
【0038】図5によって説明を続けると、ビットセル
92のデータバー出力信号(“*D”と名付けられてい
る)はインバータ94の入力に接続されている。(図示
しないビットセル92のデータバー出力信号は書込みポ
ートとして使用される。)インバータ94の出力はパス
ゲート96の第1の電流電極に接続されている。第1の
エントリのBLタグのN番目のビット、BL(N)はイ
ンバータ98の入力、パスゲート96のp形装置、およ
びパスゲート100のn形装置に接続されている。イン
バータ98の出力はパスゲート96のn形装置におよび
パスゲート100のp形装置に接続されている。各々の
バスゲート96および100の第2の電流電極はn形ト
ランジスタ102の制御電極に接続されている。トラン
ジスタ120の第1の電流電極はn形トランジスタ10
4の第1の電流電極に接続されている。トランジスタ1
02の第2の電流電極は第1の電源電圧を受ける。トラ
ンジスタ104の制御電極は図4に関して上に説明した
制御信号「整合ライン(MATCHLINE)」のバッ
ファリングされたもの(buffered versi
on)を受ける。トランジスタ104の第2の電流電極
はN番目のビット線(「ビット線(N)」と名付けられ
ている)に接続されている。該N番目のビット線は図6
に関して以下にさらに詳細に説明する。
【0039】分散されたマルチプレクサ回路90は2つ
の機能、比較/読出し、および書き込み、を行なう。
【0040】比較/読出し動作においては、4つの「整
合ライン」信号の内の1つは4つの「整合ライン」信号
の内のその1つに対応するBEPIが入力実効アドレス
と整合すればプリチャージされた状態に留まる。この場
合、トランジスタ104はトランジスタ102の第1の
電流電極を前記出力ビット線に接続する。もしBLタグ
のN番目のビットがロー論理状態に対応すれば、N番目
のビットセル92のデータ信号出力(前記データバー出
力信号の反転)はトランジスタ102の制御電極へと渡
される。もし前記BLタグのN番目のビットがハイ論理
状態に対応すれば、実効アドレスのN番目のビットはト
ランジスタ102の制御電極へと受け渡される。両方の
場合において、回路(図示せず)がトランジスタ102
の第1の電流電極をハイ論理状態にプリチャージする。
N番目のビット線の出力の論理状態は前記N番目のビッ
トセル92の論理的補またはN番目の実効アドレスビッ
トである。(この出力は図6に関して説明したように反
転される。)前記4つの整合ライン信号のうちの1つは
前記4つの整合ライン信号のうちの1つに対応するBE
PIが入力実効アドレスと整合しなければロー論理状態
に放電される。この場合、トランジスタ104はトラン
ジスタ102の第1の電流電極を出力ビット線に接続し
ない。
【0041】上に述べたように、特定のBRPNの24
のMSBはマルチプレクサ48に接続されていない。特
定のBRPNの次の12のMSBはもし前記CAM整合
動作がその特定のBRPNを選択すれば常に出力され
る。これら12のビットに対してはBLタグビットはな
い。したがって、インバータ98の入力、パスゲート9
6のn形装置、およびパスゲート100のp形装置はハ
イ論理状態に対応する電圧レベルを受信する。これは分
散型マルチプレクサ回路90にビットセル92のデータ
バー出力を出力させる。
【0042】ビットセル92の内容はビット線信号を書
込みポート(図示せず)に接続することによって書き込
むことができる。典型的には、「BAT2進選択(BA
TBINARY SELECT)」信号のデコードされ
たものが使用されてこの接続を行なう。前記ビット線信
号上に存在する論理状態がビットセル92に書き込まれ
る。
【0043】iv.実モードバイパス回路 図6は、図3に示されるBAT42の第3の部分の回路
図を示す。図6は前記N番目のBRPNビット線に接続
されたバイパス回路106を示している。図4および図
5に関して説明したように、BAT42は特定のエント
リのBEPIが入力実効アドレスと整合すれば該特定の
エントリの23のBRPNビットを23のビット線によ
って出力する。この動作モードは「実効モード(eff
ective−mode)」と称される。バイパス回路
106はまた前記実効アドレスがマルチプレクサ48へ
と出力されるべき経路を提供する。この動作モードは
「実モード(real−mode)」と称される。バイ
パス回路106はこの出力経路をビット線とマルチプレ
クサ48との間に2:1の付加的なマルチプレクサを加
えることなしにかつ2:1のマルチプレクサ48を3:
1のマルチプレクサによって置き換えることなしに提供
する。
【0044】図6に示されたものと同じ46の他のバイ
パス回路があることが理解されるべきである。これら4
6のバイパス回路はBAT42の他の46のBRPNビ
ット線に接続されている。この構造は図6に示された回
路の左および右側の水平方向の省略符号によって反映さ
れている。該BRPNビットは対応するトランジスタ1
04を通してそれらのそれぞれのビット線に接続されて
いる。BAT42の前記4つのエントリの各々のN番目
のBRPNビットはN番目のビット線に接続されてい
る。前に述べたように、BRPNの24のMSBは図示
された実施例では実施されていない。これら24のビッ
ト線はマルチプレクサ48に接続されていない。23の
LSBビット線のみがマルチプレクサ48へと出力され
ている。
【0045】図6によって説明を続けると、バイパス回
路106は第2の電源電圧(VDDと名付けられてい
る)および前記第1の電圧レベルの間に直列に接続され
た5つのトランジスタ108,110,112,114
および116を有する。特に、トランジスタ108の第
1の電流電極は第2の電源電圧を受ける。トランジスタ
108の第2の電流電極はトランジスタ110の第1の
電流電極に接続されている。トランジスタ110の第2
の電流電極はトランジスタ112の第1の電流電極に接
続されている。トランジスタ112の第2の電流電極は
トランジスタ114の第1の電流電極に接続されてい
る。トランジスタ114の第2の電流電極はトランジス
タ116の第1の電流電極に接続されている。トランジ
スタ116の第2の電流電極は第1の電源電圧を受け
る。トランジスタ108および116の制御電極はBA
T42に提供される実効アドレスEAのN番目のビット
を受ける。トランジスタ110の制御電極およびトラン
ジスタ112の制御電極は、それぞれ、周期的なクロッ
ク信号「クロック(CLOCK)」およびその論理的補
信号を受ける。トランジスタ114の制御電極は制御信
号「実モード(REALMODE)」を受ける。トラン
ジスタ118の第1および第2の電流電極は、それぞ
れ、トランジスタ108の前記第1および第2の電流電
極に接続されている。トランジスタ118の制御電極は
前記制御信号「実モード」を受ける。トランジスタ11
0の第2の電流電極はN番目のBRPNビット線に接続
されている。トランジスタ108,110および118
はp形装置である。トランジスタ112,114および
116はn形装置である。前記N番目のビット線は第1
のインバータ120の入力に接続されている。インバー
タ120の出力はマルチプレクサ48におよび第2のイ
ンバータ122の入力に接続されている。インバータ1
22の出力はインバータ120の入力に接続されてい
る。
【0046】バイパス回路106は2つのモード、実効
モードおよび実モード、で動作する。両方のモードにお
いて、バイパス回路106は前記周期的クロック信号C
LOCKがハイ論理状態に対応(およびロー論理状態に
対応)する場合にビット線をプリチャージする。バイパ
ス回路106は次に前記周期的クロック信号CLOCK
がロー論理状態に対応する(およびハイ論理状態に対応
する)場合に前記ビット線出力を判定または「評価(e
valuates)」する。実効モードにおいては、ユ
ーザビジブルな特別目的レジスタ(図示せず)における
単一のビットが前記制御信号「実モード(REAL M
ODE)」を否定しBRPNビット線が選択されたBR
PNを出力するようにさせる。トランジスタ110およ
び118はビット線をハイ電圧レベル(VDD)にプリ
チャージする。前記選択されたBRPNの各ビットは該
ビットの値に応じて各々の対応するビット線を放電して
も良くまたは放電しなくてもよい。実モードにおいて
は、前記制御信号「実モード(REAL MODE)」
が肯定されかつBRPNビット線が入力実効アドレスE
Aを出力するよう動作する。トランジスタ108および
110はもし前記N番目の実効アドレスビットの値がロ
ー論理状態に対応すればビット線をハイ電圧レベル(V
DD)にプリチャージする。逆に、トランジスタ114
および116は前記N番目の実効アドレスビットの値が
ハイ論理状態に対応すればビット線をロー電圧レベル
(ground)にプリチャージする。前記4つのバッ
ファード整合ライン信号は制御信号「実モード」の補信
号によってゲーティングされ1つまたはそれ以上のBR
PNの内容が実モードにおいてビット線を放電すること
を防止する。
【0047】v.ブロックアドレス変換器レイアウト 図7は、図2に示されたBAT42のビットセルレイア
ウトのブロック図を示す。前記マスク可能BEPIビッ
トセルおよび前記多重化BRPNビットセルに対するB
Lタグのビットセルの配列はビットセルの相互接続の複
雑さを低減する。この単純化された相互接続は得られる
回路の寸法および容量を低減し、それによってその総合
性能を増大する。
【0048】図示された実施例では、データプロセッサ
10は64ビットのデータプロセッサである。したがっ
て、BAT42はBAT42の各々のエントリ(エント
リ0(ENTRY0)〜エントリ3(ENTRY3)と
名付けられている。)を構成するBEPI,BLタグ,
BRPNおよび種々の他のビットを格納するために2つ
の64ビットのレジスタ(上位または上部(UPPE
R)および下位または下部(LOWER)と名付けられ
ている)を使用する。BAT42の「ゼロ番目の」エン
トリに対応する2つのレジスタのみを以下に説明する。
しかしながら、残りの3つのエントリも同じであること
が理解されるべきである。
【0049】図7によって説明を続けると、各々のBL
タグのビットセルはそれがマスクするBEPIビットセ
ルのすぐ右側に位置している。例えば、第1のまたは
「ゼロ番目の」BLタグビットセル、BL0、は37番
目のBEPIビットセル、BEPI36、のすぐ右に位
置している。上に述べたように、BEPIの36のMS
Bは常に入力実効アドレスEAと比較される。これらの
BEPIビットは対応するBLタグビットを持たない。
したがって、BEPIの36のMSBを格納する36の
CAMセルは間断なくレイアウトされている。36番目
および37番目のCAMセルは図4に関して前に説明さ
れている。
【0050】また、BRPNを格納するビットセルの各
々は対応するBEPIビットの下に整列されている。例
えば、37番目のBRPNビットセル、BRPN36、
は37番目のBEPIビットセル、BEPI36、のす
ぐ下に位置している。前に述べたように、BRPNの1
2のMSB(BRPN24〜BRPN35)は首尾よい
整合の後に常に出力される。これらのBRPNビットは
対応するBLタグビットを持たない。したがって、前記
BRPNの12のMSBを格納する12のSRAMビッ
トセルは間断なくレイアウトされている。(マルチプレ
クサ48に接続されていないBRPNの24のビット、
BRPN0〜BRPN23、もまた間断なくBRPNの
前記12のMSBを格納するビットセルのすぐ左にレイ
アウトされている。)多重化されたBRPNビットセル
は図5に関して前に説明されている。
【0051】「他のビット(OTHER BITS)」
と名付けられたビットセルは変換されたアドレスへのア
クセス権、関連するBRPNの有効性、その他を記述す
る情報を格納する。各々のエントリの「整合ライン(M
ATCHLINE)」制御信号は上部64ビットのレジ
スタの右側を出てドライバ回路124に入っている。ド
ライバ回路124は該制御信号「整合ライン」をバッフ
ァリングし、それを制御信号「実モード(RAEL M
ODE)」および「BAT2進(BAT BINAR
Y)」(図示せず)によってゲーティングし、かつそれ
を両方の64ビットのレジスタに戻す。
【0052】マスク可能BEPI CAMセルおよびB
Lタグビットセルのインタリーブ、および多重化された
BRPNビットセルおよびBLタグビットセルの整列に
よってBLタグビットとそれらを使用する種々の回路と
の間の距離を低減することができる。また、実効アドレ
スの各々のビットを対応するBEPI CAMセル(整
合のために)および対応するBRPNビットセル(格納
されたBRPNビットとの多重化のために)の双方に導
くのに単一の入力ラインを必要とするのみである。これ
によって得られる相互接続は単純化される。この相互接
続の戦略は少なくとも3つの利点を有する。第1に、相
互接続のためにより少ない金属層を必要とするのみであ
り、それは大部分の相互接続はローカルまたはほぼロー
カル、すなわち、隣接回路間のもの、であるためであ
る。第2に、より少ない相互接続はBAT42の総合的
なサイズを低減する。より小さなサイズは回路面積に関
して回路のコストを低減する。第3に、より短いかつよ
り少ない相互接続は得られる回路の容量を低減する。低
減された容量はBAT42が動作できる最大周波数を増
大させる。
【0053】C.実効−実−アドレス変換器(Effe
ctive−to−Real−Address Tra
nslator) 図8は、図2に示されたERAT44のブロック図を示
す。ERAT44は64の最近使用された実効−実アド
レス変換をキャッシュ記憶する。これら64の変換のう
ちのいずれか1つを単一のルックアップ操作によってア
クセスすることが可能であり、この場合中間的な仮想ア
ドレス変換ステップは必要ではない。しかしながら、E
RAT44はエントリ無効化操作をセグメントおよびペ
ージの細分性(granularity)でサポートす
る。したがって、ERAT44は高速でありかつページ
ング/セグメンテーション変換機構と両立する。
【0054】ERAT44は64のエントリのCAM/
SRAM構造である。各々のエントリは第1の整合ライ
ン(matchline)に接続され実効セグメント識
別子または“ESID”を格納する36のCAMセル、
第2の整合ラインに接続され実効ページ識別子または
“EPI”を格納する16のCAMセル、有効エントリ
ビットを格納するVビット(V−BIT)セル、ワード
線ドライバ、1行のSRAMデータビットセル、および
エントリ置換えポインタを格納する「置換えポインタ
(REPLACEMENT POINTER)」ビット
セルを含む。実効アドレスのESIDは該実効アドレス
の36のMSBである。1つの実効アドレスのEPIは
該実効アドレスの次の16のMSB、EA(36:5
1)である。各々のESIDおよびEPI CAMセル
は図4に示されたCAMセル52と同じである。しかし
ながら、各々のエントリの36のESID CAMセル
は第1の整合ラインに接続されている。各々のエントリ
の16のEPI CAMセルは第2の整合ラインに接続
されている。各々のカテゴリのCAMセルは独立にその
それぞれの整合ラインを放電する。ERAT44の各々
のエントリは1つの実効ページをデータフィールドに格
納されたRPNにマッピングする。該マッピングされた
実効アドレスの36のMSBは前記ESID CAMに
格納される。前記マッピングされた実効アドレスの次の
16のMSBは前記EPI CAMに格納される。該変
換のための対応する実ページ番号はデータアレイに格納
される。実アドレスは前記RPNを実効アドレスの12
のLSBと連結することにより前記RPNから発生され
る。ERAT44はまた、アクセス特権(access
privileges)、キャッシュ可能性(cac
heability)、その他のような、得られるペー
ジに関する属性を記述する種々のビットを出力する。
【0055】ERAT44は5つの機能、変換、ミスの
後の再充填(refill)、セグメントルックアサイ
ドバッファ無効化エントリ(“SLBIE”)、テーブ
ルルックアサイドバッファ無効化エントリ(“TLBI
E”)、およびセグメントルックアサイドバッファ全無
効化(“SLBIA”)、を行なう。BIU12、デー
タキャッシュ16、および命令フェッチユニット18は
ERAT44が行なおうとする機能に依存して信号「制
御(CONTROL)」を発生する。
【0056】ERAT44はデータキャッシュ16がロ
ードまたはストア命令を行なう場合に変換操作を行な
う。変換操作においては、ERAT44は命令のメモリ
ロケーションの実効アドレスに対応するRPNを出力し
ようと試みる。ERAT44は前記実効アドレスの36
のMSBを各々のESIDに適用することによりおよび
次の16のMSBを各々のEPIに適用することにより
それが必要なマッピングを含んでいるかを判定する。も
し特定の有効なエントリのESIDおよびEPIの双方
が入力実効アドレスと整合すれば、前記第1および第2
の整合ラインの双方がプリチャージ状態に留まることに
なる。次に前記特定のエントリのワード線ドライバが該
エントリのワード線を肯定し、対応するデータフィール
ドのビットセルを出力ビット線に結合し、かつ最終的
に、マルチプレクサ48に結合する。前記特定のエント
リのワード線ドライバは制御信号「ERATヒット(E
RAT
【0057】HIT)」を肯定することになる。もしあ
る特定のエントリのESIDおよびEPIのいずれかま
たは双方が入力実効アドレスと整合しなければ、第1お
よび第2の整合ラインのうちのいずれかまたは双方が放
電される。この場合、前記特定のエントリのワード線ド
ライバは該エントリのワード線を肯定しない。もしいず
れのエントリも整合するマッピングを含まなければ、い
ずれのワード線ドライバ回路も前記「ERATヒット」
を肯定せず、ERATミスとなる。後に説明するよう
に、2次変換ユニット40はERATミスの場合に実効
アドレスを変換しようと試みる。データプロセッサ10
はまた所定の電圧レベルを選択された属性ビットセルの
ビット線に印加することにより特定のエントリの属性ビ
ットを更新するためにこの方法を使用する。
【0058】ERAT44は実効アドレスの変換が不首
尾であったいくらか後の時間にミス後の再充填(ref
ill after miss)操作を行なう。これら
の場合、2次変換ユニット40は将来の使用のために適
切な変換をERATに供給する。2次変換ユニット40
は該変換のESID,EPI,RPNおよび属性データ
を、それぞれ、選択されたエントリのESID CA
M,EPI CAMおよびデータビット線(図示せず)
に供給する。リングカウンタ(図示せず)が置換えのた
めのエントリを選択する。このリングカウンタは順次、
(1)それが無効なVビットエントリに遭遇するか、ま
たは(2)2次変換ユニット40がミス後の再充填操作
を開始するまで、各クロックサイクルに1つのVビット
を調べる。いずれの場合も、前記リングカウンタはその
調査を停止しかつ最後に調べたエントリを指示する。前
記リングカウンタは第1の論理状態を最後に調べたエン
トリの「置換えポインタ(REPLACEMENT P
OINTER)」ビットセルに書き込むことによりおよ
び第2の論理状態を全ての他のエントリに書き込むこと
により最後に調べたエントリを示す。
【0059】ERAT44は命令フェッチユニット18
がSLBIE命令をデコードした場合にセグメントルッ
クアサイドバッファ無効化エントリ操作を行なう。SL
BIE操作においては、ERAT44は特定のセグメン
トまたはESIDに関連する全てのマッピングを無効化
する。ある与えられた瞬間にERAT44には特定のE
SIDに関連する何らかの数のマッピングが存在し得
る。ERAT44は前記特定されたESIDを各々のエ
ントリのESID CAMセルに適用することにより前
記特定されたセグメントに対応する全てのマッピングを
識別する。ERAT44はEPI整合ライン信号を無視
する。もし特定のエントリの入力ESIDおよびESI
D CAMの内容が整合すれば、該エントリの第1の整
合ラインはプリチャージされた状態に留まっている。前
記特定のエントリのワード線ドライバは次に該エントリ
のワード線を肯定し、対応するVビットを無効なエント
リに対応する電圧レベルに結合する。この電圧レベルは
無効なエントリのVビットに書き込まれる。
【0060】ERAT44は命令フェッチユニット18
がTLBIE命令をデコードしたときテーブルルックア
サイドバッファ無効化エントリ操作を行なう。TLBI
E操作においては、ERAT44は特定されたページま
たはEPIに関連する全てのマッピングを無効化する。
ある与えられた瞬間にERAT44には特定のEPIに
関連して何らかの数のマッピングが存在し得る。ERA
T44は特定されたEPIを各々のエントリのEPI
CAMセルに適用することにより特定されたページに対
応する全てのマッピングを識別する。ERAT44はE
SID整合ライン信号を無視する。もし入力EPIおよ
びある特定のエントリのEPI CAMの内容が整合す
れば、該エントリの第2の整合ラインはプリチャージさ
れた状態に留まる。該特定のエントリのワード線ドライ
バは次に該エントリのワード線を肯定し、対応するVビ
ットを無効なエントリに対応する電圧レベルに結合す
る。この電圧レベルは前記無効なエントリのVビットに
書き込まれる。
【0061】ERAT44は命令フェッチユニット18
がSLBIA命令をデコードしたときセグメントルック
アサイドバッファ無効化エントリ操作を行なう。SLB
IA操作においては、ERAT44はERAT44にお
ける全てのマッピングを無効化する。ERAT44はE
SIDおよびEPI整合ライン信号の双方を無視する。
SLBIA操作においては、各々のワード線ドライバは
そのワード線を肯定し、対応するVビットを無効なエン
トリに対応する電圧レベルに結合する。
【0062】3.2次アドレス変換ユニット A.概観 図9は、図1に示された2次アドレス変換ユニット40
のブロック図を示す。2次変換ユニット40はERAT
42がそれが特定の変換、図8に関して上に説明したミ
ス後の再充填操作、を含まないものと判定した場合には
特定の実効−実アドレス変換をERAT42に提供す
る。2次アドレス変換ユニット40は受信した実効アド
レスをパワーPCアーキテクチャの64ビットのページ
ング/セグメンテーション機構にしたがって実アドレス
に変換する。この特定のページング/セグメンテーショ
ン機構においては、各々の実効アドレスは始めに中間ま
たは仮想アドレスに変換され、かつ次に実アドレスに変
換される。とはいえ、この仮想アドレスはアドレシング
のインデクスとして使用されないことに注目すべきであ
る。このページング/セグメンテーション機構の第1の
ステップにおいては、実効アドレスの36のMSB(E
SID)が52ビットの仮想セグメント識別子(“VS
ID”)に変換される。前記仮想アドレスは概念的には
VSIDおよび実効アドレスの28のLSBの連結とし
て考えることができる。前記仮想アドレスは80ビット
幅である。このページング/セグメンテーション機構の
第2のステップでは、前記仮想アドレスの68のMSB
が52ビットの実ページ番号(“RPN”)に変換され
る。前記実アドレスはRPNおよび実効アドレスの12
のLSBの連結である。
【0063】セグメントルックアサイドバッファ(“S
LB”)126は実効アドレスのESIDを受信し、制
御信号セグメントルックアサイドバッファヒット(“S
LB
【0064】HIT”)を発生し、かつ前記入力ESI
Dに関連する仮想セグメント識別子(“VSID TA
G”)を出力する。SLB126は完全連想型の(fu
lly associative)20エントリのCA
M/SRAM構造である。各々のエントリは1つの整合
ラインおよび52のSRAMセルに接続された36のC
AMセルを含む。前記36のCAMセルは36ビットの
ESIDを格納する。前記52のSRAMセルは52ビ
ットのVSIDを格納する。各々のESIDCAMセル
は図4に示されたCAMセル52と同様のものである。
ERAT44の各エントリは1つの実効ページを実ペー
ジにマッピングする。SLB126は図10および図1
1を参照して後に説明する。
【0065】ページテーブルルックアサイドバッファ
(“TLB”)128は実効アドレスのEPIの6つの
LSBを受信しかつ2つのタグデータセットを出力す
る。各々の出力タグ(TAG WAY0,TAG WA
Y1)はEPIの10のMSB(a way page
index))および特定の仮想−実アドレス変換に
関連する仮想セグメント識別子を含む。各々のデータ出
力(DATA WAY0,DATA WAY1)は特定
の仮想−実アドレス変換に関連するRPNおよびアクセ
ス特権、キャッシュ可能性(cacheabilit
y)、その他のような、得られるページについての属性
を記述する種々のビットを含む。TLB128は128
のエントリの2ウェイセット連想SRAMキャッシュで
ある。
【0066】比較器130は、(1)入力実効アドレス
のEPIの10のMSBとVSIDTAGの連結、およ
び(2)TAG WAY0、の論理的等価性を比較す
る。比較器132は、(1)入力実効アドレスのEPI
の10のMSBとVSIDTAGとの連結、および
(2)TAG WAY1、の論理的等価性を比較する。
デコーダ134は比較器130および132の出力を受
信しかつ制御信号「2次ヒット(SECONDARY
HIT)」を発生する。デコーダ134の出力はまたは
マルチプレクサ136の2つの入力のいずれがERAT
42へ出力されるかを選択する。2次変換ユニット40
は実効アドレスおよび制御信号「SLBヒット(SLB
HIT)」および「2次ヒット(SECONDATY
HIT)」をBIU12へと送る。
【0067】図示された実施例では、2次変換ユニット
40は仮想アドレスを実アドレスに変換するのと平行し
て入力実効アドレスを仮想アドレスへと変換する。この
並列戦略は厳格な直列の実効−仮想−実方法よりも高速
である。しかしながら、2次変換ユニット40はそれが
仮想−実変換ステップを開始する場合に仮想アドレスに
おいて推測(guess)を行なわなくてはならない。
【0068】実効−仮想ステップにおいては、SLB1
26は入力ESIDを各々の格納されたESIDと比較
する。もし入力ESIDが格納されたESIDと整合す
れば、SLBヒットが生じる。この場合、SLB126
は該整合するESIDに対応するVSIDを出力する。
SLB126はまた制御信号SLBヒットを肯定する。
もし入力ESIDがいずれの格納されたESIDとも整
合しなければ、SLBミスが生じる。この場合、SLB
126は制御信号SLBヒットを肯定解除または否定す
る。
【0069】仮想−実ステップにおいては、TLB12
8は2つのエントリをインデクスするためにEPIの6
つのLSBを使用する。TLB128の2ウェイセット
連想の性質は特定のVSIDをTLB128の2つのエ
ントリのうちのいずれか1つへと強制する。前記2つの
エントリはVSIDのEPIの6つのLSBによってイ
ンデクスされる。これら2つのエントリはTLBの「推
測(guess)」である。比較器130および132
は前記VSIDの推測の1つが正しいかあるいはいずれ
も正しくないかを判定する。前に述べたように、比較器
130および132は(1)入力実効アドレスのEPI
の10のMSBとのVSID TAGの連結、および、
それぞれ、(2)TAG WAY0またはTAG WA
Y1の論理的等価性を比較する。もし前記推測の1つが
正しければ、TLBヒットが生じる。この場合、デコー
ダ134はマルチプレクサ136に正しく推測されたV
SIDに対応するRPNをERAT42に出力させる。
デコーダ134はまた前記制御信号「2次ヒット(SE
CONDARY HIT)」を肯定する。もし前記推測
のいずれも正しくなければ、TLBミスが生じる。この
場合、デコーダ134は制御信号「2次ヒット(SEC
ONDARY HIT)」を肯定解除または否定する。
【0070】BIU12はもしSLBミスまたはTLB
ミスが生じれば変換マッピングのためにメインメモリを
アクセスする、すなわち「ハードウェアテーブルウォー
ク(hardware tablewalk)」であ
る。データプロセッサ10によって動作しているソフト
ウェアオペレーティングシステムはメインメモリにセグ
メントテーブルおよびページテーブルを確立し、そこに
は全ての許容可能な実効−仮想および仮想−実マッピン
グが、それぞれ、格納されている。SLBミスの場合、
BIU12は第1の特別目的のレジスタ(図示せず)の
内容とESIDの数学的関数(「ハッシュ(has
h)」)との連結によって発生されたアドレスでメイン
メモリにおいて必要な実効−仮想変換を読み取る。TL
Bミスの場合は、BIU12は第2の特別目的のレジス
タ(図示せず)の内容とEPIのハッシュの連結によっ
て発生されるアドレスでメインメモリにおいて必要な仮
想−実変換を読み取る。これらの変換マッピングは次に
後の使用のために、適宜、SLB126およびTLB1
28に格納される。
【0071】B.セグメントルックアサイドバッファ 図10は、図9に示されるSLB126のブロック図を
示す。SLB126はパワーPCの32ビットおよび6
4ビットのアドレス変換モデルと両立する。特に、パワ
ーPCの32ビットのアドレス変換モデルはSLB26
の16のエントリが独自の2進入力によって読み出しか
つ書き込むためにアドレス可能であることを要求する。
SLB26はこのモデルにおいてはレジスタファイルの
ように作用する。逆に、パワーPCの64ビットのアド
レス変換モデルはSLB126の個々のエントリがその
ESIDの内容が入力ESIDと整合した場合または置
換えアルゴリズムがそれが置換えられるべきことを示し
た場合にアクセス可能であることを要求するのみであ
る。SLB26はこのモデルではテーブルのように作用
する。説明したSLBは重大な読出し速度の経路を増大
することなく両方の機能を達成する。
【0072】SLB126は20エントリのCAM/S
RAM構造である。各々のエントリはエントリ置換えポ
インタを格納する置換えポインタ(REPLACEME
NTPOINTER)ビットセル、書込み制御回路、E
SIDを格納する整合ラインに接続された36のCAM
セル、有効エントリビットを格納するVビットセル、ワ
ード線制御回路、およびエントリのESIDに対応する
VSIDを格納する52のSRAMビットセルを含む。
置換えポインタフィールドはリングカウンタとして実施
される。該カウンタの1つのエントリが始めに指定され
かつ第1の論理状態に対応する電圧レベルがそのエント
リの置換えポインタビットセルに書き込まれる。第2の
論理状態に対応する電圧レベルが全ての他の置換えポイ
ンタビットセルに書き込まれる。前記置換えポインタは
VSIDが前のエントリに書き込まれたとき次の順次続
くエントリへと進められる。それ以外では、前記置換え
ポインタは前のエントリを指定し続ける。前記書込み制
御およびワード線制御回路は図11および図12に関連
して後に説明する。
【0073】パワーPCの32ビット変換モデルは最初
の16のエントリがmove−toまたはmove−f
rom命令を使用して書き込みまたは読み出されること
ができることを必要とする。したがって、16分の1
(one−of−sixteen)デコーダ138がS
LB126の最初の16のエントリに接続されている。
(パワーPCアーキテクチャは32ビットの動作モデル
では16のレジスタを規定するのみである。)デコーダ
138はデータプロセッサ10が前記move−toま
たはmove−from命令を実行する場合に2進アド
レスおよび制御信号「2進(BINARY)」を受信す
る。デコーダ138は次に前記命令によって特定される
エントリに接続された16の「デコード(DECOD
E)」制御信号の1つを肯定する。また、マルチプレク
サ140はレジスタ番号または実効アドレスを基準(r
eference)および基準バー(referenc
e−bar)入力ラインにおよび前記ESID CAM
セルのビット線およびビット線バー入力ラインに結合す
る。
【0074】図11は、図10に示されたSLB126
の第1の部分、書込み制御回路142、の論理図であ
る。SLB126の各々のエントリは1つの書込み制御
回路142を含む。ORゲート144は制御信号「行書
込み(WRITE ROW)」を発生する。制御信号
「行書込み」を使用することについては図12に関連し
て後に説明する。ORゲート144の第1の入力はAN
Dゲート146の出力に接続されている。ORゲート1
44の第2の入力はANDゲート148の出力に接続さ
れている。ANDゲート146の第1の入力は該エント
リの置換えポインタビットセルに接続されている。AN
Dゲート146の第2の入力は制御信号「2進(BIN
ARY)」の論理的補信号を受信する。ANDゲート1
48の第1の入力は制御信号「デコード(DECOD
E)」を受信する。デコーダ138はもしmove−t
oまたはmove−from命令がSLB126におけ
るN番目のエントリを命令の、それぞれ、デスティネー
ションまたはソースレジスタとして指定すれば16の
「デコード(DECODE)」制御信号のN番目の1つ
を肯定する。SLB126の最後の4つのエントリは前
記制御信号「デコード(DECODE)」の代りにロー
論理状態に対応する電圧レベルを受ける。ANDゲート
148の第2の入力は制御信号「2進(BINAR
Y)」を受信する。
【0075】図12は、図10に示されたSLB126
の第2の部分、ワード線制御回路150、の論理図を示
す。SLB126の各々のエントリは1つのワード線制
御回路150を含む。ORゲート152の出力は制御信
号「ワード線(WORDLINE)」を発生する。該制
御信号「ワード線」は特定のエントリの各々のビットセ
ルを前記ビット線に結合する。そして、種々のビットセ
ルの内容が動作に応じて書き込みまたは読み出すことが
できる。ORゲート152の第1の入力はANDゲート
154の出力に接続されている。ORゲート152の第
2の入力はANDゲート156の出力に接続されてい
る。ANDゲート154の第1の入力は該エントリの
「行書込み」制御信号を受信する。ANDゲート154
の第2の入力は前記制御信号の論理的補信号を受信す
る。ANDゲート156の第1の入力は制御信号「整合
ライン(MATCHLINE)」を受信する。各々のエ
ントリのESID CAMセルは図4に関して前に述べ
たように整合ライン上の電圧を制御する。ANDゲート
148の第2の入力は前記制御信号を受信する。
【0076】図10に戻ると、SLB126はそのデュ
アルバッファレジスタファイルの性質を反映した4つの
機能、SLB書込み、SLB読出し、セグメントレジス
タ書込み、およびセグメントレジスタ読出し、を行な
う。パワーPCアーキテクチャにおいては、SLB12
6における特定のエントリへのセグメントレジスタ書込
みはその特定のエントリからのセグメントレジスタ読出
しに先行しなければならない。
【0077】SLB書込み動作においては、BIU12
はSLBミスの後に実効−仮想ページ変換をSLB12
6に供給する。命令フェッチユニット18は制御信号
「2進」を肯定解除または否定しかつBIU12は前記
制御信号を否定または肯定解除する。BIU12はまた
前記変換のESIDおよびVSIDを、それぞれ、マル
チプレクサ140におよびVSIDビット線に供給す
る。1つの書込み制御回路142のみがその制御信号
「行書込み(WRITE ROW)」を肯定することに
なる。また、1つのワード線制御回路150のみがその
ビットセルを入力ESIDおよびVSIDに接続する。
該入力ESIDおよびVSIDはこの1つのエントリに
書き込まれる。該1つのエントリはその「置換えポイン
タ」ビットセルが第1の論理状態を格納するエントリで
ある。次に、前記「置換えポインタ」は次に引き続くエ
ントリに進められる。
【0078】SLB読出し動作においては、ERAT4
2は実効アドレスをERAT42が変換できなかった2
次変換ユニット40に送る。命令フェッチユニット18
は制御信号「2進」を肯定解除または否定しかつERA
T42は前記制御信号を肯定する。ERAT42はまた
前記変換のESIDを全ての格納されたESIDに対す
る比較のためにマルチプレクサ140に供給する。1つ
の書込み制御回路のみがその制御信号「行書込み」を肯
定する。また、1つのワード線制御回路のみがそのVS
IDビットセルを出力ビット線に接続する。SLB12
6は前記1つのエントリのVSID TAGを図9に関
して上に述べたように比較するために比較器130およ
び132に送る。前記1つのエントリはそのESIDが
入力ESIDと整合するエントリである。この1つのエ
ントリの整合ラインはプリチャージされた状態に留まっ
ている。
【0079】セグメントレジスタ書込み動作において
は、プログラム命令はSLB126の最初の16のエン
トリの1つを命令オペランドのデスティネーションとし
て特定する。命令フェッチユニット18は制御信号「2
進」を肯定し、前記制御信号を肯定解除または否定し、
かつ制御信号「レジスタ番号(REGISTER NU
MBER)」によって16のエントリのうちの特定の1
つを特定する。命令フェッチユニット18はまたは前記
レジスタ番号および命令オペランドを、それぞれ、マル
チプレクサ140およびVSIDビット線に送る。1つ
の書込み制御回路142のみがその制御信号「行書込
み」を肯定する。また、1つのワード線制御回路150
のみがそのビットセルを前記入力レジスタ番号および命
令オペランドに接続する。前記入力レジスタ番号および
命令オペランドはこの1つのエントリに書き込まれる。
該1つのエントリは16分の1デコーダ138によって
選択されたエントリである。例えば、命令“move−
to−segment register five
(10進)”は“0101”(10進の5)および特定
されたオペランドを前記5番目のエントリのESIDお
よびVSIDにそれぞれ書き込む。前記「置換えポイン
タ」は次に、該置換えポインタの前のロケーションにか
かわりなく、選択されたエントリに続くエントリへと進
められる。この手順は選択されたエントリの内容の置換
えをできるだけ長く遅延させる。
【0080】セグメントレジスタ読出し動作において
は、プログラム命令はSLB126の最初の16のエン
トリの1つのVSIDを命令オペランドのソースとして
特定する。命令フェッチユニット18は前記制御信号
「2進」を肯定しかつ前記制御信号を肯定する。命令フ
ェッチユニット18はまたレジスタ番号をマルチプレク
サ140へ送る。1つのワード線制御回路150のみが
そのVSIDビットセルを出力ビット線に接続する。前
記命令オペランドはこの1つのエントリから供給され
る。この1つのエントリはそのESIDが入力レジスタ
番号と整合するエントリである。この1つのエントリの
整合ラインはプリチャージされた状態に留まっている。
前の例で説明を続けると、第5のエントリのワード線制
御回路150はそのVSIDビットセルを出力ビット線
に接続するが、そのESIDの内容、“0101”、
(10進の5)が入力レジスタ番号、5(10進)、と
整合するからである。ここに述べられている、セグメン
ト読出し動作はSLB読出し動作の性能に影響を与えな
い。SLB読出し動作は、一般に、前記2つの読出し動
作のうちのより低速のものである。したがって、SLB
126はクリティカルなSLB読出しスピードパスへの
付加的な遅延を制限する。
【0081】本発明が特定の実施例を参照して説明され
たが、当業者にはさらに他の修正および改善を成すこと
ができる。例えば、開示された発明は伝統的にコンプレ
クス命令セットコンピュータまたはCISCマシンとし
て分類されるデータプロセッサに導入することができ
る。また、ある機能ユニットはある実施例では省略する
ことができ、あるいはデータプロセッサ10の他の領域
に配置換えすることができる。したがって、本発明は添
付の特許請求の範囲に規定されている発明の精神および
範囲から離れることのない全てのそのような修正を含む
ことが理解されるべきである。
【0082】
【発明の効果】以上のように、本発明によれば、従来の
アドレス変換器の不都合を実質的に除去するレイアウト
を有するアドレス変換器が実現できる。
【図面の簡単な説明】
【図1】本発明にしたがって構成されたデータプロセッ
サを示すブロック図である。
【図2】図1に示されるデータキャッシュを示すブロッ
ク図である。
【図3】図2に示されるブロックアドレス変換器を示す
ブロック図である。
【図4】図3に示されるブロックアドレス変換器の第1
の部分の回路図である。
【図5】図3に示されるブロックアドレス変換器の第2
の部分の回路図である。
【図6】図3に示されるブロックアドレス変換器の第3
の部分の回路図である。
【図7】図2に示されるブロックアドレス変換器のビッ
トセルのレイアウトを示すブロック図である。
【図8】図2に示される実効−実アドレス変換器を示す
ブロック図である。
【図9】図1に示される2次アドレス変換ユニットを示
すブロック図である。
【図10】図9に示されるセグメントルックアサイドバ
ッファを示すブロック図である。
【図11】図10に示されるセグメントルックアサイド
バッファの第1の部分の論理図である。
【図12】図11に示されるセグメントルックアサイド
バッファの第2の部分の論理図である。
【符号の説明】
10 データプロセッサ 12 バスインタフェースユニット 14 命令キャッシュ 16 データキャッシュ 18 命令フェッチユニット 20 分岐ユニット 22 固定小数点実行ユニットA 24 固定小数点実行ユニットB 26 コンプレクス固定小数点実行ユニット 28 ロード/ストアユニット 30 浮動小数点実行ユニット 32 汎用目的アーキテクチャレジスタ(GPR)ファ
イル 34 第1のリネームバッファ 36 浮動小数点アーキテクチャレジスタ(FPR)フ
ァイル 38 第2のリネームバッファ 40 2次アドレス変換ユニット 42 ブロック−アドレス変換器 44 実効−実アドレス変換器 46 データアレイ 48 2:1マルチプレクサ 50 比較器

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 受信した実効アドレスを実アドレスに変
    換するアドレス変換回路(42)であって、 複数のエントリ(ENTRY0〜ENTRY3)を具備
    し、該複数のエントリの各々の1つは、 ほぼ第1のライン(上部:UPPER)に沿って整列さ
    れた第1の行の回路セルであって、該第1の行の回路セ
    ルは、 Jのマスクビット−タグビットセル対であって、Jは整
    数であり、前記Jのマスクビット−タグビットセル対の
    各々の1つは前記第1のラインに沿って整列され、前記
    Jのマスクビット−タグビットセル対の各々の1つは、 マスクビットセル(BL0〜BL10)であって、I番
    目のマスクビット−タグビットセル対のマスクビットセ
    ルはI番目の論理状態を格納し、この場合Iは1〜Jに
    およぶ整数指数であるもの、そして第1の連想メモリビ
    ットセル(BEPI36〜BEPI46)であって、前
    記I番目のマスクビット−タグビットセル対の前記第1
    の連想ビットセルは前記I番目のマスクビット−タグビ
    ットセル対のマスクビットセルに結合され、前記I番目
    のマスクビット−タグビットセル対の前記第1の連想ビ
    ットセルは複数のタグビットのうちのI番目のものを格
    納し、前記I番目のマスクビット−タグビットセル対の
    前記第1の連想ビットセルは複数の実効アドレスビット
    のうちのI番目のものを受信し、前記I番目のマスクビ
    ット−タグビットセル対の前記第1の連想ビットセルは
    前記I番目の論理状態が第1の状態に対応するかまたは
    前記複数のタグビットのうちのI番目のものが前記複数
    の実効アドレスビットのうちのI番目のものと論理的に
    等価であればJの第1の制御信号のうちのI番目のもの
    を否定するもの、を具備するJのマスクビット−タグビ
    ットセル対、 を具備する前記第1の行の回路セル、 前記Jのマスクビット−タグビットセル対の各々の第1
    の連想メモリビットセルに結合されたワード線ドライバ
    (124)であって、該ワード線ドライバは前記Jの第
    1の制御信号の各々が否定された場合に整合ライン信号
    を肯定するもの、 ほぼ第2のライン(下部)に沿って整列された第2の行
    の回路セルであって、該第2のラインはほぼ前記第1の
    ラインに平行であり、前記第2の行の回路セルは、 Jのデータビット−マルチプレクサ回路対であって、該
    Jのデータビット−マルチプレクサ回路対の各々の1つ
    は前記第2のラインに沿って整列され、前記Jのデータ
    ビット−マルチプレクサ回路対の各々の1つは、 データビットセル(BRPN36〜BRPN46)であ
    って、I番目のデータビット−マルチプレクサ回路対の
    前記データビットセルはI番目のマスクビット−タグビ
    ットセル対に隣接し、I番目のデータビット−マルチプ
    レクサ回路対の前記データビットセルは複数の実アドレ
    スビットのうちのI番目のものを格納するもの、そして
    マルチプレクサ回路(96,100)であって、前記I
    番目のデータビット−マルチプレクサ回路対の前記マル
    チプレクサ回路は前記I番目のマスクビット−タグビッ
    トセル対にかつ前記I番目のデータビット−マルチプレ
    クサ回路対のデータビットセルに隣接し、前記I番目の
    データビット−マルチプレクサ回路対の前記マルチプレ
    クサ回路は前記ワード線ドライバに、前記I番目のマス
    クビット−タグビットセル対の前記マスクビットセル
    に、および前記I番目のデータビット−マルチプレクサ
    回路対のデータビットセルに隣接し、前記I番目のデー
    タビット−マルチプレクサ回路対の前記マルチプレクサ
    回路は前記ワード線ドライバが前記整合ライン信号を肯
    定すればおよび前記I番目の論理状態が第2の論理状態
    に対応すれば前記複数の実アドレスビットのうちのI番
    目のものを出力し、前記I番目のデータビット−マルチ
    プレクサ回路対の前記マルチプレクサ回路はもし前記ワ
    ード線ドライバが前記整合ライン信号を肯定すればおよ
    びもし前記I番目の論理状態が前記第1の論理状態に対
    応すれば複数の実効アドレスビットのうちのI番目のも
    のを出力するもの、 を具備する前記Jのデータビット−マルチプレクサ回路
    対、を具備する前記第2の行の回路セル、 を具備することを特徴とする受信した実効アドレスを実
    アドレスに変換するアドレス変換回路(42)。
  2. 【請求項2】 前記I番目のデータビット−マルチプレ
    クサ回路対のマルチプレクサ回路は、 p形装置の制御電極、n形装置の制御電極、第1の電流
    電極および第2の電流電極を具備する第1のパスゲート
    (96)であって、前記p形装置の制御電極はI番目の
    論理状態を受信し、前記n形装置の制御電極は前記I番
    目の論理状態の論理的補信号を受信し、前記第1の電流
    電極はI番目のデータビット−マルチプレクサ回路対の
    データビットセルに結合されているもの、 p形装置の制御電極、n形装置の制御電極、第1の電流
    電極および第2の電流電極を具備する第2のパスゲート
    (100)であって、前記p形装置の制御電極は前記I
    番目の論理状態の論理的補信号を受信し、前記n形装置
    の制御電極はI番目の論理状態を受信し、前記第1の電
    流電極は前記複数の実効アドレスビットのうちのI番目
    のものを受信するもの、 制御電極、第1の電流電極および第2の電流電極を具備
    する第1のトランジスタ(102)であって、前記制御
    電極は前記第1のパスゲートの前記第2の電流電極およ
    び前記第2のパスゲートの前記第2の電流電極に結合さ
    れ、前記第1の電流電極は第1の電源電圧を受けるも
    の、そして制御電極、第1の電流電極および第2の電流
    電極を具備する第2のトランジスタ(104)であっ
    て、前記制御電極は前記整合ライン信号を受信し、前記
    第1の電流電極は前記第1のトランジスタの前記第2の
    電流電極に結合され、前記第2の電流電極は前記I番目
    のデータビット−マルチプレクサ回路対の出力を発生す
    るもの、 を具備することを特徴とする請求項1に記載のアドレス
    変換回路。
  3. 【請求項3】 前記第1の行の回路セルはさらに、 Kの第2の連想メモリビットセル(BEPI0〜BEP
    I35)であって、この場合Kは整数であり、L番目の
    第2の連想ビットセルは前記複数のタグビットのうちの
    L番目のものを格納し、この場合LはJ+1からJ+1
    +Kにおよぶ整数指数であり、前記L番目の第2の連想
    ビットセルは前記複数の実効アドレスビットのうちのL
    番目のものを受信し、前記L番目の第2の連想ビットセ
    ルはもし前記複数のタグビットのうちのL番目のものが
    論理的に前記複数の実効アドレスビットのうちのL番目
    のものと等価であればKの第2の制御信号のうちのL番
    目のものを否定するもの、 を具備し、前記ワード線ドライバは前記Jのマスクビッ
    ト−タグビットセル対の各々の第1の連想メモリビット
    セルにおよび前記Kの第2の連想メモリビットセルに結
    合され、前記ワード線ドライバはもし前記Jの第1の制
    御信号の各々および前記Kの第2の制御信号の各々が否
    定されれば整合ライン信号を肯定し、そして前記第2の
    行のビットセルはさらに、 Mのデータビットセル(BRPN25〜BRPN35)
    であって、この場合Mは整数であり、Mのデータビット
    セルのうちのN番目のものは前記複数の実アドレスビッ
    トのうちのN番目のものを格納し、この場合NはJ+1
    からJ+1+Mにおよぶ整数指数であり、前記Mのデー
    タビットセルのうちのN番目のものはもし前記ワード線
    ドライバが前記整合ライン信号を肯定すれば前記複数の
    実アドレスビットのうちのN番目のものを出力するも
    の、 を具備することを特徴とする請求項2に記載のアドレス
    変換回路。
  4. 【請求項4】 前記I番目のマスクビット−タグビット
    セル対の前記第1の連想メモリビットセルは、 I番目のタグビットおよび該I番目のタグビットの論理
    的補信号を記憶しかつ出力する第1のタグビットセル
    (58)、 前記第1のタグビットセルに結合された第3のパスゲー
    ト(76)であって、該第3のパスゲートはp形装置の
    制御電極、n形装置の制御電極、第1の電流電極および
    第2の電流電極を具備し、前記p形装置の制御電極は前
    記I番目のタグビットの論理的補信号を受信し、前記n
    形装置の制御電極は前記I番目のタグビットを受信し、
    前記第1の電流電極は前記複数の実効アドレスビットの
    うちのI番目のものの論理的補信号を受信するもの、 前記第1のタグビットセルに結合された第4のパスゲー
    ト(78)であって、該第4のパスゲートはp形装置の
    制御電極、n形装置の制御電極、第1の電流電極および
    第2の電流電極を具備し、前記p形装置の制御電極はI
    番目のタグビットを受信し、前記n形装置の制御電極は
    前記I番目のタグビットの論理的補信号を受信し、前記
    第1の電流電極は前記複数の実効アドレスビットのうち
    のI番目のものを受信するもの、 第1の入力、第2の入力および出力を具備するNORゲ
    ート(86)であって、前記第1の入力は前記第3のパ
    スゲートの第2の電流電極および前記第4のパスゲート
    の第2の電流電極に結合され、前記第2の入力は前記I
    番目の論理状態を受信するもの、そして制御電極、第1
    の電流電極および第2の電流電極を具備する第3のトラ
    ンジスタ(88)であって、前記制御電極は前記NOR
    ゲートの出力を受信し、前記第1の電流電極は前記第1
    の電源を受け、前記第2の電流電極はJの第1の制御信
    号のうちのI番目のものを発生するもの、 を具備し、前記L番目の第2の連想ビットセルは、 前記L番目のタグビットおよび前記L番目のタグビット
    の論理的補信号を記憶しかつ出力する第2のタグビット
    セル(54)、 前記第2のタグビットセルに結合された第5のパスゲー
    ト(60)であって、該第5のパスゲートはp形装置の
    制御電極、n形装置の制御電極、第1の電流電極および
    第2の電流電極を具備し、前記p形装置の制御電極は前
    記L番目のタグビットの論理的補信号を受信し、前記n
    形装置の制御電極は前記L番面のタグビットを受信し、
    前記第1の電流電極は前記複数の実効アドレスビットの
    うちのL番目のものを受信するもの、 前記第2のタグビットセルに結合された第6のパスゲー
    ト(62)であって、該第6のパスゲートはp形装置の
    制御電極、n形装置の制御電極、第1の電流電極および
    第2の電流電極を具備し、前記p形装置の制御電極はL
    番目のタグビットを受信し、前記n形装置の制御電極は
    前記L番目のタグビットの論理的補信号を受信し、前記
    第1の電流電極は前記複数の実効アドレスビットのうち
    のL番目のものの論理的補信号を受信するもの、そして
    制御電極、第1の電流電極および第2の電流電極を具備
    する第4のトランジスタ(74)であって、前記制御電
    極は前記第5のパスゲートの第2の電流電極および前記
    第6のパスゲートの第2の電流電極に結合され、前記第
    1の電流電極は前記第1の電源を受け、前記第2の電流
    電極はKの第2の制御信号のうちの前記L番目のものを
    発生するもの、 を具備することを特徴とする請求項3に記載のアドレス
    変換回路。
  5. 【請求項5】 受信した実効アドレスを実アドレスに変
    換するアドレス変換回路であって、 複数のエントリを具備し、該複数のエントリの各々の1
    つは、 ほぼ第1のラインに沿って整列された第1の行の回路セ
    ル(上部)であって、該第1の行の回路セルは連想メモ
    リビットセルおよびブロック長ビットセルの交互のシー
    ケンスを具備し、前記連想メモリビットセルはタグを格
    納し、前記ブロック長ビットセルはブロック長フィール
    ドを格納し、前記連想メモリビットセルはもし受信した
    実効アドレスが前記格納されたタグの一部と論理的に等
    価であれば整合ラインを肯定し、前記格納されたタグの
    一部のサイズは前記ブロック長フィールドに応じている
    もの、そしてほぼ第2のラインに沿って整列された第2
    の行の回路セル(下部)であって、該第2のラインはほ
    ぼ前記第1のラインと平行であり、前記第2の行の回路
    セルはデータビットセルおよびマルチプレクサ回路の交
    互のシーケンスを具備し、前記データビットセルのうち
    のI番目のものはほぼ前記連想メモリビットセルのうち
    のI番目のものと隣接し、この場合Iは整数指数であ
    り、前記データビットセルは実アドレスを格納し、前記
    マルチプレクサ回路はもし前記連想メモリビットセルが
    前記整合ラインを肯定すれば前記実アドレスの一部およ
    び前記受信した実効アドレスの一部を出力し、前記実ア
    ドレスの一部のサイズおよび前記受信した実効アドレス
    の一部のサイズは前記ブロック長フィールドに応じてい
    るもの、 を具備することを特徴とする受信した実効アドレスを実
    アドレスへと変換するアドレス変換回路。
JP7101714A 1994-04-04 1995-04-03 アドレス変換回路 Pending JPH07295889A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/222,779 US5530824A (en) 1994-04-04 1994-04-04 Address translation circuit
US08/222,779 1994-04-04

Publications (1)

Publication Number Publication Date
JPH07295889A true JPH07295889A (ja) 1995-11-10

Family

ID=22833644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7101714A Pending JPH07295889A (ja) 1994-04-04 1995-04-03 アドレス変換回路

Country Status (6)

Country Link
US (1) US5530824A (ja)
EP (1) EP0676698A1 (ja)
JP (1) JPH07295889A (ja)
KR (1) KR950033842A (ja)
CN (1) CN1120196A (ja)
TW (1) TW403870B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011016184A1 (ja) * 2009-08-07 2011-02-10 パナソニック株式会社 半導体記憶装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19526960A1 (de) * 1994-09-27 1996-03-28 Hewlett Packard Co Eine Übersetzungs-Querzuordnungs-Puffer-Organisation mit variabler Seitengrößenabbildung und Opfer-Cache-Speicherung
US6813699B1 (en) 1995-06-02 2004-11-02 Transmeta Corporation Speculative address translation for processor using segmentation and optional paging
US5752260A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US5754463A (en) * 1996-07-15 1998-05-19 Intel Corporation Multi-ported content addressable memory with precharge "non match"
US5907866A (en) * 1996-12-19 1999-05-25 International Business Machines Corporation Block address translation circuit using two-bit to four-bit encoder
KR100263672B1 (ko) * 1997-05-08 2000-09-01 김영환 가변적인 페이지 크기를 지원하는 어드레스 변환장치
JPH11120075A (ja) * 1997-10-20 1999-04-30 Toshiba Corp 半導体記憶装置及び半導体記憶システム
US6021481A (en) * 1997-11-10 2000-02-01 International Business Machines Corporation Effective-to-real address cache managing apparatus and method
US6338128B1 (en) * 1999-05-20 2002-01-08 International Business Machines Corp. System and method for invalidating an entry in a translation unit
US6772315B1 (en) * 2001-05-24 2004-08-03 Rambus Inc Translation lookaside buffer extended to provide physical and main-memory addresses
JP2004094338A (ja) * 2002-08-29 2004-03-25 Seiko Epson Corp 半導体集積回路
US7062631B1 (en) * 2003-07-17 2006-06-13 Transmeta Corporation Method and system for enforcing consistent per-physical page cacheability attributes
US7185170B2 (en) * 2004-08-27 2007-02-27 Freescale Semiconductor, Inc. Data processing system having translation lookaside buffer valid bits with lock and method therefor
JP5300407B2 (ja) * 2008-10-20 2013-09-25 株式会社東芝 仮想アドレスキャッシュメモリ及び仮想アドレスキャッシュ方法
TWI421871B (zh) * 2009-11-27 2014-01-01 Macronix Int Co Ltd 定址一記憶積體電路之方法與裝置
US9323654B2 (en) * 2013-07-17 2016-04-26 Infineon Technologies Ag Memory access using address bit permutation
US9753667B2 (en) * 2015-02-19 2017-09-05 Avago Technologies General Ip (Singapore) Pte. Ltd. High bandwidth memory and glitch-less differential XOR
US9807169B2 (en) * 2015-05-04 2017-10-31 Sap Se Distributed tagging of data in a hybrid cloud environment
US10418079B1 (en) * 2018-03-26 2019-09-17 Oracle International Corporation Register file bit cells with integrated multiplexer
US12183424B2 (en) 2021-09-30 2024-12-31 Stmicroelectronics International N.V. Bit-cell architecture based in-memory compute
US20240071439A1 (en) 2022-08-30 2024-02-29 Stmicroelectronics International N.V. Memory architecture supporting both conventional memory access mode and digital in-memory computation processing mode

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3764996A (en) * 1971-12-23 1973-10-09 Ibm Storage control and address translation
US4654777A (en) * 1982-05-25 1987-03-31 Tokyo Shibaura Denki Kabushiki Kaisha Segmented one and two level paging address translation system
US4972338A (en) * 1985-06-13 1990-11-20 Intel Corporation Memory management for microprocessor system
US4813002A (en) * 1986-07-21 1989-03-14 Honeywell Bull Inc. High speed high density dynamic address translator
AU603167B2 (en) * 1986-12-23 1990-11-08 Bull Hn Information Systems Inc. Segment descriptor unit
JP2960415B2 (ja) * 1987-05-22 1999-10-06 株式会社日立製作所 記憶保護方法および装置
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system
US5155825A (en) * 1989-12-27 1992-10-13 Motorola, Inc. Page address translation cache replacement algorithm with improved testability
US5263140A (en) * 1991-01-23 1993-11-16 Silicon Graphics, Inc. Variable page size per entry translation look-aside buffer
EP0508577A1 (en) * 1991-03-13 1992-10-14 International Business Machines Corporation Address translation mechanism
US5327372A (en) * 1992-01-17 1994-07-05 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device
US5437017A (en) * 1992-10-09 1995-07-25 International Business Machines Corporation Method and system for maintaining translation lookaside buffer coherency in a multiprocessor data processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011016184A1 (ja) * 2009-08-07 2011-02-10 パナソニック株式会社 半導体記憶装置
JP5337247B2 (ja) * 2009-08-07 2013-11-06 パナソニック株式会社 半導体記憶装置
US8874869B2 (en) 2009-08-07 2014-10-28 Panasonic Corporation Semiconductor memory device

Also Published As

Publication number Publication date
EP0676698A1 (en) 1995-10-11
CN1120196A (zh) 1996-04-10
TW403870B (en) 2000-09-01
KR950033842A (ko) 1995-12-26
US5530824A (en) 1996-06-25

Similar Documents

Publication Publication Date Title
US5604879A (en) Single array address translator with segment and page invalidate ability and method of operation
JPH07295889A (ja) アドレス変換回路
US6772316B2 (en) Method and apparatus for updating and invalidating store data
JP2837804B2 (ja) 完全統合型キャッシュ・アーキテクチャ
EP0734553B1 (en) Split level cache
KR101014395B1 (ko) 프로세서 전력 감소를 위한 마이크로 tlb 및 마이크로태그
US5953748A (en) Processor with an efficient translation lookaside buffer which uses previous address computation results
JP3713312B2 (ja) データ処理装置
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
US5717885A (en) TLB organization with variable page size mapping and victim-caching
JP4065660B2 (ja) 機能が並列に分散された変換索引バッファ
US5778407A (en) Methods and apparatus for determining operating characteristics of a memory element based on its physical location
US8156309B2 (en) Translation look-aside buffer with variable page sizes
US5155825A (en) Page address translation cache replacement algorithm with improved testability
JP3666689B2 (ja) 仮想アドレス変換方法
US20140095784A1 (en) Techniques for Utilizing Transaction Lookaside Buffer Entry Numbers to Improve Processor Performance
EP1278125A2 (en) Indexing and multiplexing of interleaved cache memory arrays
US20050050278A1 (en) Low power way-predicted cache
US5682495A (en) Fully associative address translation buffer having separate segment and page invalidation
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5535351A (en) Address translator with by-pass circuit and method of operation
US5530822A (en) Address translator and method of operation
US5550995A (en) Memory cache with automatic alliased entry invalidation and method of operation
US6434670B1 (en) Method and apparatus for efficiently managing caches with non-power-of-two congruence classes
US6385696B1 (en) Embedded cache with way size bigger than page size