VLDP3 アーキテクチャの構想 (3) 〜レジスタフォワーディング機構の初期検討〜
田中 裕治 †
入江 英嗣 †

1.

山口 健輔 †
飯塚 大介 †

はじめに

1.1 研究の背景
将来の豊富なデバイス技術を仮定したプロセッサ研究として、大規模並列実行に適した VLDP[1] アーキテクチャが提案されている。しかしデータ通信量の増加に伴いレジスタやメモリとの通信オーバーヘッドが増加し、クリティカルパスになることが指摘されていた。大規模化に際しては、効率的なデータ通信を行うためのアーキテクチャを考える必要がある。
1.2 研究の目的
本稿では、VLDP3 アーキテクチャ[2][3] の実行機構に着目し、データ通信に関する特徴を述べる。また、実行機構に ALU-Net を用いることによるデータ通信レイテンシの軽減手法の一つとして、VLDP3 に適したレジスタフォワーディングの可能性を述べる。

2.

VLDP3 データ通信の概要

本稿では生産者側から消費者側へデータを供給することをデータ通信と呼ぶ。VLDP3 では、命令列を IB という単位に静的にクラスタリングすることで、IB の中と外とでデータ通信を分離、階層化する。ここでは、データ通信をレジスタ通信とメモリ通信に分類する。さらにレジスタ通信を IB 内通信と IB 間通信に分類し、その意義を考える。

2.1 IB 内・IB 間レジスタ通信
レジスタ通信のうち、IB 内でレジスタ値の真の依存関係が存在し、IB 内でレジスタ値の受け渡しが必要な通信のことを IB 内レジスタ通信と定義する。
IB 内のレジスタ通信経路を静的に決定する一方で、IBを跨いだレジスタ通信経路は動的に構築する。複数の IB 間でデータの真の依存関係が存在し、レジスタ値の受け渡しが必要な通信のことを IB 間レジスタ通信と定義する。
2.2 レジスタ通信分離の意義
命令を IB という単位でクラスタリングすると、IB を境界としてデータ通信に偏在性があると予想される。この偏在性に着目し、データ通信を効率化する可能性が考えられる。

3.

ALU-Net におけるデータ通信の概要

3.1 ALU-Net の構成
VLDP3 で提案する実行機構は、複数の ALU を規則的に並べ、各 ALU 間を単純な配線 (Local Wire) で結合した
ALU-Net 構造である (図 1)。デコードされた命令列は IB 単
位で ALU-Net へ Assign される。命令は各 Node で演算処理を行い、IB 内レジスタ依存のある演算結果を Local Wireを用いて次の Node へ受け渡す。Local Wire は Node 間を接続するだけで、外部の記憶領域 (レジスタ、メモリ) とは通信を行わない。演算結果はデータフロー的に各 Node 間を移動し、IB の完了を待ってレジスタへ書き出される。
外部記憶領域との通信が必要な IB 間レジスタ通信はGlobal Wire と呼ばれる配線を用いて行う。Global Wire
† 東京大学‡ （株）日立製作所

谷地田 瞬 †‡
坂井 修一 †

服部 直也 †
田中 英彦 †

は Local Wire とは別のネットワークを構成する。つまり、
ALU-Net 上を流れるデータ・パスを Local Wire に閉じ込
め、レジスタ・アクセスやメモリ・アクセスなど ALU-Net
外との通信が必要なデータ・パスを Global Wire に分離する。こうすることで、データ・ネットワークを階層化し、効率的なデータアクセスを実現する。
Data from Reg.

Register Unit
Global Wire
fromMem.

Memory Unit

ALU-NetGlobal Wire
Local Wire

図 1: ALU-Net と Wire の構成

3.2 ALU-Net 内と外とのデータの流れ
ALU-Net 内と外部でのデータの性質の違いに着目し、Local/Global Wire の使用方法を以下に述べる。
3.2.1

Local Wire を用いた通信

IB 内に真のデータ依存が存在する命令は、Local Wire を使って命令の演算結果を各 Node へ高速に転送する。外部の Wire を経由せず隣接 Node へデータを直接送信するた
め、Global Wire を経由した通信に比べて低レイテンシで実現できると考える。特に IB 内レジスタ通信は IB にフォワーディング経路を静的に付加するため、Local 転送のロジックを単純化できる利点がある。
3.2.2

Global Wire を用いた通信

IB 間にデータの依存関係が存在する場合、ALU-Net とレジスタまたはメモリとの間でデータ通信が発生する。IB 間
データ通信時には、ALU-Net と外部の記憶領域を接続した
Global Wire を経由してレジスタまたはメモリからデータを読み出し、ALU-Net がデータを受け取る。Local Wire と比較した場合、Global Wire には以下のような違いがある。
• 通信距離が長く、アクセスレイテンシが増大する• IB を跨いだデータの通信経路を動的に決定するため、アクセスレイテンシが増大する
これら 2 つの要因により、IB 間で真の依存がある後続命令の発火タイミングが遅れてしまう。
このように、IB 内のデータ通信が高速に実行できる半面、VLDP3 では IB を跨いだデータ通信がボトルネックになることが予想される。次の節では、IB 中に含まれるデータ通信に着目し、特にレジスタ通信についてその傾向分析を行う。

