CPU运行性能最关键的就是运行速度,那么究竟这三者在运行速度方面表现如何呢?我们依然通过比喻的方法来区分。
假设CPU是一个运输卡车,货物就是我们要计算的信息,CPU运算就类似于卡车运输货物。同一时间运送的货物越多,说明CPU运算能力越强。单CPU系统---相当于一辆卡车在一条车道上跑。由于车少,所以运输能力有限。以往CPU生产厂商都是在不断的提高卡车的载重即主频来提高他的运输能力。双CPU系统---相当于两辆卡车在两条相交的车道上跑。每辆车大部分都在自己的路上跑,但偶尔会相遇、停车避让。由于车多路宽,所以双CPU运输能力最强。HT(超线程)系统---相当于一辆双层卡车在一条车道上跑。由于是双层的,所以猛地一看以为是两辆车在跑,其实只有一辆。不过因为双层涉及到车高以及捆绑等问题,有的时候遇到限高的桥梁,需要人为的将货物卸下,手工搬运。所以说HT超线程适用的条件比较苛刻。双核心CPU系统,相当于两辆卡车在一条车道上跑。虽然他运输的货物能力提高了,而且也不会频繁产生类似于HT超线程那样的冲突,但是因为他们都在一条车道上跑,所以互相避让减速的频率要比双CPU高得多。所以他的运输能力要比真正的双CPU系统差。
目前只有服务器级硬件才有多CPU的架构,在一块主板上具备两到四个CPU插槽,能使用两到四块CPU协同工作,以增强平台性能如果在大型机上,通常采用数百或数千个系统并连协同工作,CPU的数量也是成百上千的而在超级计算机上,由数百个机架组成,每个机架又安装了多达几十块服务器,CPU的数量则高达数万个 对于普通人来说,使用的桌面级硬件还没有双CPU或多系统的硬件架构,一般讨论的话只针对单CPU 对于超线程技术,之前已经讲过,这是INTEL独有的技术,目前只用在i3、i7以及ATOM系列的型号上,其它自家型号的CPU(比如i5系列、奔腾、赛扬系列)还有AMD公司的CPU都没有超线程技术 线程是程序发送给CPU执行的命令的基本单位,一个线程可能包含了多个指令,虽然CPU单核心一次只能处理一个线程,但由于频率极高,一定时间过后(比如一秒)可能就“吞”进了数万个指令,这个速度很多时候已经足够处理N多个线程的工作了,这就是为什么即使在单核时代,我们也能够同时运行多个软件,并且还感觉不到效率明显降低的原因 当频率发展到瓶颈以后,人们就另辟蹊径,往多核心发展,理想状态是多一个核心可以多增加一倍的指令执行速度,不过理想归理想,实际中还要看软件的优化程度,早期的软件只为单核心优化,导致很多应用中双核还不如单核效率高,软件要想针对多核心优化,意味着代码的重写,而且可能还要放弃单核心的高效率,不过随着几年来CPU多核方向的确定,目前的软件都已经为多核进行了优化,有些已经优化到四核级别,专业软件则多数优化到更多的核心。
在WINDOWS系统上,只有WIN7系统是唯一原生为多核CPU优化的操作系统(WIN8还没出售,不算),要想完美的利用多核CPU,只有放弃老旧的XP 最后要说的是,很多人以为一个程序就代表着一个线程,这是一个严重的误区,因为一个程序在运行中可能会申请多个进程,而一个进程中又可能包含多个线程,比如一个QQ进程就有二三十个线程,一个浏览器就可能多达上百个线程,用通俗的话来说,这些线程只是“挂”在那里占个位,要不要执行还要看程序和用户的意思。
所以多核CPU的多线程执行能力,只是表现在线程级,并不一定体现在多个程序的运行中,也体现在单个程序的运行中,只要程序员写的代码优化到位,程序效率就高
需要很贵的多CPU主板,不过这是不可能的 假定两颗芯片能够完美对接在一起,并且假定芯片内部电路工作完全同步(实际不可能完全同步),在同一主频驱动下,执行相同的程序,那么速度、性能还是与一颗芯片一样。
但凭空增大了1倍CPU的功耗。如果芯片内部硬件有丝毫不同步,那么在高速主频下,两者的输出就打架,系统无法工作。所谓双核CPU是分工协作来完成任务,例如,各自完成1/2,这样才能提高1倍速度。LZ说的两颗芯片,就完全不是这么回事,根本就没有谁来协调两者的工作。
需要很贵的多CPU主板,不过这是不可能的 假定两颗芯片能够完美对接在一起,并且假定芯片内部电路工作完全同步(实际不可能完全同步),在同一主频驱动下,执行相同的程序,那么速度、性能还是与一颗芯片一样。
但凭空增大了1倍CPU的功耗。如果芯片内部硬件有丝毫不同步,那么在高速主频下,两者的输出就打架,系统无法工作。所谓双核CPU是分工协作来完成任务,例如,各自完成1/2,这样才能提高1倍速度。LZ说的两颗芯片,就完全不是这么回事,根本就没有谁来协调两者的工作。喜欢一个人,恋上一座城
那个少年,我很抱歉
真爱,如空谷幽兰,如诗如画