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

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

3天内不再提示

为什么从硬件到软件设计苹果都是自己开发?

NJ90_gh_bee81f8 来源:未知 作者:胡薇 2018-09-07 09:02 次阅读

硬件电路设计半导体技术,从操作系统从到软件商店,苹果(Apple)为iPhone及其终端产品打造了一条上下游一路垂直整合的道路。

“真正认真对待软件的人就应该自己做硬件。”(People who are really serious about software should make their own hardware.)——Alan Kay

就在苹果(Apple)即将于秋季发布会揭露下一代新款iPhone手机前夕,该公司率先写下了市值突破1兆美元的历史新页。本文将着眼于Apple的策略布局,看看他们如何透过“现代”半导体技术实现如此的成就。

为此,我们首先需要看的就是iPhone。毕竟它是定义了Apple如何迈向1兆美元里程碑之路的关键产品。当史上第一支iPhone于2007年1月9日亮相时,它的设计看起来与当时的手机典范是如此的背道而驰。

Apple前首席执行官乔布斯(Steve Jobs)形容这是一款“带有触控功能的宽屏幕iPod、一支革命性的手机,同时也是一款突破性的互联网通讯设备。”就在那一天,他还介绍了全新的操作系统:iPhoneOS,即iOS

乔布斯在2007年发布第一款iPhone时,引用了计算机图像接口先驱Alan Kay 的一句话

在2007年第一支iPhone的发布会上,乔布斯引用了计算机图像接口先驱Alan Kay 的一句话——“真正认真对待软件的人就应该自己做硬件”(People who are really serious about software should make their own hardware.)。Alan Kay的这句话究竟有什么意义?从表面上看,它掌握到Apple想要设计自家手机以及执行其新款iOS软件的动机——为用户带来与手机互动的全新方式,例如触控屏幕、虚拟键盘以及滑动执行等。

但我们当时不知道这句话也暗示Apple不久将投入更大规模的半导体开发。Apple当下就已经决定走向垂直整合道路了。

早期发展与A4芯片

Apple为什么要自行展开大规模的半导体设计?这毕竟是一项耗资庞大的工作。

他们是否能够设计出相当于其他半导体公司的IC (更不用说比其他公司更好的IC了)?当然,这风险实在太大了。

但是在2008年春,Apple宣布收购PA Semi——这是一家大部份的人都没听过的处理器IC设计公司,专注于Digital StrongARM技术。Apple表示希望进一步差异化其产品。后来,市场上还传言Apple收购了另一家处理器设计公司Intrinsity——专注于设计Hummingbird Arm-based CPU。到了2010年4月,这项收购消息也经证实了。

2010年1月27日,Apple推出了iPad以及Apple自家设计的A4 SoC。在主题演讲前一周,我曾经想到Apple可能推出平板电脑及自家芯片。我当时想到平板电脑将会需要一款介于iPhone和MacBook之间的芯片。我还问道“......如果Apple可以使用专为其装置及其应用量身打造的区块(block)来设计自家处理器,将会发生什么?”

当时,A系列以及我认为的Apple“现代”半导体开发工作已在持续进展中。

当我们观察A4后,发现它与三星(Samsung)的S5PC110有相当大程度的相似性——三星S5PC110当时是一款Arm SoC。这二款芯片都采用了一样的Arm CPU。从以下的A4芯片图来看,A4似乎并不是什么与众不同的SoC,不过,在上述收购以及公开宣传该芯片封装的2009年之间也并没有太多时间。

A4芯片图(来源:MuAnalysis)

A系列里程碑

在真正导入内部设计的SoC之后,我认为下一个重大里程碑来自A6。有了A6,Apple推出了内部设计的CPU。这可不是件容易的事。

当时,Chipworks曾经评论其芯片架构似乎是手动布局。从A6芯片图来看,它展现了Apple对于半导体开发的承诺。A7带来所谓的Secure Enclave加密装置,可用于储存和处理来自Touch ID传感器的指纹数据。在此发展过程中,Apple还整合了一个影像讯号处理器及其动作协同处理器。

A6芯片图(来源:Chipworks)

让我们快转来到2017年的A11处理器,如下芯片图所示。A11采用Apple首款内部设计的GPU及其所谓的神经引擎。二者都是重要的设计——在iPhone X发布的新闻稿中,Apple表示两款芯片都与机器学习功能有关。特别是Face ID和Animoji,据说都必须由神经引擎启动。

该芯片设计重要之处在于其包含了两个SoC区块——即GPU与神经引擎,因为这是iPhone性能与用户体验的核心。我认为GPU与神经引擎之所以如此重要,原因就在于他们对于机器学习相当有帮助。

A11芯片图(来源:TechInsights)

客制电路和垂直整合

有大量的证据显示Apple的设计实力不断增强。但Apple的设计是否如同乔布斯在推出A4时所希望地那样,能够让iPhone有别于其他的手机?

