最开始想通过读取 MSAcpi_ThermalZoneTemperature里面的数值获得CPU温度,这个温度在本机基本上只有重启的时候才会改变。后来通过写NT驱动读取EC的温度,得到的结果和Everest软件的一致。因为考虑到要有较好的兼容性问题,就通过分析BIOS的ACPI表的方法在DSDT表中寻找EC设备,然后找到存放温度的偏移地址。( g9 y9 U& \, a) J$ m. N
; ]' g8 b5 r( @+ Y
但是发现好像有的平台CPU温度是通过SuperIO获取的,而且比较了现有的一些软件 如鲁大师 超级兔子 CPUCool SpeedFan它们得到的CPU温度的数值总是有差异。, Z. S1 L) G1 E& o