RUNONMIPS 发表于 2009-12-05 16:29

各位,有用过mips上的cache指令的没??

我想将一部分数据锁在D-cache里,只能用cache指令了。不过简单的使用cache指令还不行,有谁用过cache指令的,能指导一下嘛???

prolj 发表于 2009-12-05 16:32

找龙芯的五毛去问

RUNONMIPS 发表于 2009-12-05 16:41

原帖由 prolj 于 2009-12-5 16:32 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
找龙芯的五毛去问

我去哪找他去??我认识他,他不认识我···

cjaizss 发表于 2009-12-05 19:57

看datasheet

cjaizss 发表于 2009-12-05 20:46

贴一个cache指令的汉语文档

cjaizss 发表于 2009-12-05 20:49

其中最后一个命令你看看,可能符合你的要求

RUNONMIPS 发表于 2009-12-07 10:37

按照手册上的解释,我现在又一个const char a的数组,我想把他锁在cache中,我是这样做的:
const char *ptr = a;
...
asm ("cache 0b11101,512(%0)\n\t"
                ::"r"(ptr));

function();
...
编译可以过去,执行的时候却出现了Illegal instruction,程序退出。在用cache这条指令之前是不是还有其他的什么触发条件或前提条件,文档上没有明确的指出这一点,还请大家指导一下··

[ 本帖最后由 RUNONMIPS 于 2009-12-7 15:34 编辑 ]

RUNONMIPS 发表于 2009-12-08 11:15

cache这条指令是特权指令,在用户态下无法用。有没有什么其他的方法可以用这条指令或者有别的方法可以达到锁定cache的目的呢。请大家提供一些思路,谢谢了······

cjaizss 发表于 2009-12-08 11:45

原帖由 RUNONMIPS 于 2009-12-8 11:15 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
cache这条指令是特权指令,在用户态下无法用。有没有什么其他的方法可以用这条指令或者有别的方法可以达到锁定cache的目的呢。请大家提供一些思路,谢谢了······
那当然是在特权情况下设置啦,比如说在驱动中想点办法.

RUNONMIPS 发表于 2009-12-08 15:09

原帖由 cjaizss 于 2009-12-8 11:45 发表 http://linux.chinaunix.net/bbs/images/common/back.gif

那当然是在特权情况下设置啦,比如说在驱动中想点办法.


驱动我的没法改了···我能不能通过锁定数据TLB来提高程序性能呢??
页: [1]
查看完整版本: 各位,有用过mips上的cache指令的没??