分 散 制 御 のアプリケーション 分 散 制 御 用 リアルタイム 通 信 規 格 : Responsive Link 慶 應 義 塾 大 学 理 工 学 部 情 報 工 学 科 山 﨑 信 行 E-mail: yamasaki@ics.keio.ac.jp 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 以 上 かかって 終 了 偽 :コピーされたデータの 中 身 (バイト 列 )がコピー 元 と 不 一 致 1
リアルタイム 性 の 種 別 ハードリアルタイム: 必 ず 時 間 制 約 を 守 る 性 質 ( 時 間 制 約 を 破 ると 価 値 が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) 平 均 ln 2 = 0.69 Release time Deadline 2
RMスケジューリングの 例 リアルタイム 通 信 Release time Deadline ソフトリアルタイム 通 信 デッドラインを 多 少 破 ってもOK 主 にマルチメディアデータ( 動 画 や 音 声 等 )の 送 受 信 等 に 利 用 バンド 幅 保 証 によって 実 現 可 能 スループットを 上 げたい ハードリアルタイム 通 信 デッドラインの 厳 守 レイテンシ 保 証 主 にイベント 伝 達 ( 同 期 割 込 み 制 御 コマンド 等 )に 利 用 レイテンシを 小 さくしたい 従 来 のリアルタイム 通 信 規 格 アイソクロナス 転 送 (IEEE1394の 例 ) IEEE-1394 (FireWire, ilink, DV) USB2.0 ソフトリアルタイム(アイソクロナス 転 送 ) アイソクロナスモードでのエラー 処 理 なし 集 中 制 御 : 低 いロバスト 性 最 大 接 続 ノード 数 が 少 ない IEEE-1394:63, USB: 127 トポロジーが 固 定 (1394:スター USB:ツリー) 一 定 周 期 (125μs) 毎 にデータを 送 受 信 する 転 送 方 式 一 定 周 期 を 保 つためにサイクルマスタが 必 要 アイソクロナスパケットには 転 送 先 のIDは 付 与 されて おらず チャネル 番 号 が 付 与 転 送 を 開 始 する 前 の 手 続 き アイソクロナスリソースマネージャーからチャネル 番 号 と 帯 域 幅 を 取 得 送 信 側 ノードが 取 得 したチャネル 番 号 で 送 信 する 様 に 設 定 受 信 側 ノード( 複 数 可 )が 取 得 したチャネル 番 号 で 受 信 するよ うに 設 定 準 備 が 終 わると 転 送 が 開 始 され サイクル 開 始 パケッ ト 受 信 毎 (125μs 毎 )に 一 回 のみ 送 信 が 許 可 IEEE1394のアイソクロナス 転 送 IEEE1394の 非 同 期 転 送 125μs 125μs 125μs 125μs アイソクロナス 領 域 アイソクロナス 領 域 アイソクロナス 領 域 非 同 期 領 域 アイソクロナス 領 域 アイソクロナス 領 域 に 複 数 チャネルで 転 送 max 100μs ( 転 送 量 により 変 動 ) 時 間 時 間 ch4 ch1 ch3 ch2 平 等 区 間 送 信 を 試 みるノードが1 回 ずつ 送 信 平 等 区 間 サイクル 開 始 パケット 調 停 リセットギャップ 3
リアルタイム 通 信 に 必 要 な 機 能 リアルタイム 通 信 におけるトレードオフ ソフトリアルタイム 通 信 :バンド 幅 保 証 スループットを 上 げたい ハードリアルタイム 通 信 :レイテンシ 保 証 レイテンシを 小 さくしたい Release time Deadline パケットサイズ 大 小 スループット 大 小 レイテンシ 大 小 通 信 の 追 い 越 し 機 能 が 必 要 Responsive Link データとイベントの 分 離 固 定 パケットサイズ:64Bデータ, 16Bイベント フルデュプレックス 差 動 型 インタフェース ハードウェアルーティング データとイベントの 独 立 したルーティング 優 先 度 :256レベル 追 越 機 能 付 ネットワークスイッチ ( 高 い 優 先 度 のパケットが ノード 毎 に 低 い 優 先 度 のパケットを 追 越 ) 優 先 度 の 付 け 替 え (パケットの 優 先 度 はノード 毎 に 新 優 先 度 に 付 け 替 え 可 能 ) 同 じネットワークアドレスを 持 つパケットの 経 路 を 優 先 度 に よって 別 々に 設 定 及 び 変 更 可 能 ( 専 用 回 線 や 迂 回 路 の 実 現 ) 前 方 エラー 訂 正 リンク 速 度 可 変 : 800~12.5 [Mbps/link] トポロジーフリーなPoint-to-point 通 信 標 準 化 国 内 : 情 報 処 理 学 会 試 行 標 準 WG6 国 際 :ISO/IEC JTC1 SC25 WG4 Resp イベントとデータの 分 離 image sync signal sound sync sync interrupt status image sound voice open table signal connect text Shared traffic indefinite latency and throughput Event link Low Latency Data link High Throughput データリンク 用 途 :ソフトリアルタイム 通 信 の 実 現 動 画 音 声 などのマルチメディアデータの 転 送 通 常 のデータ 転 送 スループット 重 視 Point-to-point パケットサイズ: 比 較 的 大 きく 固 定 (64B) 優 先 度 によりノードごとにパケットの 追 越 可 能 イベントリンク 用 途 :レイテンシ 保 証 のハードリアルタイム 通 信 割 り 込 み 同 期 制 御 系 コマンド 系 の 通 信 レイテンシ 重 視 Point-to-point パケットサイズ: 小 さく 固 定 (16B) データパスとイベントパスが 分 離 イベントパケットの 量 : 普 通 のデータと 比 較 して 非 常 に 少 ない 優 先 度 によりノードごとにパケットの 追 越 可 能 4
パケット フォーマット Data Packet Format (64B) Source Addr. Destination Addr. Event Packet Format (16B) Source Addr. Destination Addr. Payload Control & Status レスポンシブリンクインタフェース Responsive Link Connector Responsive Link Cable Payload Tx Data+ Tx Data- Rx Data+ Data Link Control & Status Rx Data- 1byte Tx Event+ 1bit 0 Control & Status Format (32bits) UD Full Data Length Tx Event- 1 2 3 Dirty0 Dirty1 Dirty2 Dirty3 Dirty4 Dirty5 Dirty6 Dirty7 Dirty8 Dirty9 Dirty10 Dirty11 Dirty12 Dirty13 Dirty14 Dirty15 Start End Int. Fatal Correct Serial Number (Cnt.) Frame Format (12bits) Rx Event+ Rx Event- Event Link Data bits Redundancy bits 追 越 機 能 付 ネットワークスイッチ 追 越 バッファの 制 御 ルーティングテーブル 優 先 度 に 応 じたルーティング Priority[7-4] Priority[3-0] EE P[7-4] PE L3 L1 Data (Priority0) Src Addr(16b) Dtn Addr(16b) DE P[3-0] L4 L2 L0 Source Data (Priority1) Reference Referent Event (Priority2) 同 じソースとデスティネーションでもプライオリティごとに 異 なる 経 路 設 定 が 可 能 (デフォルトルートはプライオリティ0) ノードごとにプライオリティの 付 け 替 えが 可 能 Event (Priority0) Destination 5
優 先 度 によるルーティング 送 信 元 データ ( 優 先 度 3) ノード0 データ ( 優 先 度 0) ノード2 ノード1 ノード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 前 方 エラー 訂 正 (FEC) レイテンシを 低 く 抑 えるためにbyte 単 位 で エラー 訂 正 1byte(8bit)のバイト 列 を1frame(12bit)へ 変 換 (8bitの 情 報 ビット 列 に 誤 り 訂 正 用 の 4bitの 冗 長 ビット 列 ) ハミング 符 号 Bit Stuffing 転 送 データ 中 に5つの 連 続 した1: 直 後 に0を 挿 入 直 流 成 分 発 生 の 回 避 受 信 側 のビット 同 期 への 支 障 回 避 生 成 多 項 式 :x 4 +x+1 NRZI (Non Return to Zero Inverted) DPLL (Digital Phase Lock Loop) 0を 送 信 時 :データビットを 反 転 1を 送 信 時 :データビットを 維 持 DPLLの 基 準 クロック: 1,600MHz サンプリングレート: 4, 8, 16, 32, 64 6
Setup Pattern Responsive Linkの 標 準 化 情 報 処 理 学 会 試 行 標 準 ITSJ-TS 0006:2003 000001111110 Bit stuffingの 規 則 に 外 れるパターン レスポンシブリンクのフレーム 同 期 http://www.itscj.ipsj.or.jp/ipsj-ts/02-06/toc.htm ISO/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),... プロセスルール レイアウト Responsive Link Overtaking Buffer for Data Routing Table Fabrication: Fujitsu Process:0.35μm, CMOS, 4 layered metal Usable gates : 2,378 k gates Die size :14.5 mm x 14.5mm = 210mm 2 Package : 416pin BGA (40mm x 40mm) Voltage : 3.3V Max. power : 2W Overtaking Buffer for Event Communication Buffer (DPM) MMU DMAC SDRAM I/F I/O Controller (IRC,SIO,PIO,Timer, Counter,PWM,etc.) PCI USB SPARClite ADC,DAC 7
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 レイアウト プロセス:TSMC 0.13μm, CMOS, 8 層, 銅 配 線 ゲート 数 : 14M gates ダイサイズ:10.0 mm x 10.0mm = 100mm 2 消 費 電 力 : 0.1~8W パッケージサイズ: 4.0cm x 4.0cm PLL USB2.0 RMT PU Context Cache (RF) Context Cache (Status) IEEE1394 DMAC Instruction Cache DDR SDRAM I/F Responsive Link Vector Register (Integer) Vector Register (FP) Data Cache 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 Responsive Linkのピーク 性 能 Serial Link 1way : 400 (Mbps/link) 1pair : 1.6 (Gbps/link) Parallel Link: 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