今さら聞けないマルチプロセッサの基礎教えます ――キャッシュの共有,割り込みの共有,OSによる制御
組み込みシステムやシステムLSIにおいて,対称型や非対称型のマルチプロセッサ・システムを設計,利用する機会が増えてきた.ところで,実際にマルチプロセッサがどのように動作しているかご存じだろうか? 本稿では,マルチプロセッサ・システムにおけるCPUやOSの動作,アプリケーションを開発するときの注意点などについて解説する. (編集部)
組み込み分野では,一つのチップ上に複数のCPUコアやDSPコアを組み込んだシステム(いわゆるマルチコア)を設計する機会が増えてきました.一方,複数のプロセッサで並列処理を行うマルチプロセッサ・システムは1960年代から科学技術計算やサーバ用途の分野で研究されており,広く実用化されています.
サーバ用途のマルチプロセッサ・システムは,同じプロセッサを複数並べる「対称型マルチプロセッサ(symmetric multi processor:SMP)」である場合がほとんどですが,組み込み分野では,処理の内容に応じて異なるプロセッサ・コアを組み込む「非対称型」が重要な位置を占めています.また,処理性能の向上を目的とする対称型マルチプロセッサも登場しています(1).
ここでは,マルチプロセッサ・システムの基本的な動作原理,OSなどによる制御方法,プログラム開発の注意点について解説します.今後の組み込みシステム開発において,本稿が何らかの足掛かりになれば幸いです.