• 検索結果がありません。

低消費電力指向マルチスレッドプロセッサのための低コスト値予測機構の検討

N/A
N/A
Protected

Academic year: 2021

シェア "低消費電力指向マルチスレッドプロセッサのための低コスト値予測機構の検討"

Copied!
11
0
0

読み込み中.... (全文を見る)

全文

(1)Vol. 45. No. SIG 1(ACS 4). 情報処理学会論文誌:コンピューティングシステム. Jan. 2004. 低消費電力指向マルチスレッドプロセッサのための 低コスト 値予測機構の検討 神. 代. 剛. 典†. 佐. 藤. 寿. 倫†. コントレ イルプロセッサは,エネルギー消費効率改善の目的でマルチスレッド 技術を利用している. コントレ イルプロセッサでは,アプリケーションプログラムは実行中に 2 つの命令実行ストリームに 分割される.1 つは投機流( speculation stream )と呼ばれ,プログラムの主要部分を構成し,高速 なパイプラインで実行される.投機流からは,トレースレベルの値予測を利用して,多くの命令実行 列が削除されている.実行命令数が削減されているため,投機流でのエネルギー消費効率が改善され ている.残りの命令実行ストリームは検証流( verification stream )と呼ばれ,投機流での値予測を 検証してその実行をサポートしている.検証流は低速ではあるが電力消費の小さなパイプラインで実 行される.したがって,エネルギー消費効率を改善できる.コントレ イルプロセッサの鍵は,トレー スレベルの値予測を利用することで元々はクリティカルであった命令列を非クリティカルに変え,そ れらを投機流から検証流に移動させることでエネルギー消費効率の改善を図っている点にある.本稿 では,コントレ イルプロセッサにおいて重要な役割を果すトレースレベルの値予測機構について検討 する.. A Low-cost Value Predictor for Energy-efficient Speculative Multithreaded Processors Takenori Koushiro† and Toshinori Sato† Contrail processors utilize multithreading for improving energy efficiency. In Contrail, an execution of an application is divided into two streams. One is called the speculation stream. It consists of the main part of the execution and is dispatched into the fast functional units. However, several regions of the execution are skipped by utilizing trace-level value prediction. The other stream is called the verification stream. It supports the speculation stream by verifying each data prediction, and is dispatched into the slow units. The key idea is that the trace-level value prediction translates each critical path into non-critical one and moves it from the speculation stream into the verification stream, and then the non-critical instructions are executed on the slow units. In this paper, we investigate a trace-level value predictor for Contrail processors.. 理性能が向上するにともない,それらのエネルギー消. 1. は じ め に. 費量も比例して増大している.加えて組み込み機器の. ノート PC や PDA,高機能な携帯電話などの携帯. みならず,汎用マイクロプロセッサにおいてもエネル. 情報端末が広まるにつれ,高性能でエネルギー消費. ギー消費効率は深刻な課題となってきた.. 効率の良いマイクロプ ロセッサの要求が高まってい. マイクロプロセッサで消費されるエネルギーは,消. る.たとえば,組み込み向けマイクロプロセッサにお. 費電力と処理時間の積で決定される.したがってエネ. いてでさえ,アウトオブオーダ実行をするものが出現. ルギー消費量を削減するためには,消費電力を削減す. し 26) ,1 GHz を超える周波数を示すもの10),13),26),33) ,. るか,あるいは処理時間を短縮すればよい.もちろん. さらには空間的マルチスレッド( simultaneous mul-. 両者が小さくなることが好ましい.CMOS 回路で消. tithreading: SMT )方式を採用するものまで計画さ. 費される動的電力とゲート遅延は,それぞれ 2 Pactive ∝ f Cload Vdd Vdd tpd ∝ (Vdd − Vth )α. れている10) .携帯機器向けのマイクロプロセッサの処. † 九州工業大学 Kyushu Institute of Technology. (1) (2). で与えられる.ここで,f は動作周波数,Cload は充 43.

