...

スライド 1

by user

on
Category: Documents
13

views

Report

Comments

Transcript

スライド 1
ソフトウエアとハードウエア処理の特徴
とネットワーク処理の高速化
2011年4月20日 @広島工業大学
内田智久
E-sys, IPNS, KEK
はじめに
はじめに
エンジニアが開発する製品は多種多様です
家電や機械制御の
組み込みシステム
特定処理を行うために作られた
専用システム
PCやワークステーションを用いた
汎用システム
2
はじめに
デジタル技術が使われる場所
非常に広い!
ほとんどの製品はデジタル技術を採用している
コンピュータPCだけではない
CPU数では組み込みの方が圧倒的に多い
デジタル技術 =
ハードウエア
+
ソフトウエア
3
はじめに
求められる性能も色々
とにかく
色々な
アプリケーション
とにかく
小さく
とにかく
高速処理!
装置毎に求められている性能が違う
4
はじめに
ハードウエアとソフトウエアの比
ハードウエアとソフトウエアの比と内容は
どのように決まるのか?
組み込み機器など特定用途向けの専用装置では
自由に設計することになる
皆さんはどうやって決めますか?
5
はじめに
より良く分ける為
装置の目的により異なる
ハードウエアとソフトウエアの
特徴を理解して適材適所に配置
6
はじめに
一言で言うと・・・
性能/コストを
最大にする
高性能とは?
速さや複雑さだけが性能だろうか?
7
はじめに
話の内容
どんな処理が
ソフトウエアに適し
ているのか
ソフトウエア
どんな処理が
ハードウエアに適し
ているのか
ハードウエア
開発の立場から関係を見てみたい
どんな処理をソフトウエアで処理して、どんな処理をハードウエアで処理すればよいのか?
どこにどの様に使えば有利なのか分かる
8
はじめに
ハードウエア化による高速化例
Hyper Suprime-Camプロジェクト
少し特殊ですがTCPをハード化しました。
主焦点カメラ
149mm x 79mm
こんな小型でもギガビット・イーサネットを
フルレートでデータ転送できます
何故ハード化しなければいけなかったのか?
9
機器間通信としての
ネットワーク技術の有効性
開いたシステムを構築できる
同じ言葉を話す事が出来る
ネットワーク
複数の機器が協調して処理をする
メンテナンス性向上
処理の分散化
多種多様な機器の組み合わせによる新しい処理の可能性
10
ソフトウエア処理
と
ハードウエア処理
11
ソフトウエア処理とハードウエア処理
ソフトウエア
プログラムなので変更が簡単
12
ソフトウエア処理とハードウエア処理
ハードウエア
物なので一度作ると簡単には変更できない
13
特徴1
 ソフトウエア

変更が容易
 ハードウエア


変更が困難
チップ内回路を変更できる物もある(FPGA)
14
ソフトウエア処理とハードウエア処理
ネットワーク処理
例えばWebサーバ
例えばWebクライアント
Ethernet
ソフトウエアでなければ
いけないのか?
Webサーバ
Webクライアント
TCP/IP
TCP/IP
Ethernet
Ethernet
15
ソフトウエア処理とハードウエア処理
ソフトウエア処理とハードウエア処理
多くの処理は
お互いに置き換え可能
ソフトウエア
処理
もちろん、ハードは変更できない
ハードウエア
処理
変更する事を忘れた場合、
ハード処理、ソフト処理は何で決めるのか
それぞれの特徴を見てみます
16
ソフトウエア処理とハードウエア処理
特徴2
処理方法が異なる
 ソフトウエア(逐次処理)

順番に一つずつ処理する
 ハードウエア(並列処理)


同時に複数を処理する
回路が同時に複数動く
それぞれ長所と短所がある
17
ソフトウエア処理とハードウエア処理
ソフトウエアの処理方法
プログラム
プログラムの変更により処理内容を変更できる
一つの仕事
命令1
命令2
同時に複数の命令処理や
仕事が出来ない
命令3
CPU
:
演算器
命令
結果
結果が出るまで時間がかかる
最近は複数のCPUを
使う事もあるが数個程度
命令を一つずつ処理する
(逐次処理)
18
ソフトウエア処理とハードウエア処理
ソフトウエア処理の特徴
プログラム
【長所】柔軟性が高い
プログラムの変更により処理内容を変更できる
一つの仕事
命令1
命令2
同時に複数の命令処理や
仕事が出来ない
命令3
CPU
:
演算器
命令
命令を一つずつ処理する
(逐次処理)
最近は複数のCPUを
使う事もあるが数個程度
結果
【短所】処理が遅い
結果が出るまで時間がかかる
【長所】処理内容と回路規模が無関係
もちろん速度の限界はある
19
ソフトウエア処理とハードウエア処理
ハードウエアの処理方法
一つの仕事
一つの仕事
同時に複数の命令、仕事を処理できる
命令1処理回路
命令1処理回路
命令2処理回路
命令2処理回路
命令3処理回路
命令3処理回路
:
:
命令
命令
結果
結果
一つの命令に一つの処理回路が必要
処理を変更する為には回路変更が必要
20
ソフトウエア処理とハードウエア処理
ハードウエア処理の特徴
一つの仕事
一つの仕事
【長所】高速処理
命令1処理回路
命令1処理回路
命令2処理回路
命令2処理回路
命令3処理回路
同時に複数の命令、仕事を処理できる
【欠点】処理内容と回路規模が関係する
一つの命令に一つの処理回路が必要
命令3処理回路
分岐処理が苦手
:
:
命令
命令
【欠点】柔軟性が無い
処理を変更する為には回路変更が必要
結果
結果
21
ソフトウエア処理とハードウエア処理
特徴のまとめ
ソフトウエア
ハードウエア
 長所
 長所


