変わる組込みプロセッサアーキテクチャ 変わるカーエレクトロニクス 2010 年 10 月 6 日 CEATEC JAPAN 2010 インダストリアルシステムセッション IS-07 村上和彰 # 穴見健治吉松則文 ( 財 ) 九州先端科学技術研究所 # 国立大学法人九州大学 2010/10/8 1 1
変わる半導体 プロセッサ 組込みシステム 設計技術 IT 配線ピッチ [nm] 1000 100 350nm Java の公開, 1995 年 10 Pentium-4, 2000 年 250nm Yahoo, Amazon,Google 180nm 第 3 世代携帯 CELL Broadband Engine, 2005 年 130nm クラウド コンピューティング 100nm 90nm 70nm 65nm iphone, 2007 年 Android, 2008 年 ARM Cortex-A15, 2010 年 52nm 45nm ipad, 2009 年 IP ベース, プラットフォームベース設計 トランザクショナル モデリング 最小配線ピッチ [nm] 1 1995 2000 2005 2010 西暦 2
変わる半導体 プロセッサ 組込みシステム 設計技術 IT 配線間隔 [nm] 1000 100 10 1 最小配線ピッチ [nm] 第 4 世代携帯超高精細 TV 自動翻訳通話生活支援ロボットスマートグリッド X 車間協調 3 次元実装光インターコネクトヘテロジニアス マルチコアの設計自動化 52nm 45nm 35nm 32nm 25nm 10nm 8.9nm ネットワーク機器向けSoC 据え置き機器向けSoC 携帯機器向けSoC( 専用アクセラレータを含む ) 2010 2015 2020 西暦 1000 100 10 1 2009 年の数で規格化したコア数 出典 : International Technology Roadmap for Semiconductors(ITRS) 2009 Edition Executive Summary より筆者ら作成 3
変わる車 カーエレ ECU ITS ITS 双方向ナビ 1998 年 ETC 一般利用開始, 2001 年 プローブカー, 2003 年 スマートグリッド対応 完成車 機能 ( 安全 パワートレイン ボディ ) 開発環境, 他 LKAS( レーンキープ支援 )( 日産 ), 2001 年 SH-4WD( 左右駆動力配分制御 )( ホンダ ), 2004 年 JasPar 設立 2004 年 AUTOSAR 設立 2003 年 Purius 発売 2007 年 アラウンドビューモニタ ( 日産 ), 2007 年 i-miev 発売 2009 年 インテリジェント ペダル ( 日産 ), 2008 年 i-stop( マツダ ) 2009 年 機能安全規格公開, 2008 年 2000 2005 2010 アイサイト ( スバル ), 2010 年 自律走行 隊列走行 車車間協調 路車間協調 HEV, EV, FCEV 高度化 西暦 4
Part 1 組込みプロセッサから見てみよう 5
組込みプロセッサに対する様々な要求 高性能 低消費電力 開発容易性 高計算精度 業界標準性 高信頼性 継続性 耐故障性 安定供給 低コスト 6
組込みプロセッサに対する様々な要求 ~ 高性能 & 低消費電力 ~ マルチコア化 高性能 低消費電力 開発容易性 高計算精度 業界標準性 高信頼性 継続性 耐故障性 低コスト 安定供給 7
変わる組込みプロセッサアーキテクチャ ~マルチコア化 ~ 組込みプロセッサの高性能化手法 マルチコア ホモジニアスなマルチコア アクセラレータ 割込み専用プロセッサ 3 次元実装 8
マルチコアによる性能向上 ~SH7786( ルネサスエレクトロニクス )~ カーナビ向けマイコン 2 つの RISC 型プロセッサを搭載 SH-4A (CPU,FPU) SH-4A (CPU,FPU) バス 周辺機能 I/O 参考 : http://japan.renesas.com/media/company_info/news_and_events/press_releases/2008/0825/20080825j.pdf 9
マルチコアによる性能向上 ~NaviEngine( ルネサスエレクトロニクス )~ カーナビ向けシステム LSI カーナビ用アプリ開発の課題 ソフト開発の大規模化 高い性能要求 1. 既存のシングル CPU 用ソフトをそのまま実行可能 かつ 高性能化 2. 固定的な機能 (2D/3D 描画 ) に関し 専用 HW エンジンを用い CPU から実行をオフロード ARM11 ARM11 ARM11 ARM11 MPCore 周辺機能 高性能描画エンジン ビデオキャプチャ LCD コントローラ メモリインターフェース 出典 :NEC エレクトロニクスホームページ (http://www.necel.com/applications/ja/automotive/naviengine/spec.html) 10
マルチコアによる性能向上 ~IMAPCAR( ルネサスエレクトロニクス )~ 画像認識向けシステム LSI 画像認識のための高い性能要求 自動車の走行する環境 検出対象に合わせデバイスをプログラム可能 画像認識に適したハードウェア構成 外部メモリ (SSRAM) DPLL メモリ転送制御部 ビデオ入出力制御部 PE PE PE PE PE キャッシュ シーケンス制御部 制御プロセッサ演算部 画像メモリ 128 並列プロセッサ 8-bit 4ay VLIW I/O レジスタ 制御プロセッサ 128 並列プロセッサ部ブロック図 CPU バスインターフェース IMAPCAR ブロック図 画像 I/O レジスタファイル (8bits x 28 本 ) Acc.Reg. ALU ALU ALU LSU Acc. RAM 出典 : 車載組込み用画像認識プロセッサ IMAPCAR, NEC 技法 Vol.60 No.2/2007 PE 部ブロック図 11
マルチコアによる性能向上 ~ 課題 ~ ソフトウエア開発上の課題 複数のコアに対するタスク分割が困難 分割したソフトウエアの検証期間の長期化 複数のコアによる共有バス等への資源競合による最悪実行時間 (WCET) のバラツキ増大 ハードリアルタイムが求められる制御系での適用で課題 ソフトウエアの開発期間の長期化 12
アクセラレータを用いた性能向上 発熱大 動作周波数が 2 倍の CPU CPU リアルタイム性を満たすために必要な性能 2X X 性能不足 CPU 時間 アクセラレータにオフロード (CPU は同じ ) CPU アクセラレータ 13
アクセラレータによる性能向上 ~SH77650( ルネサスエレクトロニクス )~ カーナビ向けマイコン 白線検知などの走行支援のための画像認識を行う 高い性能が必要な 画像認識のため 画像認識専用ハードウェア ( 画像認識エンジン ) を アクセラレータとして搭載 上記 画像認識の実行をホスト CPU から 画像認識エンジンへオフロード ホスト CPU (32 ビット ) 画像認識エンジン 周辺機能 周辺機能 出典 : ルネサステクノロジ SH77650, http://japan.renesas.com/fmwk.jsp?cnt=sh77650_child.htm&fp=/applications/automotive/automotive_segment/infotainment/child_folder/child_folder/&title=sh77650 14
アクセラレータを用いた性能向上 ~ 動的再構成可能プロセッサ~ Vulcan( 九大 &ISIT) 動的再構成可能プロセッサ (Vulcan-L, Vulcan-A) の構成 RISC 型プロセッサ レジスタファイル ALU 動的再構成可能部 L: LUT(Look-Up Table) アレイ型 A: ALU アレイ型 動的再構成可能部アーキテクチャは アプリケーションに応じて選択可 15
アクセラレータを用いた性能向上 ~C ソースからの自動カスタム化 ~ DES 専用プロセッサの開発例 1 SoC 設計者が SoC に載せたい機能 ( 例 : DES) を C で記述 最適化コンパイラ DES.c 3 2 C プログラムを解析し それを実行するのに適した命令セットを自動生成 ISA 生成 DES 専用命令セット コンパイラ DES.o DES 専用命令セットを用いて C プログラムをコンパイル 4 DES 実行前に命令セットの構成情報を設定することで DES 専用プロセッサ に 命令セット構成情報 Vulcan オブジェクトコード 5 DES 専用プロセッサ で DES プログラムを実行 16
アクセラレータを用いた性能向上 ~ 動的再構成可能プロセッサ ~ 暗号系アプリケーションでの評価事例 動的再構成可能部に LUT アレイを適用 暗号系アプリケーション (CRC32, SHA1, MD5, AES, DES) を用いた性能評価 1 0.8 0.6 アクセラレータ未使用時を 1 とした時の実行命令数の割合 実行命令ステップを 83% 削減 0.56 0.57 0.68 0.4 0.2 0.17 0.21 0 CRC32 SHA1 MD5 AES DES 17
割込み専用プロセッサ etpu ( フリースケール セミコンダクタ ) 割込みによるタスク等の実行をホスト CPU から etpu にオフロード PCP (Peripheral Control Processor)( インフィニオン ) 割り込み処理専用のプロセッサを使用 etpuを用いた構成 etpu ホスト CPU タイマー カウンター RISC プロセッサ PCPを用いた構成 PCP ホスト CPU RISC プロセッサ 割り込み要求 応答 ある時間間隔により実行されるタスクのオフロード 参考文献 : etpu: Enhanced Time Processor Unit, Freescale Semiconductor TC176632-Bit Single-Chip Microcontroller, Infineon 18
3 次元実装による性能向上 複数のダイを同一パッケージに集積し, ダイ間を貫通ビア (Through Silicon Via: TSV) で接続 微細化に頼らない高集積化 枯れた製造プロセスの活用による低コスト化に期待 配線長の削減 ( 遅延時間の削減 ) 高バス幅化 異なるプロセス技術を用いたダイの積層 プロセッサ メモリ アナログ センサ等 Wire-bonding (WB) 3D stacking (System-in-Package or SiP) TSV RF Analog DRAM Processor Multi-Level 3D IC Sensor IO Package-on-Package (POP) 3D stacking Source: Yuan Zie, 3D IC Design/Architecture, Coolchips Special Session, 2009 19
組込みプロセッサに対する様々な要求 高性能 低消費電力 開発容易性 高計算精度 業界標準性 高信頼性 継続性 耐故障性 安定供給 低コスト 20
Part 2 車に目を転じると 21
車に対する様々な要求 環境に優しく ( 排出ガスの削減 ) 低燃費化 利便性 基本性能 ( 走る 曲がる 止まる ) の向上 快適性 安全性 22
車に対する様々な要求 車のエレクトロニクス化の進展 環境に優しく ( 排出ガスの削減 ) 電子制御エンジン ハイブリッド アイドリング ストップ 低燃費化 利便性 カーナビゲーション ETC キーレスエントリ 快適性 オートエアコン 安全性 基本性能 ( 走る 曲がる 止まる ) の向上 エアバッグ 歩行者検知システム プリクラッシュ システム アンチロック ブレーキ トラクション コントロール 23
車のエレクトロニクス化の進展 ECU( 電子制御装置 ) の進歩 電子制御エンジン ハイブリッド アイドリング ストップ カーナビゲーション ETC キーレスエントリ オートエアコン エアバッグ 歩行者検知システム プリクラッシュ システム アンチロック ブレーキ トラクション コントロール 24
増加する ECU の用途 パワートレイン制御 ガソリンエンジン ディーゼルエンジン ハイブリッド トランスミッションなど 安全制御 アンチロックブレーキ ブレーキアシストなど ボデー制御 ライト ドア開閉 パワーウインドウ ワイパー エアコン オーディオ ダッシュボード エアバッグなど マルチメディア カーナビ 車線維持支援 駐車支援 プリクラッシュ セーフティ 車間距離警報装置など 25
増大する ECU 搭載数 ( 個 ) 40 国産ミドルクラス 1 台あたりにおける車載マイコンの平均搭載数 30 20 10 0 1980 1985 1990 1995 2000 2005 出典 : 矢野経済研究所, 車載用 MCU と半導体メーカの自動車戦略 2005 26
ECU に対する様々な要求 低消費電力 高性能 開発容易性 高信頼性 低コスト 耐故障性 機能安全 27
ECU の課題とそれへの対応 ~ クルマの電子システムの大規模化と複雑化への対応 ~ クルマに搭載する ECU の数の増加 ECU を置くスペースがない ECU 同士の連携の増加 ワイヤーハーネスが増加 ( 重量の増加 スペースが足りない ) ECU を統合し ECU の数を減らす ECU 間 ECU とセンサ / アクチュエータ間の通信の多重化? 個々の ECU の機能の大規模化と複雑化 ECU の性能が足りない 信頼性をどう確保するか 品質をどう確保するか また 開発期間を長期化しない ECU の高性能化 ECU の耐故障性の向上 ECU の開発の効率化 28
ECU を統合して ECU の数を減らす 統合前 統合後の ECU 統合した複数の機能を所望の時間内で実行可能な性能が必要 ECU の高性能化 マイコンのマルチコア化 ECU A 機能 A ECU B 機能 B 統合後の ECU 機能 A 機能 B 機能 X ECU C 機能 X 29
[ 再掲 ] マルチコアによる性能向上 ~ 課題 ~ ソフトウエア開発上の課題 複数のコアに対するタスク分割が困難 分割したソフトウエアの検証期間の長期化 複数のコアによる共有バス等への資源競合による最悪実行時間 (WCET) のバラツキ増大 ハードリアルタイムが求められる制御系での適用で課題 ソフトウエアの開発期間の長期化 30
ECU の耐故障性の向上 車載マイコンの耐故障性の向上 マイコンを多重化 プロセッサコア 周辺機能 プロセッサコアの実行をモニタ チェッカー機能 プロセッサコア 1 プロセッサコア 2 プロセッサコア 1 Checker 比較 チェック 31
半導体各社の車載マイコン 車載マイコン向きに用いられている CPU の例 フリースケール セミコンダクター社 NEC エレクトロニクス社 ルネサステクノロジ社 Infineon テクノロジーズ社 性能 高 低 高 低 高 低 高 低 ボディ 安全 パワートレイン マルチメディア 情報通信 MPC55xx(32) MPC55xx(32) MPC55xx(32) MPC5xxx(32) S12(16) S12(16) S12(16) i.mx(32) S08(8) V850ES(32) 78K0(8) SH2A-FPU(32) M32C/80(32) M16C/60(32/16),H 8S,H8SX(16) R8C(16) V850ES(32), V850E(32) 78K0S(8) SH-4A(32) M32R-FPU(32) H8S, H8SX(16) V850 系 (32) SH7050(32) M32R(32), M32R-FPU(32) TriCore(32) XC22xx(16) XC23xx(16) XC164(16) XC866(8) () 内は基本命令のデータ幅 出典 : ARM11(32) SH-4A(32) SH-4(32) フリースケール セミコンダクタ社ホームページ :http://www.freescale.co.jp NECエレクトロニクス社ホームページ : http://www.necel.com 32 ルネサステクノロジ社ホームページ : http://japan.renesas.com Infineonテクノロジーズ社ホームページ : http://www.infineon.com
Part 3 ECU の開発を高効率化する 33
現状の ECU 開発の課題 ECU 開発の困難さ ECU 開発上の課題 車の高機能化に伴い ECU の仕様が複雑化 ECU の大規模化 複雑化 ECU のソフトウエア規模の大規模化 複雑化 ソフトウエアの開発は ECU の実機完成後 不適合の場合の手戻りが極めて大 ソフトウェア開発者の負担増大 その結果 ECU が原因のリコールが増加 ECU 開発の短期間化のためには 実機レス開発 MBD( モデルベース開発 ) が必要 34
実機レス開発 / モデルベース開発 (MBD) ~ xils ~ コントローラ 制御対象 モデル仕様設計 プログラム設計 オブジェクトコード生成 ECU 実装 制御モデル Cソースコード オブジェクトコード オブジェクトコード ECUモデル マイコン, HWモデル ECU 実機 MILS (Model In the Loop Simulation) SILS (Software In the Loop Simulation) SPILS (Software-Based Processor In the Loop Simulation) HILS (Hardware In the Loop Simulation) ECU の開発段階に応じた適切なモデルの提供と活用 35
ECU 開発 / 検証 V 字プロセス と xils との関係 実機 オブジェクトコード ECU 実機 制御対象実機 仕様設計 受け入れ試験 MILS (Model In the Loop Simulation) HILS/PILS/SPILS の適用対象 制御モデル 制御対象モデル システム ( アルゴリズム ) 開発 システム ( アルゴリズム ) 試験 HILS (hardware In the Loop Simulation) オブジェクトコード ECU 実機 制御対象モデル SILS (Software In the Loop Simulation) C ソースコード ECU モデル 制御対象モデル ソフトウェア開発 ソフトウェア実装 ソフトウェア試験 PILS (Processor In the Loop Simulation) オブジェクトコード ECU 実機 オブジェクトコード マイコン,HW モデル 制御対象モデル SPILS (Simulation based Processor In the Loop Simulation) 制御対象モデル 36
ECU MBDを阻害するもの ~ビジネス構造上の問題 ~ 仕様 設計検証 統合 自動車メーカ 要求仕様書 実機完成後に検証を開始 ECU 仕様の不整合 個別部品の仕様の不整合 現物 自動車メーカ 部品メーカ 要求仕様書 現物 部品メーカ 要求仕様は仕様書ベース 仕様決めの長期化 仕様の不整合 半導体メーカ 実機を用いた開発の困難さ 37
解決策 ~Ecosystem ( 生態系 ) を創る!~ 類似語 : Win-Win 系列 38
Apple Ecosystem itunes Mobile Me マーケットプレイス itunes Store Music Store App Store ibookstore imac (Mac OS X+Safari+iTunes) ipad (ios+safari+itunes) ipod touch (ios+safari+itunes) iphone (ios+safari+itunes) 39
ECo-MBD (ECU Co-MBD) ~ モデル共有による業界縦断型協調 MBD 環境 ~ 仕様 統合 自動車メーカ MILS 設計 検証 HILS/SPILS/SILS 試作 要求モデル 結果モデル 現物 部品メーカ 仕様 SILS 設計 機密保護検証 統合 SPILS 試作 要求モデル 結果モデル 現物 半導体メーカ 仕様 設計 機密保護 検証 統合 試作 40
ECo-MBD を実現した暁の効能 ECo-MBD による開発 仕様 設計 検証 統合 仕様決定の早期化 ECU 仕様の不整合を無くす 自動車メーカ 要求モデル 部品メーカ 要求モデル 仕様決定の早期化 個別部品の不整合を無くす 従来手法による開発 仕様 設計 結果モデル 半導体メーカ 結果モデル 現物 部品メーカ 自動車メーカ 現物 開発期間の短縮 SW 開発の早期開始 MILS/SILS/SPILS 仮想 HILS を用いた車全体 ECU 検証の容易化 ECUの検証検証 統合 自動車メーカ 要求仕様書 仕様決めの長期化 仕様の不整合部品メーカ 要求仕様書 半導体メーカ ECU 仕様の不整合 個別部品の仕様の不整合 現物 部品メーカ 現物 自動車メーカ 実機を用いた開発の困難さ 41
自動車メーカと部品メーカとの間の ECo-MBD 発注者 : 自動車メーカ Matlab/Simulink を使い車全体の ECU の機能を設計 車全体の ECU の統合検証 受注者 : 部品メーカ 要求モデルに従い ECU を開発 現物 自動車メーカ : ECU の外部仕様を要求モデルとして 部品メーカに提示 要求モデル 要求モデル動作検証環境 Matlab/ Simulink 部品メーカ : 要求モデルを Matlab/ Simulink 上で確認 受注 部品メーカ : SILS /SPILS 用結果モデルを提示 現物を納品 結果モデル 結果モデル動作検証環境 VaST, CoWare, Gaio 等 自動車メーカ : 結果モデルを SILS/ SPILSで確認 SPILSで機能安全検証 現物をHILSで確認 検収 42
部品メーカと半導体メーカとの間の ECo-MBD 発注者 : 部品メーカ ECU を構成するマイコン ASIC 等の機能を SILS で設計 ECU 全体の統合検査 受注者 : 半導体メーカ 要求モデルに従い ASIC を開発 現物 要求モデル 結果モデル 部品メーカ : 例えば ASIC の外部仕様を要求モデルとして半導体メーカに提示 要求モデル動作検証環境 SILS 環境 ( 汎用 PC プラットフォーム ) 半導体メーカ : 要求モデルを SILS 上で確認 受注 半導体メーカ : 結果モデル動 マイコン ASIC 作検証環境等のSPILS 用 VaST, CoWare, 結果モデルを Gaio 等提示 現物の納品 部品メーカ : 結果モデルを SPILS で確認 現物の確認 検収 43
発注者 - 受注者間の ECo-MBD ~ まとめ ~ 発注者受注者発注者 1 要求モデル提示 要求モデル 2 要求モデル確認 受注 3 結果モデル提示 結果モデル 4 結果モデル確認 要求モデル動作検証環境 結果モデル動作検証環境 発注者受注者要求モデル 自動車メーカ 部品メーカ 部品メーカ 半導体メーカ ECU 動作モデル (MATLAB モデル ) - ASIC 動作モデル (C) 要求モデル動作検証環境 MILS (MATLAB/Simulink) - SILS ( 汎用 PC プラットフォーム ) 受注者発注者結果モデル 部品メーカ 半導体メーカ 自動車メーカ 部品メーカ ECU モデル ( マイコン +ASIC: SystemC TLM SW: C ソースコード / オブジェクトコード ) ECU SW (C ソースコード / オブジェクトコード ) マイコンモデル (SystemC TLM) ASIC モデル (SystemC TLM) 結果モデル動作検証環境 SPILS (SystemC シミュレータ ) SILS SPILS SPILS 現物 ECU (HW&SW) マイコン ASIC 44
ECo-MBD を実現する上での課題 企業ノウハウの塊であるモデルをどう共有するか? モデル内部を秘匿したまま モデルをどう提供するか? あるいは モデルを提供しないで モデルの使用をどう可能にするか? 複数のモデルを連結して どう SILS または SPILS を実行するか? 異なるツールをどう連携動作させるか? 遠隔地にあるツールどうしをどう連携動作させるか? 45
ECo-MBD で目指す SPILS 環境 半導体メーカ SPILS モデル 部品メーカ SILS モデル モデル利用者 M 自動車メーカ MILS モデル シミュレーションの実行 SILS モデル M M SILS モデル シミュレーションの実行 MaaW MaaB MaaS 部品メーカ 部品メーカ モデルの秘匿 46
モデル共有の実現方法 ~3 つの異なる共有形態 ~ 共有形態 MaaW (Model as a White-box) MaaB (Model as a Black-box) MaaS (Model as a Service) モデル内部を開示するか否か? 内部開示 内部非開示 ( 秘匿 ) モデルの所在は? モデル利用者側 モデル提供者側 47
ECo-MBD の実現に向けて 自動車メーカ 部品メーカ 半導体メーカ間のビジネス環境の構築 要求モデルと結果モデルを用いた ECU の協調モデルベース開発のための設計データ授受手続きの標準化 要求 / 結果モデルの形式の規格化 要求 / 結果モデル形式に対応するツールインターフェースの規格化 モデルの共有のための仕組みの構築 MaaB: 秘匿方法の標準化 MaaS: ツール連携のためのツールインターフェースの規格化 遠隔地のツールを連携するための技術の開発 48
Last Part 組込みシステム そして CPS の設計 最適化に向けて 49
ステムの複雑 CO2 削減シCPS (Cyber Physical System) 産業の競争力強化 社会インフラの高度化 安全性 信頼性向上 快適性 燃費の向上 低コスト化 スマートグリッドさITS ロボット 安全性 信頼性向上 医療 電力需給の効率化 移動車部品組込みプロセッサ等の構成要素の最適化 CPS 全体の設計ツール時期 50 エコシステムの観点からシステム構築
FYI ISIT カーエレクトロニクス研究会 http://www.car-electronics.jp/ info@car-electronics.jp 51