关注+星标公众号,不错过精彩内容
来源| 快科技
[img][/img]
微软资深工程师雷蒙德·陈(Raymond Chen)在其博客《The Old New Thing》中解释了Windows系统中一个有趣的现象:
为什么Windows偶尔会在“设置”的“系统”“关于”页面中显示两次处理器速度,且数值略有不同,就比如下图这样。
ibfsi4yfsqc64060316412.png
雷蒙德·陈指出,上图实际上显示的是两段信息,其中处理器品牌字符串来自“不可靠”的CPUID函数代码0x80000002至0x80000004。
其中包含处理器厂商设定的固定显示内容,例如“Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz”,这个字符串中的速度值是厂商设定的基准速度或加速速度,是一个静态值,不会改变。
而Windows系统显示的第二个速度值(如3.71GHz)则是系统对处理器当前运行速度的估算值。
ss5pem1ljo564060316512.png
其表示,Windows系统并不实时监测CPU的真实速度,而是通过估算来显示一个大致的频率值,这可能就是为什么有些硬件在任务管理器中显示的规格与实际不符的原因。
他提到,如果系统显示的速度高于处理器的基准速度,可能是因为该设备进行了超频,例如,文中提到的3.71GHz比3.60GHz高出约3%,这表明该系统可能进行了超频。
网友表示:
“所以这就是你软件跑小核不跑大核的理由?”
“不是吧。CPU微核有监控程序啊,监控程序把数值存到内存特定位置,BIOS读取实时数据,与标准值做对比,决定是否采取保护机制(包括指示电源芯片限制电压等)。监控程序储存实时数据的这个内存位置,WINDOWS是可以访问的,WINDOWS的动态数值来自于这里。”
“windows本普遍续航不行的根本原因。眼盲,瞎调度。”
dmcgnqwybbb64060316612.jpg
用寄存器点亮 LED 灯:新手必学IO的几种模式
0kor3tifsu464060316712.jpg
如何基于MCU设计一个GUI菜单框架?
3mkq2n2julg64060316812.jpg
嵌入式编程进程间通信的几种实现方式 |