自分のコンピュータのコアが共有メモリを使用しているのか、分散メモリを使用しているのか、どうすればわかりますか?

自分のコンピュータのコアが共有メモリを使用しているのか、分散メモリを使用しているのか、どうすればわかりますか?

マイコンピュータには、Intel®Core™i7-4558Uプロセッサがあります。コアが2つなのに共有メモリを使うのか、分散メモリを使うのかわかりません。どのように答えを見つけることができますか?

ベストアンサー1

あなたのようなシングルソケットシステムのコアは、共有メモリコントローラを介してメモリに同じようにアクセスできます。また、最も外側のキャッシュ(あなたの場合は4MiBです。)。各コアには独自のTier 1およびTier 2キャッシュ(コアあたりそれぞれ64KiBおよび256KiB)。

Intel x86互換システムでは、NUMA(不均一なメモリアクセス)マルチソケットを備えた大規模システムでは(技術的に10個以上のコアを持つ高度なサーバーCPUも動作します)シミュレーションNUMAですが、物理メモリアーキテクチャは変更されません。これらのシステムでは、各CPUソケットが一連のメモリバンクを制御し、アクセスを実行するコードが問題のメモリを制御するCPU以外のCPUで実行されている場合、メモリアクセスに時間がかかります。しかし、ほとんどのx86スタイルシステムでは、すべてのメモリがまだ共有されています。各CPUはRAMのすべてのバイトにアクセスできます。

x86ベースのシステムのほとんどは、NUMAシステムであっても共有メモリシステムです。分散メモリこれは非常にまれで、x86ではおそらくスーパーコンピュータでのみ発生する可能性があります。

これらすべてを見つけるには、システムアーキテクチャを研究する必要があります。たとえば、詳細なレビューを読んでください。アナンド・テクノロジーズ、Intelのデータシートも同様です。それはあまりにも「常識」と見なされ、しばしば言及されていないようです...

おすすめ記事