a7四核处理器

2022-09-14 22:39:05 IT技术网 互联网
浏览

本篇文章给大家谈谈《a7四核处理器》对应的知识点,希望对各位有所帮助。

本文目录一览:

为何苹果还要开发速度更快的A7处理器?

本文作者为科技撰稿人Steve Cheney。本文试图从处理器的效能功耗比方面分析软件和硬件的决定因素,对于A7芯片是否将改变手机软件的性能,我们拭目以待。今天有传闻说下个月即将发布的iPhone 5S将采用苹果自主开发的A7处理器,双核,64位,运行速度会比iPhone 5快31%。当人们不断YY下一代iPhone的时候,让我们来看看苹果的软件硬件的生态圈和系统芯片的发展。苹果最大的一个优势就是自主研发的策略,它从来不会去使用或者购买其他的标准应用处理器,相反却更加专注于应用/服务结构的设计,不会为了兼容其他处理器而折衷。我们可以拿高通的骁龙处理器做对比。数以千计的Android设备都使用骁龙处理器,所以它会在兼容性上考虑很多,而使用苹果A7处理器的设备,最多也就是iPhone、iPad、iPod和iTV,这样苹果就可以去掉更多平台兼容方面的累赘考虑,从而兼顾更多的功能,比如DSP(数字信号处理器)或者图像性能等iOS擅长的方面。那A7是2核还是4核呢?现在多核的结构一般有三个主要的决定因素:省电,性能和系统/内存带宽,但对于手机平台来说,效能功耗比(performance per Watt)才是重点。形象点说,多核处理器就像是用4个不同的锅在4个不同的灶台上做饭,相比只使用一个大锅,4个小锅可以让厨师更方便地准备配料,厨师也可以关闭其中几个灶台来省燃气。软件就是权衡点。A7芯片不仅要管理好各核之间的交流,并且要决定哪些代码在哪个核上进行编译和运行。这个过程会根据软件内部的复杂程度不同而变化。标准的软件设计都没有很好地解决这个内部问题,事实上,大家都知道软件的并行性(software parallelism)一直是现在计算设计领域一个最大的挑战。这些存在于软件栈结构的挑战,也一直在影响着app的设计、测试、优化和API设计。在操作系统层上开发者必须考虑如何有效地结合驱动器和应用程序,如何在多核的结构里合理地分配空闲堆栈,这些才是赢得效能功耗比之战的关键。比如Facebook的iOS app,它使用一个主要的线程来驱动UI和管理复杂事件,而使用另一个线程在后台管理计算复杂的任务,比如网络活动和JSON语法解析,但都不会影响到UI驱动线程的速度。所以可以说不同的核管理不同的线程,而代码不会自己根据处理器芯片的设计自动编译。

自主架构处理器都没啥用,为什么这样说

在我们给大家纤细阐述“一颗好的手机芯片到底该是什么样的?”,对其中核心的CPU(中央处理器)更是花了大篇幅进行解读,希望大家不用过多关注核数与主频,而把目光多投向架构与工艺。

判断工艺优劣还是非常容易的,基本就是纳米数越小代表越先进,采用FinFET晶体管比传统2D晶体管更好。但要判断架构优劣就比较难了,因为有公版和自主架构之分,公版架构了解清楚了命名规则大概就能知晓一二,自主架构由于厂商不同,想从命名上判断就非常困难。这些障碍最终阻碍了我们对于一颗SoC优劣的认识,到底是自主架构强还是公版架构好?不同自主架构间性能孰强孰弱?

对于这些疑问,我们先从指令集聊起。

精简指令集与复杂指令集的博弈

CPU内部用来指导运算和优化的硬程序我们称之为“指令集”,它是CPU能够直接识别的最底层指令,分为复杂指令集和精简指令集两种。复杂指令集是通过设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统实现,以此来提高计算机的执行速度,英特尔著名的X86架构就是典型的复杂指令集产物。在计算机刚诞生,部件昂贵、主频低、运行速度慢的年代,这能极大提升处理效率,但随着复杂指令集的日趋庞杂,这种结构越来越庞大,通用性、运行速度开始变差,于是另一种思路驱动的精简指令集就诞生了。

精简指令集的思路是通过简化计算机指令功能,使指令的平均执行周期减少,把较复杂的功能用一段子程序来实现,从而提高计算机的工作主频,同时大量使用通用寄存器来提高子程序执行的速度,ARM公司ARM架构和Imagination Technologies公司的MIPS架构都属于这一体系。

目前流行的移动处理器中,几乎全部采用的都是ARM架构,这种精简指令集架构带来了四大优势:一是体积小、功耗低、成本低、性能强;二是大量使用寄存器且大多数数据操作都在寄存器中完成,指令执行速度更快;三是寻址方式灵活简单,执行效率高;四是指令长度固定,可通过多流水线方式提高处理效率。