(2) 44. 情報処理学会論文誌:コンピューティングシステム. Jan. 2004. 放電される負荷容量,Vdd は電源電圧,Vth はトラン. る.したがって,検証流のエネルギー利用効率は大き. ジスタの閾値電圧である.α はキャリアの移動度に依. く改善できることになる.我々はこの方式をコントレ. 存し ,最近のトランジスタではおおよそ 1.3∼1.5 の. イルプロセッサアーキテクチャと呼んで,その検討を. 値をとる7) .式 (1) から容易にわかるように,消費電. 進めている27),28) .コントレイル( contrail )とは飛行. 力を削減するには電源電圧を低下させることが最も効. 雲のことである.ちょうど投機流をジェット飛行機に,. 果が大きい.しかし式 (2) に従えば,電源電圧を低下. その後に残される飛行雲に検証流を例えている.値予. させるとゲート遅延が増大し動作速度が低下してしま. 測が正しければ検証流はただ実行されるだけで投機流. う.これはマイクロプロセッサの処理性能を低下させ. の結果に影響を与えないところも,飛行機雲が自然と. ることであり問題となる.. 消えていく様子に例えられている.. この性能低下を補う方法の 1 つとして並列処理の利 4). 2.2 コントレ イルプロセッサ. 用がある .ある回路を複製して 2 つ用意し,それら. 各命令流は,SMT プ ロセッサ8),10),25) やチップ マ. を元の回路の半分の周波数で動作させる.動作速度が. 12),24) ルチプロセッサ( chip multiprocessor: CMP ). 半減してもスループットを維持することは可能である.. 上で,スレッドとして実行される.前者のモデルでは. 動作速度が半分になるので,それに応じて電源電圧を. SMT プロセッサに動作速度の異なる複数のパイプライ. 下げることが可能になる.本稿では別の並列性を利用. ンが用意されていることを,後者のモデルでは CMP. してエネルギー消費効率の改善を検討する.それはス. を構成する要素プロセッサ( processing element: PE ). レッドレベルの並列性である.. が独立した速度と電源電圧で動作できる9),23) ことを,. 以下,2 章で我々の提案しているコントレイルプロ セッサ. 27),28). を紹介する.3 章ではコントレ イルプロ. 想定している.SMT プロセッサ上では,投機流は高 速ではあるがエネルギー消費の大きなパイプラインで. セッサで重要な役割を果たすトレースレベル値予測器. 実行され,検証流はエネルギー消費は小さいが低速な. を検討し,そのハードウエアコスト削減法を提案する.. パイプラインで実行される.一方 CMP では,投機流. 4 章では提案するトレースレベル値予測器を評価する.. は高電源電圧かつ高速動作中の PE で,検証流は低電. 5 章で関連研究を紹介し,6 章でまとめとする.. 源電圧かつ低速動作中の PE で,実行される.値予測. 2. コントレ イルアーキテクチャ. に失敗しない理想的なケースでは,投機流は実行を完. 2.1 概 要 エネルギ ー利用効率を改善するために,我々はア. 予測に失敗したケースでは,予測失敗の時点以降の投. プ リケーションプログラムの実行を 2 つの命令実行 スト リームに分割することを考えた.1 つを投機流. 了すると静かに検証流の完了を待つだけとなる.一方 機流は破棄され検証流の結果を使用して投機流の実行 が再開されることになる. コントレイルプロセッサ上でプログラムが実行され. ( speculation stream )と呼び,プログラム実行の主要. る様子を図 1 を用いて紹介する.この例では,値予測. 部分を担っている.投機流ではトレースレベルの値予. によって投機流から取り除かれる命令列はプログラム. 測14),19)を利用しており,多くの命令実行列が取り除. 中に均等に分散し,それらのすべての値予測が成功し. かれている.すなわち,元のプログラムと比べて投機. ていると仮定する.すなわち図 1(a) に示すように,全. 流の命令数は少ないということであり,エネルギー消. 命令の半分が予測対象になると仮定している.これは. 費効率の改善につながる.一方,もう 1 つの命令実行. 一見都合良い仮定に思えるがある程度まで現実に近い. ストリームを検証流( verification stream )と呼んで. ものである.なぜなら文献 14) によれば,動的に生成. いる.これは投機流をサポートする目的で用意されて. されるトレース全体の中で 59%のトレースが値予測に. おり,主に投機流で実施された値予測の検証を行う.. より再利用可能だからである.以上の仮定に基づいて,. つまりこの方式の要点は,トレースレベルの値予測を. 元のプログラムを 1 つの投機流と 2 つの検証流に分割. 利用することによって元のプログラム中のクリティカ. して実行している様子が図 1(b) に示されている.こ. ルな命令列を非クリティカルに変換し,投機流から取. の図はコントレイルプロセッサの論理的な動作を示し. り除いて検証流に移動させることである.もし予測精. ているが,SMT 型コントレ イルプロセッサの動作は. 度が十分高ければ予測の検証を高速に実施する必要は. おおよそこの図のとおりとなる.プログラムはトレー. ないので,検証流を低速に実行することが可能である.. スを単位として実行される.各トレースの開始時に,. 検証流を実行するパイプラインの動作速度を下げるこ. そのトレースの結果が予測可能か否かがチェックされ. とができ,その結果その電源電圧も下げることができ. る.ここでトレースレベル値予測器が使用される.予.

(3) Vol. 45. No. SIG 1(ACS 4). 45. 低消費電力指向マルチスレッドプロセッサのための低コスト値予測機構の検討. time instructions correctly predicted regions. (a) original execution flow. speculation stream. verification streams. (b) contrail processor (SMT). (c) contrail processor (4PE CMP) 図1 Fig. 1. コントレイルプロセッサでの命令実行 Execution on a Contrail processor.. 測可能なトレースはプログラム実行におけるクリティ カルパスから外れるので,投機流ではなく検証流とし て実行される.検証流として取り除かれたトレースに 後続するトレースが投機流として実行される.つまり,. T$. VP. T$. VP. T$. VP. T$. VP. Data path. Data path. Data path. Data path. D$. D$. D$. D$. Vdd/Clk. Vdd/Clk. Vdd/Clk. Vdd/Clk. 新しく投機流となるトレースの実行を開始するために は,トレースレベルの値予測結果が得られている必要 がある.予測が次トレースの開始に間に合わないと, 最悪の場合プロセッサはストールすることとなり性能 低下を引き起こす.逆に予測結果が適切なタイミング. 図2 Fig. 2. CMP 型コントレイルプロセッサ CMP-based Contrail processor.. で得られれば,図に示されているように検証流での実 行時間は増加するにもかかわらずプログラム全体での. うな,図 2 に示される単方向リング接続された形態. 実行時間は短縮されていることにも注意されたい.. の CMP として実現される.各 PE はそれぞれ,デー. 図 1(c) に示すように CMP 型コントレイルプロセッ. タパス( Datapath )とデータキャッシュ( D$ )に加え. サでは,投機流と検証流は複数の PE 上で分散的に. 16) とトレースレベル値 て,トレースキャッシュ( T$ ). 実行される.投機流のスレッドを実行している先頭の. 予測器( VP )を備えている.さらに各 PE には独立し. PE で予測対象の命令列が検出されると,次の PE に. た電源コントローラ( Vdd )および周波数コントロー. 予測対象の命令列を取り除いた先の命令以降が投機. ラ( Clk )が備えられる.CMP 型コントレ イルプロ. 流のスレッドとして生成( fork )される.その後,こ. セッサがマルチスカラプロセッサやスーパスレッドプ. の PE は予測対象となった命令列を検証流として実. ロセッサなどと異なる点の 1 つに,コントレイルプロ. 行する.このとき,動作周波数や電源電圧を変更する. セッサはメモリを介したデータ依存の違反を検出する. ことになる.上記のような実行モデルに基づいている. 機構を必要としないことがあげられる.コントレイル. ので CMP 型コントレイルプロセッサは,マルチスカ. プロセッサは投機実行を開始するにあたってトレース. ラプロセッサ20) やスーパスレッドプロセッサ22) のよ. レベル値予測に強く依存しているため,メモリを介し.

