admin管理员组

文章数量:1606657

要比较手机的 SOC 和老式电脑 CPU 的运算速度,总不能算 1+1=2 吧,这毫无挑战性。

如果你只是用来上网、聊天、看电影,那么手机 SOC 甚至可以相当于现在的电脑 CPU。手机连接上鼠标和键盘等外接设备处理个文档、打把游戏也是绰绰有余。

一旦要做密集计算和高I/O负载的话,手机的SOC还真就只能和10年前的电脑CPU相比了。电脑可以同时挂载更多的高速硬盘,内存带宽也更大。不过十年前的硬盘存储性能也会被手机的UFS和NVMe存储性能吊打。

手机SOC和电脑CPU的PK赛归根结底还是架构之争

手机SOC普遍都是采用ARM架构,它里面还集成了GPU、ISP、DSP、通信基带等等一系列的IP,各个厂商根据自身需求在ARM架构的基础上像乐高积木一样进行定制。而电脑CPU巨头英特尔、AMD采用X86架构已经有数十年。

ARM架构是精简指令集架构(RISC)的代表,而x86是复杂指令集架构(CISC)的代表。指令集固化在CPU内部,它是CPU的大脑,引导CPU进行运算,并帮助CPU更高效运行,介于软件和底层硬件之间的一套程序指令合集。

复杂指令集和精简指令集存在逻辑上的区别。比如给一个人下达吃饭的命令,复杂指令集会直接让他吃饭,而精简指令集会他先拿勺子,然后舀起一勺饭,然后张嘴,然后送到嘴里,最后咽下去。

吃饭这件事对于普通人来说却是不值得一提,但对于研究复杂指令集架构和精简指令集架构却意义重大。复杂指令集架构需要足够多的训练,才能完成“吃饭”的一系列的动作,如果要完成其他的动作,又要与之相对应的指令。而精简指令集拆解成了最简单的步骤,“舀一勺饭”改成“舀一勺菜”就完成了从吃饭到吃菜的动作。这就是精简指令集架构之所以功耗低,反应速度快的原因,对于机器来讲精简指令集架构可以降低硬件的复杂程度。精简指令集架构将一些复杂度高,指令解码、执行难度高的指令都舍弃了,换取更快的指令执行速度。但简单的这些论述并不足以比较复杂指令集架构和精简指令集架构。

如今英特尔X86的代表架构Skylake(衍生Kabylake和Coffeelake,区别基本没有)/Skylake-X(改进uncore和互联结构部分,增加新的ISA扩展指令集)都存在着一些区别,但我们可以先记住这几条用来和ARM的 A75做比较。

1、前端指令解码5条,分支预测单元合作的uop Cache为6;

2、ROB条目数为224,Sheduler条目数为97;

3、后端执行单元挂在port0~port7这8个端口上,VEC向量单元位于port0、1、5,VEC之外的4个ALU负责逻辑计算和LEA JMP;

4、port2、3、4、7这四个端口和内存子系统相关;

5、Skylake-X每核心有1MB L2(Skylake为25KB),且拥有一个AVX 512 FMA专用运算器,流水线级数为14级。

ARM A75和Skylake的差距这时就可以简单地看出来了。

1、A75前端解码为3条,执行NEON向量或普通计算;

2、执行单元8个,三个为向量,2个为int,2个为AGU L/S,另一个双倍分支器处理分支跳转和预测;

3、NEON向量单元有三个,但一个为Store不能直接计算;

4、处理向量流水线级数为13级,标量为11级;

这么看A75架构算是Skylake架构的缩小版,从架构来分析差距也并没有那么大。10多年来英特尔也仅仅只是将其IPC翻了一倍,如果ARM只有X86 50%的IPC,那么就可以直接说ARM是X86电脑10年前的水平了。

X86可以一次解码带512bit数据的一条指令,还要做乘加融合,还能跑出3Ghz以上,ARM一次指令智能带64bit数据。这么看来比较IPC实际的意义并不大,毕竟手机的SOC还要受到晶体管密度和功耗限制,频率也要比x86低一截。

但有谁会去在乎这些呢?手机和电脑的领域到目前为止已经泾渭分明

就像坊间传的那样:86无法做到ARM的功耗,而ARM也无法做到x86的性能。我们不会扛着电脑来打电话、随时随地的上网玩游戏,但也不会拿着手机做CAD、3DMAX、Pr等等这些需要屏幕大又费大量资源的事情。

电脑CPU和手机SOC注定奔着两条不同的发展路线。或许物联网快速发展的路上它们可能会有交集,不再依赖固定的大小的屏幕和实体鼠标和键盘等外设,所有的终端设备都可以无缝地连接到一起,组成一个超级机器。但现在还真的就没有办法说出手机SOC运行速度相当于电脑CPU几年前的级别,还是要看谁用。

举报/反馈

本文标签: 速度快速度手机老式型号