| 講演抄録/キーワード |
| 講演名 |
2012-01-26 09:00
アセンブリコードを中間表現とする高位合成における関数の併合 ○高島史明・石浦菜岐佐・織野真琴(関西学院大)・冨山宏之(立命館大)・神原弘之(京都高度技研) VLD2011-106 CPSY2011-69 RECONF2011-65 |
| 抄録 |
(和) |
本稿では, アセンブリコードを中間表現とする高位合成における関数の併合手法を提案する. C プログラム中の指定された関数をハードウェアに合成する手法はいくつかの高位合成システムで実装されているが, 関数間の呼出しが頻繁に行われる場合には, 制御や引数, 返り値の受渡しのオーバヘッドが無視できなくなる. これに対し本稿では, 複数関数を併合して単一ハードウェアに合成することにより, 関数呼出しのオーバヘッドを削減する手法を提案する. 本手法では, goto 変換に基づいて, ハードウェア化する関数がソフトウェアからもハードウェアからも呼び出せるように, 高位合成の入力コードを変換する. Goto 変換には, 引数や返り値の受け渡しの他, レジスタの退避/復帰の処理の追加も必要になるが, コンパイラはアセンブリコード中にこれらの処理を行うコードを最適化した形で生成するので, これを利用して処理系を実装する. 関数の併合により, 関数呼出しのオーバヘッドが抑制できるだけでなく, 関数間で資源共有が行えるため, ハードウェアのコストも削減できる. 本手法を高位合成システム ACAP に実装し, 実験的な回路で評価を行った結果, 実行サイクル数を約 15\%, FPGA 上の LUT 数を約 60\% 削減することができた. |
| (英) |
This article presents a method of merging functions during high-level synthesis whose inputs are assembly codes generated by a compiler front-end. While synthesizing functions in programs into separate hardware modules is one of the major approaches in hardware/software codesign, the overheads for passing arguments, return values, and control will not be negligible when inter-function calls are made frequently. Our method attempts to reduce the overhead by merging multiple functions into a single hardware module. The functions are merged by ``goto conversion'' so that hardware function modules are callable both from the other hardware function modules and the software program. We take advantage of the fact that all the necessary tasks associated with function calls are incorporated as well as optimized in assembly codes generated by a front-end compiler, so that the major part of the merger tasks is done in source code level transformation. By the merger, hardware cost, as well as the overhead for inter-function calls, is reduced due to resource sharing among the functions. The preliminary experiments based on ACAP high-level synthesizer showed that the number of the execution cycles is reduced by 15\% while the FPGA LUT count is reduced by about 60\%. |
| キーワード |
(和) |
高位合成 / 関数呼出し / 関数併合 / Goto 変換 / ACAP / / / |
| (英) |
high-level synthesis / function call / merge of function / goto conversion / ACAP / / / |
| 文献情報 |
信学技報, vol. 111, no. 397, VLD2011-106, pp. 89-94, 2012年1月. |
| 資料番号 |
VLD2011-106 |
| 発行日 |
2012-01-18 (VLD, CPSY, RECONF) |
| ISSN |
Print edition: ISSN 0913-5685 Online edition: ISSN 2432-6380 |
著作権に ついて |
技術研究報告に掲載された論文の著作権は電子情報通信学会に帰属します.(許諾番号:10GA0019/12GB0052/13GB0056/17GB0034/18GB0034) |
| PDFダウンロード |
VLD2011-106 CPSY2011-69 RECONF2011-65 |
|