UWB/MAC処理用省電力マルチコア SoCアーキテクチャ構築 一色 剛 東京工業大学通信情報工学専攻 SystemC Japan 2014 June. 20th, 2014 講演概要 本講演は株式会社リコーとの共同研究成果に基づいてます • UWB (Ultra‐wide Band)近距離高速無線通信 – MACプロトコル、処理タイミング要件 – SW/HWアーキテクチャ(シングルコアシステム) • マルチコアSoC開発アプローチ – 各タスク個別のコア割当てRTOSオーバーヘッド軽減 – SW再利用性を考慮したマルチコアへのSW移植方法論 – コア間通信・同期機構内蔵プロセッサ開発 • マルチコアSoC性能評価 – 処理サイクル削減、電力削減 2 UWB Technology Wireless personal area networking (WPAN) • High‐speed : 480Mbps (ver1.1) ~ 1Gbps (ver1.2) Main target : high‐speed video streaming UWB • Cost effective : router‐less connectivity Short 480Mbps @ 2m Distance 200Mbps @ 4m • Low emission power : targeted for short distance Data Rate (Mbps) 1000 Fast download UWB 100 110Mbps @ 10m Room‐range High‐definition Quality of service, streaming 10 802.11a/b/g/n 100Mbps @ 100m (802.11n) Data Networking Bluetooth 1 1 10 Range (m) 100 Source: Texas Instruments 3 3 WiMedia UWB MAC Protocol • TDMA (time‐division multiple access) : Priority‐based and reservation‐based QoS guarantee • Fully distributed (router‐less) network: all UWB terminals exchange network status information during “Beacon Period” to negotiate bandwidth demands Very tight timing budget (finely controlled by RTOS) 4 UWB MAC SW/HW Architecture Application Beacon TX RX Real Time Operating System MAC SW MAC HW (encrypt, packetize, PHY‐IF) MAC HW PHY Config. Register Multi‐tasked SW modules •Main (Appl): payload processing •Beacon: network scheduling •TX: payload transmit •RX: payload receive RTOS services •Task switching/scheduling •Inter‐task messaging/sync. •HW Interrupt handlers MAC HW: •Encrypt/decrypt •Payload packetize/de‐packetize •PHY‐IF: payload FIFO interface 5 Single‐Core SW/HW Architecture Application Beacon I-TCM D-TCM TX RX Real Time Operating System MAC SW ARM946 Display I/F Memory AHB Bus Slave TX/RX path AHB/APB RAM Wrapper Payload RAM IRC UART 6 研究目的 • MAC処理性能向上のためのアーキテクチャ探求 – マルチコア化:タスク分散、RTOSオーバーヘッド軽減 – 省電力・通信機能付きコア搭載 • SW/HW設計手法構築 – 複雑なSW/HWアーキのマルチコア化までの設計道筋 Message-passing Sub-domain Processor Inter-connection D-TCM Comm. Comm. AHB Bus Comm. RX Core Sync. Controller AHB/APB RAM Wrapper Slave IRC APB Payload RAM UART MAC HW PHY Layer AHBLite Bus AHB Bus Master Master PHY Layer AHBLite Bus Slave MAC HW TX Core Mem. Beacon Core Mem. Display I/F Memory Comm. Mem. Mem. ARM946 Main Core RAM Wrapper Shared Memory Payload RAM Section_0 HW Mutex_0 HW Mutex_0 (by mutex_0) UWB MAC MPSoC AHB/APB APB I-TCM Display I/F IRC UART WiMedia MAC MPSoC 7 第1フェーズ開発指針 • MAC firmware動作解析 – MAC SW処理フロー、データ構造、API、RTOS、割込み – ワークロード計測(特にRTOSオーバーヘッド) • マルチコア化に向けたSW分割指針 – 各タスク個別のコア割当てSW分散処理 – SW再利用性の担保APIの再定義のみ、上位SWの書換え を最小限に抑える – インクリメンタルな設計変更常に「正常動作モデル」を維持 • シングルコアSWリファレンス:出発点 • 1タスクコア追加SW切り出しコア間同期通信実装検証 マルチコアSWモデルの早急な立上げ(最適化は後回し) 検証可能なモデルがあればこそ、有用な課題抽出が可能 次段階の開発指針の有用なデータを取得することが目的 8 MAC‐Firmware動作解析環境 TLMモデルによる2端末対向通信 シナリオ動作解析 – 送信側・受信側でアプリシナリオを 設定可能(例:画像データを受信し てディスプレイデバイスに転送) – UWBパケット生成後のPHY挙動モデ ルは大幅に抽象化 対向通信動作検証用 TLMモデル リコーにて開発 動作解析項目 – 初期化:データ構造、タスク生成、割 込み設定 – 各タスクの処理フロー – タスク間通信・同期フロー 9 MAC‐Firmware動作解析 Device A Appl. MAC Device B MAC Appl. タスク内関数呼出フロー 通信処理イベント追跡 グローバル変数のタスク間依 対向通信処理における関数呼出解析 存関係 コールバック関数 割込み・タスク起動フロー 10 MAC‐Firmwareアーキテクチャ Application Test_app(upper‐layer SW) or applications Callback Func DMA pools MGR variable Beacon Task BEACON MLME SAP IF variable Interrupt Msg is the only input Msg タスク起動 Message Block pools MGR Global variable variable TX RX Management Task Msg タスク起動 Message MAC SAP IF Reception Task Msg タスク起動 Message ISR/DSR INTR Handler Virtual Kernel Interface and HAL HW MAC‐HW (Payload packet handling, PHY‐IF) 11 MAC‐Firmware分割 MAIN CORE Application (upper‐layer SW) Test_app or applications Callback Func DMA pools MGR BEACON CORE Beacon Task BEACON variable variable Interrupt Msg is the only input Msg タスク起動 Message MAIN CORE MLME SAP IF Block pools MGR TX Global variable CORE variable TX RX CORE RX Management Task Msg タスク起動 Message MAC SAP IF Reception Task Msg タスク起動 Message MAINコアの割込みハンドラ からの「起動メッセージ」によ Virtual Kernel Interface and HAL り各タスクコアが起動 ISR/DSR INTR Handler HW MAC‐HW (Payload packet handling, PHY‐IF) 12 MAC‐Firmware機能分散設計 “task cores” ARM (MAIN) ARM (Beacon) MAC‐ HW ARM (TX) Shared MEM • マルチARM構成:SW再利 用性を最優先(特にプロ ARM セッサ依存RTOSカーネル (RX) 部分) • タスク間通信同期処理用 の専用HW実装(SystemCモ AHB デル) Bridge APB IRC CBC Mbox callback request Mutex Semaphor e – – – – リソース管理(Mutex) タスク同期(Semaphore) プロセッサ間通信(Mbox) コールバック制御 • 「タスクコア」: Mbox/Mutex/Semaphore 各HWモデルをポーリング し、中断・実行状態を制御 13 通信処理中の処理サイクル計測 Interrupt 79 80 81 82 83 84 Single-ARM main BCN RX 3066 7044 3066 115 3066 26418 3397 11518 3397 11518 3397 11518 Device 1 (receiver) Multi-ARM main BCN 1145 4979 1145 119 1145 19179 1476 RX Interrupt event BP_START TXBCN_COMPLETE RXBCN_LAST 6358 RXQ_COMPLETE 6358 RXQ_COMPLETE 6358 RXQ_COMPLETE 1476 1476 • サイクル計測用SystemCモデル:複数のタイマー制御(レジスタIF) • 計測対象SWコードへの計測用命令の埋込み 14 通信処理サイクル数比較 Device 1 Single-ARM Multi-ARM Receiver main BCN RX main BCN RX Beacon frame 9198 33577 0 3435 24277 0 Data frame 27176 0 92140 11808 0 50864 36374 33577 92140 15243 (41.9%) 24277 (72.3%) 50864 (55.2%) TOTAL Device 2 162091 90384 (55.76%) Single-ARM Multi-ARM Transmitter main BCN TX main BCN TX Beacon frame 9198 34472 0 3435 25172 0 Data frame 27176 0 51652 11816 0 37092 36382 34472 51652 15251 (41.9%) 25172 (73.0%) 37092 (71.8%) TOTAL 122506 77515 (63.27%) • RTOS(スケジューリング、タスク切替)オーバーヘッド – 送信側:36.73% タスクのマルチコア化の効果を確認 – 受信側:44.34% 15 第2フェーズ開発指針 • Step 1 : プロセッサコアの置き換え – 東工大開発TCT Processor(メッセージ通信機能搭載) • Synopsys Processor Designer(LISA記述)モデル構築済み • コアのカスタマイズ(ASIP化)によるシステム最適化の探求 – SW・HWアーキテクチャ:マルチARM版を踏襲 SWポーティング・SWビルド環境構築・バグ出しに注力 • Step 2 : コア間同期通信方式の改良 – ポーリング方式:共有メモリアクセスによるBusy‐Wait • 少ない設計変更で実装可能マルチARM版で最初に構築 • バス帯域を浪費、コアも走り続ける – 割込み方式:HW割込み/メッセージ受信によるタスク起動 • TCT Processorのメッセージ通信機能の改良 • メモリバスと独立したメッセージ専用コア間インターコネクト 16 TCT Processor (LISA記述) • アーキテクチャ:4段パイプラインRISC(命令・データ:32ビット) • レジスタファイル:汎用レジスタ26個+特殊レジスタ6個 • ALU:加減算、論理演算、比較演算、バレルシフタ、乗算、剰余算(マル チサイクル) • コア間メッセージ通信モジュール:任意長バースト転送、バッファ管理 – ハンドシェークプロトコル(REQACKTX):2〜6サイクルセットアップ • TCT(Tightly‐Coupled Thread)機能並列コンパイラ:パイプライン処理 srcA OP FW2 ALU-REG FW1, FW2 INST INST-DEC PMEM PC JMP_ADDR TCT Processorの特徴: REG-FILE srcB LNK R0 – R25 : general-purpose LNK(R26), SP(R28), BOS(R29), BRP1(R30), BRP2(R31) FW1 ALU 設計課題: DC addr din COM-MODULE (multi-cycle) EX DMEM COM-DEC FE STR +4 HZ (stall pipe) • 分散型メモリアドレス空間非 共有 dout WB • 共有アドレス空間の導入 • バスインターフェース • コア間通信機能の最適化 17 (Step 1) ポーリング同期式 Shared‐BusマルチTCTアーキテクチャ • ARMコアTCTコアの置き換え – コア以外のSW/HWモデルはマルチARM版を踏襲 – TCTコアのAHB拡張設計・SW移植のバグ出しを最優先 TCTコア 置き換え UWB MAC MPSoC 18 TCT Processor 改良設計 Step 1: • バスアドレス空間・ローカルメ モリ空間の切替機能(アドレ スデコーダ) • AHBインタフェース追加 • パイプライン構造改良 この段階では、TCT通信機能は 利用せず、AHBベースのSWモデ ルを踏襲 Step 2:(次ページアーキテクチャ用) バスインターフェース 用サブパイプライン • 通信機能簡略化(タスク通信同期機能に限定) • タスク通信同期用専用命令追加 19 (Step 2) 割込み同期式 Hybrid‐BusマルチTCTアーキテクチャ • タスク間同期:TCT通信機構による割込み通信で実装 – – TCT通信機構:プロセッサ間インターコネクト(クロスバー)で実装 TCT割込み制御:タスク間排他・同期制御、コールバック制御 コア通信 インターコネクト (クロスバー) Message-passing Sub-domain Processor Inter-connection Comm. TX Core Comm. Mem. Beacon Core Comm. Mem. Mem. Mem. Main Core Comm. RX Core Sync. Controller 排他制御・ 同期制御 モジュール PHY Layer Master MAC HW RAM Wrapper Shared Memory Payload RAM Section_0 HW Mutex_0 HW Mutex_0 (by mutex_0) AHB/APB APB Slave AHBLite Bus AHB Bus UWB MAC WiMedia MAC MPSoC MPSoC Display I/F IRC UART HW割込み制御 モジュール (全コア直結) 20 Inter‐Core Synchronizer 排他制御(LOCK) 同期制御(BARRIER) • コア側:専用通信命令でLOCK(取得・解除)/BARRIER(Semaphore)実装 • Synchronizer HW側:各コアからのメッセージによってLOCK/BARRIERを制御 21 Inter‐Core Message Transfer M_SEND M_RECV • TCT Processor本来の通信機能を ベースに実装 • 非同期通信方式:データ転送は( バッファFullでない限り)受信側の 状態に関わらず完了する • 受信側RECV命令:バッファに受信 データがなければ待機 受信完了とともに復帰 22 UWB通信動作検証シナリオ:画像転送 • 送信用画像データはメモリ上に展開(シミュレーションモデル コンパイル時に画像ファイルから自動展開) • 受信側にLCDモジュールを搭載し,受信画面を表示 対向通信TLMモデル 画像表示モジュール 23 UWB MACアーキテクチャ処理時間評価 • UWB MAC‐Firmware処理時間 – – – – 1024 Byteペイロード送受信時の各タスクの処理時間を計測 比較対象:Single‐ARM (キャッシュあり・なし),Multi‐ARM(キャッシュ なし),Multi‐TCT (キャッシュなし) MAC処理コア部分とタスク切替・割込み等の”Overhead”を分離計測 Non‐backdoor mode(バスサイクル精度)でのシミュレーション結果 Multi‐ARM vs Multi‐TCT : ほぼ同等の処理時間 Single‐ARM(no cache) vs Multi‐TCT :全体で46.3%処理時間削減 24 UWB MACアーキテクチャ処理時間評価 処理オーバーヘッド内訳 3000 2000 1000 6.0E+06 4.0E+06 2.0E+06 0.0E+00 A AR AR M M ca ch m u l ed ti A m RM ul tiTC T AR AR M M ca ch m u l ed ti A m RM ul tiTC T AR AR M M ca ch m u l ed ti A m RM ul tiTC T 0 8.0E+06 処理オーバーヘッド内訳 RM Ca ch ed m ul tiA RM m ul tiTC T 4000 1.0E+07 A 5000 RM 6000 Overhead 1.2E+07 A 7000 MAC SW 1.4E+07 RM Ca ch ed m ul tiA RM m ul tiTC T 8000 1.6E+07 A Synch. RM Mailbox A Interrupt RM Ca ch ed m ul tiA RM m ul tiTC T 9000 Workload Breakdown (#cycle) 10000 AR AR M M ca ch m u l ed ti A m RM ul tiTC T Overhead Breakdown (#cycle) – – タスク間通信 (Mailbox):マルチコア構成(マルチARM,マルチTCT)に よってほぼ0まで削減 排他制御(Synch):マルチコア構成によって大幅に削減 割込み(Interrupt):マルチコア構成ではスケジューラが起動しない分 だけ削減 A – RM • 全体処理時間内訳 25 UWB MACアーキテクチャ面積評価 • 面積見積り手法 – – – ARM946E-S : キヤッシュ以外のプロセッサコアはARM公開データ参照 TCT:TSMC90nmライブラリによるRTL合成の面積見積り メモリ:CACTI v6.5 (90nm)ツールでの面積見積り • マルチコアのメモリ容量:各プロセッサ毎に算出し,メモリ面積は合算値 プロセッサコア部比較:ARMx1とTCTx4はほぼ同面積(0.303 vs. 0.336) メモリ含めた全面積:メモリ容量が少ない分multi-TCTの方がARMx1より小 さい Technology PE Area (mm2) HW Area (mm2) Area w/o Memory (mm2) Data Memory Size (KB) Inst. Memory Size (KB) Memory Area (mm2) Total Area (mm2) Single-ARM 90 nm 0.303 0 0.303 78 230 3.291 3.594 Multi-ARM 90 nm 0.303 * 4 0.089 1.301 20/4/4/4/ 72/82/42/8 2.614 3.915 Multi-TCT 90 nm 0.084 * 4 0.089 0.425 20/4/4/4/ 72/82/42/8 2.614 3.040 26 消費電力評価(メモリ除く) • Single‐ARM (no cache) vs. Multi‐TCT消費電力比 – – – – 2.737 : 1 @ 31.8 Mbps 3.488 : 1 @ 95.3 Mbps 3.703 : 1 @ 158.8 Mbps 3.893 : 1 @ 222.3 Mbps Single‐ARM vs Multi‐ARM : 処理時間削減分に比例した省電力化 Multi‐ARM vs Multi‐TCT: Logic面積に比例した省電力化 20 50 18 Power Breakdown (mW) Power Consumption(mW) 45 40 35 30 25 20 15 10 5 0 31.8 63.5 95.3 127.0 158.8 190.5 222.3 254.0 Single-ARM 5.2 9.8 14.3 18.9 23.5 28.1 32.7 37.3 Single-ARM Cached 6.5 11.9 17.3 22.7 28.0 33.4 38.8 44.2 Multi-ARM 4.9 7.5 10.1 12.7 15.4 18.0 20.6 23.2 Multi-TCT 1.9 3.0 4.1 5.3 6.4 7.5 8.6 9.8 Static Power MAC SW Overhead 16 14 12 10 @63.5Mbps @31.8Mbps @95.3Mbps 8 6 4 2 sin gl egl AR eAR M M Ca ch ed m ul ti A RM m ul ti TC T sin sin gl egl AR eAR M M Ca ch ed m ul ti A RM m ul ti TC T sin sin sin gl egl AR eAR M M Ca ch ed m ul ti A RM m ul ti TC T 0 Throughput (Mbps) 27 消費電力評価(メモリ含む) • Single-ARM (no cache) vs. Multi-TCT消費電力比 6.486 7.489 7.793 7.889 1 1 1 1 @ @ @ @ 31.8 Mbps 95.3 Mbps 158.8 Mbps 222.3 Mbps Single‐ARM (no cache) : 大容量TCMメ モリアクセス消費エネルギー(大) Single‐ARM (cache) : キャッシュメモリ アクセス消費エネルギー(大) Multi‐ARM & Multi‐TCT: 小容量TCMメ モリアクセス消費エネルギー(小) 80 70 MAC SW Overhead 60 50 @31.8Mbps @63.5Mbps @95.3Mbps 40 30 31.8 63.5 95.3 127.0 158.8 190.5 222.3 254.0 Single-ARM 24.0 47.2 70.4 93.6 116.9 140.1 163.3 186.5 10 Single-ARM Cached 25.4 49.4 73.4 97.4 121.4 145.4 169.4 193.4 0 Multi-ARM 6.7 11.1 15.4 19.8 24.2 28.5 32.9 37.3 Multi-TCT 3.7 6.5 9.4 12.2 15.0 17.9 20.7 23.5 si ng si le ng -A le R -A M R M C ac he d m ul tiA RM m ul tiTC T 20 si ng si le ng -A le R -A M R M C ac he d m ul tiA RM m ul tiTC T Throughput (Mbps) Static Power si ng si le ng -A le R -A M R M C ac he d m ul tiA RM m ul tiTC T Power Consumption(mW) 220 200 180 160 140 120 100 80 60 40 20 0 : : : : Power Breakdown (mW) – – – – 28 消費電力評価(ポーリングvs割込み) • 割込み同期式:ポーリング同期式に対し11.1%〜12.8% の電力削減 16 14 12 10 8 Multi‐TCT(Poll) 6 Multi‐TCT(INTR) 4 2 0 31.75 Mbps 63.5 Mbps 95.25 Mbps 127 Mbps 158.75 Mbps 190.5 Mbps 222.25 Mbps 254 Mbps 29 まとめ • UWB MAC 処理のマルチコア化の利点 – シングルコアの厳しいタイミング制約:マルチタスク+RTOS – マルチコア化によるRTOSオーバーヘッド軽減 処理サイクル 数削減 – 省面積・通信機能付きコアの搭載 省電力化 • SW/HWアーキテクチャのマルチコア化設計アプローチ – SW再利用性の重視、検証可能リファレンス動作モデルの維持 – インクリメンタルなSW/HW設計変更(早期のバグ修正) – ESLモデリング(SystemC‐TLM, Processor Designer)活用による 実用的アプリケーションシナリオでのシステム性能評価 30 UWB MACマルチコアアーキテクチャの展望 TCT Interconnect RX TX Beacon Main Comm Comm Comm Comm Sync Comm Comm Comm Comm Comm PHY‐ASIP DMA‐ASIP RAM0 RAM1 UART Payload desc. Header Param Shared variables RF • インターコネクト:クロスバー/NoCへの切替 – – • メッセージ通信プロトコル対応メモリモデル:開発済み 他のHW‐IPのメッセージ通信プロトコル化:デバドラ負荷低減 MAC‐HW/PHYのASIP化「SW Defined Radio」へ – – HW実装DMA機能のASIP化:基本設計完了 PHY‐ASIP化:構想段階 31 ご静聴ありがとうございます。 32
© Copyright 2024 ExpyDoc