让我们以Face ID为例。

Apple可能会对于像脸部辨识等重要功能特性感兴趣,因而为此收购一家或几家公司,取得技术IP组合。有些技术将建置于软件中,其他技术则透过硬件实现,例如像神经引擎之类的区块设计。同时,如Secure Enclave等其他区块则用于处理脸部影像数据而不只是指纹数据。

多年来,Apple持续在许多主题演讲中强调软件和硬件工程师的合作协调。人们几乎可以听到团队之间的会议对话如下:

“我需要可以执行例程A和B的硬件。”

“我可以给你一大部份,但你能修改这些例程,例如使其也在我的区块中以这种方式执行吗?”

这样的合作与对话一直持续到硬件和软件建构搭配在一起。而在此过程之后,电路区块可能仅对Apple有用,但无妨,因为该半导体团队可能只有这么一家客户。

在更先进层级以及更高整合度时,可以设想实际上在晶体管级编码的特定或部份OS例程。“我可以将经常调用的计算置于晶体管中,以节省软件周期。”

没错,也许设计在某方面少了灵活性,但如果带来更大的性能提升也算是值得了。我经常思考这样的设计架构,因为它似乎算是硬件——软件整合的巅峰之作。

只为一位客户进行设计

iPhone的角色定位很清楚。它们的目的是卖给消费者并因而获得利润。

但是,半导体的角色并没那么明显,因为他们无法对外销售,也没有直接的收入。所有的半导体产品都「仅供内部使用」。但是,难道消费者购买iPhone是因为它采用了A系列处理器吗?答案当然是否定的。但是,如果没有A系列处理器,iPhone是否可能会有无法实现的功能?性能不佳?或是价格更昂贵吗?我认为答案是肯定的。

那么,让我们再次看看Face ID。

我们可以肯定地说,Face ID是iPhone X的一项重要特性。如果Apple设计SoC时未采用自家的区块,那么它就需要另外寻找合适的机器学习IP核心。它可能还需要重新考虑GPU,因为据说它可以分享一些机器学习任务。此外,Apple需要编写可在这些区块上执行的软件。而如果只有一部份进行垂直整合,那么,Apple还需要为整个SoC寻找其他供应来源,情况将会变得更加棘手。甚至在较糟的情况下,还可能需要使用辅助IC来执行机器学习,这意味着要耗费更多的电路板空间和成本。

A系列SoC能否有助于最终产品的差异化?我必须说是的。在某种程度上,这让Apple可以更专注于因应其需求与所需功能的设计。他们只为一个客户进行设计,可能会减少为了吸引许多客户而必须做出的妥协。再者,Apple也不必要设计出最佳核心,而只需设计最适合执行iOS的核心即可。Apple能够量身打造电路与区块设计,以满足其需要。

值得注意的是,Apple在此过程中采取了一些大胆的举措。当他们将主要的区块移动至自家设计时,他们将更多的责任加诸于其设计师身上。此外,尽管半导体营收是间接的,但表现不佳的A系列芯片却可能导致销售数字下滑。

展望未来

截至目前为止,我只讨论了iPhone和A系列SoC。这只是其中的一部份。

Apple已将其半导体产品组合扩展到相当多的产品中,包括在Apple Watch中使用的S系列、AirPods (和Apple Watch)的W系列,以及不断扩展的MacOS系统中所使用的T系列。这些都为Apple的产品带来各种有趣的功能特性。

如果没有W1,AirPods是否可能实现?Apple在推出AirPods时,似乎偏离了在左右声道之间插线的标准蓝牙设计。W1是否让左右声道传输到不受限制的AirPods?提到AirPods时我注意到AirPods的功能及其收购的Passif IP之间存在莫名的相似之处。我认为W1实现了差异化。

我不知道Apple在其开发实验室中打造哪些梦想,但我们从目前所使用的半导体建构模块就可以想象到一些有趣的可能性。当T1出现时,我想想它可能应用于Apple TV遥控器。现在是否有了一个从家中电视实时、安全购物的市场了?

透过垂直整合策略,Apple展现了其于半导体设计的实力,并建立了一系列有趣的半导体IP组合。可能有人会认为Apple的设计工作就像是在打造一个IP核心库,使其可用于为其最终产品带来创新功能。Apple在半导体设计的垂直整合策略,已经成为该公司各种营收来源及其生态系统的核心。半导体团队并不需要为所接触的每件事都实现最佳设计,只需要成为其客户的最佳设计者。

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

    关注

    61

    文章

    24336

    浏览量

    195508
  • 半导体技术
    +关注

    关注

    3

    文章

    237

    浏览量

    60664
  • 硬件电路
    +关注

    关注

    39

    文章

    239

    浏览量

    29182

原文标题:苹果为什么从硬到软都要自己做?

