0

CPU の構成要素やランダム アクセス メモリの構造については調べましたが、レジスタ間の比較操作がわかりません。

「レジスタ間の比較操作は、通常、RAM 内の 2 つのデータ エントリに対する同等の操作よりも速いのはなぜですか?」

4

1 に答える 1

0

キャッシュの外側にある場合、RAM アクセスは非常に遅くなります。DDR3 モジュールのデータにアクセスするのは、レジスタ (または L1 キャッシュ) にアクセスするよりも数百倍遅くなります。今日のデスクトップ (またはサーバー、またはラップトップ) プロセッサは、DDR3 RAM モジュールなどの (L1) キャッシュの外部にあるデータにアクセスするためにほとんどの時間を失っています。

数字を大局的に見ると、レジスターまたは L1 キャッシュされたデータへのアクセスには、せいぜい数サイクルしかかかりません (したがって、3GHz マシンでは通常 1 ナノ秒を意味します)。DDR3 RAM モジュールのデータにアクセスするには、約 200 または 300 ナノ秒かかります。その間ずっと、プロセッサは 100 以上のマシン命令を実行できました。

これが、データの局所性がますます重要になっている理由です。そして、それは私たちが書いているコードにも影響を及ぼします: リンクされたリストをスキャンすることは、配列をスキャンすることよりもずっと遅くなるかもしれません.

詳細は難しいです。現在のプロセッサで小さなルーチンの最悪の場合の実行時間を予測することは非常に困難です。

于 2011-10-16T20:14:25.700 に答える