Flexisのハードウェア構成およびS08との違い
さて、内部はどのような形になっているのだろうか。ハードウェアの構成をまとめたものが図3である。この図3からCPUコア以外は完全に同じ構成になっていることがわかる。
またソフトウェア開発者から見ると、純粋にコアにあわせてプロセッサライブラリを入れ替える(図4)だけで、両者を同じものとして取り扱うことが可能になっている。それでは、どうやって使い分けるか、という指針の一例として提示されたのが図5である。
一般論としては、性能が要求されない代わりにコストと消費電力の削減が求められる場合にはS08を、性能面での要求が厳しい場合にはColdFire V1を使い、Seamless Upgradeが要求されるケースでは両者を使い分ける、ということになる。このSeamless Upgradeのシーンの一例として出てきたのが図6と図7である。CMOSカメラをI2Cバス経由で接続し、画像を取り込んで動きなどを判断、必要に応じて警報を鳴らしたり上位ホストに通知を行うといったアプリケーション例だ。
図6 さすがにS08の能力ではVGAで30fpsというのは論外だろうが、QVGAを2~3fps程度で処理する程度のことは可能だろうし、ある種の監視カメラであればこれでも十分な性能である |
図7 ただもう少し汎用的に使うには、性能の向上は必須である。モータ制御まで入るかどうかはともかく、ColdFireであればQVGAで15fps程度の処理は十分射程内に入る |
カタログを見る限りではS08を使おうがColdFireを使おうが大きく差は出ないが、ColdFireを使えば処理性能にゆとりが出るから、より多くの画像エリアをより高速に判断したり、必要なら監視カメラの首振り制御を行うといった余力が生まれる。このため、上位モデルでは多少価格を上乗せすることは可能だし、これは利幅を多く取ることに繋がるというわけだ。
この場合、モータ制御部は新規追加になるが、そのほかのハードウェアはローエンド品とハイエンド品で共通なので、ハードウェア開発をまとめて行うことも可能だ。またソフトウェアの側も、基本的な部分は共通化できるので、2種類の製品を開発したからといって開発費は2倍にはならない。大雑把に言えばまずハイエンド品を開発し、そこから不要な機能を落す形でローエンド品を開発できる。ハードウェアもCPU以外は共通化できるわけで、結果として開発コストを抑えつつ、製品ラインナップを増やすことができる。この場合、ローエンド品は原価をぎりぎりに抑え、ハイエンド品でマージンを稼ぐといった形で製品展開を行うことで、開発コストの回収が容易に行いやすいというわけだ。