图拉丁吧 关注:7,772,319贴子:130,272,956

【技术向】教你解锁任何intel平台的功耗墙

只看楼主收藏回复



IP属地:广东来自iPhone客户端1楼2021-09-08 17:05回复
    先从原理入手,介绍一下功耗墙是在何处限制的,后面会介绍傻瓜式的软件。
    本方法适用于所有4代及以上的intel平台,win、mac、linux均可解锁,不受BIOS的影响。


    IP属地:广东2楼2021-09-08 17:06
    收起回复

      首先可以看到楼主的PL1是35W,而BIOS中涉及到调整功耗墙的选项不起作用。


      IP属地:广东3楼2021-09-08 17:08
      回复

        打开压力测试,10s真男人后成功撞墙,频率从全核3.2降到全核2.3。


        IP属地:广东4楼2021-09-08 17:11
        回复

          4代酷睿及以上的英特尔的功耗限制在两个地方存在。
          首先是MSR寄存器的0x610地址。
          定义如下:(格式是第几位到第几位、含义)
          14:0 = PL1功耗
          15:15 = PL1启用
          16:16 = PL1强制
          23:17 = PL1时间
          46:32 = PL2功耗
          47:47 = PL2启用
          48:48 = PL2强制
          55:49 = PL2时间
          63:63 = MSR锁


          IP属地:广东5楼2021-09-08 17:17
          收起回复

            验证发现把MSR 0x610 14位到0位的值输入计算器,得到的十进制(DEC)数字正好对应了PL1的瓦数乘8。


            IP属地:广东6楼2021-09-08 17:26
            回复

              同理,把MSR 0x610 46位到32位的值输入计算器,得到的十进制(DEC)数字正好对应PL2乘8 (123*8=984)


              IP属地:广东7楼2021-09-08 17:28
              回复
                因此,我们只要把后面的值改成想要的数字,理论上就可以解锁功耗墙了。
                为了方便,我们把MSR 0x610覆盖为0x00ffffff00ffffff(也就是0到23、32到55位全填1)


                IP属地:广东8楼2021-09-08 17:30
                收起回复

                  可见,AIDA64中已经显示解锁成功了。


                  IP属地:广东9楼2021-09-08 17:32
                  回复

                    可是实际测试发现,还是10s回到35W。


                    IP属地:广东10楼2021-09-08 17:34
                    回复
                      标记一下


                      IP属地:浙江来自Android客户端11楼2021-09-08 17:36
                      回复
                        这是因为,intel还有一个地方限制了功耗墙。
                        这个地方是就内存的0xfed159a0。
                        这个地方是MMIO区域,也叫MCHBAR区域,更详细的内容大家可以上网查,这里不做过多介绍。


                        发现了什么?这个地方的值是不是和之前MSR 0x610中的数值一样?
                        那我们不如把这个地方也换成0xffffff00ffffff试试?


                        IP属地:广东12楼2021-09-08 17:38
                        收起回复

                          可以看到,这次确实解锁成功了。
                          实际上,这也是为什么XTU和老版本的ThrottleStop对一些电脑不起作用。因为他们只改了MSR寄存器0x610地址的值,而没有改内存0xfed159a0地址的值。


                          IP属地:广东14楼2021-09-08 17:46
                          回复
                            可是每次开机都要用RWEverything修改,未免有点麻烦了。
                            下面介绍windows下的傻瓜软件,ThrottleStop,可在TPU(也就是GPU-Z的发行商)官网下载。(注意一定要下载新版本的,旧版本没有修改MMIO的功能)

                            如图,在主界面点击TPL,然后把MMIO右边的Lock勾上,再设置好所需的PL1 PL2数值,点击确定,再在主界面点击Turn On,就可以成功解锁了。
                            在完成之后,ThrottleStop会在可执行文件相同目录下创建ini文件,下次启动时自动加载相同配置。
                            接下来,把这个软件加入启动项,就可以每次开机自动解锁功耗墙了。


                            IP属地:广东15楼2021-09-08 17:53
                            收起回复
                              楼主先吃个饭,吃完饭说一下mac下的操作方法


                              IP属地:广东来自iPhone客户端16楼2021-09-08 17:58
                              收起回复