WEKO3
アイテム
VLIWコンパイラにおけるスピルコード最適化
https://ipsj.ixsq.nii.ac.jp/records/127822
https://ipsj.ixsq.nii.ac.jp/records/12782220f57db6-d30f-49d7-83a5-371995061094
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
|
Item type | National Convention(1) | |||||
---|---|---|---|---|---|---|
公開日 | 1995-03-15 | |||||
タイトル | ||||||
タイトル | VLIWコンパイラにおけるスピルコード最適化 | |||||
タイトル | ||||||
言語 | en | |||||
タイトル | A Spill Code Optimization in VLIW Compiler | |||||
言語 | ||||||
言語 | jpn | |||||
資源タイプ | ||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_5794 | |||||
資源タイプ | conference paper | |||||
著者所属 | ||||||
(株)東芝 情報・通信システム技術研究所 | ||||||
著者所属 | ||||||
(株)東芝 情報・通信システム技術研究所 | ||||||
著者所属(英) | ||||||
en | ||||||
Information & Comunication Systems Laboratory, TOSHIBA Corporation | ||||||
著者所属(英) | ||||||
en | ||||||
Information & Comunication Systems Laboratory, TOSHIBA Corporation | ||||||
論文抄録 | ||||||
内容記述タイプ | Other | |||||
内容記述 | VLIW計算機では、コンパイラの最適化処理において、命令をスケジュールして並列度の高いオブジェクトコードを生成し、プロセッサの性能を引き出している。命令を効果的にスケジュールするためには、変数をできるだけ仮想レジスタに割付ける必要がある。仮想レジスタは最終的に物理レジスタに割り当てる操作が必要であるが、このとき物理レジスタ数には制限があるので、割り当てられない仮想レジスタはメモリ上に配置される。これに伴う命令をスピルコードと呼ぶ。仮想レジスタを物理レジスタに割り当てるレジスタ割当を命令スケジュール前に行うか、スケジュール後に行うかは、オブジェクトコードの並列度とレジスタスピルの発生度に大きく影響する。スケジュール前にレジスタ割当を行うと、データの逆依存(レジスタ定義の前にあるレジスタ参照への依存)の原因となり、命令の並列性が十分に得られない。逆に命令スケジュールの後に行うと、命令のスケジューリングによって物理レジスタが不足する現象が起きやすくなり、その場合、スピルコードが実行サイクル数を増大させてしまう。このように実効命令サイクル数を最小にし、並列度を引き上げようとする命令並列化スケジューリングと、使用するレジスタ数を最小にすることは相反する関係にある。VLIW計算機ではコンパイラでの命令並列化か必須であること、スピルコードが必要になる場合は稀であることから、我々は並列化スケジューリングを優先し、スケジューリング後にレジスタ割当を行う方式を選択した。本稿では、並列化された命令列に対するスピルコード生成戦略とその最適化について述べる。 | |||||
書誌レコードID | ||||||
収録物識別子タイプ | NCID | |||||
収録物識別子 | AN00349328 | |||||
書誌情報 |
全国大会講演論文集 巻 第50回, 号 ソフトウェア, p. 19-20, 発行日 1995-03-15 |
|||||
出版者 | ||||||
言語 | ja | |||||
出版者 | 情報処理学会 |