170 likes | 307 Views
設計仕様解析による ハード/ソフト最適分割システムの 構築と評価. 立命館大学 理工学研究科 梅原 直人,○和田 智行,山崎 勝弘 2007/9/5. 研究背景. 高速化、低消費電力化などにコデザインは必要 大規模化によるシステムの複雑化 システムにはハードとソフトのバランスが必要. 目的. ハード / ソフト最適分割システムの構築 システムの設計仕様解析ツールの作成 実際にアプリケーション(暗号アルゴリズム)に適用し、システムの有効性を検証. ハード/ソフト分割探索. モジュール数により分割領域が指数関数的に増加 人間の判断で行うには限界がある
E N D
設計仕様解析によるハード/ソフト最適分割システムの構築と評価設計仕様解析によるハード/ソフト最適分割システムの構築と評価 立命館大学 理工学研究科 梅原 直人,○和田 智行,山崎 勝弘 2007/9/5
研究背景 • 高速化、低消費電力化などにコデザインは必要 • 大規模化によるシステムの複雑化 • システムにはハードとソフトのバランスが必要 目的 • ハード/ソフト最適分割システムの構築 • システムの設計仕様解析ツールの作成 • 実際にアプリケーション(暗号アルゴリズム)に適用し、システムの有効性を検証
ハード/ソフト分割探索 • モジュール数により分割領域が指数関数的に増加 • 人間の判断で行うには限界がある • シミュレーションによる数値解析にも限界 • ハード/ソフトの最適な分割を支援すること • 早期の予測による手戻り損失の減少
ハード/ソフト最適分割システム • C言語リファレンス・プロトタイプ作成段階から分割領域(境界)の特定 • 関数をハードウェアモジュールに対応 システムの最終出力 Cソースコード int a(); char b(); void c(); Hardware Software Analysis&Answer int a(); void c(); char b(); • ユーザの要求から分割 • 速さ優先、消費電力優先、コスト優先、etc… ソースコードと要求仕様を併せて、設計仕様と呼称
設計仕様解析手法 モジュール 外部要素 C言語ソースコード プリプロセッサ・関数抽出 モジュール(ファンクション)ファイル コード解析 CDFG 合成 演算式 評価 データ トレース FSM 合成 設計仕様解析器 モジュール毎の各要素の内部表現(CDFG・演算強度など) 性能解析 個別・相互評価 回路規模 速度 メモリ量 消費電力 工数
設計仕様解析器 • 各関数はハードウェア・モジュールに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” 処理の流れ 構造の深度
平文(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
モジュール連結による実験 • MISTY1を最適分割実験に使用 • MISTY1は軽く、簡単な制御 e.g.モジュール連結による実験結果の計測 平文 • ループ回数は100固定 • 連結によって意図的に巨大モジュールを作成 • 解析によってどのような変化が結果に出るのかを考察 MISTY1BLOCK[0] インライン展開 (連結) MISTY1BLOCK[1] 暗号化ブロック数は可変 大きな ハードウェア モジュール MISTY1BLOCK[N] 暗号文
実験環境 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
MISTY1単一ループモジュール性能 • 1ブロック(64bit)をN=8で暗号化する場合 • 最高性能で4Gbps程度のスループット • MB検証システムの動作周波数は100MHz固定 • ソフトウェアのみで同じ動作を行う場合2892サイクル このハードウェア・ソフトウェアの結果を本システムにフィードバックして設計仕様解析器を実現
モジュール性能評価式 • 偏差値は価値を画一するため(Bytes,Cycles…) • 分数計算は偏差値の揺れ幅を揃えるため • ユーザ要求の係数は比率 • Evalが最も大きい時にそのパターンを使用 Eval:各モジュール評価総和、Wu :ユーザ要求の係数Std():偏差値導出関数、Val:CDFGなどの性能値 item
実験結果と評価 MISTY1暗号の解析結果 MISTY1暗号の評価結果 処理速度重視 回路規模重視 メモリ使用量重視 11
MISTY1暗号解析結果の評価と考察 Evaluation • 処理速度とメモリ量はハードの化による評価の向上が高い • 回路規模はあまり変化なし • [6,2,2]の比率でも大差はない • MISTY1はハードウェア化で高性能になる A:速度重視 B:回路規模重視 C:メモリ使用量重視
Add ShiftRows, Round SubBytes, 40% MixColumns, 36% 14% Key, 10% AES暗号での実験 • 全く異なるモジュールからなる • 負荷の高いモジュールを優先的にハードウェア化 S W 大 H W 大 14
AES暗号による解析結果評価 Evaluation 実測評価結果 解析評価結果 Evaluation
ピアソンの積率相関係数による類似性証明 • 1に近いほど相関関係が強く、0に近いほど無関係 • 平均値は0.85 • 概ね解析が正しいといえる • “A”と“D”が高いことから処理速度(クロックサイクル数)の見積もり精度は高いといえる • “C”と“F”から、メモリ量解析でまだ見積もり精度に問題
まとめ • ハード/ソフト最適分割システム • 分割方法の探査のための実験・考察 • MISTY1暗号のハード/ソフト分割 • ツールの有効性判断 • AES暗号の実測値と解析値の類似性証明 課題 • 設計仕様解析器の完成 • 解析器の精度向上 • 他のアルゴリズム実装による実験