CPUキャッシュとは何ですか?

最新のCPUは信じられないほど高速に動作します。それらはシステムRAMを大幅に上回る可能性があります。CPUとメモリの間のこの速度の不均衡により、プロセッサはアイドル状態になり、データが送信されるのを待って、プロセスの実行を継続できるようになります。これを防ぎ、CPUをどんどん高速に実行できるようにするために、CPUキャッシュが使用されます。

CPUキャッシュはどのようにCPUを高速化しますか?

CPUキャッシュは、可能な限り高速になり、CPUが要求するデータをキャッシュするように設計されています。CPUキャッシュの速度は、遅延、帯域幅、近接性の3つの方法で最適化されています。CPUキャッシュは非常に低いレイテンシで動作し、結果が返されるまでにかかる時間を最小限に抑えます。たとえば、Intel i9-9900kのキャッシュ遅延は、L1、L2、およびL3キャッシュに対してそれぞれ0.8、2.4、および11.1ナノ秒です。比較すると、最新の高速RAMの遅延は14ナノ秒のオーダーです。

ヒント:キャッシュレベルについては後で詳しく説明しますが、キャッシュの下位層を配置すると、高速になりますが、コストが高くなるため、容量が少なくなります。ナノ秒は10億分の1秒であるため、0.8秒の遅延は、結果を返すのに10億分の1秒未満かかることを意味します。

帯域幅に関しては、CPUキャッシュにより、従来のストレージやRAMよりもパフォーマンスが大幅に向上します。L1キャッシュとL3キャッシュの読み取り速度は、それぞれ2.3 TB / sと370GB / sでピークに達する可能性がありますが、RAMの帯域幅は通常約40 GB / sです。この増加した帯域幅は、CPUキャッシュがRAMよりもはるかに高速にデータをCPUに転送できることを意味します。

可能な最大速度を達成するために、CPUキャッシュは実際にはCPUダイ自体のシリコンに組み込まれています。これにより、電気信号が移動する必要のある距離が最小限に抑えられるため、遅延が可能な限り低く抑えられます。たとえば、L3キャッシュが最初にマザーボードからCPUダイに移動されたとき、当時のプロセッサ(Pentium 4 EE)は10〜20%のパフォーマンス向上を得ることができました。

CPUキャッシュアーキテクチャ

最近のCPUは通常、L1-3というラベルの付いた3層のCPUキャッシュを使用します。番号の小さいキャッシュは、CPUコアに近く、高速で、高価です。マルチコアCPUの個々のCPUコアには、独自のL1キャッシュがあります。通常、L1IとL1Dの2つの部分に分割されます。L1IはCPUの命令をキャッシュするために使用され、L1Dはそれらの命令が実行されるデータをキャッシュするために使用されます。

通常、各CPUコアには、最新のCPUに独自のL2キャッシュがあります。L2キャッシュはL1キャッシュよりも大きくて低速であり、主にL2キャッシュに収まらないデータを格納するために使用されます。コアごとに専用のL2キャッシュを用意することで、キャッシュの競合を回避できます。キャッシュの競合は、さまざまなコアが独自のワークロードのキャッシュスペースを要求するために戦う場所であり、重要なデータがキャッシュからクリアされる可能性があります。

L3キャッシュは通常、プロセッサのすべてのCPUコア間で共有されます。繰り返しますが、L3キャッシュはL2キャッシュよりも低速ですが、安価で大きくなります。共有キャッシュを提供することにより、コアごとのキャッシュの低レベルで複製されるデータの量を減らすことができます。

ヒント:例として、キャッシュサイズでは、Intelのi9-9900Kにはコアあたり64KBのL1キャッシュと256KBのL2キャッシュ(合計512KBのL1と2MBのL2)があり、16MBの共有L3キャッシュもあります。

CPUキャッシュはどのように使用されますか?

CPUキャッシュのすべてのレベルは、RAMからデータをキャッシュすることにより、プロセッサのパフォーマンスを高速化するために使用されます。CPUがデータを要求すると、通常、データをできるだけ速く取得するために、最初にキャッシュレイヤーを検索します。データがキャッシュヒットで見つかった場合、CPUはその処理を続行できます。データがキャッシュにない場合、いわゆるキャッシュミスの場合、CPUはRAMをチェックし、データがない場合はハードドライブをチェックする必要があります。パフォーマンスが最大になるように、常に最初に高速レイヤーがチェックされます。

CPUが必要なときに必要なデータをキャッシュに保持できるようにするために、キャッシュはCPUが次に必要とする可能性のあるデータをプリエンプトしようとします。たとえば、CPUが画像のデータを要求した場合、レンダリング中のキャッシュは、より多くの画像データをプリエンプティブにキャッシュしようとするため、CPUにできるだけ早くフィードできます。



Leave a Comment

ハードドライブのクローンを作成する方法

ハードドライブのクローンを作成する方法

データが貴重な資産である現代のデジタル時代では、Windows 上でハード ドライブのクローンを作成することは、多くの人にとって重要なプロセスとなる可能性があります。この包括的なガイド

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

コンピュータの起動中に、ドライバ WUDFRd をコンピュータに読み込めなかったことを示すエラー メッセージが表示されましたか?

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

デスクトップで NVIDIA GeForce experience エラー コード 0x0003 が発生していますか? 「はい」の場合は、ブログを読んで、このエラーをすばやく簡単に修正する方法を見つけてください。

Chromebook の電源が入らないのはなぜですか

Chromebook の電源が入らないのはなぜですか

「Chromebook の電源がオンにならないのはなぜですか?」という質問に対する答えを見つけます。この役立つガイドは Chromebook ユーザー向けです。

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を無料で変更して、時計の外観を毎日変えることができます。それがいかに早くて簡単かを見てください。

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバ ロボット掃除機が停止し、固着し、回転し続ける問題を修正します。

Steam Deckのグラフィック設定を変更する方法

Steam Deckのグラフィック設定を変更する方法

Steam デッキは、堅牢で多彩なゲーム体験をすぐに提供します。ただし、ゲームを最適化し、可能な限り最高のパフォーマンスを保証するには、

分離ベースのセキュリティとは何ですか?

分離ベースのセキュリティとは何ですか?

サイバーセキュリティの世界でますます重要になっているトピック、つまり分離ベースのセキュリティを詳しく掘り下げる予定でした。このアプローチは、

Chromebook でオート クリッカーを使用する方法

Chromebook でオート クリッカーを使用する方法

今日は、Chromebook で繰り返しクリックするタスクを自動化できるツール、オート クリッカーについて詳しく説明します。このツールは時間を節約し、

SMPSとは何ですか?

SMPSとは何ですか?

コンピューターに SMPS を選択する前に、SMPS とは何か、およびさまざまな効率評価の意味を理解してください。