如何修改CPU缓存L1,缓存L2和缓存L3?

用户3892714

我可以使用命名空间System.Runtime.Caching来修改CPU缓存L1,L2和L3的属性和值吗?

msdn.microsoft.com告诉我,该名称空间允许在Windows中创建新的缓存存储,例如虚拟RAM。

但是,我想使用包含在CPU中的Cache进行编程。你能告诉我怎么做吗?

感谢您的解决方案!

Furkan Omay尚未活跃在Medium上。

System.Runtime.Caching提供对高级缓存功能的访问,通常在具有键-值对的常规RAM上。(除此之外,还有更多用例。)就像您提到的,MSDN说:

您可以创建自定义缓存提供程序。例如,您可以创建自定义提供程序,以将高速缓存数据存储在数据库,自定义对象或文件系统中,而不是使用默认的内存中高速缓存引擎。

但是CPU高速缓存是一种低级内存,可与CPU本身自动使用,以减少对RAM的访问。因此,它实际上并不意味着要由外部应用程序进行修改。

例如,L1指令高速缓存实际上在处理核心的旁边,它存储机器代码指令,并且.NET应用程序在由.NET Framework本身(或ngen)运行之前甚至没有存储为机器代码,这甚至使低级操作成为可能。更难。

CPU缓存

但这并不意味着它们不会受到您的代码的影响。您可以编写高效的代码,使CPU以优雅的方式使用其缓存。有关更多信息,请参见:如何编写一种代码,以最佳利用CPU缓存来提高性能?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在L1缓存中缓存2KB数据时内存带宽崩溃的原因

编译器优化对使用PAPI的FLOP和L2 / L3缓存未命中率的影响

使用超线程,一个物理核心的线程通过什么级别的缓存L1 / L2 / L3进行交换?

监视elipselink缓存L2,L1

一个核心对L3缓存的广泛使用是否可以使另一核心的L1 / L2缓存无效?

如何在OSX中测量L1,L2,L3缓存命中和未命中

在ARMv8-A Linux上禁用CPU缓存(L1 / L2)

测量加载到l1 / l2缓存中以进行读取(包括预取)的行数?

如何在现代x86 / amd64芯片上关闭L1,L2,L3 CPU缓存?

L1缓存行中如何对齐缓存的数据结构

L1,L2和L3缓存如何与多个同时运行的进程一起工作?

使用Spring Cacheable的L1 + L2缓存策略

实体未从L1缓存返回

如何禁用处理器的L1和L2缓存?

处理器缓存L1,L2和L3都是由SRAM制成的吗?

有什么方法可以知道Linux中L1,L2,L3缓存和RAM的大小吗?

L2和L3缓存有何不同?

/ proc / cpuinfo“缓存”类别:L1,L2或总计?

lmbench如何使用C测量L1和L2缓存延迟?(无法理解手册中的说明)

我可以增加CPU的L2缓存吗?

如何清除L1,L2和L3缓存?

L1 / L2 / L3 cpu缓存与ram分配的寻址方式如何?

如何清除 L1、2 和 3 缓存

Cortex A53 L1 L2 缓存信息

如何控制分配的内存是否存储在 L1、L2、L3 缓存或 JavaScript 中的其他缓存中?

是否可以检查变量是否位于 L1/L2/L3 缓存

如何仅通过查看内核代码来检测 L0、L1、L2 缓存可能的溢出?

页面缓存与 L1 缓存?

多年来的 CPU L1/L2 缓存大小