c++ windows平台上改变cpu频率和内核电压的接口是什么?

ckx4rj1h  于 2022-11-27  发布在  Windows
关注(0)|答案(4)|浏览(269)

我想找到windows提供的接口来改变CPU的频率和核心电压。谢谢!

r6vfmomb

r6vfmomb1#

您可以使用以下命令更改频率

PowerWriteACValueIndex()/PowerWriteDCValueIndex()

当为两者设置相同的索引值时

GUID_PROCESSOR_THROTTLE_MAXIMUM | GUID_PROCESSOR_THROTTLE_MINIMUM

所有GUID说明都可以在winnt.h中找到
您不能通过WINAPI更改CPU电压。您应该使用特权命令通过系统内核驱动程序写入特定的MSR(请参阅AMD/Intel文档)。从Nehalem微体系结构开始,您根本不能更改Intel CPU电压。Intel正式不提供MSR来通过软件写入电压值(VID)。

58wvjzkj

58wvjzkj2#

From Windows Native Processor Performance Control(document link)
P状态策略的参数Windows处理器性能状态控制的几个参数可以通过注册表项进行配置。提供这些注册表项的目的是为了OEM和系统设计人员可以调整Windows处理器电源管理功能的性能,以最适合特定的平台设计,并允许进行调整以帮助实现最长的电池寿命和最佳的系统性能。
并且您必须重新启动才能使更改生效。

nhaq1z21

nhaq1z213#

Microsoft Windows没有用于CPU超频/降频的API。您必须使用您的汇编程序技能来滚动您自己的API。

yb3bgrhw

yb3bgrhw4#

我所能做的只是给你指出正确的方向。我认为通过Windows Management Instrumentation (WMI),你可以得到一个COM接口,允许修改一些子系统。
希望那些模糊的信息能让你走上正确的道路。:-)

相关问题