More Related Content
Similar to ソフトウェア技術者はFPGAをどのように使うか
Similar to ソフトウェア技術者はFPGAをどのように使うか (20)
ソフトウェア技術者はFPGAをどのように使うか
- 2. FPGAとは
● Field Programmable Gate Array
– Field 現場で
– Programmable プログラム可能な
– Gate 論理素子
– Array いっぱい並んだやつ
● 現場でプログラムできる論理回路
- 10. FPGAとASIC
● ASIC
– Application Specific Integrated Circuit
– 特定用途向け集積回路
– 設計・製造に時間がかかる
– 大量に生産する必要がある
– 製造に数千万円から数億円
– ひとつあたりのコストは安い
– 大量生産向き
– つまりふつうのチップ
- 14. FPGAの利点
● 命令を読み込む必要がない
● 処理間のデータのやりとりにメモリを介する必要
がない
● 細かな並列化
● 大量のI/O
– CPUでのI/Oは命令のひとつ
● でもCPUは最適化が進んでいるし高性能製品が
ある
- 16. スループットとレイテンシ
● スループット
– 単位時間あたりの処理量
● レイテンシ
– ひとつの処理にかかる時間
● シングルスレッドなら
– スループット=単位時間÷レイテンシ
– レイテンシ=単位時間÷スループット
- 21. FPGAとGPU
● GPU
– 浮動小数計算が得意
– 製品が安い
– 大量のコア
– 最悪レイテンシが遅くなる
– データ間演算が苦手
– CPUが必要
- 22. FPGAとGPU
● FPGA
– レイテンシをコントロールできる
– 浮動小数計算は苦手
– データ間演算もできる
– 単独で動かせる
● でもGPUが高性能低価格化してる
– 性質としてFPGAが優れてても製品としてGPUが進ん
でいる
- 23. FPGAでの開発
● 回路記述
– VHDLやVerilogHDLなど
● 論理合成
– HDLを論理回路に変換
● 配置配線
– 論理回路を実際の回路に配置
● コンフィギュレーション
– FPGAに回路情報を設定
- 24. HDLの問題点
● 書くのが面倒
● 書くのが面倒
● 論理合成に時間がかかる
– 数時間かかったりする
● デバッグが面倒
● デバッグが面倒
● テストも面倒
● テストも面倒
● いろいろ面倒
- 26. SoC
● System on Chip
● CPU回路のせちゃえ
– ソフトコアCPU
● 物理CPUのせちゃえ
– FPGAの微細化
– チップに余裕
– 再構成可能回路が大量にあってもしかたない
– そうだARMを乗せよう
- 30. 金融計算
● 時間=お金
● 回路切り替えにも工夫
– 回路切り替えで処理が止まるならFPGAで時間短縮す
る意味がない