(4) 46. Jan. 2004. 情報処理学会論文誌:コンピューティングシステム 表 1 エネルギー消費量削減の効果 Table 1 Energy reduction. 消費 電力. 実行 時間. エネルギー 消費量. 100.0% 50.0% 62.5% 12.5%. コントレ イル. 投機流. 100.0% 100.0%. 100.0% 50.0%. アーキテクチャ. 検証流. 12.5%. 100.0%. オリジナル. たデータ依存の違反は起こりえない.その代わりに値. せれば,表 1 に示されるようにエネルギー消費量削減. 予測の失敗を生じる可能性がある.しかしながら,こ. の効果は 37.5%と求められる.. の特徴によりハード ウエアの複雑度を軽減できる.な. コントレイルプロセッサアーキテクチャでのエネル. ぜなら,値予測の失敗は各 PE で独立に検出可能であ. ギー利用効率改善の割合は,値予測精度と予測対象と. るが,メモリを介したデータ依存の違反を検出するた. なった各命令列のサイズに依存する.しかし,ここで. めには ARB 20) やヴァージョンキャッシュ6) のような 複雑な機構が必要になるからである. これ までに 提案され ている事前実行ア ーキテ ク. は潜在的な改善効果の見積りが目的であり,その意味. 17),21). チャ. とコントレ イルプロセッサアーキテクチャ. との違いには,後者は冗長なプログラム実行を仮定し ていない点がある.前者はプロセッサの状態に影響を. ではコントレイルプロセッサアーキテクチャにおける エネルギー利用効率改善の割合は非常に大きいといえ よう.. 3. トレースレベル値予測. 及ぼさない命令を積極的に実行することで処理性能の. すでに述べたように,コントレイルプロセッサはト. 向上を図っており,完了はされないものの実行される. レースレベル値予測に非常に強く依存している.値予. 命令の数は大幅に増加している.一方コントレイルプ. 測によるエネルギー消費量増大を防ぐためには,ハー. ロセッサアーキテクチャでは,投機に失敗しない理想. ド ウエアコストの小さな予測機構が必須である.本章. 的な場合には,トレースレベルの投機実行を行わない. では,ハード ウエアコストの小さな予測機構としてデ. 場合と比較して,プロセッサの状態に影響を及ぼさな. カップルトレースレベル値予測器を提案する.. い命令まで考慮しても,実行される命令にはまったく. 3.1 値 予 測. 変化がない.他の違いは目的であり,コントレイルプ. 値予測とは過去の履歴を利用して命令の結果を予測. ロセッサアーキテクチャは処理性能改善ではなくエネ. するものである.プログラムの実行において,ある命. ルギー消費効率改善を目的としている.. 令が過去の命令の実行結果に依存する場合がある.こ. 2.3 エネルギー利用効率改善. れは真の依存関係と呼ばれ,値予測はこの依存を解消. コントレ イルプ ロセッサアーキテクチャでエネル. するために用いられる.また,命令は依存する命令の. ギー利用効率をどの程度改善できるかについては,以. 実行を待たずして実行可能となる.. 下のように見積もることができる.ここで上で述べた. 具体的な命令列を用いて値予測を説明する.以下の. 仮定に加えて,検証流における電源電圧と動作周波数. プログラムでは,命令 (2) はレジスタ R3 の値を利用. をそれぞれ投機流におけるそれらの半分であると仮定. する.しかし命令 (1) が R3 に実行結果を出力するた. する.エネルギー消費量は以下のように計算される.. めに,命令 (2) は命令 (1) が結果を出力するまで実行. まず投機流についてである.投機流では電源電圧も動. できない.値予測を行うと,命令 (2) は命令 (1) が結. 作周波数も元のままであるが,実行される命令数が半. 果を出力する前に実行が可能になる.. 分なので実行時間が半分になっており,エネルギー消. R3 := R3 op R5. (1). 費量も半分になる.一方,検証流では以下のとおりで. R4 := R3 + 1 R3 := R5 + 1 R7 := R3 op R4. (2) (3) (4). ある.検証流でも命令数は半分になるが,動作周波数 も半分であるので命令あたりの実行時間は倍となり, その結果全体としては実行時間には変化がない.検 証流でのエネルギー消費量削減は,動作周波数と電源 電圧の低下によるものである.式 (1) より消費電力は. 12.5%,実行時間は変わらないのでエネルギー消費量 も 12.5%となる.以上の投機流と検証流の結果を合わ. 3.2 従来のトレースレベル値予測器 値予測には履歴の使い方によりいくつかの予測方式 がある.最終値予測,ストライド 値予測,コンテキス トベース値予測,ハイブリッド 値予測といった予測方.

