0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文看懂ARM架构的苹果处理器强在哪里

h1654155282.3538 来源:网络整理 2018-04-23 16:00 次阅读

ARM架构

ARM架构过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。

在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。

ARM 指令集走向64 位元带来的重大改革

苹果在2008年4月23日,冒着极大风险硬着头皮发表初代iPhone的隔年,耗费2亿7,800 万美元,购并了专注开发高效能Power 处理器的PA Semi,组成其处理器研发团队的骨干,然后在2012年9月发表的iPhone 5,其心脏「A6」处理器,终于不再使用来自ARM授权的核心,采用自家的「Swift」微架构(Micro Architecture)。

再以世界上首款抢滩登陆智慧型手机与平板的64位元ARM处理器「A7」(Cyclone微架构)为起点,苹果自家SoC开始逐渐展现压倒ARM Cortex家族(与躺着中枪的Qualcomm自有核心)效能优势,且随着时间演进,差距越拉越开。

让ARM 指令集迈向64 位元的ARMv8-A,并非只有「将整数逻辑暂存器宽度延长到64 位元」和「提供64 位元记忆体定址空间」这么简单,抛弃昔日专注于嵌入式应用的遗产,更加的简洁优雅,更利于打造高效能微架构,引领ARM 荣登高效能的天堂,是这次指令集改版最神圣不可侵犯的绝对使命。

一文看懂ARM架构的苹果处理器强在哪里

ARMv8-A 修订项目极多,但就笔者的角度,除了取消「加速重建储存CPU 状态的Context Switch 相关机制」(一堆就今日观点实在很小家子气的技术),和简化例外处理与执行特权阶层外,最重大的改革,只有两项:

倍增通用暂存器(GPR)数量,这件事在当年AMD 让x86 迈向64 位元时也发生过,意义重大。

取消涵盖整套指令集的「条件执行」(Conditional Execution),这和前者互为表里,因为总算挤出了珍贵的指令编码空间去增加暂存器数量。

其中又称为「引述式执行」(Predicated Execution,或Guarded Exectuion)的后者,目的在于减少程式中的分支,指令集提供简单扼要的条件执行指令,一次做完所有事情。

ARMv8架构及技术特点

2011年11月,ARM公司发布了新一代处理器架构ARMv8的部分技术细节。这是ARM公司的首款支持64位指令集的处理器架构。由于ARM处理器的授权内核被广泛用于手机等诸多电子产品,故ARMv8架构作为下一代处理器的核心技术而受到普遍关注。ARM将在2012年间推出基于ARMv8架构的处理器内核并开始授权,而面向消费者和企业的样机于2013年由苹果的A7处理器上首次运用。

ARMv8技术特点

ARMv8是在32位ARM架构上进行开发的,将被首先用于对扩展虚拟地址和64位数据处理技术有更高要求的产品领域,如企业应用、高档消费电子产品。

ARMv8架构包含两个执行状态:AArch64和AArch32。AArch64执行状态针对64位处理技术,引入了一个全新指令集A64;而AArch32执行状态将支持现有的ARM指令集。目前的ARMv7架构的主要特性都将在ARMv8架构中得以保留或进一步拓展,如:TrustZone技术、虚拟化技术及NEON advanced SIMD技术,等。

配合ARMv8架构的推出,ARM正在努力确保一个强大的设计生态系统来支持64位指令集。ARM的主要合作伙伴已经能够获得支持ARMv8架构的ARM编译器和快速模型(Fast Model)。在新架构的支持下,对一系列开源操作系统、应用程序和第三方工具的初始开发已经在开展中。通过合作,ARM合作伙伴们共同加速64位生态系统的开发,在许多情况下,这可视为是对现有支持基于ARMv7架构产品的广泛生态系统的自然延伸。

具备64位计算能力的ARMv8架构,将使其合作伙伴有望进入高端服务器市场。然而,很多合作伙伴却缺乏在该市场的技术积累。

ARM架构的苹果处理器强在哪里

苹果从2013年九月发布iPhone 5S配备了自家的A7处理器开始,正式迈进64位处理器的时代,也以此为起点,苹果的A系列处理器开始展现惊世骇俗的性能优势,从2015年六月赶尽杀绝32位应用程序,直到去年苹果的iOS 11系统正式宣布不再支持32位处理器(意思就是iPhone 5S以前的机型不再支持升级系统到iOS 11),更是深具重大意义的里程碑。

高性能之路:让处理器在同一时间处理更多的指令

但64位运算真的有这么神奇吗?当然不是,真正有举足轻重影响的,是ARM升级到64位指令集时,「顺便」带来的革新,特别是铲平了打造高性能构架的重大障碍。

要提高处理器性能,不外乎增加每个时钟周期可处理的指令数:

· 提高时钟周期,对于便携移动设备来说,这几乎是不切实际的选项,提高时钟周期预示着在同样的技术条件下需要更多的能耗。

· 增加同时可以平行处理的指令数量,不再像以前那样每次只能一个萝卜种一个坑,现在你可以同时种多个萝卜到多个坑中。

· 提高管线效率,特别是当发生同时执行的指令,要存取相同储存器而撞车时,需要以「储存器更名机制」为中心的「非循序指令执行」来解决。

前面有提到,电脑有别于计算器的最大差别,在于「条件判断的能力」。

你可将计算机程序的正常执行流程,想像成一个「棋盘」,以一个角落当做起点,对角线的角落作为终点,在棋盘上反复移动,不限制前进或后退。如发生条件判断的分支(Branch),或无条件判断的跳跃(Jump),就会变更指令流,并且中断指令管线的运作,特别是必须先等待条件判断的执行结果,才能决定该分支是否发生的分支,对性能的影响尤其明显。

