提醒一下题主:
第一,M1支持x64跟x86的代码(虽然需要转译)。你可能觉得转译看起来是软件实现,但实际上,这个CPU为部分应用做出了定向优(dui)化(liao),转译就是其中之一,所以你很难说这个转译真的就是纯粹的软件实现。毕竟,同样的这段转译代码在没有优化过的ARM CPU上就达不到这种性能。我比较倾向于认为苹果把它称为软件转译是为了规避x86相关专利。
第二,苹果的性能靠的是「疯狂堆料」,而不是什么裁剪指令集。是的,不是靠做减法,而是靠做加法,不但没有减少指令集,反而增加了更多东西(例如一些专用dsp),同时还通过转译兼容x86。
M1作为4大4小核,在综合性能方面,超过了4核4线程,不敌8核8线程,跟6核6线程基本持平。
但是,如果你把M1的晶体管规模,除以4,会发现它远远远远大于amd/intel每个核心的晶体管规模。
扩大单核晶体管规模会有什么副作用?intel的11代桌面已经告诉你了。把10核的10代i9扩大一部分晶体管规模,11代就只能装得下8核了。
所以,我们一定需要更高的制程,因为更高的制成才能把更多的核心装进更小的面积。
那么,amd如果也学苹果疯狂堆单核,是什么后果?后果就是:原来能做64核心的,堆完了单核就做不出64核心了。
所以,要想堆单核,一定是制程先行,有了更先进的制程,才能有规模提升的空间,才能更新架构,才能方便提升IPC。
疯狂堆单核规模,如果制程跟不上,就会导致你可堆的核心数量下降。在极限多核性能落后的情况下,狂吹M1没什么意思。
超轻薄笔记本可以牺牲核心数量堆单核规模来使得单核性能跑分稍微好看一点点,但是毕竟你平时不是把多核功能屏蔽掉来使用电脑的。
英特尔当年为什么搞IA64失败了?
IA64和苹MAC的做法很类似,通过模拟老程序。
但是用户根本不买账,X64是AMD搞的,重点就在兼容性。
商用领域,不能接受这种推到重来。
你自己换M1的笔记本电脑,常用的程序转换一下就行了。
但是对一个公司来说,换M1的笔记本你得保证你以前的程序和外设能用。
不能为了换个笔记本电脑,把软件重新开发,把外设都换了。
医院的CT机也是外设的一种,你怎么换?
不用说指令集不支持,停一个flash,多少OA网络停摆?
商用程序你不知道是哪年开发的,能用就不会重新花钱开发。
你换了硬件不能用了,当然不行。