1Q-10

Alu-Net: VlDp アーキテクチャにおける命令実行機構

辻 秀典, 中村 友洋, 吉瀬 謙二, 安島雄一郎, 高峰 信, 坂井 修一, 田中 英彦
東京大学大学院 工学系研究科
3. レジスタアクセス時間
1

4. パイプラインやクロックによるオーバーヘッド

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

ある処理 B の入力 x; y のうち、x が処理 A の結果セッサが一般的となった現在、さらなる性能向上をめざである場合、y が準備できていたとしても処理 B が終した次世代マイクロプロセッサに関するさまざまな研究了しなければ処理 A は行えない。この場合 y は一時的が行われている。その一つとして我々は、大規模データにメモリまたはレジスタに格納される。この格納されてパス (Very Large Data Path { VlDp)・アーキテクチャ いる時間がデータ待ち合わせ時間である。
[1] を提案している。これは、マイクロプロセッサにおけ実際の演算処理は、その入力や演算の種類によって回る命令実行の本質が演算であることに注目し、命令列中路の遅延時間は変動している。一般的にパイプラインのデータフローを Alu-Net と呼ぶ複数の ALU によっ ピッチやクロックはその遅延時間の最大値をもって設定て構成される機構上で実現することによって 、命令実 されるために、全ての演算の時間がその最大値に丸め込行のスループットを向上させようとするアーキテクチャ まれる事になる。この丸め込みがパイプラインやクロッである。本稿ではこの Alu- Net に焦点をあて、VlDp
クによるオーバヘッド である。
アーキテクチャにおける命令実行が、従来のアーキテク 3
チャと比較してオーバヘッドが縮小されていることについて述べる。
2

VlDp

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

先に述べたデータ待ち合わせ時間そのものは、マイクロプロセッサにおける命令処理に対して直接影響を与えマイクロプロセッサにおける命令実行るものではないが、データ待ち合わせは必ず１回以上のマイクロプロセッサにおける処理は、メモリ空間上のレジスタ ( メモリ) アクセスを伴う。このレジスタ ( メモ

データに何らかの演算処理を施し、得られた結果を再びリ) アクセスはデータの流れの上では不必要なものであメモリ空間上に書き戻すことが基本である。この演算処るが、アーキテクチャ上の都合によって行われる中間的理は、単一であったり複数であったりさまざまであるが、 なデータアクセスである。図 2 の上はレジスタアクセス
必要なデータが用意されれば複数の演算処理であってもを伴うデータ待ち合わせ、下はレジスタアクセスを伴わ連続的に行うことが出来る。実際にはあるデータフローないデータ待ち合わせである。レジスタアクセス伴わなに注目した場合、その処理の流れは 図 1 のようになる。 い待ち合わせの場合、データが必要となったときにすぐに演算を開始できるため処理時間を削減できる。

timetime

pure calculation time

preparation time

図 1: データフローにおける処理の流れ

calculation

calculation

register access

wait

wait

register accesscalculation

calculation

pure calcul ation t i meとは演算器において演算が行わ
図 2: レジスタアクセスによるオーバヘッドれている時間に相当し、preparet i on t i me とは演算を行
しかし、現在のマイクロプロセッサにおいては図 2 のうためにデータを準備、格納する時間である。この時間
下のような動作をサポートする機構はフォワーディング
は具体的には次のようなものである。
機構以外には存在しない。この、フォワーディング機構
1. データ待ち合わせ時間
は短時間の待ち合わせを実現するのみである。
2. メモリアクセス時間
これまでのマイクロプロセッサの性能向上はパイプラ
Alu-Net: The Execution Mechani sm of VlDpArchi tecture イン化および命令レベル並列性を利用したスーパスカラ
Hi denori TSUJI,
Tomohi roNAKA
M
URA,
Kenji
K
I SE,
機構によるもので、ここで述べた中間的なデータアクセ
Yui chi ro A
JI M
A,
M
ak oto TAKAM
INE,
スによる命令処理のオーバヘッドに関する改善を行ってSh ui chi SAKAI,
Hi dehi k o TANAKA
Graduate Sc ho ol of Engi neeri ng, The U
ni v ersi ty of Toky oいない。命令レベル並列実行では複数の機能ユニットが存在するものの、それらの機能ユニット間に密な結合はpipeline stageなく 1 命令単位で命令を独立に実行することを前提としているためである。
VlDp アーキテクチャはこの点に注目し、中間的なデータアクセスを出来る限り排することによって、命令単位の実行によるオーバーヘッドを削減し効率的な演算処理を行う。データパスと複数の ALU を用意すること

calculation timeoverhead time

によって、データフローを演算機構の内部で実現しデータの待ち合わせもそこで行う。このデータパスと複数のAL U によって構成される機構が Alu-Net である。
なお VlDp アーキテクチャは、オーバヘッド を削減した実行だけでなく、大規模な投機的処理による分岐制御ペナルティ削減も行うことによって、これまでとは異なるアプローチでの性能向上を目指している。

4

Alu- Net
Alu- Netによる処理の利点
はデータフローを処理する機構であり、次のような特徴を持つ。

latch

図 3 : AL U 間の接続と演算時間てデータが流れるために、従来のパイプラインステージ幅による演算時間の丸め込みが行われないだけでなく、フォワーディングパスが短くなることによって動作遅延 データの待ち合わせが可能も小さくなる。さらに、データ駆動に適した非同期式回 フォワーデ ィングパスが短い路を用いてクロック制御をなくすことにより、データ駆 データ駆動による処理動動作を効率良く実装できるだけでなく、クロック同期

図 3 の上が従来のパイプラインの演算ステージの処理、下が Alu- Net における演算処理である。
従来の演算ステージでは処理されるデータはすべてサイクル毎に独立して供給、書き戻されていたのに対し、Alu- Netにおいては待ち合わせが必要なデータは AL U間を接続するデータパス上のラッチによって保持される。
これによって、中間的なデータアクセスなしにデータの待ち合わせを実現できる。
Alu- Netにおけるフォワーディングパスは、AL U 間を接続するデータパスにより実現できるためその距離が短い。短時間のデータ待ち合わせによる中間的データア
クセスは、スーパスカラプロセッサにおいてもフォワーディング機構によって高速化できるが、フォワーディング機構は複数のパイプラインステージを越えたパスであるため、距離的に短いパスではない。さらに、性能向上を目指してスーパスカラ機構を拡張すれば、フォワーディングパスがハード ウェア的なクリティカルパスとなる。それに対し Alu- Net のフォワーディングパスは短いため、クリティカルパスとはなり得ない。
データ駆動による処理が可能であるために、AL U 間に存在するラッチが、直接接続している AL U へのパスを制御することにより待ち合わせを実現できるため、AL Uのデータの入出力に関する制御を分散化できる。なおこのラッチは一時的なデータ保持を行うものであるためその動作は軽い。また、これによりデータパス毎で独立しによるオーバヘッド を削減する事も可能となる。
スーパースカラプロセッサのような複数の機能ユニットを拡張する形で演算資源を大規模化した場合には、その演算資源に対するデータ供給能力の問題が生じる。これは 図 3 の上に示したような、各サイクル毎に独立したデータ供給を行っているためである。VlDp においても、Alu- Net 内部の各 AL U に対するデータ供給の総数は多くなるが、中間的データアクセスおよびフォワーデ ィングパスが Alu- Net内部の局所的な接続で実現される。投機処理および Alu- Net の規模にもよるが、データアクセスの半数以上が Alu- Net 内で吸収できる可能性 [1 ] があり、単純に Alu- Net に対するデータ供給が爆発的なものとはならない。
5 おわりに
VlDp

アーキテクチャは命令列からデータフローを抽出し、複数の AL U とそれを接続するデータパスによって構成される Alu- Net によって処理を行う。Alu- Net
は、中間的データアクセスを必要としないデータ待ち合わせが可能なだけでなく、データ駆動による処理が可能であり、これまでのマイクロプロセッサにおける命令単位の処理と比較してオーバーヘッドを削減した実行が可能である。
参考文献[1] 中村友洋, 吉瀬謙二, 辻秀典, 安島雄一郎, 田中英彦: 大規模

データパスプロセッサの構想, 情報処理学会研究会 ARCH,Vol. 124, No. 3, pp. 13{18(1997).