(5) Vol. 45. No. SIG 1(ACS 4). 低消費電力指向マルチスレッドプロセッサのための低コスト値予測機構の検討 VHT. 47. PHT. PC. Multiple Predicted Values Register Identifires 1...j Tag. LRU. Registers 1...j. nextPC. History. State. Stride Values 1...k. Fig. 3. 図 3 従来のトレースレベル値予測器 Conventional trace-level value predictor.. 式が提案されている19) .これらの予測器は,値の履歴. テート( State ) ,ストライド( Stride ) ,そして 4 つ. を記録する VHT( Value History Table )や値の出現. のデータ値( Data Values )のサブフィールドがある.. パターンを記録する PHT( Pattern History Table ). State フィールド の示す状態に基づいて,予測される. を用いて構成される.これらの値予測の方式はすべて. 値を用いた投機実行を実施するか否かが決定される.. 命令単位で値予測を行う.コントレイルプロセッサで は,実行はスレッドレベルで分割される.スレッド の. Stride フィールドには対応する命令で直前の過去 2 回 に生成された値の差が保持されている.Data Values. 起動と終了にはオーバヘッドが存在し,スレッド 実行. フィールドに保持される値は上述した 4 つの異なる値. の粒度がある程度大きくないとプロセッサ性能を低下. である.Value History Pattern フィールドは,注. させてしまう35) .命令レベルで値予測を実行すること. 目している命令が過去 p 回にどのような履歴で値を生. は 1 命令からなるスレッドを生成することと同義であ. 成したかを記録している.この履歴は上述した 2 ビッ. り,これはスレッド 実行の粒度としては細かすぎ る.. トの識別子を用いているので 2p ビットとなる.この. よって,値予測機構としてトレースレベル値予測14),19). 2p ビットの Value History Pattern フィールド を インデックスとして,第 2 のテーブルである PHT が. を利用する.トレースとは動的な連続する命令の集ま りのことである.. 参照される.PHT の各エントリは 4 つの飽和型アッ. 図 3 に従来提案されているトレースレベル値予測. プダウンカウンタであり,各カウンタは VHT の Data. 器19)を示す.図の予測器において,トレース中の各. Values フィールドに対応づけられている.カウンタ. レジスタに対して最大 4 つの異なる値を保持する場合. の値は記憶されている 4 つの値から 1 つを選択するた. ( k=4 )を例に説明する.1 つ目のテーブルである VHT. めに使用される.予測された命令が実際に実行されて. は,タグ( Tag ) ,入替えのための情報( LRU Info ) ,. 結果が得られると,同じ値に対応するカウンタがイン. ,レ トレースに続く命令の先頭アドレ ス( next PC ). クリメントされ,残りがデクリメントされる.. ,レジスタの ジスタ識別子( Register Identifiers ). 3.3 デカップルトレースレベル値予測器. 値( Register Values ) ,そして値の出現履歴( Value. コントレイルアーキテクチャが有効であるには,そ. History Pattern )のフィールドを持っている.Tag. れによる電力削減効果がトレースレベル値予測器の. フィールド は各トレ ースを区別する目的で使用され. 消費電力よりも小さくなければならない.消費エネル. る.LRU Info フィールドは,前述の 4 つの値が出現. ギーの削減量は値予測に成功する命令数と密接に関係. した順序を記録するために用いられる.これら 4 つの. するので,4 章で説明するシミュレーション環境を用. 値には,{00, 01, 10, 11} の識別子が与えられる.. いて,上記トレースレベル値予測器が予測に成功する. Register Identifiers フィールド は,注目してい. 割合を調査した.文献 14) での評価ではハード ウエ. るトレース中で使用されているレジスタを示してい. アに制約が設けられていないため,より現実的な仮定. る.各 Register Values フィールドにはさらに,ス. の下での予測率を求めることが目的である.図 4 に.

