• 検索結果がありません。

大規模データパスアーキテクチャの コード最適化に関する研究

N/A
N/A
Protected

Academic year: 2021

シェア "大規模データパスアーキテクチャの コード最適化に関する研究"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)

5ZB - 4

大規模データパスアーキテクチャの コード最適化に関する研究

岩崎 慎介 服部 直也†† 飯塚 大介††† 坂井 修一†† 田中 英彦††

東京大学工学部 ††東京大学情報理工学系研究科 †††東京大学工学系研究科

1

始めに

1.1

研究の背景

半導体技術の進歩によりトランジスタの集積度は年々 増え続けている。この傾向は今後も続くと予想され、次 世代マイクロプロセッサでは現在の数倍のトランジス タが利用可能となる。しかし現在マイクロプロセッサ の主流であるスーパースカラは、その構造的複雑性よ り資源の投入による効果的な性能向上は期待できない。

これを受けて、新しいアーキテクチャとして、大規模 データパスアーキテクチャ(VLDP:Very Large Data Path) アーキテクチャが提案されている[1]。

1.2

研究の目的

VLDPでは従来にない処理単位として命令ブロックと いう複数命令の集まりを導入している[2]。命令ブロッ クはコンパイラにより生成される。この生成手法を工 夫することでVLDPの性能向上が期待できる。よって 本研究ではコンパイラによる命令ブロックの最適な生 成手法を比較、検討することを目的としている。

2

大規模データパスアーキテクチャ

2.1

大規模データパスアーキテクチャの概要

VLDPは将来利用可能であると考えられる豊富な資 源を利用し、大規模な投機的実行を行うことにより性能 向上を目指す、従来のアーキテクチャの延長上にはない 新しいアーキテクチャである。平均実行IPC(Instruction Per Clock cycle) 8の性能を目標として設計が行われて いる。

VLDPでは命令ブロック(IB:Instruction Block)と呼ば れる最大32の命令からなる命令列を処理単位として導 入している。分散した複数の実行ユニット(EU:Execution

Unit)を持ち、各々が一つずつIBを処理する。

EUごとにレジスタを持つ分散レジスタ構成を取っ ており、同一EU内へのデータアクセスは高速である が、異なるEUへのデータアクセスは時間を要する。

Code Optimization for Very Large Data Path Architecture

Shinsuke IWASAKI, Naoya HATTORI††, Daisuke IIZUKA†††, Shuichi SAKAI††, Hidehiko TANAKA††

{iwasaki,hato,iizuka,sakai,tanaka}@mtl.t.u-tokyo.ac.jp

School of Engineering, The University of Tokyo

††Graduate School of Information Science and Technology, The University of Tokyo

†††Graduate School of Engineering, The University of Tokyo

2.2

命令ブロック

IBの構成を図1に示す。IB4つのField(最大命令 8BB)から構成され、1つのField8つの命令ス ロットから構成される。各Field最後の4つのポイント BP(Break Point)と呼ぶ。分岐命令はBPにのみ配置 でき、分岐の飛び先はIBの先頭のみ指定できる。BP 以外の場所からの分岐すること、IBの途中に分岐して くることは許されない。この制限により命令を埋める ことのできないスロットにはNOP命令が挿入される。

field 0 field 1 field 2 field 3

IB

Instruction Branch Instruction Nop

1: IBの構成

3

命令ブロックの生成

3.1

基本生成法

まず命令数が8を越えるBB8命令ごとに区切っ て、Fieldを生成する。この生成されたField4つ結 合し、空いた命令スロットにNOP命令を詰めて32 令とすることでIBが生成される。ただしIBの途中へ 分岐してくることは許されないので、Field4つ未満

でも次のFieldへの分岐があればそこでIBを区切る。

また関数呼び出し、RET命令などコードが途切れる命 令の直後でも同様にIBを区切る。これにより2.2節で 述べたような規則を満たすIBが生成される。

3.2

最適化の方針

異なるIB間のデータ依存があると2.1節で述べた通 EU間のデータ通信が起こり、多くの時間を要して しまう。よってIB間データ依存をできるだけ少なくす る必要がある。

しかし2.2節で述べた通り、分岐の飛び先やコード の途切れる命令によりIBが区切られるため、IB内命 令数が少なくなり、IB間のデータ依存が多くなってし まう。これによりEU間データ通信が増加してしまい、

好ましくない。よってこのようにIBが細かく区切られ てしまう原因に対処し、できるだけIB内命令数を大き くして、EU間通信を減らす最適化の実装について検討 した。

(2)

3.3 profile

の利用

