L1/L2/L3 CPU キャッシュと RAM 割り当てのアドレス指定はどのように行われますか?

L1/L2/L3 CPU キャッシュと RAM 割り当てのアドレス指定はどのように行われますか?

CPU のキャッシュ サイズが大きくなると、RAM と比較してどのように管理されるのでしょうか。アプリケーションを作成するときに、キャッシュを最大限に活用できるように考慮する必要がありますか。それとも、完全にハードウェア レベルで考慮する必要がありますか。

答え1

ソフトウェアを開発する際には、キャッシュの利用に関して考慮すべき点がたくさんあります。私ができることは、この記事を紹介することだけです。

https://software.intel.com/en-us/articles/software-techniques-for-shared-cache-multi-core-systems

キャッシュと RAM について言えば、CPU キャッシュは頻繁に使用されるデータを CPU に保存するだけで、RAM から移動するよりも高速にアクセスできます。遅延時間に関する表については、ars technica の記事の 2 ページ目を参照してください。非常に参考になります。

http://arstechnica.com/gadgets/2002/07/caching/

関連情報