1 / 28

動的再構成可能プロセッサ Vulcan2 と そのソフトウェア開発環境 ISAcc に関する研究

動的再構成可能プロセッサ Vulcan2 と そのソフトウェア開発環境 ISAcc に関する研究. 平木哲夫, 門内伸吾 ,山崎陽介, 神戸隆行, Lovic GAUTHIER , Victor MAURO GOULART FERREIRA , Antoine TROUVE ,井上弘士,村上和彰. 目次. 背景 動的再構成可能プロセッサ Vulcan2 ソフトウェア開発環境 ISAcc 評価実験 おわりに. 目次. 背景 動的再構成可能プロセッサ Vulcan2 ソフトウェア開発環境 ISAcc 評価実験 おわりに.

tarmon
Download Presentation

動的再構成可能プロセッサ Vulcan2 と そのソフトウェア開発環境 ISAcc に関する研究

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. 動的再構成可能プロセッサVulcan2とそのソフトウェア開発環境ISAccに関する研究動的再構成可能プロセッサVulcan2とそのソフトウェア開発環境ISAccに関する研究 平木哲夫,門内伸吾,山崎陽介,神戸隆行,Lovic GAUTHIER,Victor MAURO GOULART FERREIRA,Antoine TROUVE,井上弘士,村上和彰

  2. 目次 • 背景 • 動的再構成可能プロセッサ Vulcan2 • ソフトウェア開発環境 ISAcc • 評価実験 • おわりに

  3. 目次 • 背景 • 動的再構成可能プロセッサ Vulcan2 • ソフトウェア開発環境 ISAcc • 評価実験 • おわりに

  4. ASIP(Application Specific Instruction-set Processor) • 携帯電話やデジタルカメラなどに用いられるシステムLSI • 動画、暗号、通信プロトコル等、アプリケーションの多様化 • 要求:高い計算能力、小面積、低開発コスト • 解決手法:ASIP • 高負荷処理をカスタム命令化 高性能を実現 Memory CPU <問題点> 設計時に想定されたアプリケーションに対して単一命令セットしか実装できない ASIP

  5. 再構成可能ASIP • 再構成可能ハードウェアで実現されたデータパスを搭載 • プログラム実行開始時にのみ再構成 • アプリケーション毎に命令セットを特化できる! • 各カスタム命令の機能を制限するものは・・・ • 命令セットの大きさ • 再構成可能ハードウェアの面積 Memory CPU 再構成可能ASIP

  6. 動的再構成可能ASIP • プログラム実行中にデータパスを再構成 • 長所:ハードウェア資源の有効利用 • 単一カスタム命令が全ての再構成可能ハードウェア資源を利用可能 • 高機能なカスタム命令を定義 • 実行命令数を大幅に削減 • 短所:再構成時間の顕在化 • 頻繁な再構成に伴う時間的オーバーヘッド • プログラム実行時間の増大

  7. 動的再構成可能ASIPVulcan2 • 動的再構成可能ASIP Vulcan2 • PEをベースとしたRDP(Reconfigurable Data Path) • 専用命令による再構成の制御 • Vulcan2向けソフトウェア開発環境ISAcc • 命令セットの自動生成、配置配線 • 再構成オーバーヘッドを考慮した命令スケジューリング • 高性能化を達成するためのポイント • いかに再構成制御命令の実行回数を削減するか? • いかにカスタム命令の高機能化により実行命令数を削減するか? • 本研究の目的:実装するPE数の違いが総実行命令数削減効果に与える影響を調査

  8. 目次 • 背景 • 動的再構成可能プロセッサ Vulcan2 • ソフトウェア開発環境 ISAcc • 評価実験 • おわりに

  9. 動的再構成可能プロセッサVulcan2 Vulcan2 • 命令セット • 32bit 標準的RISC命令 • カスタム命令 • RDP再構成制御命令 • 内部構成 • 5ステージ・パイプライン • 算術論理演算ユニットALU • 動的再構成可能ユニットRDP • 32bit ×32本の汎用レジスタ Memory bus Load Store ALU RDP Inner bus Register File

  10. ・・・ PE PE PE SW SW SW SW ・・・ PE PE PE ・・・ PE PE PE SW SW SW SW ・・・ ・・・ ・・・ PE PE PE SW SW SW SW Vulcan2のRDP(Reconfigurable Data Path) 6入力2出力LUT VLとHL間の スイッチ VL (Vertical Line) 128bit HL (Horizontal Line) 64bit ・・・

  11. 再構成オーバーヘッドの隠蔽 IF prcf ID RC RC RC RC ME WB • コンパイラによる命令スケジューリング • 再構成制御命令(prcf命令)とRISC命令の並列実行 • 構成情報の再利用 時間の経過 IF ID EXE ME WB add prcfでは何もしない IF ID EXE ME WB sub IF ID EXE ME WB nop IF ID EXE EXE ME WB ci IF WB ID EXE EXE ME ci 1クロックサイクル RC:ReConfiguration

  12. 目次 • 背景 • 動的再構成可能プロセッサ Vulcan2 • ソフトウェア開発環境 ISAcc • 評価実験 • おわりに

  13. 動的再構成可能ASIP向け開発環境ISAcc • HW非依存な最適化 •  ビット幅解析 ISAcc C言語 プログラム フロントエンド • SWの構文要素に対応する命令部品の集まり • C構文要素パターン・マッチング • CIのネットリストを合成 • 命令の合成の最適化 命令ライブラリ 命令セット合成 • CIのネットリストを配置配線 配置配線部 構成情報 • HW依存最適化 • アセンブリ・コード生成 • prcf命令スケジューリング Vulcan2 バックエンド Vulcan2バイナリコード

  14. 目次 • 背景 • 動的再構成可能プロセッサ Vulcan2 • ソフトウェア開発環境 ISAcc • 評価実験 • おわりに

  15. 評価実験 • 評価対象モデル • 標準的なRISCプロセッサ • Vulcan2プロセッサ • RDPのPE数:64、128、256、512 • 実験環境 • コード生成にはISAccを利用 • Vulcan2シミュレータにより実行命令数を測定 • アプリケーション • DES(Data Encryption Standard) • 64bit×16の平文を56bitの鍵で暗号化

  16. コードサイズ

  17. 実行命令数

  18. カスタム命令の種類とRDP使用率

  19. 目次 • 背景 • 動的再構成可能プロセッサ Vulcan2 • ソフトウェア開発環境 ISAcc • 評価実験 • おわりに

  20. おわりに • まとめ • アプリケーションを実装して実行命令数を測定 • PE数64では低機能なカスタム命令しか生成できないが、PE数128・256ならば高機能なカスタム命令の生成が可能 • 今後の予定 • クロックサイクルレベルでの詳細な性能評価 • Vulcan2のRDP部の詳細設計、面積の評価 • ISAccの更なる改良

  21. 御清聴ありがとうございました

  22. 付録

  23. カスタム命令のRDP使用率と種類 PE数=128 PE数=64 合計  18種類 ・srl,sll,andなどがカスタム命令化されている ・基本ブロックが大きい? 合計   57 種類

  24. PE数=512 PE数=256 合計  64 種類 合計  62 種類

  25. Vulcan2の性能評価式 CCT:Clock Cycle Time IC:Instruction Count :クロックサイクル時間 :基本命令1命令当たりの平均所要クロックサイクル数 :基本命令の実行命令数 :prcf命令1命令当たりの平均所要クロックサイクル数 :prcf命令の実行命令数 :ci命令1命令当たりの平均所要クロックサイクル数 :ci命令の実行命令数

  26. 構成情報の再利用による再構成時間の削減効果構成情報の再利用による再構成時間の削減効果

  27. 基本命令とprcf命令の並列実行による再構成時間の隠蔽効果基本命令とprcf命令の並列実行による再構成時間の隠蔽効果

  28. Vulcanのアーキテクチャ PE (Programmable Element) 6入力2出力LUT(Look Up Table) Program Memory 16行8列 128個 Controller Reconfigurable Data Path Data Memory Register Files PE PE PE PE ・・・ PE PE PE PE ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ PE PE PE PE Configuration Memory

More Related