Intel的东进与ARM的西征(4)--理想的星空,苹果处理器之野望
http://www.36kr.com/p/200031.html
“人生五十年,如梦亦如幻。有生斯有死,壮士何所憾?”之所以没有遗憾,是因为有了理想。
公元 1582 年,日本战国时期最著名的霸主,织田信长,吟唱着这首诗歌,于烈火中逝去。织田虽死,却留下了一支精锐无敌的火枪兵队。几年后,其家臣,羽柴秀吉凭此统一日本全境。
公元 2011 年,科技时代的盟主乔布斯离世。在他留下的宝藏里,以 A 字冠名的 CPU 成为移动领域里最强的利器。数月之后,苹果公司在新领袖库克的率领下,市值攀上世界的巅峰。
可又有谁知道,在那些苍翠的路上,他们历遍了多少创伤 [1]?苹果对于掌控顶尖处理器的渴望由来已久,这种带着伤痕的渴望起源于自己在八十年代后期于 PC 战场上被 Wintel 联盟打得一败涂地。Windows 抄袭了 Mac 的界面,乔布斯还可以用起诉来对付,但眼看着无论是采用摩托的 68K 处理器,还是采用 IBM 的 PowerPC 处理器,都被 Intel 的奔腾拉开了好几个档次。这个难题,可不是让律师们吵吵架就能解决掉的。
1990 年 ARM 公司在英国成立,苹果参股其中,正式拉开了进军移动处理器的大幕。虽然在 2006 年的时候,苹果宣布 Mac 电脑全线采用 Intel 的 CPU,但千万不要低估了苹果在处理器上的壮志雄心。次年,苹果推出划时代的 iPhone,在前三代里均采用三星设计的 ARM 处理器,但此时的苹果已经悄悄开始了自行设计处理器的计划。
2008 年,苹果收购 PA Semi,并立刻购买 ARM 的架构级授权(Architecture License)[2],开始着手设计一款拥有全新微架构(Microarchitecture)的 CPU。2010 年,微架构的前端设计完毕。同年,苹果收购拥有丰富后端设计经验的公司 Instrinsity,开始了长达一年的处理器后端设计。2012 年 iPhone5 问世,冠绝天下,所使用的正是这款耗时四年,名字叫做 A6 的处理器。
当一众黑客黑掉 A6,看到其中的布线结构时,完全震精了:这简直是一款近乎“纯手工”打造的 CPU!
“纯手工”,这是一个怎样的概念?在如今这个集成度肆意飚升的年代里,单个芯片上集成数亿个晶体管早已屡见不鲜,靠手工来布线是个几乎不可能的任务,所有的设计都是在 EDA(电子设计自动化)工具的辅助下完成。当然,在芯片设计的后端,设计师们也会再用手工做出布局上的少量调整,工作量一般在 3~6 个月。
然而!然而!苹果竟耗费大量的设计师和大把的光阴来“纯手工”优化后端设计,仅在布线上就花了整整一年的时间!还请不要忘记,苹果的设计师们本已是以一当十的高手了。为了推出这款登峰造极的产品,真不知,乔布斯和他的苹果究竟有着多大的理想与雄心,而又付出了多少的辛苦与努力?
时光仿佛回到了 1953 年,我正站在威斯敏斯特教堂里,看那加冕中的伊丽莎白女王,风采迷人,芳华绝代 [3]。而她的身上正披着一件由数名设计师,耗时 16 个月,纯手工制成的登基礼服。唯有如此,才配得上四个字:完美无缺。
乔布斯的理想也是如此的完美无缺,因其追索求达之艰难,才成为亘古永恒的不朽。当我们这些俗人,慢慢长大,习惯了唱着“背弃理想,谁人都可以 [4]”的时候,又是否会在某个夜晚倏然醒来,仰望那片没有了理想的星空,而轻轻哭泣。
[1] 此句改编自 Beyond《大地》。
[2] ARM 提供两种授权方案:应用授权(Implementation License)和架构授权(Architecture License)。架构授权是更高更抽象的授权,对设计能力的要求也最高。获权厂商会重新定义整个内核的微架构(Microarchitecture),如果足够强悍的话,设计出来的处理器在性能上甚至会超越 ARM 公司本身所提供的处理器。苹果,高通,三星都是在架构授权的基础上,自行开发的处理器。
[3] 1953 年,伊丽莎白二世,在 Westminster Abbey,正式加冕英联邦女王。
[4] 此句出自 Beyond《海阔天空》。
Intel的东进与ARM的西征(4)--理想的星空,苹果处理器之野望的更多相关文章
- Intel的东进与ARM的西征(5)--智慧的大窗口,我们都在画里面
http://www.36kr.com/p/200168.html 繁华又算得了什么,不过是星尘的崩碎,那一抹青青的灰.公元 79 年,意大利维苏威火山喷发,已然兴盛了 600 年的庞贝古城被完全湮没 ...
- 芯片史称:“长平之战”----Intel的东进与ARM的西征(3)--人生如戏,全靠演技
http://www.36kr.com/p/177143.html 从 2003 年到 2008 年,处理器双雄 Intel 和 AMD 在 64 位 CPU 领域展开了一场长达五年,极为惨烈的科技战 ...
- ARM、Intel、MIPS处理器啥区别?看完全懂了
安卓支持三类处理器(CPU):ARM.Intel和MIPS.ARM无疑被使用得最为广泛.Intel因为普及于台式机和服务器而被人们所熟知,然而对移动行业影响力相对较小.MIPS在32位和64位嵌入式领 ...
- ARM、Intel、MIPS处理器啥区别?看完全懂了【转】
转自:http://news.mydrivers.com/1/472/472317.htm 安卓支持三类处理器(CPU):ARM.Intel和MIPS.ARM无疑被使用得最为广泛.Intel因为普及于 ...
- [转帖]从Intel和ARM争霸,谈芯片前世今生
从Intel和ARM争霸,谈芯片前世今生 http://www.itpub.net/2019/07/24/2476/ 长文预警, 写的非常好.. 我尽量写得轻松一些,因为其实这个话题很有趣,仔细探究起 ...
- ARM与x86之3--蝶变ARM
http://blog.sina.com.cn/s/blog_6472c4cc0100lqr8.html 蝶变ARM 1929年开始的经济大萧条,改变了世界格局.前苏联的风景独好,使得相当多的人选择了 ...
- ARM处理器:开放者的逆袭
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 1981年,英国BBC电视台策划了一系列关于计算机的电视节目.但导演发现一个问题:怎么给没见过电脑的观众画 ...
- 【转】ARM vs X86 – Key differences explained!
原文:http://www.androidauthority.com/arm-vs-x86-key-differences-explained-568718/ Android supports 3 d ...
- ARM与X86 CPU架构对比区别
CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言 ...
随机推荐
- 面试准备——redis
https://blog.csdn.net/yangzhong0808/article/details/81196472 http://www.imooc.com/article/36399 http ...
- x86 保护方式 简介 一
80386 三种工作方式 实模式 保护模式和虚拟86模式 只有在保护方式下 全部32条地址线才有效 可以寻址高达4g字节的物理地址空间 超过1m的内存空间 被成为扩展的内存空 ...
- numpy之flatnonzero函数
Return indices that are non-zero in the flattened version of a. This is equivalent to a.ravel().nonz ...
- 2017 ACM/ICPC Asia Regional Qingdao Online
Apple Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submi ...
- hdu 1536 sg (dfs实现)
S-Nim Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 在VS2017中编写Python程序
最近开始了python的学习,在搭建完python环境之后,在选择IDE的时候陷入了困境,首先选择的是PyCharm但是用着还是不习惯,毕竟用VS开发了几年了,突然换软件总感觉有点不适应,就想到了强大 ...
- 【Luogu】P2422良好的感觉(单调栈)
题目链接 写代码能力需要极大提升.我在五分钟之内想到了单调栈,然后花了一个小时的时间去看我单调队列为啥写错了…… 首先这题需要转换自己的思维.枚举所有“最小点”,然后看它往左往右最大能扩展多少. 维护 ...
- 【2018.8.10】四连测day4 题解
T1:给出一棵 $n$ 个节点的无根树,其中 $m$ 个节点是特殊节点,求对于任意 $i ∈ [0, m]$,包含 $i$ 个特殊节点的联通块个数$\mod 998244353$. $1<=n, ...
- [C/C++] 结构体内存对齐用法
一.为什么要内存对齐 经过内存对齐之后,CPU的内存访问速度大大提升; 内存空间按照byte划分,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内 ...
- Java 模板权重随机
Template templates=...// 所有的模板 final int _weights=1000; // 所有的模板权重 Template _template=null; //随机一个权重 ...