为什么苹果的芯片这么强?

为什么苹果的芯片这么强?,第1张

苹果自研芯片不是昨天才开始,算起来已经有差不多10年的布局,不仅在产业中有大量的投资,还挖来了许多行业的专家。

2010年,苹果以1.21亿美元收购了美国德州半导体逻辑设计公司Intrinsity,专注于设计较少晶体管、低能耗同时具备高性能的处理器。

2013年8月1日,苹果收购了成立于2007年的加州半导体公司Passif Semiconductor,其专长于低功耗无线通讯芯片。

2015年底,苹果再次斥资1820万美元,收购了一间位于加州圣何塞北部的面积7万平方英尺(6500平方米)的芯片制造工厂。这座工厂原属于芯片制造商Maxim Integrated Products,其设施包括了芯片制造工具,而且工厂地址靠近三星半导体公司。

苹果的自研芯片之路

苹果从乔布斯时代就一直遵循着这样的理念——苹果应该拥有自己的半导体技术,而非依赖于其他的芯片制造商,诸如三星、英特尔和 Imagination Technologies 的零部件混搭。

图/由Bloomberg整理

到今天为止,苹果公司已经推出了13款A系列处理器——从最初的iPad的A4芯片,到如今其自研芯片被广泛应用于iPhone、iPad、Apple Watch、Apple TV等全产品线中。而在2017年发布的A11 Bionic 芯片,因具备6核64位CPU,让其集成了更高的CPU能力。

根据苹果芯片业务负责人Johny Srouji的说法,对于每一代芯片, 苹果一般从3年前就开始着手架构设计 ,也就说去年发布的A11 Bionic芯片早在2014年间就进行开发工作。Johny Srouji本人在2008年就加盟苹果,负责位管理位于美国加州和以及以色列的芯片制造和测试团队(有好几百号人)。

除了自建团队以外,苹果也一直从高通挖人,2017年6月高通核心通信芯片主管Esin Terzioglu加盟苹果。

以往苹果基带订单由高通(Qualcomm)通吃,后来因为技术专利费的事情掐起来了以后引入了英特尔(Intel)成为高通以外的第二供应商,而苹果的最终目的是能够在未来自行研发基带芯片,把手机、电脑等所有需要用到的芯片的设计和制造核心能力都掌握在自己手里。

从目前的趋势来看,苹果芯片自研的程度会越来越高,芯片的实力也会越来越强。

苹果每一款产品内部都装着一颗主宰一切的“大脑”,你所使用的任何应用都要经过它的处理。事实上,这枚小小的芯片,是一门在指尖打造出一座城市的手艺。 在苹果芯片世界,有一位幕后 *** 刀手,或许你从未听说过,但他的重要性却不容置疑,甚至不逊色于任何一位苹果高管。

他的名字叫约翰尼斯洛基(JohnySrouji),在苹果公司内部的硬件技术部门担任高级副总裁,掌管苹果的处理芯片团队。

也就是说,iPhone、iPad、AppleTV、AppleWatch等产品的中央处理器,都是在Srouji的带领下完成设计的。如果说乔纳森(苹果软硬件产品的首席设计师)为众多苹果产品带来了精致的外形设计,那么Srouji和他的团队就是控制这些产品的“大脑”。

自从在2008年加入苹果公司之后,Srouji一直都保持着低调。但随着苹果芯片的信息逐渐为外人所知,这位技术天才也开始出现在聚光灯之下了。

美国知名 科技 博客Mashable在苹果发布会后24小时邀请到苹果IC设计团队总监、硬件 科技 资深副总裁JohnySrouji一揭A11Bionic芯片的开发背后的秘密。

在被问到A11Bionic芯片是何时开始着手开发的?Srouji给出的答案令人咋舌。他表示,苹果着手架构芯片,一般从3年前就开始。这意味着A11Bionic芯片早在2014年间就进行开发工作了,而当时苹果还忙着出货内建A8芯片的iPhone 6。

值得注意的是,2014年时,少有在手机层次上讨论AI和机器学习任务的议题,然当时,苹果在架构芯片开发之际,已经押宝手机SoC内嵌NeuralEngine(神经引擎)了。

为什么说苹果早在3年前就押宝iPhone手机SoC内嵌神经引擎、用来执行AI运算任务,这件事让人另眼相看?

