关于多核的几个疑问 请高人指点!(多核社区解惑月400高分悬赏帖!)

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

> > >原贴内容:

首先,貌似很久以前,就有P4的处理器,在winxp里查看时,是两个cpu;而现在的双核,貌似是物理双核心?
两者有何区别?
再就是,多核技术,对于web开发有何影响呢?
比如,原来的asp程序,在多核的情况下,能得到多少性能和速度的提升呢?

-------------------------

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

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

整个活动结束后,所有分数和奖品将会统一发放或寄送,请各位届时查收:)
...全文
579 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldmanzhao 2007-12-04
  • 打赏
  • 举报
回复
P4的HT实质只是利用了CPU上的闲散资源,并没有实现什么多核心,那时候PC上还没有出现“多核”这个概念,Intel官方也没有把它称作“多核”。现在的Athlon X2,Core Duo虽然具体实现上略有差异,但都是实实在在的多核心。
danscort2000 2007-12-04
  • 打赏
  • 举报
回复

单核心双CPU , CPU之间的数据交换需要通过芯片,通常是北桥来完成,会至少1个有延迟,
而双核心单CPU, 比如CORE , 由于共享二级CACHE,因此CPU间数据同步不需要外部芯片,也就是北桥的参与
而老的P4,由于只是简单的封装2个CPU核心到一个基板上,实际是SMP,也就是单核心双CPU,两者的数据交换还是要通过北桥,速度慢
因此,如果可以选择双核心,那么就不要单核心双CPU
除非在多核心都无法满足的情况下,再考虑SMP系统吧
zhangyixian525 2007-12-02
  • 打赏
  • 举报
回复
发表一点愚见,我觉得我们本时所说的性能提升是一个广泛的概念.它有很多的层面.如果要问多核是否可以提高Web程序的效率.
我们要多几个方面来理解.第一,CPU是一个底层处理的工具,它所能够提升的最小单位是线程.而我们所说的应用程序是一个在操作系统平台上的
程序.如果直接把两者联系起来的话有点牵强.因为它们只有在进程或者线程的级别上才能够相互的讨论.
bingdian37 2007-11-27
  • 打赏
  • 举报
回复
我现在还不奢望用多核,有个双核也好啊
zyx0507 2007-09-21
  • 打赏
  • 举报
回复
做WEB开发已经有很长一段时间了,以前用的是单核的处理器.最近电脑升级,用上了酷睿。用起来是比以前快了。
楼主问“多核技术对Web开发有没有影响”。我觉得在Web开发过程中很少关心CPU到底有几个核。没那个必要。至少对我来说是这样的。
如果我们要测试多核在性能方面的提升,可以找相关的软件进行测试。
nrong 2007-09-21
  • 打赏
  • 举报
回复
都回答完了 学习下
ajq 2007-09-21
  • 打赏
  • 举报
回复
菜鸟学习中
su32fn 2007-09-17
  • 打赏
  • 举报
回复
这个问题真热呀,我觉得如果是在应用层面上没有必要讨论这么细节呀,因为目前我们的开发完全是将双核看成一个再用,根本就没有深入到双核独立处理上,如果仅仅是使用多线程,而将具体分配交给系统的话,我觉得核单核心是没有区别的。
chaircat 2007-09-16
  • 打赏
  • 举报
回复
Muti-Core一般来讲应该比SMP快一些...
因为SMP的CPU之间通信要通过系统总线, 而多核的一般自带有仲裁器...
huanyun 2007-09-15
  • 打赏
  • 举报
回复
多核和 Hyper-Threading(超线程) 有什么区别?
HT 是 Intel Netburst 架构处理器特有的技术,HT 技术实质上通过增加一组寄存器和指令调度机制实现两个指令入口,模拟出 2 个 CPU,由于共享执行单元、缓存、总线,所以对性能提高非常有限,大约提高 20%~30%,双核心理论上可以提高接近 100% 的性能。

sunnyfun888 2007-09-14
  • 打赏
  • 举报
回复
楼主的问题三言两语也说不太清楚。

以前的P4C系列处理器(支持超线程),和现在的多核处理器,在winxp里查看时,是两个CPU。那是由于在Windows中有一个硬件抽象层(Hardware Abstraction Layer HAL),他隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。

从应用软件的角度来看,只看到在硬件抽象层上有两个CPU,并不知道两者有什么区别(这也正是建立硬件抽象层的目的),这样就降低了应用软件的开发复杂度。

超线程是一种同步多执行绪(SMT,simultaneous Multi-threading)技术,它的原理很简单,就是把一颗CPU当成两颗来用,将一颗具Hyper-Threading功能的“实体”处理器变成两个“逻辑”处理器。而逻辑处理器对于操作系统来说跟实体处理器并没什么两样,因此操作系统会把工作线程分派给这“两颗”处理器去执行,让多种应用程序或单一应用程序的多个执行绪(thread),能够同时在同一颗处理器上执行;不过两个逻辑处理器是共享这颗CPU的所有执行资源。

