Apple yes ?


  • M1晶元会出现在组装机市场吗?
  • M1晶元会搭载Windows系统吗?
  • M1晶元会进军伺服器领域吗?
  • M1晶元会出现在5000元以下笔记本上吗?

都不会!所以M1晶元发布后,intel和AMD的晶元没有太大影响,真正对intel和AMD可以产生影响的是高通和微软,对intel威胁最大的是AMD,让intel晶元降价的也是AMD。下面具体说说:

在说这个问题前,我们要看一下Intel和AMD的主要业务是什么以及苹果M1改变了什么,因为AMD的规模和业务覆盖不如intel,所以我们分析下intel,看一下最新的2020年第三季的财报:

可以看出来,CCG的占比达到54%,收入还提高了1%,财报里有一句话很有趣「intel推出了世界上最适合轻薄本的处理器」,

In the third quarter, Intel launched the world』s best processor for thin and light laptops, 11th Gen Intel? Core? processors with Intel? Iris? Xe graphics (formerly known as "Tiger Lake").

CCG占整个Intel收入的54%,这部分是跟苹果M1晶元有关的,其它的DCG、IOTG等都不受影响,首先可以肯定的是损失了苹果笔记本的不少订单,其它潜在的影响是一些PC用户向用M1晶元的苹果产品的转换,当然最大敌人依然是AMD。

下面我们看看苹果M1最大的转变是什么,我们先来看一张iFixit 对MBP的拆解图,如下所示:

  • 红色:Intel酷睿i7-9750H 处理器
  • 橙色:16颗 美光 MT40A1G8SA-075 8 Gb DDR4 SDRAM(一共16 GB)
  • 黄色:AMD Radeon Pro 5300显卡
  • 绿色:4颗 三星 K4Z80325BC-HC14 8 Gb GDDR6 RAM(4GB显存)
  • 蓝色:苹果 T2 APL1027 339S00536协处理器
  • 紫色:Intel JHL7540雷雳3控制器

M1做的事情首先把这些打包到一起了,CPU、GPU,Neural Engine(原来没有)以及其它的IP单元,比如HDR video 处理器,HDR imaging 处理器,USB控制器等通过Fabric汇流排与DRAM和连接。与传统的Intel/AMD的处理器相比,M1是一个真正的SoC晶元,这种高集成度注定只适合笔记本领域,即便Intel/AMD以后这样做也是如此,因为这样做GPU无法升级,内存无法升级,

M1与内存封装在一起,优点就是速度更快,缺点是没法扩展,考虑到目前的产品16GB可能还够用,但是如果要用在更要求性能的机器上应该很多人不够用。同样的道理SoC集成了很多的IP核,在做相应的处理运算的时候会很高效,比传统的CPU/GPU处理可能高几十倍,我想M1做一些视频处理也会很高效,但是这种asic固化的方式也是写死的,有新的框架之类的效率可能会降低。

当然,跟这些比起来,intel的老朋友微软才是最大的关键,苹果有勇气抛弃Intel,跟自己掌握操作系统有特别大的关系,甚至苹果从编程语言,IDE、编译工具都有把控力。Wintel是过去几十年微软和Intel成功的关键,虽然Windows on arm现在就有,但是并不是很用心,跟高通勾勾搭搭说不清但是还是不够重视。就怕苹果M1的成功刺激到微软了,贴了心要把高通明媒正娶当正房。

说到这里非常可惜,我原来用过华为出的一款本子,是骁龙处理器+WIN10,基本应用都能跑,就是效率不高,本来按这个发展节奏作为苹果的好学生华为很可能也会推出类似的麒麟晶元往笔记本上弄,结果。。。

https://zhuanlan.zhihu.com/p/69942126?

zhuanlan.zhihu.com图标

虽然说M1晶元暂时不会对intel和AMD产生影响,但是这款晶元的出现已经开始对行业产生影响了,对于有视频剪辑需求以及MBA用户而言是真香。

说到真香,我看了一眼,拼多多百亿补贴中已经有搭载M1晶元的MBA了,补贴700,注意!选百亿补贴的。

Apple/苹果2020款MacbookAir 13.3英寸M1自研晶元,实力拚多多拼团价¥ 9299.00去购买?

8+256GB的到7499了,不过暂时被抢完了,拼爹爹!


可笑,某些所谓的果粉对Apple的自我定位毫无意识,苹果永远不会为了统治市场而推出5000块就能获得正常体验的M1设备(二手、教育优惠、老款设备等不计于此内,体验不正常的笔记本可以参考19年还在卖的老款Air和微软的低配SLG),在笔记本市场的冲击力有限,对品牌机、组装机、伺服器、政采、企采的冲击更是个笑话。