要知道,包括AI在内的这些先进演算法,例如Siri,通常系在云端上执行高阶演算,因此,在用户端便需要有网络连结。然而,iPhone X将AI技术导入手机里,显然是想避免把用户个人资料送出手机、送到云端,但iPhone X的AI应用如果想要在手机层次、而非云端层次上执行的话,这也可以解释对于强大运算芯片的需求,因此设计了A11Bionic处理器上的一对核心。

关于芯片研究,苹果从A4到A11的开发过程中,其实并非每一次都是从零开始的。苹果在开发每一代的芯片时,都会先检视前一代的架构,然后再决定到底是要据此改善、还是重新开始。

由自家的工程师来设计处理器,苹果可以完美的将硬件和软件进行优化和结合,同时还可以对处理速度以及电池续航能力进行掌控。

在如今的手机芯片设计行业,苹果的战略布局可以算是非常长久了,从2007年第一代iPhone上市起,苹果就意识到芯片自主研发的重要性,收购了好几家芯片公司,并通过高薪挖来各路芯片设计大师来为苹果设计专属芯片(毕竟苹果有钱啊),于是借助强大的研发团队,苹果自主芯片一路狂奔,从A4到如今的A11,性能往往都是领先于同行旗舰芯片的。

如果苹果只是买来ARM授权,用ARM的公版架构是无论如何也达不到如今的性能水平的, 苹果A系列芯片的强大来源于高效的设计理念和先进的工艺,苹果不像高通等芯片厂商那样需要多核心来提升性能和销量,因为自产自用,而且成本空间更大,苹果的芯片非常注重单核性能,借助更大的缓存和更大面积的核心,苹果每一代芯片几乎能把单核性能发挥到极致,以更少的核心数量打赢核心数量多一倍的芯片。

这样做自然是有代价的,就是大缓存+大核心+高频率可能会带来更大的能耗和面积,除了设计师的架构优化以外,这就要求苹果每一代芯片必须采用当时最先进的生产工艺,A11就采用了最先进的10nm工艺,当然越先进的工艺价格越贵,不过对于苹果来说,这点钱不算事, 因为这颗芯片所驱动的iPhone等设备就是苹果的印钞机。

所以苹果芯片设计的侧重点和高通、联发科等厂商是不同的,主要就在于单核效率和核心数量上的差别,其实也不能说谁更好,但是源于目前手机软件对多核CPU的优化程度而言,苹果芯片少核+高效的设计理念仍会在很长时间内占据优势。

苹果芯片强大的另外一个关键就在于“因地制宜” ,苹果围绕封闭的IOS系统打造专属芯片拥有得天独厚的优势,IOS的多任务理念和安卓不同,所以没有必要堆太多的核心数量,而需要把尽可能多的计算资源投入到当前任务中,我们经常看到同一个应用,在iPhone上运行速度往往更快、更流畅,因为处理器设计需要非常多的精力投入在功能验证和性能优化上,如果设备和系统相对单一,那样就能保证芯片的优化方向更加明确,研发团队也能形成合力,这也是IPhone往往比同期的安卓旗舰手机使用寿命更长的原因所在(安卓手机的碎片化太严重了)。

不过苹果的芯片也并非全都是自主研发,比如基带还是依靠高通,今后可能会和英特尔合作,重要的GPU部分也已经开始完全自研,取消了和Imagination的合作,预计未来的苹果芯片自主化程度还会更高。

总之苹果芯片能做到这么强,就是由于其资金+人才+生态系统共同促成的,当然也离不开乔布斯当年长远的战略眼光,把芯片自主研发从一开始就摆到了极其重要的位置。

不是它强,是他系统优化匹配的好. 安卓四核CPU 2G运存时 苹果才双核 1G

运存不到,,安卓开源的配置太杂无法优化的好,而苹果封闭就是量身定制, 系统CPU 都是定向优化的,如果那天安卓也统一配CPU型号 统一零部件,安卓也可以做的强,典型的Windows phone系统封闭的一样很流畅

为什么苹果的芯片这么强?

这是很多人都不明白的点,去年的手机新款iPad Pro直接用上了A12Z,性能堪比很多英特尔芯片的笔记本。今年苹果更疯狂,宣布要用ARM架构替代已有的X86架构,换句话说,以后的苹果笔记本、iMac都是用A系列芯片,并且用A12Z跑了古墓丽影这样的大型 游戏 ,不得不说苹果的芯片实力真的牛逼。

第一、苹果有世界一流的硬件团队

