この投稿では、SMP(対称型マルチプロセッシング:Symmetric Multi-Processing)とAMP(対称型マルチプロセッシング:Asymmetric Multi-Processing)について説明します。

Symmetric Multi-Processing(SMP)
Symmetric Multi-Processing(SMP)は、複数のプロセッサ(またはコア)が同じメモリ空間を共有し、対称的にタスクを処理するアーキテクチャです。各プロセッサは独立して動作しながらも、同一のオペレーティングシステム(OS)上で対等な役割を果たします。
Asymmetric Multi-Processing(AMP)
Asymmetric Multi-Processing(AMP)は、複数のプロセッサまたはコアが非対称な役割を持ち、特定のタスクに特化して動作するマルチプロセッシング・アーキテクチャです。プロセッサ間で対等にタスクを処理するSMP(Symmetric Multi-Processing)とは異なり、AMPではプロセッサごとに異なる機能を持たせることができます。
SMPとAMPの比較
項目 | SMP | AMP |
---|---|---|
プロセッサの役割 | すべてのプロセッサが対等で、同じタスクを処理可能 | プロセッサごとに異なる役割を持つ(マスター・スレーブ構造) |
メモリアクセス | 共有メモリを使用(単一のメモリ空間) | プロセッサごとに異なるメモリ構成が可能(共有または専用) |
OSの管理 | 単一のOSがすべてのプロセッサを管理 | プロセッサごとに異なるOSやファームウェアを実行可能 |
タスクの割り当て | OSのスケジューラが均等にタスクを割り振る | プロセッサごとに独自にタスクを割り当てる |
並列処理 | すべてのプロセッサで並列処理が可能 | 並列処理は可能だが、負荷分散の柔軟性は低い |
リアルタイム処理 | リアルタイム性は一般的に低い(レイテンシが発生しやすい) | リアルタイム処理向けに特定のプロセッサを専用化できる |
電力効率 | すべてのプロセッサが同じパワーレベルで動作 | 低消費電力プロセッサと高性能プロセッサを使い分け可能 |
実装の複雑さ | 比較的シンプル(OSが管理) | 高度な設計が必要(プロセッサ間通信やタスク分担の考慮) |
主な用途 | PC、サーバー、汎用コンピューティング | 組み込みシステム、モバイルデバイス、リアルタイム制御 |
代表的な例 | x86マルチコアCPU(Intel、AMD)、サーバー、ワークステーション | ARM big.LITTLE、組み込みシステム(車載ECU、ロボット制御) |