如果A/I死了,一定是因为出现了一个高度开放、具有极强兼容性的新架构,而不是处于封闭回环的苹果M1,WP、塞班、MeeGo等等被淘汰的直接原因是安卓,从来不是iOS。

Apple从iPhone以来就致力于做一家小(用户数量)而精(用户质量)的公司,苹果看重的是消费能力高、愿意通过高价来降低学习成本获得良好体验的用户。

十多年来,总有人觉得Apple出个Soc不变、模具不变的简配版廉价款iPhone就能横扫手机市场,但苹果从来没有这么做过,因为压缩利润空间抢占市场永远不在苹果的考虑范围内,哪怕是横扫当年市场的AirPods,也绝对不是靠低价来统治市场的。在五百元以下价位被其它TWS分食时,苹果依然没有推出任何低价产品进行反击,那不是苹果的定位。

彻底让诺基亚死了的是安卓,从来不是苹果,总有人搞不清什么是直接原因。

抛开品牌不谈,所有说ARM在近两年完全替代X86的一概是纯小白,对当今的工业体系结构没有一点点认识。

多少工厂的控制系统软体还只能运行在WindowsXP/7上,晶元设计相关的软体有几个是ARM处理器能运行的?

大可以问问苹果,设计M1的时候用的EDA软体是跑在什么架构上的?

搞得好像生活日用/视频剪辑/办公软体就是Windows和X86的全部

MacBook Air M1 8+512已经拿到了,我可以肯定地说这货目前还只是个玩具,虽然是个近乎完美的大玩具,但也不至于整天就颠覆就沸腾的,脱离罗塞塔几乎无法正常使用,全面的适配估计至少要一年,非一日之功

MacBook Air with M1用Rosetta2转译的性能都远超上代Air,轻量办公的体验堪称独步天下


简单点说,苹果吃肉,但只吃最好的那部分,已经够他吃饱了;剩下的肉和汤归其他企业抢了,比如Google带领的小伙伴;被抢掉肉的是微软和intel,AMD现在可以抢intel的肉,再以后也可能被其他家抢。苹果在其中最大的作用是:弟兄们,这块肉我们也可以吃,我尝过了,大家上!

=========================

出现一个苹果不可怕,要担心的是Google带领一群小伙伴也进来分杯羮,这对WinTel联盟影响更大。如十年前智能手机革命一样,开启先河的是苹果的iPhone,但把诺基亚打倒在地再踩上一脚的是Google的安卓系统,及伙伴三星/HTC,小米趁世而起,华为手机雄起还在后面。

世界上只有一个苹果,能一家做出三大件:CPU/OS/笔记本产品,并有机整合在一起;但苹果家产品一向定位偏高,能在市场上占据二成多,已经是相当大的比例了。其它厂商里有这能力和意愿进行联合整合的,并不多:微软ARM版surface算先行者,但表现乏善可陈;Intel自然没这动力。高通的ARM CPU算一个,系统这块还是要Google来推(ChromeBook偏向于上网本,性能严重不足),产品方一线二线的想做的应该还不少,比如华硕宏基应该会蠢蠢欲动。

所以接下来的组合是:高通把骁龙CPU改一改,多整点大核提高性能;Google在多年玩OS的基础上,再推出个操作系统来,多提高下机器本地性能;产品方如华硕宏基的,把自家上网本的经验拿出来,做出二三千块售价的产品来,说不定这次能成呢?然后一大波其它厂商也跟著进来。那时WinTel联盟才危险了。


大家看看评测视频乐一下得了,这事没那么复杂。

我想用M1 ----&> 我就必须得买台苹果电脑;因为M1只有苹果电脑里有。

但是买电脑不是这个逻辑。

因为我买电脑的原因不是要用某个处理器啊,我要买台电脑,要么用来干活,要么用来娱乐,或者干活娱乐两不误,对不对,所以是我对这台电脑的要求,决定了我买台怎么样的电脑。

所以我买电脑前就已经知道我要用这台电脑来干啥了吧,如果我要用Ps,Lr,Logic Pro、Safari,那显然就会买台Mac,那么装了M1处理器的Mac会变成我考虑的选项;

但是,如果我买电脑要用来画施工图、搞模型.........等等这些可能压根没有Mac版本软体工具的活,我是不会买苹果电脑的,买台PC才能干这事。

买个i9,往主板上怼两条16G的内存,干活呼啦呼啦的快。

所以M1晶元压根不会对intel和AMD原有的市场造成太大的影响,大不了就是原来用intel处理器的部分Mac,换M1罢了,intel在这部分的销量减少了,仅此而已。

