JP2007048286A - キャッシュにおける電力消費削減方法、論理装置及びシステム - Google Patents

キャッシュにおける電力消費削減方法、論理装置及びシステム Download PDF

Info

Publication number
JP2007048286A
JP2007048286A JP2006210351A JP2006210351A JP2007048286A JP 2007048286 A JP2007048286 A JP 2007048286A JP 2006210351 A JP2006210351 A JP 2006210351A JP 2006210351 A JP2006210351 A JP 2006210351A JP 2007048286 A JP2007048286 A JP 2007048286A
Authority
JP
Japan
Prior art keywords
cache
code
memory
power consumption
loaded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006210351A
Other languages
English (en)
Inventor
Toru Ishihara
亨 石原
Farzan Fallah
ファラー ファルザン
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2007048286A publication Critical patent/JP2007048286A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/27Using a specific cache architecture
    • G06F2212/271Non-uniform cache access [NUCA] architecture
    • 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

【課題】メモリシステムにおける電力消費を削減すること。
【解決手段】キャッシュにおける電力消費削減方法は、キャッシュとは別のメモリにどのコードが書き込み可能であるかに応じて、コード配置を決定する。コード配置は、メモリからキャッシュにコードがロードされる場合のインターキャッシュラインシーケンシャルフローの出現を減らす。コード配置に従ってコードがコンパイルされ、メモリからキャッシュに以後ロードするコードがメモリに書き込まれる。本方法は、キャッシュのキャッシュセット各々についてキャッシュウェイの最適数をキャッシュが用意するように非一様なアーキテクチャを決定する。非一様なアーキテクチャはキャッシュ中のキャッシュセットが互いに異なる関連値を有することを許可する。本方法は、キャッシュにおける電力消費を更に減らすために、キャッシュ中の非一様なアーキテクチャを使用する。
【選択図】図1

Description