(6) 48. Jan. 2004. 情報処理学会論文誌:コンピューティングシステム Trace Table. VHT. PHT. PC. Single Predicted Value Register Identifires 1...j Tag. 2bC. PCs 1...j. nextPC. 図 5 提案するデカップルトレースレベル値予測器 Fig. 5 Decoupled trace-level value predictor.. 値予測器の消費電力を削減することが必要となる.前. 50. 述したように本稿では後者を検討する. 従来のトレースレベル値予測器では,トレース中に. 40. 保持可能なレジスタの数が増すにつれてハード ウエア 30. 規模が非常に増大することが容易に分かる.このハー ド ウエア規模増大の問題を解決するために,我々はデ. 20. カップルトレースレベル値予測器を提案する.図 5 に 示されるようにデカップルトレースレベル値予測器で. 10. は,トレースの情報と値予測のための情報を分離して 0. 保持する.デカップルトレースレベル値予測器は,ト go. ijpeg. perl. m88k. vortex. cc1. comp. li. average. 図 4 全命令に対する予測成功命令の割合( % ) Fig. 4 Correct prediction coverage (%).. レーステーブル( TT: Trace Table )と命令レベル値 ,2 ビット 予測器から構成される.TT はタグ( Tag ) の飽和型アップダウンカウンタ( 2bC ) ,トレースに続. 結果を示す.文献 14) では予測に成功したトレースの. ,レジスタ識別子 く命令の先頭アドレ ス( next PC ). 数に注目しているのに対し,図に示された結果は予測. ,そして注目しているレジ ( Register Identifiers ). に成功したトレースに含まれる命令数であることに注. スタ値を生成する命令のアドレス( PCs )のフィールド. 意されたい.ここでは全命令に対する予測に成功した. から構成される.Tag フィールドは各トレースを区別. 命令の割合を調査している.平均で約 25%であり,命. する目的で使用される.2bC フィールド の示す状態に. 令レベル値予測器と比較すると半分以下の予測率であ. 基づいて,予測される値を用いた投機実行を実施する. 29). .表 1 での見積りに従えば,エネルギー消費量. か否かが決定される.Register Identifiers フィー. の削減効果は 20%以下となる.さてデータキャッシュ. ルドは,注目しているトレース中で使用されているレ. の消費電力はプロセッサ全体の約 10%であり34) ,こ. ジスタを示しており,それらを生成する命令のアドレ. る. れを基にトレースレベル値予測器のエネルギー消費電. スが PCs に保持されている.TT に記憶されているト. 力を見積もる.そのハード ウエア規模がデータキャッ. レース情報を利用して,命令レベル値予測器が複数回. シュと同程度だと仮定し,さらにロード ストア命令の. 参照される.したがって,複数のレジスタ値は逐次的. 出現頻度とレジスタに値を格納する命令の出現頻度を. に予測されることになる.トレース中の必要なレジス. 考慮してトレースレベル値予測器の参照頻度をデータ. タすべてを予測するためには数サイクル必要になり,. キャッシュのそれの倍だと仮定すると,トレースレベ. 後続の投機流中の命令がこの予測値を必要とする時点. ル値予測器の消費電力はプロセッサ全体の約 20%とな. までに予測を完了していなければ,この遅延がその投. り,上で見積もったコントレイルアーキテクチャ採用. 機流の進行を妨げる恐れがある.アウトオブオーダ実. によるエネルギー消費量削減効果が失われてしまう.. 行でこの遅延が隠蔽できなければ,最悪の場合にはそ. したがってコントレイルアーキテクチャが有効となる. の投機流をストールさせることとなり性能を低下させ. ためには,予測率を改善することと,トレースレベル. る可能性がある.以上のように逐次的なトレースレベ.

(7) Vol. 45. No. SIG 1(ACS 4). 49. 低消費電力指向マルチスレッドプロセッサのための低コスト値予測機構の検討. ル値予測には性能向上を妨げる潜在的な欠点が存在す. 100. るが,この方式では予測器のハード ウエア規模が大幅. 90. に削減可能である.. 80 70. 4. 評 価 結 果. 60 50. 本章では予測精度とハード ウエア規模の観点から,. 40. 従来のトレースレベル値予測器と提案するデカップル. 30. トレースレベル値予測器を比較する.. 20. 本稿はトレースレベル値予測器に注目しており,コ. 10. ントレイルプロセッサとしての詳細な評価については. 0. proposal go. ijpeg. 将来の課題である.また,トレースの選択方法,トレー Fig. 6. スに含まれる命令数,そしてトレースあたりの値予測. perl. m88k. vortex. cc1. conventional comp. li. average. 図 6 予測精度( % ) Prediction accuracies (%).. 実行数など ,トレースレベル値予測器には最適化でき る可能性があるが,本稿では初期評価という意味で単. 350. 純な戦略を選択している.まずトレースあたりの予測 できるレジスタ数の上限を 4 とした.これによってト レースに含まれる命令数に制限が加わる.さらに,予 測の候補になったレジスタの予測成功履歴を信頼性と して保持しておき,信頼性の高いものをトレースとし. 300 250 200 150. て選択することとした.戦略の最適化による予測精度 やプロセッサ性能への影響の評価についても将来の課 題である.. 4.1 評 価 環 境 1) SimpleScalar ツールセット( ver.2.0 ) を利用して 命令レベルのシミュレータを作成した.命令セットに. 100 50 proposal 0. go. Fig. 7. ijpeg. perl. m88k. vortex. cc1. conventional comp. li. average. 図 7 予測に成功した命令数( % ) The number of correctly predicted values (%).. は MIPS のものを選んだ.従来のトレースレベル値 予測器の代表として Sathe らの予測器19)を採用する.. 度において優れていることが分かる.平均で比較する. この予測器は 4,096 エントリの VHT を持つ.同様に. と 77.2% から 82.6%に 5.4 ポイント改善されている.. 我々の提案するデカップルトレースレベル値予測器に. 図 7 に予測に成功した命令数についての結果を示. も 4,096 エントリの VHT を用意する.注意していた. す.この図では従来のトレースレベル値予測器の場合. だきたいのは,後者の VHT は命令レベルだというこ. を 100%として正規化している.したがって,100%を. とである.TT のエントリ数は 128∼4,096 の間で変. 超えると予測に成功した命令数が増加していることに. 化させて評価する.上述のとおり,各トレースあたり. なる.この評価でも,4,096 エントリの VHT を持つ. に保持可能なレジスタ数は 4 とした.評価に用いたプ. 従来のトレースレベル値予測器( 右)と,4,096 エン. ログラムは SPEC95 ベンチマークから選んだ 8 本で. トリの TT と 4,096 エントリの VHT を持つデカップ. ある.ウイスコンシン大学が配布しているバイナリ1). ルトレースレベル値予測器(左)についての結果を示. を使用している.値予測の対象となる命令はレジスタ. す.ijpeg と compress を除くと両者に大きな差は. に値を書き込む命令であり,ストア命令や分岐命令は. 見られない.これらの 2 本については,デカップルト. 対象に含まれない.. レースレベル値予測器が予測成功命令数を大きく改善. 4.2 予 測 精 度 図 6 に予測精度を示す.右が 4,096 エントリの VHT を持つ従来のトレースレベル値予測器に対する予測精. していることが分かる.. 度であり,左が 4,096 エントリの TT と 4,096 エント. 図 8 に予測精度に対する TT のエントリ数の影響を まとめた.上述したように TT のエントリ数は 128∼. リの VHT を持つデカップルトレースレベル値予測器. 4,096 の間で変化させている.それぞれのプログラム に対する 4 本は,左から順に 128,512,1,024,4,096. に対する結果である.8 本のプログラムのうちの 6 本. エントリの TT の場合に対応する.予測精度は 4,096. で,デカップルトレースレベル値予測器の方が予測精. エントリの TT の場合の結果を 100%として正規化し.

