免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11294 | 回复: 5
打印 上一主题 下一主题

关于MSR寄存器地址的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-04 19:16 |只看该作者 |倒序浏览
、图
--来自于inel手册
在上图,我们可以看到,用红线圈着的register address
起先我认为是那个register address影射到物理内存的地址,但那明显是错的!!

-----------------------------------------------------------------------------------------------------------------------

查了一下,在AMD和intel手册中都没有看到对msr地址的解释,倒是有rdmsr和wrmsr指令与msr有关,查了一下用法

]RDMSR        0F 32        不影响标志位        把ECX指定的模型专用寄存器内容送EDX:EAX        RDMSR
WRMSR        0F 30        不影响标志位        把EDX:EAX的内容写入ECX指定的模型专用寄存器        WRMSR

再看,下面的一段代码,摘自---pediy

  1. //coded by greatcsk

  2. //开启BTS
  3.         mov ecx,MSR_DEBUGCTL
  4.         mov eax,0x1c
  5.         WRMSR


  6. //关闭BTS
  7.         mov ecx,MSR_DEBUGCTL
  8.         xor  eax,eax
  9.         WRMSR
复制代码


所以我想,那个msr的地址,是来对ecx的配置!里面的值对应着相应的msr。

以上只是本人的猜测,如各位知道的话,请不啬赐教

论坛徽章:
0
2 [报告]
发表于 2009-12-04 23:22 |只看该作者
AMD / Intel 的 manual 确实没有对 MSR 寄存器进行解释,

Intel 的文档甚至没有一节是对 MSR 进行过描述。


一般的应用程序不会用到,连 OS 也甚少使用 MSR,只有一些特殊应用才使用 MSR,如:一些超频软件。

大量应用 MSR 的只有在 BIOS 场合,BIOS 是需要和 MSR 打交道的。

而且 MSR 与 processor 太相关了。
---------------------------------------------------------

我估计,因此并没进行描述的必要。



----------------------------------------------------------------------------------------------

对于 MSR 寄存器可以理解为 MSR 寄存器堆或 MSR 寄存器组

MSR 寄存器组中的 每个 64 位 MSR 寄存器有一个 ID 值(编号)

那么,读/写 MSR 寄存器 就需要提供它的 ID(编号)

ID 值放在 ecx 寄存器进行索引。

edx:eax 就存放着:读出来以及要写进去的 64 位值

论坛徽章:
0
3 [报告]
发表于 2009-12-05 22:33 |只看该作者

回复 #2 mik 的帖子

看来,也只能先那么理解了

论坛徽章:
0
4 [报告]
发表于 2009-12-10 02:24 |只看该作者
学习下

论坛徽章:
0
5 [报告]
发表于 2009-12-19 13:37 |只看该作者
寄存器编址,与寄存器在内存的映射,是两回事吧?
可外部使用的寄存器,其编址是供指令编码用的。譬如,有8个寄存器,依次编号为000-111,则在指令里就可以安排3位的寄存器域。
内部使用的寄存器,其编址是供微指令编码用的,道理类似。
有些CPU(好像MCS-51也是),寄存器可以映射到内存,它就有一个内存地址。

论坛徽章:
0
6 [报告]
发表于 2013-03-23 10:58 |只看该作者
我觉得也是这样的,试了一下,没有出现GP错误,应该是正确的。Intel文档中对此语焉不详。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP