新世代マイクロプロセッサアーキテクチャ(前編):1.アーキテクチャ基盤技術 3.クラスタ型プロセッサ
全文
(2) 特集 新世代マイクロプロセッサアーキテクチャ(前編). branch predictor. rename logic. issue queue. decoder. 1. D1 cache. rename map table. fetch unit. LSQ. REG. 2. L2 cache. 11 :スケジューラのクリティカルパス. 22 :リゾルトバイパスのクリティカルパス. 動作クロックを決定. 図-1 スーパースカラアーキテクチャ. ることを難しくしている.スーパースカラアーキテク. とえばリゾルトバイパスに 2 サイクルをかけるようなス. チャのこのような弱点を定量的に調査した研究として. ーパパイプライニングも同様な効果を持つが,たとえば,. Palacharla らの研究. 4). がある.彼らはリネームロジッ. 図 -3 のようなデータ依存関係を持つコードを実行する. ク,スケジューラ,リゾルトバイパスループの 3 カ所に. 場合,クラスタ型アーキテクチャであれは必要サイクル. 着目し,回路シミュレーションによってアーキテクチャ. 数を増やさずに高クロック化できる.. 構成とレイテンシの関係を調べた.その結果,これらの. このようなクラスタ型プロセッサのポテンシャルを引. ロジックのレイテンシに最も影響する要素は実行幅であ. き出すためには,命令実行クラスタの選択ロジックが重. り,実行幅が増えるとその約 2 乗のオーダでレイテンシ. 要となる.図 -2 の例では,ディスパッチの直前に“ス. が増加することが分かった.彼らはこの影響はプロセス. テアリング”ステージが挿入され,ここで実行クラスタ. が微細化するほど増大し,リゾルトバイパスループ,ス. が決定される.. ケジューラの順に深刻となると示している. スーパースカラアーキテクチャのこの弱点の克服を狙 った,“スケーラブルな命令レベル並列実行プロセッサ”. クラスタ型プロセッサの仕組み. は 90 年代後半からホットな研究テーマとなった.さま ざまなモデルやアイディアが研究され, “クラスタ型ア. クラスタ型プロセッサでは,クリティカルな処理を小. ーキテクチャ”はその中の有力なモデルとして認識さ. 規模なクラスタへと分散局所化し,動作周波数を高速化. れている.典型的なクラスタ型アーキテクチャの例を. する.一方で各クラスタに分散された処理は同期して動. 図 -2 に示す.. 作するため,全体としては 1 つのプロセッサとして振る. クラスタ型プロセッサでは,広い実行幅を持つコアが. 舞い,従来の RISC アーキテクチャとバイナリ互換性を. “クラスタ”と呼ばれる小さな実行コアへと分割される.. 持たせることができる.以下ではクラスタ型プロセッサ. スーパースカラアーキテクチャでタイミングクリティカ. がどのようにこのような動作を実現しているか,設計時. ルパスとなるスケジューリング(図 -1 と図 -2 の白ヌキ. の注意点はどこかを解説する.. 数字 1)やリゾルトバイパス(図 -1 と図 -2 の白ヌキ数. 前述の Palacharla らの評価から導かれるクラスタ型. 字 2)が分割され,プロセッサ全体の実行幅にかかわら. プロセッサの設計には,データパス部分のみをクラスタ. ずに高クロック動作が可能となる.信号が 1 サイクルで. 化する場合と,スケジューラとデータパス双方をクラ. 伝わる範囲はクラスタ内に限定されるため,依存のある. スタ化する場合の 2 通りの設計が考えられる.ここでは,. 命令が異なるクラスタに割り当てられた場合には連続実. よりポテンシャルの高い方式として,図 -2 に示すよう. 行はできず,クラスタ間通信遅延サイクルをはさんで実. な,スケジューラとデータパス双方がクラスタ化される. 行されることになる.クロック高速化という面では,た. 方式について述べる.. 1112. 46 巻 10 号 情報処理 2005 年 10 月.
(3) 1. アーキテクチャ基盤技術 3. クラスタ型プロセッサ. cluster. rename logic decoder. 1 steering logic. branch predictor. LSQ. 2 REG. is s ue queue. rename map table. fetch unit. REG. is s ue queue. D1 cache REG. is s ue queue. L2 cache. 1 :スケジューラのクリティカルパス. 動作クロックを決定. 2 :リゾルトバイパスのクリティカルパス 図-2 クラスタ型アーキテクチャ. centralized. dataflow a:1 b:a+1. a c:>>a. b. d:>>b e:d+2 f:e-c. clustered. c. b d e. 2. d. 3. e. 4. f. 5. time. a. 1. f. 1 2. comm. c comm. 3 4 5. time. 図-3 集中型プロセッサとクラスタ型プロセッサ:パイプラインの様子. ■フロントエンド. のクラスタで処理するかが決定されていなければならな. フェッチ,デコード,リネームといったフロントエン. い.クラスタ型プロセッサでは,命令を処理するクラス. ド処理は一般にボトルネックとなりにくく,クラスタ型. タを決定する処理について,しばしば“ステアリング”. プロセッサでもこの部分は従来の集中型スーパースカラ. という呼び方が用いられる.命令はステアされたクラス. と変わる部分はない.しかし,次の処理であるスケジュ. タの中でのみ処理され,他のクラスタのリソースを用い. ーリングを行うユニットは各クラスタに分割されている. ることはない.. ため,フロントエンド処理が終わる前に,その命令をど IPSJ Magazine Vol.46 No.10 Oct. 2005. 1113.
(4) 特集 新世代マイクロプロセッサアーキテクチャ(前編). inst inst inst. 4. 4. inst inst. 2 steering logic. inst. 3. inst inst inst. 1. 2. 3. is s ue queue is s ue queue is s ue queue. REG LSQ REG. D1 cache REG. ブロックごとにラウンドロビンにクラスタを割り当て. inst inst inst. 1 n 命令ごとにブロック化. 図-4 modNステアリング. に割り当てられるため,依存のある命令を同じクラスタ ■ステアリング. に割り当てる効果も期待される.後述するような,より. ステアリングは,命令をクラスタ間に最適に分配する. 高性能なステアリング方式に比べると性能は落ちるが,. ことが役割であり,これはクラスタ型プロセッサの性能. 単純なハードウェアで実現することができる.. ポテンシャルに大きく影響する.クラスタ型プロセッサ は高い動作周波数を得る代わりに,以下で述べるような,. ■スケジューラ. 集中型プロセッサに比べて 1 クロックあたりの実行命令. ステアリングロジックで割り当てクラスタが決定され. 数を減少させる要因を抱えている.ステアリングロジッ. た後,命令はそれぞれのクラスタのスケジューラへとデ. クは,このような性能低下を最小限に抑えるために,各. ィスパッチされる.このため,各クラスタのスケジュー. 命令ごとに最も適したクラスタを予測して割り当てる.. ラは別々の命令を処理することになる.4 クラスタ構成. 性能低下の一番の要因はデータ依存が複数クラスタに. で,各クラスタが 16 エントリのスケジューラを持つ場. またがる場合,クラスタ間通信遅延が挿入され依存のあ. 合には,プロセッサとしてのスケジューラウィンドウは. る命令が連続実行できなくなることである.これを回避. 64 エントリとなる.スケジューラが発行キュー方式の. するためには命令間の依存関係に着目してステアリング. 場合,動作は以下のようになる.まず,ディスパッチさ. を行う必要がある.2 番目の要因として,クラスタごと. れてきた命令は,オペランドとなるレジスタが使用可能. に演算器資源が限られているために,実行幅の融通が利. かを調べ,発行キューの該当エントリの readybit(LR). かないことが挙げられる.このため,片方のクラスタで. を 初 期 化 す る. 両 方 の readybit が 1 と な っ た 命 令 は. は実行可能な命令がなく演算器が遊んでいるのに,もう. wakeup 状態となり,毎サイクルその中の 1 つが select. 片方のクラスタでは大量の実行可能命令が演算器の空き. され発行される(図 -2 の例では各クラスタの実行幅が. を待っているといった状態が起こり得る.これを低減す. 1 命令のため).発行された命令のデスティネーション. るためにはクラスタ間の負荷バランスに着目する必要が. レジスタ番号は発行キューの全エントリにブロードキャ. ある.依存と負荷バランスに着目し多くのステアリング. ストされ,readybit が更新される.. ロジックが研究されている. 2) ,5) ,6). .. 簡単なステアリングロジックの例として,modN アル ゴリズム. 1). が挙げられる(図 -4) .このロジックでは,. クラスタ化により発行キューのエントリ数は短くなる が,クラスタ間に依存がまたがる可能性があるため,デ スティネーションレジスタのブロードキャストはすべて. 連続した N 個の命令を同じクラスタへ割り当て,次の. の発行キューに対して行わなければならない.このため,. N 個の命令を隣のクラスタへ割り当てる.N 命令ずつが. 図 -5 のように 1 サイクルで反映されるクラスタ内ロー. ラウンドロビンに割り当てられるため,負荷の集中が起. カルのブロードキャストと,通信遅延分遅れて到着する. こりにくい.一方,隣り合った N 命令は同じクラスタ. 他クラスタからのブロードキャストが,readybit を更新. 1114. 46 巻 10 号 情報処理 2005 年 10 月.
(5) 1. アーキテクチャ基盤技術 3. クラスタ型プロセッサ. issue queue. ====. Rdy L. IQ entry. operand R. ====. Rdy R issue. issued instruction. REG request. issued instruction. to other clusters. priority logic. destination operand L. from other clusters. 図-5 クラスタ化されたスケジューラ. cluster 1. cycle1. issue. cluster 2. cycle2 REG issue comm delay. cycle3. cycle4. EXE. MEM. synchronize. data comm delay. issue. REG. cycle5. EXE. cycle6. MEM. 図-6 発行キュー方式のパイプライン. することになる.なお,発行キュー方式の場合,オペラ. る).それぞれの物理レジスタファイルのエントリ数を. ンドフェッチのタイミングをスケジューラが管理しなけ. 減らす効果はないが,読み出しポート数を減らすことが. ればならない.この例であれば,デスティネーションレ. できる.命令の演算結果はクラスタ内の物理レジスタを. ジスタのブロードキャストのクラスタ間通信遅延と,リ. 更新すると同時に,他のすべてのクラスタへブロードキ. ゾルトバイパスループのクラスタ間通信遅延を同期させ. ャストされる.スケジューラ同様,図 -7 のように 1 サ. なければならない(図 -6).クラスタ間通信遅延が可変. イクルで反映されるクラスタ内のブロードキャストと,. となるようなトポロジを採用する場合には注意する必要. 通信遅延分遅れて到着する他クラスタからのブロードキ. がある.. ャストが,リゾルトバイパスループ上を流れることに なる.. ■データパス 発行された命令は同じクラスタの演算器で実行される. 各クラスタに物理レジスタファイルが備わっており,ク. クラスタ型プロセッサ最適化技術. ラスタ内で処理されるデータが読み書きされる.レジス タファイルの実装方法は設計に大きく影響するが,ここ. クリティカルな処理をクラスタに局所化して高速化す. では一番簡単な複製レジスタ方式を例とする.. るクラスタ型プロセッサでは,集中型スーパースカラと. 複製レジスタ方式の場合,各クラスタの物理レジスタ. 共通の最適化アプローチに加えて,クラスタ型プロセッ. ファイルは同じ内容を持つ(通信遅延分のズレは生じ. サ特有の最適化が有効となる.以下ではそのようなクラ IPSJ Magazine Vol.46 No.10 Oct. 2005. 1115.
(6) 特集 新世代マイクロプロセッサアーキテクチャ(前編) スタ型プロセッサ最適化技術について解 説する. ■ステアリング技術. bypass to other clusters. w. r. bypass from other clusters. r REG w. w. w. result bypass. プログラム特性やプロセッサステート に合わせ,実行に最適なクラスタを動的 に決定するステアリングロジックは,ク ラスタ型コアの有効性を高めるための鍵. local bypass. となる.一度クラスタに割り当てられた 命令は,そのクラスタから移動すること ができないためである.質の良いステア. 図-7 クラスタ化されたデータパス. リングは,クリティカルパスにクラスタ 間通信遅延が挿入されないようにしつつ, プログラムの持つ命令レベル並列性に合わせて処理を各 クラスタに分散させる(図 -3) .. れる親命令に注目する.なお,複製レジスタを採用して. データフローグラフを見渡して実行クラスタを決定す. いる場合はまだ発行されていない親命令にのみ注目する. ればステアリングの質を向上させることができるが,フ. (通信遅延のラグがあるものの,どのクラスタも同じレ. ロントエンドで動的に行われるステアリングでは,限ら. ジスタを持つため).. れた時間と情報しか利用できない.このため,1 命令ご. wakeup 遅延のみに注目すると,命令が 1 つのクラス. とに順番に最適なクラスタを予測する, “一手読み”の. タに集中してしまい,今度は select 遅延が増加する.質. ステアリング手法が多く研究されている.. の良いステアリングとして提案されているロジックの多. “一手読み”のステアリングでは,ステアしようとし. くでは,通常は依存関係に基づいてクラスタを決定し,. ている命令について, “発行遅延 '' が最小となるクラス. 負荷の偏りが大きくなってくると負荷バランスを戻すよ. タを予測し命令処理クラスタとして選択する.ここで. うに最小負荷クラスタを選択する.このような方式とし. “発行遅延”とは,実行幅無限大の集中型プロセッサで. て,クリティカルパス予測を用いてスラック命令を事前. あれば発行されていたサイクルから何サイクル遅れて発. に最小負荷クラスタに割り当てる Criticalpath Focused. 行されるかで,クラスタ化によるオーバヘッドの大き. 方式,最大負荷クラスタと最小負荷クラスタの差を閾値. さを表す.発行遅延の生じる要因には, “wakeup 遅延”. とする NREADY 方式 ,親命令との間に挿入されてい. と“select 遅延”がある.wakeup 遅延は,すべての親. る命令数を閾値とする Local Distance 方式. 命令が発行されてから,この命令が wakeup するまで. れる.. 5). 6). が挙げら. のサイクル数であり,依存関係がクラスタをまたいだと きに増加する.select 遅延は,この命令が wakeup して. ■分散レジスタファイル. から発行されるまでのサイクル数であり,特定クラスタ. 各クラスタがすべての物理レジスタを複製して持つ方. に負荷が集中すると増加する.. 式には,クラスタ内のレジスタファイルが大きくなる問. 発行遅延は wakeup 遅延と select 遅延の和として考. 題がある.さらに,複製方式の場合にはすべての演算結. えられ,ステアリングの質を高めるためにはこの双方を. 果を他のクラスタにブロードキャストしなければならず,. 減らすようにしなければならない.クラスタ間通信の影. 各ユニットのポート数やクラスタ間ネットワークの帯域. 響が大きい場合には wakeup 遅延の重要性が強くなり,. などを圧迫する.実際には不必要な値が多く転送される. 各クラスタの実行幅が小さい場合には select 遅延の重み. ため,省電力の観点からも最適化の余地がある.. が増す.. 各クラスタが別々の物理レジスタを保持する方式は,. wakeup 遅延を減らすためには,依存関係に注目して. ステアリングと並んでクラスタ型プロセッサ要素技術の. ステアリングを行う.この場合,オペランドを生成する. 大きなテーマである.別々の値を各クラスタで管理する. 命令が割り当てられているクラスタを選択することが基. ことにより,クラスタあたりの物理レジスタエントリ数. 本となる.一般にオペランドは複数存在し,メモリ依存. を減らす効果,不要な値転送を削除することにより各ユ. 予測結果などもオペランドの 1 つとして扱うことができ. ニットのポート数を削減する効果が期待できる.. るため,親命令が複数のクラスタに分散している場合も. 典型的な分散レジスタ方式では,物理レジスタはクラ. あり得る.この場合は,最も最後に発行されると予測さ. スタの数と同じだけのバンクに分割され,各クラスタに. 1116. 46 巻 10 号 情報処理 2005 年 10 月.
(7) 1. アーキテクチャ基盤技術 3. クラスタ型プロセッサ 2). 1 バンクずつが割り当てられる .命令へのデスティネ. することにより,十分な精度が動的に得られている.動. ーションレジスタ割り当ては,ステアリングロジックに. 的なステアリングは,異なるコア間,チップ間でのマイ. より割り当てクラスタが決定した後,そのクラスタに所. グレーションを容易にする.. 属するバンクから空きレジスタを 1 つ選択して行う.ク. 最近では,クラスタ型プロセッサにおける Simultane-. ラスタ間のレジスタ値転送が必要な場合には,copy 命. ous multithreading(SMT,Pentium 4 における Hyper-. 令という専用命令を動的に生成し,クラスタへディスパ. Threading)実行の最適化の研究も行われている.クラ. ッチする.このようにすることで,通常の命令はクラス. スタ型プロセッサであれば,マルチコアプロセッサより. タ内のレジスタのみをアクセスするように制限すること. も柔軟に実行幅を活用でき,集中型プロセッサにおけ. ができる.また copy 命令のスケジューリングを工夫す. る SMT よりも高クロックに実行を進めることができる.. ることで,レジスタのポート数やクラスタ間ネットワー. さらに,わずかな変更を加えることにより,同時に走る. クの帯域を制限することができるようになる.. スレッド同士に優先度をつけて実行することができる. また,本稿では詳しく述べなかったが,局所化された. ■ポストコミット・ステアリング. クラスタの集合と制御ロジックというプロセッサ構成は,. 一般に,分散レジスタ方式を採用すると,ステアリン. スケーラブルな実行幅だけでなく,電力,熱などを抑え. グロジックがさらに複雑となり,ステアリングロジック. るための動的最適化を可能とする.クラスタ単位の動的. を含んだフロントエンド処理レイテンシを増大させる.. なクロックゲーティングや,ホットスポットを分散させ. フロントエンド処理レイテンシの増加は分岐予測ミスの. るためのステアリング,クリティカルでない命令を動か. ペナルティを増大させるため,積極的な分散レジスタ方. すためのコールドクラスタなど,最適化技術は数多い.. 式とステアリングの質との両立には限界がある.この問. チップはより大規模になり続けており,商用のマルチ. 題に対して,実行後にステアリングを行い,次回実行時. コアプロセッサがさまざまに発表されている.並列化コ. に用いられるべきクラスタをトレースキャッシュ上に記. ンパイラに期待して多数のコアを持つもの,最適化コン. 憶しておく,ポストコミット・ステアリングという方式. パイラに期待して小規模のスーパースカラと大規模のベ. も検討されている.この方式では,ステアリングロジッ. クトルユニットを持つものなど,戦略はさまざまである. クはクリティカルパス上から取り除かれるために,さま. が,コアアーキテクチャ自体には大きな変化はない.ス. ざまなロジックを適用して質を高めることができる.. ケーラブルかつアダプティブという利点を持つクラスタ 型プロセッサ関連技術は,さまざまな規模のチップに影 響していくと考えられる.. クラスタ型プロセッサのこれから 以上見てきたように,クラスタ型プロセッサは,プロ セッサの実行幅をスケーラブルにするアプローチである. 高速に動作する複数のクラスタが協調動作し,1 つのプ 3). ロセッサとして振る舞う.その規模は,Alpha21264 のような 2 クラスタ構成から,数十クラスタ. ☆2. までと. 幅広い.クラスタ型プロセッサの最適化に関する技術を 見渡すと,並列実行の本質とも言える“局所化と分散” にピュアに迫っており興味深い. クラスタ型プロセッサのポテンシャルはさまざまな研 究によって示され,マイクロアーキテクチャの検討が重 ねられている.たとえば,“局所化と分散”の最適化と. 参考文献 1)Baniasadi, A. and Moshovos, A.: Instruction Distribution Heuristics for Quad-Cluster Dynamically-Scheduled, Superscalar Processors, 33rd Int.Symp. on Microarchitecture, pp.337-347 (2000). 2)Brown, M. D. and Patt, Y. N.: Demand-Only Broadcast: Reducing Register File and Bypass Power in Clustered Execution Cores. HPS Techinical Report, pp.TR-HPS-2004-001 (2004). 3)Kessler, R.: The Alpha 21264 Microprocessor, IEEE Micro, Vol.19, No.2, pp.24-36 (1999). 4)Palacharla, S., Jouppi, N. P. and Smith, J. E.: Complexity-Effective Superscalar Processors, 24th Int.Symp.on Computer Architecture, pp.1-13 (1997). 5)Parcerisa, J. M. and Gonzalez, A.: Reducing Wire Delay Penalty through Value Prediction, 33rd Int.Symp.on Microarchitecture, pp.317-326 (2000). 6)服部直也 , 高田正法 , 岡部 淳 , 入江英嗣 , 坂井修一 , 田中英彦 : 発行 時間差に基づいた命令ステアリング方式 , 情報処理学会論文誌コンピ ューティングシステム (ACS-7), pp.80-93 (2004). (平成 17 年 8 月 10 日受付). いう複雑な制御は,“一手読み”のステアリングで近似. ☆2. この規模となると,クラスタ内と外という最適化では不十分で, それぞれのクラスタの距離関係も重要となり,タイル状になら んだクラスタに,データフローグラフがマッピングされるよう な実行モデルとなる.このような超スケーラブルプロセッサは “タイルプロセッサ” として 1 つの分野となっており,本特集で も別章が立てられている.. IPSJ Magazine Vol.46 No.10 Oct. 2005. 1117.
(8)
関連したドキュメント
[3] Chari, Vyjayanthi, On the fermionic formula and the Kirillov-Reshetikhin conjecture, Int. and Yamada, Y., Remarks on fermionic formula, Contemp. and Tsuboi, Z., Paths, crystals
The dynamic nature of our drawing algorithm relies on the fact that at any time, a free port on any vertex may safely be connected to a free port of any other vertex without
(4S) Package ID Vendor ID and packing list number (K) Transit ID Customer's purchase order number (P) Customer Prod ID Customer Part Number. (1P)
島根県農業技術センター 技術普及部 農産技術普及グループ 島根県農業技術センター 技術普及部 野菜技術普及グループ 島根県農業技術センター 技術普及部
図表 3 次世代型企業の育成 項 目 目 標 ニッチトップ企業の倍増 ニッチトップ企業の倍増(40 社→80 社). 新規上場企業数の倍増
* 一般社団法人新エネルギー導入促進協議会が公募した平成 26
※1 一般社団法人新エネルギー導入促進協議会が公募した平成 26
基盤C 基金 新規 井上 由起子 900,000. 基金 新規