无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 14548|回复: 40
打印 上一主题 下一主题

单/双核PE自适应

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-12 11:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在的机器已经普及双核(或多核)了,相应地使用双核PE也许有好处。例如更好的性能(只理论想象,未实际比较过)。

当然,有人说,PE主要用来搞维护,单核PE兼容性好,够用了,用不着弄什么双核PE。那么,以下内容就不必看了。
=======================================================================

双核PE与单核PE一个直观上的差异是,在任务管理器中前者可以看到两个CPU的状态图:


而后者只看到一个:


双核PE早些年已经有人做过。其不足之处是兼容性比单核PE差。主要表现在把双核PE用于单核机器时,不加载网络还好,一加载网络就死机没商量。
而单核PE,用于双核机器没问题,顶多把双核当单核用,没发挥双核性能而已。

所以,以往大家PE都不采用双核。即使提供双核PE,一般也同时提供单核PE,由用户手工选择使用哪个。



本贴讨论单双核自适应问题,无需手选。具体思路是先检测CPU是单核还是多核,然后根据结果选择启动单核PE还是双核PE。

这里提供一个检测工具:CPUID。它作为grub4dos外部命令。


参考菜单:

title 启动单双核自适应PE
#假定CPUID在启动分区根目录
(bd)/CPUID || echo -n
set cores=1
checkrange 1:-1 read 0x60000 && set cores=2
#核心数现已存放在变量cores。其值1表示单核,2表示双核(及多核)。

#显示检测结果
if “%cores%”==“1” echo 检测到单核cpu
if “%cores%”==“2” echo 检测到多核cpu

#以下根据cores值分别启动单双核PE。

#假定单核、双核pe的引导文件分别是peldr1.bin和peldr2.bin
if “%cores%”==“1” chainload (bd)/peldr1.bin
if “%cores%”==“2” chainload (bd)/peldr2.bin


附件里有简化的0PE用于测试单双核自适应效果。

其中
0PE\XP\NTKRNLMP.EX_
是可剪裁外置双核组件。
当有此组件时,在双核机器上会自动启用双核心PE,在单核机器上会自动启用单核心PE。
当无此组件时,无论单双核机器,一律启用单核心PE。

0PE是动态核心PE,单双核合一、组件化了。其它PE一般是静态核心PE,要准备两个不同内核。
目前,PE双核化条件已经成熟。

已知问题:目前这个CPUID工具在vm虚拟机上测不出双核。但不影响使用PE。

[ 本帖最后由 pseudo 于 2011-8-12 21:41 编辑 ]

双核测试8.12.rar

377 Bytes, 下载次数: 670, 下载积分: 无忧币 -2

2#
 楼主| 发表于 2011-8-12 11:29:05 | 只看该作者
想起一个问题。
把单核、双核所需文件都放入pe内核,配以适当的txtstup.sif设置,window pe本身应该就有自动检测并启用单核/双核支持的机制。
就是说,单核、双核并不是对立的。

不过本贴采用事先检测的方式,灵活、主动、组件化。
对于单核老机,并不需要读取NTKRNLMP.EX_。
启动初期读盘数据量比较少,对读U盘慢的机器的U启是有利的。

[ 本帖最后由 pseudo 于 2011-8-13 00:17 编辑 ]
回复

使用道具 举报

3#
发表于 2011-8-12 13:13:37 | 只看该作者
P大又有新作品面世,祝贺!这个应该解决蓝屏问题了吧?
回复

使用道具 举报

4#
发表于 2011-8-12 14:00:22 | 只看该作者
哇!
    沒想到P大neo4026版大 2008年在這裡 [[讨论]关于hal.dll与ntoskrnl.exe自动选择的问题] ,現在開花結果了。
P大真是個不放棄解決問題的人。
請問P大;給多核用的setupldr.bin是不是要經過修改,如果是、需要改哪些地方呢?

[ 本帖最后由 htt_rd 于 2011-8-12 14:06 编辑 ]
回复

使用道具 举报

5#
发表于 2011-8-12 14:34:14 | 只看该作者
呵呵,还有个好消息,P大也开始编写grub4dos的外部命令啊。
回复

使用道具 举报

6#
发表于 2011-8-12 14:35:15 | 只看该作者
试用“双核测试”进行实机测试,本机CORE2双核,未能成功识别出双核心。



[ 本帖最后由 ksafei 于 2011-8-12 14:48 编辑 ]
回复

使用道具 举报

7#
发表于 2011-8-12 15:13:43 | 只看该作者
又有新技术了,学习……
回复

使用道具 举报

8#
发表于 2011-8-12 15:30:18 | 只看该作者

回复 #6 Plantsoot 的帖子

早就写了,CLS_CMOS就是汇编写的
回复

使用道具 举报

9#
发表于 2011-8-12 16:49:53 | 只看该作者
非常支持,这样可以更进一步发挥多核性能了。。

(PE不当PE用)
回复

使用道具 举报

10#
 楼主| 发表于 2011-8-12 21:43:20 | 只看该作者

