今さら聞けないマルチプロセッサの基礎教えます ――キャッシュの共有,割り込みの共有,OSによる制御
IPCMは,メールボックスという仮想的な通信路を使ってコア間通信を実現します(7).メールボックスは,送信元や受信先のコアIDなどの通信に必要な情報や7ワードまでのペイロード・データを格納できるレジスタから構成されています(図10).ARMコアがDSPコアに対して通信する場合,ARMコアは送信元,受信先,ペイロード・データをメモリ・マップ上に配置されたメールボックスに書き込みます.すると,IPCMはDSPコアに割り込みをかけ,DSPに通信があることを通知します.割り込まれたDSPは割り込みハンドラに制御を移し,メールボックスから受信データを読み出します.通信モードによっては細かいオプションがありますが,基本的にはこのような流れでコア間通信を行います.
図9の例では,ARMコアとDSPコアのそれぞれに割り込みコントローラが接続されています.このため,それぞれのコアで共有したい割り込みと,別々に扱いたい割り込みを分けることができ,非対称なコア構成に合った割り込み管理が行えます.