II-24-6. 組み込みシステムのアーキテクチャ

PC/AT互換機や情報家電、携帯電話、センサシステムなど代表的な組み込みシステムのハードウェアを紹介する。またこれらのシステムにおいて動作するソフトウェア構成の代表例を示し、それぞれの特徴や開発に必要な項目について説明する。

【学習の要点】

* 代表的な組み込みシステムのハードウェアアーキテクチャはSoC(System on a Chip)である。

* 最近の組み込みシステムではメモリアーキテクチャを構成し、多数のメモリの整合性とタイミングを考慮する必要がある。

* プロセッサには大きく分けて、汎用プロセッサ、アプリケーション専用プロセッサ、応用指向プロセッサの三つがある。汎用プロセッサでは、OSを載せることが多い。専用プロセッサは高度な処理を行うときに利用される。応用指向プロセッサの代表例はDSP(Digital Signal Processor)やGPU (Graphics Processing Unit)である。

* FPGA等のリコンフィギャラブルコンピューティングを利用したプロセッサが主流になっている。

図II-24-6. 組み込みシステムのアーキテクチャ

【解説】

1) SoCアーキテクチャ

* SoC(System on a Chip)アーキテクチャとは、主要な機能を1チップの半導体として実現した組み込みシステムのアーキテクチャである。SoCでは通常のパソコンのマザーボードにある、プロセッサ、バス、メモリ、I/Oインタフェース、グラフィックス等を一つの半導体として実現する。

* SoCのメリットは以下の点にある。

- 小さなサイズとなるためにシステムを小さく作ることができる。

- 物理的に部品点数も少なく、故障が少なくなると共に、保守性が増す。

- 信号伝達がチップ内だけなので、高性能かつ消費電力を抑えることができる。

2) メモリアーキテクチャ

* 組み込みでは、リアルタイム処理を実現するために多数のメモリが利用されている。最近では携帯電話や音楽プレイヤーのように大容量のメモリが必要であることから、メモリのアーキテクチャを構成し、キャッシュと主記憶、フラッシュメモリ等の整合性とタイミングを考慮する必要がある。

* メモリアーキテクチャに依存してソフトウェア構成を考える必要がある。

3) プロセッサ

* プロセッサには大きく分けて、汎用性の順序で、汎用プロセッサ、応用指向プロセッサ、アプリケーション専用プロセッサの三つがある。汎用性の高さは性能とトレードオフであることが通常である。

* 組み込みで仕様される汎用プロセッサは、ARM, MIPS, PowerPC, SH V850などが主流である。汎用プロセッサは、その上にOSを乗せて利用されることが多く、その場合機能要求をソフトウェアで実現することが多い。そのようなアーキテクチャを採用すると、開発コストが小さくなり、多様な機能開発が実現できる反面、性能が大きく実現できないことがある。

* 応用指向プロセッサは汎用と専用の中間に位置するプロセッサで、ある範囲の幅をもった専用処理を行う。代表的な例では、信号処理に共通な演算処理(例えばフィルタ処理の積和演算など)はDSP(Digital Signal Processor)で行われるののが通常である。また、3D画像のグラフィックス処理などでは、GPU(Graphics Processing Unit)が利用されるのが通常である。

* 専用プロセッサはできる限り高い性能を実現するために、特定のアプリケーションを実現するために利用されるものである。例えば、デジタル放送テレビの放送信号を処理する画像処理エンジンなどは、リアルタイムに高度な性能をもとめられるために、専用プロセッサが利用されている。

4) リコンフィギャラブルコンピューティング

* SoCにおいてハードウェアの回路構成を動的に変更できる技術をリコンフィギャラブルコンピューティングと呼ぶ。近年多用されるFPGA(Field Programmable Gate Array)が代表例である。

* FPGA等のハードウェアは特定の専用回路ではなく、一種のプログラミングによりハードウェアの機能を実現している。そのために、ソフトウウェア開発との相性がよく、ハードウェアとソフトウェアのコデザインという開発パラダイムという考え方によく合致する。

* FPGA等は高価なマスク処理等が必要ないために、他品種少量生産に向いている。

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