1 / 17

設計仕様解析による ハード/ソフト最適分割システムの 構築と評価

設計仕様解析による ハード/ソフト最適分割システムの 構築と評価. 立命館大学 理工学研究科 梅原 直人,○和田 智行,山崎 勝弘 2007/9/5. 研究背景. 高速化、低消費電力化などにコデザインは必要 大規模化によるシステムの複雑化 システムにはハードとソフトのバランスが必要. 目的. ハード / ソフト最適分割システムの構築 システムの設計仕様解析ツールの作成 実際にアプリケーション(暗号アルゴリズム)に適用し、システムの有効性を検証. ハード/ソフト分割探索. モジュール数により分割領域が指数関数的に増加 人間の判断で行うには限界がある

geoff
Download Presentation

設計仕様解析による ハード/ソフト最適分割システムの 構築と評価

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. 設計仕様解析によるハード/ソフト最適分割システムの構築と評価設計仕様解析によるハード/ソフト最適分割システムの構築と評価 立命館大学 理工学研究科 梅原 直人,○和田 智行,山崎 勝弘 2007/9/5

  2. 研究背景 • 高速化、低消費電力化などにコデザインは必要 • 大規模化によるシステムの複雑化 • システムにはハードとソフトのバランスが必要 目的 • ハード/ソフト最適分割システムの構築 • システムの設計仕様解析ツールの作成 • 実際にアプリケーション(暗号アルゴリズム)に適用し、システムの有効性を検証

  3. ハード/ソフト分割探索 • モジュール数により分割領域が指数関数的に増加 • 人間の判断で行うには限界がある • シミュレーションによる数値解析にも限界 • ハード/ソフトの最適な分割を支援すること • 早期の予測による手戻り損失の減少

  4. ハード/ソフト最適分割システム • C言語リファレンス・プロトタイプ作成段階から分割領域(境界)の特定 • 関数をハードウェアモジュールに対応 システムの最終出力 Cソースコード int a(); char b(); void c(); Hardware Software Analysis&Answer int a(); void c(); char b(); • ユーザの要求から分割 • 速さ優先、消費電力優先、コスト優先、etc… ソースコードと要求仕様を併せて、設計仕様と呼称

  5. 設計仕様解析手法 モジュール 外部要素 C言語ソースコード プリプロセッサ・関数抽出 モジュール(ファンクション)ファイル コード解析 CDFG 合成 演算式 評価 データ トレース FSM 合成 設計仕様解析器 モジュール毎の各要素の内部表現(CDFG・演算強度など) 性能解析 個別・相互評価 回路規模 速度 メモリ量 消費電力 工数

  6. 設計仕様解析器 • 各関数はハードウェア・モジュールに1対1対応 • 実装環境を考慮 • ユーザの要求を考慮(速度重視、メモリ重視、……など) • goto文・malloc文・ポインタ・文字列操作はサポートしない • 実装言語はRuby C言語ファイル モジュールインスタンス(CDFG) int func(int B,int C){ int A,I,j; for(i=0;i<4;i++){ for(j=0;j<4;j++){ A=B+C; } } return A; } rtm,true,[“int”.”int”] farg,”int”,[“B”,”C”] decl,””,[“A”,”i”,”j”] loop,”for”,0,”i”,0,”<4”,”++” loop,”for”,1,”i”,0,”<4”,”++” assign,2,[“A”],[“B”,”+”,”C”] ctrl,”return”,0,no_assign,”A” 処理の流れ 構造の深度

  7. 平文(64bit) FL 32 16 16 KLi1 FL FL KLi KLi+1 Loop(N times) KLi, KOi FO KLi2 KLi+1, KOi+1 FO FL FL KLn+1 KLn+2 暗号文(64bit) Misty1暗号アルゴリズム • 64ビットブロック・128ビット秘密鍵暗号 • 条件分岐の一切ない構造 64 bit FO 16 9 7 32 16 16 S9 KOij S7 FI KIij KIi2 KIi1 S9

  8. モジュール連結による実験 • MISTY1を最適分割実験に使用 • MISTY1は軽く、簡単な制御 e.g.モジュール連結による実験結果の計測 平文 • ループ回数は100固定 • 連結によって意図的に巨大モジュールを作成 • 解析によってどのような変化が結果に出るのかを考察 MISTY1BLOCK[0] インライン展開 (連結) MISTY1BLOCK[1] 暗号化ブロック数は可変 大きな ハードウェア モジュール MISTY1BLOCK[N] 暗号文

  9. 実験環境 OPB Clock DLL Block RAM SW処理 + 制御 • Xilinx社のソフトコアMicroBlazeを軸に構築 • FSLでユーザペリフェラルと通信 • ツールと専用コンパイラが付属 • 結果はUART-RS232Cからデスクトップへ MicroBlaze UART RS232C Connector SDRAM control SDRAM FSL FSL FSL FSL HW処理 Clock counter User Peripheral User Peripheral FPGA

  10. MISTY1単一ループモジュール性能 • 1ブロック(64bit)をN=8で暗号化する場合 • 最高性能で4Gbps程度のスループット • MB検証システムの動作周波数は100MHz固定 • ソフトウェアのみで同じ動作を行う場合2892サイクル このハードウェア・ソフトウェアの結果を本システムにフィードバックして設計仕様解析器を実現

  11. モジュール性能評価式 • 偏差値は価値を画一するため(Bytes,Cycles…) • 分数計算は偏差値の揺れ幅を揃えるため • ユーザ要求の係数は比率 • Evalが最も大きい時にそのパターンを使用 Eval:各モジュール評価総和、Wu  :ユーザ要求の係数Std():偏差値導出関数、Val:CDFGなどの性能値 item

  12. 実験結果と評価 MISTY1暗号の解析結果 MISTY1暗号の評価結果 処理速度重視 回路規模重視 メモリ使用量重視 11

  13. MISTY1暗号解析結果の評価と考察 Evaluation • 処理速度とメモリ量はハードの化による評価の向上が高い • 回路規模はあまり変化なし • [6,2,2]の比率でも大差はない • MISTY1はハードウェア化で高性能になる A:速度重視 B:回路規模重視 C:メモリ使用量重視

  14. Add ShiftRows, Round SubBytes, 40% MixColumns, 36% 14% Key, 10% AES暗号での実験 • 全く異なるモジュールからなる • 負荷の高いモジュールを優先的にハードウェア化 S W 大 H W 大 14

  15. AES暗号による解析結果評価 Evaluation 実測評価結果 解析評価結果 Evaluation

  16. ピアソンの積率相関係数による類似性証明 • 1に近いほど相関関係が強く、0に近いほど無関係 • 平均値は0.85 • 概ね解析が正しいといえる • “A”と“D”が高いことから処理速度(クロックサイクル数)の見積もり精度は高いといえる • “C”と“F”から、メモリ量解析でまだ見積もり精度に問題

  17. まとめ • ハード/ソフト最適分割システム • 分割方法の探査のための実験・考察 • MISTY1暗号のハード/ソフト分割 • ツールの有効性判断 • AES暗号の実測値と解析値の類似性証明 課題 • 設計仕様解析器の完成 • 解析器の精度向上 • 他のアルゴリズム実装による実験

More Related