CPUキャッシュはどのソフトウェアコンポーネントによって管理されますか?


9

CPUキャッシュは、時間的および空間的局所性を利用して使用されます。私の質問は、これらのキャッシュを管理する責任があるのは誰ですか?このオペレーティングシステムは、低レベルのOS関数呼び出しを使用して、特定のアクセスパターンを識別し、キャッシュを管理(つまり、データを格納)しますか?


キャッシュがソフトウェアによって管理されている場合、CPUは時間的に何も実行しません。また、それは問題22ではないでしょうか。
ラファエル

回答:


8

CPUキャッシュあまりにも高速でハンドルそれぞれとメモリへのすべてのアクセスは、ソフトウェア制御下にあります。これは、CPUチップ自体またはマザーボード上のハードウェアに完全に組み込まれています。


12

CPUキャッシュは、CPUに電源が投入された瞬間から機能します。BIOSもOSも、キャッシュを制御するために厳密に「必要」ではありません。BIOSとOSはCPUのキャッシュ構成設定を変更できますが、通常の動作を制御しません。これはすべてCPU自体に組み込まれています。


一部のプロセッサでは、デフォルトでキャッシュが有効になっています。デフォルトでは無効になっています。キャッシュを有効にすると、RAMがない場合でも、プロセッサがある程度制御された方法で動作する可能性があります(たとえば、プロセッサがスピーカーから何回かビープ音を出す場合があります)。最初に無効にすることで、メモリ構成オプションを変更する前に無効にする必要がなくなります。
スーパーキャット2015年

3

それは完全ハードウェアプラットフォームに依存します(たとえば、Nios®IIはキャッシュを管理するためのいくつかの指示を提供します)。命令とアセンブリ言語を読む必要があります。一部のプロセッサは、キャッシュをあるレベルで管理するための命令を提供します。たとえば、WBINVDはライトバックと内部キャッシュのフラッシュを提供します。外部キャッシュ(またはINVD)の書き戻しとフラッシュを開始します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.