文章出处:【微信号:gh_bee81f890fc1,微信公众号:面包板社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    软件设计哲学 于延保代码改造中的实践

    》的影响,它将软件设计称为“哲学”,而哲学本身没有严格的定论,同样地,我觉得软件设计是每个开发者的理念,相同功能的迭代,往往会有不同的看法或思想,也所谓每个人的代码风格,所以本次分享不求同,只求能给大家带来一点启发。两个理念如下
    的头像 发表于 10-11 14:44 173次阅读
    <b class='flag-5'>软件设计</b>哲学 于延保代码改造中的实践

    BQ79606A-Q1软件设计参考

    电子发烧友网站提供《BQ79606A-Q1软件设计参考.pdf》资料免费下载
    发表于 09-29 10:07 1次下载
    BQ79606A-Q1<b class='flag-5'>软件设计</b>参考

    BQ79616-Q1软件设计参考

    电子发烧友网站提供《BQ79616-Q1软件设计参考.pdf》资料免费下载
    发表于 09-03 10:37 5次下载
    BQ79616-Q1<b class='flag-5'>软件设计</b>参考

    新书推荐 | TSMaster开发入门精通

    书名:TSMaster开发入门精通书号:9787302667193作者:杨金升刘矗刘功申定价:99.80元《CANoe开发入门
    的头像 发表于 08-30 12:37 308次阅读
    新书推荐 | TSMaster<b class='flag-5'>开发</b><b class='flag-5'>从</b>入门<b class='flag-5'>到</b>精通

    BQ79600-Q1软件设计参考

    电子发烧友网站提供《BQ79600-Q1软件设计参考.pdf》资料免费下载
    发表于 08-30 10:09 0次下载
    BQ79600-Q1<b class='flag-5'>软件设计</b>参考

    重磅!翘首以盼的《TSMaster开发入门精通》正式出版!

    TSMaster软件,大家翘首以盼的《TSMaster开发入门精通》书籍于8月正式出版发售!《TSMaster开发
    的头像 发表于 08-10 08:21 371次阅读
    重磅!翘首以盼的《TSMaster<b class='flag-5'>开发</b><b class='flag-5'>从</b>入门<b class='flag-5'>到</b>精通》正式出版!

    软件设计哲学:新“代码整洁之道”

    工作三年以来一直对写出设计优雅且可读性较好的代码抱有执念,最初接触到的关于代码整洁和软件设计的书是《代码整洁之道》,这本书大概在我入职半年时读完,并在很长的一段时间内将其中谈到的“每个方法只做一件事
    的头像 发表于 07-22 12:18 200次阅读
    <b class='flag-5'>软件设计</b>哲学:新“代码整洁之道”

    请问ESP-WROOM_02模组如何烧录自己开发软件

    您好,请问我们使用ESP-WROOM_02模组进行二次开发,在工厂生产时如何烧录自己开发软件
    发表于 07-19 07:23

    ESP32_DevKitc_V4开发板烧录例程以后,在苹果手机自带的蓝牙中无法搜索esp32的设备,为什么?

    硬件设备:ESP32_DevKitc_V4开发板 使用例程:gatt_server IDE:vscode IDF版本:V1.4.0 问题描述: 开发板烧录例程以后,在苹果手机自带的蓝牙
    发表于 06-17 08:03

    嵌入式硬件VS软件,到底哪个更难?

    在嵌入式系统开发中,硬件软件是密不可分的两个方面。但是,究竟是硬件开发更具挑战性,还是软件开发
    的头像 发表于 06-13 08:10 1070次阅读
    嵌入式<b class='flag-5'>硬件</b>VS<b class='flag-5'>软件</b>,到底哪个更难?

    嵌入式软件设计的原则分享

    嵌入式软件开发如果具有更好的阅读性、扩展性以及维护性,就需要考虑很多因素。今天给大家分享几个嵌入式软件设计的原则。
    发表于 02-25 10:54 606次阅读
    嵌入式<b class='flag-5'>软件设计</b>的原则分享

    嵌入式业务软件设计介绍

    业务软件设计 低功耗硬件上能够解决一部分,但单纯依靠硬件肯定是不行的,需要软件的密切配合,才能达到最好的效果。以上是
    的头像 发表于 12-07 15:09 372次阅读

    嵌入式硬件软件哪个好?

    嵌入式硬件软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看嵌入式硬件工程师吧!
    发表于 12-05 15:17

    嵌入式软件设计和单片机软件设计的区别是什么?

    嵌入式软件设计和单片机软件设计目前的应用很多,这两者有什么区别? 嵌入式主要说的什么?结构是啥!
    发表于 11-10 07:46

    软件定义汽车vECU虚拟控制器集成开发与测试

    软件定义汽车”即软件将深度参与汽车的定义、开发、验证、销售、服务等过程中,并不断改变和优化各个过程,是汽车基于
    发表于 11-09 11:49 993次阅读
    <b class='flag-5'>软件</b>定义汽车vECU虚拟控制器集成<b class='flag-5'>开发</b>与测试