講演名 2020-01-23
RISC-V機械語プログラムからのバイナリ合成
浜名 将輝(関西学院大), 石浦 菜岐佐(関西学院大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本稿では, RISC-V 機械語プログラムからハードウェアを自動合成する手法を提案する. RISC-V を用いた CPU には BSD ライセンスが適用されるため, 内部設計の公開やライセンス料が不要であり, 自由に改変や複製を行うことができる. 高位合成の一種であるバイナリ合成は通常のコンパイラが存在する高級言語に加え, インラインアセンブリやアセンブリプログラムも合成対象とすることができ, アセンブリで書かれた割り込みハンドラをハードウェアに自動合成することも可能である. 本稿では, RISC-V の RV32IM 命令セットによる機械語プログラムを入力として, それを実行する CPU と機能等価なハードウェアを自動合成する. 本稿のバイナリ合成は, 固定サイクルで実行されるカスタム命令を含む機械語も, その命令を実行するハードウェアが独立していれば通常のスケジューリングとバインディングのフローに含めることによって合成対象とすることができる. 提案手法に基づいて合成系を実装し, 実験を行った結果, 160 命令以下のプログラムで Rocket Chip よりも小さな回路規模を実現しつつ実行時間を最大で 14 倍程度短縮できた. また飽和処理を含む SIMD 加算を行うカスタム命令を使用したプログラムでの実験では使用しなかった場合に比べ実行時間を 3.5 倍程度短縮できた.
抄録(英) This article presents a method of synthesizing hardware from RISC-V binary codes. RISC-V is an open source instruction set architecture, where several CPU designs are provided under BSD licenses. Binary synthesis, a variant of high-level synthesis, can auto-generate hardware from assembly programs or inline assembly codes, and can be used to synthesize interrupt handler written in assebmly language into hardware. This article presents the first binary synthesizer which takes an executable binary codes for RV32IM and synthesizes a hardware module which is functionally equivalent with a CPU that runs the code. A CDFG is generated from a linked executable binary code, from which an RTL description is generated by the conventional high-level synthesis flow. This method can incorporate custum instructions into the synthesis flow, provided they are executed in fixed cycles and the execution units for them are separately designed from the CPU's datapath. From small scale codes consisting of less than 160 instructions, a prototype synthesizer has generated smaller and faster hardware modules than a Rocket Chip. A code containing SIMD add-saturate instruction has been also synthesized to accelerate the resulting hardware.
キーワード(和) バイナリ合成 / 高位合成 / RISC-V / ハードウェア/ソフトウェア強調設計 / 組込みシステム
キーワード(英) Binary synthesis / High-level synthesis / RISC-V / Hardware/Software codesign / Embedded systems
資料番号 VLD2019-71,CPSY2019-69,RECONF2019-61
発行日 2020-01-15 (VLD, CPSY, RECONF)

研究会情報
研究会 IPSJ-SLDM / RECONF / VLD / CPSY / IPSJ-ARC
開催期間 2020/1/22(から3日開催)
開催地(和) 慶応義塾大学 日吉キャンパス 来往舎
開催地(英) Raiosha, Hiyoshi Campus, Keio University
テーマ(和) FPGA応用および一般
テーマ(英) FPGA Applications, etc.
委員長氏名(和) 田宮 豊(富士通研) / 柴田 裕一郎(長崎大) / 戸川 望(早大) / 入江 英嗣(東大) / 井上 弘士(九大)
委員長氏名(英) Yutaka Tamiya(Fujitsu Lab.) / Yuichiro Shibata(Nagasaki Univ.) / Nozomu Togawa(Waseda Univ.) / Hidetsugu Irie(Univ. of Tokyo) / Hiroshi Inoue(Kyushu Univ.)
副委員長氏名(和) / 佐野 健太郎(理研) / 山口 佳樹(筑波大) / 福田 大輔(富士通研) / 鯉渕 道紘(NII) / 中島 耕太(富士通研)
副委員長氏名(英) / Kentaro Sano(RIKEN) / Yoshiki Yamaguchi(Tsukuba Univ.) / Daisuke Fukuda(Fujitsu Labs.) / Michihiro Koibuchi(NII) / Kota Nakajima(Fujitsu Lab.)
幹事氏名(和) 土谷 亮(滋賀県大) / 岩崎 裕江(NTT) / 佐々木 通(三菱電機) / 谷川 一哉(広島市大) / 三好 健文(イーツリーズ・ジャパン) / 小平 行秀(会津大) / 桜井 祐市(日立) / 津邑 公暁(名工大) / 高前田 伸也(北大) / 近藤 正章(東大) / 塩谷 亮太(名大) / 田中 美帆(富士通研) / 長谷川 揚平(東芝メモリ)
幹事氏名(英) Akira Tsuchiya(Univ. Shiga Prefecture) / Hiroe Iwasaki(NTT) / Toru Sasaki(Mitsubishi Electric) / Kazuya Tanigawa(Hiroshima City Univ.) / Takefumi Miyoshi(e-trees.Japan) / Yukihide Kohira(Univ. of Aizu) / Yuichi Sakurai(Hitachi) / Tomoaki Tsumura(Nagoya Inst. of Tech.) / Shinya Takameda(Hokkaido Univ.) / Masaaki Kondo(Univ. of Tokyo) / Ryota Shioya(Nagoya Univ.) / Miho Tanaka(Fujitsu Labs.) / Yohei Hasegawa(Toshiba Memory)
幹事補佐氏名(和) / 小林 悠記(NEC) / 中原 啓貴(東工大) / 池田 一樹(日立) / 有間 英志(東大) / 小川 周吾(日立)
幹事補佐氏名(英) / Yuuki Kobayashi(NEC) / Hiroki Nakahara(Tokyo Inst. of Tech.) / Kazuki Ikeda(Hitachi) / Eiji Arima(Univ. of Tokyo) / Shugo Ogawa(Hitachi)

講演論文情報詳細
申込み研究会 Special Interest Group on System and LSI Design Methodology / Technical Committee on Reconfigurable Systems / Technical Committee on VLSI Design Technologies / Technical Committee on Computer Systems / Special Interest Group on System Architecture
本文の言語 JPN
タイトル(和) RISC-V機械語プログラムからのバイナリ合成
サブタイトル(和)
タイトル(英) Binary Synthesis from RISC-V Executables
サブタイトル(和)
キーワード(1)(和/英) バイナリ合成 / Binary synthesis
キーワード(2)(和/英) 高位合成 / High-level synthesis
キーワード(3)(和/英) RISC-V / RISC-V
キーワード(4)(和/英) ハードウェア/ソフトウェア強調設計 / Hardware/Software codesign
キーワード(5)(和/英) 組込みシステム / Embedded systems
第 1 著者 氏名(和/英) 浜名 将輝 / Shoki Hamana
第 1 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
第 2 著者 氏名(和/英) 石浦 菜岐佐 / Nagisa Ishiura
第 2 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
発表年月日 2020-01-23
資料番号 VLD2019-71,CPSY2019-69,RECONF2019-61
巻番号(vol) vol.119
号番号(no) VLD-371,CPSY-372,RECONF-373
ページ範囲 pp.111-115(VLD), pp.111-115(CPSY), pp.111-115(RECONF),
ページ数 5
発行日 2020-01-15 (VLD, CPSY, RECONF)