2010-11-09 130 views

回答

0

This document当然表明英特尔酷睿双核处理器可以提供您所寻求的信息。我想Google围绕英特尔网站搜索也会很有用。

-1

我个人通过一个执行指令rdtsc的汇编包装使用时间戳计数器。然后我得到一个无符号的64位整数,它包含处理器启动后已经过的内部时钟周期数。两次读取之间的差异是执行中间代码所需的代码周期数。访问缓存命中读取的指令可以用相同的方式实现。

我发现很难理解什么结论可以从阅读缓存计数器中得出,而没有时间框架关联。此时间范围不应太长,否则任务切换或中断可能会影响该值。

根据微软的说法,如果在处理器上启用降低节流功能(以降低能耗),那么应该记住(或关闭!),rdtsc指令可能不准确。

+0

这个问题是关于读取性能计数器,而不是时间戳记计数器(反正这些天读出实时,而不是周期)。 – BeeOnRope 2017-10-15 18:07:55

4

是的,自从古代Pentium Pro以来,有很多硬件性能计数器。

Oprofile和perf在Linux中,Linux/Windows中的Vtune,MacOSX中的Shark都可以使用它们。

所有计数器都英特尔架构文档中列出(音量3B,第30章;列表附录A): http://www.intel.com/products/processor/manuals/

即使原子具有一些性能寄存器。

一个很好的名单不同的CPU在这里http://oprofile.sourceforge.net/docs/

+0

是的,鲨鱼可以使用硬件计数器,看看http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/SharkUserGuide/AdvancedHardwareCounterConfiguration/AdvancedHardwareCounterConfiguration.html#//apple_ref/doc/uid/TP40005233 -CH10-SW1 – osgx 2010-11-10 04:16:35

1

如果你在Linux上工作,有一个叫LiMiT哥伦比亚大学正在开发有趣的库,可以快速读取性能计数器,并虚拟化他们避免进程正在启动和停止,处理器之间移动等问题。目前,我正在与开发人员上课,尽管我自己并没有与该项目有任何关系。

相关问题