|
[原创]穷站长FTP空间
广告帖,鉴定完毕 |
|
|
|
|
|
[下载]IDA Winhelp Viewer 插件
不错好东西收了 |
|
请教如何获取传感器信息,例如CPU温度。
前段时间刚做过这个,俺也是看别人的帖子写的,利用的是一个WinRing0.sys驱动通过Intel的指令取得的温度 新的酷瑞CPU和AMD的CPU 内部都集成有温度传感器DTS (Digital Thermal Sensor),每个核心有一个,以前的移动CPU好像也支持温度探测,但手头没有这样的CPU没法做测试.AMD 的温度值保存在 NB 寄存器中,酷瑞CPU 的 DTS 值保存在 MSR 0x19c 中,可以通过 rdmsr 来读取 这里只说酷睿CPU的读取过程 Intel 定义 eax=6 执行 cpuid, 然后测试 eax 第一位是否为1,如果为1表示CPU支持DTS ,当然之前应该以 eax=0 执行 cpuid 检测 eax 支持的最大命令数,如果小于6就肯定不支持DTS。 读取DTS:1 以 ecx=0xee 执行 rdmsr 指令, 测试 eax 的第30位是否为 1, 如果为 1 表示温度计算的初始值为 85 度否则表示从100度开始计算,这个值称为 Tjunction. 然后以 ecx=0x19c 执行 rdmsr 指令, eax 的 16:23 位为表示当前DTS 值,这个值并不代表当前温度,而要以下面公式计算. 当前cpu温度 = Tjunction - DTS 注意 signature 为 0x6f1, 0x6f0的 CPU DTS 值直接代表当前温度而不用Tjunction 相减. 而 signature 小于等于 0x6f4 的 Tjunction 一直为100, 如果你是双核的cpu 可以使用 SetProcessAffinityMask API 来指定执行的CPU,以检测这个核心的温度。呵呵,我就不用啦,本本是单核的 另 rdmsr 指令需要运行在 0 级的代码才能执行.所以写一个简单的驱动也是必须的. |
|
|
|
[推荐]这才是真正的免费美国空间
有嘛用?上传和谐内容??? |
|
关于cpu对od的影响
intel不解释 |
|
[转帖]API.Monitor.INCL.RETAIL.v1.4.1_KEYGEN-FFF
擦,又更新了,速度跟进 |
|
[讨论]浙江大学获ACM-ICPC World Finals 2011冠军
神马个情况,哥是来围观的说 |
|
[招聘]飞想科技诚聘软件工程师
客服嘛,这工资还过得去 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值