つながるワイヤレス通信機器の開発手法(8) ――アーキテクチャ設計を行う
●32ビットから2CPUへ
外付けのLSIが増えてきたことと,アプリケーションのさらなる高度化によって,プロセッサ構成の見直しを行わざるをえなくなった.
一つのCPUで通信処理とアプリケーションの処理を行う場合を考えてみる.図6のように,受信フレームに同期したイベント駆動の通信処理と,通信処理が走っていないときに処理を行うアプリケーション処理を同時に行うようにしなければならない.このとき,それぞれの処理の切り替えはリアルタイムOSによって行う.
CPUが一つの場合,リアルタイムOSを使うことによって通信処理とアプリケーションは共存できる.しかし,通信の処理量が増えたり,音声処理などのリアルタイムで処理しなければならないアプリケーションがある場合などは,その処理が間に合わなくなることがある.また,通信処理はそのままでアプリケーション処理のみを変更した場合も問題がある.リアルタイムOSで切り分けができているとはいえ,通信処理とアプリケーション処理を同時にデバッグして,その両方に影響を及ぼさないことを確認する必要があり,開発工数が多くかかる.
このような問題を解消する一つの手段として,C-CPUとA-CPUの二つのCPU構成が登場した.この構成を採れば,A-CPUに音源LSIの機能を取り込むなどのくふうによって,外付けの部品を減らすこともできる.現状,もっともよく市場に出ているA-CPUは日立製作所の「SH-Mobile」と言われており,このSH-Mobileにはさまざまなミドルウェアが用意されている(表2).
このように見てくると,それぞれの処理をどのようなアーキテクチャで実現するかは,以下の観点から決められる.
- ソフトウェア資産の効率良い継承
- ソフトウェア化による外付け部品の取り込み
〔図6〕一つのCPUで通信とアプリケーションの処理を行う
受信フレームに同期したイベント駆動の通信処理と,通信処理が走っていないときに処理を行うアプリケーション処理を同時に行うようにしなければならない.
〔表2〕SH-Mobile用ミドルウェアの例
供給メーカ
|
ミドルウェアの種類
|
フュートレック | ソフトウェアMIDI音源 |
ケイ・ラボラトリ | Flash対応アニメーション描画エンジン |
タオ・ジャパン | Java仮想マシン |
ナビ・タイム | ナビゲーション |
エイチアイ | 3次元グラフィックス・エンジン |
アプリックス | Java仮想マシン |
アクセス | Webブラウザ |
日立製作所 | MPEG-4動画再生 |