Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 65887|回复: 939

[分享] 利用ssdtPRGen.sh生成适合的处理器的变频配置文件     [复制链接]

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 16:46:02 |显示全部楼层

1. 获取最新的ssdtPRGen.sh        (15.7)

  1. curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
复制代码

2. 打开执行权限

  1. chmod +x ~/ssdtPRGen.sh
复制代码

3.  让ssdtPRGen.sh创建运行环境

  1. ssdtPRGen.sh -c 2
复制代码

这样, ssdtPRGen.sh的环境就创建好了。下面, 我们需要为自己创建一份合适的SSDT以实现CPU的变频。也就是, 利用SSDT表, 向系统传递_PSS(Performance Supported States)和_CST(C States)参数。一旦传递成功, 系统日志中便会出现『X86PlatformShim::sendPStates - Success!』。



要向系统传递合适的参数, 就需要了解处理器的『处理器型号』(processor model)、『最大TDP』、『基础频率/最低频率』(base frequency)、『最高频率』(clock frequency)、『睿频最高档』(turbo)、『核心数』、『线程数/逻辑处理器数量』。这些数据, 全部都可以通过http://ark.intel.com获得。





但是, 如果我有一个以上的处理器, 我的处理器模型不在ssdtPRGen.sh的支持列表中, 又或者我对处理器进行了超频, 这时候我该如何生成合适的SSDT?直接运行ssdtPRGen.sh显然不合适了。


1. 先来看一例, 奔腾G3420。这个处理器并不在ssdtPRGen.sh的支持列表内, 如果不生成合适的SSDT, 系统便会让处理器一直处在最高频率运行, 并且有可能会卡顿。


首先获取处理器的一些参数:处理器型号,  最大TDP, 基础频率, 最高频率, 睿频最高档, 核心数, 线程数, 分别对应G3420,  53,  800,  2800,  2,  2


2. 前往目录『组合键:Command+Shift+G』『~/library/ssdtPRGen/Data/』, 打开Haswell.cfg。可以看到, 有很多CPU的数据, 问题是, G3420应该添加到什么地方。



注意到『gServerHaswellCPUList=』和『gDesktopHaswellCPUList=』这些类似的字样了吗,这代表了不同类型处理器的集合,G3420属于桌面Haswell平台,因此将G3420,  53,  800,  2800,  2,  2粘贴到『gDesktopHaswellCPUList=』下面任意一行保存即可。


3. 在终端中执行

  1. ~/ssdtPRGen.sh -c  2 -p G3420
复制代码

就得到了我们要的ssdt.dsl, 从『~/library/ssdtPRGen/』中拷贝出生成的ssdt.aml或者ssdt.dsl贴到对应目录即可。




上述情况只是ssdtPRGen.sh比较一般的使用,现在来看一下ssdtPRGen.sh更详细的应用。


1. 查看ssdtPRGen.sh所能做到的所有事情,终端中输入

  1. ~/ssdtPRGen.sh -h
复制代码

得到:

Usage: ./ssdtPRGen.sh [-abcdfhlmptwx]

       -acpi Processor name (example: CPU0, C000)

       -bclk frequency (base clock frequency)

       -board-id (example: Mac-F60DEB81FF30ACF6)

       -cpu type [0/1/2/3]

          0 = Sandy Bridge

          1 = Ivy Bridge

          2 = Haswell

          3 = Broadwell

       -debug output [0/1/3]

          0 = no debug injection/debug output

          1 = inject debug statements in: ssdt.dsl

          2 = show debug output

          3 = both

       -frequency (clock frequency)

       -help info (this)

       -lfmode, lowest idle frequency

       -logical processors [2-128]

       -model (example: MacPro6,1)

       -open the previously generated SSDT

       -processor model (example: 'E3-1285L v3')

       -show supported board-id and model combinations:

           Broadwell

           Haswell

           Ivy Bridge

           Sandy Bridge

       -turbo maximum (turbo) frequency:

          6300 for Sandy Bridge and Ivy Bridge

          8000 for Haswell and Broadwell

       -tdp [11.5 - 150]

       -workarounds for Ivy Bridge [0/1/2/3]

          0 = no workarounds

          1 = inject extra (turbo) P-State at the top with maximum (turbo) frequency + 1 MHz

          2 = inject extra P-States at the bottom

          3 = both

       -xcpm mode [0/1]

          0 = XCPM mode disabled

          1 = XCPM mode enabled