あるPCから始まるIBは、図2のように最大8通り 考えられる。このうち静的分岐予測を用いてもっとも 実行確率の高いものだけを選びその1つだけを生成す る。これによってよく実行されるIB内の命令数が大き くなり、EU間通信が削減される。例えば図2で太い矢 印の方が実行確率が高い場合、IBは色の付いた部分か ら構成される。

field 0

field

1a field

1b

field

2b field

2c field

2a field

2d

field 3d field

3e field 3f field

3g field

3c field

3h field

3b field

3a

IB 0 IB 1 IB 2 IB 3 IB 4 IB 5 IB 6 IB 7

field 0

field 1 candidate

field 2 candidate

field 3 candidate

2: profileの利用

3.4

合流の除去

3a)のような4つのFieldからIBを生成する場合 を考える。IBの途中へ分岐してくることは許されない ので、IBの入り口はその先頭のみである。よって図で は入り口が複数あるFiled Dの手前でIBを区切らなけ ればならない。しかし図3b)のようにField Dを複製す ることによって、IBが途切れるのを防ぎ、EU間デー タ通信を削減することができる。

A

B C

D

A

B C

D D’ IB

Field b)

a)

3:合流の除去

3.5

ループの展開

4a)のような1つのFieldが繰り返し実行されるルー

プは図4b)のようにループを展開する。これによって

IB内命令数を増やし、EU間データ通信を削減するこ とができる。

4

評価

最適化Cコンパイラnewcc[3]3.1節で述べたIB の基本生成法、3.3節、3.4節、3.5節で述べた最適化を 実装し、最適化によってEU間データ通信をどの程度 削減できるか評価を行った。それぞれの最適化個々の 効果と3つ全てを合わせた場合の効果について測定し た。ベンチマークとしてSPECint95を用いた。

A

A’

IB Field

b) a)

A

4:ループの展開

結果を図5に示す。全ての最適化を合わせた場合に おいて平均5%の削減に成功した。

なお評価においてユニット数、EU間ネットワークバ ンド幅は無限大とした。またキャッシュは全てあたるも のとし、分岐予測は100%ヒットとした。

!"#$

%&' ()*+

5:最適化によるEU間通信の削減

5

おわりに

本稿では大規模データパスアーキテクチャにおける 命令ブロックの最適な生成手法について検討した。今 後はIキャッシュを考慮した場合の最適化について研究 を行う。

参考文献

[1] 辻秀典、安島雄一郎、坂井修一、田中英彦 大規模データパス・アーキテクチャの提案

情報処理学会研究報告2000-ARC-139、pp.49-60、2000.

[2] 塚本泰通、安島雄一郎、辻秀典、坂井修一、田中英彦 大規模データパス・アーキテクチャにおける命令ブロックの検討 情報処理学会研究報告2000-ARC-139、pp.61-66、2000.

[3] 飯塚大介、小沢年弘、坂井修一、田中英彦 Cコンパイラにおけるループ最適化の検討

情報処理学会研究報告1999-HPC-77、pp.65-70、1999.

図 1: IB の構成 3 命令ブロックの生成 3.1 基本生成法 まず命令数が 8 を越える BB は 8 命令ごとに区切っ て、Field を生成する。この生成された Field を 4 つ結 合し、空いた命令スロットに NOP 命令を詰めて 32 命 令とすることで IB が生成される。ただし IB の途中へ 分岐してくることは許されないので、Field が 4 つ未満 でも次の Field への分岐があればそこで IB を区切る。 また関数呼び出し、RET 命令などコードが途切れる命 令の直後でも同

参照

関連したドキュメント

大谷 和子 株式会社日本総合研究所 執行役員 垣内 秀介 東京大学大学院法学政治学研究科 教授 北澤 一樹 英知法律事務所

関東総合通信局 東京電機大学 工学部電気電子工学科 電気通信システム 昭和62年3月以降

理工学部・情報理工学部・生命科学部・薬学部 AO 英語基準入学試験【4 月入学】 国際関係学部・グローバル教養学部・情報理工学部 AO

東北大学大学院医学系研究科の運動学分野門間陽樹講師、早稲田大学の川上

清水 悦郎 国立大学法人東京海洋大学 学術研究院海洋電子機械工学部門 教授 鶴指 眞志 長崎県立大学 地域創造学部実践経済学科 講師 クロサカタツヤ 株式会社企 代表取締役.

講師:首都大学東京 システムデザイン学部 知能機械システムコース 准教授 三好 洋美先生 芝浦工業大学 システム理工学部 生命科学科 助教 中村

会長 各務 茂夫 (東京大学教授 産学協創推進本部イノベーション推進部長) 専務理事 牧原 宙哉(東京大学 法学部 4年). 副会長

関谷 直也 東京大学大学院情報学環総合防災情報研究センター准教授 小宮山 庄一 危機管理室⻑. 岩田 直子