II-27-1. システム全体としての最適化

MPUの選択基準やハードウェアの選定、ソフトウェアからの制御方法などハードウェアで最適化できる部分は何かを解説し、さらに、資源の配分やメモリの効率的な利用方法などソフトウェアによる最適化を考える。このようなシステム全体としての最適化検討の手順について説明する。

【学習の要点】

* 組み込みアプリケーションの開発ツールやOSはMPUに依存しているため、MPUの選択は、MPUの性能、価格以外に開発ツールの提供状況なども加味する必要がある。

* 言語仕様・MPU・コンパイラの拡張・最適化機構を用いることで、実行速度・効率は高まるが、メモリの使用量とのトレードオフの関係にあることが多い。

図II-27-1. ハードウェアの観点による検討項目

【解説】

1) MPU の選択基準にかかわる諸要因

* 性能

- 高速なMPUによるソフトウェア処理を増やすことで、基板上の部品点数を減らすことができるが、高速なMPUは一般に消費電力と発熱が大きい。

- 廉価なMPUでもFPGAに多くの処理をさせることにより、十分な性能を出すことができる。また消費電力も抑えることができる。

* 価格

- 処理を専用ハードウェアに任せるとハードウェア原価が上がり、ソフトウェアの分担範囲を広めるとソフトウェア開発費が上がる。ハードウェア原価とソフトウェア開発費のトレードオフを考慮しなくてはならない。

* 開発ツール

- MPUに自社の技術戦略と合致した開発ツールがあることも重要な要因である。

2) ハードウェアの観点による検討項目

* 省電力・発熱対策

- 筐体には十分な強度と電磁波への対策が必要だが、製品の高密度化、MPUの高性能化による発熱への対策が特に重要になる。

- 回路基板の配置や、空気の流路などを考慮する必要がある。また、周辺機器とのやりとりに用いるバス数を増やしてデータ転送回数を減らすなどの対策が考えられる。

* 耐震性・耐湿性・塵埃対策

- 設置する環境の特性を考慮し、振動・湿度・塵埃への耐性を持たせる必要がある。

* EMC(Electro-Magnetic Compatibility)対策

- 組み込み機器の発する電磁波ノイズには国際規格による制限が加えられている。

- CISPR Pub.11.22(国際無線障害特別委員会), VCCI(日本情報処理装置等電波障害自主規制)などが電波障害に関する規格の例である。

* 保守性

- 在庫管理の観点から、部品の安定供給を考慮する必要がある。

- 組み込み機器の寿命を長くするために、偶発故障期間(初期故障期間以降、摩耗故障期間以前)の長い部品を利用することが望ましい。

3) ソフトウェアの観点による最適化検討項目

* 計算量を抑えるためにソフトウェアのプログラムに用いられるアルゴリズムを改善することが挙げられ、ループ内不変値のループ外への移動などのループ処理の改善や局所変数で高速に処理できる型の利用などが考えられる。

* コンパイラの拡張・最適化機構を用いて、メモリ配置の最適化、関数のレジスタ割り当て操作、アセンブラ埋め込み機能などを用いる。

* 上記の最適化により、実行速度・効率は高まるが、メモリの使用量とのトレードオフの関係にあることが多い。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。