本発明は一般にメモリシステムに関連し、特にキャッシュでの電力消費を削減することに関連する。
プロセッサに関するキャッシュは一般に相当な電力量を消費する。一例としてARM920Tの命令キャッシュはプロセッサの電力消費の約25%を占める。別の例として、低電力アプリケーションを意図するストロングARMSA-110の命令キャッシュは、プロセッサの電力消費の約27%を占める。
本発明の課題は、従来のメモリシステムに関連する問題及び欠点を軽減又は解消することである。
一形態では、キャッシュにおける電力消費を削減する方法は、キャッシュから離れたメモリにどのコードが書き込み可能であるかに応じて、コード配置を決定する。コード配置は、前記メモリから前記キャッシュに前記コードがロードされる場合のインターキャッシュラインシーケンシャルフローの出現を減らす。本方法は、前記コード配置に従って前記コードをコンパイルし、前記コード配置に従って前記メモリから前記キャッシュに以後ロードするコードを前記メモリに書き込み、前記キャッシュにおける電力消費を削減する。
別の形態では、本方法は、前記キャッシュのキャッシュセット各々についてキャッシュウェイの最適数をキャッシュが用意するように非一様なアーキテクチャを決定する。非一様なアーキテクチャは前記キャッシュ中のキャッシュセットが互いに異なる関連値を有することを許可する。本方法は、前記キャッシュにおける電力消費を更に減らすために、前記キャッシュ中の前記非一様なアーキテクチャを使用する。
本発明の特定の実施例は1以上の技術的恩恵をもたらす。非限定的な一例として、特定の実施例はキャッシュにおける電力消費を低減する。特定の実施例は非一様なキャッシュ構造を用意し、キャッシュにおける電力消費を減らす。特定の実施例はタグルックアップ、ウェイルックアップ又は双方を減らすコード配置を支援し、キャッシュにおける電力消費を減らす。特定の実施例はキャッシュアーキテクチャ及びコード配置の同時最適化を支援し、キャッシュウェイ又はタグアクセス及びキャッシュミスを減らす。特定の実施例はこれらの技術的恩恵の全部又は一部をもたらしてもよいし、全くもたらさなくてもよい。特定の実施例は1以上の他の技術的恩恵をもたらし、1以上のそれらは図面、明細書及び特許請求の範囲から当業者にとって明白になるであろう。
本発明並びにその特徴及び利点の理解の完全を期するため、添付図面に関連する以下の説明が参照される。
以下、本発明の実施例によるキャッシュでの電力消費を削減する方法、論理装置及びシステムが説明される。この場合において、論理装置なる語は、ソフトウエアで構成される論理プログラムや、ハードウエアで構成される論理回路を含む概念である。
図1はキャッシュ10の電力消費を減らすための非一様な(ununiform)キャッシュ構造例を示す図である。特定の実施例では、キャッシュ10はプロセッサの構成要素であり、そのプロセッサで実行するコードを一時的に格納するのに使用される。「コード」に関連するものは、適切ならば、1以上の実行可能な命令、他のコード又は双方を包含する。キャッシュ10は複数のセット(set)12、複数のウェイ(way)14及び複数のタグ16を含む。セット12は複数のウェイ14及び複数のタグ16を論理的に横切る。セット12及びウェイ14間の論理的な交差部は、コードを格納するキャッシュ10の中で互いに隣接する複数のメモリを含む。セット12及びタグ16間の論理的な交差部は、キャッシュ10の中で互いに隣接する1以上のメモリセルを含み、そのメモリセルは、キャッシュ10に格納されるコードの発見、キャッシュ10に格納されたコードの確認又は双方を支援するデータを格納する。非限定的な一例として、セット12a及びタグ16a間の第1の論理交差部は1以上のメモリセルを含み、そのメモリセルは、セット12a及びウェイ14a間の第2の論理交差部で格納されるコードの発見、第2路の論理交差部に格納されたコードの確認又は双方を支援するデータを格納する。キャッシュ10は複数のセンスアンプ18も含む。特定の実施例では、センスアンプ18はキャッシュ10内のメモリセルの内容を読み出すのに使用される。特定の構成に従って構築された特定の構成要素を含む特定のキャッシュ10が図示及び説明されるが、本発明は適切な如何なる構成に従って構築された適切な如何なる構成要素を含む適切な如何なるキャッシュ10にも関連する。更に本発明はキャッシュ10に限定されず、適切な如何なるメモリシステムにも関連する。
特定の実施例では、キャッシュ10の非一様なアーキテクチャは、キャッシュ10における電力消費、キャッシュ10からの電流漏れ又は双方を減らす。非一様なアーキテクチャは、セット12が互いに異なる関連値(associativity value)を有することを許容する。特定の実施例では、第1セット12が第1数のアクティブなウェイ14を横切り、第2セット12は第2数のクティブウェイ14を横切り、第1数と第2数は異なる場合に、第1セット12は第2セット12とは異なる関連値を有する。非限定的な例として、キャッシュ10内の非一様なアーキテクチャによれば、ウェイ14a,ウェイ14b,ウェイ14c,ウェイ14dは全てセット12a及びセット12b内でアクティブであり;ウェイ14a及びウェイ14bのみがセット12c及びセット12dでアクティブであり;ウェイ14aのみがセット12e、セット12f、セット12g及びセット12hでアクティブである。特定の実施例では、アクティブなメモリセルは格納に利用可能であり、インアクティブなメモリセルは格納に利用できない。
特定の実施例では、キャッシュセット各々の中で最適な数のキャッシュウェイが、キャッシュ10の設計で決定される。非限定的な例として、ハードウエア、ソフトウエア、組み込み論理要素(logic component)又はそれらの要素の2以上の組み合わせは、以下に説明されるような、キャッシュセット各々で最適な数のキャッシュウェイを判定するアルゴリズムを実行してよい。1以上のユーザは1以上のコンピュータシステムを利用し、1以上の要素から出力を受信し及び入力を与える。「キャッシュウェイ」に関連するものは、適切ならば、キャッシュ10のウェイ14を包含する。「キャッシュセット」に関連するものは、適切ならば、キャッシュ10のセット12を包含する。特定の実施例では、アプリケーションが走っている間に、キャッシュ10の中のアクティブなキャッシュウェイ数が動的に変えられる。特定の実施例では、1以上のスリープ(sleep)トランジスタを利用して、キャッシュ10の中でアクティブなキャッシュウェイ数を動的に変える。特定の実施例では、不使用のキャッシュウェイへの電源供給は、不使用のキャッシュウェイ中のメモリセルへの電源供給を接続するためのビア(vias)を排除することで、その不使用のキャッシュウェイから分離されてよい。不使用のメモリセルは同様な手法でビットライン及びワードラインから分離されてもよい。
特定の実施例では、不使用キャッシュブロックを特徴付ける(マークする)ために第2の有効ビットが使用されてもよい。「キャッシュブロック」に関連するものは、適切ならば、セット12及びウェイ14間の論理交差部を含む。キャッシュブロックは、適切ならば、ウェイ14に対応するタグ16及びセット12の間の論理交差部を含む。特定の実施例では、1以上の有効ビットがセット12各々のタグ16各々に付される。特定の実施例では、そのようなビットはセット12各々のタグ16各々の一部である。第2有効ビットが1であったならば、対応するキャッシュブロックは、キャッシュミスが生じた場合に置換に使用されない。インアクティブなキャッシュブロックへのアクセスはキャッシュミスを引き起こす。特定の実施例では、非一様なキャッシュ10の電力消費を減らすため、アクセス対象のキャッシュセットの中でインアクティブにマークされているキャッシュウェイのセンスアンプ18は、非活性化される。特定の実施例では、これは、メモリアドレスレジスタ22のセットインデックス20を検査することで実行される。非限定的な例として、図1に示される非一様なキャッシュ10の中で、セット12e、セット12f、セット12g又はセット12hがアクセスの目的とされた場合に、センスアンプ18c及びセンスアンプ18dは非活性化される。セット12c、セット12d、セット12e、セット12f、セット12g又はセット12hがアクセスの目的とされた場合に、センスアンプ18e、センスアンプ18f、センスアンプ18g及びセンスアンプ18hは全て非活性化される。
タグアクセス及びタグ比較は命令フェッチ全てについて必ずしも実行されなくてよい。或る命令iの直後に実行される命令jを考察する。3つの場合が考えられる:
1.イントラキャッシュラインシーケンシャルフロー
これは、i及びj双方の命令が同一のキャッシュラインに属し、iが分岐でない命令である又は分岐を取得しない場合に生じる。
2.インターキャッシュラインシーケンシャルフロー
これは第1の場合と同様であるが、唯一の相違は、iとjが異なるキャッシュラインに属することである。
3.非シーケンシャルフロー
この場合、iは分岐命令を取り、jはその目的(ターゲット)である。
第1の場合(イントラキャッシュラインシーケンシャルフローの場合)、j及びiが同一のキャッシュウェイに属することは容易に検出可能である。従って命令に関するタグ探索(タグルックアップ)は必須でない。一方、例えば分岐を取得する場合(又は非シーケンシャルフロー)のような非シーケンシャルなフェッチ又はキャッシュライン境界をまたぐシーケンシャルフェッチ(又はインターキャッシュラインシーケンシャルフロー)には、タグルックアップ及びウェイアクセスが必要とされる。従って、イントラキャッシュラインシーケンシャルフローの場合にタグ16及びウェイ14のメモリセルを非活性化することは、キャッシュ10の電力消費を減らす。特定の実施例はこの又は同様なインターラインウェイ記憶(ILWM: inter line way memorization)技法を使用する。
図2A及び2Bはキャッシュ10の電力消費を減らすためのコード配置例を示す。7つの命令を含む基本ブロックを考察する。基本ブロックはAで指定され、その命令はA1,A2,A3,A4,A5,A6,A7で指定される。A7は分岐を取り、A3は分岐命令ではない。図2Aでは、A7はキャッシュライン26eのワード24dに属する。A3はキャッシュライン26dのワード24hに属する。A3又はA7が実行される場合には、何れの場合も、次の命令がキャッシュ10内に有るか否かが不明なので、タグルックアップが必要とされる。しかしながら、図2Bでは、Aがどのキャッシュライン境界にも及ばないように、Aはキャッシュ10のアドレス空間に位置づけられる。Aはどのキャッシュライン境界にも至らないので、キャッシュアクセス及びタグアクセスはA3に関してはなされない。特定の実施例では、メインメモリ中の基本ブロックの配置は、メインメモリからキャッシュ10にロードされる場合に、頻繁にアクセスされる基本ブロックが、どのキャッシュライン境界にも及ばないように(又はできるだけ少ないキャッシュ境界にしか及ばないように)変更される。
インターキャッシュラインシーケンシャルフローの出現数を減らすことは、キャッシュ10での電力消費を減らす。キャッシュラインサイズの増加はそのような出現を減らす傾向にあるが、キャッシュラインサイズを増やすことは、キャッシュミスに関連するオフチップ(off-chip)メモリアクセス数を増やすことにもなる。特定の実施例は或るアルゴリズムを利用し、そのアルゴリズムはこのトレードオフを考慮し、メモリ階層の消費電力全体を最小化するために様々なキャッシュラインサイズを探索する。
Lワードのキャッシュラインサイズを有するサイズC(C=2mワード)のダイレクトマップキャッシュ10(direct-mapped cache)を考察する。キャッシュ読み取りミスの際に、L個の連続的なワードがフェッチされる。ダイレクトマップキャッシュ10では、メモリアドレスMにあるワードを含むキャッシュラインは、
Figure 2007048286
により計算されてもよい。従って、2つのメモリロケーションMi,Mjは、以下の条件が成立するならば、同じキャッシュラインに対応付けられる:
Figure 2007048286
上記の数式は次のようにも書ける:
(n・C−L)< (Mi−Mj)< (n・C+L) (1)
ここで、nは何らかの整数である。基本ブロックBi,BjがN回の反復を有するループの内側にあり、それらのメモリロケーションMi,Mjが条件(1)を満足するならば、そのループを実行する際に、キャッシュコンフリクトミスが少なくともN回発生する。これはWウェイセット関連キャッシュ10に拡張されてもよい。キャッシュコンフリクトミスは、条件(1)を満足する個々の
Figure 2007048286
の値と共にWより多くの異なるアドレスがループ内でアクセスされた場合に、Wウェイセット関連キャッシュ10で生じる。Mはメモリアドレスである。キャッシュコンフリクトミスの数はキャッシュパラメータ(例えば、キャッシュラインサイズ、キャッシュセット数、キャッシュウェイ数、キャッシュ10のメモリアドレス空間中の各基本ブロックのロケーション、及びターゲットアプリケーションプログラムの閉ループ各々についての反復回数)から容易に計算できる。特定の実施例は、所与のパフォーマンス制約に関し、キャッシュ10及びオフチップメモリでの動的なリーク電力消費を多かれ少なかれ同時に減らすようにキャッシュコンフィギュレーション及びコード配置を最適化する。特定の実施例では、アルゴリズムは所与の関連性に関するキャッシュセット各々でのキャッシュコンフリクト数を算出する。
以下の表記(notation)はコード配置に関する問題定義の一例を用意するために使用される:
・Ememory,Eway,Etag:メインメモリ、単一のキャッシュウェイ及びキャッシュタグメモリ各々についてのアクセス当たりのエネルギ消費。
・Pstatic:メインメモリの静的な電力消費。
・TEmemory,TEcache:例えばオフチップメモリ及びキャッシュ10のようなメインメモリの全エネルギ消費。
・Pleakage:lバイトキャッシュメモリブロックのリーク電力消費。
・TEleakage:リークに起因するキャッシュメモリの全エネルギ消費。
・Wbus:メモリアクセスバス幅(バイト)。
・Winst:命令のサイズ(バイト)。
・Scache:キャッシュメモリ中のセット数。
・Caccess:1つのメモリアクセスに必要なCPUサイクル数。
・Cwait:メモリアクセス中の待ちサイクル数。
・Fclock:CPUのクロック周波数。
・nline:キャッシュメモリのラインサイズ(バイト)。
・ai:i番目のキャッシュセット中のウェイ数。
・Nmiss:キャッシュミス数。
・Ninst:実行される命令数。
・Xi:i番目のキャッシュセットに関する「全(フル)ウェイアクセス」の数。「全ウェイ」アクセスでは、ターゲットキャッシュセット中のキャッシュタグ及び全キャッシュウェイが活性化される。「フルウェイアクセス」はインターキャッシュラインシーケンシャルフロー又は非シーケンシャルフローで必要である。或いは単独のキャッシュウェイのみが活性化される。
・Ttotal,Tconst:全実効時間及びそれについての制約。
・Ptotal:メモリシステムの総電力消費。
Ememory, Eway, Etag, Pstatic,Pleakage,Wbus,Winst,Scache,Fclock,Caccess,Cwait及びTconstが所与のパラメータであるとする。決定されるパラメータはnline及びaiである。Nmiss,Xi及びTtotalはコード配置Wbus,Winst,nline及びaiの関数である。Nmiss,Ninst,及びXiは1以上の説明済みの方法に従って見出されてもよい。キャッシュ10は通常的にはサブバンクに分割され、唯1つのサブバンクがアクセス毎に活性化され、Ewayはnlineに独立である。
以下の例示的問題定義はコード配置に使用されてよい:Ememory, Eway, Etag, Pstatic,Pleakage,Wbus,Winst,Scache,Fclock,Caccess,Cwait及びTconstの所与の値について、所与の時間的制約Tconstの下で、メモリ階層の総電力消費Ptotalを最小化するために、コード配置nline及びaiを決定する。T total,TEmemory,TEcache,TEleakage及びPtotalは、以下の数式を用いて算出されてもよい:
Figure 2007048286
特定の実施例では、アルゴリズムはオリジナルのキャッシュコンフィギュレーション(nlines=32,Scache=8,ai=64)と共に始まる。次のステップでは、アルゴリズムはアドレス空間の中でそのアプリケーションプログラムの各ブロックの最適なロケーションを見出す。特定の実施例では、これは、アドレス空間内で配置する関数の順序を変更し、最適な順序を見出すことで実行される。各順序について、アルゴリズムは或るキャッシュセットを反復的に発見することで貪欲にエネルギを減らし、そのキャッシュセットについて2のべき乗でキャッシュウェイ数を減らすことは、最大の電力削減効果をもたらす。電力消費(Ptotal)及びランタイム(Ttotal)は所与の関連性についてキャッシュミス数を算出することで発見される。この計算は、キャッシュ10をシミュレーションせずに、アプリケーションプログラムのアドレス空間の中で、各ループの反復回数及び各基本ブロックのロケーションを分析することで実行されてよい。最少のエネルギを与える順序が、キャッシュセット各々に関するキャッシュウェイの最適数と共に選択される。アルゴリズムは、様々案キャッシュサイズについて上記のステップを実行し、電力消費が減る限り(ステップの実効を)続ける。関数の順序は、キャッシュラインサイズが変わる場合に固定されてもよい。これは良い簡素化である。なぜなら、キャッシュラインサイズが2のべき乗で変わる場合には、関数の最適な順序は通常的には大きく変わらないからである。特定の実施例では、アルゴリズムの計算時間は、関数の数の二乗で増え、アプリケーションプログラムのループ数に線形に増える。
非限定的な例として、以下の擬似コードは、上述のアルゴリズムの1以上の具体例を実現する:
Figure 2007048286
特定の実施例では、ハードウエア、ソフトウエア、組み込まれた論理要素、又はそのような要素の2以上の組み合わせが、上記のアルゴリズムの1以上のステップを実行する。1以上のユーザは1以上のコンピュータシステムを利用して、1以上の要素から出力を受信し及びそこに入力を与える。
以上本発明を説明するために特定の実施例が使用されてきた。当該技術分野で通常の知識を有する者は、添付の特許請求の範囲の範疇で、本発明を説明するために使用された特定の実施例に対する変更、置換、変形、代替又は修正の1以上を理解するであろう。本発明はそのような変更、置換、変形、代替又は修正の全てを包含する。
以下、本発明により教示される手段が例示的に列挙される。
(付記1)
キャッシュにおける電力消費を削減する方法であって、
キャッシュとは別のメモリにどのコードが書き込み可能であるかに応じて、前記メモリから前記キャッシュに前記コードがロードされた場合のインターキャッシュラインシーケンシャルフローの出現を減らすコード配置を決定するステップと、
前記コード配置に従って前記コードをコンパイルするステップと、
前記コード配置に従って前記メモリから前記キャッシュに以後ロードするコードを前記メモリに書き込み、前記キャッシュにおける電力消費を削減するステップと、
を有することを特徴とする方法。
(付記2)
前記キャッシュのキャッシュセット各々についてキャッシュウェイの最適数をキャッシュが用意するように非一様なアーキテクチャを決定するステップであって、前記非一様なアーキテクチャは前記キャッシュ中のキャッシュセットが互いに異なる関連値を有することを許可するところのステップと、
前記キャッシュにおける電力消費を更に減らすために、前記キャッシュ中の前記非一様なアーキテクチャを使用するステップと、
を更に有することを特徴とする付記1記載の方法。
(付記3)
前記キャッシュが、プロセッサに関する命令キャッシュである
ことを特徴とする付記1記載の方法。
(付記4)
前記キャッシュとは別の前記メモリが、プロセッサに関するメインメモリを有する
ことを特徴とする付記1記載の方法。
(付記5)
インターキャッシュラインシーケンシャルフローが、前記キャッシュのキャッシュライン境界に及ぶ基本ブロックを有する
ことを特徴とする付記1記載の方法。
(付記6)
インターキャッシュラインシーケンシャルフローの出現を減らす前記ステップが、コード実行中のタグルックアップを減らし、
コード実行中のタグルックアップを減らすことが、前記キャッシュでの電力消費の削減を促す
ことを特徴とする付記1記載の方法。
(付記7)
1以上の媒体中にエンコードされる、キャッシュにおける電力消費を削減するための論理装置であって、
キャッシュとは別のメモリにどのコードが書き込み可能であるかに応じて、前記メモリから前記キャッシュに前記コードがロードされた場合のインターキャッシュラインシーケンシャルフローの出現を減らすコード配置を決定するステップと、
前記コード配置に従って前記コードをコンパイルするステップと、
前記コード配置に従って前記メモリから前記キャッシュに以後ロードするコードを前記メモリに書き込み、前記キャッシュにおける電力消費を削減するステップと、
をコンピュータに実行させることを特徴とする論理装置。
(付記8)
前記キャッシュのキャッシュセット各々についてキャッシュウェイの最適数をキャッシュが用意するように非一様なアーキテクチャを決定するステップであって、前記非一様なアーキテクチャは前記キャッシュ中のキャッシュセットが互いに異なる関連値を有することを許可するところのステップと、
前記キャッシュにおける電力消費を更に減らすために、前記キャッシュ中の前記非一様なアーキテクチャを使用するステップと、
を更にコンピュータに実行させることを特徴とする付記6記載の論理装置。
(付記9)
前記キャッシュが、プロセッサに関する命令キャッシュである
ことを特徴とする付記6記載の論理装置。
(付記10)
前記キャッシュとは別の前記メモリが、プロセッサに関するメインメモリを有する
ことを特徴とする付記6記載の論理装置。
(付記11)
インターキャッシュラインシーケンシャルフローが、前記キャッシュのキャッシュライン境界に及ぶ基本ブロックを有する
ことを特徴とする付記6記載の論理装置。
(付記12)
インターキャッシュラインシーケンシャルフローの出現を減らす前記ステップが、コード実行中のタグルックアップを減らし、
コード実行中のタグルックアップを減らすことが、前記キャッシュでの電力消費の削減を促す
ことを特徴とする付記6記載の論理装置。
(付記13)
キャッシュにおける電力消費を削減するシステムであって、
メモリと、
前記メモリとは別のキャッシュに前記メモリからコードがロードされる場合に、インターキャッシュラインシーケンシャルフローの出現を減らすコード配置に従って、前記メモリに書き込まれ及びコンパイルされるコードと、
を有し、前記コードは、前記キャッシュでの電力消費を減らすように前記コード配置に従って前記メモリから前記キャッシュにロード可能であることを特徴とするシステム。
(付記14)
前記キャッシュにおける電力消費を更に減らすために、前記キャッシュで使用される非一様なアーキテクチャを更に有し、該非一様なアーキテクチャは 前記キャッシュのキャッシュセット各々についてキャッシュウェイの最適数を用意し、前記キャッシュ中のキャッシュセットが互いに異なる関連値を有することを許可する
ことを特徴とする付記13記載のシステム。
(付記15)
前記キャッシュが、プロセッサに関する命令キャッシュである
ことを特徴とする付記13記載のシステム。
(付記16)
前記キャッシュとは別の前記メモリが、プロセッサに関するメインメモリを有する
ことを特徴とする付記13記載のシステム。
(付記17)
インターキャッシュラインシーケンシャルフローが、前記キャッシュのキャッシュライン境界に及ぶ基本ブロックを有する
ことを特徴とする付記13記載のシステム。
(付記18)
インターキャッシュラインシーケンシャルフローの出現を減らすことで、コード実行中のタグルックアップを減らし、
コード実行中のタグルックアップを減らすことで、前記キャッシュでの電力消費の削減を促す
ことを特徴とする付記13記載のシステム。
(付記19)
キャッシュにおける電力消費を削減するシステムであって、
キャッシュとは別のメモリにどのコードが書き込み可能であるかに応じて、前記メモリから前記キャッシュに前記コードがロードされた場合のインターキャッシュラインシーケンシャルフローの出現を減らすコード配置を決定する手段と、
前記コード配置に従って前記コードをコンパイルする手段であって、前記キャッシュにおける電力消費を削減するために、前記コード配置に従って前記メモリから前記キャッシュに以後ロードするために前記メモリに書き込む手段と、
を有することを特徴とするシステム。
キャッシュの電力消費を減らすための非一様なキャッシュ構造例を示す図である。 キャッシュの電力消費を減らすためのコード配置例を示す図である。 キャッシュの電力消費を減らすためのコード配置例を示す図である。
符号の説明
10 キャッシュ
12 セット
14 ウェイ
16 タグ
18 センスアンプ
20 セットインデックス
22 オフセット
24 ワード
26 キャッシュライン

