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