L0 キャッシュとは

CPU は信じられないほど複雑な獣です。私たちが見ているパフォーマンスのレベルを達成するために、すべてが完全に調和して機能しなければならない相互接続部分がたくさんあります。CPU の重要な機能の 1 つはキャッシュです。派手な機能ではありません。コア数やピーク ブースト周波数と同様にアドバタイズしません。ただし、パフォーマンスにとっては重要です。

キャッシュを使用する理由

最新の CPU は信じられないほど高速です。毎秒 50 億以上の操作を実行します。CPU が高速で動作しているときに、CPU にデータを供給し続けることは困難です。RAM には、CPU にデータを供給するのに十分な容量があります。非常に高い帯域幅のおかげで、毎秒データを転送することさえできます。しかし、それは問題ではありません。問題はレイテンシです。

RAM は非常に迅速に応答できます。問題は、毎秒 50 億回の処理を行う場合、「非常に迅速」とは長い時間になることです。最も高速な RAM でも、レイテンシは 60 ナノ秒を超えています。繰り返しますが、60 ナノ秒はまったく時間がないように聞こえます。問題は、CPU が 1GHz で動作する場合、1 サイクルを完了するのに 1ns かかることです。5.7 GHz に達するハイエンド CPU では、175 ピコ秒ごとに 1 サイクルです。60 ナノ秒のレイテンシーは今どうなっていますか? これは 342 サイクルのレイテンシです。

この種のレイテンシは、CPU パフォーマンスにとって致命的です。これを回避するために、キャッシュが使用されます。キャッシュは、CPU ダイ自体に配置されます。また、RAM よりもはるかに小さく、DRAM ではなく SRAM という異なる構造を使用しています。これにより、メイン システム RAM よりもはるかに高速に応答できます。通常、キャッシュは階層化されており、L1、L2、および L3 は、CPU コアからどんどん離れていく階層を示すために使用されます。下位層は高速ですが、サイズは小さくなります。L1 のレイテンシは 4 または 5 クロック サイクルで、342 よりもはるかに優れています。

しかし、一部の CPU は L0 について言及していますか?

L1、L2、および L3 の用語はかなり標準的です。それらが何を意味し、何をするかについてのあいまいな理解は、CPU ベンダー間でさえ、比較的一般的です。これは、材料物理学と電気物理学に支配されているためです。あまり変えることはできません。高速キャッシュまたは大容量キャッシュのいずれかを使用できますが、両方を使用することはできません。複数のコア間でキャッシュを共有する場合は、より大きくする必要があります。そのために、L1 と L2 はコア固有のものになる傾向があります。大きな L3 キャッシュは、CPU またはチップレットの一部またはすべてのコア間で共有される傾向があります。

おそらくご想像のとおり、L0 はキャッシングに関連していますが、事後的に命名スキームに押し込まれました。ただし、それが何を意味するのかを理解するのには役立ちません。ただし、おそらくいくつかのことを推測できます。1 つのコアに限定され、小さくなり、高速になります。それが通っている他の名前は少し役に立ちます。それがマイクロオペレーションキャッシュです。

L0 は、メモリからデータをキャッシュしたり、命令全体をキャッシュしたりする代わりに、マイクロオペレーションをキャッシュします。最近説明したように、micro-op は最新の CPU の機能です。x86 およびその他の ISA の命令は、大規模で複雑であり、パイプラインに効率的に適合させるのは困難です。それらを構成要素のマイクロオペレーションに分割すると、はるかに効率的にパイプライン処理できます。場合によっては、異なる命令からの複数のマイクロオペレーションを単一のマイクロオペレーションにグループ化して、パフォーマンスの向上と電力削減の両方を実現することもできます。

CPU アーキテクチャ ft Micro-Op キャッシュ

命令を実行するために、最新の CPU は命令をデコードします。これには、命令を構成要素のマイクロオペレーションに分割し、参照する必要があるメモリ位置を決定することが含まれます。多くのソフトウェアは同様の機能を定期的に利用しており、多くの場合、ループ内または呼び出された関数から同じコードを再利用できます。これは、正確な命令を何度でも呼び出すことができることを意味します。これは、同じマイクロオペレーションが何度も呼び出されることを意味します。また、同じマイクロオペレーションが繰り返し必要な場合は、それらをキャッシュできます。マイクロオペレーションをキャッシュすることで、命令デコーダの負荷を軽減し、消費電力を削減したり、パイプラインをより速く満たすのに役立ちます。

キャッシュは小さく保つ必要がありますが、慎重に管理すれば、1 サイクルまたはゼロ サイクルのレイテンシでアクセスできます。これは、L1 キャッシュへの 4 サイクルのレイテンシを負担する必要をなくすのに十分であり、キャッシュ ミスのペナルティはありません。

結論

L0 キャッシュは、micro-op キャッシュの別名です。これは、マイクロ操作を利用する最新の CPU の一部である可能性があります。通常、数千のエントリを保持し、容量はバイト数ではなくエントリ数で表されます。L0 は L1 よりも高速にアクセスでき、通常は 1 サイクルまたは 0 サイクルのレイテンシです。マイクロオペレーションをキャッシュすると、特にループや関数をうまく利用するコードで、命令デコーダの負荷が軽減されます。



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は、ネットワークの使用状況を監視している人からユーザーを保護するための優れた解決策です。