4.

レジスタ通信の傾向分析

4.1 評価環境
profile を使って compile した SPECint95 の各 binary にtest の入力を使い、トレースベースのシミュレータで測定した。IB は 4Basic Block で構成されており、1Basic Blockは最大 8 命令で構成されるものを使用した [1]。

4.2 レジスタ通信の平均回数
まず実行機構の通信量を知るため、1IB あたりに発生したレジスタ依存の平均回数を調べる。図 2 は、IB あたりに発生した通信の頻度を IB 内と IB 間に分けて示した図である。













































ジスタ依存 (以下、隣接 IB 間レジスタ依存) が 18%と多く、局所性があることを示している。よって隣接 IB 間の通信を高速化することが、データ通信レイテンシの削減のために有効であることがわかる。

4.4 フォワーディング機構の検討
これまでの結果から、データ通信レイテンシの削減のためには、IB 間レジスタ依存に着目すべきであることがわかった。特に隣接 IB 間レジスタ依存の割合が多く、隣接IB の通信を高速化することがより有効であると予想される。
よって今後は、Global Wire に比べて低レイテンシで通信が可能な経路を作り、見かけ上レジスタとの通信を高速化する機構を検討していく。一つの方法として、レジスタを介さず ALU-Net 間で高速にデータを受け渡しする “VLDP3に適したレジスタフォワーディング機構”(以降、Direct Forwarding) を考える。
Direct ForwardingWire

図 2: IB あたりの平均通信回数

Local Wire

IB あたりの平均通信回数は、平均すると IB 内レジスタ通信の割合が最も多い。外部記憶との通信量を減らすことで、データ通信レイテンシの削減を実現できると考える。
一方で、IB 内通信と比べて IB 間通信も 6 割程度の頻度で発生するため、IB 間通信レイテンシの削減を検討していくことも必要となってくる。
4.3 レジスタ通信と距離の関係
前節で述べたように、ALU-Net では、Global Wire を経由する IB 間レジスタ通信がネックになることが予想される。ここでは予備評価としてレジスタ通信の依存距離と発生頻度の関係を測定し、今後着目すべき依存距離の特定を行う。依存距離とは、レジスタ依存のある命令が属する
IB ID(IB に動的に付加された識別番号) 同士を比較したときの差で定義される。すなわち依存距離 = consumerIB ID − producerIB IDである。consumerIB ID はレジスタ read 命令を含む IB に付けられた動的な ID、producerIB ID はレジスタ write 命令を含む IB の動的 ID である。結果を図 3 に示す。



Global WireALU-Net

図 4: データ通信に必要な Wire の分類
図 4 は、ALU-Net とその外部記憶を接続する Wire の分類を示したものである。新たに加わった Direct Forwarding
Wire は、特定の ALU 同士を接続する Wire である。隣接ALU を接続する Local Wire よりも長く、外部記憶を接続する Global Wire よりも短い。この Wire を用いて DirectForwarding を行い、依存のある後続 IB にデータを低レイテンシで送信する。本来は Global Wire が必要なデータ通信を ALU-Net 内の通信に閉じ込められるので、通信経路を短縮でき、高速な通信が可能になるという利点がある。
ただし、全ての IB 間データ通信を Direct Forwarding で行おうとすると、フォワーディング機構の複雑化を招く。
その結果、Global Wire に対する利点 (低レイテンシによる通信) がなくなるので、必要最低限の通信をターゲットにすることが求められる。Direct Forwarding を確定するタイミングの検討、データ通信を管理する機構の提案、そして通信レイテンシの評価などが今後の研究課題である。

5.

    

図 3: 依存距離と頻度の関係
これによると、IB 内レジスタ依存が 60%以上存在し、通信の大部分を占めることがわかる。IB 内レジスタ依存はLocal Wire を使った隣接 Node 間の高速データ通信が可能なので、この依存の占める割合が大きいことは、ALU-Netでデータを階層化して局所性を抽出することの利点を示していると言える。
一方で IB 間の通信は Global Wire を経由するため、レイテンシを増加させる原因となる。特に、IB 間距離 1 のレ

Register/MemoryUnit

おわりに

本稿では、VLDP3 のデータ通信を分類し、ALU-Net に必要な各種 Wire の説明とその利用方法を述べた。データ通信の一つであるレジスタ通信の傾向分析を行い、レジスタ通信は IB 内に偏在することを示した。また隣接 IB 間のレジスタ依存が多いことに着目し、Direct Forwarding 機構の必要性を検討した。今後は、Direct Forwarding の機構を具体化していくと共に、詳細な評価を行っていく予定
である。

参考文献

[1] 辻秀典: 大規模データパス・プロセッサの提案, 2000-ARC-139,Vol. 2000, No. 74. pp. 55-60[2] 入江英嗣: VLDP3 アーキテクチャの構想 (1)〜プロセッサ構成〜, FIT2002(2002)[3] 服部直也 : VLDP3 アーキテクチャの構想 (2)〜ソフトウェア支援〜, FIT2002(2002)