バイナリコードの特定部分を 加速するCPUアクセラレータ の自動合成 関西学院大学 理工学部 情報科学科 教授 石浦 菜岐佐 1 ターゲット SWにより制御される小型機器 • 携帯型映像・音響機器 • 携帯型医療・ヘルスケア機器 • 画像解析機器 2 課 題 低消費電力/小型CPUでは性能が不足する 機器の高機能化・処理の複雑化 ちょっと遅い… memory コード CPU 速いCPUだと 電力が… add lw addi add sw sll addi sra sw $3,$4,$3 $5,12($8) $7,$3,23 $3,$2,$5 $7,16($8) $3,$3,3 $3,$3,2 $7,$5,3 $7,8($8) ここが 重い… HWによる計算のサポート 3 従来技術とその問題点 速 度 コプロセッサ 中 起動 HW化 コードや オーバ 自由 コンパイラ ヘッド 度 の修正 中 中 その他 中 専用HW 大 大 大 大 カスタム命令 小 極小 小 大 HWだけでなく I/Fの設計が 大変 どういう命令 を追加するか が難しい 4 本技術 軽量のCPU密結合型HWアクセラレータ バイナリコードの指定部分をHWで実行 コード ボトル ネック 部分 add lw addi add sw sll addi sra sw $3,$4,$3 $5,12($8) $7,$3,23 $3,$2,$5 $7,16($8) $3,$3,3 $3,$3,2 $7,$5,3 $7,8($8) CPU PC RF HWアクセラレータ HW化して 高速実行 CPUと 密結合 5 特長 (1) 起動オーバヘッドがほぼゼロ ① PC (プログラムカウンタ) が指定アドレスにな ると自動的にアクセラレータを起動 ② アクセラレータはCPUのレジスタに直アクセス コード HW実行部分 add lw addi add sw sll addi sra sw $3,$4,$3 CPU $5,12($8) $7,$3,23 $3,$2,$5 PC RF $7,16($8) $3,$3,3 ① 自動起動 ② 直アクセス $3,$3,2 HWアクセラレータ $7,$5,3 $7,8($8) 6 特長 (2) 演算資源の共有 ① 回路規模のオーバヘッドが小さい ② HWアクセラレータがCPUとメモリー共有 従来技術 メモリー CPU キャッシュ PC RF r r * MEM I/F キャッシュ 制御回路 + + + + r r MEM I/F * RF * + 制御回路 メモリー CPU + アクセラレータ 制御回路 PC 本技術 ② メモリ ー共有 MEM I/F ① 演算器共有 7 特長 (3) HW化範囲の自由度が高い ① 複数区間をHW化可能 ② ループ, 飛び込み/飛び出し, サブルーチン コールも可能 コード 区間A 区間B 区間C CPU+HW PC ② 区間内・区間間 の繊維も可 区間内 HW A 制御 HW B HW C ① 複数区間HW実行 飛び込み 飛び出し 戻り 区間間 8 特長 (4) コードやコンパイラの修正不要 ① バイナリコードはそのままで高速化 ② コンパイラの修正も不要 Cプログラム int main(void) { int I, n, s; s = 0; for (i=0; i<n; i++) { s = s + I; } … return 0; } コード コンパ イラ 修正 不要 add lw addi add sw sll addi sra sw $3,$4,$3 $5,12($8) $7,$3,23 $3,$2,$5 $7,16($8) $3,$3,3 $3,$3,2 $7,$5,3 $7,8($8) CPU PC RF HWアクセラレータ 修正不要 (ROMでも可) 9 特長 (5) HWアクセラレータを自動合成可能 「高位合成」技術によりアセンブリプログラムの 指定部分を自動的にHW化できる コード ボトル ネック 部分 add lw addi add sw sll addi sra sw $3,$4,$3 $5,12($8) $7,$3,23 $3,$2,$5 $7,16($8) $3,$3,3 $3,$3,2 $7,$5,3 $7,8($8) CPU PC RF HWアクセラレータ 自動的に HW化 10 高位合成システムACAP gcc C objdump MIPSアセンブリ プログラムの解析 Data Flow Graph MIPSバイナリ * * + * * + * + * スケジューリング バインディング HDL生成 Verilog HDL 11 従来技術と本技術の比較 速 度 コプロセッサ 専用HW カスタム命令 中 大 小 本手法 中 利用 HW化 コードや オーバ 自由 コンパイラ その他 ヘッド 度 の修正 中 中 中 大 大 大 HWとI/F設計 極小 小 大 命令選定 極小 中 − 自動設計可 12 予備実験 • • • • AES暗号化処理の一部 MIPS R3000 互換ソフトコアプロセッサ 高位合成システムACAP + 手動設計 FGPA 上に合成 (Xilinx Spartan 3E; ISE 11.1) MIPS 回路規模 (LUT数) 遅延 [ns] サイクル数 MIPS+本技術 8,287 8,853 (106.8%) 25.77 25.84 (100.3%) 1,571 982 (62.5%) 13 実用化に向けた課題 • 高位合成系の実装 – 2013年3月初版完成予定 – 最適化の強化が課題 • 評価実験 14 本技術に関する知的財産権 発明の名称 出願番号 出願人 発明者 ワンチップマイクロプロセッサ 特願2012-214997 学校法人 関西学院 石浦菜岐佐 15 産学連携の経歴 2008〜 都市エリア産学官連携促進事業 2010年度 委託事業「ユビキタス生体計測ヘ スルスケアデバイス・システムの 開発」のサブテーマ「医療用汎用 SoCデバイスの開発」 2011年度 JST研究成果最適展開支援プログ ラム「バイナリコードからのMPUア クセラレータの自動生成」 16 お問い合わせ先 関西学院大学 研究推進社会連携機構 TEL 079-565 - 9052 FAX 079-565 - 7910 e-mail [email protected]
© Copyright 2024 ExpyDoc