双核或4核CPU如何发挥其最高效用 (多核社区解惑月400高分悬赏帖!)

捺捺 2007-09-24 09:46:11
注:本贴为“英特尔多核技术社区解惑月”选中的问题,以400高分悬赏征集答案。凡积极参与,提供有效回答者,将平分这400分。

> > >原贴内容:

雙核或4核CPU如何發揮其最高效率,是否需要某些系統設置?
一種常見的情況,大家都知道,兩台同樣配置的電腦,速度通常都有差別,如何才能發揮多核CPU的最高效用呢?
-------------------------

原发贴者:stephenlll (您将获赠300可用分,其中100分在于奖励您提出了1个有效的问题,另外200分在于您的问题被选中作为征集答案的问题。)

关于本次活动详情请看活动页面:http://events.csdn.net/isn/jhy_mc/index.htm

整个活动结束后,所有分数和奖品将会统一发放或寄送,请各位届时查收:)
...全文
4978 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
生财 2007-11-08
  • 打赏
  • 举报
回复
开发新的操作系统,把一个人的工作分给两个人做
koomis 2007-11-08
  • 打赏
  • 举报
回复
不用我们来考虑吧,其实,多线程也是一种不很好的设计,不信?你设计一个SOCKET来LISTEN试试,最多连接个几千次,就会出现问题,注意不是连接几千个,是几千次,多线程的时候,线程反复切换会带来巨大的浪费.多核,无非是可以让操作系统更快响应我们的应用而已
洋溢2020 2007-11-07
  • 打赏
  • 举报
回复
生产cpu那个鸟人设置的.
oldmanzhao 2007-11-07
  • 打赏
  • 举报
回复
从用户的角度说,越是使用对多线程支持的越好的程序效率就越高,或者同时尽量运行多个程序效率就越高,但是实际上这是不现实的,而并非所有的程序都适宜用多线程的方式运行,因而对大部分普通用户而言,想每时每刻都享受到多核带来的好处是不可能的一件事。
yuansony 2007-11-07
  • 打赏
  • 举报
回复
看看!
wenxueqian 2007-09-30
  • 打赏
  • 举报
回复
正在处理优先级相对较低事务的cpu响应并处理中断。对于外部IO中断,首先是中断仲裁进行判定和排队后,才有cpu处理。
david_xie 2007-09-26
  • 打赏
  • 举报
回复
不少的收获啊
茶禅如水 2007-09-26
  • 打赏
  • 举报
回复
1、 当前市场上的大多数操作系统,包括 Windows*、Linux*、及 UNIX* 操作系统的最新版本,都支持多处理器,并且将多核系统作为多处理器系统处理。这些操作系统原本就专为充分利用多个处理器而设计,且无需修改就可运行,并且运行的很好。操作系统有一个 CPU 调度器,它跟踪所有运行的任务并在这些任务之间进行切换,在短时间内将每个任务分配给 CPU。通过利用多核技术,切换任务的开销大大降低,其结果是开销显著降低并且代码处理更出色,大大增加了系统的吞吐量。
一般来说,操作系统能够自动识别多核处理器,无须特殊的设置。

另一方面应用软件无需重新编写即可运行于多核处理器,但为了充分利用多核的性能优势,还要求多线程支持。多核处理器不能为单线程应用带来任何优势,因为多余的内核不为这个应用工作。可编写以线程化为目的的代码,从而提高应用性能。
从系统和应用两个方面入手,才能全面利用多核带来的性能提升。

2、对于同样配置(不仅仅是CPU)的电脑,理论上其性能应该说是一样的.要想发挥多核的能力,对于用户来讲,主要是利用操作系统处理多任务,使用像视频和音频录制及编辑应用、游戏等应用程序。对于开发商,一方面利用并行编译器,simd类指令,另一方面要针对多核和多线程进行程序设计。
gxqcn 2007-09-25
  • 打赏
  • 举报
回复
大家可用这个软件测试一下就知道多核的用处了:

将其中 RegDLL 生成的 HugeCalc.ini 文件中“[UserSetCPUID]”字段的“NumOfCores”数目修改,再对比测试,就能体验到多核的威力了!

如果您的CPU是四核的,可以尝试将“NumOfCores”分别设定成 4、3、2、1、0(也可大于“4”),将会体验软件在不同核数的CPU上运行的速度。
如果想不仅仅是作阶乘运算,而是可作更全面的科学计算(如数论、密码学等领域研究),建议下载更全面的 HugeCalc.
IntelliSense 2007-09-25
  • 打赏
  • 举报
回复
觉得是ms的事,一般的程序员没必要花时间在这上面。当然你是个nb的人,就是要花时间去研究,那也是很爽的一件事。
qq352050303 2007-09-25
  • 打赏
  • 举报
回复
我觉得现在虽然出现4核CPU,但是还没到必要用4核CPU的时代,所以你会有这样的疑问,一匹马就能把车拉的飞快,非用4匹马的话还有可能拌脚,画蛇添足,等到软件运行非用4核的时候,一切都不是问题了
sunnyfun888 2007-09-25
  • 打赏
  • 举报
回复
理论性的回答上面已经很多了,现在举个简单的例子吧。
比如弹琴,一般来说,一首曲子有高音部分和低音部分,一个人用一个脑袋控制两只手弹一首曲子,当然没有两个人用两个脑袋各控制一只手合弹一首曲子来得轻松。
不过如果这首曲子只需要一只手弹,硬要两个人一起合作的话,由于两个人互相配合也需要花一部分精力,那就不见得比一个人弹省力多少了。
所以人(CPU核心)多当然好,但是合适的曲子(程序)也是必不可少的。
nsDragon 2007-09-24
  • 打赏
  • 举报
回复
这个问题其实也简单,给多核CPU找个CPU的CPU来统一调度资源就OK了。在N核(比如未来的80核)中,可以专门有一个CPU用于任务调度管理,分析资源使用情况。
vipmike007 2007-09-24
  • 打赏
  • 举报
回复
新算法,使得程序执行时,4芯一起用。。。
jamesking 2007-09-24
  • 打赏
  • 举报
回复
用多线程进行优化,当然不是所有的程序都适合多线程。
lbaby 2007-09-24
  • 打赏
  • 举报
回复
这应该是操作系统调度关心的问题,

如果是程序想针对多核优化的话,使用并行的多进程,
当然还要结合多核构架本身的内存访问方式来进行,不太熟,不能说出更多了
m60a1 2007-09-24
  • 打赏
  • 举报
回复
还是觉得,这应该靠各位程序员
硬件跑得稳不稳是它们之间的磨
合及是否有冲突。而硬件跑得快
不快,这就回到了原来的问题上
给它的指令是否是最优化的,是
否能让它在最短的时间内做出最
快的解释!
ajq 2007-09-24
  • 打赏
  • 举报
回复
同意一楼的观点,顶
winprog 2007-09-24
  • 打赏
  • 举报
回复
设计程序时考虑哪些工作是可以并行的。
在任务并行执行时,考虑做好线程的同步。
用先进的算法减少不必要的同步。
mathe 2007-09-24
  • 打赏
  • 举报
回复
其实这个问题说简单也很简单,就一个词:
并行
当然说复杂就太复杂了,如何去并行呢?
我想,需要新的算法,新的语言,新的编译器,新的库文件

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