JP3242161B2 - データプロセッサ - Google Patents

データプロセッサ

Info

Publication number
JP3242161B2
JP3242161B2 JP24295892A JP24295892A JP3242161B2 JP 3242161 B2 JP3242161 B2 JP 3242161B2 JP 24295892 A JP24295892 A JP 24295892A JP 24295892 A JP24295892 A JP 24295892A JP 3242161 B2 JP3242161 B2 JP 3242161B2
Authority
JP
Japan
Prior art keywords
address information
address
state
clear
entries
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.)
Expired - Fee Related
Application number
JP24295892A
Other languages
English (en)
Other versions
JPH0695967A (ja
Inventor
文男 荒川
邦男 内山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP24295892A priority Critical patent/JP3242161B2/ja
Priority to US08/115,026 priority patent/US5555394A/en
Priority to KR1019930018023A priority patent/KR100278895B1/ko
Publication of JPH0695967A publication Critical patent/JPH0695967A/ja
Application granted granted Critical
Publication of JP3242161B2 publication Critical patent/JP3242161B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータプロセッサに関
し、特にダイレクトマップ方式またはセットアソシアテ
ィブ方式のバッファメモリ(キャッシュメモリ)を有す
るマイクロプロセッサ等のデータプロセッサにおいて、
バッファメモリの部分クリアを高速に行うことを可能に
するものである。
【0002】
【従来の技術】バッファメモリの部分クリアとは、バッ
ファメモリの各エントリのタグの一部のビットが、指定
した値と一致する場合に、そのエントリを無効化する処
理である。この部分クリアは、例えば、アドレス変換テ
ーブルの書き替えによって、アドレス変換用バッファメ
モリ(アドレス変換用キャッシュ)の一部のエントリ
が、アドレス変換テーブルのエントリと不整合となった
場合に、そのエントリを無効化する際に使用する。も
し、この部分クリアが不可能な場合は、全エントリを無
効化することになり、ヒット率の低下につながる。ま
た、バッファメモリの大容量化によって、不整合なエン
トリの割合が相対的に小さくなると、全エントリの無効
化による無駄なクリアが増加する。従って、アドレス変
換用バッファメモリや論理キャッシュのように、一部の
エントリが不整合となる可能性のあるバッファメモリを
大容量化する際には、部分クリアをサポートする必要が
有る。従来、フルアソシアティブ方式のバッファメモリ
はタグの比較を全エントリに対して同時に行うことが可
能であるため部分クリアが高速であった。これに対し、
ダイレクトマップ方式またはセットアソシアティブ方式
の場合、各エントリのタグを逐次読み出して比較する必
要があるためエントリ数に比例して部分クリア時間が増
加した。従って、大容量化すればするほど部分クリア時
間が増加する。
【0003】
【発明が解決しようとする課題】一方、現在マイクロプ
ロセッサ等の高性能化に伴って、バッファメモリの大容
量化および高速化の要求が高まっている。また、フルア
ソシアティブ方式のバッファメモリは、ダイレクトマッ
プ方式又はセットアソシアティブ方式に比べて、全タグ
セルに一致比較回路が付いている上に、タグを全ビット
記憶する必要があるため、タグアレイの面積が増大し大
容量化に不向きである。また、アクセス時間を高速化す
るにはタグセルを大きくして一致比較回路を高速化する
必要があり、これによってさらに面積が増大して、大容
量化が困難となる。
【0004】本発明の目的とするところは、高速に部分
クリアを行うことが可能な大容量バッファメモリを実現
することである。本発明のより具体的な目的は、ダイレ
クトマップ方式またはセットアソシアティブ方式のバッ
ファメモリにおいて、高速に部分クリアを行うことを可
能にすることにある。
【0005】
【課題を解決するための手段】上記目的を、以下のよう
にして解決する。まず部分クリア指示が出された際には
一致比較すべき値をラッチするだけで、実際のエントリ
クリア処理は行わない。その後、バッファメモリへのア
クセス時に、ラッチしておいた比較値とアクセスしたエ
ントリのタグとを比較し、一致した場合はそのエントリ
を無効化し、ヒット信号もアサートしない。
【0006】以上が基本的なクリア方式であるが、これ
だけでは単純すぎて以下のような問題が生じる。まず、
部分クリア指示後に登録したエントリのタグが比較値と
一致した場合、アクセスの際に誤ってクリアされヒット
しない。また、新たに部分クリア指示が出された際に、
部分クリアが完了していないと比較値のラッチを更新で
きない。上記問題は以下のようにして解決する。従来1
ビットであった各エントリの有効ビットを2ビットと
し、有効、無効、クリア待ちの3状態を記憶できるよう
にする。そして、この3状態を図4のように遷移させ
る。まず、エントリの登録時には前の状態に関係なくそ
のエントリを有効状態とする。部分クリア指示が出され
た場合は、有効状態のエントリはクリア待ち状態に遷移
し、クリア待ち状態のエントリは無効状態に遷移する。
この遷移は全エントリ一斉に行う。クリア待ち状態でア
クセスの行われたエントリは、タグが比較値と一致した
場合は無効状態に遷移し、ヒット信号をアサートしな
い。一方、タグが比較値と一致しなかった場合は有効状
態に遷移し、ヒット信号をアサートする。なお、有効状
態のエントリへのアクセスが行われた場合は、常にヒッ
ト信号をアサートする。上記方式では、2回の部分クリ
ア指示の間一度もアクセスされなかったエントリは2回
目の部分クリア指示で無効化されてしまう。しかし、こ
のようなエントリはその後も参照される確率が低く無効
化してもヒット率にはほとんど影響しないと考えられ
る。
【0007】
【作用】上記解決手段により、ダイレクトマップ方式ま
たはセットアソシアティブ方式のバッファメモリの部分
クリアが、容量に関係なく高速に行われる。
【0008】
【実施例】図1は、本発明の実施例によるマイクロプロ
セッサで用いられている64エントリ・ダイレクトマッ
プ・アドレス変換バッファである。アドレス変換方式と
しては図2のような2段階のアドレス変換方式を採用し
ている。まず、このアドレス変換方式について、図2を
参照して説明する。
【0009】図2に示すように、アドレスは32ビット
で2Gバイトの論理アドレス空間を表現できる。これを
まず2Mバイト単位のセクションに分割し、このセクシ
ョンを2Kバイト単位のページに分割する。これに対応
して、32ビットのアドレスを3つに分割し、上位10
ビットをセクションインデックス(SX)、中位10ビ
ットをページインッデクス(PX)、下位12ビットを
オフセットと呼ぶ。各セクションはページテーブルを持
っていてこのテーブルの先頭へのポインタがページテー
ブルベース(PTB)である。PTBはセクションテー
ブルに書かれている。セクションテーブルの先頭へのポ
インタはセクションテーブルベース(STB)でラッチ
に保持されている。このSTBにSXを加算すればその
セクションのPTBへのポインタが得られる。一方、ペ
ージテーブルには各ページに対応するページフレーム番
号(PFN)が書かれている。PFNは物理アドレスの
上位20ビットに相当する。PFNへのポインタを得る
には、PTBにPXを加算すればよい。以上をまとめる
とアドレス変換は以下のようになる。まず、論理アドレ
スを分割して、SX、PX、オフセットを得る。次に、
STBにSXを加算してPTBへのポインタを求め、P
TBをメモリから読み出す。さらに、このPTBにPX
を加算してPFNへのポインタを求め、PFNをメモリ
から読み出す。最後に、このPFNにオフセットを加算
して物理アドレスを求める。
【0010】上記アドレス変換方式に対応するアドレス
変換バッファは、一般的な方式で構成すれば例えば図3
のようになる。この例は64エントリのダイレクトマッ
プ方式である。下位12ビットは変換前後で変化しない
ので、上位20ビットの変換対を保持している。図3
で、1は論理アドレスで、2はタグアレイで、3はPF
Nを保持するデータアレイで、4は14ビット比較器、
5はアドレス変換バッファによって生成した物理アドレ
スで、9はヒット信号を生成するためのANDゲートで
ある。この図3のアドレス変換バッファは、以下のよう
に動作する。まず、エントリの登録時には論理アドレス
の上位20ビットの内の下位6ビットをデコードして登
録エントリを決定し、そのエントリのタグアレイ側には
論理アドレスの上位14ビットとエントリが有効である
ことを示すVフラグを書き込む一方、データアレイ側に
はPFNを書き込む。次に、このアドレス変換バッファ
を用いてアドレス変換を行う場合には、変換する論理ア
ドレスの上位20ビットの内の下位6ビットをデコード
して読み出すエントリを決定し、登録されている論理ア
ドレスの上位14ビットと、Vフラグと、PFNとを読
み出し、変換する論理アドレスの上位14ビットと読み
出した論理アドレスの上位14ビットとを比較し、これ
らが一致してVフラグが立っていたらヒット信号をアサ
ートする。そして、読み出したPFNと変換する論理ア
ドレスの下位12ビットを結合して物理アドレスとす
る。アドレス変換バッファの部分クリアは、以下のよう
にセクションテーブル書き替え時に必要となる。セクシ
ョンテーブルを書き替えると、書き替えたセクションの
アドレス変換対は全て不整合となる。従って、アドレス
変換バッファの書き替えたセクションに対応するエント
リ、すなわちSXが書き替えたセクションのものである
エントリを無効化する必要がある。この処理は、図3の
アドレス変換バッファの場合、全エントリを無効化する
か、64エントリ全てを逐次読み出してSXの一致する
エントリを無効化するかするかのいずれかで対処する。
前者の場合無効化の必要のないエントリも無効化してし
まい、後者の場合は最大64回アドレス変換バッファを
読み出す時間だけ処理に時間がかかる。
【0011】次に、図1の本発明を用いた64エントリ
ダイレクトマップアドレス変換バッファについて説明す
る。主な構成は図3のアドレス変換バッファと同一であ
り、Vフラグの制御とヒット信号の生成論理が異なる。
図1で、1から5の機能はタグアレイ2のVフラグを除
いて図3の場合と同一である。Vフラグは有効、無効、
クリア待ちの3状態を保持するために2ビットある。こ
の2ビットが11、00、10ならばそれぞれ有効、無
効、クリア待ち状態である。6は部分クリアのための比
較値を保持するためのラッチで、7は読み出したタグと
比較値を比較して一致した場合にクリア信号をアサート
するための比較器で、8はVフラグおよび、一致信号、
クリア信号、タイプ信号から、ヒット信号および新たな
Vフラグを生成するための制御論理である。
【0012】この図1のアドレス変換バッファは以下の
ように動作する。まず、エントリの登録は、図3のアド
レス変換バッファと同様に行う。また、セクションテー
ブルの書き替え等で、あるセクションのアドレス変換対
のクリアを要求する場合は、ラッチ6に部分クリア用の
比較値、すなわちそのセクションのSXをラッチし、全
エントリのVフラグに関して有効、無効、クリア待ちの
状態からそれぞれクリア待ち、無効、無効の状態にす
る。
【0013】アドレス変換はエントリを読み出して物理
アドレスおよび一致信号を生成するところまでは図3と
同一である。この図1のアドレス変換バッファではさら
に、ラッチ6の比較値が有効な場合は、タグアレイ2か
ら読み出したタグとラッチ7の比較値を比較器7で比較
して、一致した場合にクリア信号をアサートし、一致し
ない場合はクリア信号をアサートしない。そして、比較
器4の一致出力をM、クリア待ちを示すVフラグを
C、比較器7のクリア出力をC、このクリア出力Cの
反転信号をCN、有効を示すVフラグをVVとすると、
制御論理8は以下の論理でヒット(HIT)および更新信号
(Update)を生成する。
【0014】HIT=M・(VC・CN+VV) Update=M・VC 更に、更新信号(Update)がアサートされた場合は、読み
出したエントリのVフラグを、クリア信号がアサートさ
れている場合は無効に、アサートされていない場合は有
効に書き替える。
【0015】
【発明の効果】本発明によりダイレクトマップ方式また
はセットアソシアティブ方式のバッファメモリの部分ク
リアを、容量に関係なく高速に行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例による64エントリ・ダイレク
トマップ・アドレス変換バッファを示す図である。
【図2】本発明の実施例によるアドレス変換バッファに
よるアドレス変換を示す図である。
【図3】一般的な64エントリ・ダイレクトマップ・ア
ドレス変換バッファを示す図である。
【図4】本発明を用いたバッファメモリの各エントリの
状態遷移を示す図である。
【符号の説明】
1…論理アドレス、2…タグアレイ、3…PFNを保持
するデータアレイ、4…14ビット比較器、5…アドレ
ス変換バッファによって生成した物理アドレス、6…部
分クリアのための比較値を保持するためのラッチ、7…
読み出したタグと比較値を比較して一致した場合にクリ
ア信号をアサートするための比較器、8…Vフラグおよ
び、一致、クリア、タイプ信号から、ヒット信号および
新たなVフラグを生成するための制御論理、SX…セク
ションインデックス、PX…ページインッデクス、PT
B…ページテーブルベース、STB…セクションテーブ
ルベース、PFN…ページフレーム番号
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のエントリのタグアレイと、複数のエ
    ントリのデータアレイとを有するバッファメモリと、 アドレス信号に従って上記タグアレイから読み出された
    第1のアドレス情報と上記アドレス信号が有する第2の
    アドレス情報とを比較し、ヒット判定を行う第1の比較
    器と、 上記バッファメモリの部分クリアを行うための第3のア
    ドレス情報を格納するラッチ回路と、 上記ラッチ回路にラッチされた前記第3のアドレス情報
    と前記タグアレイより読み出された第4のアドレス情報
    とを比較し、部分クリアの決定を行う第2の比較器とを
    有し、 上記タグアレイの前記複数のエントリのそれぞれは、有
    効状態、無効状態或いはクリア待ち状態の何れかを示す
    フラグを有しており、 上記第2の比較器が上記第3のアドレス情報と上記第4
    のアドレス情報との一致を検出した際、上記第2の比較
    器の出力により、上記第4のアドレス情報が格納されて
    いるエントリのフラグを上記クリア待ち状態から上記無
    効状態へと変化させる手段と、新たな部分クリア指示が
    出されて上記ラッチ回路に新たに有効なアドレスをラッ
    チする際に、クリア待ち状態の全てのエントリを無効状
    態に遷移させる手段とを有し、 上記第4のアドレス情報は上記第1のアドレス情報の一
    部であり、上記第4のアドレス情報のビット長は上記第
    1のアドレス情報のビット長よりも短いビット長である
    ことを特徴とするデータプロセッサ。
  2. 【請求項2】上記第2の比較器が上記第3のアドレス情
    報と上記第4のアドレス情報との不一致を検出した際、
    上記第2の比較器の出力により、上記第4のアドレス情
    報が格納されているエントリのフラグを上記クリア待ち
    状態から前記有効状態へと変化させる手段を有している
    ことを特徴とする請求項1記載のデータプロセッサ。
  3. 【請求項3】新たな部分クリア指示が出されて上記ラッ
    チ回路に新たに有効なアドレスをラッチする際に、有効
    状態の全てのエントリをクリア待ち状態に遷移させる
    段を有することを特徴とする請求項1又は請求項2に記
    載のデータプロセッサ。
  4. 【請求項4】上記バッファメモリはアドレス変換用バッ
    ファメモリであることを特徴とする請求項1乃至請求項
    3のいずれか一項に記載のデータプロセッサ。
  5. 【請求項5】上記複数のエントリのそれぞれが有する前
    記フラグは、上記複数のエントリのそれぞれが有効状
    態、無効状態或いはクリア待ち状態の何れかを示す少な
    くと2ビットを有することを特徴とする請求項1乃至請
    求項4のいずれか一項に記載のデータプロセッサ。
  6. 【請求項6】上記バッファメモリは、ダイレクトマップ
    方式またはセットアソシアティブ方式のバッファメモリ
    であることを特徴とする請求項1乃至請求項5のいずれ
    か一項に記載のデータプロセッサ。
JP24295892A 1992-09-11 1992-09-11 データプロセッサ Expired - Fee Related JP3242161B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP24295892A JP3242161B2 (ja) 1992-09-11 1992-09-11 データプロセッサ
US08/115,026 US5555394A (en) 1992-09-11 1993-09-02 Data processor with the ability of fast partial clearing of buffer memory
KR1019930018023A KR100278895B1 (ko) 1992-09-11 1993-09-08 데이터 프로세서

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24295892A JP3242161B2 (ja) 1992-09-11 1992-09-11 データプロセッサ

Publications (2)

Publication Number Publication Date
JPH0695967A JPH0695967A (ja) 1994-04-08
JP3242161B2 true JP3242161B2 (ja) 2001-12-25

Family

ID=17096763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24295892A Expired - Fee Related JP3242161B2 (ja) 1992-09-11 1992-09-11 データプロセッサ

Country Status (3)

Country Link
US (1) US5555394A (ja)
JP (1) JP3242161B2 (ja)
KR (1) KR100278895B1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523095B1 (en) * 1996-07-22 2003-02-18 Motorola, Inc. Method and data processing system for using quick decode instructions
US6589908B1 (en) * 2000-11-28 2003-07-08 Shell Oil Company Method of making alumina having bimodal pore structure, and catalysts made therefrom
US7120068B2 (en) * 2002-07-29 2006-10-10 Micron Technology, Inc. Column/row redundancy architecture using latches programmed from a look up table
US7284100B2 (en) * 2003-05-12 2007-10-16 International Business Machines Corporation Invalidating storage, clearing buffer entries, and an instruction therefor
US7530067B2 (en) * 2003-05-12 2009-05-05 International Business Machines Corporation Filtering processor requests based on identifiers
US9454490B2 (en) 2003-05-12 2016-09-27 International Business Machines Corporation Invalidating a range of two or more translation table entries and instruction therefore
US9182984B2 (en) 2012-06-15 2015-11-10 International Business Machines Corporation Local clearing control

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979726A (en) * 1974-04-10 1976-09-07 Honeywell Information Systems, Inc. Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US5179680A (en) * 1987-04-20 1993-01-12 Digital Equipment Corporation Instruction storage and cache miss recovery in a high speed multiprocessing parallel processing apparatus
US5197144A (en) * 1990-02-26 1993-03-23 Motorola, Inc. Data processor for reloading deferred pushes in a copy-back data cache
US5249286A (en) * 1990-05-29 1993-09-28 National Semiconductor Corporation Selectively locking memory locations within a microprocessor's on-chip cache

Also Published As

Publication number Publication date
KR100278895B1 (ko) 2001-01-15
US5555394A (en) 1996-09-10
KR940007689A (ko) 1994-04-27
JPH0695967A (ja) 1994-04-08

Similar Documents

Publication Publication Date Title
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
JP3242161B2 (ja) データプロセッサ
JPS63238646A (ja) マイクロプロセッサ
US4424564A (en) Data processing system providing dual storage of reference bits
JP3997404B2 (ja) キャッシュメモリ及びその制御方法
US6216198B1 (en) Cache memory accessible for continuous data without tag array indexing
EP0224168A2 (en) Buffer storage control system
JPH01149153A (ja) アドレス変換索引機構無効化装置
JP2641319B2 (ja) アドレス変換バッファクリア方式
JP3074897B2 (ja) メモリ回路
JPH0650481B2 (ja) データ処理装置
JPS626350A (ja) Tlb制御装置
JPH0439099B2 (ja)
JPS589452B2 (ja) フア−ムウエアホウシキ
JPS6324337A (ja) キャッシュ・メモリ管理方式
JPH02171944A (ja) バッファ記憶装置
JPH04133147A (ja) アドレス変換バッファクリア方式
JPH02268350A (ja) バッファ記憶制御方式
JPH03225540A (ja) キャッシュメモリの無効化処理方式
JPH0512124A (ja) バツフア記憶制御方式
JPH052532A (ja) キヤツシユメモリー
JPH02208757A (ja) キャッシュメモリ制御方式
JPS609296B2 (ja) バッファメモリ制御方式
JPS58166583A (ja) バツフアメモリ制御方式
JPH05225056A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071019

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees