1 / 15

C ソースコード解析による ハード/ソフト最適分割システムの構築

C ソースコード解析による ハード/ソフト最適分割システムの構築. 高性能計算研究室 M2 和田智行 2009/02/20. 研究背景と目的. 背景 高速化、低消費電力化などにコデザインは必要 大規模化によるシステムの複雑化 システムにはハードとソフトのバランスが必要 目的 Cソースコード解析による最適なハード/ソフト分割案を提案するシステムの構築 ソフトマクロCPUによるハード/ソフトの分割実験 ハード/ソフト最適分割システムの適用と検証 Misty1暗号、AES暗号、SHA -1. ハード/ソフト最適分割システム. C言語ソースコード. システムの特徴.

akiko
Download Presentation

C ソースコード解析による ハード/ソフト最適分割システムの構築

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cソースコード解析によるハード/ソフト最適分割システムの構築Cソースコード解析によるハード/ソフト最適分割システムの構築 高性能計算研究室 M2 和田智行 2009/02/20

  2. 研究背景と目的 • 背景 • 高速化、低消費電力化などにコデザインは必要 • 大規模化によるシステムの複雑化 • システムにはハードとソフトのバランスが必要 • 目的 • Cソースコード解析による最適なハード/ソフト分割案を提案するシステムの構築 • ソフトマクロCPUによるハード/ソフトの分割実験 • ハード/ソフト最適分割システムの適用と検証 • Misty1暗号、AES暗号、SHA-1

  3. ハード/ソフト最適分割システム C言語ソースコード システムの特徴 • 目的 • 設計の早期段階で分割領域の特定 • ハード/ソフトの最適な分割を支援 • Cソースコード解析 • 条件・制約 • ハードウェアのリファレンスとなるソースコード • 関数がハードウェアモジュールに対応 • ポインタ・構造体・標準関数は対象外 • 各関数の制御はmain文にまとめる 関数・モジュール分割 分割パターン生成 性能・コスト・並列性解析 分割パターン 性能・コスト・並列性 ユーザ要求 分割パターン評価 最適分割パターン出力 最適な分割パターン

  4. ハード/ソフト最適分割システムの構成 制御(インタフェース) ― ― • 実装言語はRuby • 独自の内部表現を使用 性能・コスト解析部 前処理部 並列性解析部 演算式評価データ DFG・FSM 変数リスト 実装環境記述ファイル ソースコード CDFG・FSM 演算式評価データ ループ文 実装環境記述ファイル 字句解析 関数・モジュール分割&抽出 プリプロセッサ抽出 CDFG・FSM抽出 制御文・変数抽出 クロック数 回路規模 メモリ量 動作周波数 SW負荷割合 並列効果算出 出力部 分割パターン モジュール並列効果 モジュール性能 ユーザ要求 分割パターン生成部 ソースコード 最適な分割パターン出力 並列可能性出力 全分割パターン生成

  5. 実験方法 • Misty1暗号、AES暗号、SHA-1に適用 • 各関数の解析値を算出 • SW実行サイクル数、SW負荷割合、HW実行サイクル数、回路規模、メモリ量、最高動作周波数、並列性 • 全分割パターンの評価値を算出 • 実行サイクル数と回路規模のみで全パターン評価 • 速度(1:0)・回路規模(0:1)・バランス重視(0.5:0.5) • ユーザ要求を満たす、最適な分割パターンを算出 • ソフトマクロCPUで実測値を求め、解析値と比較

  6. Misty1暗号アルゴリズム FL 32 • 64ビットブロック・128ビット秘密鍵暗号 • FL・FO・FI・KSの4つの機能ブロックモジュールに分割 • 8ループの場合を対象 平文(64bit) 16 16 KLi1 FL FL KLi KLi+1 Loop(N times) KLi, KOi KLi2 FO KLi+1, KOi+1 FO 16 9 7 FO 32 16 16 S9 KOij S7 FI KIij KIi2 KIi1 FL FL KLn+1 KLn+2 S9 暗号文(64bit)

  7. Misty1暗号で各モジュールの性能解析 • 全体の誤差の平均は0.1 • FI・FLのハードウェア化が効果的 • 各性能により分割パターンの評価

  8. Misty1暗号での全分割パターン評価 • 全ての重視項目で、KS以外がハードウェアのパターンが優秀

  9. ユーザ要求を考慮した分割案の評価 • ◎要求 • 回路規模:実行サイクル数=0.1:0.9 • 回路規模・・・3000slice以下 • 実行サイクル数・・・4500clock以下 • 動作周波数・・・30MHz以上 • メモリ使用量・・・10KByte以下 • 要求を満たさないものは0 • FO以外をハードウェア化したものが優秀

  10. AES暗号アルゴリズム • 128ビットブロック秘密鍵暗号(鍵は可変) • 5つの機能ブロックモジュールに分割 • 鍵長が128ビットの場合を対象 平文(128bit) 秘密鍵 (128 or 192 or 256bit) AddRoundKey KeyExpansion SubBytes 拡大鍵 (128 or 192 or 256 bit) ShiftRows AddRoundKey MixColumns 暗号文(128bit) Loop(N times)

  11. AES暗号での実験 • AddRoundKey、ShiftRows、MixColumnsのハードウェア化が効果的 • 全体的に妥当な最適パターンを選出 回路規模比率 SW負荷割合

  12. ハッシュ生成アルゴリズムSHA-1 • 組込み機器向けベンチマークMiBenchより選出 • 5つの機能ブロックモジュールに分割 • MessagePaddingはソフトウェアで固定 • ハッシュ計算を行う • GetF・GetK・Rotateの3つの •  モジュールを使用 メッセージ 512bit Block生成 Loop(Block数) Loop 80times{ Temp=Rotate+f(b,c,d)+e+K+input e=d d=c c= Rotate b=a a=Temp } Message Padding 32bitシーケンス を80個生成 Sequence Generate Culculate Hash ハッシュ値の更新 Add Hash Rotate GetF GetK ハッシュ化データ

  13. SHA-1での実験 評価値 • 実測値と解析値によるバランス重視の評価値で比較 • 2つの評価値の整合性が高い • ハードウェア化の優先度の高いモジュールの割り出し

  14. 考察 • Misty1暗号、AES暗号 • 性能値の解析精度が高い • 分割パターンの選出は妥当 • ユーザ要求を満たした最適な分割パターンの選出 • SHA-1 • 全パターンの評価値を参照することで、分割パターンの傾向探索 • ハードウェア化の優先度の決定 ハード/ソフト最適分割システムは有効

  15. まとめ • ハード/ソフト最適分割システムによるMisty1暗号、AES暗号の分割パターンの妥当性検討 • ユーザ要求を考慮したハード/ソフト最適分割による分割パターン検討 • SHA-1における分割パターンの傾向探索と分割パターンの妥当性検討 • ハードウェアのコスト・性能見積もりの向上 • 様々なアプリケーションへのシステムの適用 • マルチコア実験による並列性解析の妥当性検証 今後の課題

More Related