苹果的芯片团队有多牛?前ARM首席架构师在去年都入职了苹果,担任苹果芯片的研发。这位架构师何许人也?那就是Arm首席CPU架构师Mike Filippo,他是Cortex A57/A72/A76三代CPU大核设计者,同时也是已经规划和开发中的Hercules(第三代A76)、Ares和Zeus CPU的首席架构师。前面的不说,就说这A76,去年的骁龙855、麒麟980,和今年的麒麟990都是基于A76架构的。

并且这还是今年才加入的架构师,之前苹果自己的团队就已经足够强大了,看看A12、A13、A12Z,哪一款芯片不是独角兽级的。我想Mike加入苹果,也是苹果今年宣布转向ARM架构的底气所在。

第二、苹果有足够的时间、足够的资金、足够的技术储备来发展芯片

苹果每一代产品都是提前三年开始规划,由此可见苹果有多恐怖了,再看看国内市场,很多手机都是半年左右就立项拍板生产,但苹果三年前就在设计产品了,这其中就包括芯片,其有足够的时间来调教优化,甚至从系统层面就就开始适配,这就是优势所在。

另外,苹果背靠硅谷,是全球的 科技 中心,有人才,有技术,即使是供应链,也是全球最顶级。三星、台积电等都为苹果代工芯片,再结合苹果自研架构,这种优势就被放大了。

说到底,苹果芯片强大的原因就是单核实力强,单核相当于芯片的顶梁柱。如果把芯片看成一个球队,那大核就是这个球队的绝对核心,就跟前两年的詹姆斯一样,一人之力就可以夺冠。A系列芯片一样有这种恐怖实力,领先两三年的高通、海思芯片不在话下(单核)。

当然,部分消费者认为苹果芯片实力强的原因是芯片单元面积大,且没有集成基带,这是一种取巧的做法。不管这是苹果技术储备不够,还是讨巧的做法。但结果是不会骗人的,实力确实提升了。高通、海思、联发科不服气一样可以采用同样的方法,加大芯片面积。但目前没有厂家这样做,这说明还是有一定难度的,当年的联发科堆核心不就翻车了吗,所以这芯片没有想象的那么简单!

我一直强调,苹果产品做得好,耐用,但价格贵、利润高也是事实!不过论芯片实力,苹果是真强,这一点不得不承认。

首先,苹果芯片设计能力很强大,这是基础;

其次,苹果芯片牺牲了基带的位置,换去大面积的CPU。

苹果的芯片设计实力

苹果的芯片设计,可以说是直接挖走了很多大牛和专家,所以不要以为苹果没有研发的实力。

苹果的芯片研发大牛都是行业里顶级的存在。

虽然苹果的芯片是从ARM那里买架构,然后回来自己修改架构的。但是苹果的修改能力有点强。大家记得iPhone5S吗?iPhone5S是第一个支持64位的手机,芯片也是移动芯片中首个采用64位的处理器,直接倒逼当时不是64位的ARM推出64位的架构。

可想而知当时的苹果有多强大。芯片设计能力也是杠杠滴!

牺牲了基带,换来巨大的CPU面积

最近,iPhoneXs Max的信号差是不是刷屏了?为什么差?很大程度是因为采用性能差的外挂基带,同时因为全面屏的缘故导致天线设计出现问题,因此导致信号差。

本来,芯片是应该配备基带芯片的。但是苹果并没有相关的技术和专利,所以苹果的A系列并没有配备基带芯片。而这个空间就被CPU利用了,使得CPU的面积极大,容纳了更多的晶体管。所以A系列的芯片性能很强。

【苹果芯片为什么这么强呢?你知道苹果最早的处理器是三星的嘛】

苹果最早的处理器使用的是三星处理器,对于苹果来说,它的可能是受限于三星处理器的缘故,因此还是走上了自己研发处理器的步伐。没有想到的是,苹果的A处理器能够一飞冲天,达到目前顶级处理器的步伐。

从iphone 4使用A4处理器开始,到现在的A13处理器,可谓是颇有优势的。我们也知道A4使用了45nm工艺制程,并且在GPU方面使用的是PowerVR SGX 535,性能方面确实让人认可。

在苹果的A系列中,有太多划时代的处理器,比如说我们知道的A7处理器打开了64位的大门;在A11处理器中,你见到了当时最耀眼的星,使用台积电10nm工艺,并且使用了43亿个晶体管;首次搭载神经网络引擎,采用双核设计,每秒运算次数高达6000亿次。

