当日配布資料(279KB)

バイナリコードの特定部分を
加速する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]