我们平常sh ~/ssdtPRGen.sh只是这个脚本冰山一角,其实可以调整的部分非常多,甚至,我可以在不修改BIOS设置的情况下,限制处理器的最高频率。


2. 例如,我希望能够生成第2个处理器(CPU1)的SSDT,其详细参数如下:

参数(单位) 数值
处理器 E5-1620 v3
基础频率(MHz) 100
系统默认的SMBIOS Mac-F60DEB81FF30ACF6
处理器类型 Haswell
处理器频率(MHz) 3500
空闲最低频率 1200
线程数量 8
机型 MacPro6,1
处理器型号 E5-1620 v3
睿频最大频率(MHz) 3600
散热设计功耗(Watts)140



我们自然希望开启内核的电源管理模式(仅限IvyBridge、Haswell、Broadwell),也就是 XCPM mode enabled

接下来注入参数,


~/ssdtPRGen.sh -a CPU1 -bclk 100 -b Mac-F60DEB81FF30ACF6 -c 2 -f 3500 -lfm 1200 -l 8 -m MacPro6,1 -p E5-1620\ v3 -turbo 3600 -t 140 -x 1


这样便完成了特定ssdt.dsl以及ssdt.aml的生成了。从『~/library/ssdtPRGen/』中拷贝出生成的ssdt.aml或者ssdt.dsl贴到对应目录即可。




附上最新的ssdtPRGen.sh以及参考资料









附件: 你需要登录才可以下载或查看附件。没有帐号?注册
10

查看全部评分

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 16:46:27 |显示全部楼层
本帖最后由 syscl 于 2015-3-22 17:35 编辑