Claims (5)

  1. キャッシュとは別のメモリにどのコードが書き込み可能であるかに応じて、前記メモリから前記キャッシュに前記コードがロードされた場合のインターキャッシュラインシーケンシャルフローの出現を減らすコード配置を決定するステップと、
    前記コード配置に従って前記コードをコンパイルするステップと、
    前記コード配置に従って前記メモリから前記キャッシュに以後ロードするコードを前記メモリに書き込み、前記キャッシュにおける電力消費を削減するステップと、
    を有することを特徴とするキャッシュにおける電力消費削減方法。
  2. 前記キャッシュのキャッシュセット各々についてキャッシュウェイの最適数をキャッシュが用意するように非一様なアーキテクチャを決定するステップであって、前記非一様なアーキテクチャは前記キャッシュ中のキャッシュセットが互いに異なる関連値を有することを許可するところのステップと、
    前記キャッシュにおける電力消費を更に減らすために、前記キャッシュ中の前記非一様なアーキテクチャを使用するステップと、
    を更に有することを特徴とする請求項1記載の電力消費削減方法。
  3. 1以上の媒体中にエンコードされる、キャッシュにおける電力消費を削減するための論理装置であって、
    キャッシュとは別のメモリにどのコードが書き込み可能であるかに応じて、前記メモリから前記キャッシュに前記コードがロードされた場合のインターキャッシュラインシーケンシャルフローの出現を減らすコード配置を決定するステップと、
    前記コード配置に従って前記コードをコンパイルするステップと、
    前記コード配置に従って前記メモリから前記キャッシュに以後ロードするコードを前記メモリに書き込み、前記キャッシュにおける電力消費を削減するステップと、
    をコンピュータに実行させることを特徴とする論理装置。
  4. キャッシュにおける電力消費を削減するシステムであって、
    メモリと、
    前記メモリとは別のキャッシュに前記メモリからコードがロードされる場合に、インターキャッシュラインシーケンシャルフローの出現を減らすコード配置に従って、前記メモリに書き込まれ及びコンパイルされるコードと、
    を有し、前記コードは、前記キャッシュでの電力消費を減らすように前記コード配置に従って前記メモリから前記キャッシュにロード可能であることを特徴とするシステム。
  5. キャッシュにおける電力消費を削減するシステムであって、
    キャッシュとは別のメモリにどのコードが書き込み可能であるかに応じて、前記メモリから前記キャッシュに前記コードがロードされた場合のインターキャッシュラインシーケンシャルフローの出現を減らすコード配置を決定する手段と、
    前記コード配置に従って前記コードをコンパイルする手段であって、前記キャッシュにおける電力消費を削減するために、前記コード配置に従って前記メモリから前記キャッシュに以後ロードするために前記メモリに書き込む手段と、
    を有することを特徴とするシステム。