(8) 50. Jan. 2004. 情報処理学会論文誌:コンピューティングシステム. 100. 40. 90 80. 30. 70 60 50. 20. 40 30. 10. 20 10. 128. 0. go. ijpeg. K Bytes. 図8 Fig. 8. perl. m88k. vortex. 512 cc1. 1024 comp. 4096 li. average. TT のエントリ数と予測精度の関係( % ) Change of prediction accuracies (%).. 0. go. ijpeg. perl. m88k. vortex. cc1. comp. li. average. 図 10 エネルギー削減率( % ) Fig. 10 Energy reduction rate (%).. 400. 部のハードウエアコストと比較すると微々たるもので. 350. あると予想できる.さて,すでに見たように,1,024. 300. エントリの TT を持つデカップルトレースレベル値予. 250. 測器であれば,従来のトレースレベル値予測器に匹敵. 200. する予測精度が得られる.したがって左端と左 3 本目 を比較すればよい.この見積りからは,デカップルト. 150. レースレベル値予測器のハード ウエアコストは,従来. 100. のトレースレベル値予測器のそれと比較してほぼ 3 分 50. の 1 になることが分かる. 0. conventional 4096-VHT. proposal 4096-TT 4096-VHT. proposal 1024-TT 4096-VHT. proposal 512-TT 4096-VHT. proposal 128-TT 4096-VHT. 図 9 ハード ウエアコスト( KB ) Fig. 9 Hardware cost (KB).. 4.4 エネルギー消費効率改善 最後にデカップルトレースレベル値予測器を用いた 場合のエネルギー消費効率改善を評価する.上述した ように現状では命令レベルのシミュレーションであり. ている.1,024 エントリあれば 4,096 エントリの場合. タイミング情報を得ることができないため,スレッド. と匹敵する予測精度が得られていることが容易に分. の起動時と終了時におけるオーバヘッド,トレースレ. かる.. ベルの予測が逐次になることの悪影響,値予測に失敗. 4.3 ハード ウエアコスト. した際のペナルティ,検証流が低速に実行されるこ. 続いて予測器の各テーブルに必要なメモリ利用量の. とによるハード ウエア資源の利用混雑度増の影響は考. 総和を用いて,図 9 に各予測器のハードウエアコスト. 慮できない.予測に成功するトレースがあらかじめ分. をまとめる.左端が 4,096 エントリの VHT を持つ従. かっていると仮定し,失敗する予測に基づいた投機実. 来のトレースレベル値予測器の場合であり,残りがデ. 行は行わない場合の評価となる.すなわち,提案する. カップルトレースレベル値予測器の場合である.後者. 予測器を用いた場合のエネルギー消費効率改善の上限. は 4,096 エントリの VHT と,右から順に 128,512,. を示すにとどまる.表 1 ではエネルギー消費量を求め. 1,024,4,096 エントリの TT を持つ.実際にチップに. るために,検証流が実行される回路の電圧を元の半分. 実装する場合にはメモリ部だけでなくロジック部も必. と仮定して消費電力を計算した.ここではより現実的. 要である.TT の検索のために必要なロジックは従来. な評価を行うため,インテル社の XScale プロセッサ. の予測器の検索に必要なものと同じであり,デカップ. のデータ10) を用いる.すなわち,400 MHz かつ 1.1 V. ルトレースレベル値予測器への変更で追加する必要が. 動作時の消費電力 180mW と 800 MHz かつ 1.65 V 動. あるのは,TT から得られるインデックスを用いて命. 作時の消費電力 900mW を用いる.以上の仮定に基. 令レベル予測器を検索するためのロジックだけとなる.. づいて求められた消費エネルギーの削減率を図 10 に. これには上記のインデックスを一時的に保持するため. 示す.アプリケーションによりばらつくが,平均で約. のレジスタと,逐次的に命令レベル予測器を検索する. 20%のエネルギー消費量削減が達成されている.. ためのシーケンサがあれば十分である.つまりメモリ.

