我已经读过AMD处理器,它允许您测量缓存命中和未命中的 的数量。我想知道Intel Core Duo机器上是否还有这样的功能,或者如果他们还不支持。英特尔酷睿双核上的硬件性能计数器
回答
This document当然表明英特尔酷睿双核处理器可以提供您所寻求的信息。我想Google围绕英特尔网站搜索也会很有用。
我个人通过一个执行指令rdtsc的汇编包装使用时间戳计数器。然后我得到一个无符号的64位整数,它包含处理器启动后已经过的内部时钟周期数。两次读取之间的差异是执行中间代码所需的代码周期数。访问缓存命中读取的指令可以用相同的方式实现。
我发现很难理解什么结论可以从阅读缓存计数器中得出,而没有时间框架关联。此时间范围不应太长,否则任务切换或中断可能会影响该值。
根据微软的说法,如果在处理器上启用降低节流功能(以降低能耗),那么应该记住(或关闭!),rdtsc指令可能不准确。
是的,自从古代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/
是的,鲨鱼可以使用硬件计数器,看看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
如果你在Linux上工作,有一个叫LiMiT哥伦比亚大学正在开发有趣的库,可以快速读取性能计数器,并虚拟化他们避免进程正在启动和停止,处理器之间移动等问题。目前,我正在与开发人员上课,尽管我自己并没有与该项目有任何关系。
- 1. 哪些硬件在英特尔酷睿处理器上运行OpenCL?
- 2. 使用英特尔®酷睿™i7
- 3. 英特尔酷睿i *与内核数量之间的关系是什么?
- 4. 英特尔酷睿2双核处理器SU7300(1.30GHz,3MB L2,800MHzFSB)可以在旅途中使用Java编程吗?
- 5. 英特尔酷睿i7有多少个流水线阶段?
- 6. 无法运行HyperV o英特尔酷睿i3-4041U
- 7. 英特尔i7(4核心,基于8 HT的逻辑核心)是否优于用于VisualC++开发的英特尔酷睿2四核?
- 8. 我可以测量现代英特尔酷睿CPU上的分支预测故障吗?
- 9. 英特尔性能基元只能在基于英特尔处理器的设备上工作吗?
- 10. 与英特尔XDK不同的性能
- 11. 无法在酷睿i7
- 12. 英特尔数学核心中的特征值和特征向量计算
- 13. ASP.NET酷睿2的Web API模型
- 14. 排列在英特尔至强融核
- 15. 英特尔Fortran计算hyerbolic功能与复杂的参数
- 16. 英特尔8086处理器
- 17. oprofile不能使用硬件性能计数器
- 18. 英特尔媒体软件编码器
- 19. 异步MFT不发送MFTransformHaveOutput事件(英特尔硬件MJPEG解码器MFT)
- 20. 无法安装英特尔硬件加速(HAXM)
- 21. 如何访问英特尔CPU计数器
- 22. 英特尔TBB库是否具有选择核心数量的功能?
- 23. 英特尔性能监视器计数器可用于测量内存带宽吗?
- 24. 如何编写硬件性能计数器
- 25. 在Linux中使用硬件性能计数器
- 26. 多核硬件上的numpy
- 27. 我如何安装英特尔编译器和英特尔mpi的提升?
- 28. 英特尔MKL矩阵产品性能与双数据,浮点数和整型数据类型
- 29. 英特尔MKL与AMD数学核心库
- 30. 英特尔的Windows C++编译器
这个问题是关于读取性能计数器,而不是时间戳记计数器(反正这些天读出实时,而不是周期)。 – BeeOnRope 2017-10-15 18:07:55