![]() |
1
2
在您链接的测试代码中,每个存储区的容量为32kiB,
关于新分配的内存
没有热身。您可能在每次迭代中都会遇到一个软页面错误和一个副本。(修订)
256次迭代也完全不足以将CPU提升到正常/涡轮时钟速度,超出空闲速度。
我使用gcc8.2.1进行编译,并使用
使用Linux
256次循环迭代中有191次页面错误,因此 巨大的 这个程序花费的大部分时间都在内核中。 一旦我们回到用户空间,超过1000个存储区会导致dTLB未命中,而第二级TLB也未命中,需要进行页面漫游。但是没有任何负载。
我们可以通过分配更多的内存来获得更干净的数据,这样我们就可以增加
|
![]() |
Zephyr · 虚拟索引物理标记缓存同义词 7 年前 |
![]() |
Uchia Itachi · VIPT缓存:TLB和缓存之间的连接? 7 年前 |
![]() |
awdz9nld · 文件备份内存映射的CPU缓存行为/策略? 12 年前 |