5

最初の質問 C プログラマの観点から、Intel Core プロセッサと同等の AMD プロセッサの違いは何ですか?

関連する 2 番目の質問 Intel Core と他のプロセッサを区別する命令、およびその逆の命令があると思います。それらの指示はどれほど重要ですか? それらはコンパイラによって考慮されていますか? Core ファミリ専用の特別な Intel コンパイラがあれば、パフォーマンスは向上しますか?

4

3 に答える 3

4

最初の質問 C プログラマの観点から、Intel Core プロセッサと同等の AMD プロセッサの違いは何ですか?

最も大きな違いは、ベクトル演算、並列化、SSE などの新世代の命令を使用する高度に専門化されたコードでのみ現れる可能性があります。

Core ファミリ専用の特別な Intel コンパイラがあれば、パフォーマンスは向上しますか?

ご存じかどうかはわかりませんが、Intel コア専用のコンパイラiccがあります。一般に、最適化の観点からは最高のコンパイラであると考えられています。

そのウィキペディアの記事をチェックしてみてください。

于 2009-05-23T11:54:18.673 に答える
4
  1. ユーザー レベルのコードとほとんどのドライバー コードをプログラミングしている場合、多くの違いはありません (1 つの例外は、特定の命令セットの可用性です。プロセッサによって異なる場合があります。以下を参照してください)。CPU 固有の機能 (内部カウンターを使用したプロファイリング、メモリ管理、電源管理、仮想化) を扱うカーネル コードを作成している場合、アーキテクチャは実装が異なり、場合によっては大幅に異なります。

  2. ほとんどのコンパイラは、SSE 命令を自動的に利用しません。ただし、ほとんどの場合、SSE ベースの組み込み関数が提供されているため、SSE 対応のコードを記述できます。使用可能なすべての SSE レベルのサブセットは、プロセッサのアーキテクチャとメーカーごとに異なります。

命令リストについては、このページを参照してください。リンクに従って、特定の手順がサポートされているアーキテクチャを確認してください。また、すべての命令セットのサポートと実装に関する正確な詳細については、 IntelおよびAMDアーキテクチャ開発マニュアルを参照してください。

于 2009-05-23T12:08:48.300 に答える
1

Intel Core Wikipedia の記事によると、SSESSE2、およびSSE3命令に顕著な改善がありました。これらの命令は SIMD (same instruction, multiple data) であり、単一の算術演算を値のベクトルに適用するように設計されています。それらは確かに重要であり、かなり長い間GCC などのコンパイラで使用されてきました。

もちろん、最近の AMD プロセッサは最新の Intel 命令を採用しており、その逆も同様です。これは継続的な傾向です。

于 2009-05-23T12:09:49.000 に答える