所以某些指令集就具备了所谓「引述执行(Predicaton)」的能力,包含32位的ARM指令集。一个在一般指令集的简单条件判断(相信各位一定看得懂):

beq ra,label // if(ra)= 0,branch to‘label’ or rb,rb,rc // else move(rb)into rc

改用具备引述执行的条件搬移指令,一行就解决了,避开了分支指令,也无须启动分支预测机制。讲的直白一点,就是把所有相关工作打包起来,一次搞定。

cmovne ra,rb,rc

这对追求高度平行化的指令集,有着莫大的吸引力,所以也不外乎多数超长指令集(VLIW)电脑,都具备这样的能力,包含Intel的IA-64(Itanium),连x86从Pentium Pro开始也有cmov体系指令,只是因种种因素不那么实用,而逐渐边缘化了。

苹果看到的64位大未来

基于未来性,苹果也很早就把重心放在64位性能,根据某些实际的指令排程输出率测试,苹果兼具32/64位兼容性的Ax应用处理器,64位的指令输出量,就几乎是32位的足足两倍,例如每个时钟周期可输出6个64位指令,32位就会腰斩。当然,苹果自家芯片亦具备极度优异的内存性能,A10X走向大型化L2缓存,也隐约透露出些有趣的弦外之音,这就有赖前P.A. Semi团队的功力了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19274

    浏览量

    229735
  • ARM架构
    +关注

    关注

    14

    文章

    177

    浏览量

    36307
收藏 人收藏

    评论

    相关推荐

    ARM 架构/特性(处理器)全解

    ARM 架构是构建每个 ARM 处理器的基础。ARM 架构随着时间的推移不断发展,其中包含的
    发表于 07-26 17:53 5277次阅读

    ARM处理器简介及RISC设计要点

    ARM个32位RISC(精简指令集)处理器架构ARM处理器则是
    的头像 发表于 04-01 08:17 9265次阅读
    <b class='flag-5'>ARM</b><b class='flag-5'>处理器</b>简介及RISC设计要点

    ARM Cortex A系列处理器苹果A系列处理器区别

    ARM Cortex A系列处理器苹果A系列处理器区别
    发表于 10-08 16:18

    有朋友对苹果处理器有研究的么

    A6X,苹果公司自己定制的) 上的时候,执行到了ARM汇编代码,运算结果和i386汇编的结果不相同,从而导致失败。 我也查过资料苹果的A6之后的处理器已经是获得过
    发表于 12-28 15:00

    苹果公司为什么要用ARM处理器

      尽管配备了出色的新键盘,但经过改进的新版MacBookPro13还是有个大问题。苹果再次被迫出售较旧的英特尔处理器。这个问题表明为什么苹果公司即将改用
    发表于 06-22 11:21

    浅谈ARM处理器架构

    `让我们先从ARM处理器家族说起。ARM 处理器家族多年来, ARM 已经研发了相当多的不同
    发表于 08-18 12:04

    什么是ARM处理器

    厂商的x86架构处理器,有IBM的power架构处理器,高通苹果海思有ARM
    发表于 11-24 07:05

    ARM处理器的三大特点

    比等价32位代码节省达35%,却能保留32位系统的所有优势。简单说,ARM–性能出众的32位处理器的内核架构。cortex-M系列ARM架构
    发表于 12-13 06:49

    深解苹果iphone5 A6处理器:相比A5在哪里

    深解苹果iphone5 A6处理器:相比A5在哪里,另方面的推测证据来自于“新iPhone的A6处理
    的头像 发表于 09-13 12:13 8.9w次阅读

    ARM公版架构 真的是麒麟处理器的槽点吗?

    只要出现麒麟处理器,那么必定会有很多人纠结于其使用的是ARM的公版架构,或者用之作为麒麟处理器的弱点进行攻击。那么,在笔者看来,拿采用ARM
    发表于 01-04 16:24 3107次阅读
    <b class='flag-5'>ARM</b>公版<b class='flag-5'>架构</b> 真的是麒麟<b class='flag-5'>处理器</b>的槽点吗?

    为什么苹果处理器性能这么

    苹果手机在手机行业直属于领先的地位,那么苹果A系列的芯片也处理领先的地位,那么苹果
    发表于 06-03 09:40 3886次阅读

    苹果电脑处理器将摒弃英特尔处理器,采用ARM架构处理器

    最近,外媒传出苹果公司极有可能在近期的线上WWDC大会上宣布笔记本电脑“换芯”,即从x86架构的英特尔处理器切换到苹果自行设计制造的ARM
    的头像 发表于 06-15 09:34 3031次阅读

    从酷睿11代i5-11300H,看新处理器到底在哪里

    核心,主打轻薄游戏本、创作本等产品,那么这个处理器到底新在哪里,在哪里?下面就以其中个型号——i5-11300H为例带大家详细了解
    的头像 发表于 06-24 13:02 1.1w次阅读

    详解ARM架构处理器系列命名规则

    处理器的命名应该包含两类:指令集架构命名规则和处理器系列规则。 ARM 架构是构建每个 ARM
    发表于 02-11 10:44 8次下载
    详解<b class='flag-5'>ARM</b><b class='flag-5'>架构</b>和<b class='flag-5'>处理器</b>系列命名规则

    苹果凭借M1系列占据ARM架构处理器市场的90%收入

    苹果的 M 系列芯片采用的 ARM 架构。而据数据统计机构 Strategy Analytics 的最新研究显示,2021 年的 ARM 架构
    的头像 发表于 06-21 14:53 2702次阅读
    <b class='flag-5'>苹果</b>凭借M1系列占据<b class='flag-5'>ARM</b><b class='flag-5'>架构</b><b class='flag-5'>处理器</b>市场的90%收入