ARM架构也分ARMv6、ARMv7、ARMv8等多代。基于ARMv6指令集设计出来的内核是ARM11,它被广泛用于早年的智能机上,尤其在诺基亚的塞班系统手机中特别常见。ARMv7则是新智能机时代使用最多的架构,我们熟知的Cortex-A7/A8/A9/A15内核都是这一架构的产物。ARMv8指令集发布于2011年11月,它在ARM历史上第一次支持了64位指令集,构成了苹果2013年能首发64位处理器A9的核心基础。

而如今我们常见的手机自主/非自主处理器架构都基于arm指令集(除了少数的Intel核心手机为X86指令集)。

手机处理器为何会有公版/自主之分

虽然凭借ARMvX架构在移动领域奠定了一统的地位,但这家来自英伦三岛的公司并没有学着英特尔一样什么都亲力亲为,而是对外开放授权,让厂商根据自己的需要设计生产最终产品。

作为授权,ARM将其分为两种,主流的是授权ARM设计好的IP内核,比如Cortex-A53/A72,厂商拿到此类授权后,只需根据需要选择核心数、总线互联、缓存就基本完成CPU部分的设计。所以我们把这种直接使用ARM设计好的内核方案叫做公版架构,联发科、三星、海思的芯片就属此类。

另一种方案则是授权ARM架构,比如ARMv7/ARMv8,厂商获得这些指令集架构后,还得自行设计内核,之后再完成整个CPU部分的搭建。这也就是我们所说的自主架构,苹果、高通的大部分芯片就是这种方案的产物。

第一种公版方案最大的好处是省时省力,节约成本。芯片厂商只需要跟着ARM的节奏走,就必然不会被落下,既能保障性能,又能以最快时间完成成品上市,同时还方便了稍懂手机的人判断芯片的强弱和定位。坏处一是丧失差异化,不能形成独家卖点;二是必须时刻紧跟ARM脚步,一旦落后就轻易被外界感知,瞬间打成低端淘汰的形象。

第二种自主方案好处是灵活多变,厂商可以设计出比公版IP更好的单核性能和更低功耗,同时在总线互联上也拥有很高的自由度,发挥空间极大。但这种方案必须建立在芯片厂商烧得起钱、请得起人的前提下,花费很长时间才可能有超越公版的成果,当年高通就是因为自主研发ARMv8架构的内核进度不理想,才被苹果A9逼得临时加推公版A57内核的骁龙810仓促应对,结果不佳的表现反而影响了公司形象。

本质上,采用哪种方案只是芯片厂商基于自身实力、财力、时间成本和最终产品需要作出的不同决策。有的厂商可能一直采用公版架构,但相关储备成熟后,它又可能转向自主研发,比如三星。而有的厂商,虽然一直钟爱自主架构,但在节奏被打乱时或者更看重成本的中低端芯片上,它又会回到公版架构,比如高通。没有什么是一成不变的,所以我们没必要把精力花在分辨架构的公版与自主,只要关注实际性能表现即可。

实际性能不能一锤定音

仅仅看架构就能代表实际的性能吗?其实并不是这样的。

1.公版

实际性能上,公版架构之间比较非常方便,大概可以归结为A72>A57>A17>A15>A9>A53>A35>A8>A7>A5,其中除了A15内核(32位)外。其余内核命名一位的为32位的ARMv7指令集、两位为64位的ARMv8指令集。

2.苹果

但加入自主架构后,对比就变得复杂起来,我们首先说苹果的自主架构。苹果从A6处理器开始,就开了自主研发内核的先列,先是推出了基于ARMv7设计的Swift架构,它性能介于公版的A9与A15之间,比同期高通的Krait 300强。

到了A7苹果更是展现了空前强大的设计能力,仅仅一年时间就设计出了领先对手一年的基于64位ARMv8架构的Cyclone内核,整颗A7芯片集成了超过10亿个晶体管,仅仅双核的配置性能就等同于四核的A15处理器。再到iPhone 6配备的A8芯片时,改进的Typhoon架构提升了处理器25%的性能,单核性能超过A57,多核性能也只稍微落后于八核心A57+A53的Exynos 7420和骁龙810。

至于最新的A9芯片,采用了第三代64位架构的Twister内核,CPU性能比A8又提升了70%,单核性能提前领先于采用最新A72架构的麒麟950,至今仍是商用芯片中的最强的单核内核。

3.高通

另一个热衷研发自主架构的是高通。早在骁龙S1的年代,高通就在QSD8250采用了基于ARMv7架构的Scorpion内核,相较同期流行的A8/A9公版内核,Scorpion增加了部分乱序执行能力,支持异步对称多处理,在高主频、低功耗和加强浮点运算方面有突出的优势,具体性能略弱于A9。这套架构一直沿用了骁龙S1、S2、S3三代处理器,后期已经显得有些老旧乏力,于是高通又推出了Krait内核。

