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

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

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

データが貴重な資産である現代のデジタル時代では、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 とは何か、およびさまざまな効率評価の意味を理解してください。