不过,如果我经常去星巴克,平时就处理些文档,刷刷网页,看看剧,M1版本的MacBook Air 确实会是一个特别好的选择。


x86早就耗子尾汁了,所以大概不会降价也不会性能突变。

M1强在哪里,之前写过两篇回答了,一篇针对CPU部分,另一篇针对SoC整体。没看过的朋友有空可以看一下,好歹是拿到了几个专业徽章的:

如何看待苹果M1晶元跑分超过i9??

www.zhihu.com图标如何评价苹果最新发布的 M1 晶元?有哪些新的技术突破,在应用层会有哪些不一样??

www.zhihu.com图标

智能手机、平板普及也不是一年两年了,上网追剧聊天的,真没几个人用PC了。现在买PC的,大部分生产力,少部分玩游戏。

如果年纪大点或者接触PC时间长点的,最早应该在本世纪初,就听说过「性能过剩」这个说法了。那时候AMD的K7和Intel的奔三频率大战,CPU频率从之前的主流300 MHz迅速提升到1 GHz以上。现在回看,那时候就说性能过剩有点太天真了,才单核1 GHz就以为够用,严重低估了广大程序员浪费硬体性能的水平了,看看程序员们是如何高效的浪费掉CPU厂家提供的性能的:

面向对象编程。摘录一下维基词条:

面向对象程序设计推广了程序的灵活性和可维护性,并且在大型项目设计中广为应用。此外,支持者声称面向对象程序设计要比以往的做法更加便于学习,因为它能够让人们更简单地设计并维护程序,使得程序更加便于分析、设计、理解。

然而面向对象编程时,大量的调用和参数传递,都需要更多的指令去处理。对比下这两个程序:

int main(int args)
{
int a, b, c;
a = 5;
b = 8;
c = a + b;
}

把加法计算改成函数调用:

int func_add(int a, int b)
{
return a + b;
}

int main(int args)
{
int a, b, c;
a = 5;
b = 8;
c = func_add(a, b);
}

对这两个程序分别用gcc编译,看看要执行的指令区别(使用-O0选项避免编译器优化,使用-S选项查看指令文本)

.file "add.c"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl %edi, -20(%rbp)
movl $5, -12(%rbp)
movl $8, -8(%rbp)
movl -12(%rbp), %edx
movl -8(%rbp), %eax
addl %edx, %eax
movl %eax, -4(%rbp)
movl $0, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size main, .-main
.ident "GCC: (Gentoo Hardened 9.3.0-r1 p3) 9.3.0"
.section .note.GNU-stack,"",@progbits

没有函数调用的整个文件只有12条指令。

.file "func_add.c"
.text
.globl func_add
.type func_add, @function
func_add:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl %edi, -4(%rbp)
movl %esi, -8(%rbp)
movl -4(%rbp), %edx
movl -8(%rbp), %eax
addl %edx, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE0:
.size func_add, .-func_add
.globl main
.type main, @function
main:
.LFB1:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $24, %rsp
movl %edi, -20(%rbp)
movl $5, -12(%rbp)
movl $8, -8(%rbp)
movl -8(%rbp), %edx
movl -12(%rbp), %eax
movl %edx, %esi
movl %eax, %edi
call func_add
movl %eax, -4(%rbp)
movl $0, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE1:
.size main, .-main
.ident "GCC: (Gentoo Hardened 9.3.0-r1 p3) 9.3.0"
.section .note.GNU-stack,"",@progbits

函数调用版则是需要执行24条指令,多了一倍。而且大量的调用,会降低CPU分支预测正确率和缓存命中率,分支预测失败起码需要清空流水线浪费十多个时钟周期,缓存命中失败需要从下级缓存甚至内存中取数的话,少说需要等待十来个时钟周期,多则需要等待数百个时钟周期。

应用虚拟机。摘录一下英文维基词条:

A process VM, sometimes called an application virtual machine, or Managed Runtime Environment (MRE), runs as a normal application inside a host OS and supports a single process. It is created when that process is started and destroyed when it exits. Its purpose is to provide a platform-independent programming environment that abstracts away details of the underlying hardware or operating system and allows a program to execute in the same way on any platform.

Java、微软的.Net都是在应用虚拟机上运行,目的是让应用运行在一个硬体无关的软体环境中。这些应用虚拟机早期尚未成熟的时候性能有多烂就不用我说了吧?好处在于程序员不需要为每种不同的硬体环境编译一套二进位程序,甚至进行代码上的调整。

Web应用、XML、各种脚本语言。

