高性能SoCの要素技術
高性能SoC(System on Chip)に係る要素技術の概要を記載します。
FFI(Freedom From Interference)
ハードの話。様々な機能安全(ASIL-D、ASIL-B、QMなど)のソフトを1つのSoCに実装する際、ソフト間が干渉しないこと(FFI)の保証が重要。QMソフトからASIL-Dソフトへのアクセス制限(SoCに接続されているDDRメモリをASIL-DソフトやQMソフトで共有する場合、QMソフトからASIL-Dソフトへのアクセスを禁止するなどして保護されなければいけない)。ハード機能のMMU(メモリ管理ユニット)などが活用される。
アフィニティによるスケジューラ設定
ソフトの話。プロセスはOSによって、SoCのどのコアで実行されるか管理することが可能で、アフィニティ(プロセスとコアの連携…親和性)と呼ばれる。プロセスの優先度を考慮して、1つのプロセスを1コアに割り当てることができ、複数あるコアの性能を最大限引き出すことが可能になる。
NUMA(Non-Uniform Memory Access)
ハードの話。アフィニティと併せて検討したいのが、SoC内の各コアに(できる限り)専用のメモリを割り与えるシステム構成(NUMA)。ソフトは限られた範囲のデータをアクセスする傾向があるのでNUMAは有効なのだが、別コアのメモリにアクセスが必要になった場合、キャッシュのコヒーレンシ制御などオーバーヘッドが大きくなり性能悪化のリスクがある。