(9) Vol. 45. No. SIG 1(ACS 4). 低消費電力指向マルチスレッドプロセッサのための低コスト値予測機構の検討. 51. 5. 関 連 研 究. 果たす,トレースレベル値予測器について検討した.. 値予測機構を現実的にするために,そのハード ウエ. アコストの小さな予測器が必須である.そのために,. 値予測による電力増加を抑えるためには,ハード ウエ 我々はデカップルトレースレベル値予測器を提案し評. ア量を削減するための検討が多くなされている.. Morancho ら. 11). ,Rychlik ら. 18). 5). ,Del Pino ら や. 価した.詳細なシミュレーションの結果,デカップル. Calder ら 3)は値予測機構のハード ウエア量を削減する ことを検討している.Morancho ら 11) ,Rychlik ら 18). トレースレベル値予測器は従来型の予測精度を維持し. 5). つつ,ハード ウエア規模を約 3 分の 1 まで削減可能で. と Del Pino ら の方式では,演算結果の予測容易性. あることが確認された.. に基づいて命令を分類し,予測容易な命令はハード ウ. 謝辞 本研究の一部は,科学研究費補助金基盤研究 B( 2 )展開課題番号 13558030 の援助によるものです.. エア量の小さな予測機構を使用し,予測困難な命令だ け上述のハードウエア量の大きな予測機構を使用する. つまりハイブリッド 値予測機構のハード ウエア量削減 に着目している.しかし構成要素となる各値予測機構 のハード ウエア量は削減できてはいない.Calder ら. 3). は予測可能性に着目して,値予測表に保持される命令 を選択している.データ投機実行に有効な命令だけを 選択することで値予測表の利用効率を改善し,その結 果エントリ数の削減を達成している. 我々はタグのビット幅を制限することで値予測機構 のハード ウエア量削減を検討し,最終値型予測器では タグはまったく必要ないこと,ハイブリッド 型予測器 でもタグは 2 ビットあれば十分であることを確認して いる29) .また我々は,値予測表に保持されるデータ幅 を制限することで,値予測機構のハード ウエア規模を 削減することを検討した30) .値予測表の上位ビットは ほとんど利用されていないことに着目し,データの下 位ビットのみを値予測表に保持することを検討した. その結果ハード ウエア量を最大 45.1%削減することに 成功している30) .Burtscher ら 2)は,上位ビットを複 数のデータで共有することで同様の効果を得る方式を 提案している.さらに我々はプログラム中の頻出値が 0 と 1 であることに着目し,これらだけを予測対象と することで値予測機構のハード ウエア量削減を図って いる31),32) .. 6. お わ り に 現在マルチスレッド 技術と複数電源パイプライン技 術が,エネルギ ー削減の鍵となる技術として期待さ れている15) .そのようなエネルギー消費効率の良い アーキテクチャとして,我々はコントレ イルプロセッ サアーキテクチャを提案している.コントレイルプロ セッサでは,マルチスレッド 技術とトレースレベル値 予測を利用してエネルギー利用効率の改善を図ってい る.スレッドレベル並列性を利用することで電源電圧 低下による処理性能の悪化を埋め合わせている. 本稿では,コントレイルプロセッサで重要な役割を. 参 考 文 献 1) Burger, D. and Austin, T.M.: The SimpleScalar Tool Set, Version 2.0, ACM SIGARCH Computer Architecture News, Vol.25, No.3 (1997). 2) Burtscher, M. and Zorn, B.G.: Hybridizing and Coalescing Load Value Predictors, International Conference on Computer Design (2000). 3) Calder, B., Reinman, G. and Tullsen, D.M.: Selective Value Prediction, 26th International Symposium on Computer Architecture (1999). 4) Chandrakasan, A.P. and Brodersen, R.W.: Minimizing Power Consumption in Digital CMOS Circuits, Proc. IEEE, Vol.83, No.4 (1995). 5) Del Pino, S., Pinuel, L., Moreno, R.A. and Tirado, F.: Value Prediction as a Cost-Effective Solution to Improve Embedded Processor Performance, 3rd International Meeting on Vector and Parallel Processing (2000). 6) Gopal, S., Vijaykumar, T.N., Smith, J.E. and Sohi, G.S.: Speculative Versioning Cache, 4th International Symposium on High Performance Computer Architecture (1998). 7) Hiramoto, T. and Takamiya, M.: Low Power and Low Voltage MOSFETs with Variable Threshold Voltage Controlled by Back-Bias, IEICE Trans. Electronics, Vol.E83-C, No.2 (2000). 8) Intel Corporation: Introduction to HyperThreading technology, White paper (2001). 9) Intel Corporation: Intel(R) XScaleT M Technology, (2002). http://developer.intel.com/ design/intelxscale/ 10) Kim, J.C.: The Halla: An ARM10 Compliant 1.2 GHz Processor, NE Electronics Embedded Processor Symposium (2002). 11) Morancho, E., Llaberia, J.M. and Olive, A.: Split Last-Address Predictor, International Conference on Parallel Architectures and Compilation Techniques (1998)..

