CPU缓存由哪个软件组件管理?


9

通过利用时间和空间局部性来使用CPU缓存。我的问题是谁负责管理这些缓存?该操作系统是否可以识别特定的访问模式,然后使用低级OS函数调用来管理(即将数据存储在其中)缓存?


如果缓存由软件管理,CPU将无法及时完成任何工作;还有,那不是难处吗?22
拉斐尔

Answers:


8

CPU高速缓存手柄每对内存的访问,这仅仅是太快,在软件控制下。它完全内置在CPU芯片本身或主板上的硬件中。


12

从CPU加电开始的那一刻起,CPU缓存便开始运行。严格来说,BIOS和OS都不是控制缓存的“必需”。BIOS和OS可以更改CPU中的缓存配置设置,但它们不能控制正常操作,所有这些都内置在CPU本身中。


一些处理器默认启用缓存。一些默认设置为禁用。启用缓存可以使处理器即使在没有RAM的情况下也可以以某种受控的方式运行(例如,处理器可能会多次鸣叫扬声器);最初将其禁用将避免在更改任何内存配置选项之前将其禁用。
2015年

3

这完全取决于您的硬件平台(例如Nios®II提供了一些有关管理缓存的指令)。您应该阅读说明和汇编语言。某些处理器为您提供了一些指令,以在某种程度上管理缓存。例如WBINVD提供回写和刷新内部缓存;启动写回和刷新外部缓存(或INVD)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.