自研(定制化)
如果芯片商只凭借ARM的指令集授权,并在此基础上研发芯片,则可被归类到“自研”(或定制化)。比如骁龙820、三星猫鼬核心、苹果从A5往后的SoC(处理器平台)就都采用了在ARM指令集的基础上自研CPU架构。
原生架构
ARM每隔一个时期都会发布新一代公版CPU/GPU架构,比如Cortex-A76、Cortex-A55和Mali-G76 GPU。如果芯片商旗下的SoC直接采用了公版架构,那我们就能将其视为采用了原生ARM架构的芯片。
魔改(半定制化)
芯片商在拿到ARM公版CPU架构后,可以对其进行一定程度的改造,从而实现更高性能、更多功能或更低功耗,而此类SoC就属于“魔改”,也就是半定制化的芯片,比如高通骁龙835、636、660、710和845所用的“Kryo”核心就都是基于公版Cortex-A架构半定制化而来。

RISC
RISC即“精简指令集”,所有基于ARM指令集自研或ARM公版/魔改架构设计的SoC,都属于RISC阵营的成员。
X86
X86是和ARM同级别的处理器架构,英特尔和AMD旗下的桌面/移动处理器,全部都是基于X86架构设计的芯片。

CISC
CISC即“复杂指令集”,所有基于X86架构设计的处理器(也包括SoC),比如我们熟悉的酷睿、奔腾、赛扬、Atom、锐龙、羿龙、速龙都属于CISC阵营。
SoC
SoC指的是在单个芯片上集成一个完整的系统,SoC除了CPU和GPU以外,还集成了包括ISP、DSP、Modem(基带或调制解调器)、射频相关的一系列芯片和电路的有机整体。一般我们会将手机/平板、超极本笔记本的“芯脏”称为SoC(或处理器平台),而游戏本和台式机的“芯脏”则可称为处理器。SoC中必然包含处理器,但处理器却并不一定是SoC。
总之,iPad Pro所搭载的A12X仿生芯片是最强的ARM架构代表,而它所要挑战的则是X86架构的权威。
换句话说,平板电脑和便携式PC之间的竞争,说白了就是RISC精简指令集和CISC复杂指令集的较量。
并不对等的较量
虽然A12X仿生芯片看似有着超越酷睿i5的性能,但这并不代表前者可以取代后者,因为两颗芯片背后的RISC和CISC指令集之间的较量并不对等。
架构之间的兼容难题
CPU之所以能完成各种计算任务,就是因为它可以“正常工作”(执行能力)、能“听懂人话”(依靠指令集)、有足够的“统筹能力”(调节任务前后顺序的逻辑能力),当这3种天赋技能集于一身后就成为了我们常说的“架构”。
问题来了,不同的架构之间,执行效率有高有低、命令描述的语种存在差异、你也不能指望大家都有相同的逻辑思维能力。

典型的ARM架构图
以上,就导致了不同架构之间的互不兼容——你给专门修自行车的老师傅一套维修飞机的操作指南,后者自然会呈现出一脸懵逼的表情了。

典型的X86平台架构图
因此,ARM和X86架构之间,先天就存在互不兼容的问题。
RISC和CISC的先天差异
ARM和X86架构最本质的差异,就是采用了不同的指令集。而RISC和CISC指令集之间,由于设计出发点的不同,二者在逻辑思维和执行能力上也存在极大的差异。
下面,我们就以让RISC和CISC分别执行“清洁地面”的命令为例,看看它们是如何处理的吧。
逻辑上,“清洁地面”的大概思路是先拿起扫帚,扫地;拿起簸箕,用扫帚把垃圾扫进簸箕;放下扫帚和簸箕,润湿墩布;再用墩布擦地,直至清洁地面完成。
对CISC复杂指令集而言,很容易理解“清洁地面”这套逻辑,下达“清洁地面”命令后,就能按照规则和顺序,一步步自动完成。
对于RISC精简指令集而言,它一下子可理解不了如此复杂的逻辑,必须将复杂的逻辑顺序拆分,然后按照一项项简单的命令去完成复杂的操作。
比如,想让RISC精简指令集完成“清洁地面”命令,就必须依次下达“拿起扫帚”、“扫地”、“拿起簸箕”、“把垃圾扫进簸箕”、“放下扫帚和簸箕”、“润湿墩布”、“墩地”……
看起来CISC复杂指令集方便又强大?没错,如果要同时清洁无数房间地面,你只要对着不同的房屋说“清洁地面”、“清洁地面”、“清洁地面”……即可。
而对RISC精简指令集,你需要对着每个房间都重复一整套复杂的命令,如果下达指令的人嘴巴不够快(带宽不够大),那清洁地面的效率自然受到影响,难以和CISC复杂指令集抗衡。
但是,现实生活中,并非所有房间的地面都需要一整套的清洁流程,比如你只需要墩地一个步骤。
对RISC精简指令集而言,你只需对着需要清洁的房间说“墩地”、“墩地”、“墩地”即可。而由于CISC复杂指令集没有单独的“墩地”动作,操作起来就要麻烦许多,完成相同的墩地操作会消耗更多资源,翻译过来就是发热更高更费电。
这就是RISC和CISC的本质区别。说不上谁好谁坏,只能说它们所擅长的领域各不相同。

以ARM架构为代表的RISC精简指令集,最适合针对常用的命令进行优化,赋予它更简洁和高效的执行环境,对不常用的功能则通过各种精简指令组合起来完成。
换句话说,RISC是将复杂度交给了编译器,牺牲了程序大小和指令带宽,从而换取了简单和低功耗的硬件实现。
对以X86架构为代表的CISC复杂指令集,则适合更加复杂的应用环境。
换句话说,CISC是以增加处理器本身复杂度作为代价,以牺牲功耗为代价去换取更高的性能。不过,X86架构则可通过对新型指令集的支持(如SSE4.1、AVX-512等),提高指定任务的执行效率和降低功耗。
应用环境决定未来
在过去的时间里,ARM和X86都在想办法渗透到对方所擅长的领域蚕食市场。
比如,英特尔曾先后推出过“Clover Trail”、“Clover Trail+”、“BayTrail-T”和“Cherry Trail-T”等Atom(凌动)平台,比如Atom Z2580、Z3480、Z3740、X5-Z8500等,它们最大的特色就是可以运行专为ARM架构定制的Android系统,后期的平台还曾主打“Windows 10+Android”双系统,在智能手机、千元/百元平板电脑领域引起过不小的波澜。

可惜,Atom处理器在Android系统中总存在些许兼容性问题,功耗和发热量也难以保障。
因此,英特尔随后不得不放弃这一产品线,致力于研发具备更高能效比的酷睿处理器,让X86笔记本也能具备媲美ARM架构设备“全天候续航”的能力。
最近的1年里,高通也携手微软,推出了基于骁龙835平台的Windows 10笔记本(包括二合一),从而实现了让ARM架构运行X86架构专属Win32程序的梦想。

相关文章
网友评论(共有 0 条评论)