Nova Patents
JP2000242558A

Cache system and its operating method

Abstract

[Task] Reduce power consumption and hardware requirements.

Solution.The cache system has a multi-level cache configuration. The L1 cache 18 receives instructions from external memory. The L0 cache 20 has a cache line of the first set number L0. The auxiliary cache 22 has a victim cache and a prefetch cache. The victim cache has a cache line of the second set number VC, and the prefetch cache has a cache line of the third set number PC. The victim cache receives instructions from the L0 cache, and the prefetch cache receives instructions from the L1 cache. The Victim filter stores the address of the 4th set number VF, and VF is a function of the L0 cache and the number of cache writes. The number of cache writes to the L0 cache and the victim cache is reduced by using the L0 cache without using the auxiliary cache.

JP2000242558A, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Projected expiry passed 3 February 2020, 6.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

18 claims: 2 independent, 16 dependent

  1. 1
    【特許請求の範囲】 【請求項1】 外部メモリからの命令を受け取り、格納するためのL1キャッシュと、 前記L1キャッシュからの命令を受け取って格納するため第1設定数L0のキャッシュラインを有するL0キャッシュと、 第2設定数VCのキャッシュラインを具備して前記L0キャッシュからの命令を受け取るビクティムキャッシュ、及び、第3設定数PCのキャッシュラインを具備して前記L1キャッシュからの命令を受け取るプリフェッチキャッシュを有する補助キャッシュと、 第4設定数VFのアドレスを格納したビクティムフィルタとを備え、 前記第4設定数VFが前記第1設定数L0とキャッシュ書き込み回数との関数であり、前記L0キャッシュ及び前記ビクティムキャッシュへのキャッシュ書き込み回数が、前記補助キャッシュを除いて前記L0キャッシュを使用することによって低減されたことを特徴とするキャッシュシステム。
  2. 2
    【請求項2】 請求項1記載のキャッシュシステムにおいて、 前記第4設定数VFが3に等しいことを特徴とするキャッシュシステム。
  3. 3
    【請求項3】 請求項1記載のキャッシュシステムにおいて、 第5設定数PFのアドレスを格納し、前記L1キャッシュにおける任意のキャッシュライン内に格納された命令を、前記プリフェッチキャッシュの中へ先取りするか否かを決定するプリフェッチフィルタを更に備えたことを特徴とするキャッシュシステム。
  4. 4
    【請求項4】 請求項3記載のキャッシュシステムにおいて、 前記第5設定数PFが1に等しいことを特徴とするキャッシュシステム。
  5. 5
    【請求項5】 請求項1記載のキャッシュシステムにおいて、 前記L1キャッシュ、前記L0キャッシュ、及び前記補助キャッシュが32バイトのキャッシュラインを有し、前記L1キャッシュがダイレクトマップ型で1024のキャッシュラインを有し、前記L0キャッシュがダイレクトマップ型で16のキャッシュラインを有し、前記第3設定数PCが1に等しく、前記第2設定数VCが3に等しいことを特徴とするキャッシュシステム。
  6. 6
    【請求項6】 請求項1記載のキャッシュシステムにおいて、 前記ビクティムフィルタが、それ自身内に格納されると共に、最近最も使用されなかったアドレスに取って代わったことを特徴とするキャッシュシステム。
  7. 7
    【請求項7】 請求項3記載のキャッシュシステムにおいて、 前記プリフェッチフィルタが、第1及び第2連続メモリ配置へのミスの後で、前記プリフェッチキャッシュを制御し、前記L1キャッシュから命令を先取りしたことを特徴とするキャッシュシステム。
  8. 8
    【請求項8】 請求項3記載のキャッシュシステムにおいて、 前記プリフェッチフィルタがアドレスを格納するためプリフェッチメモリを備え、リクエスト命令が前記プリフェッチキャッシュ内になかった時、格納された前記アドレスが前記リクエスト命令のアドレスの次に来るアドレスであることを特徴とするキャッシュシステム。
  9. 9
    【請求項9】 請求項8記載のキャッシュシステムにおいて、 前記プリフェッチフィルタがインクリメンタを含み、前記インクリメンタが前記リクエスト命令のアドレスに予め設定された増分を付加し、増分を付加された前記アドレスが前記プリフェッチメモリ内に格納されたことを特徴とするキャッシュシステム。
  10. 10
    【請求項10】 請求項1記載のキャッシュシステムにおいて、 前記プリフェッチキャッシュにおける前記キャッシュラインの少なくとも一部分を、前記ビクティムキャッシュにダイナミックに割り当てるための補助キャッシュ制御装置を更に備えたことを特徴とするキャッシュシステム。
  11. 11
    【請求項11】 請求項10記載のキャッシュシステムにおいて、 アプリケーションプログラムが実行された時、ダイナミックな前記補助キャッシュ制御装置が、前記プリフェッチキャッシュにおける前記キャッシュラインの少なくとも一部分を、前記ビクティムキャッシュにダイナミックに割り当てたことを特徴とするキャッシュシステム。
  12. 12
    【請求項12】 請求項1記載のキャッシュシステムにおいて、 前記補助キャッシュがフルアソシアティブ型であることを特徴とするキャッシュシステム。
  13. 13
    【請求項13】 請求項1記載のキャッシュシステムにおいて、 前記L1キャッシュがダイレクトマップ型であることを特徴とするキャッシュシステム。
  14. 14
    【請求項14】 請求項1記載のキャッシュシステムにおいて、 前記L0キャッシュがダイレクトマップ型であることを特徴とするキャッシュシステム。
  15. 15
    【請求項15】 プロセッサの実行ユニットをメモリに連結したキャッシュシステムの操作方法であって、 L1キャッシュ、L0キャッシュ、ビクティムキャッシュ、プリフェッチキャッシュ、ビクティムフィルタ、及びプリフェッチフィルタが与られ、前記L1キャッシュ、前記L0キャッシュ、前記ビクティムキャッシュ、及び前記プリフェッチキャッシュがL1タグ、L0タグ、ビクティムタグ、及びプリフェッチタグとしてのキャッシュライン内に、格納アドレスとしてアドレスの少なくとも一部分をそれぞれ格納し、前記ビクティムフィルタ及び前記プリフェッチフィルタがビクティムフィルタアドレス及びプリフェッチフィルタアドレスとしてアドレスの少なくとも一部分をそれぞれ格納し、前記L1キャッシュ、前記L0キャッシュ、前記ビクティムキャッシュ、及び前記プリフェッチキャッシュの前記キャッシュラインが命令を格納し、前記ビクティムフィルタが設定数のビクティムフィルタアドレスを格納し、前記ビクティムフィルタアドレスが前記L0キャッシュにおけるキャッシュラインの数とキャッシュ書き込み回数との関数であり、前記L0キャッシュ及び前記ビクティムキャッシュへのキャッシュ書き込み回数が前記ビクティムキャッシュを使用せずに前記L0キャッシュの使用によって低減されるステップと、 リクエストアドレスがアドレスバスに供給されてリクエスト命令を検索するステップと、 同時に、前記リクエストアドレスが、前記L1タグ、前記L0タグ、前記ビクティムタグ、前記プリフェッチタグ、前記ビクティムフィルタアドレス、及び前記プリフェッチフィルタアドレスと比較されるステップと、 キャッシュヒットが前記L0キャッシュのキャッシュライン内で検知される場合には、前記キャッシュライン内に格納された前記リクエスト命令が前記実行ユニットに供給されるステップと、 前記キャッシュヒットが前記ビクティムキャッシュのキャッシュライン内で検知される場合には、前記キャッシュライン内に格納された前記リクエスト命令が前記実行ユニットへ供給され、前記リクエスト命令を格納した前記キャッシュラインが前記ビクティムキャッシュから前記L0キャッシュへ転送されるステップと、 前記リクエストアドレスが前記L0キャッシュ及び前記補助キャッシュ内でミスするが、前記L1キャッシュ内でヒットする場合には、前記リクエストアドレスを格納した前記キャッシュラインが前記L1キャッシュ内で確認され、ビクティムキャッシュラインが、前記L0キャッシュ内で確認されて確認キャッシュラインに取って代わり、前記リクエストアドレスが前記ビクティムフィルタ内に格納されたアドレスの何れかに一致するか否かが決定され、前記決定によって前記ビクティムフィルタの前記リクエストアドレスと一致したことに基づく前記ビクティムキャッシュ内に、前記ビクティムキャッシュラインが格納され、前記L0キャッシュ内の前記ビクティムキャッシュラインが前記確認キャッシュラインに取って代わり、前記リクエストアドレスが前記ビクティムフィルタ内に格納され、前記リクエスト命令が前記実行ユニットに供給されるステップとを備えることを特徴とするキャッシュシステムの操作方法。
  16. 16
    【請求項16】 請求項15記載のキャッシュシステムの操作方法において、 前記リクエストアドレスが前記ビクティムフィルタ内に格納されるステップが、前記ビクティムフィルタのうち少なくとも最近使用されたキャッシュライン内に前記ビクティムキャッシュを格納するステップを含むことを特徴とするキャッシュシステムの操作方法。
  17. 17
    【請求項17】 請求項15記載のキャッシュシステムの操作方法において、 プリフェッチアドレスが前記リクエストアドレスを次の連続するアドレスまで増大させることによって発生されるステップと、 前記プリフェッチアドレスが前記プリフェッチフィルタ内に格納されるステップと、 新しいリクエストアドレスが受け取られるステップと、 前記新しいリクエストアドレスが前記プリフェッチフィルタ内に格納された前記プリフェッチアドレスに一致しない場合には、キャッシュラインが前記L1キャッシュから前記プリフェッチキャッシュ内へ先取りされ、連続する第1及び第2リクエストアドレスをミスした後に、キャッシュラインが前記L1キャッシュから、前記プリフェッチフィルタを使用した前記プリフェッチキャッシュの中まで先取りされるステップとを更に備えることを特徴とするキャッシュシステムの操作方法。
  18. 18
    【請求項18】 請求項15記載のキャッシュシステムの操作方法において、 前記プリフェッチキャッシュがダイナミックに割り当てられて前記ビクティムキャッシュの一部分となり、前記ビクティムキャッシュ内に格納されたキャッシュラインの数を増加させるが、前記プリフェッチフィルタが前記ビクティムフィルタに割り当てられないステップを更に備えることを特徴とするキャッシュシステムの操作方法。
Independent claims18