JP2002328839A - データ処理装置及びデータプロセッサ - Google Patents

データ処理装置及びデータプロセッサ

Info

Publication number
JP2002328839A
JP2002328839A JP2001130559A JP2001130559A JP2002328839A JP 2002328839 A JP2002328839 A JP 2002328839A JP 2001130559 A JP2001130559 A JP 2001130559A JP 2001130559 A JP2001130559 A JP 2001130559A JP 2002328839 A JP2002328839 A JP 2002328839A
Authority
JP
Japan
Prior art keywords
way
cache
prediction
information
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.)
Granted
Application number
JP2001130559A
Other languages
English (en)
Other versions
JP4071942B2 (ja
Inventor
Masayuki Ito
雅之 伊藤
Junichi Nishimoto
順一 西本
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 JP2001130559A priority Critical patent/JP4071942B2/ja
Priority to US10/083,342 priority patent/US6898671B2/en
Publication of JP2002328839A publication Critical patent/JP2002328839A/ja
Application granted granted Critical
Publication of JP4071942B2 publication Critical patent/JP4071942B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • G06F2212/6082Way prediction in set-associative cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)

Abstract

(57)【要約】 【課題】 予測ミスが連続して発生する場合に、ペナル
ティサイクル数を低減させることができるデータプロセ
ッサを提供する。 【解決手段】 インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリ(2)を有する。キャッシュメ
モリは、前記連想動作に並行して予測に基づくウェイ
(10、11)選択を行うウェイ予測手段(13)と、
ウェイ予測手段による予測ミスに起因するペナルティサ
イクル中に、後続アクセスアドレスを用いた連想動作に
基づいてウェイ選択確定情報を生成する生成手段(3
0)と、ペナルティサイクル後の前記後続アクセスアド
レスに対して、ウェイ選択確定情報によりウェイを選択
させる制御手段(31)と、を含む。先に生ずるペナル
ティサイクル中に、後続のキャッシュアクセスがヒット
するウェイを予め確定しておくことができるため、ペナ
ルティサイクルの累積数を低減させることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
を持つマイクロプロセッサやDSP(ディジタル信号処
理プロセッサ)等のデータ処理装置もしくはデータプロ
セッサに係り、特にウェイ予測機能を用いるキャッシュ
制御技術に適用して有効な技術に関する。
【0002】
【従来の技術】マイクロプロセッサ、DSP等のデータ
処理装置において,プロセッサが外部メモリとのデータ
転送を極力減らし、性能を向上するために、高速動作可
能なオンチップキャッシュメモリが一般的に搭載され
る。キャッシュメモリにヒットした場合、外部メモリへ
のアクセスサイクルを隠蔽することができ、高性能化が
達成できるからである。また、消費電力の観点からも、
キャッシュメモリ自体は電力を消費するが、外部入出力
ピンもしくは外部入出力バッファ回路の駆動を必要とし
ない等によりメモリ制御に伴う消費電力を低減すること
ができ、プロセッサ全体として低消費電力化に寄与する
ことが可能である。
【0003】キャッシュメモリの構成として、一定の大
きさのブロックを単位として、外部メモリデータをキャ
ッシュ内のデータに対応づけるマッピング方式として、
ダイレクトマッピング方式、セットアソシアティブ方
式、フルアソシアティブ方式がある。
【0004】ここで、ブロックの大きさをBバイト、キ
ャッシュ内のブロック数をcとすると、外部メモリのア
ドレスaのバイトが含まれるブロックの番号mはa/B
の整数部になる。
【0005】ダイレクトマッピング方式では、番号mの
外部メモリのブロックはモジュロ演算式m mod c
で現されるキャッシュメモリ内の番号のブロックに一意
的にマッピングされる。ダイレクトマッピングでは、キ
ャッシュ内の同一ブロックに割り当てられ得る複数のブ
ロックが同時に使用されると衝突が発生してキャッシュ
ヒット率が低下する。これに対してフルアソシアティブ
方式では、外部メモリのどのブロックもキャッシュメモ
リのどのブロックにでもマッピング可能とする方式であ
る。しかしながら、フルアソシアティブ方式では、キャ
ッシュの全ブロックを各アクセス毎に連想検索しなけれ
ばならず、実用的なキャッシュ容量では、実現困難であ
る。このため、実用的には、両者の中間のセットアソシ
アティブ方式が一般的に用いられる。セットアソシアテ
ィブ方式は、n(N=2、4又は8程度)個のキャッシ
ュ内ブロックをまとめた単位をセットと定義し、このセ
ットに対してはダイレクトマッピングを適用し、セット
内のブロックに対しては、フルアソシアティブマッピン
グを適用することによって、両者の長所を生かす方法
で、nの値によりnウェイセットアソシアティブ方式と
称される。
【0006】しかしながら、アクセス時間の観点ではセ
ットアソシアティブ方式はダイレクトマッピング方式に
劣る。一般的にキャッシュの1ライン(1キャッシュエ
ントリ)はキャッシュに格納されているアドレスを示す
タグと格納データで構成されるが、セット内のどのブロ
ック(ウェイ)のデータ読み出せば良いかが、アクセス
アドレスとタグの比較結果に依存するからである。ダイ
レクトマッピング方式では、読み出すべきデータは、ア
クセスアドレスにより一意に決定されるため、キャッシ
ュ読み出しに要する時間はダイレクトマッピング方式が
最も有利である。
【0007】また、消費電力の観点からもダイレクトマ
ッピング方式が最も有利である。なぜなら、セットアソ
シアティブ方式では、セット内の全てのブロック(ウェ
イ)のタグを読み出す必要があることのみならず、高速
に読み出しデータを確定させるために、データの読み出
しもヒットしたウェイの決定を待たずに候補となる全ウ
ェイのデータを読み出しておく制御が一般に行われるた
めである。
【0008】以上説明したダイレクトマッピング方式と
セットアソシアティブ方式の両者の長所、すなわち、セ
ットアソシアティブ方式のキャッシュの高ヒット率によ
る高性能と、ダイレクトマッピング方式の各アクセス毎
のキャッシュ検索を短時間で行えることによる高速化の
両方を享受できる方法として、ウェイ予測セットアソシ
アティブ方式がある。
【0009】ウェイ予測セットアソシアティブ方式で
は、参照ラインが存在する唯一のウェイをタグ比較とは
独立に予測することで、ヒットしたウェイの決定を待た
ずに読み出しデータを確定できるため、ダイレクトマッ
ピング方式の高速読み出しを行えると同時に、セットア
ソシアティブ方式のキャッシュの高ヒット率を達成する
ことができる。この種のウェイ予測セットアソシアティ
ブ方式について記載された文献の例として特開平7−3
34423号公報が有る。
【0010】
【発明が解決しようとする課題】上述のウェイ予測セッ
トアソシアティブ方式では、通常のキャッシュヒット、
キャッシュミスの他に、キャッシュにはヒットしている
が、予測ウェイを誤る場合が存在し、これを予測ミスと
称する。本方式では以下の3つの状態がある。即ち、
予測ヒット(:通常のキャッシュヒットであり、且つウ
ェイ予測が正しい場合)、予測ミス(:通常のキャッ
シュヒットであり、且つウェイ予測が誤りの場合9、
キャッシュミス(:キャッシュリプレースの発生する通
常のキャッシュミス)である。
【0011】予測ヒットの場合の実行サイクルは通常1
サイクルであり、キャッシュミスの場合の実行サイクル
は外部メモリへのアクセス時間で決まり、ダイレクトマ
ッピング方式や通常のセットアソシアティブ方式と同一
である。予測ミスが発生すると、リードアクセスの場合
は改めて正しいウェイへアクセスする必要があるため、
ペナルティサイクルが発生する。一般的に高速で動作す
るプロセッサはパイプライン構成を採用しており、次々
と連続するキャッシュアクセスを処理するために、キャ
ッシュ制御部はウェイの予測がヒットするものと想定し
て動作するために、ウェイ予測ミスの次の実行サイクル
では、当該次のアクセスの処理を行う制御を開始してい
る。このような制御を行うため、改めて正しいウェイへ
アクセスするのは更にその次のサイクルになり、予測ミ
ス発生時には、2サイクルもしくはそれ以上のペナルテ
ィサイクルが挿入されることになる。ライトアクセスの
場合でウェイ予測にしたがって投機的に書き込みを行な
う場合には、予測ミスが発生すると、既に書き込みを行
ったウェイに対しては元の正しいデータをリカバリする
必要があり、正しいウェイへ改めて書き込みを行う必要
がある。
【0012】本発明者はそのような予測ミスによるペナ
ルティサイクルについて更に検討した。例えばリードア
クセスが連続するとき、予測ミスを生ずると、キャッシ
ュメモリは正規の連想動作によるペナルティサイクルを
実行し、その間、CPUでは当該予測ミスに係る命令実
行サイクル(若しくはメモリアクセスサイクル)の次の
命令実行サイクルがストールされ、後続の処理がウェイ
ト若しくは待ち状態にされる。その間、キャッシュメモ
リは予測ミスに係るアクセスに対するペナルティサイク
ルを実行しているだけである。これにより、連続アクセ
スに対し連続する予測ミスを生ずると、予測ミス毎に毎
回ペナルティサイクルが累積され、CPUによるメモリ
アクセスが著しく遅れる虞のあることが本発明者によっ
て明らかにされた。キャッシュミスと予測ミスが前後し
て発生する場合も、同じように、夫々のミス毎に毎回ペ
ナルティサイクルが累積される事情は同じである。
【0013】本発明の目的は、上述の予測ミスが連続し
て発生し、或はキャッシュミスと予測ミスが前後して発
生する場合に、ペナルティサイクルの累積回数を低減さ
せることができ、ひいてはCPU等によるデータ処理性
能もしくはデータ処理速度向上に寄与することができる
データ処理装置もしくはデータプロセッサを提供するこ
とにある。
【0014】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0015】
【課題を解決するための手段】〔1〕《連続するウェイ
予測ミスの発生防止》本発明の第1の観点は、連続する
ウェイ予測ミスの発生を防止するために、予測ミスに後
続するアクセスのアクセスウェイを予め確定させること
にある。この観点に立つデータ処理装置は、インデック
スされたキャッシュラインのタグ情報を用いる連想動作
が可能なセットアソシアティブ型のキャッシュメモリを
有する。前記キャッシュメモリは、前記連想動作に並行
して予測に基づくウェイ選択を行うウェイ予測手段(1
3)と、前記ウェイ予測手段による予測ミスに起因する
ペナルティサイクル中に、後続アクセスアドレスを用い
た連想動作に基づいてウェイ選択確定情報を生成する生
成手段(30)と、前記ペナルティサイクル後の前記後
続アクセスアドレスに対して、前記ウェイ選択確定情報
によりウェイを選択させる制御手段(31,31A)
と、を含んで成る。
【0016】前記連想動作は、例えば、アクセスアドレ
ス情報に含まれる所定のアドレス情報を、インデックス
されたキャッシュラインの各ウェイのタグ情報と比較
し、ウェイ毎に連想ヒット又は連想ミスを示す連想結果
信号を生成する動作である。
【0017】また、前記ウェイ予測手段による予測は、
例えば、キャッシュライン毎のウェイ選択の履歴情報に
基づいて、最も最近選択されたウェイを選択ウェイとす
る処理である。
【0018】前記制御手段(31)は、前記ウェイ予測
手段による予測に代えて前記ウェイ選択確定情報により
ウェイを選択させるものである。或は、前記制御手段
(31A)は、前記ウェイ選択確定情報に対応するとこ
ろの前記ウェイ予測手段による予測結果情報を書換え制
御するものである。
【0019】上記データ処理装置において、例えばCP
Uが連続リードアクセスを行う場合、第1リードアクセ
スでは、先ず、インデックスされたキャッシュラインの
タグ情報がCPUからのアクセスアドレスと比較され、
その比較結果から、キャッシュヒット又はキャッシュミ
スが判定される。判定結果は制御手段に保持されてい
る。これに並行して、履歴情報を使用したアルゴリズム
にしたがってウェイの選択(ウェイ予測選択)が行わ
れ、選択されたウェイのデータがリードデータとしてC
PUに与えられる。制御手段は前記キャッシュヒット又
はキャッシュミスの判定結果に基づいてウェイ予測が正
しかったかを認識することができる。例えば、キャッシ
ュヒットに係るウェイが履歴情報に基づくウェイ予測に
一致するかを認識する。ウェイ予測が正しければ、それ
によって、第1リードアクセスに応答するキャッシュ動
作を終了し、次のサイクルでは後続の第2リードアクセ
スに対する処理が可能になる。キャッシュミスが発生し
た場合は、従来のダイレクトマッピング方式やセットア
ソシアティブ方式と同様、外部メモリをアクセスして、
キャッシュエントリのリプレースを行う必要がある。当
然この場合にはリプレースなどの処理が完了されて正規
のリードデータがCPUに供給されるまでCPUには第
1リードアクセスの未完了が通知される。また、キャッ
シュヒットであってもウェイ予測が誤っていた場合、高
速動作設計されたキャッシュメモリにおいて、次のサイ
クルを第1リードアクセスにおける正しいウェイへの再
アクセスに切換えることが時間的に困難であり、当該次
のサイクルでは、結果としてCPUからの第2リードア
クセスのためのアドレス情報などがキャッシュメモリに
伝達されることになる。この時、キャッシュメモリはそ
のままアドレスアレイを動作させ、アドレスアレイから
出力されるタグとCPUからの第2リードアクセスのア
ドレスとを比較する。制御手段はその比較結果をCPU
からの第2リードアクセスに対する各ウェイの比較結果
として、後から利用するために保存しておく。この段階
では、CPUの第1リードアクセスに対する処理が未だ
完了していないので、その次のサイクルでは、再度、第
1リードアクセスのアドレスを使用してデータアレイを
読み出す。その読み出しデータに対しては、前記制御手
段が先に取得して保存している第1リードアクセスに対
するタグとアドレスとの比較結果を直接用いてアクセス
ウェイを選択することができる。この比較結果を直接用
いてアクセスウェイを選択する操作に代えて、先ず、そ
の比較結果を用いて当該ウェイが予測選択対象にされる
ように対応するキャッシュラインの履歴情報を予め更新
しておく。これにより、再アクセスのウェイ予測を必ず
ヒットさせることを保証できるから、第1リードアクセ
スの再アクセスにも履歴情報を用いたウェイの選択を行
ってもよい。このように、第1のリードアクセス処理は
このサイクルで必ず完了し、次のサイクルには第2のア
クセスを処理することになる。第1リードアクセスの予
測ミスに続く第2リードアクセスでは、既に第2リード
アクセスのアドレスとタグとの比較結果が制御手段に蓄
えられているから、第2リードアクセスに対する処理で
は、履歴情報を使用したアルゴリズムに従うウェイ予測
に代えて、前記既に取得されている比較結果を用いるこ
とにより、第2リードアクセスに対する予測内容に拘わ
らず、絶対的に正しいアクセスウェイを選択してデータ
をCPUに供給することができる。したがって、キャッ
シュヒットに係る第2リードアクセスに関してはペナル
ティサイクルの発生する余地すらない。
【0020】このように前記データ処理装置は、CPU
からの連続したリードアクセスを処理する場合に、第1
のリードアクセスがウェイ予測ミスを起こした場合に必
要となるペナルティサイクルの間に、後続のリードアク
セスがヒットするウェイの選択確定情報を予め得て記憶
し、これを第2リードアクセスにおけるウェイ選択に利
用する。したがって、連続したウェイ予測ミスを防ぐこ
とができる。これにより、ウェイ予測形式のセットアソ
シアティブ型キャッシュメモリは、セットアソシアティ
ブ方式のキャッシュヒット性能を維持しつつ、ダイレク
トマッピング方式と同じような高速動作を可能にするこ
とができる。
【0021】上記作用説明は連続するリードアクセスを
一例とするが、アクセスは特にリードに限定されるもの
ではなく、ライト等の他のアクセスであってもよい。
【0022】〔2〕《キャッシュミスに後続するアクセ
スのウェイ確定》本発明の第2の観点は、キャッシュミ
スに後続するウェイ予測ミスの発生を防止するために、
キャッシュミスに後続するアクセスのアクセスウェイを
予め確定させることにある。要するに、前記第1のリー
ドアクセスのようなアクセスはウェイ予測ミスに限ら
ず、ペナルティサイクルが発生する処理であればキャッ
シュミス等であってもよい。この観点に立つデータ処理
装置は、インデックスされたキャッシュラインのタグ情
報を用いる連想動作が可能なセットアソシアティブ型の
キャッシュメモリを有するデータ処理装置である。前記
キャッシュメモリは、前記連想動作に並行して予測に基
づくウェイ選択を行うウェイ予測手段と、キャッシュミ
スに起因するペナルティサイクル中に、後続アクセスア
ドレスを用いた連想動作に基づいてウェイ選択確定情報
を生成する生成手段と、前記ペナルティサイクル後の前
記後続アクセスアドレスに対して、前記ウェイ予測手段
による予測に代えて前記ウェイ選択確定情報によりウェ
イを選択させる制御手段と、を含んで成る。
【0023】〔3〕《ウェイ予測ミスに後続するアクセ
スのキャッシュミスに応答する外部アクセス指示の先行
発行》本発明の第3の観点は、ウェイ予測ミスに後続す
るアクセスのキャッシュミスに応答する外部アクセス指
示を先行発行することにある。要するに、前記第2のリ
ードアクセスのようなアクセスがキャッシュミスである
場合を想定する。この観点に立つデータ処理装置は、イ
ンデックスされたキャッシュラインのタグ情報を用いる
連想動作が可能なセットアソシアティブ型のキャッシュ
メモリを有する。前記キャッシュメモリは、前記連想動
作に並行して予測に基づくウェイ選択を行うウェイ予測
手段と、前記ウェイ予測手段による予測ミスに起因する
ペナルティサイクル中に、後続アクセスアドレスのキャ
ッシュミスに応答する外部メモリアクセスの指示を発行
する制御手段と、を含んで成る。これにより、ウェイ予
測ミスに後続するアクセスがキャッシュミスである場合
に、これを早く検出して、外部メモリアクセスを早く起
動することが可能になる。
【0024】〔4〕《ウェイ予測機能の選択》本発明の
第4の観点に係るデータ処理装置には、前記連想動作の
結果に応じてウェイ選択を行う制御手段と、前記連想動
作に並行して予測に基づくウェイ選択を行うウェイ予測
手段と、ウェイ選択に前記制御手段又は前記ウェイ予測
手段の何れを用いるかを切換え可能に選択する選択手段
と、を含むキャッシュメモリを採用する。換言すれば、
前記連想動作の結果に応じてウェイ選択を行う第1動作
モードと、前記連想動作に並行して予測に基づくウェイ
選択を行う第2動作モードと、を切換え可能に指示する
指示手段を含んだキャッシュメモリを採用する。前記指
示手段を内蔵CPUによってアクセス可能なレジスタ手
段とすれば、キャッシュメモリの動作モードをCPUの
ソフトウェアで設定可能になる。
【0025】〔5〕本発明の更に別の観点によるデータ
プロセッサは、インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリと、前記キャッシュメモリに接
続されたCPUとを有し、例えば1個の半導体基板に形
成される。前記キャッシュメモリは、複数のウェイ及び
キャッシュ制御手段を有する。前記キャッシュ制御手段
は、前記CPUのアクセス動作に応答して、前記連想動
作に並行して予測に基づくウェイ選択行い、予測選択ウ
ェイが連想動作結果に不一致となる予測ミスに起因する
ペナルティサイクル中、又はキャッシュミスに起因する
ペナルティサイクル中に、後続アクセスアドレスを用い
た連想動作による検索ヒットに基づいてウェイ選択確定
情報を生成し、前記ペナルティサイクル後の前記後続ア
クセスアドレスには前記予測に基づくウェイ選択に代え
て前記ウェイ選択確定情報によりウェイを選択させる制
御を行う。前記制御手段は、前記ウェイ選択確定情報に
対応するところの前記ウェイ予測手段による予測結果情
報を書換え制御するようにしてもよい。
【0026】前記キャッシュ制御手段は、前記予測ミス
に起因するペナルティサイクル中に、後続アクセスのキ
ャッシュミスに対して、メモリコントローラ若しくはバ
スステートコントローラに、外部メモリアクセスの指示
を発行するように構成してよい。
【0027】前記キャッシュ制御手段は、例えばキャッ
シュライン毎のウェイ選択の履歴情報を記憶する記憶手
段を有し、履歴情報は最も最近アクセスされた情報に応
ずるウェイを選択ウェイとする情報である。
【0028】前記キャッシュ制御手段は、インデックス
されたキャッシュラインの中から選ばれた最新のアクセ
スウェイを後の予測で指定可能とするように、前記履歴
情報を更新するものである。
【0029】前記キャッシュ制御手段はキャッシュライ
ンをインデックスするアドレス情報により前記記憶手段
から前記履歴情報を読み出し、読み出した履歴情報に基
づいてウェイの予測選択を行うものである。
【0030】前記キャッシュ制御手段は、インデックス
されたキャッシュラインに含まれるタグ情報に基づいて
キャッシュミス又はウェイ選択の予測ミスが発生したか
否かを判定し、キャッシュヒット且つ予測ミスの判定結
果に応答してウェイの選択をやり直し且つアクセス対象
キャッシュラインに対応する前記履歴情報を更新し、キ
ャッシュミスの判定結果に応答してアクセス対象キャッ
シュラインをリプレースするために外部アクセスを指示
し且つリプレース対象キャッシュラインに対応する前記
履歴情報を更新するものである。
【0031】
【発明の実施の形態】図1には本発明の一例に係るデー
タプロセッサが示される。同図に示されるデータプロセ
ッサ4は、特に制限されないが、CMOS集積回路製造
技術などによって単結晶シリコンなどの1個の半導体基
板(半導体チップ)に形成される。データプロセッサ4
は、代表的に示されたCPU(中央処理装置)1、キャッ
シュ部2、及びメモリ制御部3を有する。
【0032】CPU1は、フェッチした命令を解読して
制御信号を生成する命令制御部と、前記命令制御部の制
御を受けて演算処理を行う実行部とを有する。6はアド
レスバス、7はデータバス、8はコントロールバスであ
り、CPU1は、それらバス6〜8を介してキャッシュ
部2に接続される。CPU1がメモリアクセスを行う場
合には、実効アドレスはアドレスバス6に出力される。
コントロールバス8にはリード信号、ライト信号などの
ストローブ信号が出力される。リードデータはデータバ
ス7を介してCPU1に供給され、CPU1はライトデ
ータをデータバス7に出力する。
【0033】前記キャッシュ部2は、ウェイ予測機能付
きの2ウェイセットアソシアティブキャッシュメモリと
して構成される。図1に示されるキャッシュ部2の構成
は、専らCPU1からのリードアクセスに応答するため
の構成を主体に例示してある。CPU1のライトアクセ
ス時におけるデータ経路の詳細については図示を省略し
ている。
【0034】前記キャッシュ部2は2個のウェイ10,
11、キャッシュ制御部12、履歴情報記憶部13、及
びセレクタ14,15を有する。
【0035】ウェイ10は、アドレスアレイ16、デー
タアレイ17、及び比較器18を有する。アドレスアレ
イ16及びデータアレイ17は、アドレスバス6から供
給されるアドレス信号の下位側の一部をインデックスア
ドレス信号として共通に入力し、そのインデックスアド
レス信号で選択される情報記憶領域領域としてキャッシ
ュラインを有する。夫々のキャッシュラインは、特に制
限されないがデータアレイ17の側にデータ情報が格納
され、アドレスアレイ16の側にタグ情報等が格納され
る。比較器18はインデックスされたキャッシュライン
のタグ情報と、アクセスアドレス情報としてのアドレス
信号のそれに対応するタグアドレス情報とを比較して、
連想ヒット又は連想ミスを示す連想結果信号19Aを生
成する。ウェイ11も同様であり、図示を省略するアド
レスアレイ、データアレイ、及び比較器を有し、図示を
省略する比較器はインデックスされたキャッシュライン
のタグ情報と、アドレス信号のそれに対応するタグアド
レス情報とを比較して、連想ヒット又は連想ミスを示す
連想結果信号19Bを生成する。前記アクセスアドレス
情報に含まれるタグアドレス情報を、インデックスされ
たキャッシュラインの各ウェイのタグ情報と比較し、ウ
ェイ毎に連想ヒット又は連想ミスを示す連想結果信号1
9A,19Bを生成する動作を、ここでは連想動作と称
する。
【0036】前記セレクタ15はウェイ10,11のデ
ータアレイ17から出力されるデータを選択する。セレ
クタ14はセレクタ15の選択制御信号として、履歴情
報記憶部13が出力するウェイ予測信号22、又はキャ
ッシュ制御部12が出力するウェイ確定信号23を選択
する。セレクタ14の選択信号24はキャッシュ制御部
12が出力する。尚、セレクタ15で選択されるデータ
語長が例えばロングワード(32ビット)のようなアク
セス単位を超えるビット数(例えば128ビット)の場
合には、アドレス信号の最下位側数ビット(例えばバイ
トアドレスの場合の4ビット)を用いて図示を省略する
別のセレクタを用いて前記32ビットを選択すればよ
い。
【0037】前記履歴情報記憶部13はキャッシュライ
ン毎のウェイ選択の履歴情報を保有し、履歴情報はキャ
ッシュラインのインデックス動作に呼応して当該インデ
ックスアドレス信号で選択される。この例では2ウェイ
であるから、履歴情報は1ビットで済み、インデックス
アドレスで選択された履歴情報がウェイ予測信号22と
される。このウェイ予測信号22は対応するキャッシュ
ラインにおいて最も最近選択されたウェイの選択を意味
する信号とされる。
【0038】図1において、前記キャッシュ制御部12
は、インデックスされたキャッシュラインに含まれるタ
グ情報に基づいてキャッシュミス又はウェイ選択予測ミ
スが発生したか否かを判定する。キャッシュミスは前記
連想結果信号19A,19Bの双方が比較不一致を意味
する状態である。前記連想結果信号19A,19Bの何
れか一方が比較一致を意味する状態がキャッシュヒット
である。前記予測ミスは、キャッシュヒットにおいてヒ
ットに係るウェイと前記ウェイ予測信号22で示される
ウェイが不一致の状態である。両者が一致する状態が予
測ヒットである。
【0039】前記キャッシュ制御部12による判定結果
が予測ヒットである場合にはその時のキャッシュ動作は
正常終了とされ、前記キャッシュ制御部12はアクセス
完了信号25を活性化してCPU1に返す。CPU1は
アクセス完了信号25の活性化により、そのときのデー
タバス7上のデータをアクセスデータとして認識する。
要するに、CPU1にとってアクセス完了信号25はデ
ータストローブ信号として機能する。
【0040】キャッシュ動作の異常終了は、予測ミス、
キャッシュミスの場合である。一般に、高速で動作する
データプロセッサはパイプライン構成を採用しており、
次々と連続するキャッシュアクセスを処理するために、
キャッシュ制御部12はウェイの予測がヒットするもの
と想定して動作する。これにより、CPU1は、ウェイ
予測ミスやキャッシュミスを生じても次の実行サイクル
のためのアドレス出力動作などを開始してしまう。要す
るにCPUは次の動作までオーバーランしてしまう。其
の後、CPU1はアクセス動作をウェイト状態とし、ミ
スに係るアクセス動作のペナルティサイクルが完了され
て、アクセス完了信号25がアサートされるのを待っ
て、制御動作を再開する。
【0041】前記キャッシュ制御部12は、そのような
ペナルティサイクルとして、例えば予測ミスの判定結果
に応答して、連想動作によるキャッシュヒットに係るウ
ェイの選択をデータアレイでやり直す。且つ、インデッ
クスされたキャッシュラインに対応する前記履歴情報
を、当該やり直し動作で選択されるウェイが予測最優先
とされるように履歴更新データ26で更新する。例えば
予測動作でウェイ10が予測され、連想動作でウェイ1
1が選択されるとき、当該キャッシュラインの履歴情報
は、ウェイ予測信号22がウェイ11を意味するように
履歴更新データ26で更新される。このやり直し動作、
即ちペナルティサイクル中に、ウェイ10,11はCP
U1のオーバーラン動作で与えられる次のアクセスアド
レスに対する連想動作も並行して行う。この並行する連
想動作の結果がキャッシュヒットの場合、その連想結果
を、後続アクセスに対するウェイ選択確定情報23とし
てウェイ確定生成部30に保持する。ウェイ確定生成部
30に保持したウェイ選択確定情報23は、当該ペナル
ティサイクルに後続するキャッシュヒットに係るアクセ
スに応答してウェイ予測信号22に代えてセレクタ14
で選択される。セレクタ14の選択動作は制御回路31
が信号24を用いて行う。前記信号24によるウェイ選
択確定情報23の選択タイミングは、特に制限されない
が、ウェイ予測ミスを生じた動作サイクルから2サイク
ル目とされる。
【0042】したがって、CPU1からの連続したアク
セスを処理する場合に、例えば第1のリードアクセスが
ウェイ予測ミスを起こしたときに必要なペナルティサイ
クル中に、後続のリードアクセスがヒットするウェイの
選択確定情報23を予め得て記憶し、これを第2リード
アクセスにおけるウェイ選択に利用するから、連続した
ウェイ予測ミスを確実に防ぐことができる。
【0043】また、キャッシュ制御部12は、キャッシ
ュミスの判定結果に応答してアクセス対象キャッシュラ
インをリプレースするためにメモリ制御部3にアクセス
制御信号40及びアドレス信号41を与えて外部アクセ
スを指示し、且つリプレース対象キャッシュラインに対
応する前記履歴情報を上記同様に更新する。この間、キ
ャッシュ制御部12は、予測ミスの場合と同様、ウェイ
選択確定情報23をウェイ確定生成部30に保持してお
く。そして、制御部31は、前述と同様に、キャッシュ
ミスに係るペナルティサイクルに続くキャッシュヒット
のアクセスに応答して、ウェイ予測信号22に代えてセ
レクタ14でウェイ選択確定情報23を選択して、キャ
ッシュミスに続いてウェイ予測ミスを生ずる事態を防止
することができる。このときの前記信号24によるウェ
イ選択確定情報23の選択タイミングは、特に制限され
ないが、キャッシュミスを生じた動作サイクルから5サ
イクル目とされる。尚、キャッシュミスに係るペナルテ
ィサイクルで外部から得られるデータ43は、所定のリ
プレース制御を経て、キャッシュミスに係るキャッシュ
ラインに格納される。
【0044】更にキャッシュ制御部12は、前記予測ミ
スに起因するペナルティサイクル中に、後続アクセスア
ドレスに対する予測結果信号19A,19Bに基づいて
キャッシュミスであるか否かを判定し、キャッシュミス
の判定結果を得たとき、当該キャッシュミスに応答する
外部メモリアクセスの指示をメモリ制御部3に予め発行
する制御を行う。
【0045】図2には前記履歴情報記憶部13の概略構
成が例示される。Lat0〜Latnはキャッシュライ
ンに1対1対応で履歴情報を保持するラッチ回路であ
る。ラッチ回路Lat0〜Latnに対する書込みデー
タは履歴更新データ26であり、更新信号は更新信号生
成論理50で生成される。ラッチ回路Lat0〜Lat
nの出力データはセレクタ51で選択される。セレクタ
51の選択動作はインデックスアドレス信号をデコード
するデコーダ52によるデコード信号によって決定され
る。履歴情報の書込みは、インデックスアドレスの供給
サイクルに対して後の動作サイクルで行われるから、書
きこみ更新信号生成論理50側にレジスタ53が配置さ
れている。更新信号生成論理50は、図示を省略するラ
ッチタイミング信号を入力し、これによって指示される
ラッチタイミングに同期してレジスタ53に保持されて
いるデコード信号をラッチ回路Lat0〜Latnに与
える。
【0046】図3にはキャッシュ制御部12の詳細が例
示される。キャッシュ制御部12はウェイ確定生成部3
0とその他の制御部としての状態遷移制御部(ステート
マシン)31に大別される。ウェイ確定生成部30には
連想結果信号19A,19Bをラッチするラッチ回路3
2A,32Bが代表的に図示され、CPUへのアクセス
完了信号25が入力され、ウェイ確定信号23を出力す
る。ラッチ回路32A,32Bは前記アクセス完了信号
25がハイレベルからローレベルにネゲートされたサイ
クルから2サイクル遅れたサイクルでラッチ動作を行
う。要するに、アクセス完了信号25はアクセス開始時
点からネゲートされるから、ミスの発生した次のサイク
ルで後続アクセスのアドレスを取り込むためにそのよう
なタイミングでラッチ動作が行われることになる。この
様子は、後述する図6、図8、図10の完了信号の欄に
おけるアスタリスク(*)が付されたサイクルをラッチ
回路32A,32Bのラッチタイミングとして位置付け
ていることから、更に明らかになる。
【0047】ステートマシン31には、連想結果信号1
9A,19Bをラッチするラッチ回路33A,33B、
履歴更新制御部34及びリプレース制御部35が代表的
に図示される。ラッチ回路33A,33Bはキャッシュ
動作サイクル毎に連想結果信号19A,19Bをラッチ
し、ラッチした連想結果信号19A,19Bと前記ウェ
イ予測信号22とに基づいて、キャッシュミス、ウェイ
予測ヒット、及びウェイ予測ミスの判定を行う。特に履
歴更新制御部34は、履歴更新データ26を生成し、リ
プレース制御部35はリプレースすべきキャッシュライ
ンを例えばLRU(Least Recently Used)やランダム
等のアルゴリズムに従って決定する論理を有する。
【0048】図4にはキャッシュ制御部12による制御
内容がフローチャートで示される。CPU1からアクセ
ス指示があると、CPU1から供給されるアドレス信号
に基づいてデータアレイ及びアドレスアレイに対してイ
ンデックス動作され、インデックスされたキャッシュラ
インのデータがウェイ予測信号22で選択されてCPU
1に返される(S1)。これに並行してアドレスアレイ
では、インデックスされたキャッシュラインから夫々の
ウェイのタグ情報がを読み出され、アドレス信号のタグ
アドレス情報と比較され、ウェイ毎の連想判定結果信号
19A,19Bが生成される。連想判定結果信号19
A,19Bに基づいてキャッシュヒットか否かが判定さ
れる(S2)。キャッシュミスの場合には、キャッシュ
リプレースのためのペナルティサイクルとして外部メモ
リアクセスが行われ、アクセスされたデータがCPU1
に供給され、且つ其のデータをデータアレイに蓄えるた
めにLRU等のアルゴリズムに従ったリプレースが行わ
れる。このリプレースに応答して履歴情報の更新も行わ
れ、また、このキャッシュミスのペナルティサイクルに
並行して、次のアクセスアドレスに関し前記ウェイ確定
情報を取得しておく(S3)。キャッシュヒットの場合
には予測ミスか否かが判定される(S4)。予測ミスで
なければCPU1からの当該アクセス指示に応答する処
理を終了する。予測ミスの場合には、他のウェイの再読
み出しを行ってCPU1に与えるペナルティサイクルを
実行し、これに伴って予測情報も更新する。そして、其
のペナルティサイクルに並行して、次のアクセスアドレ
スに関し前記ウェイ確定情報を取得しておく(S5)。
取得されたウェイ確定情報に従って可能ならば(処理時
間が有るなら)予測情報も更新しておくことが望まし
い。更新しなくても当該次のアクセスでは予測ミスを生
ずることはない。
【0049】ステップS3又はステップS5でウェイ確
定情報が取得されているとき、次のアクセスではステッ
プS1において、予測情報に代えてウェイ確定情報を用
いるウェイ選択が行われる。この場合には必ずキャッシ
ュヒットになり、予測ヒットになる。従って、ウェイ確
定情報を用いるウェイ選択を行った場合にはステップS
2以降の処理は省いてもよい。
【0050】図5にはウェイ予測機能を有するがウェイ
選択確定機能を有し得ていないキャッシュメモリの動作
タイミングチャートが例示される。ここでは、CPUか
ら5回のリードアクセスがなされる場合を考え、全ての
リードのCPU要求データはウェイ1(W1)に存在す
るが、履歴情報はウェイ0(W0)を予測する状態を想
定する。図5において、CPUアドレスの欄は、CPU
から発行される実効アドレスR1,R2,R3,R4,
R5を示し、5種類のアクセスアドレスを示す。アドレ
スアレイアクセスの欄は、キャッシュメモリのアドレス
アレイへのアクセスがCPUからの何れのアドレスに対
してなされるかを示す。データアレイアクセスの欄は、
キャッシュメモリのデータアレイへのアクセスがCPU
からのいずれのアドレスに対してなされるかを示す。履
歴情報予測ウェイは、履歴情報に基づくウェイ予測信号
(22)がいずれのウェイを選択するように指示してい
るかを記す。ウェイ0を予測する状態をW0,ウェイ1
を予測する状態をW1と略記する。ウェイセレクトの欄
は、キャッシュ制御部が何れのウェイを選択するように
実際に指示しているかを記す。CPU要求データのあり
かの欄は、CPUの各アクセスの要求データの場所を示
す。CPU受け取りデータの欄は、ウェイセレクタによ
り選択されCPUに渡されたデータが何れのウェイのも
のであるかを示す。また、外部メモリからデータが供給
される場合もある。アクセス状態の欄は、CPUからの
各アクセス予測ミス、予測ヒット、キャッシュミスのい
ずれの状態であるかを示す。外部メモリアクセスの欄
は、キャッシュミス状態の場合に、どのサイクルで外部
メモリアクセスがなされるかを示すものである。図5の
例では、5回のリードアクセスは全て予測ミスを想定し
ている。時刻1でR1が予測ミスであることがわかり、
時刻3でR1のアクセスが完了している。そして、時刻
4でR2が予測ミスであることがわかり、時刻6でR2
のアクセスが完了している。以下同様であり、図5の場
合には、ウェイ予測ミスが連続する場合、リードアクセ
ス処理は3サイクル毎に完了することになる。
【0051】図6には、前記データプロセッサ4におい
て予測確定情報23を用いる場合の動作タイミングチャ
ートが例示される。この動作例も図5と同様に、CPU
1から5回のリードアクセスがなされる場合を考え、全
てのリードのCPU要求データはウェイ1(W1)に存
在するが、履歴情報はウェイ0(W0)を予測する状態
を想定する。図6では、CPU1からのR1が予測ミス
となりそのペナルティサイクル中である時刻2に、R2
に対するアドレスアレイアクセスを行い、各ウェイのヒ
ット情報をキャッシュ制御部12内に記憶しておくこと
で、時刻4では、履歴情報予測ウェイはW0であるにも
関わらず、ウェイセレクトは正しく要求データの存在す
るW1を選択することができる。なお、時刻4でのアド
レスアレイアクセスは必ずしも必要でないので、図6で
は(R2)と記している。時刻5から時刻8での動作は
時刻1から時刻4の動作と同様である。このように、ウ
ェイ予測ミスが連続する場合でも、後続のリードアクセ
ス処理は予測ヒットするケースと同じ1サイクルで完了
することができる。
【0052】図7にはウェイ予測機能を有するがウェイ
選択確定機能を有し得ていないキャッシュメモリの別の
動作タイミングチャートが例示される。ここでの例は、
CPUから4回のリードアクセスがなされる場合で、R
1はキャッシュミス、R2は予測ミス、R3はキャッシ
ュミス、R4は予測ミスを想定している。時刻1でR1
がキャッシュミスであることがわかり、時刻2で外部メ
モリアクセスが発行される。これに対するデータは外部
メモリの仕様に依存するが時刻5でCPUへ供給される
ことを想定しており、時刻5でR1の処理は完了する。
そして、時刻6でR2が予測ミスであることがわかり、
時刻8でR2のアクセスが完了している。その後、時刻
9でR3がキャッシュミスであることがわかり、時刻1
0で外部メモリアクセスが発行される。これに対するデ
ータは時刻13でCPUへ供給されR1の処理は完了す
る。そして、時刻14でR4が予測ミスであることがわ
かる。要するに、時刻5にキャッシュミスのペナルティ
処理が終るのを待って、後続アクセス要求に答える処理
手順とされ、当該後続アクセスが予測ミスであれば、更
に今度は予測ミスに係るペナルティサイクルが加算され
る。
【0053】図8には前記データプロセッサ4において
予測確定情報23を用いる場合の別の動作タイミングチ
ャートが例示される。ここでも、図7の例と同様に、C
PU1から4回のリードアクセスがなされる場合を考
え、R1はキャッシュミス、R2は予測ミス、R3はキ
ャッシュミス、R4は予測ミスを想定している。図8で
は、CPU1からのR1がキャッシュミスとなりそのペ
ナルティサイクル中である時刻2に、R2に対するアド
レスアレイアクセスを行うことで、R2に対するウェイ
ヒット情報を確定することができる。これをキャッシュ
制御部12に記憶しておくことで、時刻5でR1の外部
メモリアクセスが完了した後の、時刻6において、履歴
情報予測ウェイはW0であるにも関わらず、ウェイセレ
クトは正しく要求データの存在するW1を選択すること
ができる。このように、キャッシュミスアクセスとウェ
イ予測ミスが連続する場合でも、後続のリードアクセス
処理は予測ヒットするケースと同じ1サイクルで完了す
ることができる。
【0054】図9にはウェイ予測機能を有するがウェイ
選択確定機能を有していないキャッシュメモリの更に別
の動作タイミングチャートが例示される。ここでの例
は、CPUから4回のリードアクセスがなされる場合
で、R1は予測ミス、R2はキャッシュミス、R3は予
測ミス、R4はキャッシュミスを想定している。時刻1
でR1が予測ミスであることがわかり、時刻3でR1の
アクセスが完了している。その後、時刻4でR2がキャ
ッシュミスであることがわかり、時刻5で外部メモリア
クセスが発行される。これに対するデータは時刻8でC
PUへ供給されR2の処理は完了する。そして、時刻9
でR3が予測ミスであることがわかり、時刻11でR3
のアクセスが完了している。その後、時刻12でR4が
キャッシュミスであることがわかり、時刻13で外部メ
モリアクセスが発行される。要するに、予測ミスのペナ
ルティサイクルと、キャッシュミスのペナルティサイク
ルが完全に直列的に行われている。
【0055】図10には、前記データプロセッサ4にお
ける更に別の動作タイミングチャートが例示される。こ
こでも、図9での例と同様に、CPU1から4回のリー
ドアクセスがなされる場合を考え、R1は予測ミス、R
2はキャッシュミス、R3は予測ミス、R4はキャッシ
ュミスを想定している。図10では、CPU1からのR
1が予測ミスとなりそのペナルティサイクル中である時
刻2に、R2に対するアドレスアレイアクセスを行うこ
とで、R2に対するアクセスがキャッシュミスであるこ
とを知り、R2に対する外部メモリアクセスを時刻3で
発行することができる。このため、時刻3で予測ミスで
あったR1のアクセスが完了することは同じであるが、
R2に対するデータは図9よりも2サイクル早い時刻6
でCPU1へ供給されR2の処理が完了できることがわ
かる。その後同様に、時刻7でR3が予測ミスとなりそ
のペナルティサイクル中である時刻8に、R4に対する
アドレスアレイアクセスを行うことで、R4に対するア
クセスがキャッシュミスであることを知り、R4に対す
る外部メモリアクセスを時刻9で発行することができ
る。このように、予測ミスとキャッシュミスアクセスが
連続する場合でも、後続のリードアクセスのための待ち
サイクルを短縮することができる。
【0056】図11には本発明に係るデータプロセッサ
の別の例が示される。同図に示されるデータプロセッサ
4Aは、ウェイ選択確定情報23の利用形態が図1とは
異なる。図1ではセレクタ14でウェイ予測信号に代え
て選択するようにしたが、図11では、ウェイ選択確定
情報23で対応する履歴情報の書換えを行う。書換え
は、図12に例示されるように、セレクタ54でウェイ
選択確定情報23を選択し、選択し得たウェイ確定情報
の格納先はレジスタ53にラッチされているインデック
スアドレスを用いる。セレクタ54を介するウェイ選択
確定情報23の書込みタイミング(ラッチタイミング)
は制御信号24Aで規定する。制御信号24Aはウェイ
予測ミス或はキャッシュミスを生じた動作サイクルの次
の動作サイクルとされる。したがって、キャッシュミス
を生じた動作サイクルの次の動作サイクルで確実にウェ
イ選択確定情報23を生成できることが必要になる。
【0057】図13には本発明に係るデータプロセッサ
の更に別の例が示される。同図に示されるデータプロセ
ッサ4Bは、キャッシュ部2Bに切換えレジスタ60を
有する。切換えレジスタ60はウェイセレクタ15への
ウェイセレクト信号63を出力する切換えセレクタ62
の選択信号61を出力する。切換えレジスタ60によ
り、セレクタ62が比較器18からのヒット信号19A
を選択する場合、データ処理装置4Bの動作は、セット
アソシアティブ方式で動作を行う。切換えレジスタ60
により、セレクタ62が履歴情報記憶部13から生成さ
れたウェイ予測信号22を選択する場合、データ処理装
置4Bの動作は、ウェイ予測式セットアソシアティブ方
式で動作を行う。
【0058】切換えレジスタ60の内容はプロセッサの
起動時(リセット時)に設定してその後は固定値を保持
する構成であっても良いし、CPUからアクセス可能で
プログラムによってダイナミックに書き換え可能な構成
であってもよい。
【0059】前記レジスタ60は、前記連想動作の結果
に応じてウェイ選択を行う第1動作モードと、前記連想
動作に並行して予測に基づくウェイ選択を行う第2動作
モードと、を切換え可能に指示する指示手段として位置
付けられる。
【0060】ここで、ウェイ予測ミス後の再リードの際
には、履歴情報記憶部13が履歴更新信号26により更
新されるものとしており、図1で説明したウェイ確定信
号23を用いた構成は採用していない。その他の構成は
図1と同様であるからその詳細な説明は省略する。
【0061】以上説明し得たデータプロセッサによれば
以下の作用効果を得る。
【0062】ウェイ予測セットアソシアティブ方式は、
キャッシュアクセスに関するアクセス時間、すなわち、
動作速度の観点からは、通常のセットアソシアティブ方
式に比べて、ヒット信号によりデータアレイから読み出
されたデータをセレクトする必要がないため、ダイレク
トマッピング方式と同じ高速動作を行うことができる。
また、消費電力の観点からは、セットアソシアティブ方
式では候補となるデータを全てデータアレイから読み出
しておく必要があるが、ウェイ予測セットアソシアティ
ブ方式では、動作の予測されるウェイからのみデータを
読み出しておくだけでよいから、予測対象外のウェイに
対してはメモリ動作は本質的に不要であり、低消費電力
化も実現可能である。図面に基づく説明ではその点につ
いて省略したが、例えば、セレクタ15の選択制御信号
をデータアレイ17及びアドレスアレイ16のメモリイ
ネーブル信号として利用すれば、予測対象とされたデー
タアレイ17及びアドレスアレイ16だけを動作させる
制御が可能になる。
【0063】上記のウェイ予測セットアソシアティブ方
式の性能面でセットアソシアティブ方式と比べて弱点と
なるウェイ予測ミスによるペナルティサイクル数は、図
1に代表される構成により、半分程度にまで削減するこ
とが可能となる。すなわち、連続したメモリアクセス処
理の際に、最初のアクセスによる一連の処理中のペナル
ティサイクル中に、後続のキャッシュアクセスのヒット
するウェイを予め確定しておくことができるため、セッ
トアソシアティブ方式の性能に極めて近いキャッシュ性
能を得ることができる。連続するメモリアクセスの全て
でウェイ予測ミスが発生するような最悪のケースでは、
本発明による手法を用いなければ、各メモリアクセスは
ペナルティサイクルとして2サイクルを余計に消費する
ことになる。これに対して、図1に代表される構成を採
用すれば、ペナルティサイクルは交互にしか発生しなく
なり、平均ペナルティサイクル数は1サイクルに減少さ
れる。
【0064】図13で説明したようにセットアソシアテ
ィブ方式とウェイ予測セットアソシアティブ方式を切換
えレジスタ60で切換え可能にすれば、高速動作が必要
な場合および低消費電力動作が必要な場合にはウェイ予
測セットアソシアティブ方式で動作するモードを使用
し、ウェイ予測ミスによるペナルティサイクルを避けた
い場合には、セットアソシアティブ方式で動作するモー
ドを使用するように切換えることができる。
【0065】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
【0066】例えば、キャッシュメモリのウェイ数は2
よりも多くてよい。また、キャッシュメモリは論理アド
レス或は物理アドレスの何れで動作するものであっても
よい。データプロセッサはキャッシュ制御部とメモリ部
の間にメモリマネージメントユニットなどのアドレス変
換バッファユニットが配置されるものであってもよい。
また、データプロセッサのオンチップモジュールは上記
の例に限定されず、タイマやシリアルインタフェースな
ど、その他の周辺回路を備えてもよい。また、予測によ
るウェイの選択は、ウェイからの読み出しデータの選択
という手段に限定されない。アクセス動作させるべきウ
ェイの選択、メモリイネーブルとすべきウェイの選択な
どの手段で置き換えて良いことは言うまでもない。
【0067】また、以上の説明では専ら連続リードアク
セスにおけるウェイ予測ミスを生ずる場合について説明
したが、ライトアクセスに関しても本発明は同様に適用
される。ライトアクセスに対する予測ミスを生ずると、
ペナルティサイクルではデータ書換えなどのデータリカ
バリ動作を行わなければならない。其の期間を使って、
同様にペナルティサイクル後のアクセス動作に対して予
めウェイ選択確定情報を求めておき、予測情報に代えて
その確定情報を利用すれば、今まで説明した連続リード
の場合と同様に、ライトアクセスに関しても、予測ミス
やキャッシュミスに連続する予測ミスの発生を低減する
ことができる。
【0068】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0069】予測ミスが連続して発生し、或はキャッシ
ュミスと予測ミスが前後して発生する場合に、先に生ず
るペナルティサイクル中に、後続のキャッシュアクセス
がヒットするウェイを予め確定しておくことができるた
め、ペナルティサイクルの累積数を低減させることがで
き、ひいてはCPU等によるデータ処理性能もしくはデ
ータ処理速度向上に寄与することが可能になる。
【0070】さらにセットアソシアティブ方式とウェイ
予測セットアソシアティブ方式を切換えレジスタで切換
え機能を採用することにより、高速動作が必要な場合お
よび低消費電力動作が必要な場合にはウェイ予測セット
アソシアティブ方式で動作するモードを使用し、ウェイ
予測ミスによるペナルティサイクルを避けたい場合に
は、セットアソシアティブ方式で動作するモードを使用
するように切換えることができる。
【図面の簡単な説明】
【図1】本発明に係るデータプロセッサの一例を示すブ
ロック図である。
【図2】履歴情報記憶部の概略構成を例示するブロック
図である。
【図3】キャッシュ制御部の詳細を例示するブロック図
である。
【図4】キャッシュ制御部による制御内容を例示するフ
ローチャートである。
【図5】ウェイ予測機能を有するがウェイ選択確定機能
を有し得ていないキャッシュメモリの動作を例示するタ
イミングチャートである。
【図6】図1のデータプロセッサにおいて予測確定情報
を用いる場合の動作を例示するタイミングチャートであ
る。
【図7】ウェイ予測機能を有するがウェイ選択確定機能
を有し得ていないキャッシュメモリの別の動作を例示す
るタイミングチャートである。
【図8】図1のデータプロセッサにおいて予測確定情報
を用いる場合の別の動作を例示するタイミングチャート
である。
【図9】ウェイ予測機能を有するがウェイ選択確定機能
を有し得ていないキャッシュメモリの更に別の動作を例
示するタイミングチャートである。
【図10】図1のデータプロセッサにおいて更に別の動
作を例示するタイミングチャートである。
【図11】本発明に係るデータプロセッサの別の例を示
すブロック図である。
【図12】図11のデータプロセッサにおける履歴情報
記憶部の概略構成を例示するブロック図である。
【図13】本発明に係るデータプロセッサの更に別の例
を示すブロック図である。
【符号の説明】
1 CPU 2、2A、2B キャッシュ部 3 メモリ制御部 4、4A、4B データプロセッサ 10,11 ウェイ 12、12B キャッシュ制御部 13、13A 履歴情報記憶部 14 セレクタ 15 セレクタ 16 アドレスアレイ 17 データアレイ 18 比較器 19A,19B 連想結果信号 22 ウェイ予測信号 23 ウェイ確定信号 24、24A 選択信号 25 アクセス完了信号 26 履歴更新データ 30 ウェイ確定生成部 31、31A 制御回路 34 履歴更新制御部 35 リプレース制御部 50 更新信号生成論理 60 切換えレジスタ 61 選択信号 62 切換えセレクタ

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 インデックスされたキャッシュラインの
    タグ情報を用いる連想動作が可能なセットアソシアティ
    ブ型のキャッシュメモリを有するデータ処理装置であっ
    て、 前記キャッシュメモリは、前記連想動作に並行して予測
    に基づくウェイ選択を行うウェイ予測手段と、前記ウェ
    イ予測手段による予測ミスに起因するペナルティサイク
    ル中に、後続アクセスアドレスを用いた連想動作に基づ
    いてウェイ選択確定情報を生成する生成手段と、前記ペ
    ナルティサイクル後の前記後続アクセスアドレスに対し
    て、前記ウェイ選択確定情報によりウェイを選択させる
    制御手段と、を含んで成るものであることを特徴とする
    データ処理装置。
  2. 【請求項2】 インデックスされたキャッシュラインの
    タグ情報を用いる連想動作が可能なセットアソシアティ
    ブ型のキャッシュメモリを有するデータ処理装置であっ
    て、 前記キャッシュメモリは、前記連想動作に並行して予測
    に基づくウェイ選択を行うウェイ予測手段と、キャッシ
    ュミスに起因するペナルティサイクル中に、後続アクセ
    スアドレスを用いた連想動作に基づいてウェイ選択確定
    情報を生成する生成手段と、前記ペナルティサイクル後
    の前記後続アクセスアドレスに対して、前記ウェイ選択
    確定情報によりウェイを選択させる制御手段と、を含ん
    で成るものであることを特徴とするデータ処理装置。
  3. 【請求項3】 前記制御手段は、前記ウェイ予測手段に
    よる予測に代えて前記ウェイ選択確定情報によりウェイ
    を選択させるものであることを特徴とする請求項1又は
    2記載のデータ処理装置。
  4. 【請求項4】 前記制御手段は、前記ウェイ選択確定情
    報に対応するところの前記ウェイ予測手段による予測結
    果情報を書換え制御するものであることを特徴とする請
    求項1又は2記載のデータ処理装置。
  5. 【請求項5】 インデックスされたキャッシュラインの
    タグ情報を用いる連想動作が可能なセットアソシアティ
    ブ型のキャッシュメモリを有するデータ処理装置であっ
    て、 前記キャッシュメモリは、前記連想動作に並行して予測
    に基づくウェイ選択を行うウェイ予測手段と、前記ウェ
    イ予測手段による予測ミスに起因するペナルティサイク
    ル中に、後続アクセスアドレスのキャッシュミスに応答
    する外部メモリアクセスの指示を発行する制御手段と、
    を含んで成るものであることを特徴とするデータ処理装
    置。
  6. 【請求項6】 インデックスされたキャッシュラインの
    タグ情報を用いる連想動作が可能なセットアソシアティ
    ブ型のキャッシュメモリを有するデータ処理装置であっ
    て、 前記キャッシュメモリは、前記連想動作の結果に応じて
    ウェイ選択を行う制御手段と、前記連想動作に並行して
    予測に基づくウェイ選択を行うウェイ予測手段と、ウェ
    イ選択に前記制御手段又は前記ウェイ予測手段の何れを
    用いるかを切換え可能に選択する選択手段と、を含んで
    成るものであることを特徴とするデータ処理装置。
  7. 【請求項7】 インデックスされたキャッシュラインの
    タグ情報を用いる連想動作が可能なセットアソシアティ
    ブ型のキャッシュメモリを有するデータ処理装置であっ
    て、 前記キャッシュメモリは、前記連想動作の結果に応じて
    ウェイ選択を行う第1動作モードと、前記連想動作に並
    行して予測に基づくウェイ選択を行う第2動作モード
    と、を切換え可能に指示する指示手段を含んで成るもの
    であることを特徴とするデータ処理装置。
  8. 【請求項8】 前記キャッシュメモリに接続されたCP
    Uを有し、前記指示手段はCPUによってアクセス可能
    なレジスタ手段であることを特徴とする請求項7記載の
    データ処理装置。
  9. 【請求項9】 前記連想動作は、アクセスアドレス情報
    に含まれる所定のアドレス情報を、インデックスされた
    キャッシュラインの各ウェイのタグ情報と比較し、ウェ
    イ毎に連想ヒット又は連想ミスを示す連想結果信号を生
    成する動作であることを特徴とする請求項1乃至8の何
    れか1項記載のデータ処理装置。
  10. 【請求項10】 前記ウェイ予測手段による予測は、キ
    ャッシュライン毎のウェイ選択の履歴情報に基づいて、
    最も最近選択されたウェイを選択ウェイとする処理であ
    ることを特徴とする請求項1乃至9の何れか1項記載の
    データ処理装置。
  11. 【請求項11】 インデックスされたキャッシュライン
    のタグ情報を用いる連想動作が可能なセットアソシアテ
    ィブ型のキャッシュメモリと、前記キャッシュメモリに
    接続されたCPUとを有するデータプロセッサであっ
    て、 前記キャッシュメモリは、複数のウェイ及びキャッシュ
    制御手段を有し、 前記キャッシュ制御手段は、前記CPUのアクセス動作
    に応答して、前記連想動作に並行して予測に基づくウェ
    イ選択行い、予測選択ウェイが連想動作結果に不一致と
    なる予測ミスに起因するペナルティサイクル中、又はキ
    ャッシュミスに起因するペナルティサイクル中に、後続
    アクセスアドレスを用いた連想動作に基づいてウェイ選
    択確定情報を生成し、前記ペナルティサイクル後の前記
    後続アクセスアドレスには前記ウェイ選択確定情報によ
    りウェイを選択させる制御を行うものであることを特徴
    とするデータプロセッサ。
  12. 【請求項12】 前記キャッシュ制御手段は、前記ウェ
    イ予測手段による予測に代えて前記ウェイ選択確定情報
    によりウェイを選択させるものであることを特徴とする
    請求項11記載のデータ処理装置。
  13. 【請求項13】 前記キャッシュ制御手段は、前記ウェ
    イ選択確定情報に対応するところの前記ウェイ予測手段
    による予測結果情報を書換え制御するものであることを
    特徴とする請求項11記載のデータ処理装置。
  14. 【請求項14】 前記キャッシュ制御手段は、前記予測
    ミスに起因するペナルティサイクル中に、後続アクセス
    のキャッシュミスに対して外部メモリアクセスの指示を
    発行するものであることを特徴とする請求項11乃至1
    3の何れか1項記載のデータプロセッサ。
  15. 【請求項15】 前記キャッシュ制御手段は、キャッシ
    ュライン毎のウェイ選択の履歴情報を記憶する記憶手段
    を有し、履歴情報は最も最近アクセスされた情報に応ず
    るウェイを選択ウェイとする情報であることを特徴とす
    る請求項11乃至13の何れか1項記載のデータプロセ
    ッサ。
  16. 【請求項16】 前記キャッシュ制御手段は、インデッ
    クスされたキャッシュラインの中から選ばれた最新のア
    クセスウェイを後の予測で指定可能とするように、前記
    履歴情報を更新するものであることを特徴とする請求項
    11乃至13の何れか1項記載のデータプロセッサ。
  17. 【請求項17】 前記キャッシュ制御手段はキャッシュ
    ラインをインデックスするアドレス情報により前記記憶
    手段から前記履歴情報を読み出し、読み出した履歴情報
    に基づいてウェイの予測選択を行うものであることを特
    徴とする請求項11乃至13の何れか1項記載のデータ
    プロセッサ。
  18. 【請求項18】 前記キャッシュ制御手段は、インデッ
    クスされたキャッシュラインに含まれるタグ情報に基づ
    いてキャッシュミス又はウェイ選択の予測ミスが発生し
    たか否かを判定し、キャッシュヒット且つ予測ミスの判
    定結果に応答してウェイの選択をやり直し且つアクセス
    対象キャッシュラインに対応する前記履歴情報を更新
    し、キャッシュミスの判定結果に応答してアクセス対象
    キャッシュラインをリプレースするために外部アクセス
    を指示し且つリプレース対象キャッシュラインに対応す
    る前記履歴情報を更新するものであることを特徴とする
    請求項11乃至13の何れか1項記載のデータプロセッ
    サ。
  19. 【請求項19】 1個の半導体チップに形成されて成る
    ものであることを特徴とする請求項11乃至18の何れ
    か1項記載のデータプロセッサ。
JP2001130559A 2001-04-27 2001-04-27 データ処理装置及びデータプロセッサ Expired - Lifetime JP4071942B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001130559A JP4071942B2 (ja) 2001-04-27 2001-04-27 データ処理装置及びデータプロセッサ
US10/083,342 US6898671B2 (en) 2001-04-27 2002-02-27 Data processor for reducing set-associative cache energy via selective way prediction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001130559A JP4071942B2 (ja) 2001-04-27 2001-04-27 データ処理装置及びデータプロセッサ

Publications (2)

Publication Number Publication Date
JP2002328839A true JP2002328839A (ja) 2002-11-15
JP4071942B2 JP4071942B2 (ja) 2008-04-02

Family

ID=18978904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001130559A Expired - Lifetime JP4071942B2 (ja) 2001-04-27 2001-04-27 データ処理装置及びデータプロセッサ

Country Status (2)

Country Link
US (1) US6898671B2 (ja)
JP (1) JP4071942B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085890A (ja) * 2012-10-24 2014-05-12 Fujitsu Ltd メモリ装置、演算処理装置、及びキャッシュメモリ制御方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973547B2 (en) * 2001-11-16 2005-12-06 Sun Microsystems, Inc. Coherence message prediction mechanism and multiprocessing computer system employing the same
US20030208665A1 (en) * 2002-05-01 2003-11-06 Jih-Kwon Peir Reducing data speculation penalty with early cache hit/miss prediction
US7761665B2 (en) * 2005-05-23 2010-07-20 Arm Limited Handling of cache accesses in a data processing apparatus
WO2007101969A1 (en) * 2006-03-06 2007-09-13 Arm Limited Accessing a cache in a data processing apparatus
US7373461B2 (en) * 2006-04-28 2008-05-13 Sun Microsystems, Inc. Speculative directory lookup for sharing classification
US7594079B2 (en) * 2006-09-29 2009-09-22 Mips Technologies, Inc. Data cache virtual hint way prediction, and applications thereof
US9946547B2 (en) 2006-09-29 2018-04-17 Arm Finance Overseas Limited Load/store unit for a processor, and applications thereof
US9256544B2 (en) * 2012-12-26 2016-02-09 Advanced Micro Devices, Inc. Way preparation for accessing a cache
US9465616B2 (en) * 2013-10-06 2016-10-11 Synopsys, Inc. Instruction cache with way prediction
US10120800B2 (en) * 2014-07-18 2018-11-06 Oracle International Corporation History based memory speculation for partitioned cache memories
US9846648B2 (en) * 2015-05-11 2017-12-19 Intel Corporation Create page locality in cache controller cache allocation
JP2018106227A (ja) * 2016-12-22 2018-07-05 ルネサスエレクトロニクス株式会社 キャッシュメモリ装置及び半導体装置
US11281586B2 (en) 2017-05-09 2022-03-22 Andes Technology Corporation Processor and way prediction method thereof
US10684951B2 (en) * 2017-08-04 2020-06-16 International Business Machines Corporation Minimizing cache latencies using set predictors
GB2593484B (en) * 2020-03-24 2022-09-28 Advanced Risc Mach Ltd Memory management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3589485B2 (ja) 1994-06-07 2004-11-17 株式会社ルネサステクノロジ セットアソシアティブ方式のメモリ装置およびプロセッサ
US5845323A (en) * 1995-08-31 1998-12-01 Advanced Micro Devices, Inc. Way prediction structure for predicting the way of a cache in which an access hits, thereby speeding cache access time
US5918245A (en) * 1996-03-13 1999-06-29 Sun Microsystems, Inc. Microprocessor having a cache memory system using multi-level cache set prediction
US6073230A (en) * 1997-06-11 2000-06-06 Advanced Micro Devices, Inc. Instruction fetch unit configured to provide sequential way prediction for sequential instruction fetches
US6418525B1 (en) * 1999-01-29 2002-07-09 International Business Machines Corporation Method and apparatus for reducing latency in set-associative caches using set prediction
US6356990B1 (en) * 2000-02-02 2002-03-12 International Business Machines Corporation Set-associative cache memory having a built-in set prediction array
US6581140B1 (en) * 2000-07-03 2003-06-17 Motorola, Inc. Method and apparatus for improving access time in set-associative cache systems
US6643739B2 (en) * 2001-03-13 2003-11-04 Koninklijke Philips Electronics N.V. Cache way prediction based on instruction base register

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085890A (ja) * 2012-10-24 2014-05-12 Fujitsu Ltd メモリ装置、演算処理装置、及びキャッシュメモリ制御方法

Also Published As

Publication number Publication date
US6898671B2 (en) 2005-05-24
US20020161976A1 (en) 2002-10-31
JP4071942B2 (ja) 2008-04-02

Similar Documents

Publication Publication Date Title
JP4071942B2 (ja) データ処理装置及びデータプロセッサ
JP2646854B2 (ja) マイクロプロセッサ
US7836253B2 (en) Cache memory having pipeline structure and method for controlling the same
JP2000200217A (ja) 命令キャッシュメモリ
US20100106910A1 (en) Cache memory and method of controlling the same
JP2002229852A (ja) キャッシュシステムの制御回路
JPWO2006038258A1 (ja) データプロセッサ
JP4621292B2 (ja) キャッシュ制御装置およびキャッシュ制御方法
JP4024247B2 (ja) 半導体データプロセッサ
KR100517765B1 (ko) 캐시 메모리 및 그 제어 방법
JP4404373B2 (ja) 半導体集積回路
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP3614207B2 (ja) データ処理装置
JPH01235100A (ja) 半導体記憶装置
US20040103267A1 (en) Data processor having cache memory
JPH07200406A (ja) キャッシュシステム
JP4498705B2 (ja) キャッシュシステム
JPH10247150A (ja) データ処理システム
JP2002149488A (ja) 集積回路装置およびキャッシュメモリの制御方法
KR101538425B1 (ko) 프로세서 및 프로세서에서의 명령 처리방법
KR100486252B1 (ko) 캐쉬 장치 및 이에 적합한 캐쉬 제어 방법
JP2002024088A (ja) データ処理装置
JP2001117819A (ja) 命令メモリ回路及び情報処理システム
JPH01320555A (ja) バッファ記憶装置
JP2001306396A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080118

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4071942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120125

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140125

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term