O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

増え続ける情報に対応するためのFPGA基礎知識

LINE Fukuoka社内勉強会用の資料です

  • Entre para ver os comentários

増え続ける情報に対応するためのFPGA基礎知識

  1. 1. 増え続ける情報に対応するための FPGA基礎知識 2015年6月24日 きしだなおき
  2. 2. FPGAとは ● Field Programmable Gate Array – Field 現場で – Programmable プログラム可能な – Gate 論理素子が – Array いっぱい並んだやつ ● 現場でプログラムできる論理回路
  3. 3. 回路をプログラムできる ● 1chip MSX – MSXという1983年のパソコン規格をFPGAで実現 – Z80 CPU – V9938ディスプレイプロセッサ – AY-3-8910サウンドジェネレータ(PSG)
  4. 4. FPGAの仕組み
  5. 5. 回路の合成 ● 例:3入力でORとANDの組み合わせ
  6. 6. 回路にはいろいろある ● XORやNOTなどいろいろ組み合わせると大変 ● 全部用意しようとすると使わない素子が多くなる ● 回路に無駄
  7. 7. 回路の入出力の組み合わせ 入力 出力 000 0 100 0 010 0 110 1 001 1 101 1 011 1 111 1
  8. 8. LUT(LookUp Table) ● 入出力をあらかじめメモリにもっておけばいい ● 製品としては4入力LUTや6入力LUT 入力 出力 000 0 100 0 010 0 110 1 001 1 101 1 011 1 111 1
  9. 9. 論理ブロック ● Logical Element(LE) Altera ● Logical Cell(LC) Xilinx
  10. 10. 配線 ● 論理ブロックが格子状に配置 ● 周囲に配線 ● アイランドスタイル
  11. 11. 乗算回路とメモリ ● 乗算やメモリを論理ブロックの組み合わせで実現 すると効率がわるい ● 乗算回路やメモリ(SRAM)がのってる
  12. 12. FPGAは基本的にはメモリ回路 ● LUTの基本はメモリ ● 配線スイッチもメモリ ● 配線データを書き込むだけ
  13. 13. FPGAとCPU ● CPUとは – メモリから命令をよびだして、命令にしたがった回路で 処理を行う – ノイマン型アーキテクチャ
  14. 14. FPGAなら ● 命令を読み込む必要なく、回路をやりたい処理の とおり並べることができる ● 非ノイマン型アーキテクチャ
  15. 15. FPGAの利点 ● 命令を読み込む必要がない – 処理を行うまでのタイムラグが少ない ● 低レイテンシ – 命令解析のための回路が不要 ● 余分な回路がないので低消費電力 ● 細かな並列化
  16. 16. ムーアの法則の限界 ● ムーアの法則 – 1年半で集積度が倍になる ● そろそろ限界が見えてきている ● チップ微細化の停滞によって、消費電力が決まれ ばトランジスタ数が決まるようになる – 限られたトランジスタ数で効率よい処理が必要になる
  17. 17. 最近のできごと ● 2012 金融処理でのFPGA ● 2014 MicrosoftがサーバーにFPGA採用を発表 ● 2014 DwangoがFPGA技術者を募集 ● 2015 IntelがAlteraを買収
  18. 18. 金融計算 ● HFT(High Frequency Trade) ● 時間=お金 ● 回路切り替えにも工夫 – 回路切り替えで処理が止まるならFPGAで時間短縮す る意味がない ● FPGAが計算に利用できる
  19. 19. MicrosoftがサーバーにFPGA採用 ● 1632台のFPGAサーバーでクラスタを構成 ● ページランク処理でスループットを2倍 ● スループット同一の場合は遅延を3割減 ● サーバーに載せるFPGAの効率が実証される
  20. 20. DwangoがFPGA技術者を募集 ● Dwangoの主力事業は動画配信 ● 動画処理などをFPGAで高速化 ● 日本のサービス会社がFPGAに注目している
  21. 21. IntelのAltera買収 ● 2015年6月1日に買収発表 ● AlteraはXilinxと1、2位を争うFPGAメーカー ● XeonとFPGAの組み合わせ ● 「Intelの予想では、2020年までにクラウドサービ スプロバイダのサーバノードの最大1/3でFPGA が活用される」
  22. 22. FPGAでの開発 ● 回路記述 – VHDLやVerilogHDLなど ● 論理合成 – HDLを論理回路に変換 ● 配置配線 – 論理回路を実際の回路に配置 ● コンフィギュレーション – FPGAに回路情報を設定
  23. 23. HDLの問題点 ● 書くのが面倒 ● 書くのが面倒 ● 論理合成に時間がかかる – 数時間かかったりする ● デバッグが面倒 ● デバッグが面倒 ● テストも面倒 ● テストも面倒 ● いろいろ面倒
  24. 24. IPを使う ● Intellectual Property ● ようするにライブラリ ● だれかが作って検証してる
  25. 25. SoC ● System on Chip ● CPU回路のせちゃえ – ソフトコアCPU ● 物理CPUのせちゃえ – FPGAの微細化 – チップに余裕 – 再構成可能回路が大量にあってもしかたない – そうだARMを乗せよう
  26. 26. 高位合成 ● CとかJavaとかで書いてHDLに変換 ● アルゴリズムの検証がソフトウェアとして行える – デバッガなどが使える – コンパイルが速い ● OpenCL – GPUやCPUでの並列にも対応
  27. 27. FPGAのつかいどころ ● ネットワーク処理 ● 人工知能 ● IoT
  28. 28. ネットワーク処理 ● 40Gbイーサとか100Gbイーサとかが普及すると 処理についていけない ● 暗号化や認証、圧縮処理をFPGAで行うとよさげ ● CPUはアプリケーション処理に専念
  29. 29. 人工知能 ● 深層ニューラルネットワーク ● たくさんの掛け算・足し算を要素ごとに行う
  30. 30. IoT ● たくさんのセンサーから常時データが送られる ● ほとんどのデータは無駄 ● 人工知能(深層ニューラルネットワーク)に学習さ せて、必要なデータだけを送信 ● 低消費電力
  31. 31. FPGAやりましょう

×