Scratchpad メモリとは何ですか?

データ アクセスは、CPU 設計の重要な部分です。CPU は非常に高速で動作し、各クロック サイクルで複数の命令を処理するため、大量のデータにアクセスする必要があります。そのデータの大部分は、ストレージ メディアに保存されます。ただし、ストレージ デバイスは CPU に比べて信じられないほど低速です。また、ストレージ デバイスはランダム読み取りよりもシーケンシャル読み取りの方がはるかに優れていますが、SSD はこの点 (および他の多くの点) で HDD よりも優れています。

システム RAM は、現在実行中のソフトウェアに CPU が必要とする可能性のあるすべてのデータをロードするように設計されています。RAM は、ストレージよりもレイテンシーが大幅に低く、ランダム読み取りのパフォーマンスが高くなるように特別に調整されています。それでも、最新の RAM は高速ですが、400 クロック サイクル程度のレイテンシを持つ CPU とは比較にならないほどです。

レイテンシをさらに短縮するために、最近のほとんどの CPU にはキャッシュ メモリの階層が含まれています。通常、これらは L1、L2、および L3 キャッシュと呼ばれます。L1 は非常に高速で、通常、アクセスに 5 クロック サイクル程度かかります。L2 は少し遅く、20 サイクル程度です。L3 はさらに遅く、約 200 サイクルです。L1 は信じられないほど高速ですが、小さいです。その速度の多くは、キャッシュが小さいほど検索にかかる時間が短いという事実から来ています。L2 は L1 よりも大きいが、システム RAM よりもさらに小さい L3 よりも小さい。これらのキャッシュのサイズを適切にバランスさせることは、高性能 CPU を得るために重要です。キャッシュ ヒット率は重要ですが、ヒット数とそのヒットを取得するのにかかる時間とのバランスを取る必要があるため、階層が設定されます。

スクラッチパッド メモリ

スクラッチパッド メモリは、従来のメモリ階層に適合しないことに注意してください。これは、ほとんどの消費者向け CPU では使用されていないためです。スクラッチパッド メモリは、実際のスクラッチパッドと同じように使用できるように設計されています。覚えておく必要がある一時的な情報を書き留めますが、実際にはファイルする必要はありません。多くの場合、CPU はデータを処理し、すぐにその結果を再び必要とします。メモリにコピーできますが、すばやくアクセスできるようにするために、キャッシュにも保持する必要があります。

Scratchpad メモリは、基本的に L1 キャッシュと同じギャップを埋めます。多くの場合、1 桁のサイクル数で、可能な限り高速にアクセスできます。これを管理するには、それも比較的小さいです。ただし、L1 メモリとスクラッチパッド メモリには 2 つの重要な違いがあります。まず、スクラッチパッド メモリは直接アドレス指定可能です。次に、すべてのコアとプロセッサ間で共有されます。

キャッシュとスクラッチパッドの違い

CPU キャッシュは本質的に CPU に対して透過的であり、故意にデータをそこに置くことはできず、その内容をプログラムすることもできません。代わりに、CPU は RAM からデータを要求するだけで、たまたまそれをより速く、時には予想よりも大幅に速く戻すことができます。スクラッチパッドをアドレス指定できるようにするということは、スクラッチパッドに入れるデータをコードで正確に指定できることを意味します。これは便利ですが、最新のキャッシング アルゴリズムは優れており、標準的なワークロードで期待されるヒット率は 95 ~ 97% です。

L1 キャッシュは、常に個々の処理コアにロックされています。他の処理コアはアクセスできません。これは、複数のコアが同じデータを必要とする場合、それぞれの L1 キャッシュに複製する可能性があることを意味します。一部の CPU アーキテクチャでは、L2 はコアごとであり、他のアーキテクチャでは少数またはすべてのコアで共有されています。L3 はすべてのコアで共有される傾向があります。コア間でキャッシュを共有すると、2 つ以上のコアが重複することなく同じデータにアクセスできます。また、必要があり、キャッシュにスペースがある場合、1 つのコアが公平なシェアを超えて使用することもできます。

Scratchpad は、速度と容量の点で L1 と同様に機能しますが、すべてのコア間で共有されます。これにより、マルチスレッド ワークロードで処理されている特定のデータに非常に高速にアクセスできます。Scratchpad メモリは、マルチソケット マザーボード上の個別の CPU 間で共有することもできます。

スクラッチパッド メモリの欠点の 1 つは、依存度が高すぎることです。直接アクセスできるため、ソフトウェアは特定の量の存在に依存する場合があります。この場合、それほど多くのスクラッチパッド メモリがなければ、CPU で実行することはできません。キャッシュ層は単純にこの問題に悩まされないため、汎用的な使用により適しています。

ユースケース

スクラッチパッド メモリは、HPC (ハイパフォーマンス コンピューティング) 用に設計されたマルチソケット サーバー システムで最もよく見られます。そこでは、速度と共有アクセスの組み合わせにより、高度な並列ワークロードに役立ちます。

スクラッチパッド メモリは、はるかに小型のプロセッサでも使用されています。エンベデッド プロセッサ (多くの場合 MPSoC)。組み込みプロセッサは、多くの場合、比較的低電力で、特定のタスクに特化しています。この特殊化は、多くの場合、ハードウェアの最適化で表されます。特にマルチプロセッサ システム オン チップでは、共有高速メモリにより、複数の異なるプロセッサのレイテンシが大幅に改善される場合があります。これらの種類の CPU は、多くの場合、設計が非常に固定されています。たとえば、ゲーム コンソールでは、ハードウェア設計の多くの最適化が既に行われているため、後方互換性や前方互換性について心配する必要なく、そのような機能を十分に活用できます。

結論

スクラッチパッド メモリは L1 キャッシュに似ていますが、ユース ケースを変えるいくつかの違いがあります。キャッシュの代わりに、直接アドレス指定できるため、特に高速なメモリにデータを割り当てることができます。また、すべてのプロセッサ コアとプロセッサ間で共有されるため、マルチスレッドの多いワークロードで特に役立ちます。



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 とは何か、およびさまざまな効率評価の意味を理解してください。