web-dev-qa-db-ja.com

RAMとプロセッサ速度の関係

RAMは一時的なストレージとして使用されます。ただし、このストレージはCPUメモリ(RAM)にあるため、高速です。プログラムは、値を簡単に読み書きできます。 RAMアプリケーションのロード/実行にかかる時間が短くなっていることに気づきました。しかし、これは実際にはプロセッサの速度(MHzまたはGHzの値)に依存しません)。は、プロセッサ速度とRAMの間の科学/関係です。

1
deostroll

処理の目的でIO操作を参照していると思います。簡単な、素人の答えを出そうと思います。

プロセッサが工場の肉挽き肉であり、RAMを想定すると、ハードディスクは未処理の肉を挽き肉に供給するコンベヤーベルトシステムのようなものです。

コンベヤーベルトには2つの部分があると仮定します->遅いが広い部分と速いが狭い部分。前者はハードディスクの大容量ストレージであるが速度が遅いことをほのめかし、後者はメモリの小ストレージであるが高速特性を指している。

そう...

ハードディスクコンベヤー(ワイドだが遅い)-> RAMコンベヤー(狭いが速い)->グラインダー(プロセッサー)

RAMを増やすと、それはRAMコンベアを広げるようなものです。したがって、グラインダーは処理のために一度にはるかに多くを受け取る可能性があります。

RAMが低い場合は、RAMコンベアは高速ですが、非常に狭いため、グラインダーに注がれる肉の量が少ないことを意味します。同時に、肉はハードディスクコンベヤーポイントで詰まる可能性があります(つまり、十分に最適化されたシステムのRAMコンベヤーにあるはずの肉は、実際にはまだハードディスクコンベヤーにあります-別名ページング/スワップファイル)。

答えをすべてまとめるとうまくいけばわかりやすい文:

RAMとプロセッサの関係、およびプログラムの実行速度が速い理由は、RAMが多いほど、処理するデータがプロセッサに速く到達できるためです。

システムメモリのサイズがRAMコンベアの幅と同等である場合、フロントサイドバス(FSB)は高速 RAMと同等です。コンベアが行きます。

ふぅ!これがあなたの質問に答えることを願っています!

11
caliban

科学的方程式は実際にはプログラムの振る舞いの関数であると私は信じています。少し単純化しすぎると最もよく理解できます。

  • プログラムがディスクを集中的に使用する場合、速度はディスクに比例します。
  • プログラムが計算を対象としている場合:最近のメモリキャッシュは非常にインテリジェントで高速であるため、速度は(ほとんど)CPUに比例します。
  • それ以外の場合、速度は(ほとんど)メモリに比例します。

概要:集中的にアクティブなプログラムごとに、ボトルネックがあります。専門的なツールを使用しても、どのコンポーネントが原因であるかを分析するのは必ずしも簡単ではありません。非常に大規模なデータベースについて管理者と話し合った後、改善のたびに動作が変わる可能性があるため、マシンのボトルネックを次々に改善することが考えられているようです。ハードウェアが複雑すぎるため、これは正確な科学ではありません。 Intelの8コアCPUには23億個のトランジスタが搭載されます を参照してください。

3
harrymc