JP2006210351A 2005-08-05 2006-08-01 キャッシュにおける電力消費削減方法、論理装置及びシステム Pending JP2007048286A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/198,693 US20070083783A1 (en) 2005-08-05 2005-08-05 Reducing power consumption at a cache

Publications (1)

Publication Number Publication Date
JP2007048286A true JP2007048286A (ja) 2007-02-22

Family

ID=37699981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006210351A Pending JP2007048286A (ja) 2005-08-05 2006-08-01 キャッシュにおける電力消費削減方法、論理装置及びシステム

Country Status (3)

Country Link
US (1) US20070083783A1 (ja)
JP (1) JP2007048286A (ja)
CN (1) CN1908859B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048285A (ja) * 2005-08-05 2007-02-22 Fujitsu Ltd キャッシュにおける電力消費削減方法、論理装置及びシステム
JP2013516006A (ja) * 2009-12-29 2013-05-09 エンパイア テクノロジー ディベロップメント エルエルシー エネルギー効率のよいマルチコアプロセッサのための共用メモリ
JP2013218403A (ja) * 2012-04-05 2013-10-24 Toshiba Corp キャッシュシステム
JP2022514345A (ja) * 2018-12-21 2022-02-10 マイクロン テクノロジー,インク. メモリデバイスにおける信号展開キャッシング

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467280B2 (en) * 2006-07-05 2008-12-16 International Business Machines Corporation Method for reconfiguring cache memory based on at least analysis of heat generated during runtime, at least by associating an access bit with a cache line and associating a granularity bit with a cache line in level-2 cache
US8589706B2 (en) * 2007-12-26 2013-11-19 Intel Corporation Data inversion based approaches for reducing memory power consumption
US8412971B2 (en) * 2010-05-11 2013-04-02 Advanced Micro Devices, Inc. Method and apparatus for cache control
US10235299B2 (en) * 2016-11-07 2019-03-19 Samsung Electronics Co., Ltd. Method and device for processing data
US10860491B2 (en) * 2019-05-03 2020-12-08 Mediate Inc. Cache management method using object-oriented manner and associated microcontroller
US11194582B2 (en) 2019-07-31 2021-12-07 Micron Technology, Inc. Cache systems for main and speculative threads of processors
US11048636B2 (en) 2019-07-31 2021-06-29 Micron Technology, Inc. Cache with set associativity having data defined cache sets
US11010288B2 (en) 2019-07-31 2021-05-18 Micron Technology, Inc. Spare cache set to accelerate speculative execution, wherein the spare cache set, allocated when transitioning from non-speculative execution to speculative execution, is reserved during previous transitioning from the non-speculative execution to the speculative execution
US11200166B2 (en) 2019-07-31 2021-12-14 Micron Technology, Inc. Data defined caches for speculative and normal executions

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877068A (ja) * 1994-09-06 1996-03-22 Toshiba Corp マルチプロセッサシステム及びメモリアロケーション最適化方法
JPH0950401A (ja) * 1995-08-09 1997-02-18 Toshiba Corp キャッシュメモリ及びそれを備えた情報処理装置
JPH09120372A (ja) * 1995-07-07 1997-05-06 Sun Microsyst Inc プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御
JPH10111832A (ja) * 1996-10-04 1998-04-28 Hitachi Ltd メモリシステム
JPH10124202A (ja) * 1996-10-04 1998-05-15 Internatl Business Mach Corp <Ibm> 電子回路内の電力消費を減少させる方法及びシステム
JPH11134077A (ja) * 1997-10-30 1999-05-21 Hitachi Ltd データ処理装置及びデータ処理システム
JP2000298618A (ja) * 1999-04-14 2000-10-24 Toshiba Corp セットアソシアティブ型キャッシュメモリ装置
US6175957B1 (en) * 1997-12-09 2001-01-16 International Business Machines Corporation Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring
JP2002024031A (ja) * 2000-07-07 2002-01-25 Sharp Corp オブジェクトコードの再合成方法および生成方法
US20030154345A1 (en) * 2002-02-08 2003-08-14 Terry Lyon Multilevel cache system having unified cache tag memory
JP2003242029A (ja) * 2002-02-15 2003-08-29 Hitachi Ltd 半導体集積回路
JP2005122481A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd コンパイラ装置およびリンカ装置
JP2005122506A (ja) * 2003-10-17 2005-05-12 Matsushita Electric Ind Co Ltd コンパイラ装置
WO2005048112A1 (ja) * 2003-11-12 2005-05-26 Matsushita Electric Industrial Co., Ltd. キャッシュメモリおよびその制御方法
JP2005301387A (ja) * 2004-04-07 2005-10-27 Matsushita Electric Ind Co Ltd キャッシュメモリ制御装置およびキャッシュメモリ制御方法
JP2006040089A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd セカンドキャッシュ駆動制御回路、セカンドキャッシュ、ram、及びセカンドキャッシュ駆動制御方法
JP2006323841A (ja) * 2005-05-18 2006-11-30 Samsung Electronics Co Ltd テクスチャキャッシュメモリ装置及びこれを利用した3次元グラフィック加速器および方法
JP2007048285A (ja) * 2005-08-05 2007-02-22 Fujitsu Ltd キャッシュにおける電力消費削減方法、論理装置及びシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617348A (en) * 1995-07-24 1997-04-01 Motorola Low power data translation circuit and method of operation
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US6480938B2 (en) * 2000-12-15 2002-11-12 Hewlett-Packard Company Efficient I-cache structure to support instructions crossing line boundaries
US7185328B2 (en) * 2002-05-30 2007-02-27 Microsoft Corporation System and method for improving a working set
US7430642B2 (en) * 2005-06-10 2008-09-30 Freescale Semiconductor, Inc. System and method for unified cache access using sequential instruction information

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877068A (ja) * 1994-09-06 1996-03-22 Toshiba Corp マルチプロセッサシステム及びメモリアロケーション最適化方法
JPH09120372A (ja) * 1995-07-07 1997-05-06 Sun Microsyst Inc プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御
JPH0950401A (ja) * 1995-08-09 1997-02-18 Toshiba Corp キャッシュメモリ及びそれを備えた情報処理装置
JPH10111832A (ja) * 1996-10-04 1998-04-28 Hitachi Ltd メモリシステム
JPH10124202A (ja) * 1996-10-04 1998-05-15 Internatl Business Mach Corp <Ibm> 電子回路内の電力消費を減少させる方法及びシステム
JPH11134077A (ja) * 1997-10-30 1999-05-21 Hitachi Ltd データ処理装置及びデータ処理システム
US6175957B1 (en) * 1997-12-09 2001-01-16 International Business Machines Corporation Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring
JP2000298618A (ja) * 1999-04-14 2000-10-24 Toshiba Corp セットアソシアティブ型キャッシュメモリ装置
JP2002024031A (ja) * 2000-07-07 2002-01-25 Sharp Corp オブジェクトコードの再合成方法および生成方法
US20030154345A1 (en) * 2002-02-08 2003-08-14 Terry Lyon Multilevel cache system having unified cache tag memory
JP2003242029A (ja) * 2002-02-15 2003-08-29 Hitachi Ltd 半導体集積回路
JP2005122481A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd コンパイラ装置およびリンカ装置
JP2005122506A (ja) * 2003-10-17 2005-05-12 Matsushita Electric Ind Co Ltd コンパイラ装置
WO2005048112A1 (ja) * 2003-11-12 2005-05-26 Matsushita Electric Industrial Co., Ltd. キャッシュメモリおよびその制御方法
JP2005301387A (ja) * 2004-04-07 2005-10-27 Matsushita Electric Ind Co Ltd キャッシュメモリ制御装置およびキャッシュメモリ制御方法
JP2006040089A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd セカンドキャッシュ駆動制御回路、セカンドキャッシュ、ram、及びセカンドキャッシュ駆動制御方法
JP2006323841A (ja) * 2005-05-18 2006-11-30 Samsung Electronics Co Ltd テクスチャキャッシュメモリ装置及びこれを利用した3次元グラフィック加速器および方法
JP2007048285A (ja) * 2005-08-05 2007-02-22 Fujitsu Ltd キャッシュにおける電力消費削減方法、論理装置及びシステム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048285A (ja) * 2005-08-05 2007-02-22 Fujitsu Ltd キャッシュにおける電力消費削減方法、論理装置及びシステム
JP2013516006A (ja) * 2009-12-29 2013-05-09 エンパイア テクノロジー ディベロップメント エルエルシー エネルギー効率のよいマルチコアプロセッサのための共用メモリ
US9367462B2 (en) 2009-12-29 2016-06-14 Empire Technology Development Llc Shared memories for energy efficient multi-core processors
JP2013218403A (ja) * 2012-04-05 2013-10-24 Toshiba Corp キャッシュシステム
US11520529B2 (en) 2018-12-21 2022-12-06 Micron Technology, Inc. Signal development caching in a memory device
JP7165269B2 (ja) 2018-12-21 2022-11-02 マイクロン テクノロジー,インク. メモリデバイスにおける信号展開キャッシング
JP2022514345A (ja) * 2018-12-21 2022-02-10 マイクロン テクノロジー,インク. メモリデバイスにおける信号展開キャッシング
JP2022183340A (ja) * 2018-12-21 2022-12-08 マイクロン テクノロジー,インク. メモリデバイスにおける信号展開キャッシング
US11656801B2 (en) 2018-12-21 2023-05-23 Micron Technology, Inc. Systems and methods for data relocation using a signal development cache
US11669278B2 (en) 2018-12-21 2023-06-06 Micron Technology, Inc. Page policies for signal development caching in a memory device
US11693599B2 (en) 2018-12-21 2023-07-04 Micron Technology, Inc. Domain-based access in a memory device
US11709634B2 (en) 2018-12-21 2023-07-25 Micron Technology, Inc. Multiplexed signal development in a memory device
US11726714B2 (en) 2018-12-21 2023-08-15 Micron Technology, Inc. Content-addressable memory for signal development caching in a memory device
US11934703B2 (en) 2018-12-21 2024-03-19 Micron Technology, Inc. Read broadcast operations associated with a memory device
US11989450B2 (en) 2018-12-21 2024-05-21 Micron Technology, Inc. Signal development caching in a memory device