回复 #7 ksafei 的帖子

#1楼已修正,请重新下载测试。
回复

使用道具 举报

11#
发表于 2011-8-12 22:13:03 | 只看该作者
这个PE牛啊 呵呵..
回复

使用道具 举报

12#
发表于 2011-8-12 22:42:41 | 只看该作者

回复 #11 pseudo 的帖子

修正版可以识别双核心了!
回复

使用道具 举报

13#
发表于 2011-8-12 23:52:46 | 只看该作者
用“双核测试”(修订后)进行虚拟机测试(简易启动测试器 3.1_STB),未能识别出双核心:

这是简易启动测试器 3.1_STB进0PE后的:


下面是本机系统的:


是否不能用虚拟机测试???
回复

使用道具 举报

14#
发表于 2011-8-13 00:53:05 | 只看该作者
P大新作品新思路,这个值得期待。
回复

使用道具 举报

15#
发表于 2011-8-13 01:16:00 | 只看该作者
P大又出新品了,哈哈!佩服!
回复

使用道具 举报

16#
发表于 2011-8-13 01:25:02 | 只看该作者
支持P大加入grub4dos开发组,用户的福音!
回复

使用道具 举报

17#
发表于 2011-8-13 01:26:21 | 只看该作者
强烈支持新技术啊。我一直都是支持技术的人儿啊。。。
回复

使用道具 举报

18#
发表于 2011-8-13 05:51:37 | 只看该作者

回复 #1 pseudo 的帖子

p大,下载第一时间测试。成功识别I5双核四线程。有个疑问,为什么我的U盘与硬盘的盘符错乱了?还有,如何上截图啊?
回复

使用道具 举报

19#
发表于 2011-8-13 08:06:46 | 只看该作者
修正版,AMD双核双线程,实测到native shell阶段重启。

[ 本帖最后由 zxw 于 2011-8-13 08:08 编辑 ]
回复

使用道具 举报

20#
 楼主| 发表于 2011-8-13 08:30:28 | 只看该作者

回复 #20 zxw 的帖子

出中文主菜单时按c,执行
ls (hd-1,0)/bin/cpuid
fat del (hd-1,0)/bin/cpuid
ls (hd-1,0)/bin/cpuid
再按esc。
回复

使用道具 举报

21#
 楼主| 发表于 2011-8-13 08:34:50 | 只看该作者
回复 #14 zqywult 的帖子
目前不适用于虚拟机。

回复 #19 happy_tin 的帖子
什么启动介质?usbzip格式?
回复

使用道具 举报

22#
发表于 2011-8-13 08:56:53 | 只看该作者

回复 #21 pseudo 的帖子

与cpuid无关。
换0619版grub.exe启动成功,并成功识别双核。

[ 本帖最后由 zxw 于 2011-8-13 09:09 编辑 ]
回复

使用道具 举报

23#
发表于 2011-8-13 09:15:32 | 只看该作者
強帖啊,都還沒用上雙核的啊…
回复

使用道具 举报

24#
发表于 2011-8-13 10:49:56 | 只看该作者

P大的PE 支持了

P大一直很努力与PE,辛苦了
回复

使用道具 举报

25#
发表于 2011-8-13 11:57:39 | 只看该作者
经测 amd turion(tm) 64 x2 1.81 移动双核 能够识别
回复

使用道具 举报

26#
发表于 2011-8-13 14:14:18 | 只看该作者
下载了0PEv1.3.1(2011-08-09)XP中文版32MB(双核测试).7z
测试:戴尔E520识别双核,华碩X71SL识别双核。
回复

使用道具 举报

27#
 楼主| 发表于 2011-8-13 15:41:16 | 只看该作者
原帖由 zxw 于 2011-8-13 08:56 发表
与cpuid无关。
换0619版grub.exe启动成功,并成功识别双核。


那就跟grub4dos版本有关了。

试试
cat --locate=cycles=1 --replace=cycles=-1 (hd-1,0)/kernel/auto_exe.bat
让-1在
-1,0,1,2,3,4,5
之间变化,可能有适当的取值。
回复

使用道具 举报

28#
发表于 2011-8-13 16:13:47 | 只看该作者
0PEv1.3.1(2011-08-09)XP中文版32MB(双核测试)
P45 E8400 双核正常识别
回复

使用道具 举报

29#
 楼主| 发表于 2011-8-13 19:12:36 | 只看该作者
原帖由 htt_rd 于 2011-8-12 14:00 发表
哇!
    沒想到P大與neo4026版大 2008年在這裡 [[讨论]关于hal.dll与ntoskrnl.exe自动选择的问题] ,現在開花結果了。
P大真是個不放棄解決問題的人。
請問P大;給多核用的setupldr.bin是不是要經過修改,如果是、需要改哪些地方呢?


我用同一个。
回复

使用道具 举报

30#
发表于 2011-8-13 22:37:35 | 只看该作者
联想E6300正常识别双核
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 01:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表