Suche senden
Hochladen
20140310 fpgax
•
Als PPT, PDF herunterladen
•
8 gefällt mir
•
4,613 views
F
funadasatoshi
Folgen
FPGA exstream computing #5 About the fpga based HTTP proxy cache server 'freeocean.'
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 31
Jetzt herunterladen
Empfohlen
ソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うか
なおき きしだ
FPGAって、何?
FPGAって、何?
Toyohiko Komatsu
Gpu vs fpga
Gpu vs fpga
Yukitaka Takemura
増え続ける情報に対応するためのFPGA基礎知識
増え続ける情報に対応するためのFPGA基礎知識
なおき きしだ
FPGA
FPGA
firewood
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
Shinya Takamaeda-Y
Myoshimi extreme
Myoshimi extreme
Masato Yoshimi
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
ryos36
Empfohlen
ソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うか
なおき きしだ
FPGAって、何?
FPGAって、何?
Toyohiko Komatsu
Gpu vs fpga
Gpu vs fpga
Yukitaka Takemura
増え続ける情報に対応するためのFPGA基礎知識
増え続ける情報に対応するためのFPGA基礎知識
なおき きしだ
FPGA
FPGA
firewood
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
Shinya Takamaeda-Y
Myoshimi extreme
Myoshimi extreme
Masato Yoshimi
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
ryos36
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
Shinya Takamaeda-Y
FPGAX6_hayashi
FPGAX6_hayashi
愛美 林
FPGAことはじめ
FPGAことはじめ
Takahiro Nakayama
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
Shinya Takamaeda-Y
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
Kentaro Ebisawa
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
Shinya Takamaeda-Y
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
Takefumi MIYOSHI
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
Shinya Takamaeda-Y
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Shinya Takamaeda-Y
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
Shinya Takamaeda-Y
Pynq祭り資料
Pynq祭り資料
一路 川染
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
Shinya Takamaeda-Y
高速シリアル通信を支える技術
高速シリアル通信を支える技術
Natsutani Minoru
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
Shinya Takamaeda-Y
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
ryos36
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
marsee101
ICD/CPSY 201412
ICD/CPSY 201412
Takefumi MIYOSHI
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
Hiroki Nakahara
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
Shotaro Uchida
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
Weitere ähnliche Inhalte
Was ist angesagt?
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
Shinya Takamaeda-Y
FPGAX6_hayashi
FPGAX6_hayashi
愛美 林
FPGAことはじめ
FPGAことはじめ
Takahiro Nakayama
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
Shinya Takamaeda-Y
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
Kentaro Ebisawa
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
Shinya Takamaeda-Y
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
Takefumi MIYOSHI
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
Shinya Takamaeda-Y
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Shinya Takamaeda-Y
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
Shinya Takamaeda-Y
Pynq祭り資料
Pynq祭り資料
一路 川染
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
Shinya Takamaeda-Y
高速シリアル通信を支える技術
高速シリアル通信を支える技術
Natsutani Minoru
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
Shinya Takamaeda-Y
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
ryos36
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
一路 川染
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
marsee101
ICD/CPSY 201412
ICD/CPSY 201412
Takefumi MIYOSHI
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
Hiroki Nakahara
Was ist angesagt?
(20)
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
FPGAX6_hayashi
FPGAX6_hayashi
FPGAことはじめ
FPGAことはじめ
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
Pynq祭り資料
Pynq祭り資料
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
高速シリアル通信を支える技術
高速シリアル通信を支える技術
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
ICD/CPSY 201412
ICD/CPSY 201412
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
Ähnlich wie 20140310 fpgax
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
Shotaro Uchida
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
Fpga local 20130322
Fpga local 20130322
Takefumi MIYOSHI
Kernel vm-2014-05-25
Kernel vm-2014-05-25
Hirochika Asai
SDN Japan: ovs-hw
SDN Japan: ovs-hw
ykuga
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
Deep Learning JP
仮想FPGAクラウド
仮想FPGAクラウド
Eric Fukuda
Boost study14
Boost study14
fjnl
Trema day 1
Trema day 1
ykuga
High speed-pc-router 201505
High speed-pc-router 201505
ykuga
Good Arm FPGA Board Ultra96 and Google AI YOLO
Good Arm FPGA Board Ultra96 and Google AI YOLO
If_CQ
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
Motonori Shindo
Yet another Intel Chipset Internal SMBus device’s driver: ismt(4)(and spdmem...
Yet another Intel Chipset Internal SMBus device’s driver: ismt(4)(and spdmem...
Masanobu Saitoh
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
Computational Materials Science Initiative
最近遊んだLinuxボードたち
最近遊んだLinuxボードたち
t n
IPv6技術動向
IPv6技術動向
Shinsuke SUZUKI
201104016 osc2011 kobe
201104016 osc2011 kobe
Yamauchi isamu
WalBの紹介
WalBの紹介
Takashi Hoshino
POWER8ここだけの話
POWER8ここだけの話
IBM Systems @ IBM Japan, Ltd.
IPv6の現状
IPv6の現状
Shinsuke SUZUKI
Ähnlich wie 20140310 fpgax
(20)
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
Fpga local 20130322
Fpga local 20130322
Kernel vm-2014-05-25
Kernel vm-2014-05-25
SDN Japan: ovs-hw
SDN Japan: ovs-hw
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
仮想FPGAクラウド
仮想FPGAクラウド
Boost study14
Boost study14
Trema day 1
Trema day 1
High speed-pc-router 201505
High speed-pc-router 201505
Good Arm FPGA Board Ultra96 and Google AI YOLO
Good Arm FPGA Board Ultra96 and Google AI YOLO
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
Yet another Intel Chipset Internal SMBus device’s driver: ismt(4)(and spdmem...
Yet another Intel Chipset Internal SMBus device’s driver: ismt(4)(and spdmem...
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
最近遊んだLinuxボードたち
最近遊んだLinuxボードたち
IPv6技術動向
IPv6技術動向
201104016 osc2011 kobe
201104016 osc2011 kobe
WalBの紹介
WalBの紹介
POWER8ここだけの話
POWER8ここだけの話
IPv6の現状
IPv6の現状
Kürzlich hochgeladen
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Kürzlich hochgeladen
(7)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
20140310 fpgax
1.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
にネットワーク処理を実装してきた話と、これからの話 • 船田悟史 – 1975 年 1 月 1 日生まれ、栃木県出身 – 東京工業大学情報理工学研究科計算工学専攻でした – 東京工業大学無線研究部でした – 今は、株式会社イーツリーズ・ジャパン 代表取締役社長 • 今日の中身 – FPGA 前夜 – FPGA でWebサーバを作る – FPGA と CPU とイーサネット – FPGA の大変なところ、おもしろいところ – これから何をやりたい?
2.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA前夜 -
TCP/IP を聞いて知る • アマチュア無線を使って TCP/IP 通信 – LinuxPC + TNC(Terminal Node Controller) + アマチュア無線機 • Linux には、 AF_AX25 が実装されています。 – 物理層 : アマチュア無線 430/1200MHz 帯、 1200bps(Bell202) – リンク層 : AX.25( コールサインが MAC アドレス!) – ネットワーク層以上 : TCP/IP, SMTP, NNTP, HTTP… – 音声帯域 (1200Hz と 2200Hz) の2音を使って 1 と 0 を表現 – 音なので、ほかの無線機では、耳で通信の様子が聞こえる – TCP/IP を音で感じることが出来る! • スリーハンドシェーク SYN-SYN/ACK-ACK • パケットロスと、 TCP の再送 • メールの到着が、パケット通信の音でわかる。 • メールが送信されていったのが、音でわかる。 – コンピュータの気持ちがわかる。 • あー、がんばって再送しようとしてるけど、向こう側には聞こえてないんだなー
3.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
前夜 - TCP/IP を実装する (1-1) • TNC-ZZ(1994-1995) – もっと速いインターネット接続をアマチュア無線で実現したい! – イーサネットインターフェースを持った TNC( の一部分) – FreeBSD の NE2000 デバドラのコードを参考に、アセンブラで NE2000 ドライバ を作成 – イーサネット -AX.25 ブリッジとして動作する NE2000 イーサネット Z-80 系 CPU (HD64180S) ISA バス Mbps シリアル インターフェース モデム 変復調 ベースバンド 信号 アマチュア 無線機 担当範囲
4.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
前夜 - TCP/IP を実装する (1-2) – イーサネットの勉強には最適でした。 – 毎回 UV-EPROM を書き換えるのが面倒。 • 紫外線を 20 分くらい当てるとデータが消える ROM • 書き込みにも数分かかる。 – このあと、 BOOTP クライアントと、 TFTP クライアントも実装して、ネットブー トする Z80 システムも作りました。 ( デバッグを早くするため) 出典「 LAN によるハードウェア制御」
5.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
前夜 - TCP/IP を実装する (2) • picudp (1999) – PIC マイコンを使って、 Web サーバを実装した!という人が海外に現れる • 世界最小の Web サーバ • http://www-ccs.cs.umass.edu/shri/iPic.html • まねしてみよう! – TCP は面倒なので、とりあえず UDP のサーバ • インターフェースは RS232C/SLIP • IP アドレス固定 (10.0.0.1) • 1 ビット受信すると、 1 ビット送信する – パケット全体はバッファしない。 • http://sato-www.cs.titech.ac.jp/funada/picudp/ – Ping に答えるバージョン • このあと、 PIC につないだサーミスタの値を UDP で返すように改造した – UDP 温度計サーバ » 実装したものはどっかになくしてしまいました。。
6.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
前夜 - まとめ • TCP/IP, Ethernet 関連のプロトコルを実装してわかったこと。 – 入ってきたものに、 RFC 通りに正しく答えれば、動く! • 実装方法はどうでも構わない。 • たとえ、 – C 言語でも、 – Z-80 アセンブラでも、 – PIC マイコンアセンブラでも、 – きっと FPGAでも。 • たまに RFC どおりではないものもあるが。
7.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGAでWebサーバを作る •
なぜFPGAで作り始めたのか? – Web での申し込みイベントが増えた – そのたびにアクセス集中して、サービスがダウンする – 100倍速いサーバがあればいいんじゃないか? – FPGAで作ったら作れないか? • 最近 10 万ゲートの FPGA が1万円くらいで買える (2000 年時点) • メモリも安くなってきた • CAM という特殊なメモリもある – イーツリーズ・ジャパンでそれやろう! • イーツリーズ・ジャパンの目標 – 100 倍速いサーバを作る。 – サービス事業者に買ってもらう。 – 過程として、上場する、ことを前提に、資金を集める。
8.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGAでWebサーバを作る -
freeocean • Freeocean – HTTP プロキシ型のキャッシュサーバ – 2006 年発売 – 50 万同時 TCP コネクション – 出力帯域 1Gbps – キャッシュ容量 最大 32GByte – Name based のバーチャルホスト対応 – Hot-Hot の冗長構成対応 – IP アドレス単位、コネクション単位のトラフィックコントロール – アクセスログ出力
9.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGAでWebサーバを作る •
どうやって作る? – とにかく FPGA と、 Ethernet の PHY LSI を買う – データシートを読む – 基板をつくって、半田付けする – イーサネットパケットを受信してみる • ロジックアナライザで波形が見えればOK! • 見えた! – そのまま折り返しで、送信してみる • ping と tcpdump • PC側で送ったパケットと同じものが帰ってきた! • 物理層OK – イーサネットフレームを解析して、 • ARP リプライのフレームを作る回路を作る • さきほどの送信回路につなぐ • ARP 解決できた! – IP と ICMP のヘッダ解析回路を作る • ICMP応答ヘッダをつくる。データ部分はそのまま折り返す。 • IPヘッダを生成する。 • チェックサムがなかなか合わない。 • 送信回路につなぐ • ICMP Echo Request に、FPGAが答えた!( 2001 年 3 月 )
10.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGAでWebサーバを作る •
ICMP echo reply まで作れれば、あとはひたすら TCP と HTTP とファイルシ ステムをつくっていけばよい。 • 「。。。つくっていけばよい」ってそれほど簡単じゃない。 • この時点で、回路のパターン、法則性が見えてきた。 – デザインパターンのようなもの? • すべて扱うものはパケット – パケットが入ってきて、パケットが出て行く。 • ソフトウェアでの実装 (OS のなか)も同じ構造。 – ip_input(), ip_output(), tcp_input() など • 回路もそう作ればよい。 – パケットが入ってきて、 – そのパケットのヘッダやデータに対して、計算や処理をして、 – パケットを出す – 、、、の繰り返し。
11.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
でWebサーバを作る • UPL処理回路 – 入力を受けて、処理をして、出力する。 – 入力は1つだけ。 • 複数あると、検証のときの、入力パターンの組み合わせが爆発して大変 受信 FSM 処理 FSM 起動 送信 FSM 起動 パケットバッファ メモリ ヘッダ レジスタ ヘッダ レジスタ 処理 ロジック 入力パケット 出力パケット
12.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
でWebサーバを作る • UPLってなに? – Universal Protocol Line • なんでもパケットが通せる伝送路 – フロー制御付き の 片方向 の データ伝送路 • だたそれだけ。 • フロー制御はあったほうがよい – 例 • 32bit のデータ信号線+イネーブル信号+フロー制御信号(次スライド) • RS232C、パラレルポート • USB • イーサネットや、UDPや、TCPでもいい。 • RMIでもいい。
13.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
でWebサーバを作る – 具体的な実装例 • 32bit パラレルな UPL 伝送路 – FPGA 内部で使う http://e-trees.jp/index.php/製品/UPLとは より転載
14.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
で Web サーバをつくる - UPL 処理モジュール回路合成系 • パケットの送受信部やステートマシンの定型部を書くのが面倒 • 同じ部分は、スクリプトで合成しましょう – gene_uplmodule.awk .awk です。
15.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
で Web サーバを作る - gene_uplmodule @ENTITY add_sub_module @RECV 0 input 32 Command, 32 a, 32 b, 32 @END @SEND 0 output 32 Result, 32 x, 32 @END @STAGE add_sub_module @SENSE command, a, b @SUBST x if( command(7 downto 0) = X”00” ) then -- add value_x <= value_a + value_b; else -- sub value_x <= value_a – value_b; end if; @TO resut_output; @END @STAGE result_output @SUBST result result <= X”00”; -- success @SEND output; @END Add_sub_module.vhd 受信 Add_sub_module Result_output 送信 Reset 入力 UPL 出力 UPL command a b result z
16.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
でWebサーバを作る - UPL ユーティリティー回路ライブラリ群 • パケット合流回路 – さすがにすべての回路が1入力というわけにはいかない。 – 前提:データはいじらない – パケット経路として、複数を1つにまとめる。 受信 FSM 送信 FSM パケットバッファ メモリ 入力パケット 出力パケット 受信 FSM パケットバッファ メモリ 入力パケット 受信 FSM パケットバッファ メモリ 入力パケット アービタ
17.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
で Web サーバをつくる - UPLの利点と欠点 • 利点 – 回路同士が「電気的に」疎結合である • 個々の回路モジュールで動作検証ができれば、全体でも動く • 配置配線もしやすい – 回路同士がパケットインターフェースである • パケットでデータを捉えることが出来る • UDP パケットにカプセル化して、外部に取り出しやすい – Tcpdump で、回路のデバッグが出来る • デバイス分割がやりやすい。 – FPGA間にパケットのインターフェースがあれば、とりあえずデバイス跨ぎができる。 • 欠点 – パケットに入りきらない情報の扱いが面倒 • 大きなデータはパケットに分割しないといけない
18.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
で Web サーバを作る - モジュール構成 TCP/IP (v4/v6) TCP/IP (v4/v6) HTTPHTTP帯域制御帯域制御 IP フィルタIP フィルタ コンテンツメモリ ファイルシステム コンテンツメモリ ファイルシステム キャッシュ 制御 キャッシュ 制御 コンテンツ 鮮度管理 コンテンツ 鮮度管理 負荷分散負荷分散 冗長化 負荷分散 冗長化 負荷分散 TCP ポート転送 TCP ポート転送 ユーザ インターフェース ユーザ インターフェース システムマネジメント ( SNMP,syslog) システムマネジメント ( SNMP,syslog) アクセス ログ出力 アクセス ログ出力 透過 フィルタ 透過 フィルタ URL リライト URL リライト Web Application Firewall Web Application Firewall バーチャル ホスト バーチャル ホスト クライアント Web アプリケーション サーバ Web アプリケーション サーバ ハードウェア部 ソフトウェア部 コンテンツ アップデート コンテンツ アップデート キャッシュ ルール キャッシュ ルール インターネット側からのアクセスを すべてハードウェアにて高速処理 オリジンサーバアクセスを ソフトウェアにより高機能化 イーサネット
19.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
で Web サーバを作る - 内部構成 Ethernet 、 IPv4/v6 TCP/Socket HTTP File System Cache Manager Power supply
20.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
で Web サーバを作る - で、もうかってまっかー? • 某通信事業者様の配信サーバ – ウィルス対策ソフトウェアとパターンファイルを配信 • アイテック阪急阪神様 – 「バーストアクセス対応WEBサービス」 – http://www.itechh.ne.jp/related/burst.html • 社内では、 – 東日本大震災のときの、放射線量情報のキャッシュ配信 – JAXA のロケットや人工衛星打ち上げのイベントの生中継 • お試しいただける装置がありますので、ぜひご活用ください。
21.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
で Web サーバを作る - 苦労したところ • TATが長い – 1回が約2時間 • コンパイル (HDL 解析、 RTL 合成、 P&R 、 bitgen) がとにかく遅い • 一行でも、パラメータだけでも変えると、全体コンパイル – ソフトウェア業界と比べて、非常に遅れている。 – デバッグ、機能改善・追加に時間がかかる • デバッグモジュールの活用、 Tcpdump ベースのデバッグ • 物を作るのはお金がかかる – 設計委託、製造委託で 2000 万円 • タイミングエラーは出てちゃ駄目 – これ、ちゃんと動かすための大前提です • タスクマネージャ、タイマー等の集中管理部は作るのが大変 – 512k connection x 8timer = 4M timer の管理
22.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGA
で Web サーバをつくる - IPコア販売 • IPコア事業始めました – ハードウェアはお金がかかる – ノウハウをお安く提供します • e7cores (Xilinx 用です) – e7ether (10/100M, 1G, 10G ) PHY とのインターフェース、イーサフレーム送受 信 – e7udpip (10/100M, 1G, 10G) UDP パケット送受信、 ARP/ICMP – e7tcpip TCP サーバ機能、 TCP クライアント機能 ( 開発中) – e7pcie (Gen1, Gen2) GPIO 機能、 DMA インターフェース機能、 PC のメモリを FPGA から UPL でアクセス可能 – e7memiface MIG のコアを使って、 UPL でメモリアクセスを提供 – e7sata UPL で HDD/SSD に、メモリアクセスと同じようにアクセス ( 開発中 ) – e7lvdsiface (Spartan6, 7 シリーズ ) LVDS で 937Mbps/pair の UPL 経路を提供
23.
014/3/10 FPGA エクストリーム・コンピューティング第5回 10GbE
の取り組み • 10GBASE-R 系は、 FPGA の高速トランシーバで対応可能 – Xilinx Vertex7, Kintex7 – Altera Stratix V, Arria V – 10GBASE-T は、外付け PHYLSI が必要 • Xilinx は、 PCS/PMA は無料でライブラリ提供、 MAC は有償ライブラリ。 • Altera は、 PCS/PMA, MAC ともに有償ライブラリ。 • e7cores では、 Xilinx 用には MAC コアを販売可能です。
24.
014/3/10 FPGA エクストリーム・コンピューティング第5回 10GbE
への取り組み - 10G はここが大変 • ビットレートが高い – GbE では、 8bit 125MHz – 10GbE では、 64bit 156.25MHz • フレーム間ギャップが短い – GbE では、 12clock あった – 10GbE では、 1clock しかない • FIFO への制御をぎりぎりまで切り詰めないと難しい • CRC計算が大変 – GbE では普通に LUT で CRC 計算できた – 10GbE では、ビットスライスする方式が必要 – きっと、 40G,100G では、ハードマクロが必要だろう • Altera は、すでに V シリーズで、ハードウェアで CRC 計算をサポートしている。
25.
014/3/10 FPGA エクストリーム・コンピューティング第5回 10GbEへの取り組み - UDPエコーの動作 10GbE ペイロードサイズ 2524
cycle (12.620u 秒 ) 251 cycle (1.255u 秒 )
26.
014/3/10 FPGA エクストリーム・コンピューティング第5回 これから何をやりたい? •
ハードウェアは何かとコストがかかる – これを低減する工夫が必要!! • どうやって? – お金は(いっぱいは)ない、時間もあんまりない – 少しずつ、作って、貯めて、 • ビルディングブロック構想 – 大きなFPGAのコンパイルには時間がかかる → 小さなFPGAをいっぱい使う – お客様ごとに、基板を作るのはお金と時間がかかる → 小さなFPGA基板を、組み合わせて作る – VHDLのコーディング(デバッグ)には時間がかかる → すでに出来上がったUPLモジュールを使いまわす • ソフトウェアでは当たり前のことがFPGAでは出来ていない(と思う)
27.
014/3/10 FPGA エクストリーム・コンピューティング第5回 これから何をやりたい - 今 •
少しずつ群ができつつある – 回路設計製造業者( SI シナジーテクノロジー社、 ARKUS 社)との協業 – 機能試作を、さくっとできる環境とつくりたい 100BASE-TX 「 exStick 」 10GbE x4 「 Axpcie6031 」 Mini-ITX-FPGA 筐体SATA-FMC 「 Axfmc6040 」 1GbE x3 「 Axcmd6050 」
28.
014/3/10 FPGA エクストリーム・コンピューティング第5回 おもう事 - イーサネットでいーさ •
FPGAとCPUをどうやってつなぐか? – RS232C – USB – PCIExpress – Ethernet • イーサネットはデバイスドライバがいらない – 10M から 100G まで、スケールする – HUBを介して、複数の装置が接続できる – アプリケーションは Socket インターフェースが使える – インターネットを伝送路として使える
29.
014/3/10 FPGA エクストリーム・コンピューティング第5回 おもう事 - FPGAとCPU •
CPUが得意なこと – データはここにある。このデータをぐりぐりいじりたい • 3GHz の ALU/ レジスタファイルは、やっぱり速い • CPUには高性能なキャッシュメモリシステムがある • 最先端で高速な I/O が安くつなげる • FPGAが得意なこと – 固定長のデータがここに流れている。このデータをちょこっといじりたい • どんなにがんばっても 600MHz くらい。普通は 300MHz くらい • キャッシュメモリがないので、外部メモリへのアクセスが多発すると性能が出ない • I/O は広帯域 (1Tbps くらい ) に好きに作れる • 演算も帯域にあわせて、いっぱい作れる。 1000 個はいける。 • 可変長データ処理はあまり得意ではない。特に文字列処理。
30.
014/3/10 FPGA エクストリーム・コンピューティング第5回 FPGAって •
使いこなすにはノウハウがいる – あまりライブラリがない • やりたいことをやるのにはいろいろ準備が必要 – ものをつくらないといけない、買ってこないといけない • 高性能が求められる領域では、がんばれば何とかできることが多い – 豊富な高速シリアルインターフェース – メモリだって必要なだけつなげればいい – パイプラインも好きに作れる – 好きな演算器をいっぱいならべられる • 苦労も多いけど、 やっぱりFPGAっておもしろい
31.
014/3/10 FPGA エクストリーム・コンピューティング第5回 参考文献 •
「 PACKET RADIO TODAY( 小林直行著 ) 」で、イーサネット TNC が取り上 げられる – CQ ham radio 1995 年10月号、 CQ 出版 • 「インターネット時代のハード制御、第2,3,4章」 (船田悟史著) – トランジスタ技術 1999 年 7 月号、 CQ 出版 • 「イントロダクション ネットワーク I/O の世界へようこそ!」 (船田悟史 著) – LAN によるハードウェア制御、 CQ 出版 • 「第2章 ギガビット Ethernet と FPGA の接続方法」(船田悟史著) – FPGAマガジン No.3、CQ出版
Jetzt herunterladen