在这里,A11处理器基本上是高度的自研,从CPU,GPU,ISP等等,A11的优势几乎都在不断打破我们的设想。

所以,A处理器强,确实在于苹果的自己研究的优势,每一代的进步。但是,我认为苹果A处理器强还有这些原因:

1.苹果处理器它在手机内部并没有搭载基带,没有基带的加入,实际上对于处理器来说,优势还是相对较大,因为会有更多的空间去排布CPU和GPU。

2.苹果本身的ios系统和苹果的处理器能够相互融合,更好的突出手机处理器的性能,也更好的能够提升手机整体的优势,让苹果A处理器表现更强。

苹果从4位处理器开始开发处理器,跟inter,amd摩托罗拉等cpu制造商竞争直到十几年前斗不过了才退出桌面处理器市场,手机芯片市场的进入对做过复杂指令集处理器的苹果来说,做精简指令集处理器没有啥难度,领先对手跟玩一样,其他厂家都没有苹果资深。三星靠加工芯片起步,更没法比。

苹果手机芯片当年是通过收购P.A.semi获得,这个公司坚持了认为双核处理器就足以满足手机对性能的要求,毕竟手机运行多线程场景不多。

安卓市场的高通和联发科则走了另一个路子,特别是联发科当年在性能落后于高通的情况下以多核战术杀开一条血路,最终迫使高通跟进,于是安卓市场的手机处理器开始走上多核发展的道路,在处理器性能研发上逐渐与苹果拉开差距。

当然如今苹果希望增强手机处理器的多核性能也开始追求多核,不过苹果在手机处理器的单核性能上积累了技术还是让它继续在手机处理器上占据优势。

另外一个是,手机处理器性能测试软件Geekbench有偏爱苹果处理器的“传统”,特别是在Geekbench4上更加偏向苹果,在Geekbench3上高通处理器与苹果处理器的性能差距其实并没有今天的数据那么大。

现今为止,因为有美帝独裁政府的大力支持,所以苹果芯片很强,但是,一旦美帝崩盘,苹果芯片的强势会很快终结。

今天针对apache 2.0.55的web服务器进行了一次并发的测试.使用的测试工具就是ab .

这个软件就是apache自己带的软件全名叫- Apache HTTP server benchmarking tool.

这次测试的主要目的就是看在加入了modsecurity后.对系统和页面的影响.

测试设备:

[root@ apache2]# cat /proc/cpuinfo

processor : 0

vendor_id : GenuineIntel

cpu family : 15

model : 2

model name : Intel(R) Xeon(TM) CPU 2.40GHz

stepping: 9

cpu MHz : 2392.090

cache size : 512 KB

physical id : 0

siblings: 2

runqueue: 0

fdiv_bug: no

hlt_bug : no

f00f_bug: no

coma_bug: no

fpu : yes

fpu_exception : yes

cpuid level : 2

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm

bogomips: 4771.02

processor : 1

vendor_id : GenuineIntel

cpu family : 15

model : 2

model name : Intel(R) Xeon(TM) CPU 2.40GHz

stepping: 9

cpu MHz : 2392.090

cache size : 512 KB

physical id : 0

siblings: 2

runqueue: 0

fdiv_bug: no

hlt_bug : no

f00f_bug: no

coma_bug: no

fpu : yes

fpu_exception : yes

cpuid level : 2

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm

bogomips: 4771.02

processor : 2

vendor_id : GenuineIntel

cpu family : 15

model : 2

model name : Intel(R) Xeon(TM) CPU 2.40GHz

stepping: 9

cpu MHz : 2392.090

cache size : 512 KB

physical id : 3

siblings: 2

runqueue: 2

fdiv_bug: no

hlt_bug : no

f00f_bug: no

coma_bug: no

fpu : yes

fpu_exception : yes

cpuid level : 2

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm

bogomips: 4771.02

processor : 3

vendor_id : GenuineIntel

cpu family : 15

model : 2

model name : Intel(R) Xeon(TM) CPU 2.40GHz

stepping: 9

cpu MHz : 2392.090

cache size : 512 KB

physical id : 3

siblings: 2

runqueue: 2

fdiv_bug: no

hlt_bug : no

f00f_bug: no

coma_bug: no

fpu : yes

fpu_exception : yes

cpuid level : 2

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm

bogomips: 4771.02

[root@ apache2]#

[root@ proc]# cat meminfo

total:used:free: shared: buffers: cached:

Mem: 1049460736 974082048 753786880 144801792 554790912

