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

データ処理装置

Info

Publication number
JPH08249233A
JPH08249233A JP8029883A JP2988396A JPH08249233A JP H08249233 A JPH08249233 A JP H08249233A JP 8029883 A JP8029883 A JP 8029883A JP 2988396 A JP2988396 A JP 2988396A JP H08249233 A JPH08249233 A JP H08249233A
Authority
JP
Japan
Prior art keywords
bit
cam
memory
logical address
coupled
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
JP8029883A
Other languages
English (en)
Inventor
William C Moyer
ウィリアム・シー・モイヤー
Kaye Ho Yui
ユイ・ケイ・ホー
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 JPH08249233A publication Critical patent/JPH08249233A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

Abstract

(57)【要約】 【課題】 多種類のページ・サイズに対応するアドレス
変換を可能にするデータ処理システム(10)を提供す
る。 【解決手段】 データ処理システム(10)において、
メモリ・マッピング動作を実行する方法および装置であ
って、有効ビットを用いることによりメモリ・アレイを
部分的に制御して、1つのCAMアレイで多数のページ
・サイズに対応可能とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的にデータ処理シ
ステムに関し、更に特定すればデータ処理システムにお
いてメモリ・マッピング処理(memory mapping operatio
n)を行う方法および装置に関するものである。
【0002】
【従来の技術】今日の高性能データ処理システムは、洗
練されたメモリ管理システムに基づいて論理アドレスを
実(物理)アドレスに変換している。論理アドレスは、
プログラマがソフトウエアを書くときに用いるソフトウ
エア・アドレスである。物理アドレスは、かかるソフト
ウエアを実行する半導体チップや電子回路が用いるハー
ドウエア・アドレスである。
【0003】非常に単純なマイクロプロセッサを基本と
したシステムでは、中央処理装置(CPU)が直接メモ
リに連携される。この種の構成では、メモリ・マッピン
グまたはタスク保護機能は設けられておらず、CPUに
よって発生されるアドレスがアクセスすべき物理位置を
直接識別する。しかしながら、かかる形式のシステム
は、他のタスクの実行中に別のタスクによって用いられ
るメモリの転化(corruption)を防止する保護機能がない
ので、多重タスク処理には不適切である。
【0004】マルチタスク型データ処理システムを構築
する際に必要とされるアドレス・マッピングおよびタス
ク保護を設けるために、1つ以上の変換ルックアサイド
・バッファ(TLB:translation-lookaside buffer)を有す
るメモリ部がしばしば用いられている。この場合、メモ
リ部は、CPUと物理的メモリとの間でインターフェー
スとして作用する。メモリ部は物理的素子への全アクセ
スを制御し、他のタスクによって使用されているメモリ
・リソースにタスクがアクセスするのを防止することが
できる。仮想メモリ機能を有するオペレーティング・シ
ステムに制御される場合、論理−物理マッピング機能に
よって、システムの物理的特性について詳細な知識が無
くても、複数のタスクがCPUのアドレス空間全体を利
用し、CPUアドレス空間と同じ大きさのメモリ・シス
テムを構築することができる。
【0005】論理アドレスは、CPUの命令部またはデ
ータ部によって発生され、メモリ部によって入力として
受信される。メモリ部は、1つ以上のTLBを用いて、
論理アドレスに対してアドレス変換および特権検査(pri
vilege checking)を行い、マッピングが有効であれば、
対応する物理アドレスをデータまたは命令キャッシュあ
るいはその他のタイプのメモリに送出する。TLBによ
って生成される対応物理アドレスは、TLBがデータ・
メモリ部の一部であるか、あるいは命令メモリ部の一部
であるかに応じて、データまたは命令のいずれかをアク
セスするために用いられることを注記しておく。
【0006】一般的に、メモリ部は1つ以上のTLBを
含み、これらはアドレス変換および特権検査を行うため
に用いられる。また、メモリ部は、実データまたは命令
を記憶する1つ以上のキャッシュも含む。 TLB内の
各エントリは、通常論理アドレス、対応する物理アドレ
ス、および1つ以上の保護または制御ビット(総括的に
アトリビュート・ビット(attribute bit)またはアトリ
ビューツと呼んでいる)を含む。
【0007】各メモリ・アクセスにおいて、入来する論
理アドレスはメモリ部によって受信され、適切なTLB
内の各エントリの論理アドレス部と比較され、必要な論
理−物理マッピングの位置を突き止める。TLBが必要
な論理−物理マッピングを含んでいるとき、変換「ヒッ
ト」(「一致」とも呼ぶ)が生じ、TLBは対応する物
理アドレスを生成する。
【0008】TLBが必要な論理−物理マッピングを含
んでいない場合、変換「ミス」(「不一致」とも呼ぶ)
が生じ、ハードウエア状態機械(state machine)または
ソフトウエア・ルーチンが呼び出され、このTLBより
も遠い(distant)メモリを検索し、受信された論理アド
レスに対応する物理アドレスを決定する。この検索を行
うには、データ処理システムがより遠くのメモリに記憶
されている1つ以上のメモリ・テーブルにアクセスし読
み出す必要があるので、この検索はしばしば「テーブル
・サーチ」または「テーブル・ウオーク」と呼ばれてい
る。
【0009】TLBの利点は、大量の時間を節約できる
ことである。変換が要求される毎に遠くのメモリの中に
あるテーブルをアクセスしなければならない代わりに、
データ処理システムは迅速にTLBにアクセスし、ある
選択された論理アドレスに対して正しい物理アドレスを
取り出すことができる。
【0010】テキサス州オースチンのMotorola,Inc.か
ら入手可能なMC88200上のキャッシュ/メモリ管理部
は、別個の命令用メモリ部と、別個のデータ用メモリ部
とを有する。これら2つのメモリ部(命令およびデー
タ)の各々は、別個のページ・アドレス変換ルックアサ
イド・バッファ(PTLB:page address translation-looka
sidebuffer)と別個のブロック・アドレス変換ルックア
サイド・バッファ(BTLB)とを含むアドレス変換論理回路
を有する。これらのバッファは双方共、相互交換可能に
キャッシュと呼ぶこともできる。
【0011】BTLBは512Kバイト・ブロックのメ
モリまたは512Kバイトのページ・サイズのための論
理−物理アドレス変換を提供する。一方、PTLBは、
これより小さな4Kバイト・ページのメモリのための論
理−物理アドレス変換を提供する。これらのシステム
は、2種類の固定ページ・サイズを物理アドレスに変換
可能であると考えることができる。しかしながら、各T
LB(BTLBおよびPTLB)は、センス・アンプ、
ワード線駆動部および制御構造を含む、回路ハードウエ
アおよび電力消費オーバーヘッドを含む。このオーバー
ヘッドに加えて、2つのTLB間に複雑な調停(arbitra
tion)も必要となる。
【0012】
【発明が解決しようとする課題】これらのシステムは、
2種類の固定ページ・サイズを良好に処理することがで
きる。しかしながら、2種類以上のページ・サイズに対
応することが望ましい。データ処理システムの中には、
大量の線形データ・アレイを必要とするものがある。例
えば、カラー・モニタ用フレーム・バッファは、モニタ
画面上の画素に対応する、大量の線形データ・アレイで
構成されている。かかるフレーム・バッファは、4Mバ
イトものメモリを必要とすることもある。かかるフレー
ム・バッファは、各ページが4Kバイトの場合1000
ページを必要とし、各ページが512Kバイトの場合8
ページを必要とすることになる。加えて、目的指向型オ
ペレーティング・システム(object oriented operating
system)は、典型的に、多数のオブジェクト・サイズを
使用する。
【0013】更にTLBを追加することによって、現行
のシステムを多数のページ・サイズに対応するように拡
張することは現実的でない。TLBを追加することによ
るオーバーヘッド、および多数のTLB間の調停を行う
複雑性は、余りに煩雑過ぎる可能性があるからである。
【0014】
【課題を解決するための手段】柔軟性を高めたアドレス
変換の手法が望まれている。より具体的には、迅速的か
つ効率的に多種類のページ・サイズに対応するアドレス
変換の手法が望ましい。多数のページ・サイズを用いる
と、結果として、メモリ割り当ての無駄が減少し、しか
もメモリをマップするのに必要なエントリの数を減らす
ことができる。ここに開示する本発明は、アドレス変換
を必要とするデータ処理システムの効率および柔軟性を
高めるための広範囲におよぶ様々な用途に有用である。
【0015】本発明によるデータ処理装置は、複数の論
理アドレス値と複数の制御値とを通信するインターフェ
ース手段、ならびにインターフェース手段に結合され、
論理アドレス値と制御値とを受信するメモリで構成され
ている。このメモリは、インターフェース手段に結合さ
れ論理アドレス値を受信する複数のメモリ・セルを有
し、各メモリ・セルは、記憶されたアドレスの1ビット
を記憶する複数のメモリ・セル・ビットで構成され、各
ビットは、前記記憶されたアドレス値の1ビットを論理
アドレス値の所定ビットと選択的に比較可能である。ま
た、メモリは、インターフェース手段に結合され第1制
御ビットを記憶し、複数のメモリ・セルの第1部分と前
記複数のメモリ・セルの第2部分との間に結合された第
1有効ビットも有する。この第1有効ビットによって、
複数のメモリ・セルの第1部分の各々が、その中に記憶
されているビットを前記論理アドレス値の所定ビットと
比較可能となる。
【0016】
【実施例】添付図面に関連付けた以下の詳細な説明は、
本発明を実施し使用するために必要な事項を、当業者に
理解してもらうためのものである。
【0017】図1は、データ処理システム10を示す。
処理部12ないし14はバス20に双方向結合され、更
にバス22にも結合されている。データ部30はバス2
0およびデータ・メモリ部(DMU)32の双方に、双方向
結合されている。レジスタ・ファイル34はバス20に
双方向結合され、更にバス22ににも結合され、バス2
2に信号を供給する。命令部36はバス22に双方向結
合され、更にバス20にも結合され、バス20に信号を
供給する。目標命令キャッシュ38および命令メモリ部
(IMU)40は各々、命令部36に双方向結合されて
いる。データ・メモリ部(DMU)32はデータ部30に双
方向結合されている。
【0018】命令メモリ部(IMU)40およびデータ・メ
モリ部(DMU)32は各々、バス・インターフェース部2
4に双方向結合されている。バス・インターフェース部
24は外部バス・インターフェース26を有し、これは
バス28およびバス29に双方向結合されている。図1
に示す本発明の一実施例では、データ処理システム10
は単一の集積回路上に配置され、バス28およびバス2
9は双方とも、データ処理システム10の外部にある。
【0019】図2は、図1のデータ・メモリ部(DMU)回
路32を示す。DMU32はメモリ管理部(MMU)回路5
2、タグ回路54、およびデータ・キャッシュ回路56
を含む。図3は、図1の命令メモリ部(IMU)回路40を
示す。IMU40は、メモリ管理部(MMU)回路62、タ
グ回路64、および命令キャッシュ回路66を含む。図
4は、図2のメモリ管理部(MMU)52の一部を示す。本
発明の一実施例では、図4に示すMMU52の一部は、
図3のメモリ管理部(MMU)62の一部と同一であること
に注意されたい。本発明の他の実施例では、図4は唯一
のメモリ管理部の一部、または1つ以上のメモリ管理部
の同一部分を示す場合もある。
【0020】更に図4を参照すると、変換ルックアサイ
ド・バッファ(TLB)70は、図1のデータ部30または
図1の命令部36からの論理アドレス80を受信する。
また、TLBは、制御レジスタ・ファイル72の制御レ
ジスタ74からの制御信号も受信する。バス80を通じ
て転送された論理アドレスは、典型的に、データ部30
からのアドレス・ビットの副集合であるが、データ部3
0からの1アドレス全体の可能性もある。次に、TLB
70はバス80を通じて転送された論理アドレスを用い
て、物理アドレス100を発生する。
【0021】図5は、本発明の一実施例にしたがって図
4のTLB70内に実施された、内容アドレス可能メモ
リ(CAM:content addressable memory)アレイ120とR
AMアレイ122とのマッピング機能のアーキテクチャ
を示す。マッピング機能は、論理アドレス80と物理ア
ドレス100との間の変換を可能にするものである。ア
レイ120の各行121は、多数対の列(column parin
g)124に分割されている。各対は、図6のCAMセル
・ビット200を1つ以上と、有効ビット128とを含
むCAMセル群126から成る。同様の対が、CAMセ
ル群134と有効ビット130、およびCAMセル群1
35と有効ビット132とを含む。図5には詳しく示し
ていないが、各CAMセル群126は、図6に示すCA
Mセル・ビット200のような、複数のCAMセル・ビ
ットを含む。図5は、CAM120の行毎に3つの対を
含んでいるので、3種類のページ・サイズに対応するこ
とができる。本発明の他の実施例では、CAMアレイ1
20はあらゆる多数対のCAMセル群126および有効
ビット128に分割することができる。また、図5では
CAMセル群126,134,135は大まかに等しい
サイズとして示されているが、本発明の他の実施例で
は、各CAMセル群126内のCAMセル・ビット(図
示せず)の数は対毎に相違させることもできる。しか
し、CAMアレイの最後の行150にその可能性がある
ことを除いて、CAMセル・ビットの数は全ての行12
1の各対内では一定である。
【0022】ここに示し説明する本発明の実施例では、
CAMセル群のビット(詳細には示されていない)は右
側に行くにしたがって上位であり、左のビットほど下位
であることは理解されよう。
【0023】物理アドレス100に変換されるページ・
サイズは、バス80を通じて転送される論理アドレスの
一部によって決定され、この論理アドレスの一部は、C
AMアレイ120の各行121内のCAMセル群12
6,134,135内に記憶されているアドレスとの一
致を判定される。この論理アドレス80の一部を、CA
Mアレイ120の行内の有効ビット128,130,1
32の状態によって決定される、CAMセル群126,
134,135内に記憶されているアドレスと比較す
る、即ち一致するか否か判定する。CAMセル対124
内の有効ビット128がアサートされている場合、CA
Mセル群126内に記憶されているアドレス・ビット
が、そのCAMセル群に対応する、バス80を通じて転
送された論理アドレスの一部と比較される。第1ページ
・サイズでは、CAMアレイ120の1行内の3有効ビ
ット128,130,132は全てアサート(assert)さ
れる。第2ページ・サイズでは、最も右側の2有効ビッ
ト130,132がアサートされ、最も左側の有効ビッ
ト128はアサートされない。この状況では、CAMセ
ル群126内の情報は、CAMアレイ行121の「ドン
トケア(don't care)」領域にあると考えられる。第3ペ
ージ・サイズでは、行121内の最も右側の有効ビット
がアサートされ、最も左側の有効ビット128,130
はアサートされず、CAMセル群126,134の各々
にある情報は、CAMアレイ行121の「ドントケア」
領域内にある。
【0024】ここに例示する本発明の実施例では、第2
有効ビットの左側にある第1有効ビットがアサートされ
る場合、第2有効ビットもアサートされる。例えば、有
効ビット128がアサートされると、有効ビット13
0,132もアサートされなければならない。同様に、
有効ビット130がアサートされる場合、有効ビット1
32もアサートされなければならない。しかし、他の体
系を用いる実施例も可能である。
【0025】有効ビットの状態はデコーダ136によっ
て判定される。デコーダ136は、制御レジスタ・ファ
イル72の制御レジスタ74からのページ・サイズ情報
を受信する。また、デコーダ136は、図5にRAMア
レイ122の1列として示されているページ・サイズ・
レジスタ160に、ページ・サイズ・データ情報を供給
する。本発明のこの実施例では、CAMアレイ120の
最終行150は、自己タイミング(self-timing)または
遅延機能を実行する。最終行150は、RAMアレイ1
22の複数のワード線駆動部162に、イネーブル信号
152を供給する。イネーブル信号は、CAMアレイ1
20の複数の一致線154によって供給される情報を、
複数のワード線駆動部162が読み出せるようにする。
【0026】CAMアレイ120およびRAMアレイ1
22が構成されると、データがCAMセルビット(図示
せず)に記憶され、各々可能な論理アドレスに対応する
変換アドレスを表わす。CAMアレイ120内の各行1
21は、1つの論理アドレスを表わし、複数の一致線1
54の1本を介して、RAMアレイ122内の対応する
行123に接続される。動作の間、バス80を通じて転
送された変換されるべき論理アドレスは、一致を得るた
めに、CAMアレイ120の各行において可能な論理ア
ドレスと比較される。一致が見出されたなら、複数の一
致線154の内行121に対応する1本がアサートさ
れ、他の一致しない行の一致線154は全てアサートさ
れない。次に、自己タイミング行150は、CAMアレ
イ行121の全てにおいて一致判定機能が完了したこと
を示すイネーブル信号152を供給する。複数の一致線
154の1本およびイネーブル信号152が双方ともア
サートされると、複数のRAMアレイ・ワード線駆動部
152の1つが、RAMアレイ122内の適切な行を選
択する。
【0027】図7および図6、ならびに以下の記載で
は、CAMアレイ120は、いかにしてバス80を通じ
て供給された論理アドレスを、CAMアレイ120に記
憶されている可能な論理アドレスと比較し、一致を見出
すかについて説明する。既に説明したように、CAMア
レイ120内の各行121は、複数のCAMセル・ビッ
トと有効ビットとを含む。図6は、CAMセル・ビット
回路200を示す。このCAMセル・ビット回路200
は、バス80を通じて供給された入力論理アドレスの1
ビットを、記憶されている可能な論理アドレスと比較す
るために用いられる。図7は有効ビット回路128を示
す。有効ビット回路128は、一致判定機能の実行中
に、その左側のCAMセル・ビットにアクセスすべきか
否かを判断するために用いられる。
【0028】CAMセルビットおよび有効ビットの双方
は、スタティック・メモリ・セル202,252をそれ
ぞれ含んでいる。図6および図7に示す実施例は、6つ
のトランジスタ型スタティックRAMメモリ・セル(6
TSRAM)を含んでいる。当業者は、図6の素子20
4,206,208,210および図7の素子254,
256,258,260を、6TSRAMメモリ・セル
として認識しよう。しかしながら、他の実施例も可能で
あることを注記しておく。これらのメモリ・セル20
2,252は、可能な論理アドレスのビットおよび有効
ビット値を記憶する。バス80を通じて転送される入力
論理アドレスはこれらと比較される。
【0029】CAMビット回路200は、メモリ・セル
202に記憶されている値と、ビット線b,214およ
び反転ビット線反転b,216上の論理アドレスビット
値との間で、排他的論理和(EXCLUSIVE-OR)を実行するた
めの回路212も含む。
【0030】一致機能を開始する前に、一致線220は
アサートされる。一致線220は、図5の複数の一致線
154の1本の一部を形成する。排他的論理和回路12
1が、ビット線214,216上の値とメモリ・セル2
02に記憶されている値との間の一致を指示した場合、
トランジスタ222は導通されず、一致線220はアサ
ートされたままとなる。しかしながら、排他的論理和回
路212が不一致と判定した場合、トランジスタ222
は導通され、vgnd 224線の値を用いて、一致線22
0が非アサート状態に切り換えられる。vgnd224線の
値は、図7の有効ビット128内のトランジスタ268
を用いて、基準接地値に引き下げられる。有効ビットが
アサートされた、図5のCAMセル群126内のビット
のいずれかが不一致を示した場合、複数の一致線154
の内当該ビットが含まれている行に対応する1本が非ア
サート状態に切り換えられる。
【0031】しかしながら、CAMセル群126に対す
る有効ビット128がアサートされない場合、CAMセ
ル群126内のCAMアレイ120の複数のCAMセル
ビットの中の一致線220は、RAMアレイ122をア
クセスするために用いられる複数の一致線154の残り
の部分から分離される。有効ビット128がアサートさ
れていない場合(この場合、論理低値即ち「0」)、ト
ランジスタ262は有効ビット128の左側の一致線2
20の部分を分離することができる。こうして、有効ビ
ット128は、バス80を通じて転送された論理アドレ
スと、ビット線214,216を通じてCAMアレイ1
20に転送された論理アドレスとの一致判定(matching)
に用いられる、CAMアレイ行121(図5に示す)の
一部を制御する。有効ビット128がアサートされてい
ない場合、この有効ビットの左側の複数のCAMセル・
ビット内の全情報は、バス80を通じて転送される論理
アドレスと比較されない。一方、有効ビット128がア
サートされている場合、有効ビットの左側の複数のCA
Mセル・ビットは、有効ビットがアサート状態から非ア
サート状態に切り換えられその左側の複数のCAMセル
・ビットを分離するまで、一致判定機能に含まれる。分
離されたCAMセル・ビットは、CAMアレイ行121
の「ドントケア」領域内にある。
【0032】有効ビット128がアサートされていない
場合、p入力線166上の値とは無関係に、 NAND
ゲート264の出力はアサートされない。NANDゲー
ト264の出力がアサートされると、トランジスタ26
8が導通するので、vgnd信号224を基準接地電圧に引
き下げることができる。図6を参照して、CAMセル・
ビット200のCAMビット・メモリ・セル内に記憶さ
れている値とビット線b,214の値との間に一致が得
られない場合、一致線220の「ドントケア」領域は、
vgnd信号224を通じて、基準接地電圧に引き下げられ
る。CAMセルビット200のCAMビット・メモリ・
セル202内に記憶されている値とビット線b,214
の値との間に一致が得られた場合、一致線220の「ド
ントケア」領域は基準接地電圧に引き下げられないが、
トランジスタ262がその左側の一致線220を効果的
に分離するので、有効ビット128の右側の一致線22
0の値には影響を与えない。有効ビットがアサートされ
ないと、トランジスタ270は非導通状態を維持し、ト
ランジスタ268は導通状態を維持するので、不一致が
生じたとき「ドントケア」領域では電力は消費されな
い。
【0033】有効ビットがアサートされると(本発明の
この実施例では、論理高値即ち「1」)、出力NAND
ゲート264は、p入力線266の値によって決定され
る。p入力線266がアサートされると、一致線220
はトランジスタ270を通じて供給電圧VDDにプリチャ
ージ(precharge)され、一方トランジスタ268は非導
通状態を維持する。トランジスタ270は、図6に示す
CAMビット・セル200のトランジスタを通じて、vg
nd信号224もVDD-Vtにプリチャージする。Vtは、n−
チャネル・トランジスタのスレシホールド電圧である。
p入力線266がアサートされないと、vgnd信号224
は、トランジスタ268によって、論理低値に引き下げ
られる。不一致がCAMビット200において判定され
た場合、一致線220も、トランジスタ222を用い
て、論理低値に引き下げられる。すると、トランジスタ
262によって有効ビット128の右側の一致線が論理
低値に引き下げられる。一致が生じると、アサートされ
た有効ビットの左側の複数のCAMセル・ビット200
の各々のトランジスタによって、一致線220は論理低
値に引き下げられない。CAMアレイ120内の複数の
有効ビット全てに対して、複数の一致線154の1本が
基準接地電圧に引き下げられない場合、複数の一致線1
54の内CAMアレイ120の行に対応するこの1本が
アサートされたままとなり、バス80を通じて転送され
た論理アドレスと一致したことを示す。しかしながら、
CAMセル・ビット200のいずれかが複数の一致線1
54の1本を論理低値に引き下げた場合、(図6の)ト
ランジスタ262が導通しアサートされた有効ビット1
28が当該CAMビット200を制御しているならば、
複数の一致線154の内対応する1本が論理低値に引き
下げられる。CAMセル・ビットの内1ビットが一致線
を論理低値に引き下げたときでも、CAMアレイ120
の当該行121に対する全体的な不一致が生じる。
【0034】図6および図7に示す回路における一致線
は、VDD-VTにプリチャージしておき、一致線に関連する
論理レベル遷移によって消費される電力量を制限するこ
とができる。本発明を実施するためには、他のトランジ
スタ構成も可能であることは、当業者には認められよ
う。
【0035】また、従来技術のCAMセルでは、一致線
をプリチャージしつつ、各一致判定動作の前にビット線
bおよび反転bをVDDと接地との間で変化させる必要が
あるのに対して、CAMセル・ビット200は電力消費
に関しても有利である。CAMセル・ビット200にお
ける一致判定は、ビット線がVDD-Vtと接地との間で遷移
するように、vgnd信号224によって制御される。した
がって、消費電力が低減される。電圧の変動幅(swing)
が狭いことに加えて、従来技術のCAMセル・ビットの
データ線上よりもvgnd信号224の方が負荷が少ないの
で、消費電力は少なくなる。また、CAMアレイ120
に供給される論理アドレス・ビットは変化する可能性が
ないので、CAMセル・ビットによっても電力消費を節
約することができる。このように、ビット線214,2
16は、CAMセル・ビット200に対して静的に駆動
されるので、消費電力は非常に少ない。
【0036】加えて、CAMアレイ行121の「ドント
ケア」領域/範囲内の一致線220は、一致線220の
アクティブな部分の電力消費や負荷(loading)の負担に
は寄与しない。したがって、複数のページ・サイズのア
ドレス変換をより少ない有効ビットをアサートすること
に行っているため、アサートする有効ビット数がこれよ
りも多いページ・サイズのアドレス変換よりも、消費電
力が少なくて済む。
【0037】更に、CAMアレイ120とRAMアレイ
122では、論理アドレスが変換アドレスと一致したと
仮定する。変換アドレスは、バス90を通じて、図5の
マルチプレクサ(MUX)に140転送される。MUX14
0では、RAMアレイ122のページ・サイズ・レジス
タ160からのページ・サイズ・データが供給され、バ
ス80を通じて転送された論理アドレスが、バス90に
よって供給された変換アドレスと比較される。RAMア
レイ122は、特定の物理位置にセーブされているメモ
リの属性に関する属性ビット164も含む。特定の変換
アドレスに対応する属性ビット内の情報も、MUX14
0に送られる。図5に示したRAMアレイ122はサイ
ズ属性および変換アドレス部のための列を別個に示す
が、アレイ内のこの情報の分配が行毎に一貫性がある限
り、RAMアレイ内の1行123におけるこの情報の順
序は重要ではない。加えて、図5ではサイズ・データが
直接MUX140に転送されるものとして示されている
が、本発明の実施例によっては、MUX140によって
受信される前に、サイズ・データ用のデコーダを追加す
ることも可能である。
【0038】図8ないし図11は、MUX140によっ
て出力される物理アドレス100の構成例を3通り示す
ものである。これらの図を、図5の右側に示した素子と
合わせて検討する。各例では、その中に含まれる変換ア
ドレス値300および論理アドレス成分の組み合わせが
異なっている。この場合も、右側がデータの最上位ビッ
トであり、左側が最下位ビットである。論理アドレス成
分302と変換アドレス成分300との組み合わせは、
図5のMUX140によって決定される。バス80を通
じて転送されMUX140を通過する論理アドレスで構
成される物理アドレス100の量、およびバス90を通
じて転送される変換アドレスで構成される物理アドレス
100の量は、RAMアレイ122内のページ・サイズ
・レジスタ160に記憶されているページ・サイズによ
って決定される。図8ないし図11は、本発明のこの実
施例において構成可能な4種類の異なるページ・サイズ
を示す。ページ・サイズが大きければ、より多くの論理
アドレスが物理アドレスの中にコピーされる。例えば、
図10を参照されたい。図11は、論理アドレス全体が
物理アドレスに渡されたときの識別動作の結果を示す。
ページ・サイズが小さければ、物理アドレスにコピーさ
れる論理アドレスは少なくなる。例えば、図8を参照さ
れたい。
【0039】尚、信号、ステータス・ビット、または同
様の装置(apparatus)をその論理真または論理虚の状態
にすることを意味する場合、「アサート」および「非ア
サート」という用語をそれぞれ用いた。論理正状態がデ
ジタル論理レベル1の場合、論理虚状態はデジタル論理
レベル0となる。また、論理正状態がデジタル論理レベ
ル0の場合、論理虚状態はデジタル論理レベル1とな
る。図示した回路ではある極性即ち値を想定している
が、この想定は好適実施例にのみ適用されるものであ
り、本発明の可能な実施例全てに適用される訳ではな
い。
【0040】以上変換ルックアサイド・バッファに関連
して本発明を例示したが、本発明はアドレス変換以外の
動作にも使用可能である。したがって、本発明はここで
例示した特定形態に限定されるのではなく、本発明の精
神および範囲から逸脱しない全ての変更は特許請求の範
囲に含まれることを意図することは理解されよう。
【図面の簡単な説明】
【図1】本発明の一実施例によるデータ処理システムを
示すブロック図。
【図2】本発明の一実施例による、図1のデータ・メモ
リ部を示すブロック図。
【図3】本発明の一実施例による、図1の命令メモリ部
を示すブロック図。
【図4】本発明の一実施例による、図3のメモリ管理部
(MMU)62の一部と同一の、図2のメモリ管理部
(MMU)52の一部を示すブロック図。
【図5】本発明の一実施例による、図4の変換ルックア
サイド・バッファ(TLB)70を示すブロック図。
【図6】本発明の一実施例による単一のCAMセル・ビ
ット(200)を示す回路図。
【図7】本発明の一実施例による、単一の有効ビット
(128)を示す回路図。
【図8】本発明によって発生される物理アドレスの構成
を示す図。
【図9】本発明によって発生される物理アドレスの構成
を示す図。
【図10】本発明によって発生される物理アドレスの構
成を示す図。
【図11】本発明によって発生される物理アドレスの構
成を示す図。
【符号の説明】
10 データ処理システム 12〜14 処理部 20,22,28,29 バス 30 データ部 32 データ・メモリ部 34 レジスタ・ファイル 36 命令部 38 目標命令キャッシュ 40 命令メモリ部 52 メモリ管理部回路 54 タグ回路 56 データ・キャッシュ回路 62 メモリ管理部回路 64 タグ回路 66 命令キャッシュ回路 70 変換監視バッファ 120 内容アドレス可能メモリ・アレイ 122 RAMアレイ 128,130,132 有効ビット 126,134,135 CAMセル群 136 デコーダ 140 マルチプレクサ 154,220 一致線 160 ページ・サイズ・レジスタ 162 ワード線駆動部 204,206,208,210,202,252,2
54,256,258,260 スタティック・メモリ
・セル 212 排他的論理和回路 262,268,270 トランジスタ 264 NANDゲート

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】データ処理装置(10)であって:複数の
    論理アドレス値と複数の制御値とを通信するインターフ
    ェース手段(24);ならびに前記インターフェース手
    段に結合され、前記論理アドレス値と前記制御値とを受
    信するメモリ(120)であって:前記インターフェー
    ス手段に結合され前記論理アドレス値を受信する複数の
    メモリ・セル(126)であって、該メモリ・セルの各
    々は記憶されたアドレスの1ビットを記憶する複数のメ
    モリ・セル・ビットで構成され、各ビットに対して、前
    記記憶されたアドレス値の1ビットを論理アドレス値の
    所定ビットと選択的に比較可能にする、前記複数のメモ
    リ・セル(126);および前記インターフェース手段
    に結合され第1制御値を記憶し、前記複数のメモリ・セ
    ルの第1部分と前記複数のメモリ・セルの第2部分との
    間に結合された第1有効ビット(128)であって、こ
    れにより前記複数のメモリ・セルの第1部分の各々を選
    択的にイネーブルし、その中に記憶されているビットを
    前記論理アドレス値の所定ビットと比較する、前記第1
    有効ビット(128);から成る前記メモリ(12
    0);から成ることを特徴とするデータ処理装置(1
    0)。
  2. 【請求項2】データ処理装置(10)であって:複数の
    論理アドレス値と複数の制御値とを通信するインターフ
    ェース手段(24);および前記インターフェース手段
    に結合され、前記論理アドレス値と前記制御値とを受信
    するメモリ(120)であって:前記インターフェース
    手段に結合され前記論理アドレス値を受信する複数のメ
    モリ・セル(126)であって、該メモリ・セルの各々
    は記憶されたアドレスの1ビットを記憶する複数のメモ
    リ・セル・ビットで構成され、各ビットに対して、前記
    記憶されたアドレス値の1ビットを論理アドレス値の所
    定ビットと選択的に比較可能にする、前記複数のメモリ
    ・セル(126);および前記インターフェース手段に
    結合され前記複数の制御値を記憶し、少なくとも1つの
    メモリ・セルに結合された、複数の有効ビット(12
    8,130,132)であって、各々が結合されている
    メモリ・セル内の各メモリ・セル・ビットを選択的にイ
    ネーブルすることができる前記複数の有効ビット(12
    8,130,132);から成る前記メモリ(12
    0);から成ることを特徴とするデータ処理装置(1
    0)。
  3. 【請求項3】ルックアサイド・バッファ(70)であっ
    て:論理アドレスと制御値とを通信するインターフェー
    ス手段(52,40);ならびに前記インターフェース
    手段に結合されたCAMアレイ(120)であって:複
    数のCAMセル行(121);可能なアドレス値を記憶
    し、それを論理アドレス値と比較可能な複数のCAMセ
    ル・ビット(126)で構成される行当たり少なくとも
    2つのCAMセル;前記行内の各CAMセル・ビットに
    結合された各行に対する導電線;少なくとも一方の側で
    前記CAMセルとインターフェース手段とに結合され、
    更に前記導電線に接続された複数の有効ビット(12
    8)であって、第2の側のCAMセル・ビットの少なく
    とも第1の側のCAMセルを、選択的に分離可能にする
    前記有効ビット;変換アドレスを記憶するための複数の
    RAMセル・ビットから成り、前記CAMアレイの各行
    に対する前記導電線に結合されたRAMアレイ(12
    2);および前記インターフェース手段と前記RAMア
    レイとに接続され、前記論理アドレスを前記制御値およ
    び変換アドレスと多重化し、物理アドレスを発生する多
    重化手段(100);から成る前記CAMアレイ(12
    0);から成ることを特徴とするルックアサイド・バッ
    ファ(70)。
JP8029883A 1995-02-02 1996-01-24 データ処理装置 Pending JPH08249233A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38271995A 1995-02-02 1995-02-02
US382719 1995-02-02

Publications (1)

Publication Number Publication Date
JPH08249233A true JPH08249233A (ja) 1996-09-27

Family

ID=23510119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8029883A Pending JPH08249233A (ja) 1995-02-02 1996-01-24 データ処理装置

Country Status (3)

Country Link
EP (1) EP0725348A1 (ja)
JP (1) JPH08249233A (ja)
KR (1) KR960032174A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493812B1 (en) * 1999-12-17 2002-12-10 Hewlett-Packard Company Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
US6549997B2 (en) * 2001-03-16 2003-04-15 Fujitsu Limited Dynamic variable page size translation of addresses

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5568415A (en) * 1993-02-19 1996-10-22 Digital Equipment Corporation Content addressable memory having a pair of memory cells storing don't care states for address translation
GB2278211A (en) * 1993-05-04 1994-11-23 Motorola Inc Memory management system

Also Published As

Publication number Publication date
EP0725348A1 (en) 1996-08-07
KR960032174A (ko) 1996-09-17

Similar Documents

Publication Publication Date Title
US5717885A (en) TLB organization with variable page size mapping and victim-caching
US5319763A (en) Data processor with concurrent static and dynamic masking of operand information and method therefor
US5412787A (en) Two-level TLB having the second level TLB implemented in cache tag RAMs
US5546555A (en) Optimized translation lookaside buffer slice having stored mask bits
US5257361A (en) Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation
US5752275A (en) Translation look-aside buffer including a single page size translation unit
US6014732A (en) Cache memory with reduced access time
US5321836A (en) Virtual memory management method and apparatus utilizing separate and independent segmentation and paging mechanism
US5235697A (en) Set prediction cache memory system using bits of the main memory address
US5353424A (en) Fast tag compare and bank select in set associative cache
US5263140A (en) Variable page size per entry translation look-aside buffer
US5053951A (en) Segment descriptor unit for performing static and dynamic address translation operations
US6151658A (en) Write-buffer FIFO architecture with random access snooping capability
US6026476A (en) Fast fully associative translation lookaside buffer
EP0690386A1 (en) Address translator and method of operation
WO1998054639A1 (en) Patching apparatus and method for upgrading modem software code
US5530824A (en) Address translation circuit
US5712998A (en) Fast fully associative translation lookaside buffer with the ability to store and manage information pertaining to at least two different page sizes
US5535351A (en) Address translator with by-pass circuit and method of operation
JPH0362144A (ja) 情報処理システムのメモリアクセスを速くする方法及びこの方法を実施するためのシステム
US5638315A (en) Content addressable memory for a data processing system
US5732405A (en) Method and apparatus for performing a cache operation in a data processing system
US5530822A (en) Address translator and method of operation
US6643742B1 (en) Method and system for efficient cache memory updating with a least recently used (LRU) protocol
US11233510B2 (en) In memory logic functions using memory arrays