変更が容易
処理と回路規模が無関係
逐次処理

並列処理

処理速度が速い
 短所
 短所


処理速度が遅い


変更が困難
処理と回路規模が関係する
複雑な処理が得意
単純な処理が得意
条件分岐が多く含まれる処理
条件分岐が少ない処理
22
ソフトウエア処理とハードウエア処理
一つの方針(無難な案)
 基本はソフトウエアで処理

処理速度が満たされる事を確認する事が重要
 ソフトウエア処理では間に合わない時


単純な処理をハードで処理する
分岐が少ない処理
高い柔軟性を持たせたまま高速化
23
ソフトウエア処理とハードウエア処理
仮に・・・・
ハードウエアが
ソフトウエアのように変更できたら・・・
どう思いますか?
ハードウエア化しても柔軟性を持つ
24
ソフトウエア処理とハードウエア処理
書き換え可能ハードウエア
ハードウエアの欠点である低い柔軟性を克服する
デジタル回路が実用化されている
 ソフトウエアの様にダウンロードして
使用する
 個人でも集積回路が作れる!
 一つからIC化できる
 時と場合により機能変更できる
 実験しながら処理方法を決定できる
FPGA: Field Programmable Gate Array
25
ソフトウエア処理とハードウエア処理
最近の流行
Linuxが動く!!
Linuxが動く環境をFPGA内に構築できる
低価格FPGA
47mm
Ethernetポート
Webサーバを動かしたり出来る
ハードも柔軟なシステム
72mm
プログラム格納用
Flash Memory
*CPUはFPGA内に組み込まれている
価格は数万円
26
高速化の例
TCP/IPのハードウエア化
ソフトウエアが無い特別な例です
27
開発理由
大きいと組み
込めないけど
小型
で
熱が出なけれ
ば良いけどね
低消費電力
で
とにかく速く
転送して
ギガビットとかで
高速にデータ転送
したい!
28
既存技術の問題点
高速PC(ワークステーション)を想像してください
 CPUが必要


消費電力大
高速転送する為には高速動作CPU
 大容量メモリが必要

数Mbyte
 部品数が多いので大きくなる
専用ハードウエアを作るしかない!
29
ハードウエア化の問題点
回路が
巨大になる
TCP/IPプロトコル
スイートは巨大だ!
TCP処理
は
複雑だ!
TCPの
ハードウエア化
30
どうやって解決したのか?
 小型装置用に機能を限定した
 とにかく安定した高速転送
 TCP/IPプロトコルスイートの大半は使用頻度が少ない
 必要な機能を選びハードウエア化した
 複雑な処理は遠隔PC

遠方から制御できる仕組みを実装した
31
専用ハードウエア例
FPGA
CCD読み出し制御
メモリ制御
ネットワーク処理
Gigabit
Ethernet
149 mm
ポート
フレームメモリ
79 mm
DDR2-SDRAM
FPGAとはプログラミング可能なハードウエア
設計したハードをダウンロードして動かすことが出来る
32
転送レート測定結果
Avg. Utilization ~ 95% (950 Mbps) 理論限界値
TCPセグメントの正味の転送レート
安定している
Server→ Client
Client → Server
33
高速TCPプロセッサの応用例
34
Hyper Suprime-Cam プロジェクト
(国立天文台 すばる望遠鏡 次世代主焦点カメラ)
巨大デジカメ!!
国立天文台ハワイ観測所すばる望遠鏡
35
主焦点カメラ
ここに取り付けるカメラ
CCD 110枚
36
データ処理の内容
ここに使った!
TCP通信
旅してきた光子
1010000111010011
0111001001010100
1010010111010011
電荷
CCD
Analog信号
Digital信号
ADC
(Analog-To-Digital
Converter)
Packet
Packet
Packet
Network
(Ethernet)
PC
フレーム・メモリ
この部分を一つの装置に
37
エレクトロニクスの概要
 主焦点カメラに組み込む
 小型、低消費電力
 CCD 110枚
主焦点カメラ

2GByte/1画像
 高速データ転送

ギガビットイーサネット
すばる望遠鏡
38
読み出しエレキへの要求
 小型であること

カメラの近くに置く為
 低消費電力である事

熱は悪影響を与える
この様な装置は
開発するしかない
 大容量画像メモリ

1画像2Gbyteのデータを一時保存する為
 1画像を約10秒でコンピュータへ転送する

画像を取る時間を少しでも長くしたい
39
主焦点カメラ
ここに取り付けるカメラ
CCD 110枚
40
読み出しモジュール
このモジュールを2枚使用する
FPGA
CCD読み出し制御
メモリ制御
ネットワーク処理
Gigabit
Ethernet
149 mm
ポート
フレームメモリ
DDR2-SDRAM
79 mm
41
現在は・・・
現在、最終組み立て確認中!
年末にファーストライト!
42
おわりに
 ソフトウエア処理とハードウエア処理の特徴

比率と内容で装置が特徴づけられる
 ハードウエア化TCPによる高速化例
難しい事に惑わされずに
個性ある機器開発を行ってください!!
43
Fly UP