1Q{07中村 友洋,1

VlDp アーキテクチャの性能に関する初期的考察
吉瀬 謙二,

辻 秀典, 安島雄一郎,
高峰信,
東京大学大学院工学系研究科

次々世代のマイクロプロセッサ・アーキテクチャとして大規模データパス (VlDp :Very Large Data Path) アー
キテクチャ[1] を提案している。本稿では、VlDp アー
キテクチャの実現のために必要な技術及び、今後のデバイス技術等の動向を検討し、VlDp アーキテクチャの性能予測について定量的・定性的に述べる。
VlDp アーキテクチャ

VlDp アーキテクチャでは、本質的な演算部分を高速化することを第一の目的としている。そのために、演算処理部分である ALU を多数用意し、これを有効に活用するための機構をもたせるアプローチをとっている。つまり、多数の ALU を相互に接続 (Alu-Net ) し、そこにデータパスを構築する実行方式である。これによって、プログラムの本質であるデータフローを Alu-Net 上にマップすることができ、オーバーヘッドの少ない処理が可能となる。Alu-Net を使って効率的に処理を行なうために、VlDp アーキテクチャは図 1のブロック図で示されるような構造としている。コントロールフロー先Oª¶öËð8îØð8!È£$»º èl0ÈÔ¼àªl0OªÈÔ¼àªl0Ê8Â

º¼Éã

Ê8Â

キャッシュの利用が有効であると考えられる。しかし、21 世紀の大規模化の規模を考えれば、よりアグレッシブな方式の検討が必要である。その 1 つの方式が命令ストリーミングである。命令ストリーミングとは、プロファイル情報などを利用して、複数のベーシックブロックにまたがる命令を 1 つのストリームにまとめることである。この際に、投機的な複数パスのストリーム化や、コンパイラによるストリーム情報の付加なども考えられる。命令ストリーミングにより 1 命令ごとのフェッチに比べてフェッチ回数が数十分の一 [4] になる効果が確認されている。命令ストリームングに関する詳細は、次の発表「命令ストリーミング : 複数パスの投機処理に適した命令列構成方式」で述べる。
3.2コント ロールフロー先行展開
コントロールフロー先行展開は、VlDp アーキテクチャにおけるフェッチ機構である。VlDp アーキテクチャでは、大規模なデータパス部分を使って命令実行を行なうため、命令の完了を待たずに投機的に命令フェッチをきるが、データパス部分の大規模化にともなって分岐予õéÊ8Â
BufferRegister
ALU-Net

しも性能向上が得られるとは限らない。そこでトレース

Single Path の投機フェッチによって実現することもでäåíÊ8Âàªl0

アラインメントによる影響などがより顕著になり、必ずする必要がある。これは従来の分岐予測機構を使ったõéOªBufferOªÊ8ÂÔ¼!È£$»º èl0

田中 英彦

サイズを大きくするなどの方法も考えられるが、ミスはじめに筆者らは、21 世紀における大規模な VLSI を想定した

2

坂井修一,

測性能の影響を大きく受け、大規模化には向かない。同様に図 2に示すすべてのパスをフェッチする Eager Fetch
方式も大規模化にともない不要な命令フェッチが爆発的Ê8Â

図 1: VLDP アーキテクチャ・ブロック図に増加するため、コントロールフロー先行展開では、選択的な命令フェッチを行なう。フェッチパスの選択には文行展開で制御依存関係が解消された状態のデータパスをØªÆÄ»ºOªØªÆÄÒ

多数用意し、データパス先行展開で各パスごとにデータ依存関係に基づいてデータパスを作り、その Alu-Net上へのマッピングを行なう。
33.1

問題点の考察・性能予測
メモリからの命令供給

Single Path¶öËð8îØð8!È£$Eager Fetch
図 2: 命令の先行展開方式

多数の ALU を有効に活用するには、多数の命令を供給

献 [3] で提案した multi BTAC と更新型 BHT の 2 つのしなければならない。そのため従来のような 1 命令ご分岐予測機構を設け、各コントロールフローごとに実行とにフェッチをする方式では、命令供給能力が不足する予測確率情報を管理する [4] ことで効率的な命令フェッチ可能性が高い。この解決には、単純にキャッシュライン
Preliminary Studies of Very Large Data Path Architecture's
Performance

Tomohiro NAKAMURA, Kenji KISE, Hidenori TSUJI,
Yuichiro AJIMA, Makoto TAKAMINE, Shuichi SAKAI,
Hidehiko TANAKA,
Graduate School of Engineering, University of Tokyoを実現する。図 3はコントロールフロー先行展開によって選択的にフェッチが行なわれたことを示すデータである。棒グラフ全体はすべてのパスをフェッチした場合であり、黒い部分が実行すべき命令数である。コントロー
ルフロー先行展開では黒と白の部分の合計だけの命令フェッチに押えられている。その一方でフェッチされた命令列中の利用可能な並列度は図 4に示すように、理想転送は集中型のレジスタ管理などをせずに各 ALU 間で的な (分岐予測 100 ％) 場合に近く得られており、動的行なわれる。このようなローカルなデータ転送を Alu-な分岐予測による単一パスの投機フェッチに比べて大きNet 内で吸収できる割合は図 5に示すように、大規模化く向上している。つまり極力不要な命令をフェッチせずにともなって上がり、外部メモリとのデータ転送量増大に高い並列度を得ることが可能となっている。

を押えている。詳細は、後の発表「 Alu-Net : VlDpb~|O"ÐnI<n¸¾¼Éw¼Ëº¿アーキテクチャにおける命令実行機構」で述べる。
211&



externalTwUÎwÊVÂ!Ê|b~|nc




91&
71&

internal
51&31&





1&ºº

ºÆÄÇÉ¼ÊÊ¾Æ
p®¦¨k¤

ÃÀ

Ç¼ÉÃ4
Ðo

Tct

2

345

àÁ¦Â»ºyªN678

図 5: ローカルなデータ・アクセス

図 3: 選択的投機フェッチ

É

1±ût

まとめ・全体性能予測SIA のロード マップ [2] による 2001 年頃におけるデバ

イス技術予測などによれば、メモリからの命令転送能力

を 1024bit 幅で 1.5GHz 動作と仮定して、最大 8 分岐命

令をまたげるコントロールフロー先行展開の fetch 能力
を SPEC95int の各プログラムに対してシミュレーショ

ンした結果、14.3〜45.9 G 命令/s のフェッチ能力が確ºººÆÄÇÉ¼ÊÊ

¾Æp®¦¨k¤ÃÀÇ¼ÉÃ

認できた。また図 4からこのとき最大平均並列度は 7〜11 にもなるので、実行部の動作周波数 2〜4GHz 程度ま

図 4: 利用可能な並列度
データパス先行展開
データパス先行展開は、データ依存解析を行ない、デーでは命令フェッチ能力が足りることが分かる。また図 3

タ依存関係に基づいて Alu-Net 上に命令を割り付ける要である。LOAD/STORE 命令の実行頻度が 20 ％程

3.3から Alu-Net の規模は 200ALUs(10 × 20) 程度が必機構である。データ依存解析については既存のスーパー度であり、図 5から、その 60 ％程度が Alu-Net 上のスカラプロセッサなどでも行なわれているが、そのまま データ転送で吸収されるので、Alu-Net ・メモリ間のの方式で大規模化を行なうことは命令ウィンド ウの拡大 データ転送は 1 サイクル当たり 1〜2 命令のロード命令と同じ問題となり難しい。そのために、例えばベーシッ を処理できる能力が最低限必要で、Alu-Net 上に同時クブロック単位、もしくは命令ストリーム単位で、各ブ にマップされているロード 命令の数は 16 命令程度であロック内のデータ依存解析を静的に行ない、その情報をる。以上の仮定をおけば、約 10〜40GOPS 程度の演算付加することが 1 つの解決策である。また Alu-Net 上性能が期待される。

への命令のマッピングについては、データの存在 (もし謝辞

くは未出力の場合は出力先) を管理し、Alu-Net 上の本研究の遂行にあたり, 日本学術振興会の特別研究員制度 (「プログラム解析に基づく次世代マイクロプロセッサアーキテクチャの研究」) のご支援を頂きました。感謝の意を表します。

データパス構築もしくはメモリシステムからのデータ転送として処理する。また Alu-Net の資源管理も行なう

参考文献[1] 中村友洋, 吉瀬謙二, 辻秀典, 安島雄一郎, 田中英彦, \大規模データパスプロセッサの構想", 情報処理学会 計算機の機能を十分な処理速度で実現し、大規模化が可能な構アーキテクチャ研究会, Vol.97, No.61, pp.13{18, 1997.
造にすることである。詳細は、後の発表「 VlDp アーキ[2] \The National Technology Roadmap for Semiconducテクチャにおける実行パス制御方式の検討」で述べる。
tors", \Semiconductor Industry Association(SIA)",
3.4
Alu-Net1994.
[3] 中村友洋, 吉瀬謙二, 辻秀典, 安島雄一郎, 田中英彦. 大規
Alu-Net は演算器の相互結合で実現されている。この模な投機的処理における分岐制御機構. 第 56 回 情処全結合網はフォワーディングパスと機能的には同じ働きを国大会, Vol. 1, No. 5N-8, pp. 173{174, Mar 1998.
している。これを利用することで、データフローをハー[4] 中村友洋, 吉瀬謙二, 辻秀典, 安島雄一郎, 高峰信, 田中英
ド ウェア上にマップし、ここにデータを流すことで処理
彦. 大規模データパスプロセッサにおける命令フェッチ機. 電子情報通信学会集積回路研究会 (ICD), コンピュー構が進む。大規模な投機処理によって、命令間およびメモ
タシステム研究会 (CPSY), フォールトトレラントシステ
リとのデータ転送能力が問題になるが、Alu-Net 上にム研究会 (FTS) 合同研究会, 信学技法, Vol. 98, No. 23,
pp. 93{100, Apr 1998.
多数の命令をマップしてしまえば、ローカルなデータ必要がある。データパス先行展開における問題はこれら