組み込み分野における「マルチプロセッサ」とは ―― 多機能・低消費電力の要求にこたえるための技術的要素と課題
1) 機能分散と負荷分散
マルチプロセッサを採用したシステムを考えるとき,それぞれのプロセッサが別々の機能を持ち,それらの処理が協調することによってシステムを構築するという考えかたがあります.これを「機能分散」と言います.これに対して,単一の処理を複数のプロセッサで分担することにより,ひとつひとつのプロセッサの処理負荷を減らすことができます.このような考えかたを「負荷分散」と言います.
この二つは,システム設計において意識すべき着眼点といえます.
2) ヘテロジニアスとホモジニアス
ヘテロジニアスとホモジニアスということばは,一般にマルチプロセッサのハードウェア構成を説明するときに用いられます.ヘテロジニアスは,プロセッサが「異質な」結合をしているシステムです.例えば,CPUとDSPといったまったく異なるプロセッサを結合しているケースや,CPUどうしであっても異なるアーキテクチャのものを結合しているケースを指します.
一方,ホモジニアスは「等質」な結合をしているシステムを指します.このシステムでは,同一のアーキテクチャや構成のプロセッサを複数結合しています.
3) 非対称(AMP)と対称(SMP)
非対称か対称かは,ソフトウェアがそれぞれのプロセッサをどう扱うかを説明する視点です.
非対称マルチプロセッサ(AMP)では,それぞれのプロセッサの上でOSに代表される別々のソフトウェア基盤が動作します.したがって,各プロセッサのソフトウェア基盤の上で動く上位ソフトウェアが,それぞれの処理結果を個別に調停しつつ,ほかのプロセッサのソフトウェア基盤と協調動作する必要があります.
対称マルチプロセッサ(SMP)では,各プロセッサ間の処理の調停を単一のソフトウェア基盤が行います.したがって,アプリケーションなどの上位ソフトウェアから見たとき,マルチプロセッサであることを意識しなくてすみます.
先ほど例を挙げた携帯電話における通信プロセッサとアプリケーション・プロセッサなどのようなマルチプロセッサ構成は,もともと別々の機能処理(専用のハード・ワイヤード論理で行っていたもの)をプロセッサ処理に置き換えることで自然発生しました.このような機能分散型のマルチプロセッサでは,必然的にヘテロジニアスな非対称構成をとります.
しかし,コンピュータにおけるマルチプロセッサは,主として高性能と低消費電力の実現の要求に基づき,負荷分散を行うことに主眼を置いています.このため,ホモジニアスで対称な構成を目ざしたアーキテクチャとなっています.