首页> 外文期刊>電子情報通信学会技術研究報告 >アセンブリコードを中間表現とする高位合成における関数の併合
【24h】

アセンブリコードを中間表現とする高位合成における関数の併合

机译:以汇编代码作为中间表示的高级综合中的功能合并

获取原文
获取原文并翻译 | 示例
       

摘要

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%.%本稿では,アセンブリコードを中間表現とする高位合成における関数の併合手法を提案する.Cプログラム中の指定された関数をハードウェアに合成する手法はいくつかの高位合成システムで実装されているが,関数間の呼出しが頻繁に行われる場合には,制御や引数,返り値の受渡しのオーバヘッドが無視できなくなる.これに対し本稿では,複数関数を併合して単一ハードウェアに合成することに,より,関数呼出しのオーバヘッドを削減する手法を提案する.本手法では,goto変換に基づいてノ、-ドゥェア化する関数がソフトウェアからもハードウェアからも呼び出せるように,高位合成の入力コードを変換する.Goto変換には,引数や返り値の受け渡しの他,レジスタの退避/復帰の処理の追加も必要になるが,コンパイラはアセンブリコード中にこれらゐ処理を行うコードを最適化した形で生成するので,これを利用して処理系を実装する.関数の併合により,関数呼出しのオーバヘッドが抑制できるだけでなく,関数間で資源共有が行えるため,ハードウェアのコストも削減できる.本手法を高位合成システムACAPに実装し,実験的な回路で評価を行った結果,実行サイクル数を約15%,FPGA上のLUT数を約60%削減することができた.
机译:本文介绍了一种在高级综合过程中合并功能的方法,该方法的输入是由编译器前端生成的汇编代码。虽然将程序中的函数合成为单独的硬件模块是硬件/软件代码签名的主要方法之一,但是当频繁进行函数间调用时,传递参数,返回值和控制的开销将不可忽略。我们的方法试图通过将多个功能合并到单个硬件模块中来减少开销。通过“转到转换”合并功能,以便可以从其他硬件功能模块和软件程序中调用硬件功能模块。我们利用以下事实,即与函数调用相关的所有必要任务都已合并并在前端编译器生成的汇编代码中进行了优化,因此合并任务的主要部分在源代码级转换中完成。通过合并,由于功能之间的资源共享,降低了硬件成本以及功能间调用的开销。基于ACAP高级合成器的初步实验表明,执行周期数减少了15%,而FPGA LUT计数则减少了约60%。%の并合手法を初步を。では本稿では,复数关数を并合して単一ハードウェアにアに合成することに,より,关数呼出しのオーバヘッバヘ切する手法を进行する。本手法では,goto変换に基づいてノ,-ドゥェア化する关数がソフトウェアからもハードウェアからもアからも呼び出せるように,高位合成の入力コードを変换する。Goto変换には,引数や返り値の受け渡しの他,レジスタの退避/复帰の处理の追加も必要になるが,コンパイラはアセンブリコード中にこれらゐ处理を行うコードを最适化した形で生成するので,これを利用して处理系を実装する。关数の并合により,关数呼出テムのオーしッドが抑制できるだけでなく,关数间る资源共有が行えるため,ハードウェアのコストも切できる。た结果,実行サイクル数を约15%,FPGA上のLUT数を约60%削减することができた。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号