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

Powerbeats Proがケースで充電できない場合の対処法

Powerbeats Proがケースで充電できない場合の対処法

Powerbeats Proが充電できない場合、別の電源を使用し、イヤフォンを清掃してください。充電中はケースを開いたままにしてください。

3Dプリントの基本:必見のメンテナンスチェックリスト

3Dプリントの基本:必見のメンテナンスチェックリスト

設備を良好な状態に保つことは必須です。ここでは、3Dプリンターを最良の状態に保つための役立つヒントをご紹介します。

キヤノン Pixma MG5220: インクなしでスキャンする方法

キヤノン Pixma MG5220: インクなしでスキャンする方法

インクが切れた場合にキヤノン Pixma MG5220でスキャンを有効にする方法。

ノートパソコンが過熱する5つの理由

ノートパソコンが過熱する5つの理由

ノートパソコンが過熱する可能性のある理由と、この問題を回避してデバイスを冷却するためのヒントやコツを見つけましょう。

GeForce Now エラーコード 0xC272008F 修正方法

GeForce Now エラーコード 0xC272008F 修正方法

ゲームを楽しむ準備が整い、『Star Wars Outlaws』をGeForce Nowでプレイしようとすると、エラーコード0xC272008Fが発生。Ubisoftゲームを再び遊ぶための唯一の解決策を見つけましょう。

3Dプリンティングの基本:3Dプリンターのメンテナンステクニック

3Dプリンティングの基本:3Dプリンターのメンテナンステクニック

3Dプリンターを維持することは、最高の結果を得るために非常に重要です。念頭に置くべき重要なヒントをご紹介します。

プリンターのIPアドレスを見つける方法

プリンターのIPアドレスを見つける方法

プリンターの使用しているIPアドレスがわからなくて困っていますか?その情報を見つける方法をお教えします。

Samsungの電話でAirPodsを使用する方法

Samsungの電話でAirPodsを使用する方法

Samsungの電話用にAirPodsを購入するかどうか迷っているなら、このガイドが役立ちます。もっとも明白な質問は、両者が互換性があるかどうかです。

修正:ChromebookがBluetoothデバイスに接続しない

修正:ChromebookがBluetoothデバイスに接続しない

BluetoothデバイスをChromebookとペアリングできない場合は、Bluetoothオプションを無効にして、ラップトップを再起動します。

ダブルVPNとは何ですか?シングルVPNよりどれだけ優れていますか?

ダブルVPNとは何ですか?シングルVPNよりどれだけ優れていますか?

ダブルVPNは、ネットワークの使用状況を監視している人からユーザーを保護するための優れた解決策です。