講演名 2012-01-26
アセンブリコードを中間表現とする高位合成における関数の併合(高位合成と演算応用,FPGA応用及び一般)
高島 史明, 石浦 菜岐佐, 織野 真琴, 冨山 宏之, 神原 弘之,
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本稿では,アセンブリコードを中間表現とする高位合成における関数の併合手法を提案する.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
資料番号 VLD2011-106,CPSY2011-69,RECONF2011-65
発行日

研究会情報
研究会 RECONF
開催期間 2012/1/18(から1日開催)
開催地(和)
開催地(英)
テーマ(和)
テーマ(英)
委員長氏名(和)
委員長氏名(英)
副委員長氏名(和)
副委員長氏名(英)
幹事氏名(和)
幹事氏名(英)
幹事補佐氏名(和)
幹事補佐氏名(英)

講演論文情報詳細
申込み研究会 Reconfigurable Systems (RECONF)
本文の言語 JPN
タイトル(和) アセンブリコードを中間表現とする高位合成における関数の併合(高位合成と演算応用,FPGA応用及び一般)
サブタイトル(和)
タイトル(英) Merge of Functions in High-Level Synthesis Using Assembly Codes as Intermediate Representation
サブタイトル(和)
キーワード(1)(和/英) 高位合成 / high-level synthesis
キーワード(2)(和/英) 関数呼出し / function call
キーワード(3)(和/英) 関数併合 / merge of function
キーワード(4)(和/英) Goto変換 / goto conversion
キーワード(5)(和/英) ACAP / ACAP
第 1 著者 氏名(和/英) 高島 史明 / Fumiaki TAKASHIMA
第 1 著者 所属(和/英) 関西学院大学理工学部
Kwansei Gakuin University
第 2 著者 氏名(和/英) 石浦 菜岐佐 / Nagisa ISHIURA
第 2 著者 所属(和/英) 関西学院大学理工学部
Kwansei Gakuin University
第 3 著者 氏名(和/英) 織野 真琴 / Makoto ORINO
第 3 著者 所属(和/英) 関西学院大学理工学部
Kwansei Gakuin University
第 4 著者 氏名(和/英) 冨山 宏之 / Hiroyuki TOMIYAMA
第 4 著者 所属(和/英) 立命館大学理工学部
Ritsumeikan University
第 5 著者 氏名(和/英) 神原 弘之 / Hiroyuki KANBARA
第 5 著者 所属(和/英) 京都高度技術研究所
ASTEM RI
発表年月日 2012-01-26
資料番号 VLD2011-106,CPSY2011-69,RECONF2011-65
巻番号(vol) vol.111
号番号(no) 399
ページ範囲 pp.-
ページ数 6
発行日