18

最新の CPU のキャッシュ アクセス速度は? Intel P4、Core2、Corei7、AMD では、プロセッサ クロック ティックごとにメモリから読み書きできるバイト数は?

もしあれば、理論的な数値 (uOPs/tick でのスループットを伴う ld/sd ユニットの幅) と実際の数値 (memcpy 速度テスト、または STREAM ベンチマーク) の両方で回答してください。

PSアセンブラのロード/ストア命令の最大レートに関連する質問です。ロードには理論上のレートが存在する可能性があります (ティックごとのすべての命令が最も広いロードです) が、プロセッサはその一部しか提供できず、ロードの実際的な制限があります。

4

2 に答える 2

10

nehalemの場合:rolfed.com/nehalem/nehalemPaper.pdf

Each core in the architecture has a 128-bit write port and a
128-bit read port to the L1 cache. 

128ビット=16バイト/クロック読み取りおよび128ビット=16バイト/クロック書き込み(読み取りと書き込みを1サイクルで組み合わせることができますか?)

The L2 and L3 caches each have a 256-bit port for reading or writing, 
but the L3 cache must share its port with three other cores on the chip.

L2とL3の読み取りおよび書き込みポートをシングルクロックで使用できますか?

Each integrated memory controller has a theoretical bandwidth
peak of 32 Gbps.

レイテンシー(クロックティック)、一部はCPU-Zのlatencytoolまたはlmbenchのlat_mem_rdによって測定されます-どちらも長いリンクリストウォークを使用して、IntelCorei7などの最新のアウトオブオーダーコアを正しく測定します

           L1     L2     L3, cycles;   mem             link
Core 2      3     15     --           66 ns           http://www.anandtech.com/show/2542/5
Core i7-xxx 4     11     39          40c+67ns         http://www.anandtech.com/show/2542/5
Itanium     1     5-6    12-17       130-1000 (cycles)
Itanium2    2     6-10   20          35c+160ns        http://www.7-cpu.com/cpu/Itanium2.html
AMD K8            12                 40-70c +64ns     http://www.anandtech.com/show/2139/3
Intel P4    2     19     43          200-210 (cycles) http://www.arsc.edu/files/arsc/phys693_lectures/Performance_I_Arch.pdf
AthlonXP 3k 3     20                 180 (cycles)     --//--
AthlonFX-51 3     13                 125 (cycles)     --//--
POWER4      4     12-20  ??          hundreds cycles  --//--
Haswell     4     11-12  36          36c+57ns         http://www.realworldtech.com/haswell-cpu/5/    

そして、レイテンシデータの良い情報源は7cpuのウェブサイトです。例えばHaswellの場合:http ://www.7-cpu.com/cpu/Haswell.html

lat_mem_rdプログラムの詳細は、そのマニュアルページまたはここSOにあります。

于 2010-03-01T09:56:12.063 に答える
7

最も幅の広い読み取り/書き込みは、128 ビット (16 バイト) SSE ロード/ストアです。L1/L2/L3 キャッシュには異なる帯域幅とレイテンシがあり、これらはもちろん CPU 固有です。一般的な L1 レイテンシは最新の CPU では 2 ~ 4 クロックですが、通常はクロックごとに 1 ~ 2 のロード命令を発行できます。

ここのどこかにもっと具体的な質問が潜んでいると思います-あなたが実際に達成しようとしていることは何ですか? 可能な限り最速の memcpy を書きたいだけですか?

于 2010-03-01T09:36:06.300 に答える