我可以使用命名空间System.Runtime.Caching来修改CPU缓存L1,L2和L3的属性和值吗?
msdn.microsoft.com告诉我,该名称空间允许在Windows中创建新的缓存存储,例如虚拟RAM。
但是,我想使用包含在CPU中的Cache进行编程。你能告诉我怎么做吗?
感谢您的解决方案!
System.Runtime.Caching提供对高级缓存功能的访问,通常在具有键-值对的常规RAM上。(除此之外,还有更多用例。)就像您提到的,MSDN说:
您可以创建自定义缓存提供程序。例如,您可以创建自定义提供程序,以将高速缓存数据存储在数据库,自定义对象或文件系统中,而不是使用默认的内存中高速缓存引擎。
但是CPU高速缓存是一种低级内存,可与CPU本身自动使用,以减少对RAM的访问。因此,它实际上并不意味着要由外部应用程序进行修改。
例如,L1指令高速缓存实际上在处理核心的旁边,它存储机器代码指令,并且.NET应用程序在由.NET Framework本身(或ngen)运行之前甚至没有存储为机器代码,这甚至使低级操作成为可能。更难。
但这并不意味着它们不会受到您的代码的影响。您可以编写高效的代码,使CPU以优雅的方式使用其缓存。有关更多信息,请参见:如何编写一种代码,以最佳利用CPU缓存来提高性能?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句