这些技术的共同性都是使用文本,极大的方便了程序员直接查看代码和数据。然而对这些格式文本的解析和转换为CPU可以处理的数据,也是非常浪费硬体性能的。有兴趣的,可以随便找个开源语言,看看里面的html/xml的解析器里面使用了多少正则表达式处理,正则表达式的实现里面又有多少分支判断和循环。如果改成用二进位的数据结构来实现,一个浏览器需要两三秒才渲染出来的网页,完全可以几毫秒内完成渲染。

上面这些技术的流行,告诉大家,CPU性能是永远都不会嫌多的。

然而,程序员浪费硬体性能是为了提高开发效率(说白了就是偷懒):面向对象是提高代码复用率,不用重复造轮子;跨平台、脚本语言、Web应用,省了多平台、多版本的重复开发、分发更新、兼容旧版的麻烦;Web应用、XML、脚本语言使得程序员看代码无需再找对应的源码,查数据无需先做格式转换。当CPU主频提升困难,又没有出现新的革命性技术可以大幅提升单核性能的这些年来,CPU厂家提升性能的主要手段一是堆核心,二是加宽SIMD指令。然而单个线程只能在一个核心上运行,要利用上这些新增加的核心性能,程序员要面对多线程编程的各种坑。多线程编程有多坑?随手推篇文章:

https://zhuanlan.zhihu.com/p/38016238?

zhuanlan.zhihu.com图标

懒得看的,摘录一段:

说起多线程,有那么几个老生常谈的概念不得不再次在此重申一遍。这里,用群众喜闻乐见的「挖坑」这件事进行类比:

并发:有一群人在挖坑。可能是挖同一个坑,也可能是各自挖各自的坑。单线程 vs. 多线程:一个人在挖坑 vs. 一群人在挖坑。坑的数量不明,人员的组成不明,挖坑的具体安排不明。同步:可以是下面中的某一个:线程同步:一群人在挖坑,同时有一群人在拉土,坑挖好了的时候拉土的人才开始工作。数据同步:一群人在挖坑,以某种方式保证所有人都知道挖坑进度,防止挖到别人的坑里并产生事故。非同步:一个或一群人在挖坑,忽然有人指示开挖新坑,但并没有人为之所动;几小时后连新坑都挖完了,但具体中间是怎么安排的并没有人知道。

这就吃力不讨好了,所以不是真的需要处理大批量的数据的应用,很少为多线程优化,单独一个线程处理界面响应已经算做的不错了。也是因为这样(PS:再加上AMD推土机系列的不争气),Intel才有底气在桌面、笔记本市场挤了近十年的牙膏,从Core 2 Quad一直到Core Gen 7,主流桌面最高级别的CPU一直都只有4核8线程——反正给多了一般人也等闲用不上。4核8线程的规格,足够2~3个稍微有点多线程多任务的应用在后台运行的同时,CPU还有足够的资源保证前台应用的快速响应。

至于加宽SIMD指令,对于批量数据处理很有用。如果说64bit的MMX、128bit的SSE很方便也很适合处理一些常见矢量数据的话,256bit的AVX/AVX2和512bit的AVX512,适用范围真的很窄。这些之前也写过回答了,不重复:

如何看待Linus Torvalds对AVX512的评价??

www.zhihu.com图标

所以,现在x86早就严重两级分化了:一方面是提升单线程性能,只能像苹果那样加宽架构来提升,但是x86的变长指令严重制约了解码单元性能(这个在M1跑分超过i9那篇回答中有详细说明,不重复了),而且宽架构需要消耗更多的晶体管,单个核心成本过高;另一方面则是随著制程工艺升级带来的功耗下降,在限定功耗的场景下塞进去更多的核心。但加宽架构和更多核心这两个方向是矛盾的,因为都会消耗更多的晶体管。CPU厂家只能在两者之间,加上成本因素(晶片大小)来平衡。但可以肯定的一点是,加核心带来的性能提升几乎是线性的,只要你的应用能躲开内存瓶颈并且分出这么多线程来跑,而加宽架构则是会因为受到演算法中的指令并行度、分支预测正确率、缓存命中率这些因素影响,两倍的晶体管很可能只能提升40%的IPC——对于x86而言,还有一个绕不开的解码器性能需要去解决。

从两家已经公开的roadmap来看,Zen4会有哪些改进还不明确,Intel则是打算走大小核混合,可能还有类似M1这样搭配多种专用单元的SoC路线。但和M1的不同在于Intel大概率会把各种专用单元做成chiplet,用晶元堆叠/互联的封装方式来集成,而非M1这样固定多个专用单元。具体请参看关于LKF的评论回答:

木头龙:如何评价英特尔 lakefield处理器i5-L16G7?AMD什么时候会跟进??

www.zhihu.com图标
推荐阅读:
相关文章