(10) 52. 情報処理学会論文誌:コンピューティングシステム. 12) Olukotun, K., Nayfeh, B.A., Hammond, L., Wilson, K. and Chang, K.: The Case for a Single-Chip multiprocessor, 7th International Conference on Architectural Support for Programming Languages and Operating Systems (1996). 13) Parse, D.: FastMATHT M : Matrix Math Enhanced Embedded Processor, NE Embedded Processor Simposium (2002). 14) Pilla, M.L., da Cost, A.T., Franca, F.M.G. and Navaux, P.O.A.: Predicting Trace Inputs with Dynamic Trace Memoization: Determining Speedup Upper Bounds, 10th International Conference on Parallel Architectures and Compilation Techniques (2001). 15) Rattner, J.: Electronics in the Internet Age, 10th International Conference on Parallel Architectures and Compilation Techniques (2001). 16) Rotenberg, E., Bennet, S. and Smith, J.: Trace Cache: A Low Latency Approach to High Bandwidth Instruction Fetching, 29th International Symposium on Microarchitecture (1996). 17) Roth, A. and Sohi, G.: Speculative DataDriven Multithreading, 7th International Symposium on High-Performance Computer Architecture (2001). 18) Rychlik, B., Faistl, J.W., Krug, B.P., Kurland, A.Y., Sung, J.J., Velev, M.N. and Shen J.P.: Efficient and Accurate Value Prediction Using Dynamic XhClassification, Technical Report CMuART-98-01, Department of Electrical Computer Engineering, Carnegie Mellon University (1998). 19) Sathe, R., Wang, K. and Franklin, M.: Techniques for Performing Highly Accurate Data Value Prediction, Microprocessors and Microsystems, Vol.22, No.6 (1998). 20) Sohi, G.S., Breach, S.E. and Vijaykumar, T.N.: Multiscalar Processors, 22nd International Symposium on Computer Architecture (1995). 21) Sundaramoorthy, K., Purser, Z. and Rotenberg, E.: Slipstream Processors: Improving Both Performance and Fault Tolerance, 9th International Conference on Architectural Support for Programming Languages and Operating Systems (2000). 22) Tsai, J-Y. and Yew, P-C.: The Superthreaded Architecture: Thread Pipelining for Run-time Data Dependence Checking and Control Speculation, 5th International Conference on Parallel Architecture and Compilation Techniques (1996).. Jan. 2004. 23) Transmeta Corporation: CrusoeT M Processor Model TM5800, Product Brief (2001). 24) Tremblay, M.: An Architecture for the New Millenium, Hot Chips 11 (1999). 25) Tullsen, D.M., Eggers, S.J. and Levy, H.M.: Simultaneous Multithreading: Maximizing OnChip Parallelism, 22nd International Symposium on Computer Architecture (1995). 26) 新井智久:オリジナル MIPS コアのアーキテク チャと次世代 GHz コア,NE Embedded Processor Simposium (2002). 27) 神代剛典,佐藤寿倫,有田五次郎:Contrail Processor Architecture, 第 5 回システム LSI ワーク ショップ (2001). 28) 神代剛典,佐藤寿倫,有田五次郎:値予測を用 いた命令流分割によるエネルギー消費量削減,情 報処理学会研究報告,2002-ARC-150-18 (2002). 29) 佐藤寿倫,有田五次郎:タグビット幅を考慮し たデータ値予測機構のハード ウエア量削減,信学 技報,CPSY2000-3 (2000). 30) 佐藤寿倫,有田五次郎:データ幅を考慮したデー タ値予測機構のハード ウエア量削減,並列処理シ ンポジウム,JSPP2000 (2000). 31) 佐藤寿倫,有田五次郎:頻繁な値の局所性を考 慮したデータ値予測機構のハード ウエア量削減, 信学技報,CPSY2000-62 (2000). 32) 佐藤寿倫,有田五次郎:0/1 の局所性を利用し たデータ値予測機構のハード ウエア量削減,情報 処理学会研究報告,2002-ARC-146-12 (2002). 33) 森安俊紀:ギガヘルツ級 SoC ソリューション実 現に向け,NE Embedded Processor Simposium (2002). 34) Manne, S., Klauser, A. and Grunwald, D., Pipeline Gating: Speculation Control for Energy Reduction, 25th International Symposium on Computer Architecture (1998). 35) 小林良太郎,小川行宏,岩田充晃,安藤秀樹, 島田俊夫:非数値計算応用向けスレッド・レベル 並列処理マルチプロセッサ・アーキテクチャSKY, 情報処理学会論文誌,Vol.42, No.2 (2001). (平成 15 年 5 月 9 日受付) (平成 15 年 8 月 23 日採録).

(11) Vol. 45. No. SIG 1(ACS 4). 低消費電力指向マルチスレッドプロセッサのための低コスト値予測機構の検討. 神代 剛典. 53. 佐藤 寿倫( 正会員). 平成 14 年九州工業大学情報工学. 平成元年京都大学工学部卒業.平. 部卒業.現在,同大学大学院情報工. 成 3 年同大学大学院工学研究科修士. 学研究科博士前期課程在学中.マイ. 課程修了.同年株式会社東芝入社.. クロプロセッサアーキテクチャに興. ULSI 研究所においてマルチプロセッ. 味を持つ.. サアーキテクチャ,および消費電力 見積り手法の研究に従事.平成 8 年より同社マイク ロエレクトロニクス技術研究所に所属し,組み込み用 マイクロプロセッサの開発に従事.現在,九州工業大 学情報工学部助教授.マイクロプロセッサアーキテク .平 チャ,VLSI 設計手法に興味を持つ.博士(工学) 成 11 年度情報処理学会論文賞,平成 15 年度山下記 念研究賞受賞.電子情報通信学会,ACM,IEEE 各 会員..

(12)

表 1 エネルギー消費量削減の効果 Table 1 Energy reduction.
図 3 従来のトレースレベル値予測器 Fig. 3 Conventional trace-level value predictor.
図 5 提案するデカップルトレースレベル値予測器 Fig. 5 Decoupled trace-level value predictor.
図 6 予測精度( %)
+2

参照

関連したドキュメント

実行時の安全を保証するための例外機構は一方で速度低下の原因となるため,部分冗長性除去(Par- tial Redundancy

BS/110度CS IF入力端子

"A matroid generalization of the stable matching polytope." International Conference on Integer Programming and Combinatorial Optimization (IPCO 2001). "An extension of

For a better understanding of the switching dynamics of the Fermi-acceleration oscillator, a parameter map for periodic motions and chaos should be developed from the

次世代電力NW への 転換 再エネの大量導入を支える 次世代電力NWの構築 発電コスト

議論を深めるための参 考値を踏まえて、参考 値を実現するための各 電源の課題が克服さ れた場合のシナリオ

3-dimensional loally symmetri ontat metri manifold is of onstant urvature +1. or

In the chamber filled with an ionized plasma that is given as a porous medium, the gaseous transport involves several phases: mobile gas phase streams, and both immobile and