2H-07

VlDp アーキテクチャにおける Alu-Net の構成と実行制御の検討

辻 秀典, 坂井 修一, 田中 英彦
東京大学大学院 工学系研究科

Oª1¶öËð8îØð8!È£$はじめに»º èl0

命令レベル並列実行によって性能を得るマイクロプロ

ÈÔ¼
àªl0

õé
OªBufferOªÊ8ÂÔ¼!È£$セッサが一般的となった現在、さらなる性能向上をめざした次世代マイクロプロセッサに関するさまざまな研究

ÈÔ¼
àªl0

»º èl0äåíº¼ÉãÊ8Âàªl0õéÊ8Â
Bufferが行われている。その一つとして、我々は大規模データRegister

パス (Very Large Data Path { VlDp)・アーキテクチャ
ALU-Net[2] を提案している。これは、マイクロプロセッサにおける命令実行の本質が演算であることに注目し、命令列中のデータフローを Alu-Net と呼ぶ複数の ALU によって構成される機構上で実現することによって、命令実行のスループットを向上させようとするアーキテクチャである。本稿ではこの Alu- Net に焦点をあて、これを構成する複数の ALU 間の接続モデルおよび各 ALU 上での命令実行の制御方法について検討する。
2VlDp

アーキテクチャにおける命令実行

Oª

Ê8Â

Ê8Â

Ê8Â

図 1: VlDp アーキテクチャブロック図
づく Alu- Net 内部の各 ALU への命令の割り当ておよびデータの供給指示は、データパス先行展開が行う。コントロールフロー先行展開は、分岐命令がもたらす制御依存関係を解消する機構であり、複数パス同時実行を可能とする命令フェッチを行う。まとめると、VlDp アーキテクチャによる性能向上は次の 2 点により得られるものである。

命令実行の本質部分といえる演算を効率良く実行する

1. Alu- Netことを目的とする VlDp アーキテクチャでは、そのた

2.

めに Alu- Net という機構を用意している [ 1]。

によるデータの授受の高速化

大規模な投機処理による分岐制御ペナルティの削減(複数パス実行)

現在のマイクロプロセッサにおいては、短時間のデータの再利用をフォワーディング機構によって実現していさらに、VlDp アーキテクチャは、高性能かつ大規模るのみで、基本的に演算間のデータのやりとりはレジス化を可能とするアーキテクチャであり、大規模化に伴うタを介す構造になっている。これに対し、複数の ALU とハード ウェア的なクリティカルパスを短くする必要があ

それを接続するパスによって構成された Alu- Net は、 る。そのため、コントロールフロー先行展開、デーパスレジスタを介した中間的なデータのやりとりを複数の先行展開、Alu- Net をはじめとする主要な機構を独立ALU間の局所的な接続として実現することができ、こさせ、各機構間のやりとりのスループットを向上させる

れによって不要なレジスタアクセスを削減することが可ことによって、全体の処理を高速に動作させる。また、能である。また、現在のマイクロプロセッサにおいてフォ 現在のマイクロプロセッサでは集中しているアーキテク
ワーディングパスは、複数のステージを越えた接続となチャ自体の制御も、各機構間によって独立させ、その情るためクリティカルパスとなりうるが、Alu- Net では報交換をパイプライン化することによってスループットこれを短くすることも可能である。このような理由によを向上させる。

り、Alu- Net はデータの授受に伴うオーバヘッド を削減できる高速な演算処理を可能としている。
この Alu- Net を持つ VlDp アーキテクチャの基本構成は図 1に示すようなものである。実際に演算処理を行う機構は Alu- Net であるが、データフロー解析に基Study of the Alu-Net structur e and the execution contr olon VlDp architecture.
Hi denori TSUJI, Sh ui chi SAKA
I,
Graduate

Hi dehi k o TANAKA

Sc ho ol of Engi neeri ng, TheUni v ersi ty of Toky o3

Alu- Net
Alu- Netにおける実行制御
内部の ALU への命令の割り当て、ALU 間の接続、ALU へのデータ供給、結果の書き戻しの指示
はデータパス先行展開から行われる。この指示 (ALU 制御情報) に基づく ALU の制御を直接データパス先行展開が行う場合、制御信号線が伸び制御遅延が大きくなるだけでなく信号線の数が増える。そのため、ALU の制御はデータパス先行展開とは分離し、制御は Alu- Net

(a) 自由に接続可能な構造を持つ ALU-Net

データパス先行展開
1ALUに対応する情報演算の選択
入力データの選択
データの出力先データ

図 2: Alu-Net の実行制御内部で行う。このとき ALU 制御情報はパイプライン化(b) 接続に階層構造のある ALU-Nett
され Al u - Neに送られるため、制御の遅延および不要

図 3: Al u - Neの接続構造tな信号線の増加を招かない。
具体的には 図 2 に示すような制御情報のやりとりが行われる。この制御情報にはどの ALU に対する指示かの情報も含まれているため、これに基づいて指定されたALUおよび ALU 割り当てアルゴリズムに適したものになっていなければならない。
4. 2ALUALUの制御を Al u - Ne内部で行う。各t
ALU は、すの構成は単位となる演算器とラッチにより構成される。

べての出力先に対してデータを供給できてはじめて開単位となる演算器をすべて汎用的に同じとすると、ALU放することができるため、データの出力先という情報が割り付けは簡単化されるが ALU 単体の回路規模の増大必要である。ALU 開放の情報はデータパス先行展開にを招く。機能を限定した複数のタイプの ALU を設定す送られ、再割り付け可能である事を知らせる。このよう ると回路規模の最適化は行えるものの、ALU 利用の制な ALU の開放情報を管理すれば、データパス先行展開 約が与えらるために ALU 割り付けが複雑化する。
ラッチ数も ALU の構成を考える際に重要となる。ラッが演算の状況を直接把握する必要がなくなる。このような実行制御によって、制御の集中の回避と高速化を実現

チの増加はデータの再利用と ALU 間のデータの流れのする。

制御を容易にするが、その場合ラッチによる遅延が増大するために、局所的なデータアクセスの高速化をめざす

Al u - Neの構成t

44.1

Al u - Neの目的に反する。逆にラッチ数を減らすと高t

ALU 間の接続モデル

Al u - Neは複数のt
ALU速化は望めるものの、データの流れの制御が限定されにより構成されるが、その接続方法によっていくつかのモデルが定義される。
最も基本的な構成は 図 3 の (a) に示したモデルである。これは各 ALU が自由に接続可能となっており、柔軟なデータフローの実現が可能である。ALU 単位での接続が自由であるため ALU の利用率が高くできる。しかし、ALU の数が増加した場合に信号線と制御が複雑化するだけでなく、それに伴う動作遅延の増加を招くため、常に現実的なモデルとはいえない。
次に示すモデルは 図 3 の ( b) に示すもので、適当な規t模の ( a) に示したモデルの Al u - Neを複数接続す形である。このように階層構造を持たせることによって、制御と接続を適当な規模で分割できるため、モデル ( a) と比較して大規模化が可能であると考えられる。しかし、ALUの利用率およびデータ転送の遅延を最適化するためには、マイクロプロセッサにおける計算モデルの解析に基づく適切な階層構造と接続を設定する必要がある。
またこれは、データパス先行展開で行うデータ依存解析ALUの利用率が低下する。また実行頻度が高い複数の演算の組合せに対しては、ラッチを介さないデータの授受を行うことによって、演算遅延を削減することも可能である。
5

おわりにAl u - Neを構成するt
ALUの接続とその構成単位となる ALU は、その規模および制御の複雑さによってさまざまなモデルが定義できる。これらについて今後、実際の実行に基づく評価が必要である。
参考文献[1] 辻秀典, 中村友洋, 吉瀬謙二, 安島雄一郎, 高峰信, 坂井修

一, 田中英彦: Alu-Net: VlDp アーキテクチャにおける命令実行機構, 情報処理学会 第 57 回全国大会, Vol. 1,
No. 1Q-10(1998).

[2] 中村友洋, 吉瀬謙二, 辻秀典, 安島雄一郎, 田中英彦: 大規模データパスプロセッサの構想, 情報処理学会研究会 ARCH,
Vol. 124,No.

3, pp. 13{18(1997).