随着手机CPU厂商(高通、海思、三星、联发科)的不断发力,手机CPU都是四核、八核,联发科甚至开始十核了,而且主频也越来越高,因此绝大部分人认为手机CPU可以和电脑CPU相媲美,但事实却完全不是这样。
说到CPU性能,就不得不先讲清楚影响CPU性能的几大关键因素:架构、工艺、主频、核心等,绝不是简简单单的核数和主频。
手机cpu和电脑cpu的性能比较
一、架构区别
简单的来说,架构对于CPU来说就像一座建筑的框架,作为CPU最基本却也是最重要的部分。手机CPU构架主要是基于ARM(高级精简指令集机器Advanced RISC Machines)架构设计,而ARM用精简指令系统(RISC),设计思想减少了大量CPU内部的指令集,造成ARM CPU性能至今一直都达不到英特尔X86 CPU的水平。
而电脑CPU采用的是X86、X64等架构,用复杂指令系统(CISC),最终结果是采用ARM架构的CPU,运算能力大大低于电脑CPU的运算能力,同等频率CPU浮点运算能力相差在几千到上万倍。
有人一定会说,那为什么手机CPU不也采用X86、X64等架构,这是因为定位问题决定的,手机的CPU必须满足功耗低、廉价,而X86、X64等架构CPU确实无法满足这一点。
二、工艺&主频
手机CPU主流14/16nm,已经赶上了电脑CPU的制程水平。再来说说主频,CPU的主频与CPU实际的运算能力存在一定的关系,但并没有直接关系。决定CPU的运算速度还要看CPU的的综合指标,有缓存、指令集,CPU的位数等因素。
因为CPU的位数很重要,这也就是搭载了64位的CPU的手机比32位快的多的原因。手机CPU和电脑CPU架构由于不同,相同主频下电脑CPU要比手机CPU的运算能力高几十到几百倍。
三、核心的影响
手机多核其实应该叫多CPU,将多个CPU芯片封装起来处理不同的事情,你甚至可以戏称为“胶水核心”,也就是被强行粘在一起的意思。在待机或者空闲的时候,八核的手机也只能用到一到两个核心。
手机CPU与电脑CPU的性能究竟差多少?
而电脑则不同,PC的多核处理器是指在一个处理器上集成了多个运算核心,通过相互配合、相互协作可以处理同一件事情,是多个并行的个体封装在了一起。用一句话概括,就是并行处理,双核就是单车道变多车道。
在处理同一件事情时候,核心的增多并没有手机CPU运算能力并没有实际性的增强,可以想象性单车道挤在八辆车上的场景。这也就是为什么Intel的atom手机处理器和苹果的处理器只有双核,却要比大多同频率四核处理器都强。单核心能力其实更重要,这就是联发科多核(10核心)并不能提升太多的原因。
四、GPU核心
一般来说,手机GPU是与CPU封装在一起的在同一块SoC上,相当intel的核芯显卡。而电脑则不同,早期电脑的CPU通常都是主攻运算,视频和图形处理都交给显卡,显卡集成在北桥中。
后来有了独立显卡,而集显慢慢的集成到了CPU中,而现在核心显卡正在慢慢替代集显了。值得一提的是,Intel最新的核芯显卡功耗、性能都相当优秀,大有取代独立显卡的趋势。
影响CPU性能的因素盘点
1、主频
主频也叫时钟频率,单位是兆赫(MHz)或千兆赫(GHz),用来表示CPU的运算、处理数据的速度。
CPU的主频=外频&TI mes;倍频系数。很多人认为主频就决定着CPU的运行速度,这不仅是片面的,而且对于服务器来讲,这个认识也出现了偏差。至今,没有一条确定的公式能够实现主频和实际的运算速度两者之间的数值关系,即使是两大处理器厂家Intel(英特尔)和AMD,在这点上也存在着很大的争议,从Intel的产品的发展趋势,可以看出Intel很注重加强自身主频的发展。
像其他的处理器厂家,有人曾经拿过一块1GHz的全美达处理器来做比较,它的运行效率相当于2GHz的Intel处理器。主频和实际的运算速度存在一定的关系,但并不是一个简单的线性关系。 所以,CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。在Intel的处理器产品中,也可以看到这样的例子:1 GHz Itanium芯片能够表现得不多跟2.66 GHz至强(Xeon)/Opteron一样快,或是1.5 GHz Itanium 2大约跟4 GHz Xeon/Opteron一样快。CPU的运算速度还要看CPU的流水线、总线等等各方面的性能指标。
主频和实际的运算速度是有关的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。
2、外频
外频是CPU的基准频率,单位是MHz。CPU的外频决定着整块主板的运行速度。通俗地说,在台式机中,所说的超频,都是超CPU的外频(当然一般情况下,CPU的倍频都是被锁住的)相信这点是很好理解的。但对于服务器CPU来讲,超频是绝对不允许的。前面说到CPU决定着主板的运行速度,两者是同步运行的,如果把服务器CPU超频了,改变了外频,会产生异步运行,(台式机很多主板都支持异步运行)这样会造成整个服务器系统的不稳定。
目前的绝大部分电脑系统中外频与主板前端总线不是同步速度的,而外频与前端总线(FSB)频率又很容易被混为一谈,下面的前端总线介绍谈谈两者的区别。
3、前端总线(FSB)频率
前端总线(FSB)频率(即总线频率)是直接影响CPU与内存直接数据交换速度。有一条公式可以计算,即数据带宽=(总线频率&TI mes;数据位宽)/8,数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率。比方,现在的支持64位的至强Nocona,前端总线是800MHz,按照公式,它的数据传输最大带宽是6.4GB/秒。
外频与前端总线(FSB)频率的区别:前端总线的速度指的是数据传输的速度,外频是CPU与主板之间同步运行的速度。也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一亿次;而100MHz前端总线指的是每秒钟CPU可接受的数据传输量是100MHz&TI mes;64bit÷8bit/Byte=800MB/s。
其实现在“HyperTransport”构架的出现,让这种实际意义上的前端总线(FSB)频率发生了变化。IA-32架构必须有三大重要的构件:内存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片组 Intel 7501、Intel7505芯片组,为双至强处理器量身定做的,它们所包含的MCH为CPU提供了频率为533MHz的前端总线,配合DDR内存,前端总线带宽可达到4.3GB/秒。
但随着处理器性能不断提高同时给系统架构带来了很多问题。而“HyperTransport”构架不但解决了问题,而且更有效地提高了总线带宽,比方AMD Opteron处理器,灵活的HyperTransport I/O总线体系结构让它整合了内存控制器,使处理器不通过系统总线传给芯片组而直接和内存交换数据。这样的话,前端总线(FSB)频率在AMD Opteron处理器就不知道从何谈起了。
4、CPU的位和字长
位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中都是 一“位”。
字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的CPU。同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。字节和字长的区别:由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字长的长度是不固定的,对于不同的CPU、字长的长度也不一样。8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节。
5、倍频系数
倍频系数是指CPU主频与外频之间的相对比例关系。在相同的外频下,倍频越高CPU的频率也越高。但实际上,在相同外频的前提下,高倍频的CPU本身意义并不大。这是因为CPU与系统之间数据传输速度是有限的,一味追求高主频而得到高倍频的CPU就会出现明显的“瓶颈”效应-CPU从系统中得到数据的极限速度不能够满足CPU运算的速度。
一般除了工程样版的Intel的CPU都是锁了倍频的,少量的如Inter 酷睿2 核心的奔腾双核E6500K和一些至尊版的CPU不锁倍频,而AMD之前都没有锁,现在AMD推出了黑盒版CPU(即不锁倍频版本,用户可以自由调节倍频,调节倍频的超频方式比调节外频稳定得多)。
6、缓存
缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。
7、CPU扩展指令集
CPU依靠指令来自计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。
从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分(指令集共有四个种类),而从具体运用看,如Intel的MMX(MulTI Media Extended,此为AMD猜测的全称,Intel并没有说明词源)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SSE3、SSE4系列和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。
通常会把CPU的扩展指令集称为”CPU的指令集”。SSE3指令集也是目前规模最小的指令集,此前MMX包含有57条命令,SSE包含有50条命令,SSE2包含有144条命令,SSE3包含有13条命令。目前SSE4也是最先进的指令集,英特尔酷睿系列处理器已经支持SSE4指令集,AMD会在未来双核心处理器当中加入对SSE4指令集的支持,全美达的处理器也将支持这一指令集
8、封装形式
CPU封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。CPU的封装方式取决于CPU安装形式和器件集成设计,从大的分类来看通常采用Socket插座进行安装的CPU使用PGA(栅格阵列)方式封装,而采用Slot x槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。现在还有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封装技术。由于市场竞争日益激烈,目前CPU封装技术的发展方向以节约成本为主。
9、多线程
同时多线程Simultaneous Multithreading,简称SMT。SMT可通过复制处理器上的结构状态,让同一个处理器上的多个线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。当没有多个线程可用时,SMT处理器几乎和传统的宽发射超标量处理器一样。
SMT最具吸引力的是只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于桌面低端系统来说无疑十分具有吸引力。Intel从3.06GHz Pentium 4开始,所有处理器都将支持SMT技术。
10、多核心
多核心,也指单芯片多处理器(Chip Multiprocessors,简称CMP)。CMP是由美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。与CMP比较, SMT处理器结构的灵活性比较突出。
但是,当半导体工艺进入0.18微米以后,线延时已经超过了门延迟,要求微处理器的设计通过划分许多规模更小、局部性更好的基本单元结构来进行。相比之下,由于CMP结构已经被划分成多个处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途。目前,IBM 的Power 4芯片和Sun的 MAJC5200芯片都采用了CMP结构。多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。
1.云与开源谁吃谁?
2.微软试用Rust重写Windows底层组件
3.各路大牛的C语言编程建议和技巧!
4.RT-Thread Nano 3.1.3正式发布了!
5.C语言指针难吗?纸老虎而已,纯干货讲解
6.2019年第12期《单片机与嵌入式系统应用》电子刊新鲜出炉!
免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。