多核处理器是指在一个芯片上集成多个微处理器核心,从实质上说,每个微处理器都是一个相对简单的单线程微处理器,而且这多个核心间联系非常紧密,甚至共享L1、L2和L3等。其核间通过高速总线连接在一起。这样较超线程技术在克服线延迟影响方面更具优势。

双核技术对性能的提升不是简单的1+1=2问题,总的来说:
1.双核对目前大部分应用软件的提速不明显
2.只有针对双核优化的软件才能得到速度提升
3.在多任务处理上(即同时运行几个应用程序),双核是天生的高手,而且切换程序变得非常流畅。

所以说原来的asp程序在双核上肯定有性能上的提高。

具体提高多少,网上有一些经验公式可以参考:
主流cpu的性能影响因素及综合性能计算公式
1.主频 毫无疑问,相同类型的CPU,性能与主频成正比,而且基本是线性相关的。如3.6G的P4660性能比3.0G的P4630强大约20%。
2.架构 架构是影响同频cpu性能的最重要因素。当然,不同的架构适合不同的工作,如P4适合做视频工作,而AMD速龙则擅长游戏。在这里,我们取平均值,假设你的计算机有30%时间玩游戏,30%时间做多媒体处理,40%时间做办公和计算。那么,基于prescott架构的P4、赛扬及相似架构的PD,其架构参数为1.0;基于K8架构的Athlon64、闪龙、皓龙、FX及Athlon X2,其架构参数为1.50,pentium M系列架构参数为1.6,最新的conroe架构参数为1.9.
3.缓存 缓存是CPU直接调用数据的场所,其速度为目前最快的内存的10倍左右,而且有更低的延迟,对CPU性能影响最大的是二级缓存。以P4 630的2M缓存为标准,其缓存参数为1.0,则缓存每增加一倍,性能提升大约5%,每减少一半性能下降大约5%。而对于AMD系列处理器,由于其集成了内存控制器,则以512K为标准参数1.0。

4.总线 P4以前端总线800MHz为标准1.00,533M为0.95,1066M为1.03,AMD系列以HT总线1000M为标准1.00,800M为0.97,conroe以1066为1.00,1333为1.02。
5.多核 前四项就基本决定了CPU的单任务性能,而双核心的u在多任务处理时性能接近是倍增的。不过大多数情况下,我们只利用了一个核心(或两个核心交替使用),在这里,我们假设计算机有1/3的时间是多任务的运行的,这样核心数每增加一倍,实用性能会提高33%。至于超线程技术,测试证明其多任务性能会有大约30%的提升,乘上1/3的使用时间,大约有10%的提升。
jojobb3138688 2007-09-14
  • 打赏
  • 举报
回复
cqhydz

等 级: 发表于:2007-09-13 23:07:07
4楼 得分:0
如果不是做底层程序的,多核一般没有关系,主要是用作绘图、平台开发之类的


我比较赞同他的观点`
土豆 2007-09-14
  • 打赏
  • 举报
回复
对于Cache的策略,不是简单增加容量就能带来性能提升的,比较合适的做法应该是尽量使L1 Cache较小,而使L2 Cache较大。因为一般L1 Cache命中率都比较高,这个时候Cache访问时间成为很重要的因素,如果容量太大,会使访问时间变长。而对于L2 Cache,因为会用到L2 Cache是因为L1 Cache命中失败,这将导致L2 Cache有较低的局部命中率,所以命中率很重要,通过增大Cache 容量可以提高命中率。
sxlfybb 2007-09-14
  • 打赏
  • 举报
回复
这个确实是个好贴,我们都应该把这个不常用,但概念性极强的东西顶起来`

希望相关高手出来解惑`
panzi667 2007-09-14
  • 打赏
  • 举报
回复
学习一下,20
jspadmin 2007-09-14
  • 打赏
  • 举报
回复
在应对突发高负荷运算时,双核是否比单核双cpu具有明显优势呢?还是后者更有优势?
jspadmin 2007-09-14
  • 打赏
  • 举报
回复
超线程cpu和双核,我理解其实都是在提高cpu的使用效率,一个是软件上实现,一个是硬件上实现;双核更多的优势,估计是在一级缓存和二级缓存,相比单核,增加了许吧。以我以前的经验,同样主频系列的cpu,当缓存增加时,性能提升非常多。

那以前常见的服务器主板上同时搭载多颗cpu,和现在的双核又到底有多少区别呢?
是否两颗cpu性能会超越单个双核cpu,假如可以比较的话。
zy_914 2007-09-14
  • 打赏
  • 举报
回复
菜鸟学习中
tainycheng 2007-09-14
  • 打赏
  • 举报
回复
懂了一些,,。
cqhydz 2007-09-13
  • 打赏
  • 举报
回复
如果不是做底层程序的,多核一般没有关系,主要是用作绘图、平台开发之类的
加载更多回复(3)

566

社区成员

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

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