SMPとAMPとは?えすえむぴーとえーえむぴー
SMPとAMPとは、複数コアの割り当て方の対比。SMPは単一のOSが全コアを対等に管理し、実行時の負荷に応じてタスクを配る。AMPはコアごとにOSや役割をあらかじめ固定する。平均スループットを取るか、最悪応答時間の見積りやすさを取るかという設計判断として、そのまま出題される。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
単一コアの周波数向上が消費電力と発熱の壁に当たり、性能をコア数で稼ぐ方向へ移った。ところが組込みで価値になるのは平均性能より締切の遵守なので、汎用スケジューラに配分を任せると期限の見積りが立たなくなる。制御系だけは物理的に隔離したいという要求と、画面や通信では資源を融通したいという要求は同じ方式では満たせない。この対立を、コアを分けて別々に扱うことで割り切ったのがAMPである。
具体例
NXP の i.MX 8 や STマイクロの STM32MP1 のように Cortex-A と Cortex-M を1チップに載せた製品では、A側で Linux を SMP 動作させて画面と通信を持たせ、M側の RTOS でモータ制御を1ms周期で回す構成を取る。コア間は共有メモリとメールボックスで受け渡し、割込みで同期する。
試験での引っ掛け
SMPは平均性能を出せる代わりに、どのコアで走るかとキャッシュの状態で応答時間がばらつき、最悪値を詰めにくい。AMPは分離できる代わりに負荷を融通できず、片方が飽和しても他方の空きを使えない。なおAMPは同一命令セットのコアでも成立し、異種コアを混載するヘテロジニアス構成とは別の軸の話である。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。