有没有办法在C++中确定CPU的缓存大小?我有一个处理大量数据的算法,我想将这些数据分解成块,以便它们适合缓存.这可能吗?你能否给我一些有关缓存大小的编程的其他提示(特别是在多线程/多核数据处理方面)?
谢谢!
我感兴趣的是在Windows中强制CPU缓存刷新(出于基准测试的原因,我想模拟从CPU缓存中没有数据开始),最好是基本的C实现或Win32调用.
是否有一种已知的方法可以通过系统调用来执行此操作,甚至可以像执行大型操作一样偷偷摸摸地执行此操作memcpy?
英特尔i686平台(P4及以上版本也可以).
有没有办法读取CPU缓存内容?架构适用于ARM.
我使一系列地址无效,然后想确定它是否无效.虽然我可以读取和写入地址范围,无论是否有无效和检查失效,我想知道是否可以读取缓存内容
谢谢!!