关于多CPU,多核,SMP的详细疑问

这几个词听了很多遍,还是没有理解透彻,特来请教。

1.  我们说多核机器,是指一块CPU芯片里面有多个核心,核心与核心之间的通信是由
    CPU芯片内部的总线完成的;
    说多CPU机器,则强调的是这个机器有多块CPU芯片,至于每块CPU芯片是不是多核,
    则取决于具体的设计。而多块CPU芯片之间的通信则应该有CPU与CPU之间的总线完
    成。
    那这样来讲,多CPU之间的通信成本是不是要高一些,当然制造成本也要高一些,
    甚至可以下结论说,多核技术要比多CPU技术先进,有了多核技术,多CPU技术应该
    只有在多核技术满足不了应用需求的情况下,才有生存的空间——假设目前一个CPU
    芯片最多可以集成4核,如果我要造一台相当于4核CPU性能以上的机器,我才需要
    考虑使用多CPU技术,否则,我应该毫不犹豫地选择多核技术。
2.  SMP:对称多处理器,这个多处理器是指多CPU芯片还是多核?从Google的结果已经
    我的理解来看,应该是多个相同的处理器芯片,那每个芯片是单核还是多核是不是
    也取决于具体的设计实现?
3.  多核、多CPU、SMP都是共享内存的吗?还是也取决于具体实现?
4.  按照传统概念,通常每个CPU都有Cache,甚至还分一级Cache,二级Cache,那请问,
    多核、多CPU、SMP在Cache是否共享这个问题上是怎么处理的,为什么要那么处呢?
 
    暂时就想到这么多。没找到一个合适的版块,最后挑了Linux,是想到这个版块可能
    有一些Kernel的牛人,而搞kernel肯定是要对体系结构这一块有比较深入的了解的,
    至少在概念上不能太含糊。 

 

 

有人高手回答:

1.你没问什么问题

2.多核和多CPU都可以做成SMP,现在x86(包括AMD64)架构的多核都是SMP的,对于x86架构来说,你唯一需要注意的就是超线程出来的虚拟cpu,不是smp,而Linux 2.4和Windows 2000这样的老系统会把它当成smp处理,效率会非常低

3.不一定,这个是取决于具体实现的,PC肯定共享,超级计算机肯定就做不到了,Windows和Linxu都准备了两种内存管理模型分别应付共享和不共享的情况

4.这个其实和多核与多CPU的区别有关,多核是可以共享cache的,多CPU不能,所以这也是多核强于多CPU的理由之一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值