Swap: 2097434624 159117312 1938317312

MemTotal: 1024864 kB

MemFree: 73612 kB

MemShared: 0 kB

Buffers:141408 kB

Cached: 519308 kB

SwapCached: 22480 kB

Active: 578528 kB

ActiveAnon: 390320 kB

ActiveCache:188208 kB

Inact_dirty:114164 kB

Inact_laundry: 19136 kB

Inact_clean: 15672 kB

Inact_target: 145500 kB

HighTotal: 130496 kB

HighFree:25924 kB

LowTotal: 894368 kB

LowFree: 47688 kB

SwapTotal: 2048276 kB

SwapFree: 1892888 kB

CommitLimit: 2560708 kB

Committed_AS: 1342084 kB

HugePages_Total: 0

HugePages_Free: 0

Hugepagesize: 2048 kB

[root@ proc]#

测试命令以及方法:

事先关闭modsecurity 模块.然后执行下面语句:

[root@ bin]# ab -n 10000 -c 1000 \ 127.0.0.1:80/5/index.php?customerid=1%20or%20customerid=2

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.1 $>apache-2.0

Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)

Completed 1000 requests

Completed 2000 requests

Completed 3000 requests

Completed 4000 requests

Completed 5000 requests

Completed 6000 requests

Completed 7000 requests

Completed 8000 requests

Completed 9000 requests

Finished 10000 requests

Server Software:Apache/2.0.55

Server Hostname:127.0.0.1

Server Port:80

Document Path: /5/index.php?customerid=1%20or%20customerid=2

Document Length:44 bytes

Concurrency Level: 1000

Time taken for tests: 149.2233 seconds

Complete requests: 10000

Failed requests:716

(Connect: 0, Length: 716, Exceptions: 0)

Write errors: 0

Total transferred: 2456828 bytes

HTML transferred: 606112 bytes

Requests per second:67.11 [#/sec] (mean)

Time per request: 14900.223 [ms] (mean)

Time per request: 14.900 [ms] (mean, across all concurrent requests)

Transfer rate: 16.10 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect:0 14 209.1 03000

Processing:72 13764 3053.4 15179 21170

Waiting: 34 8258 3933.4 9105 21136

Total: 72 13779 3052.1 15179 21170

Percentage of the requests served within a certain time (ms)

50% 15179

66% 15187

75% 15190

80% 15195

90% 15209

95% 15219

98% 18171

99% 21152

100% 21170 (longest request)

[root@ bin]#

加入modsecurity 后进行的测试:

[root@ bin]# ab -n 10000 -c 10000 \ 127.0.0.1:80/5/index.php?customerid=1%20or%20customerid=2

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.1 $>apache-2.0

Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)

socket: Too many open files (24)

[root@yjjgdb bin]# ab -n 10000 -c 1000 127.0.0.1:80/5/index.php?customerid=1%20or%20customerid=2

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.1 $>apache-2.0

Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)

Completed 1000 requests

Completed 2000 requests

Completed 3000 requests

Completed 4000 requests

Completed 5000 requests

Completed 6000 requests

Completed 7000 requests

Completed 8000 requests

Completed 9000 requests

Finished 10000 requests

Server Software:Apache/2.0.55

Server Hostname:127.0.0.1

Server Port:80

Document Path: /5/index.php?customerid=1%20or%20customerid=2

Document Length:44 bytes

Concurrency Level: 1000

Time taken for tests: 143.486268 seconds

Complete requests: 10000

Failed requests:813

(Connect: 0, Length: 813, Exceptions: 0)

Write errors: 0

Total transferred: 2479429 bytes

HTML transferred: 628616 bytes

Requests per second:69.69 [#/sec] (mean)

Time per request: 14348.627 [ms] (mean)

Time per request: 14.349 [ms] (mean, across all concurrent requests)

Transfer rate: 16.87 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect:0 14 204.8 02999

Processing:91 13726 2907.0 15220 18185

Waiting: 39 8043 3939.4 9106 15250

Total: 91 13740 2904.5 15220 18253

Percentage of the requests served within a certain time (ms)

50% 15220

66% 15236

75% 15241

80% 15245

90% 15261

95% 15269

98% 15292

99% 15297

100% 18253 (longest request)

[root@ bin]#

从上面的数据来看基本上是没有太多的区别.这个结果叫我感觉非常满意.能够叫我有更坚定的信心来写完这个文档了:)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/7402191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存