CPU は、メインメモリーに対してデータの読み書きを行いますが、CPU 内部まで詳細に見ていくと、CPU 内部にあるキャッシュメモリーに対してもデータの読み書きを行っています。
キャッシュメモリーが無くても、CPU はメインメモリーに対してデータの読み書きを行えれば正常に動作できますが、キャッシュメモリーを CPU 内部に設けてデータの読み書きを行うようにしている理由は、メインメモリーの処理速度の遅さによる性能低下の影響を抑えるためです。
CPU の処理速度が速いほど性能が高くなりますが、メインメモリーに対するデータ読み書き速度も速くならなければ、足を引っ張られてしまい、パソコン全体で見れば性能は伸びません。
例えば、CPU が1秒間に100回メインメモリーからデータを読み込める処理速度があっても、メインメモリーが1秒間に10回 CPU へデータを渡せる処理速度しか無ければ、CPU は待たされる事になり、CPU は本来の処理速度を発揮できません。
なぜ CPU にはキャッシュメモリーがあるのか
メインメモリーの処理速度は遅い
キャッシュメモリーでデータ読み書きにかかる時間を短縮
昔は CPU にはキャッシュメモリーがありませんでしたが、今と比べたら CPU の処理速度がすごく遅かった頃は、メインメモリーの処理速度の遅さは問題にはなりませんでした。その後、技術進歩によって CPU の処理速度がどんどん向上し続け、メインメモリーの処理速度の遅さが問題になり、CPU の処理速度が向上してもメインメモリーの処理速度も合わせて向上しなければ、パソコン全体の性能は伸び難くなってきました。
そこで登場したのがキャッシュメモリーです。キャッシュメモリーはメインメモリーよりも処理速度が速く、メインメモリーと比べたらキャッシュメモリーに対するデータ読み書きにかかる時間は大幅に短いです。
ただし、常にデータ読み書きにかかる時間が短縮はされません。メインメモリーと比べるとキャッシュメモリーの容量は小さく、CPU が読み込む可能性が高いデータをキャッシュメモリーに保存しておくため、そのデータを読み込む場合にデータ読み込みにかかる時間が短くなります。また、キャッシュメモリー容量不足の場合は、メインメモリーへデータ書き込みが発生するため、データ書き込みにかかる時間は短くなりません。
以下で、簡易な図を用いて、キャッシュメモリーを活用してデータの読み込み時間を短縮する例を見ていきます。
キャッシュメモリーに何もデータが保存されてなければ、必ずメインメモリーからデータを読み込みます。(@)その後、メインメモリーから読み込んだデータを、キャッシュメモリーに保存しておきます。(A)
(※)キャッシュメモリーは CPU 内部にあります。
また同じデータを読み込む場合は、キャッシュメモリーからデータを読み込みます。(B)
このように、キャッシュメモリー内に読み込みたいデータがあれば、メインメモリーよりもキャッシュメモリーの方が処理速度が速いため、データ読み込みにかかる時間の短縮を実現できます。
次に、また簡易な図を用いて、キャッシュメモリーを活用してデータの書き込み時間を短縮する例を見ていきます。
CPU からメインメモリーへデータを書き込む場合は、まずキャッシュメモリーに書き込みます。(@)このデータを、キャッシュメモリーからメインメモリーへデータを書き込みます。(A)
キャッシュメモリーの容量が空いていないと無理ですが、キャッシュメモリーにデータを書き込む事で、データ書き込みにかかる時間の短縮を実現できます。
全体的に見れば、キャッシュメモリーを経由する事で、メインメモリーに直接データを書き込むより時間がかかってしまっていますが、CPU はキャッシュメモリーにデータ書き込みが完了するまで待てば良く、メインメモリーにデータ書き込みが完了するまで待つ必要が無くなるため、CPU は次の処理に早く移れます。
そこで登場したのがキャッシュメモリーです。キャッシュメモリーはメインメモリーよりも処理速度が速く、メインメモリーと比べたらキャッシュメモリーに対するデータ読み書きにかかる時間は大幅に短いです。
ただし、常にデータ読み書きにかかる時間が短縮はされません。メインメモリーと比べるとキャッシュメモリーの容量は小さく、CPU が読み込む可能性が高いデータをキャッシュメモリーに保存しておくため、そのデータを読み込む場合にデータ読み込みにかかる時間が短くなります。また、キャッシュメモリー容量不足の場合は、メインメモリーへデータ書き込みが発生するため、データ書き込みにかかる時間は短くなりません。
以下で、簡易な図を用いて、キャッシュメモリーを活用してデータの読み込み時間を短縮する例を見ていきます。
キャッシュメモリーに何もデータが保存されてなければ、必ずメインメモリーからデータを読み込みます。(@)その後、メインメモリーから読み込んだデータを、キャッシュメモリーに保存しておきます。(A)
CPU | @ ← |
メインメモリー |
↓A | ||
キャッシュメモリー(※) |
また同じデータを読み込む場合は、キャッシュメモリーからデータを読み込みます。(B)
CPU | メインメモリー | |
↑B | ||
キャッシュメモリー |
このように、キャッシュメモリー内に読み込みたいデータがあれば、メインメモリーよりもキャッシュメモリーの方が処理速度が速いため、データ読み込みにかかる時間の短縮を実現できます。
次に、また簡易な図を用いて、キャッシュメモリーを活用してデータの書き込み時間を短縮する例を見ていきます。
CPU からメインメモリーへデータを書き込む場合は、まずキャッシュメモリーに書き込みます。(@)このデータを、キャッシュメモリーからメインメモリーへデータを書き込みます。(A)
CPU | メインメモリー | |
↓@ | ↑A | |
キャッシュメモリー |
キャッシュメモリーの容量が空いていないと無理ですが、キャッシュメモリーにデータを書き込む事で、データ書き込みにかかる時間の短縮を実現できます。
全体的に見れば、キャッシュメモリーを経由する事で、メインメモリーに直接データを書き込むより時間がかかってしまっていますが、CPU はキャッシュメモリーにデータ書き込みが完了するまで待てば良く、メインメモリーにデータ書き込みが完了するまで待つ必要が無くなるため、CPU は次の処理に早く移れます。
キャンペーン(PR) |
---|
安さで勝負する数少ない国内パソコンメーカーのマウスコンピューターでは、「ウィンターセール」を実施中です。一部のモデルのみですが期間限定で最大50,000円OFFです。 (2月5日迄) デル いち早く直販とBTOカスタマイズでの販売方式で大幅なコスト削減を実現したデルでは、「今週のおすすめ製品」を実施中です。対象製品が最大15%OFFでお買い得です。 (実施中) パソコン工房 BTOパソコン、PCパーツ、周辺機器等を安く販売するパソコン工房では、「パソコン大売出しSALE」を実施中です。対象BTOパソコンが最大40,000円OFFです。 (2月18日迄) |
CPU キャッシュメモリー関連
|
2023/09/07 更新