如何定义一个cpu的性能?我们首先想到的可能就是用各种跑分软件测试,用数据的角度来分析cpu的性能或者以你的主观感受,在日常的使用过程来对比性能差距又或者用打游戏的这种数据加主观感受的方式,以此对比两款处理器性能差别,我来为大家科普一下关于cpu性能怎么比较?以下内容希望对你有帮助!

cpu性能怎么比较(CPU性能分析)

cpu性能怎么比较

如何定义一个cpu的性能?我们首先想到的可能就是用各种跑分软件测试,用数据的角度来分析cpu的性能。或者以你的主观感受,在日常的使用过程来对比性能差距。又或者用打游戏的这种数据加主观感受的方式,以此对比两款处理器性能差别。

当然这些都是测试cpu性能大多数会用的方式,他们的本质都是测试cpu在一段时间内能完成多少任务,或者是完成一个任务需要多少时间。所以就引出了CPU性能公式:cpu时间=指令数*cpi*时钟周期时间

那么这个公式里各个部分都代表什么呢,首先cpu时间:就是完成一个目标程序需要的时间。

指令数:完成这个程序的目标行为需要多少条指令

cpi:执行一条指令需要几个时钟周期(当然了这里所说的时钟周期是一个平均值,也就是说假设有200条指令,完成这些指令需要的时钟周期为100个,但是这200条指令并不是相同的指令,这就存在很多情况,比如第一条指令需要50个周期,剩下的199个周期也只需要50个周期的极端情况。当然这里旨在说明每一条指令所需要的时钟周期数都是不一定的,可能很多也可能很少。所以就我们能算出这里的cpi是0.5,平均执行一条指令只需要0.5个时钟周期。)

时钟周期时间:这就要看具体的cpu的主频是多少,比如主频为4.0GHz的处理器,时钟周期就为:T=1/4000000=0.25ns,这里就是运用公式T=1/f,这里的f就是cpu的主频

有了最基础的性能公式,我们就可以运用这个公式去判断一个cpu的性能到底如何。就好像小学的一元一次方程,只需要知道其中三个参数的,就可以求出剩下的一个。

如果没有已知的三个参数,就不能准确的计算出最后的结果。

比如为什么不能仅靠CPU主频那些来度量性能?这里涉及到CPU微架构的问题,比如高速缓存的大小,工艺制程,流水线深度,指令并行等等。这里的每一点都可以详细展开,但是目前不讨论这些,会在以后说明具体原因。

这里再提一下指令集不同的cisc(复杂指令集,代表为x86处理器,如inter,amd的桌面处理器)处理器和risc处理器(精简指令集,代表为arm处理器,如高通,联发科的手机端处理器)。不同架构的情况下,也是无法使用主频对比性能,因为天生指令集的上的差异。比如相同的加法计算,同样使用高级语言来执行,他们的速度是一样的,但是他们执行的操作数是不一样的。cisc(负责指令集)只需要执行一次加法计算并得出结果,而rics(精简指令集)需要先将两个数放入分别的寄存器,再用寄存器来计算结果,最后再将寄存器中的结果装载进目标地址,这里risc需要四步才能完成操作。这里可以不合理的理解为(注意这里我打个不合理的比方):cisc的主频为1hz,risc主频为4hz,他们主频相差很大,但是执行性能相同,这里也是为了说明两者之间无法直接比较的原因。

那有那些办法可以有效的提升CPU性能呢?主要有三种方式。

第一种:加快主频速度,这种方式主要就是依靠缩小处理器中每个部件之间的距离,距离越短,信号需要传输的距离也就越短,时钟频率就可以提高。

当然,这种方式也会造成一些问题,比如RC延迟,电子在晶体管之间流动的速度受限于导线的电阻和电容,所以延迟会随着RC器件的增加而增加。并且随着工艺的进步,器件尺寸缩小,导致连接彼此的导线也缩小,这就使得导线的电阻R变大。器件缩小的同时,伴随着器件之间距离更近,也导致电容C变大,两者相乘,会使得RC延迟变得更高。

第二种:增加cache高速缓存,这种方式带来的性能提升非常明显,因为CPU的高速缓存能够以差不多CPU的速度来进行数据读取与交换,CPU的高速缓存相较于DRAM和SRAM的速度是几个数量级的差距。所以,提升CPU高速缓存是一种非常有效的提升速度的方式。但是,这种方式也会有自身的问题,因为高速缓存会占用芯片中大量的面积,现代的处理器中的高速缓存基本都占到处理器面积的一大半,所以这是成本很高的一种方式。并且这种方式也是有边际效应,超过一定容量之后,提升就开始变得并不明显了。

第三种:改变处理器的体系结构,这种方式主要是提升处理器内部指令的并行性,这种方式虽然也比较有效果,但是提升的难度是非常大的。所以这几种基本都快到了瓶颈,每年的提升并不大,目前新的方向就是多核,这种方式来提升多个核心处理任务的能力。

但是在实际的使用中,根据具体的使用情况的不同,其实很难有一个特别精准的测试来说明CPU的性能,并不能仅仅依据一两个数据下定论。因为能够影响这些最终性能的因素太多了,为了能够给消费者一个合理的,有价值的参考标准,很多厂商学者共同开发了spec基准测试,该测试包含很多项目,其中也会整合一些多数人经常用到应用,来模拟日常使用情况。最后把所有项目得出的结果通过几何均值的方式,算出一个最后的cpu性能得分,spec算是非常能说明cpu性能的软件了,这是集合了众多测试得出来的分数,相比较其他的方式而言,这种方法相对更准确。

更多相关问题以后会详细说明,喜欢可以关注一下。

,