分散制御用リアルタイム通信規格:Responsive Link

分散制御のアプリケーション
各種ロボット
自動車
„VOD (Video On Demand)
„テレビ会議システム
„ホームオートメーション
„オフィスオートメーション
„ファクトリーオートメーション
„インテリジェントビルディング
„アミューズメントシステム等
„
分散制御用リアルタイム通信規格:
„
Responsive Link
慶應義塾大学 理工学部 情報工学科
山﨑 信行
E-mail: yamasaki@ics.keio.ac.jp
URL: http://www.ny.ics.keio.ac.jp/
センサやアクチュエータが空間的に広く配置
1CPUでは制御や処理ができない大規模システム
„フォールトトレラントシステム等
„
„
リアルタイム性
自動車における分散制御の例
„
„
„
国立国語研究所:即時、同時進行
20~30個のプロセッサによって制御
通信リンクの総延長:2~3km
通信リンクのプロトコル:各社ごとに作りこ
み(ヨーロッパ車はCANが多い)
„
標準化の必要性
速い、すぐに等の意味はない
„
„
データのコピーの例(1/2)
ネットワークを介してノードAからノードBにデー
タのコピーを行う
ノンリアルタイムシステム
„真:コピーされたデータの中身(バイト列)がコピー
元と同一
„偽:コピーされたデータの中身(バイト列)がコピー
元と不一致
ある処理の真偽が、その処理の結果だけで
はなく、その処理の時間にも依存する性質
狭義には、その処理が時間制約(デッドライ
ン)を守る必要がある性質
データのコピーの例(2/2)
ネットワークを介してノードAからノードBにデー
タのコピーを行う。その際、1msec以内にコピー
という時間制約が与えられたとする。
リアルタイムシステム
„真:コピーされたデータの中身(バイト列)がコピー
元と同一 かつコピーが1msec以内に終了
„偽:コピーされたデータの中身(バイト列)がコピー
元と同一 かつコピーが1msec以上かかって終了
„偽:コピーされたデータの中身(バイト列)がコピー
元と不一致
1
リアルタイム性の種別
ハード/ソフト・リアルタイムの例
„
„
„
ハードリアルタイム:必ず時間制約を守る性質
(時間制約を破ると価値が0になる。システム
に損害を与える可能性も。)
ソフトリアルタイム:時間制約を多少破ることを
許容する性質(時間制約を破っても価値は0に
ならない。システムに損害を与えることはな
い。)
ハードリアルタイムの例
„
センサ・アクチュエータ・モデル
„
„
„
リアルタイム性が損なわれるとアクチュエータの制御が
できない
リプル→制御不能→事故
ソフトリアルタイムの例
„
MPEGのデコード
„
リアルタイム性が損なわれると品質が低下
„
„
„
リアルタイム・スケジューリング
„
リアルタイム処理は基本的にRT-OSのス
ケジューラによって制御
„
„
„
EDF (Earliest Deadline First)
RM (Rate Monotonic)
…
Earliest Deadline First (EDF)
„
Deadlineを優先度として使用
„
„
„
„
最大プロセッサ利用率 U
U =1
Domino Effect
Rate Monotonic (RM)
„
周期を優先度として使用
„
„
„
Shorter the period, higher the priority
優先度は固定
最適スケジューリング法
„
„
Release time
Earlier the deadline, higher the priority
優先度は動的に変化
最適スケジューリング法
„
EDFスケジューリングの例
ブロックノイズの発生
動画と音声の同期がとれない
動画の動きが不自然等
最大プロセッサ利用率 U
U = n(2^1/2-1)
平均 ln 2 = 0.69
Deadline
2
RMスケジューリングの例
リアルタイム通信
ソフトリアルタイム通信
„
デッドラインを多少破ってもOK
主にマルチメディアデータ(動画や音声等)の送受信
等に利用
„バンド幅保証によって実現可能
„スループットを上げたい
„
„
ハードリアルタイム通信
„
デッドラインの厳守
レイテンシ保証
„主にイベント伝達(同期、割込み、制御コマンド等)に
利用
„レイテンシを小さくしたい
„
„
Release time
Deadline
従来のリアルタイム通信規格
アイソクロナス転送(IEEE1394の例)
IEEE-1394 (FireWire, iLink, DV)
„
USB2.0
„ソフトリアルタイム(アイソクロナス転送)
„アイソクロナスモードでのエラー処理なし
„集中制御:低いロバスト性
„
„
„
„
„
„
„
最大接続ノード数が少ない
„
IEEE-1394:63, USB: 127
„トポロジーが固定(1394:スター、USB:ツリー)
„
„
IEEE1394のアイソクロナス転送
125μs
125μs
アイソクロナス領域
max 100μs
(転送量により変動)
ch4 ch1
ch3 ch2
サイクル開始
パケット
„
アイソクロナスリソースマネージャーからチャネル番号と帯域
幅を取得
送信側ノードが取得したチャネル番号で送信する様に設定
受信側ノード(複数可)が取得したチャネル番号で受信するよ
うに設定
準備が終わると転送が開始され、サイクル開始パケッ
ト受信毎(125μs毎)に一回のみ送信が許可
IEEE1394の非同期転送
125μs
アイソクロナス領域
アイソクロナス領域に
複数チャネルで転送
一定周期(125μs)毎にデータを送受信する転送方式
一定周期を保つためにサイクルマスタが必要
アイソクロナスパケットには、転送先のIDは付与されて
おらず、チャネル番号が付与
転送を開始する前の手続き
125μs
アイソクロナス領域 非同期領域
アイソクロナス領域
時間
時間
平等区間
送信を試みるノードが1回ずつ送信
平等区間
調停リセットギャップ
3
リアルタイム通信に必要な機能
リアルタイム通信におけるトレードオフ
ソフトリアルタイム通信:バンド幅保証
スループットを上げたい
„ハードリアルタイム通信:レイテンシ保証
レイテンシを小さくしたい
„
Release time
Deadline
パケットサイズ
大
小
スループット
大
小
レイテンシ
大
小
通信の追い越し機能が必要
Responsive Link
„
„
„
„
„
„
„
„
„
„
„
„
sync
sound sync
signal
Shared traffic
データとイベントの独立したルーティング
優先度:256レベル
追越機能付ネットワークスイッチ (高い優先度のパケットが
ノード毎に低い優先度のパケットを追越)
優先度の付け替え (パケットの優先度はノード毎に新優先度
に付け替え可能)
同じネットワークアドレスを持つパケットの経路を優先度に
よって別々に設定及び変更可能(専用回線や迂回路の実現)
indefinite latency
and throughput
sync interrupt status open
signal connect
前方エラー訂正
リンク速度可変: 800~12.5 [Mbps/link]
トポロジーフリーなPoint-to-point通信
標準化
„
image
ハードウェアルーティング
„
„
イベントとデータの分離
データとイベントの分離
固定パケットサイズ:64Bデータ, 16Bイベント
フルデュプレックス差動型インタフェース
Event link
Low Latency
image
sound
voice
table
国内:情報処理学会試行標準WG6
国際:ISO/IEC JTC1 SC25 WG4
データリンク
用途:ソフトリアルタイム通信の実現
„
動画・音声などのマルチメディアデータの転送
„
通常のデータ転送
„
スループット重視
Point-to-point
パケットサイズ:比較的大きく固定(64B)
„優先度によりノードごとにパケットの追越可能
text
Data link
High Throughput
Resp
イベントリンク
用途:レイテンシ保証のハードリアルタイム通信
„
割り込み
„
同期
„
制御系、コマンド系の通信
„
レイテンシ重視
Point-to-point
パケットサイズ:小さく固定(16B)
„データパスとイベントパスが分離
„イベントパケットの量:普通のデータと比較して非常に少ない
„優先度によりノードごとにパケットの追越可能
„
„
„
„
4
Data Packet Format (64B)
パケット
フォーマット
Source Addr.
Event Packet Format (16B)
Source Addr.
Destination Addr.
Destination Addr.
レスポンシブリンクインタフェース
Payload
Control & Status
Responsive Link Connector
Payload
Responsive Link Cable
Tx Data+
Tx DataRx Data+
Data Link
Rx DataControl & Status
Tx Event+
1 byte
Control & Status Format (32bits)
1 bit
0
UD
Full
Tx Event-
Data Length
1
Dirty0
Dirty1
Dirty2
2
Dirty8
Dirty9
Dirty10 Dirty11 Dirty12 Dirty13 Dirty14 Dirty15
3
Start
End
Int.
Dirty3
Fatal
Dirty4
Correct
Dirty5
Dirty6
Dirty7
Rx Event+
Rx Event-
Frame Format (12bits)
Data bits
Redundancy bits
追越機能付ネットワークスイッチ
ルーティングテーブル
Priority[7-4]
Src Addr(16b)
Event Link
Serial Number (Cnt.)
Priority[3-0]
優先度に応じたルーティング
EE P[7-4]
Dtn Addr(16b)
DE
追越バッファの制御
PE L3 L1
P[3-0] L4 L2 L0
Data (Priority0)
Source
Data (Priority1)
Reference Referent
Event (Priority2)
同じソースとデスティネーションでもプライオリティごとに異
なる経路設定が可能(デフォルトルートはプライオリティ0)
„
„
Event (Priority0)
Destination
ノードごとにプライオリティの付け替えが可能
5
低レベル・データ/イベント通信
優先度によるルーティング
ノード0
データ
(優先度0)
ノード2
ノード1
ノード3
送信先
7
8
ノード4
9
10
Forward Error Correction(FEC)
„巡回ハミング符号
„8bitデータ+4bit冗長符号
„Bit stuffing
„NRZI(Non Return to Zero Inverted)
„DPLL(Digital Phase-Lock-Loop)
„同期フレーム(Setup Pattern)
„リンク速度可変:800Mbaud, 400Mbaud, 200Mbaud,
100Mbaud, 50Mbaud, 25Mbaud, 12.5Mbaud
„信号インタフェース:P-CML(LVTTL, ECL), LVDS
„
送信元
データ
(優先度3)
ノード5
11
12
ノード6
13
14
前方エラー訂正(FEC)
レイテンシを低く抑えるためにbyte単位で
エラー訂正
„
„1byte(8bit)のバイト列を1frame(12bit)へ
変換(8bitの情報ビット列に誤り訂正用の
4bitの冗長ビット列)
Bit Stuffing
転送データ中に5つの連続した1:
直後に0を挿入
直流成分発生の回避
„
受信側のビット同期への支障回避
„
ハミング符号
„
生成多項式:x4+x+1
„
NRZI
(Non Return to Zero Inverted)
0を送信時:データビットを反転
„
1を送信時:データビットを維持
„
DPLL (Digital Phase Lock Loop)
DPLLの基準クロック: 1,600MHz
„
サンプリングレート: 4, 8, 16, 32, 64
„
6
Responsive Linkの標準化
Setup Pattern
„
情報処理学会試行標準ITSJ-TS 0006:2003
„
000001111110
„
„
http://www.itscj.ipsj.or.jp/ipsj-ts/02-06/toc.htm
ISO/IEC JTC1 SC25 WG4 Responsive Link SG
Bit stuffingの規則に外れるパターン
情報処理学会試行標準WG6参加団体:松下電器(株)、三菱
電機(株)、富士通(株)、 (株)日立製作所、(株)東芝、産業
技術総合研究所、慶應義塾大学、九州大学
„
レスポンシブリンクのフレーム同期
„
ISO/IEC JTC1 SC25 WG4参加団体:NTT、沖電気工業
(株)、横河電機(株)、三菱電機(株)、富士通(株)、松下
通信工業(株)、(株)東芝、(株)日立製作所、ソニー(株)、
日本電気(株)、産業技術総合研究所、日本ユニシス(株)、
(株)ビクターデータシステムズ、(財)日本規格協会、住友
電気工業(株)
Responsive Processor
Responsive Processorの機能
„
„
用途:Home Automation, Factory Automation, 各種ロボット
等の様々な並列分散リアルタイム制御
„
プロセッシングコア(SPARC V8E互換)
„
Responsive Link(リアルタイム通信)
„コンピュータ用周辺(SDRAM I/F, DMAC, PCI, USB,
Timers/Counters, SIO, PIO, …)
„
制御用周辺(ADC, DAC, PWM Generators, Pulse Counters, ...)
並列分散リアルタイム制御に必要な機能を1チップに集積
System-on-a-chip
„
„
„
„
„
„
„
„
„
„
„
„
任意のトポロジで複数結合
„
„
様々な制御システムを容易に構築可能に
„
Processing Core (SPARC V8E互換 100MHz)
Power Management Unit (100, 80, 60, 40, 20 [MHz],
Sleep)
MMU (64way)
Responsive Links (4 links, 200, 100, 50, 25 [MHz])
DMAC (4channels, Bus swapping, Bus sizing)
SDRAM I/F (2channels, 100MHz)
PCI I/F (Master/Target)
USB I/F (Function, Hub)
PWM Generators (50MHz, 9channels)
Pulse Counters (24bit, 9channels)
Timers/Counters (16bit, 4channels)
Real-Time Clock
A/D Converters (10bit, 8channels)
D/A Converters (8bit, 2channels)
Interrupt Controllers (43channels)
SIO (RS-232C, 2channels)
PIO (16bit), ...
Responsive Link
プロセスルール
„
„
„
„
„
„
„
Fabrication: Fujitsu
Process:0.35μm, CMOS, 4 layered metal
Usable gates : 2,378 k gates
Die size :14.5 mm x 14.5mm = 210mm2
Package : 416pin BGA (40mm x 40mm)
Voltage : 3.3V
Max. power : 2W
Routing Table
レイアウト
Overtaking Buffer for Data
Overtaking Buffer for Event
MMU
DMAC
Communication Buffer (DPM)
SDRAM I/F
I/O Controller
(IRC, SIO, PIO, Timer,
Counter,PWM,etc.)
PCI
USB
SPARClite
ADC,DAC
7
Responsive Multi-Threaded (RMT)
Processor
„
„
細粒度マルチスレッディング機構
„
„
„
„
„
„
„
柔軟なベクトル演算ユニット(Int, FP)
複数スレッドによるベクトルレジスタの共有
コンテキストキャッシュ
リアルタイム通信機構 :Responsive Link II
コンピュータ用I/O
„
„
„
„
„
8スレッド同時実行
優先度(256レベル)によるスレッド制御機構
割り込みによるスレッド制御機構
マルチメディア演算ユニット
„
„
RMT Processor レイアウト
リアルタイム処理プロセッシングユニット
プロセス:TSMC 0.13μm,
CMOS, 8層, 銅配線
„ゲート数: 14M gates
„ダイサイズ:10.0 mm x
10.0mm = 100mm2
„消費電力: 0.1~8W
„パッケージサイズ: 4.0cm x
4.0cm
PCI-X
USB 2.0
IEEE-1394
RS-232C, etc.
„
„
„
32bit Scalar Integer
64bit Scalar Floating Point
Vector Integer
„
„
„
„
„
„
1.2GIPS
600MFLOPS
„
„
„
Context
Cache (RF)
„
„
Context
Cache
(Status)
„
„
Max. 8W
„
„
1way : 400 (Mbps/link)
1pair : 1.6 (Gbps/link)
Parallel Link:
„
64bit: 4.8GFLOPS
32bit: 9.6GFLOPS
演算性能:約5倍
消費電力:約1/10
Data Cache
Serial Link
„
9.6GIPS
19.2GIPS
38.4GIPS
76.8GIPS
消費電力
Vector
Register
(FP)
Responsive Linkのピーク性能
Pentium4(3GHz)との性能比較
„
Responsive Link
DDR SDRAM I/F
Vector Floating Point
„
„
64bit:
32bit:
16bit:
8bit:
DMAC
Vector
Register
(Integer)
PWM Generator
Pulse Counter, etc.
300MHz時
„
RMT PU
PLL
RMT PUのピーク性能
„
IEEE1394
Instruction
Cache
制御用I/O
„
USB2.0
„
1way : 1.6 (Gbps/link)
1pair : 6.4 (Gbps/link)
スイッチング速度:32 (Gbps/chip)
Gigabit Ethernetの1/100程度の低レイテン
シを実現
Gigabit Ethernetの10倍以上のスループッ
トを実現
まとめ
„
„
分散制御を容易に可能に
リアルタイム通信の実現
„
„
„
ハードリアルタイム通信
ソフトリアルタイム通信
2種類の実チップ
„
„
Responsive Processor
RMT Processor
8