Also Published As

Publication number Publication date
US20070083783A1 (en) 2007-04-12
CN1908859B (zh) 2010-04-21
CN1908859A (zh) 2007-02-07

Similar Documents

Publication Publication Date Title
JP2007048286A (ja) キャッシュにおける電力消費削減方法、論理装置及びシステム
JP5061523B2 (ja) キャッシュメモリ、演算処理装置およびキャッシュメモリの制御方法
US10025720B2 (en) Cache organization and method
US7899993B2 (en) Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme
KR102611813B1 (ko) 바이패스 최적화, 가변 그리드 아키텍처 및 융합된 벡터 동작들을 갖는 코프로세서들
US7389402B2 (en) Microprocessor including a configurable translation lookaside buffer
US9390011B2 (en) Zero cycle clock invalidate operation
US7516276B2 (en) Runtime register allocator
JP2008525919A (ja) プログラマ制御のキャッシュ・ライン追出しポリシーのための方法
EP1869557B1 (en) Global modified indicator to reduce power consumption on cache miss
US9128842B2 (en) Apparatus and method for reducing the flushing time of a cache
CN103198026A (zh) 指令高速缓存功耗降低
US8611170B2 (en) Mechanisms for utilizing efficiency metrics to control embedded dynamic random access memory power states on a semiconductor integrated circuit package
US9183155B2 (en) Microprocessor and method for using an instruction loop cache thereof
Qadri et al. Energy-efficient data prefetch buffering for low-end embedded processors
Panda et al. Power-efficient Memory and Cache
Moshnyaga et al. Low power cache design
Panda Power Optimisation Strategies Targeting the Memory Subsystem

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120321