关于其他平台变频文件的生成,我们可以仿照前面的参数进行自定义操作。
下载『User Defined.cfg』,用『文本编辑』打开。可以在『gUserDefinedCPUList=(』中添加处理器的信息。以G1840为例。
『G1840,53,800,2800,2800,2,2,2,100』分别对应着处理器型号,TDP,基础频率(blck),时钟频率,最高睿频,核心数,线程数,平台类型,总线频率。


保存后,粘贴到『~/Library/ssdtPRGen/Data/』下面,并执行如下命令:
  1. ~/ssdtPRGen.sh -p G1840
复制代码


////



针对处理器并非Haswell的,可以将平台类型设置成Sandy Bridge/Ivy Bridge/Haswell/Broadwell。


////





附件: 你需要登录才可以下载或查看附件。没有帐号?注册

点评

syscl  修正一个错误,第一次创建运行环境应该输入『~/ssdtPRGen.sh -c 2』  发表于 2015-3-23 13:48

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 16:46:44 |显示全部楼层
本帖最后由 syscl 于 2016-4-4 12:58 编辑

修正第一楼一个错误。第一次创建运行环境应该是
  1. ~/ssdtPRGen.sh -target 2
复制代码

切莫漏了『~/』。

////

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 16:47:02 |显示全部楼层
本帖最后由 syscl 于 2015-4-5 18:28 编辑


超频参数调整


以G3258为例。十分感谢景友@yelon1988提供的反馈。


将G3258超频至4400 MHz需要填写参数
  1. G3258,53,800,3200,4400,2,2
复制代码

这意味着默认频率3200 MHz,睿频(超频)至4400 MHz .


效果和填写参数『G3258,53,800,4400,4400,2,2』一样,但是启动日志里不会出现错误


15/4/2 下午12:25:56.000 kernel[0]: IOPPF: XCPM mode
15/4/2 下午12:25:56.000 kernel[0]: XCPM: P-state table mismatch (error:0x4)
15/4/2 下午12:25:56.000 kernel[0]: X86PlatformShim::sendPStates - pmCPUControl (SETPSTATETABLE) returned 0x4
15/4/2 下午12:25:56.000 kernel[0]: X86PlatformShim::start - Failed to send PStates


而是正确的启动信息:


15/4/4 下午1:39:10.000 kernel[0]: IOPPF: XCPM mode
15/4/4 下午1:39:10.000 kernel[0]: [AGPM Controller] unknownPlatform
15/4/4 下午1:39:10.000 kernel[0]: X86PlatformShim::sendPStates - Success!
15/4/4 下午1:39:10.000 kernel[0]: X86PlatformShim::sendPStates - Success!


////

Rank: 2Rank: 2

UID
106297
帖子
170
PB币
1961
贡献
0
技术
0
活跃
90
发表于 2015-3-18 16:47:12 |显示全部楼层
高级技术贴,沙发支持~~~~

苦逼的医学生。。。考试月勿扰,扣扣一概不回!

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
4559
PB币
323
贡献
0
技术
152
活跃
2058

7周年庆典勋章 8周年庆典勋章 我是大学生!

发表于 2015-3-18 16:47:26 |显示全部楼层
好帖啊,不错,不过我现在用Clover的自动变频功能,貌似还可以。

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 16:47:58 |显示全部楼层
发现分成几块编辑更容易一些。占楼备用

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 16:48:16 |显示全部楼层
这么多层,应该够了。

AAA

Rank: 9

UID
553182
帖子
3700
PB币
4233
贡献
0
技术
51
活跃
443
发表于 2015-3-18 16:57:31 |显示全部楼层
好好好 ,不过下载的是一个ssdtPRGen.zip文件夹
curl -o ~/Library/ssdtPRGen.zip https://codeload.github.com/Piker-Alpha/ssdtPRGen.sh/zip/master
unzip -qu ~/Library/ssdtPRGen.zip -d ~/Library/
mv ~/Library/ssdtPRGen.sh-master ~/Library/ssdtPRGen
rm ~/Library/ssdtPRGen.zip

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 17:01:14 |显示全部楼层
drcc 发表于 2015-3-18 16:57
好好好 ,不过下载的是一个ssdtPRGen.zip文件夹
curl -o ~/Library/ssdtPRGen.zip https://codeload.githu ...

我的地址和你的不同。

Rank: 5Rank: 5Rank: 5

UID
3582197
帖子
665
PB币
57
贡献
0
技术
18
活跃
2082

十一周年

发表于 2015-3-18 17:02:15 |显示全部楼层
这个很详细啊!谢谢楼主的分享了!

Rank: 7Rank: 7Rank: 7

UID
719084
帖子
2093
PB币
5960
贡献
0
技术
12
活跃
1226

8周年庆典勋章

发表于 2015-3-18 17:03:13 |显示全部楼层
支持了!~

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 17:05:02 |显示全部楼层
每日一游 发表于 2015-3-18 17:03
支持了!~

谢谢~~~
1

查看全部评分

远景FANS

UID
424619
帖子
4181
PB币
533
贡献
0
技术
741
活跃
2194

巡察使 我是大学生!

发表于 2015-3-18 17:11:59 |显示全部楼层
gujiangjiang 发表于 2015-3-18 16:47
好帖啊,不错,不过我现在用Clover的自动变频功能,貌似还可以。

但是赛扬和奔腾不行。

你用不用这么快插楼啊,断了楼层。

而且Clover的变频不能自行调整一些参数(例如限制最高频)。也不知道超频之后能不能有更多的档位。

Rank: 5Rank: 5Rank: 5

UID
672045
帖子
451
PB币
3625
贡献
0
技术
50
活跃
667

7周年庆典勋章

发表于 2015-3-18 17:12:32 |显示全部楼层
好东西 必须顶

Rank: 15Rank: 15Rank: 15

UID
197429
帖子
13476
PB币
326
贡献
0
技术
161
活跃
3710

8周年庆典勋章

发表于 2015-3-18 17:16:22 |显示全部楼层
太好了,这么详细

MEN就像一枚硬币,前面是1,后面是菊花 (&

UID
4105512
帖子
2141
PB币
3595
贡献
0
技术
101
活跃
1276

十一周年 我是大学生! 远景技术达人

发表于 2015-3-18 17:31:31 |显示全部楼层
学习一下

Rank: 5Rank: 5Rank: 5

UID
425108
帖子
633
PB币
1018
贡献
0
技术
21
活跃
1814
发表于 2015-3-18 18:36:50 |显示全部楼层
支持精品文章

Rank: 9

UID
557098
帖子
6136
PB币
12555
贡献
0
技术
39
活跃
1001
发表于 2015-3-18 18:43:08 |显示全部楼层
支持楼主分享!!!

Rank: 7Rank: 7Rank: 7

UID
624881
帖子
2921
PB币
12893
贡献
0
技术
49
活跃
2751

8周年庆典勋章

发表于 2015-3-18 18:43:56 |显示全部楼层
谢楼主的分享
回顶部
Copyright (C) 2005-2020 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件