首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取MSR MPERF的条件是什么?

读取MSR MPERF的条件是什么?
EN

Stack Overflow用户
提问于 2013-10-16 04:23:35
回答 1查看 1.6K关注 0票数 1

我正在试着读MPERF和APERF MSR。但是,当我这样做时,机器重新启动,可能是因为GP异常。

下面是我使用的代码:

代码语言:javascript
复制
; Read MPERF register
mov ecx, 0xe7
rdmsr

rdmsr上的代码中断。我有英特尔的哈斯韦尔处理器。我在长模式下运行。

我非常确定我是在Ring 0中运行,因为我运行的是我自己的操作系统。此外,如果我这样做了:

代码语言:javascript
复制
; Read PAT register
mov ecx, 0x277
rdmsr

它无一例外地正常工作。

读取该特定寄存器(MPERF)的其他条件是什么?

EN

回答 1

Stack Overflow用户

发布于 2013-10-16 04:55:29

我猜在你的情况下,所需的MSR被融合或不被设计支持,CPUID可以批准它。作为计算核心频率的替代方案,请参考Finding out the CPU clock frequency (per core, per processor),在答案中有一个不依赖于MPERF MSR寄存器的配方

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19390347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档