SMPとAMP

この投稿では、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の比較

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