h168ch 发表于 2007-12-02 13:18

再问一个关于cpu cache的问题

请教各位大侠,有什么办法可以把cpu 的cache清空,或者把cache用随机产生的数据填满?
谢谢!

abutter 发表于 2007-12-02 14:40

cache清空是有特定的指令,添满是添什么东西。

你要做什么?

qqeyes 发表于 2007-12-02 16:24

大侠,好像不能通过操作系统控制cpu的cache吧?

cjaizss 发表于 2007-12-02 18:11

参考该cpu的datasheet,不同的cpu可能不同的,有的cpu根本无法办到。
写随机数据有个相对通用的方法,开出整个cache大小的空间,然后按照每个cache块的大小操作这个空间,不断的cache miss导致整个cache被刷新

[ 本帖最后由 cjaizss 于 2007-12-2 23:40 编辑 ]

h168ch 发表于 2007-12-02 18:23

回复 #2 abutter 的帖子

因为数据存储的时候速度和时间跟cache有关系,所以我想在每次测试之前把他清空或者说填上随机产生的数据让他对测试结果没有影响!请问清楚的时候有什么指令吗?或者有别的办法吗?

h168ch 发表于 2007-12-02 18:25

回复 #4 cjaizss 的帖子

谢谢回复!x86的cpu可以吗?比如说奔4的3.2gcpu可以吗?谢谢!

prolj 发表于 2007-12-02 18:27

建议LZ说清楚你的CPU是什么型号,有的CPU有操作Cache的指令,有的没有,不同的CPU操作Cache的指令不一定一样,对Cache操作的支持程度也不一样.
总之取决于Verilog的设计.如果有的话,CPU手册不会不会说的,这也是他们的卖点之一.

h168ch 发表于 2007-12-02 18:31

回复 #7 prolj 的帖子

谢谢!我的cpu是Inter pentium 4 3.2g,这种cpu可以操作cache吗?x86的cpu那种可以呢?

prolj 发表于 2007-12-02 18:37

回复 #8 h168ch 的帖子

不知道,不是很了解,你先查一下Intel的手册啊?我没走那么硬件。我只是稍微涉及到一点cache,用不到具体指令。手册上应该有,你去Intel网站上找找。

h168ch 发表于 2007-12-02 18:39

回复 #9 prolj 的帖子

谢谢了,我对硬件这块也不是很了解,就是想找个办法处理一下就可以,谢谢了
页: [1] 2
查看完整版本: 再问一个关于cpu cache的问题