电子产业一站式赋能平台

PCB联盟网

搜索
查看: 35|回复: 0
收起左侧

微软工程师揭秘:Windows 其实并不知道你的 CPU 有多快

[复制链接]

640

主题

640

帖子

8302

积分

高级会员

Rank: 5Rank: 5

积分
8302
发表于 3 天前 | 显示全部楼层 |阅读模式
关注+星标公众,不错过精彩内容
来源| 快科技
[img][/img]
微软资深工程师雷蒙德·陈(Raymond Chen)在其博客《The Old New Thing》中解释了Windows系统中一个有趣的现象:
为什么Windows偶尔会在“设置”的“系统”“关于”页面中显示两次处理器速度,且数值略有不同,就比如下图这样。

ibfsi4yfsqc64060316412.png

ibfsi4yfsqc64060316412.png

雷蒙德·陈指出,上图实际上显示的是两段信息,其中处理器品牌字符串来自“不可靠”的CPUID函数代码0x80000002至0x80000004。
其中包含处理器厂商设定的固定显示内容,例如“Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz”,这个字符串中的速度值是厂商设定的基准速度或加速速度,是一个静态值,不会改变。
而Windows系统显示的第二个速度值(如3.71GHz)则是系统对处理器当前运行速度的估算值。

ss5pem1ljo564060316512.png

ss5pem1ljo564060316512.png

其表示,Windows系统并不实时监测CPU的真实速度,而是通过估算来显示一个大致的频率值,这可能就是为什么有些硬件在任务管理器中显示的规格与实际不符的原因。
他提到,如果系统显示的速度高于处理器的基准速度,可能是因为该设备进行了超频,例如,文中提到的3.71GHz比3.60GHz高出约3%,这表明该系统可能进行了超频。
网友表示:
“所以这就是你软件跑小核不跑大核的理由?”
“不是吧。CPU微核有监控程序啊,监控程序把数值存到内存特定位置,BIOS读取实时数据,与标准值做对比,决定是否采取保护机制(包括指示电源芯片限制电压等)。监控程序储存实时数据的这个内存位置,WINDOWS是可以访问的,WINDOWS的动态数值来自于这里。”
“windows本普遍续航不行的根本原因。眼盲,瞎调度。”

dmcgnqwybbb64060316612.jpg

dmcgnqwybbb64060316612.jpg

用寄存器点亮 LED 灯:新手必学IO的几种模式

0kor3tifsu464060316712.jpg

0kor3tifsu464060316712.jpg

如何基于MCU设计一个GUI菜单框架?

3mkq2n2julg64060316812.jpg

3mkq2n2julg64060316812.jpg

嵌入式编程进程间通信的几种实现方式
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条


联系客服 关注微信 下载APP 返回顶部 返回列表