红联Linux门户
Linux帮助

专业知识,大神请入

发布时间:2012-11-20 10:24:19来源:红联作者:greedfarmer
假如我想知道cpu每秒执行了多少指令,该怎么做?
可不可以进入寄存器去查看,捕获每秒的指令个数。如果可以,需要什么样的模块?或者有没有相关书籍介绍这方面。谢谢
文章评论

共有 12 条评论

  1. huafeng00001 于 2013-01-29 18:45:56发表:

    飘过...

  2. 846537012 于 2012-12-08 11:16:47发表:

    路过...

  3. pl_014 于 2012-12-07 22:15:50发表:

    引用:
    8# pl_014


    我试一下,很感谢你,再问一下,如果要测试cachemiss率应该怎么做呢?
    greedfarmer 发表于 2012-12-3 10:04

    呃,这个就不知道了,我对CPU每秒所执行的指令的理解主要是来自于对于单片机的学习。单片机可是哈佛型结构的,所有的指令都被放到ROM里,而从片外读取数据时,也是需要什么读取什么,并没有什么命中率一说,也没有像CPU那样的一级缓存、二级缓存之类的,一般高级的芯片都是直接增加片内RAM。
    补充一点,我所说的这些适用于单核没有超线程技术的处理器,对于多核有超线程技术的CPU,情况会更复杂。

  4. sunlightboy514 于 2012-12-03 22:10:31发表:

    学习学习

  5. greedfarmer 于 2012-12-03 10:04:55发表:

    8# pl_014


    我试一下,很感谢你,再问一下,如果要测试cachemiss率应该怎么做呢?

  6. pl_014 于 2012-11-28 16:10:34发表:

    引用:
    4# pl_014


    我知道这个,不过我现在需要的实时的测试啊,不是查看
    greedfarmer 发表于 2012-11-28 11:31

    实时测试的话能想办法读取外频和当前的倍频就可以了,因为空指令和非空指令有时很难区分,甚至不能排除有些程序会为延时而设置一些空指令。
    再有,没有任何寄存器可以直接指示单位时间内倒底执行了多少条指令,处理器都是来一个时钟脉冲执行一条指令,而处理器的定时器也都是依靠时钟脉冲的。

  7. touchlixiang 于 2012-11-28 14:11:32发表:

    楼上高手

  8. greedfarmer 于 2012-11-28 11:31:53发表:

    4# pl_014


    我知道这个,不过我现在需要的实时的测试啊,不是查看

  9. Austria 于 2012-11-21 08:46:41发表:

    顶楼上

  10. pl_014 于 2012-11-20 21:03:24发表:

    执行cat /proc/cpuinfo
    找bogomips,这是通过开机的一个程序测定的,显示cpu每秒能执行多少条指令。
    如果想知道当前情况,可使用“当前倍频/最高倍频(当前的)X当前主频”算出一个 cpu核心每秒所执行的指令数,因为系统和程序处于等待的时候,cpu陷入了死循环,直到cpu的中断发生,才会进行其它操作。学学单片机就能知道了。

  11. yuyuanslm 于 2012-11-20 17:28:45发表:

    走过

  12. Orsacutc 于 2012-11-20 14:42:50发表:

    不是大神的路过