Krait内核按时间先后分为Krait 200、Krait 300、Krait 400、Krait 450四代,都是基于ARMv7架构。第一代Krait用于骁龙S4处理器,它一个时钟周期可以执行三次fetch与decode操作,后端执行单元更是从Scorpion的三个增加到了七个,流水线从10级增加到了11级,实际性能略弱于15级流水线的A15。第二代Krait 300内核改进了分支预测模块、添加乱序执行引擎,带来了更好的浮点计算能力,用于第一代骁龙600上,性能接近A15,但功耗更低。

第三代的Krait 400采用28nm HPM工艺制造,改进了内存控制器、延迟更小,还采用了频率更高的二级缓存,性能强于A15,我们熟知的骁龙800/801采用的就是这一内核。最后一代的Krait 450用于并不常见的骁龙805上,变化主要是把主频提到了夸张的2.5GHz,性能大致和A17差不多。

Krait 450之后,高通新一代的骁龙810因为竞争原因转向了公版A57内核,但表现并没有参数表上那么豪华,反而因发热、功耗问题受尽质疑。所以在即将上市的骁龙820中,高通终于推出了研发已久的Kryo内核,它是高通首个自主研发的64位内核,单线程性能比最新公版内核A72还强。

4.其他

另外,三星、英伟达也多少涉足了自主研发内核的行列。

三星的猎户座芯片一直采用的都是公版Cortex内核,去年还凭借14nm工艺的Exynos 7420出足了风头。然而对一直注重研发的三星而言,肯定是不甘心只看着别人玩自主架构风生水起的,所以配备在即将亮相的三星S7上的Exynos 8890,就采用了基于ARMv8架构自研的Mongoose内核取代了A57,性能同样强于A72,和高通的Kryo不相上下。

值得一提的是,在动物界,Mongoose指代的猫鼬正是高通此前Krait(金环蛇)的天敌。

除了高通外,英伟达也在此前Tegra K1芯片的一个版本上用过自研的64位Denver内核,但由于上市较晚、功耗和缺少基带等原因,市面上几乎没有采用的机型。后来推出的Tegra X1又重新回到了公版A57+A53的大小核设计。

总结

经过上面的叙述和回顾,我们基本可以总结出这样的规律,自主架构通常比同期公版架构性能更强一些,但要说明的是,这种性能强指的是单核性能,而多核性能方面,八核设计的CPU无疑要强上许多。

虽然自主架构好处良多,但真不是谁都能玩,即便是强如高通也传出下代骁龙830将放弃自主架构的传闻,虽然我不太相信它是事实,但也的确从侧面反映出自主设计需要投入资源的巨大。

而作为消费者,只要它们销售的芯片处于同级性能就够了,实在没必要去锱铢必较那多几百的跑分,更没必要以是否自主研发为由互相攻讦。

高通骁龙pka7处理器

单线程A7强,多线程骁龙800强点。问题是手机上单线程比较重要。

A7是苹果自主设计的64位架构CPU,规格比较高,虽然是双核,但是晶体管数量和芯片面积大大的超过了其他四核CPU,因此给它带来了强大的单线程性能。 有人比较过,双核1.3G的A7,性能大概相当于双核3.2G的骁龙800这么个概念,理论上弱于四核2.3G的骁龙800。

但是四核比双核有两个弱点,一是手机上大部分程序只支持单核运行,那么四核2.3G的骁龙800拼双核的A7,非常吃亏,因为骁龙架构单核性能弱。

即使是对于极少部分支持四核运行的程序,四核对双核也有个递减的问题,ARM官方有给过一个数据,ARM架构的CPU,在程序支持四核的前提下,把双核翻倍为四核,四核同时处理一个程序,效率是双核的1.85倍,并不是2倍。

考虑到ARM爱吹牛,实际上可能还达不到1.85倍。算上这个损耗,即使在运行能支持四核同时运行的程序时,骁龙800也就比A7略强一点。

至于为什么这么多厂家不研发强大的双核,而是做四核,其实也是无奈之举。大家都知道双核好,但是在双核的限制下要提高性能,只有两个方法,

一是简单的提高CPU的主频,然而随着主频的提高,CPU的功耗会急剧提升,主频翻倍的情况下,性能是翻倍了,但是功耗可能就是乘以3,甚至乘以4的关系。再举个英特尔的例子,英特尔自己的四核3.5G的CPU,功耗是105W,而它的八核2.4G的CPU,功耗仅有95W,制程都是22nm。可见提高主频对功耗的影响要远大于核心数的增加。

另一个办法是更换CPU架构,这个技术难度也非常高,苹果选的就是这种方法。

多核低主频的CPU,更适用于服务器,处理多任务能力强,并且省电,易于散热(英特尔18核的服务器CPU也才2.4G的主频,远低于I3的3.5G)。个人用的话,双核或者四核的高性能CPU比较合适,个人电脑和手机都适用。

关于《a7四核处理器》的介绍到此就结束了。