指令集架构、arm内核、SoC、处理器、CPU、GPU等的关系

       指令集架构如:ARMv5、ARMv6、ARMv7-A/R、ARMv8-A [28]

       ARM内核如:ARM7、ARM9、ARM11(v6)、到cortex-A7、A8、A9、A12、A15(v7-A/R)、到cortex-A53、A57(V8)、A72、A73。缓存(cache)就是在内核中的[4]。这些内核又名公版架构,即ARM推出的通用的架构。

       SoC芯片如:高通(Qualcomm)的骁龙(Snapdragon)820、821,835;麒麟950(4XCortex-A72+4XCortex-A53)、960(4*Cortex-A73+4*Cortex-A53);联发科的HelioX20、X25、X30;三星的Exynos8890、7420、5433等。还有如STM32(基于ARM cortex M3内核)

       再次,现在我们口中所说的处理器,已经不是过去那种单指cpu的年代了,确切的说应该是指SoC。SoC(System on Chip): 称为系统级芯片,也称为片上系统,意指它是一个产品,是一个有专有目标的集成电路,其中包含完整系统并嵌入软件的全部内容。官方定义为将微处理器、模拟IP核、数字IP核和存储器(或者片外存储接口)集成在单一芯片上。——简单的比喻一下,如果把CPU看成人体的大脑,那么SoC就是我们人的身体总成(还要包括各种器官、组织)。即GPU、总线、显示加速器、ISP、视频编解码器、音频处理器、Memory控制器、传感器处理单元,以及DDR、Flash、显示接口、Camera接口、射频RF、USB等对外接口。要把这些元器件集成在一起,构成一个整体。而且还要保证各个元器件之间能够协调、稳定的运行,这样的设计技术所投入的研发费用并不是每个厂商能够接受的[2]。

       ARM公司本身并不参与终端处理器芯片的制造和销售,而是通过向其它芯片厂商授权设计方案,来获取收益。——举个例子,如果处理器相当于一栋完整的建筑, ARM就像是建筑的框架,至于最后建造出来的房子长什么样,舒适度如何,就是由处理器厂商自己决定了。但是采用相同架构的处理器,性能基本上已经锁定在一定的范围之内,不会有本质的区别。所以,看处理器的性能要先看微架构[3]。

       ARM公司提供两类CPU授权:核心指令集授权,以及现成的CPU内核设计方案授权[2][3]。业内多数手机处理器厂商选择直接购买ARM CPU内核设计方案,然后与其它组件(比如GPU、多媒体处理、调制解调器等等)整合,制造出完整的SoC片上系统。这些现成的CPU都是基于ARM Cortex A5、A8、A9,甚至A15微架构的。或是基于现有的架构进行二次定制修改的,比如三星的蜂鸟Hummingbird核心等都是在Cortex-A8的基础上修改的。2011年,三星正式推出Exynos4 Dual 4210芯片(Dual代表双核)和对应的新旗舰手机Galaxy SII,同时也将“蜂鸟”改名为Exynos3 Single 3110(single代表单核),这正是之后Exynos家族的开端。2016年第一季度,三星发布了Exynos8 Octa 8890(Octa代表8核),它有一个非常重大的意义在于——这是三星第一款拥有自研架构的ARM芯片[22]。注意,经过我的调研,所谓的自研架构,也可以称为自研微架构,其实就是自己研究出来类似于cortex-A53,A73等类似的这些公版的核,也称为公版微架构。

       但也有少数手机处理器厂商,如高通,直接在ARM v7指令集的基础上深度开发自己的处理器微架构,如高通公司的Scorpion和Krait,进而设计自主的CPU,具有更大的灵活性。Scorpion和Krait的角色就和cortex A53和cortex A57的角色类似和ARMv7、v8的角色类似[6]。Scorpion(蝎子)是高通根据Cortex-A8修改的,关键的特点是同频下更加节能约30%左右,现在的骁龙820以及835采用的是Kryo架构[27],其中820是Kryo,835是其升级版Kryo280。

       题外话:华为早在2013年已经取得了ARM的架构授权,即华为可以对ARM原有架构进行改造和对指令集进行扩展或缩减。从2013年至今华为麒麟处理器已经从910更新到960。依照华为公司对技术的执着和对未知领域探索的热情。他们没有理由不对ARM原有架构进行改造和优化,加入自身对架构的独特理解。也就是说,在华为麒麟处理器中所使用的A53+A72架构中已经拥有自己的技术和创新(这种创新就类似于原来三星蜂鸟对Coretex-A8的那种小小的改动)。其实,苹果处理器所采用的的架构也是从ARM架构上演变来的。所以,华为麒麟处理器以后肯定会出自己的架构,不过这需要长时间的研制和技术的积累。即:推出类似于高通的Scorpion、Krait、Kryo、三星的Mongoose,苹果的Swift(基于ARMv7)、Cyclone、TYphoon、Twister,英伟达的Denver这些东西。

       下面是几款SoC的图形:


下面是两款ARM公版(ARM内核)——Cortex-A73和Cortex-A15的结构:

[10]

[11]



参考:

[1] 骁龙835、麒麟960、苹果A10!到底谁才是强者!

[2] 一图看懂海思处理器发展史,华为自家构架还有多少路要走?

[3] 高通和ARM的关系

[4] ARM的发展历程

[5] ARMv8架构的cortexA57、cortexA53

[6] ARM Cortex A8、A9以及高通Scorpion处理器详解

[7] ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57


介绍苹果、高通、三星、华为的芯片设计之路,也就是高通和苹果在自己的自主架构上走的比较远,华为的自主架构的道路还任重而道远啊

[8] 公版ARM架构是王道 自主CPU没一点用?

[9] 不满足ARM公版 市面上有哪些自主架构SoC?


解读ARM的公版结构+图形模块表示

[10] 全面解读ARM Cortex-A73架构,号称面积最小核心果然不是盖的

[11] Cortex-A15 简单介绍

[12] 性能暴增30%还省电!ARM Cortex-A73架构解读


手机开发板上面常见芯片介绍(现在一般ram和处理器集成在一起(但是这种集成都是为了减少主板体积将ram的引脚做到CPU的正面,因为毕竟CPU和内存之间的引脚是比较多的。也就是说CPU两面都是焊盘,说白了只是两个独立封装的芯片叠焊在一起,就是所谓的 pop [21]),rom一个单独的芯片,电源管理芯片也是单独的一个芯片)

[13] 从手机到开发板,无处不在的Qualcomm——DragonBoard 410C开发板评测,——附图开发板上面主要芯片介绍

[14] 高通cpu型号前面的MSM、QSD、APQ分别代表什么意思?

[15] 高通证实MSM8998就是骁龙835

[16] 小米6拆机——主板上各芯片介绍(骁龙835)

[17] 小米4c拆机——主板上各芯片介绍(骁龙808)

[18] 小米6拆机视频高清

[19] Hikey开发板外形及各芯片介绍(Kirin620

[20] 简评海思Kirin620

[21] 怪不得高通CPU的手机占用运行内存这么高、图形处理能力这么强,原来高通芯片的显示内存是建立在运行内存上的


[22] 手机网络类型CDMA、GSM、WCDMA是什么意思?

[23] 脚踏实地的“蜂鸟”到”盖乐世“:三星移动处理器历代记

[24] 轻松读懂移动处理器 CPU微架构全解析


[25] 苹果A11与A10相比提升了多少?苹果A11处理器参数详解

[26] 详解苹果Face ID,将让深度摄像头成主流


[27] 哪里不一样:骁龙835相比骁龙820升级在了哪

[28] 一篇文章读懂ARM指令集架构(附ARM授权使用方及相关产品目录)



猜你喜欢

转载自blog.csdn.net/baidu_35679960/article/details/77606930