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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
- G06F2212/6082—Way prediction in set-associative cache
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
ティサイクル数を低減させることができるデータプロセ
ッサを提供する。 【解決手段】 インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリ(2)を有する。キャッシュメ
モリは、前記連想動作に並行して予測に基づくウェイ
(10、11)選択を行うウェイ予測手段(13)と、
ウェイ予測手段による予測ミスに起因するペナルティサ
イクル中に、後続アクセスアドレスを用いた連想動作に
基づいてウェイ選択確定情報を生成する生成手段(3
0)と、ペナルティサイクル後の前記後続アクセスアド
レスに対して、ウェイ選択確定情報によりウェイを選択
させる制御手段(31)と、を含む。先に生ずるペナル
ティサイクル中に、後続のキャッシュアクセスがヒット
するウェイを予め確定しておくことができるため、ペナ
ルティサイクルの累積数を低減させることができる。
Description
を持つマイクロプロセッサやDSP(ディジタル信号処
理プロセッサ)等のデータ処理装置もしくはデータプロ
セッサに係り、特にウェイ予測機能を用いるキャッシュ
制御技術に適用して有効な技術に関する。
処理装置において,プロセッサが外部メモリとのデータ
転送を極力減らし、性能を向上するために、高速動作可
能なオンチップキャッシュメモリが一般的に搭載され
る。キャッシュメモリにヒットした場合、外部メモリへ
のアクセスサイクルを隠蔽することができ、高性能化が
達成できるからである。また、消費電力の観点からも、
キャッシュメモリ自体は電力を消費するが、外部入出力
ピンもしくは外部入出力バッファ回路の駆動を必要とし
ない等によりメモリ制御に伴う消費電力を低減すること
ができ、プロセッサ全体として低消費電力化に寄与する
ことが可能である。
きさのブロックを単位として、外部メモリデータをキャ
ッシュ内のデータに対応づけるマッピング方式として、
ダイレクトマッピング方式、セットアソシアティブ方
式、フルアソシアティブ方式がある。
ャッシュ内のブロック数をcとすると、外部メモリのア
ドレスaのバイトが含まれるブロックの番号mはa/B
の整数部になる。
外部メモリのブロックはモジュロ演算式m mod c
で現されるキャッシュメモリ内の番号のブロックに一意
的にマッピングされる。ダイレクトマッピングでは、キ
ャッシュ内の同一ブロックに割り当てられ得る複数のブ
ロックが同時に使用されると衝突が発生してキャッシュ
ヒット率が低下する。これに対してフルアソシアティブ
方式では、外部メモリのどのブロックもキャッシュメモ
リのどのブロックにでもマッピング可能とする方式であ
る。しかしながら、フルアソシアティブ方式では、キャ
ッシュの全ブロックを各アクセス毎に連想検索しなけれ
ばならず、実用的なキャッシュ容量では、実現困難であ
る。このため、実用的には、両者の中間のセットアソシ
アティブ方式が一般的に用いられる。セットアソシアテ
ィブ方式は、n(N=2、4又は8程度)個のキャッシ
ュ内ブロックをまとめた単位をセットと定義し、このセ
ットに対してはダイレクトマッピングを適用し、セット
内のブロックに対しては、フルアソシアティブマッピン
グを適用することによって、両者の長所を生かす方法
で、nの値によりnウェイセットアソシアティブ方式と
称される。
ットアソシアティブ方式はダイレクトマッピング方式に
劣る。一般的にキャッシュの1ライン(1キャッシュエ
ントリ)はキャッシュに格納されているアドレスを示す
タグと格納データで構成されるが、セット内のどのブロ
ック(ウェイ)のデータ読み出せば良いかが、アクセス
アドレスとタグの比較結果に依存するからである。ダイ
レクトマッピング方式では、読み出すべきデータは、ア
クセスアドレスにより一意に決定されるため、キャッシ
ュ読み出しに要する時間はダイレクトマッピング方式が
最も有利である。
ッピング方式が最も有利である。なぜなら、セットアソ
シアティブ方式では、セット内の全てのブロック(ウェ
イ)のタグを読み出す必要があることのみならず、高速
に読み出しデータを確定させるために、データの読み出
しもヒットしたウェイの決定を待たずに候補となる全ウ
ェイのデータを読み出しておく制御が一般に行われるた
めである。
セットアソシアティブ方式の両者の長所、すなわち、セ
ットアソシアティブ方式のキャッシュの高ヒット率によ
る高性能と、ダイレクトマッピング方式の各アクセス毎
のキャッシュ検索を短時間で行えることによる高速化の
両方を享受できる方法として、ウェイ予測セットアソシ
アティブ方式がある。
は、参照ラインが存在する唯一のウェイをタグ比較とは
独立に予測することで、ヒットしたウェイの決定を待た
ずに読み出しデータを確定できるため、ダイレクトマッ
ピング方式の高速読み出しを行えると同時に、セットア
ソシアティブ方式のキャッシュの高ヒット率を達成する
ことができる。この種のウェイ予測セットアソシアティ
ブ方式について記載された文献の例として特開平7−3
34423号公報が有る。
トアソシアティブ方式では、通常のキャッシュヒット、
キャッシュミスの他に、キャッシュにはヒットしている
が、予測ウェイを誤る場合が存在し、これを予測ミスと
称する。本方式では以下の3つの状態がある。即ち、
予測ヒット(:通常のキャッシュヒットであり、且つウ
ェイ予測が正しい場合)、予測ミス(:通常のキャッ
シュヒットであり、且つウェイ予測が誤りの場合9、
キャッシュミス(:キャッシュリプレースの発生する通
常のキャッシュミス)である。
サイクルであり、キャッシュミスの場合の実行サイクル
は外部メモリへのアクセス時間で決まり、ダイレクトマ
ッピング方式や通常のセットアソシアティブ方式と同一
である。予測ミスが発生すると、リードアクセスの場合
は改めて正しいウェイへアクセスする必要があるため、
ペナルティサイクルが発生する。一般的に高速で動作す
るプロセッサはパイプライン構成を採用しており、次々
と連続するキャッシュアクセスを処理するために、キャ
ッシュ制御部はウェイの予測がヒットするものと想定し
て動作するために、ウェイ予測ミスの次の実行サイクル
では、当該次のアクセスの処理を行う制御を開始してい
る。このような制御を行うため、改めて正しいウェイへ
アクセスするのは更にその次のサイクルになり、予測ミ
ス発生時には、2サイクルもしくはそれ以上のペナルテ
ィサイクルが挿入されることになる。ライトアクセスの
場合でウェイ予測にしたがって投機的に書き込みを行な
う場合には、予測ミスが発生すると、既に書き込みを行
ったウェイに対しては元の正しいデータをリカバリする
必要があり、正しいウェイへ改めて書き込みを行う必要
がある。
ルティサイクルについて更に検討した。例えばリードア
クセスが連続するとき、予測ミスを生ずると、キャッシ
ュメモリは正規の連想動作によるペナルティサイクルを
実行し、その間、CPUでは当該予測ミスに係る命令実
行サイクル(若しくはメモリアクセスサイクル)の次の
命令実行サイクルがストールされ、後続の処理がウェイ
ト若しくは待ち状態にされる。その間、キャッシュメモ
リは予測ミスに係るアクセスに対するペナルティサイク
ルを実行しているだけである。これにより、連続アクセ
スに対し連続する予測ミスを生ずると、予測ミス毎に毎
回ペナルティサイクルが累積され、CPUによるメモリ
アクセスが著しく遅れる虞のあることが本発明者によっ
て明らかにされた。キャッシュミスと予測ミスが前後し
て発生する場合も、同じように、夫々のミス毎に毎回ペ
ナルティサイクルが累積される事情は同じである。
て発生し、或はキャッシュミスと予測ミスが前後して発
生する場合に、ペナルティサイクルの累積回数を低減さ
せることができ、ひいてはCPU等によるデータ処理性
能もしくはデータ処理速度向上に寄与することができる
データ処理装置もしくはデータプロセッサを提供するこ
とにある。
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
予測ミスの発生防止》本発明の第1の観点は、連続する
ウェイ予測ミスの発生を防止するために、予測ミスに後
続するアクセスのアクセスウェイを予め確定させること
にある。この観点に立つデータ処理装置は、インデック
スされたキャッシュラインのタグ情報を用いる連想動作
が可能なセットアソシアティブ型のキャッシュメモリを
有する。前記キャッシュメモリは、前記連想動作に並行
して予測に基づくウェイ選択を行うウェイ予測手段(1
3)と、前記ウェイ予測手段による予測ミスに起因する
ペナルティサイクル中に、後続アクセスアドレスを用い
た連想動作に基づいてウェイ選択確定情報を生成する生
成手段(30)と、前記ペナルティサイクル後の前記後
続アクセスアドレスに対して、前記ウェイ選択確定情報
によりウェイを選択させる制御手段(31,31A)
と、を含んで成る。
ス情報に含まれる所定のアドレス情報を、インデックス
されたキャッシュラインの各ウェイのタグ情報と比較
し、ウェイ毎に連想ヒット又は連想ミスを示す連想結果
信号を生成する動作である。
例えば、キャッシュライン毎のウェイ選択の履歴情報に
基づいて、最も最近選択されたウェイを選択ウェイとす
る処理である。
手段による予測に代えて前記ウェイ選択確定情報により
ウェイを選択させるものである。或は、前記制御手段
(31A)は、前記ウェイ選択確定情報に対応するとこ
ろの前記ウェイ予測手段による予測結果情報を書換え制
御するものである。
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リードアクセスに関してはペナル
ティサイクルの発生する余地すらない。
からの連続したリードアクセスを処理する場合に、第1
のリードアクセスがウェイ予測ミスを起こした場合に必
要となるペナルティサイクルの間に、後続のリードアク
セスがヒットするウェイの選択確定情報を予め得て記憶
し、これを第2リードアクセスにおけるウェイ選択に利
用する。したがって、連続したウェイ予測ミスを防ぐこ
とができる。これにより、ウェイ予測形式のセットアソ
シアティブ型キャッシュメモリは、セットアソシアティ
ブ方式のキャッシュヒット性能を維持しつつ、ダイレク
トマッピング方式と同じような高速動作を可能にするこ
とができる。
一例とするが、アクセスは特にリードに限定されるもの
ではなく、ライト等の他のアクセスであってもよい。
スのウェイ確定》本発明の第2の観点は、キャッシュミ
スに後続するウェイ予測ミスの発生を防止するために、
キャッシュミスに後続するアクセスのアクセスウェイを
予め確定させることにある。要するに、前記第1のリー
ドアクセスのようなアクセスはウェイ予測ミスに限ら
ず、ペナルティサイクルが発生する処理であればキャッ
シュミス等であってもよい。この観点に立つデータ処理
装置は、インデックスされたキャッシュラインのタグ情
報を用いる連想動作が可能なセットアソシアティブ型の
キャッシュメモリを有するデータ処理装置である。前記
キャッシュメモリは、前記連想動作に並行して予測に基
づくウェイ選択を行うウェイ予測手段と、キャッシュミ
スに起因するペナルティサイクル中に、後続アクセスア
ドレスを用いた連想動作に基づいてウェイ選択確定情報
を生成する生成手段と、前記ペナルティサイクル後の前
記後続アクセスアドレスに対して、前記ウェイ予測手段
による予測に代えて前記ウェイ選択確定情報によりウェ
イを選択させる制御手段と、を含んで成る。
スのキャッシュミスに応答する外部アクセス指示の先行
発行》本発明の第3の観点は、ウェイ予測ミスに後続す
るアクセスのキャッシュミスに応答する外部アクセス指
示を先行発行することにある。要するに、前記第2のリ
ードアクセスのようなアクセスがキャッシュミスである
場合を想定する。この観点に立つデータ処理装置は、イ
ンデックスされたキャッシュラインのタグ情報を用いる
連想動作が可能なセットアソシアティブ型のキャッシュ
メモリを有する。前記キャッシュメモリは、前記連想動
作に並行して予測に基づくウェイ選択を行うウェイ予測
手段と、前記ウェイ予測手段による予測ミスに起因する
ペナルティサイクル中に、後続アクセスアドレスのキャ
ッシュミスに応答する外部メモリアクセスの指示を発行
する制御手段と、を含んで成る。これにより、ウェイ予
測ミスに後続するアクセスがキャッシュミスである場合
に、これを早く検出して、外部メモリアクセスを早く起
動することが可能になる。
第4の観点に係るデータ処理装置には、前記連想動作の
結果に応じてウェイ選択を行う制御手段と、前記連想動
作に並行して予測に基づくウェイ選択を行うウェイ予測
手段と、ウェイ選択に前記制御手段又は前記ウェイ予測
手段の何れを用いるかを切換え可能に選択する選択手段
と、を含むキャッシュメモリを採用する。換言すれば、
前記連想動作の結果に応じてウェイ選択を行う第1動作
モードと、前記連想動作に並行して予測に基づくウェイ
選択を行う第2動作モードと、を切換え可能に指示する
指示手段を含んだキャッシュメモリを採用する。前記指
示手段を内蔵CPUによってアクセス可能なレジスタ手
段とすれば、キャッシュメモリの動作モードをCPUの
ソフトウェアで設定可能になる。
プロセッサは、インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリと、前記キャッシュメモリに接
続されたCPUとを有し、例えば1個の半導体基板に形
成される。前記キャッシュメモリは、複数のウェイ及び
キャッシュ制御手段を有する。前記キャッシュ制御手段
は、前記CPUのアクセス動作に応答して、前記連想動
作に並行して予測に基づくウェイ選択行い、予測選択ウ
ェイが連想動作結果に不一致となる予測ミスに起因する
ペナルティサイクル中、又はキャッシュミスに起因する
ペナルティサイクル中に、後続アクセスアドレスを用い
た連想動作による検索ヒットに基づいてウェイ選択確定
情報を生成し、前記ペナルティサイクル後の前記後続ア
クセスアドレスには前記予測に基づくウェイ選択に代え
て前記ウェイ選択確定情報によりウェイを選択させる制
御を行う。前記制御手段は、前記ウェイ選択確定情報に
対応するところの前記ウェイ予測手段による予測結果情
報を書換え制御するようにしてもよい。
に起因するペナルティサイクル中に、後続アクセスのキ
ャッシュミスに対して、メモリコントローラ若しくはバ
スステートコントローラに、外部メモリアクセスの指示
を発行するように構成してよい。
シュライン毎のウェイ選択の履歴情報を記憶する記憶手
段を有し、履歴情報は最も最近アクセスされた情報に応
ずるウェイを選択ウェイとする情報である。
されたキャッシュラインの中から選ばれた最新のアクセ
スウェイを後の予測で指定可能とするように、前記履歴
情報を更新するものである。
ンをインデックスするアドレス情報により前記記憶手段
から前記履歴情報を読み出し、読み出した履歴情報に基
づいてウェイの予測選択を行うものである。
されたキャッシュラインに含まれるタグ情報に基づいて
キャッシュミス又はウェイ選択の予測ミスが発生したか
否かを判定し、キャッシュヒット且つ予測ミスの判定結
果に応答してウェイの選択をやり直し且つアクセス対象
キャッシュラインに対応する前記履歴情報を更新し、キ
ャッシュミスの判定結果に応答してアクセス対象キャッ
シュラインをリプレースするために外部アクセスを指示
し且つリプレース対象キャッシュラインに対応する前記
履歴情報を更新するものである。
タプロセッサが示される。同図に示されるデータプロセ
ッサ4は、特に制限されないが、CMOS集積回路製造
技術などによって単結晶シリコンなどの1個の半導体基
板(半導体チップ)に形成される。データプロセッサ4
は、代表的に示されたCPU(中央処理装置)1、キャッ
シュ部2、及びメモリ制御部3を有する。
制御信号を生成する命令制御部と、前記命令制御部の制
御を受けて演算処理を行う実行部とを有する。6はアド
レスバス、7はデータバス、8はコントロールバスであ
り、CPU1は、それらバス6〜8を介してキャッシュ
部2に接続される。CPU1がメモリアクセスを行う場
合には、実効アドレスはアドレスバス6に出力される。
コントロールバス8にはリード信号、ライト信号などの
ストローブ信号が出力される。リードデータはデータバ
ス7を介してCPU1に供給され、CPU1はライトデ
ータをデータバス7に出力する。
きの2ウェイセットアソシアティブキャッシュメモリと
して構成される。図1に示されるキャッシュ部2の構成
は、専らCPU1からのリードアクセスに応答するため
の構成を主体に例示してある。CPU1のライトアクセ
ス時におけるデータ経路の詳細については図示を省略し
ている。
11、キャッシュ制御部12、履歴情報記憶部13、及
びセレクタ14,15を有する。
タアレイ17、及び比較器18を有する。アドレスアレ
イ16及びデータアレイ17は、アドレスバス6から供
給されるアドレス信号の下位側の一部をインデックスア
ドレス信号として共通に入力し、そのインデックスアド
レス信号で選択される情報記憶領域領域としてキャッシ
ュラインを有する。夫々のキャッシュラインは、特に制
限されないがデータアレイ17の側にデータ情報が格納
され、アドレスアレイ16の側にタグ情報等が格納され
る。比較器18はインデックスされたキャッシュライン
のタグ情報と、アクセスアドレス情報としてのアドレス
信号のそれに対応するタグアドレス情報とを比較して、
連想ヒット又は連想ミスを示す連想結果信号19Aを生
成する。ウェイ11も同様であり、図示を省略するアド
レスアレイ、データアレイ、及び比較器を有し、図示を
省略する比較器はインデックスされたキャッシュライン
のタグ情報と、アドレス信号のそれに対応するタグアド
レス情報とを比較して、連想ヒット又は連想ミスを示す
連想結果信号19Bを生成する。前記アクセスアドレス
情報に含まれるタグアドレス情報を、インデックスされ
たキャッシュラインの各ウェイのタグ情報と比較し、ウ
ェイ毎に連想ヒット又は連想ミスを示す連想結果信号1
9A,19Bを生成する動作を、ここでは連想動作と称
する。
ータアレイ17から出力されるデータを選択する。セレ
クタ14はセレクタ15の選択制御信号として、履歴情
報記憶部13が出力するウェイ予測信号22、又はキャ
ッシュ制御部12が出力するウェイ確定信号23を選択
する。セレクタ14の選択信号24はキャッシュ制御部
12が出力する。尚、セレクタ15で選択されるデータ
語長が例えばロングワード(32ビット)のようなアク
セス単位を超えるビット数(例えば128ビット)の場
合には、アドレス信号の最下位側数ビット(例えばバイ
トアドレスの場合の4ビット)を用いて図示を省略する
別のセレクタを用いて前記32ビットを選択すればよ
い。
ン毎のウェイ選択の履歴情報を保有し、履歴情報はキャ
ッシュラインのインデックス動作に呼応して当該インデ
ックスアドレス信号で選択される。この例では2ウェイ
であるから、履歴情報は1ビットで済み、インデックス
アドレスで選択された履歴情報がウェイ予測信号22と
される。このウェイ予測信号22は対応するキャッシュ
ラインにおいて最も最近選択されたウェイの選択を意味
する信号とされる。
は、インデックスされたキャッシュラインに含まれるタ
グ情報に基づいてキャッシュミス又はウェイ選択予測ミ
スが発生したか否かを判定する。キャッシュミスは前記
連想結果信号19A,19Bの双方が比較不一致を意味
する状態である。前記連想結果信号19A,19Bの何
れか一方が比較一致を意味する状態がキャッシュヒット
である。前記予測ミスは、キャッシュヒットにおいてヒ
ットに係るウェイと前記ウェイ予測信号22で示される
ウェイが不一致の状態である。両者が一致する状態が予
測ヒットである。
が予測ヒットである場合にはその時のキャッシュ動作は
正常終了とされ、前記キャッシュ制御部12はアクセス
完了信号25を活性化してCPU1に返す。CPU1は
アクセス完了信号25の活性化により、そのときのデー
タバス7上のデータをアクセスデータとして認識する。
要するに、CPU1にとってアクセス完了信号25はデ
ータストローブ信号として機能する。
キャッシュミスの場合である。一般に、高速で動作する
データプロセッサはパイプライン構成を採用しており、
次々と連続するキャッシュアクセスを処理するために、
キャッシュ制御部12はウェイの予測がヒットするもの
と想定して動作する。これにより、CPU1は、ウェイ
予測ミスやキャッシュミスを生じても次の実行サイクル
のためのアドレス出力動作などを開始してしまう。要す
るにCPUは次の動作までオーバーランしてしまう。其
の後、CPU1はアクセス動作をウェイト状態とし、ミ
スに係るアクセス動作のペナルティサイクルが完了され
て、アクセス完了信号25がアサートされるのを待っ
て、制御動作を再開する。
ペナルティサイクルとして、例えば予測ミスの判定結果
に応答して、連想動作によるキャッシュヒットに係るウ
ェイの選択をデータアレイでやり直す。且つ、インデッ
クスされたキャッシュラインに対応する前記履歴情報
を、当該やり直し動作で選択されるウェイが予測最優先
とされるように履歴更新データ26で更新する。例えば
予測動作でウェイ10が予測され、連想動作でウェイ1
1が選択されるとき、当該キャッシュラインの履歴情報
は、ウェイ予測信号22がウェイ11を意味するように
履歴更新データ26で更新される。このやり直し動作、
即ちペナルティサイクル中に、ウェイ10,11はCP
U1のオーバーラン動作で与えられる次のアクセスアド
レスに対する連想動作も並行して行う。この並行する連
想動作の結果がキャッシュヒットの場合、その連想結果
を、後続アクセスに対するウェイ選択確定情報23とし
てウェイ確定生成部30に保持する。ウェイ確定生成部
30に保持したウェイ選択確定情報23は、当該ペナル
ティサイクルに後続するキャッシュヒットに係るアクセ
スに応答してウェイ予測信号22に代えてセレクタ14
で選択される。セレクタ14の選択動作は制御回路31
が信号24を用いて行う。前記信号24によるウェイ選
択確定情報23の選択タイミングは、特に制限されない
が、ウェイ予測ミスを生じた動作サイクルから2サイク
ル目とされる。
セスを処理する場合に、例えば第1のリードアクセスが
ウェイ予測ミスを起こしたときに必要なペナルティサイ
クル中に、後続のリードアクセスがヒットするウェイの
選択確定情報23を予め得て記憶し、これを第2リード
アクセスにおけるウェイ選択に利用するから、連続した
ウェイ予測ミスを確実に防ぐことができる。
ュミスの判定結果に応答してアクセス対象キャッシュラ
インをリプレースするためにメモリ制御部3にアクセス
制御信号40及びアドレス信号41を与えて外部アクセ
スを指示し、且つリプレース対象キャッシュラインに対
応する前記履歴情報を上記同様に更新する。この間、キ
ャッシュ制御部12は、予測ミスの場合と同様、ウェイ
選択確定情報23をウェイ確定生成部30に保持してお
く。そして、制御部31は、前述と同様に、キャッシュ
ミスに係るペナルティサイクルに続くキャッシュヒット
のアクセスに応答して、ウェイ予測信号22に代えてセ
レクタ14でウェイ選択確定情報23を選択して、キャ
ッシュミスに続いてウェイ予測ミスを生ずる事態を防止
することができる。このときの前記信号24によるウェ
イ選択確定情報23の選択タイミングは、特に制限され
ないが、キャッシュミスを生じた動作サイクルから5サ
イクル目とされる。尚、キャッシュミスに係るペナルテ
ィサイクルで外部から得られるデータ43は、所定のリ
プレース制御を経て、キャッシュミスに係るキャッシュ
ラインに格納される。
スに起因するペナルティサイクル中に、後続アクセスア
ドレスに対する予測結果信号19A,19Bに基づいて
キャッシュミスであるか否かを判定し、キャッシュミス
の判定結果を得たとき、当該キャッシュミスに応答する
外部メモリアクセスの指示をメモリ制御部3に予め発行
する制御を行う。
成が例示される。Lat0〜Latnはキャッシュライ
ンに1対1対応で履歴情報を保持するラッチ回路であ
る。ラッチ回路Lat0〜Latnに対する書込みデー
タは履歴更新データ26であり、更新信号は更新信号生
成論理50で生成される。ラッチ回路Lat0〜Lat
nの出力データはセレクタ51で選択される。セレクタ
51の選択動作はインデックスアドレス信号をデコード
するデコーダ52によるデコード信号によって決定され
る。履歴情報の書込みは、インデックスアドレスの供給
サイクルに対して後の動作サイクルで行われるから、書
きこみ更新信号生成論理50側にレジスタ53が配置さ
れている。更新信号生成論理50は、図示を省略するラ
ッチタイミング信号を入力し、これによって指示される
ラッチタイミングに同期してレジスタ53に保持されて
いるデコード信号をラッチ回路Lat0〜Latnに与
える。
示される。キャッシュ制御部12はウェイ確定生成部3
0とその他の制御部としての状態遷移制御部(ステート
マシン)31に大別される。ウェイ確定生成部30には
連想結果信号19A,19Bをラッチするラッチ回路3
2A,32Bが代表的に図示され、CPUへのアクセス
完了信号25が入力され、ウェイ確定信号23を出力す
る。ラッチ回路32A,32Bは前記アクセス完了信号
25がハイレベルからローレベルにネゲートされたサイ
クルから2サイクル遅れたサイクルでラッチ動作を行
う。要するに、アクセス完了信号25はアクセス開始時
点からネゲートされるから、ミスの発生した次のサイク
ルで後続アクセスのアドレスを取り込むためにそのよう
なタイミングでラッチ動作が行われることになる。この
様子は、後述する図6、図8、図10の完了信号の欄に
おけるアスタリスク(*)が付されたサイクルをラッチ
回路32A,32Bのラッチタイミングとして位置付け
ていることから、更に明らかになる。
9A,19Bをラッチするラッチ回路33A,33B、
履歴更新制御部34及びリプレース制御部35が代表的
に図示される。ラッチ回路33A,33Bはキャッシュ
動作サイクル毎に連想結果信号19A,19Bをラッチ
し、ラッチした連想結果信号19A,19Bと前記ウェ
イ予測信号22とに基づいて、キャッシュミス、ウェイ
予測ヒット、及びウェイ予測ミスの判定を行う。特に履
歴更新制御部34は、履歴更新データ26を生成し、リ
プレース制御部35はリプレースすべきキャッシュライ
ンを例えばLRU(Least Recently Used)やランダム
等のアルゴリズムに従って決定する論理を有する。
内容がフローチャートで示される。CPU1からアクセ
ス指示があると、CPU1から供給されるアドレス信号
に基づいてデータアレイ及びアドレスアレイに対してイ
ンデックス動作され、インデックスされたキャッシュラ
インのデータがウェイ予測信号22で選択されてCPU
1に返される(S1)。これに並行してアドレスアレイ
では、インデックスされたキャッシュラインから夫々の
ウェイのタグ情報がを読み出され、アドレス信号のタグ
アドレス情報と比較され、ウェイ毎の連想判定結果信号
19A,19Bが生成される。連想判定結果信号19
A,19Bに基づいてキャッシュヒットか否かが判定さ
れる(S2)。キャッシュミスの場合には、キャッシュ
リプレースのためのペナルティサイクルとして外部メモ
リアクセスが行われ、アクセスされたデータがCPU1
に供給され、且つ其のデータをデータアレイに蓄えるた
めにLRU等のアルゴリズムに従ったリプレースが行わ
れる。このリプレースに応答して履歴情報の更新も行わ
れ、また、このキャッシュミスのペナルティサイクルに
並行して、次のアクセスアドレスに関し前記ウェイ確定
情報を取得しておく(S3)。キャッシュヒットの場合
には予測ミスか否かが判定される(S4)。予測ミスで
なければCPU1からの当該アクセス指示に応答する処
理を終了する。予測ミスの場合には、他のウェイの再読
み出しを行ってCPU1に与えるペナルティサイクルを
実行し、これに伴って予測情報も更新する。そして、其
のペナルティサイクルに並行して、次のアクセスアドレ
スに関し前記ウェイ確定情報を取得しておく(S5)。
取得されたウェイ確定情報に従って可能ならば(処理時
間が有るなら)予測情報も更新しておくことが望まし
い。更新しなくても当該次のアクセスでは予測ミスを生
ずることはない。
定情報が取得されているとき、次のアクセスではステッ
プS1において、予測情報に代えてウェイ確定情報を用
いるウェイ選択が行われる。この場合には必ずキャッシ
ュヒットになり、予測ヒットになる。従って、ウェイ確
定情報を用いるウェイ選択を行った場合にはステップS
2以降の処理は省いてもよい。
選択確定機能を有し得ていないキャッシュメモリの動作
タイミングチャートが例示される。ここでは、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サイクル毎に完了することになる。
て予測確定情報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サイクルで完了
することができる。
選択確定機能を有し得ていないキャッシュメモリの別の
動作タイミングチャートが例示される。ここでの例は、
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にキャッシュミスのペナルティ
処理が終るのを待って、後続アクセス要求に答える処理
手順とされ、当該後続アクセスが予測ミスであれば、更
に今度は予測ミスに係るペナルティサイクルが加算され
る。
予測確定情報23を用いる場合の別の動作タイミングチ
ャートが例示される。ここでも、図7の例と同様に、C
PU1から4回のリードアクセスがなされる場合を考
え、R1はキャッシュミス、R2は予測ミス、R3はキ
ャッシュミス、R4は予測ミスを想定している。図8で
は、CPU1からのR1がキャッシュミスとなりそのペ
ナルティサイクル中である時刻2に、R2に対するアド
レスアレイアクセスを行うことで、R2に対するウェイ
ヒット情報を確定することができる。これをキャッシュ
制御部12に記憶しておくことで、時刻5でR1の外部
メモリアクセスが完了した後の、時刻6において、履歴
情報予測ウェイはW0であるにも関わらず、ウェイセレ
クトは正しく要求データの存在するW1を選択すること
ができる。このように、キャッシュミスアクセスとウェ
イ予測ミスが連続する場合でも、後続のリードアクセス
処理は予測ヒットするケースと同じ1サイクルで完了す
ることができる。
選択確定機能を有していないキャッシュメモリの更に別
の動作タイミングチャートが例示される。ここでの例
は、CPUから4回のリードアクセスがなされる場合
で、R1は予測ミス、R2はキャッシュミス、R3は予
測ミス、R4はキャッシュミスを想定している。時刻1
でR1が予測ミスであることがわかり、時刻3でR1の
アクセスが完了している。その後、時刻4でR2がキャ
ッシュミスであることがわかり、時刻5で外部メモリア
クセスが発行される。これに対するデータは時刻8でC
PUへ供給されR2の処理は完了する。そして、時刻9
でR3が予測ミスであることがわかり、時刻11でR3
のアクセスが完了している。その後、時刻12でR4が
キャッシュミスであることがわかり、時刻13で外部メ
モリアクセスが発行される。要するに、予測ミスのペナ
ルティサイクルと、キャッシュミスのペナルティサイク
ルが完全に直列的に行われている。
ける更に別の動作タイミングチャートが例示される。こ
こでも、図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で発行することができ
る。このように、予測ミスとキャッシュミスアクセスが
連続する場合でも、後続のリードアクセスのための待ち
サイクルを短縮することができる。
の別の例が示される。同図に示されるデータプロセッサ
4Aは、ウェイ選択確定情報23の利用形態が図1とは
異なる。図1ではセレクタ14でウェイ予測信号に代え
て選択するようにしたが、図11では、ウェイ選択確定
情報23で対応する履歴情報の書換えを行う。書換え
は、図12に例示されるように、セレクタ54でウェイ
選択確定情報23を選択し、選択し得たウェイ確定情報
の格納先はレジスタ53にラッチされているインデック
スアドレスを用いる。セレクタ54を介するウェイ選択
確定情報23の書込みタイミング(ラッチタイミング)
は制御信号24Aで規定する。制御信号24Aはウェイ
予測ミス或はキャッシュミスを生じた動作サイクルの次
の動作サイクルとされる。したがって、キャッシュミス
を生じた動作サイクルの次の動作サイクルで確実にウェ
イ選択確定情報23を生成できることが必要になる。
の更に別の例が示される。同図に示されるデータプロセ
ッサ4Bは、キャッシュ部2Bに切換えレジスタ60を
有する。切換えレジスタ60はウェイセレクタ15への
ウェイセレクト信号63を出力する切換えセレクタ62
の選択信号61を出力する。切換えレジスタ60によ
り、セレクタ62が比較器18からのヒット信号19A
を選択する場合、データ処理装置4Bの動作は、セット
アソシアティブ方式で動作を行う。切換えレジスタ60
により、セレクタ62が履歴情報記憶部13から生成さ
れたウェイ予測信号22を選択する場合、データ処理装
置4Bの動作は、ウェイ予測式セットアソシアティブ方
式で動作を行う。
起動時(リセット時)に設定してその後は固定値を保持
する構成であっても良いし、CPUからアクセス可能で
プログラムによってダイナミックに書き換え可能な構成
であってもよい。
に応じてウェイ選択を行う第1動作モードと、前記連想
動作に並行して予測に基づくウェイ選択を行う第2動作
モードと、を切換え可能に指示する指示手段として位置
付けられる。
には、履歴情報記憶部13が履歴更新信号26により更
新されるものとしており、図1で説明したウェイ確定信
号23を用いた構成は採用していない。その他の構成は
図1と同様であるからその詳細な説明は省略する。
以下の作用効果を得る。
キャッシュアクセスに関するアクセス時間、すなわち、
動作速度の観点からは、通常のセットアソシアティブ方
式に比べて、ヒット信号によりデータアレイから読み出
されたデータをセレクトする必要がないため、ダイレク
トマッピング方式と同じ高速動作を行うことができる。
また、消費電力の観点からは、セットアソシアティブ方
式では候補となるデータを全てデータアレイから読み出
しておく必要があるが、ウェイ予測セットアソシアティ
ブ方式では、動作の予測されるウェイからのみデータを
読み出しておくだけでよいから、予測対象外のウェイに
対してはメモリ動作は本質的に不要であり、低消費電力
化も実現可能である。図面に基づく説明ではその点につ
いて省略したが、例えば、セレクタ15の選択制御信号
をデータアレイ17及びアドレスアレイ16のメモリイ
ネーブル信号として利用すれば、予測対象とされたデー
タアレイ17及びアドレスアレイ16だけを動作させる
制御が可能になる。
式の性能面でセットアソシアティブ方式と比べて弱点と
なるウェイ予測ミスによるペナルティサイクル数は、図
1に代表される構成により、半分程度にまで削減するこ
とが可能となる。すなわち、連続したメモリアクセス処
理の際に、最初のアクセスによる一連の処理中のペナル
ティサイクル中に、後続のキャッシュアクセスのヒット
するウェイを予め確定しておくことができるため、セッ
トアソシアティブ方式の性能に極めて近いキャッシュ性
能を得ることができる。連続するメモリアクセスの全て
でウェイ予測ミスが発生するような最悪のケースでは、
本発明による手法を用いなければ、各メモリアクセスは
ペナルティサイクルとして2サイクルを余計に消費する
ことになる。これに対して、図1に代表される構成を採
用すれば、ペナルティサイクルは交互にしか発生しなく
なり、平均ペナルティサイクル数は1サイクルに減少さ
れる。
ィブ方式とウェイ予測セットアソシアティブ方式を切換
えレジスタ60で切換え可能にすれば、高速動作が必要
な場合および低消費電力動作が必要な場合にはウェイ予
測セットアソシアティブ方式で動作するモードを使用
し、ウェイ予測ミスによるペナルティサイクルを避けた
い場合には、セットアソシアティブ方式で動作するモー
ドを使用するように切換えることができる。
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
よりも多くてよい。また、キャッシュメモリは論理アド
レス或は物理アドレスの何れで動作するものであっても
よい。データプロセッサはキャッシュ制御部とメモリ部
の間にメモリマネージメントユニットなどのアドレス変
換バッファユニットが配置されるものであってもよい。
また、データプロセッサのオンチップモジュールは上記
の例に限定されず、タイマやシリアルインタフェースな
ど、その他の周辺回路を備えてもよい。また、予測によ
るウェイの選択は、ウェイからの読み出しデータの選択
という手段に限定されない。アクセス動作させるべきウ
ェイの選択、メモリイネーブルとすべきウェイの選択な
どの手段で置き換えて良いことは言うまでもない。
セスにおけるウェイ予測ミスを生ずる場合について説明
したが、ライトアクセスに関しても本発明は同様に適用
される。ライトアクセスに対する予測ミスを生ずると、
ペナルティサイクルではデータ書換えなどのデータリカ
バリ動作を行わなければならない。其の期間を使って、
同様にペナルティサイクル後のアクセス動作に対して予
めウェイ選択確定情報を求めておき、予測情報に代えて
その確定情報を利用すれば、今まで説明した連続リード
の場合と同様に、ライトアクセスに関しても、予測ミス
やキャッシュミスに連続する予測ミスの発生を低減する
ことができる。
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
ュミスと予測ミスが前後して発生する場合に、先に生ず
るペナルティサイクル中に、後続のキャッシュアクセス
がヒットするウェイを予め確定しておくことができるた
め、ペナルティサイクルの累積数を低減させることがで
き、ひいてはCPU等によるデータ処理性能もしくはデ
ータ処理速度向上に寄与することが可能になる。
予測セットアソシアティブ方式を切換えレジスタで切換
え機能を採用することにより、高速動作が必要な場合お
よび低消費電力動作が必要な場合にはウェイ予測セット
アソシアティブ方式で動作するモードを使用し、ウェイ
予測ミスによるペナルティサイクルを避けたい場合に
は、セットアソシアティブ方式で動作するモードを使用
するように切換えることができる。
ロック図である。
図である。
である。
ローチャートである。
を有し得ていないキャッシュメモリの動作を例示するタ
イミングチャートである。
を用いる場合の動作を例示するタイミングチャートであ
る。
を有し得ていないキャッシュメモリの別の動作を例示す
るタイミングチャートである。
を用いる場合の別の動作を例示するタイミングチャート
である。
を有し得ていないキャッシュメモリの更に別の動作を例
示するタイミングチャートである。
作を例示するタイミングチャートである。
すブロック図である。
記憶部の概略構成を例示するブロック図である。
を示すブロック図である。
Claims (19)
- 【請求項1】 インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリを有するデータ処理装置であっ
て、 前記キャッシュメモリは、前記連想動作に並行して予測
に基づくウェイ選択を行うウェイ予測手段と、前記ウェ
イ予測手段による予測ミスに起因するペナルティサイク
ル中に、後続アクセスアドレスを用いた連想動作に基づ
いてウェイ選択確定情報を生成する生成手段と、前記ペ
ナルティサイクル後の前記後続アクセスアドレスに対し
て、前記ウェイ選択確定情報によりウェイを選択させる
制御手段と、を含んで成るものであることを特徴とする
データ処理装置。 - 【請求項2】 インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリを有するデータ処理装置であっ
て、 前記キャッシュメモリは、前記連想動作に並行して予測
に基づくウェイ選択を行うウェイ予測手段と、キャッシ
ュミスに起因するペナルティサイクル中に、後続アクセ
スアドレスを用いた連想動作に基づいてウェイ選択確定
情報を生成する生成手段と、前記ペナルティサイクル後
の前記後続アクセスアドレスに対して、前記ウェイ選択
確定情報によりウェイを選択させる制御手段と、を含ん
で成るものであることを特徴とするデータ処理装置。 - 【請求項3】 前記制御手段は、前記ウェイ予測手段に
よる予測に代えて前記ウェイ選択確定情報によりウェイ
を選択させるものであることを特徴とする請求項1又は
2記載のデータ処理装置。 - 【請求項4】 前記制御手段は、前記ウェイ選択確定情
報に対応するところの前記ウェイ予測手段による予測結
果情報を書換え制御するものであることを特徴とする請
求項1又は2記載のデータ処理装置。 - 【請求項5】 インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリを有するデータ処理装置であっ
て、 前記キャッシュメモリは、前記連想動作に並行して予測
に基づくウェイ選択を行うウェイ予測手段と、前記ウェ
イ予測手段による予測ミスに起因するペナルティサイク
ル中に、後続アクセスアドレスのキャッシュミスに応答
する外部メモリアクセスの指示を発行する制御手段と、
を含んで成るものであることを特徴とするデータ処理装
置。 - 【請求項6】 インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリを有するデータ処理装置であっ
て、 前記キャッシュメモリは、前記連想動作の結果に応じて
ウェイ選択を行う制御手段と、前記連想動作に並行して
予測に基づくウェイ選択を行うウェイ予測手段と、ウェ
イ選択に前記制御手段又は前記ウェイ予測手段の何れを
用いるかを切換え可能に選択する選択手段と、を含んで
成るものであることを特徴とするデータ処理装置。 - 【請求項7】 インデックスされたキャッシュラインの
タグ情報を用いる連想動作が可能なセットアソシアティ
ブ型のキャッシュメモリを有するデータ処理装置であっ
て、 前記キャッシュメモリは、前記連想動作の結果に応じて
ウェイ選択を行う第1動作モードと、前記連想動作に並
行して予測に基づくウェイ選択を行う第2動作モード
と、を切換え可能に指示する指示手段を含んで成るもの
であることを特徴とするデータ処理装置。 - 【請求項8】 前記キャッシュメモリに接続されたCP
Uを有し、前記指示手段はCPUによってアクセス可能
なレジスタ手段であることを特徴とする請求項7記載の
データ処理装置。 - 【請求項9】 前記連想動作は、アクセスアドレス情報
に含まれる所定のアドレス情報を、インデックスされた
キャッシュラインの各ウェイのタグ情報と比較し、ウェ
イ毎に連想ヒット又は連想ミスを示す連想結果信号を生
成する動作であることを特徴とする請求項1乃至8の何
れか1項記載のデータ処理装置。 - 【請求項10】 前記ウェイ予測手段による予測は、キ
ャッシュライン毎のウェイ選択の履歴情報に基づいて、
最も最近選択されたウェイを選択ウェイとする処理であ
ることを特徴とする請求項1乃至9の何れか1項記載の
データ処理装置。 - 【請求項11】 インデックスされたキャッシュライン
のタグ情報を用いる連想動作が可能なセットアソシアテ
ィブ型のキャッシュメモリと、前記キャッシュメモリに
接続されたCPUとを有するデータプロセッサであっ
て、 前記キャッシュメモリは、複数のウェイ及びキャッシュ
制御手段を有し、 前記キャッシュ制御手段は、前記CPUのアクセス動作
に応答して、前記連想動作に並行して予測に基づくウェ
イ選択行い、予測選択ウェイが連想動作結果に不一致と
なる予測ミスに起因するペナルティサイクル中、又はキ
ャッシュミスに起因するペナルティサイクル中に、後続
アクセスアドレスを用いた連想動作に基づいてウェイ選
択確定情報を生成し、前記ペナルティサイクル後の前記
後続アクセスアドレスには前記ウェイ選択確定情報によ
りウェイを選択させる制御を行うものであることを特徴
とするデータプロセッサ。 - 【請求項12】 前記キャッシュ制御手段は、前記ウェ
イ予測手段による予測に代えて前記ウェイ選択確定情報
によりウェイを選択させるものであることを特徴とする
請求項11記載のデータ処理装置。 - 【請求項13】 前記キャッシュ制御手段は、前記ウェ
イ選択確定情報に対応するところの前記ウェイ予測手段
による予測結果情報を書換え制御するものであることを
特徴とする請求項11記載のデータ処理装置。 - 【請求項14】 前記キャッシュ制御手段は、前記予測
ミスに起因するペナルティサイクル中に、後続アクセス
のキャッシュミスに対して外部メモリアクセスの指示を
発行するものであることを特徴とする請求項11乃至1
3の何れか1項記載のデータプロセッサ。 - 【請求項15】 前記キャッシュ制御手段は、キャッシ
ュライン毎のウェイ選択の履歴情報を記憶する記憶手段
を有し、履歴情報は最も最近アクセスされた情報に応ず
るウェイを選択ウェイとする情報であることを特徴とす
る請求項11乃至13の何れか1項記載のデータプロセ
ッサ。 - 【請求項16】 前記キャッシュ制御手段は、インデッ
クスされたキャッシュラインの中から選ばれた最新のア
クセスウェイを後の予測で指定可能とするように、前記
履歴情報を更新するものであることを特徴とする請求項
11乃至13の何れか1項記載のデータプロセッサ。 - 【請求項17】 前記キャッシュ制御手段はキャッシュ
ラインをインデックスするアドレス情報により前記記憶
手段から前記履歴情報を読み出し、読み出した履歴情報
に基づいてウェイの予測選択を行うものであることを特
徴とする請求項11乃至13の何れか1項記載のデータ
プロセッサ。 - 【請求項18】 前記キャッシュ制御手段は、インデッ
クスされたキャッシュラインに含まれるタグ情報に基づ
いてキャッシュミス又はウェイ選択の予測ミスが発生し
たか否かを判定し、キャッシュヒット且つ予測ミスの判
定結果に応答してウェイの選択をやり直し且つアクセス
対象キャッシュラインに対応する前記履歴情報を更新
し、キャッシュミスの判定結果に応答してアクセス対象
キャッシュラインをリプレースするために外部アクセス
を指示し且つリプレース対象キャッシュラインに対応す
る前記履歴情報を更新するものであることを特徴とする
請求項11乃至13の何れか1項記載のデータプロセッ
サ。 - 【請求項19】 1個の半導体チップに形成されて成る
ものであることを特徴とする請求項11乃至18の何れ
か1項記載のデータプロセッサ。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014085890A (ja) * | 2012-10-24 | 2014-05-12 | Fujitsu Ltd | メモリ装置、演算処理装置、及びキャッシュメモリ制御方法 |
Families Citing this family (15)
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)
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 |
-
2001
- 2001-04-27 JP JP2001130559A patent/JP4071942B2/ja not_active Expired - Lifetime
-
2002
- 2002-02-27 US US10/083,342 patent/US6898671B2/en not_active Expired - Lifetime
Cited By (1)
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 |