精华内容
下载资源
问答
  • 多核技术

    千次阅读 2014-06-16 09:10:41
    1、首先要区别多核与多处理器:即多核CP

    1、首先要区别多核与多处理器:即多核CPU与多个CPU的区别   http://www.zhihu.com/question/20998226

    架构可以千变万化,面向需求、综合考量是王道。
    来,简单举个例子。假设现在我们要设计一台计算机的处理器部分的架构。现在摆在我们面前的有两种选择,多个单核CPU和单个多核CPU。

    如果我们选择多个单核CPU,那么每一个CPU都需要有较为独立的电路支持,有自己的Cache,而他们之间通过板上的总线进行通信。假如在这样的架构上,我们要跑一个多线程的程序(常见典型情况),不考虑超线程,那么每一个线程就要跑在一个独立的CPU上,线程间的所有协作都要走总线,而共享的数据更是有可能要在好几个Cache里同时存在。这样的话,总线开销相比较而言是很大的,怎么办?那么多Cache,即使我们不心疼存储能力的浪费,一致性怎么保证?如果真正做出来,还要在主板上占多块地盘,给布局布线带来更大的挑战,怎么搞定?

    如果我们选择多核单CPU,那么我们只需要一套芯片组,一套存储,多核之间通过芯片内部总线进行通信,共享使用内存。在这样的架构上,如果我们跑一个多线程的程序,那么线程间通信将比上一种情形更快。如果最终实现出来,对板上空间的占用较小,布局布线的压力也较小。

    看起来,多核单CPU完胜嘛。可是,如果需要同时跑多个大程序怎么办?假设俩大程序,每一个程序都好多线程还几乎用满cache,它们分时使用CPU,那在程序间切换的时候,光指令和数据的替换就要费多大事情啊!

    所以呢,大部分一般咱们使用的电脑,都是单CPU多核的,比如我们配的Dell T3600,有一颗Intel Xeon E5-1650,6核,虚拟为12个逻辑核心。少部分高端人士需要更强的多任务并发能力,就会搞一个多颗多核CPU的机子,Mac Pro就可以有两颗。

    2、了解多核技术   百度百科

    内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。

    多核技术能够使服务器并行处理任务,而在以前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核技术 是处理器发展的必然近20年来,推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。

    半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。一般说来, 工艺和电路技术的发展使得处理器性能提高约20倍,体系结构的发展使得处理器性能提高约4倍,编译技术的发展使得处理器性能提高约1.4倍。但是今天,这种规律性的东西却很难维持。多核的出现是技术发展和应用需求的必然产物。

    单芯片多处理器通过在一个芯片上集成多个微处理器核心来提高程序的并行性。每个微处理器核心实质上都是一个相对简单的单线程微处理器或者比较简单的多线程微处理器,这样多个微处理器核心就可以并行地执行程序代码,因而具有了较高的线程级并行性。由于CMP采用了相对简单的微处理器作为处理器核心,使得CMP具有高主频、设计和验证周期短、控制逻辑简单、扩展性好、易于实现、功耗低、通信延迟低等优点。此外,CMP还能充分利用不同应用的指令级并行和线程级并行,具有较高线程级并行性的应用如商业应用等可以很好地利用这种结构来提高性能。目前单芯片多处理器已经成为处理器体系结构发展的一种必然趋势。

    3、数据级并行、指令级并行、线程级并行   http://www.zhihu.com/question/21823699

    1. 处理器是就是执行指令的机器。性能是处理器最重要的指标之一,《计算机系统结构.量化研究方法》中提出了下面一个处理器性能公式。CPU时间=指令数×CPI×时钟周期时间。这里的CPI(Cycle Per Instruction)。
    2. 因此提高性能,可以从以下几个方面着手。
      1. 降低指令数目。有硬件和软件两个方面可以降低指令数目。<1>通过编译器的优化来去除冗余指令。<2>使用数据级并行。在多媒体数据处理领域,会有这样一种情况发生:同一操作重复处理多个数据。因此很多专用处理器设置了SIMD指令(Single Instruction Multiple Data),如普通处理器执行以下指令,
        AND Dest1  op_a  op_b
        AND Dest2  op_c  op_d
        
        在SIMD处理器中可能只需要这样一条指令就可以了
        SIMD_AND Dest1 Dest2  op_a op_b op_c op_d
        
        缺点是硬件代价稍高。
      2. 减少时钟周期,等价于提高时钟频率。这个方面可以通过两个手段来达到。<1>使用先进的工艺,这样就直接降低了关键路径的延迟,可以在固定时间内发射更多的指令,摩尔定律正是这个方面的体现。<2>使用流水线技术,这是指令级并行的一种,将执行路径拆分为若干段,减少了等待,在任一时间点上同时有N条指令在执行,原理可参考工业流水线技术,缺点是会由于指令的相关性带来指令阻塞,很难达到N倍的性能提升。
      3. 降低CPI。也就是减少平均每个指令使用的时钟周期。可以每个周期执行多条指令来实现,也就是指令级并行。上面所说的流水线技术就是其中一种。此外还可以使用多发射等技术来实现。
    3. 单独说一下多线程。我们平时所听到的多线程通常指的是操作系统层面的多线程,比如,我们同时在聊qq和听歌,操作系统通过时间片轮回的调度方法让处理器分别处理qq程序和播放器程序,只不过由于切换速度过快我们感受不到。处理器的多线程和这个类似。比如处理器中同时执行者t1, t2, t3三个程序(我们称为三个线程)。对于单发射处理器来说,每个时间点处理器只能被一个线程占用,比如t1,当执行到某一个时间点时,可能会执行一些速度很慢但不需要处理器协助的动作,如从硬盘取数据,为了避免处理器过长时间等待所造成的性能损失,我们可以去执行t2程序段,也就是切换到了t2线程。当然了,在切换之前需要保存断点以便重新切换回t1线程时可以继续执行。这也就是线程级并行,其实也是为了降低CPI。











    展开全文
  • 多核技术摘要

    2017-11-16 22:03:00
    多核技术虽然在性能上比传统的uniprocessiing优越,但是在设计上有很多挑战。几个很明显的问题包括如何将不同应用负载到多cpu的问题和资源调度共享问题等等。诸如这些问题的考虑,多核设计上出现了AMP、SMP以及BMP...
    多核技术虽然在性能上比传统的uniprocessiing优越,但是在设计上有很多挑战。几个很明显的问题包括如何将不同应用负载到多cpu的问题和资源调度共享问题等等。诸如这些问题的考虑,多核设计上出现了AMP、SMP以及BMP架构。
    Asymmetric multiprocessing (AMP):
    clip_image001
    A separate OS, or a separate instantiation of the same OS, runs on each CPU.
    Some systems use asymmetric multiprocessing, in which each processor is assigned a specific task. A master processor controls the system; the other processors either look to the master for instruction or have predefined tasks. The scheme defines a master-slave relationship. The master processor schedules and allocates work to the slave processors.
    With AMP, you decide how the shared hardware resources used by applications are divided up between the CPUs. Normally, this resource allocation occurs statically during boot time and includes physical memory allocation, peripheral usage, and interrupt handling. While the system could allocate the resources dynamically, doing so would entail complex coordination between the CPUs.
    In an AMP system, a process always runs on the same CPU, even when other CPUs run idle. As a result, one CPU can end up being under- or overutilized. To address the problem, the system could allow applications to migrate dynamically from CPU to another. Doing so, however, can involve complex checkpointing of state information or a possible service interruption as the application is stopped on one CPU and restarted on another. Also, such migration is difficult, if not impossible, if the CPUs run different OSs.
    Symmetric multiprocessing (SMP):
    clip_image002
    A single instantiation of an OS manages all CPUs simultaneously, and applications can float to any of them.
    The most common systems use symmetric multiprocessing (SMP), in which each processor performs all tasks within the operating system. SMP means that all processors are peers; no master-slave relationship exists between processors.SMP(symmetric multiprocessing)is the processing of programs by multiple processors that share a common operating system and memory. In symmetric (or "tightly coupled") multiprocessing, the processors share memory and the I/O bus or data path. A single copy of the operating system is in charge of all the processors. SMP, also known as a "shared everything" system, does not usually exceed 16 processors.
    Symmetric multiprocessing addresses the issue by running only one copy of Neutrino on all of the system's CPUs. Because the OS has insight into all system elements at all times, it can allocate resources on the multiple CPUs with little or no input from the application designer.
    Bound multiprocessing (BMP):
    A single instantiation of an OS manages all CPUs simultaneously, but each application is locked to a specific CPU.
    As with SMP, a single copy of the OS maintains an overall view of all system resources, allowing them to be dynamically allocated and shared among applications. But, during application initialization, a setting determined by the system designer forces all of an application's threads to execute only on a specified CPU.
    Compared to full, floating SMP operation, this approach offers several advantages:
    • It eliminates the cache thrashing that can reduce performance in an SMP system by allowing applications that share the same data set to run exclusively on the same CPU.
    • It offers simpler application debugging than SMP since all execution threads within an application run on a single CPU.
    • It helps legacy applications that use poor techniques for synchronizing shared data to run correctly, again by letting them run on a single CPU.
     
    The most difference between AMP, SMP, and BMP as bellow:
    • AMP works well with legacy applications, but has limited scalability beyond two CPUs.
    • SMP offers transparent resource management, but software that hasn't been properly designed for concurrency might have problems.
    • BMP offers many of the same benefits as SMP, but guarantees that uniprocessor applications will behave correctly, greatly simplifying the migration of legacy software.









    本文转自 chris_lee 51CTO博客,原文链接:http://blog.51cto.com/ipneter/369782,如需转载请自行联系原作者

    展开全文
  • 在焊缝别算法中应用多核技术 摘要介绍了一种以多核处理器为主控制器的智能化焊接的计算机控制系统通过对多核处理器的内部结构的分析改进了传统自动焊机中使用的多处理器系统消除了数据在PCB板上传输时所带来的延迟...
  • 多核技术与并发多线程技术介绍

    千次阅读 2013-08-15 10:36:36
    多核技术可以看成是一种cpu的集成技术,在一个CPU处理模块上,可以集成2个或者是多个CPU,但是,他们还是单独的物理cpu。并发多线程技术则需要OS的支持,是在OS级别上,可以实现一个物理cpu的多线程并发处理,提高...
    看多很多人在这个上面把概念弄混淆,我这里给大家简单介绍一下这两个技术的不同。多核技术可以看成是一种cpu的集成技术,在一个CPU处理模块上,可以集成2个或者是多个CPU,但是,他们还是单独的物理cpu。并发多线程技术则需要OS的支持,是在OS级别上,可以实现一个物理cpu的多线程并发处理,提高oltp环境模式下的cpu利用率。
    

       先说多核技术,如在IBM的power5中,就有如下几种不同的cpu集成模式:如Dual-Core Module(双核),表示一个cpu模块中其实有2个物理的cpu(也叫core),他们共享L2与L3 cache。这种cpu模块一般用在520/550上,所以,象采用这种模式的550最多可以有4颗CPU(2个cpu模块)。而Quad Core Module [QCM],这个不知道怎么翻译了,这种技术下,在一个cpu模块中,有4个物理cpu,相当与2个Dual-Core Module集成在一个cpu模块中,从55Q以后的机型,如55Q、55A都支持这样的cpu模块,所以,如果采用这样的模块,55A就可以达到8颗物理cpu。最后说Multi-Chip Module,这个就叫多核技术了,如一个cpu模块中,可以有8个物理cpu,相当于4个Dual-Core Module,一般用在590与595上。如图,则是一个采用了Multi-Chip Module技术的cpu模块:

       从以上的图片与描述可以看到,这种多核技术不过是物理cpu的高集成度技术,让更小的地方,可以放更多的cpu,如550空间大小不变,同样2个cpu模块,如果采用双核的cpu模块,则只可以支持4颗cpu,如果采用Quad Core Module [QCM]技术的cpu模块,则最多可以支持到8颗cpu。

      需要注意的是,这个时候550的cpu模块(cpu插槽)并没有增加,所以,如果在开始选型的时候,只选择4颗cpu(或以下),而又想留有扩展余地的话,则一定要选择Quad Core Module [QCM]技术的cpu模块,否则,以后只能通过更换cpu模块(而不是增加cpu模块)来升级cpu个数了,这样会比较麻烦。

      在不同的厂商,对这个多核技术可能略有差别,如Sun將其多核心架构命名为CMT(Chip Multi-Threaded),把一个芯片(类似IBM的CPU模块,内含2个或多个core)叫成一个cpu(physical processor)。CMT技术能够将更多的晶体管压缩到一个芯片中,同时能够简化每一个CPU的设计,把更多的CPU压在一个芯片当中以提高整个芯片处理交易事务的能力。需要知道的是,这里与ibm的core的定义将有所差别,IBM认为一个core是一个cpu(physical processor),而SUN认为一个芯片是一个CPU。更多的人习惯拿CMT技术与下面说的SMT技术来对比,但是CMT是硬件技术,SMT更多是软件技术,所以,我个人认为与多核技术对比比较合适。

      因为以上的差别,以cpu为收费对象的厂商,如Oracle,则在不同的cpu类型上,一般有不同的处理方式,现在一般已经不在按物理的cpu来购买license,而是cpu模块方式来购买,例如oracle规定,在IBM Dual-Core Module(双核模块)的power芯片上,一个双核模块(内含2颗物理cpu)只需要购买1.5个license。

       看了多核技术,我们再说并发多线程技术,在power5的构架上,以及AIX 5.3以上,或运行在其上的linux 2.6核心以上,都可以支持这个技术,也叫SMT(simultaneous multi-threading)技术。类似Intel构架上的linux支持的SMP技术,一个物理的CPU,也就是一个core,在OS层面上,将显示为2颗逻辑的CPU。

       注意的是,这种技术与硬件构架以及OS都是有关系的,如SMT就是power5才支持的,而且也要特定的OS,如Aix 5.3才支持,也就是说,power5上跑5.2,也是不支持这样的技术的。在这样的技术中,每个power5 cpu两个硬件线程,SMT旨在利用POWER5处理器的超标量特性,以便同时执行多个指令。它的基本理念是:没有一个单一应用可使向POWER5这样的超标量处理器达到完全饱和的状态,因此,部署同时提供输入的多个应用效果更理想。如图,如果把cpu的指令处理分成很多小的单元的话,它们是可以并发的。

     

      那么,按照这样的设计思想,那么,SMT技术将在细小的oltp应用中受益,而大型的计算业务,如浮点密集型的工作(耗费单个CPU很长时间,对浮点单元与内存带宽消耗比较大),是不适合使用SMT技术的。当然,我们可以在OS级别决定是否打开SMT技术,主要取决于这个技术是否为我们带来好处,默认则是打开SMT。

       在实际的使用中,我们可能发现,一个物理cpu分化的2个逻辑cpu可能存在分配不平等的现象,如topas可以看到:

      如以上,1,3,5,7比较闲,而2,4,6,8会比较忙,按照IBM的官方说法是,在SMT技术中,如果仅仅是其中一半的逻辑cpu(对应到具体个数的物理cpu)能满足需求的话,另外的一半逻辑cpu将一般比较闲置,只有当系统业务比较繁忙的时候,另外一半的逻辑cpu是可以参与计算的。我猜想,估计这样处理的规则是,避免在简单任务的时候,也采用复杂的分发机制。

      以上介绍了多核技术与多线程技术,多核技术一般指cpu的集成度,一般的厂家规则都是一个core对应到一个物理cpu,所以,一个cpu模块中可能存在多个物理cpu,而并发多线程技术(SMT)则是指单一物理处理器能够同时分发来自多于一个硬件线程上下文的指令,可以虚化成2个逻辑的CPU。我们看一个power5的Dual-Core Module技术的cpu模块与逻辑CPU的对照图:

       我们也可以采用如下的命令查看AIX 5L上物理cpu的个数,他们的数目不同于开启过SMT技术以后的topas中的cpu个数,简单的说,采用smt技术的os上,topas看到的cpu个数是物理cpu的2倍。

    #lsdev -Cc processor

       这个命令查看到的,则是逻辑cpu的数目,与topas看到的数目一致:

    #bindprocessor -q

       我们也可以采用如下的命令查看cpu的详细信息,如主频,是否支持SMT,是否开启了SMT等等。

    #lsattr -El proc0

       或者使用smtctl查看整体的smt信息,更多的信息可以查看man smtctl

    #smtctl

    展开全文
  • 向量化:指的是使用同一条指令同时操作多个数据; 多核技术:在同一个芯片上集成多个核心的技术; 多路技术:在同一个主板上集成多个CPU处理器

    向量化:指的是使用同一条指令同时操作多个数据;
    多核技术:在同一个芯片上集成多个核心的技术;
    多路技术:在同一个主板上集成多个CPU处理器

    展开全文
  • 随着应用需求变得越来越复杂,对处理器计算能力的要求也大大提高,作为提升处理器计算能力的一种重要技术多核架构在处理器中应用得越来越普遍,从台式机到平板电脑、智能手机等便携设备,到处都可以看到多核处理器...
  • 多核技术可以看成是一种cpu的集成技术,在一个CPU处理模块上,可以集成2个或者是多个CPU,但是,他们还是单独的物理cpu。并发多线程技术则需要OS的支持,是在OS级别上,可以实现一个物理cpu的多线程并发处理,提高...
  • 多核技术可以看成是一种cpu的集成技术,在一个CPU处理模块上,可以集成2个或者是多个CPU,但是,他们还是单独的物理cpu。并发多线程技术则需要OS的支持,是在OS级别上,可以实现一个物理cpu的多线程并发处理,提高...
  • 这个多线程不仅代表了软件实现上多线程,要求在硬件上也采用多线程技术。可以说多核提供了可以大幅提升性能的机制,多核软件就是可以真正利用这一特点的策略。只有与多核硬件相适应的软件,才能真正地发挥多核的性能...
  • 日前在美丽的海滨城市厦门,教育部高等教育司与英特尔公司共同举办2008英特尔中国多核技术学术论坛, 会上英特尔软件与解决方案事业部副总裁兼英特尔亚太研发有限公司总经理王文汉博士为作了题为“引领软件创新,扩展...
  • 智能手机和平板终端配备双核与四核处理器已成为一种趋势。...在CPU内核领域占有绝对市场份额的英国ARM公司,公开了今后几年内的多核技术发展蓝图。其战略是通过组合使用大小各异的内核,同时兼顾高性能和低功耗。
  • 超线程/多核技术

    2017-04-27 16:24:05
    CMT技术则稍有不同,有的是依靠硬件执行线程切换来获得多线程能力,操作系统不再负责线程切换,因而这部分开销可以减少甚至消除,这方面典型的例子是 Sun 的 UltraSPARC T1 ,它同时综合了CMP和CMT。 微软 的 ...
  • vid_id=104&lang=ZH-CN[/url]下载该视频访问英特尔® 多核软件开发社区英特尔软件与解决方案事业部副总裁兼英特尔亚太研发有限公司总经理 王文汉 博士为2008英特尔中国多核技术学术论坛作主题演讲...
  • intel多核技术

    2007-09-18 11:08:00
    http://news.csdn.net/n/20070912/108539.html
  • 英特尔将与中国37所高校共同推进“多核技术”[@more@]新华网北京4月21日电(记者周文林)美国英特尔公司近日在北京宣布与中国32所高校共推“英特尔多核技术大学计划”,加上去年国内首批与英特尔合作的5所高校,这个...
  • 感谢您参加多核技术博客征文活动,您的作品“《多核程序设计技术》读后感 ”已入围top30排行榜,您可以获得英特尔乾唐彩文具套装一份,请尽快与我联系确认领奖事宜!详情查看:...
  • 这就是在21世纪初进入消费级市场的多核技术。 目前,Intel 酷睿处理器支持的核数已经达到8个,而服务器使用的XEON白金处理器更是达到28个之多。其他厂商也有基于ARM、MIPS的多核处理器进入市场,并统治特定细分市场...
  • 多核技术相关有奖征稿

    千次阅读 2006-11-27 10:49:00
    多核产品及技术逐渐深入人心,现针对多核方面的热点话题,面向所有用户征集稿件,稿件一经采用,即付稿费,优秀稿件选登之后还将给予相应的奖励。具体要求如下:一、酷睿2 台式机相关稿件,特别针对VPRO(博锐)技术...
  • 多核技术来临?

    2005-11-24 11:26:00
    目前CPU遇到瓶颈,以Inter目前的架构,并不像当初想象的那样可以用到10G,实际上Hz直到3.65G就止步了。...所以……多核时代到来了?作为程序员,需要关注什么?OpenML!!! http://www.khronos.org/openml...
  • 全新的多核选择为所有市场提供最佳的GPU知识产权(IP)产品英国伦敦,2020年10月13日– Imagination Technologies宣布推出全新的IMG B系列(IMG B-...
  • intel历代架构演进8—— 多核技术

    千次阅读 2014-06-19 17:05:31
    The Intel Core 2 processor family, Intel Xeon processor 3000 series, Intel Xeon processor 5100 series, and IntelCore Duo processor提供低功耗的多核技术。他们包含了2个内核来共享一个智能二级缓存,这个二...
  • 在CPU内核领域占有绝对市场份额的英国ARM公司,公开了今后几年内的多核技术发展蓝图。其战略是通过组合使用大小各异的内核,同时兼顾高性能和低功耗。而且,异质内核的并用将成为在移动领域引进虚拟化技术的基础。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,086
精华内容 1,234
关键字:

多核技术