loading请求处理中...

屡战屡败,RISC架构为什么打不赢CISC?

2021-12-02 06:04:27 阅读 9638次 标签: risc架构 作者: a454466904

日前,Oracle「终于」要抬着Solaris和SPARC种去埋了,精简指令集历史又被撕掉了一页(喂,都忘了SPARC还有Fujitsu还在勉力奋斗跟IBMPower打对台吗)。众多操作系统兼键盘计算机结构大师等万千大罗汉,迫不及待地磨刀霍霍舞文弄墨振笔疾书昭告天下祭品文,以告慰看似稍纵即逝于星空中如蜡炬般烧尽自己的闪耀流星,但东施效颦轻小说的惯用譬喻,恐无人有幸目睹其临终丰采,因为众人皆睡我也睡,况且装睡往往叫不醒。

RISC处理器在服务器与工作站市场的退潮,基本上在1990年代末期,就早已失去任何逆势拦阻的可能(IntelItanium算是反向操作后,自己玩死自己),连带RISC处理器的个人电脑也一同殉情,本世纪初期Apple的PowerMac仅为余晖,而其心脏PowerPC970(G5)则为RISC桌上型处理器的绝响──假如ARM阵营没有成功开辟战场。

屡战屡败,RISC架构为什么打不赢CISC?

PowerPC970FX处理器

笔者亦有幸在担任某周刊技术编辑时,跟Apple原厂陆续借测报导数款搭载PowerPC的系统产品,包含2003年先后各一台「由SteveJobs在WWDC法会,开示世界首款64位元且效能最好的个人电脑」PowerMacG5和稍晚后发的双处理器版、2004年测试XserveG5与搭配的XserveRAID,2004年底被IBM抓去北京的PowerEverywhere布道大会实际体验蓝色巨人的洗脑功力,与2005年制作商用笔电采购特辑的PowerBookG4,那张在红外线热侦测仪下一览无遗红通通的热区分布,事隔十多年,至今仍让笔者津津有味。

笔者还依稀记得台湾Apple原厂动辄动员数人协助送货兼开箱兼初次安装设定,受宠若惊,当然在苹果帝国号令世界的当下,是绝对没可能了。

挥舞着第二次PowerEverywhere的大旗(笔者坚定认为推动PowerPC的AIM联盟,就有资格算第一枪),瞄准个人电脑市场企图进一步开疆拓土的IBM,当初的野心可是很想搞很大呢。

屡战屡败,RISC架构为什么打不赢CISC?

跟Intel力拼最先进泛用处理器制程、争夺超高时脉标竿之牛耳的蓝色巨人,还为了自家的刀锋服务器(没错,那时候是一票服务器大厂一窝蜂狂冲刀锋服务器的高峰)与Apple的Mac,公布了惊世骇俗的前瞻计划:

PowerPC975将采用11层铜导线布线制程。

PowerPC976导入预应变硅(StrainedSilicon)SOI晶圆。

PowerPC980引进3D垂直结构的鳍式场效电晶体(FinFET),这可是惊天动地的天杀大事,事实证明,FinFET真正广泛应用,是十多年后才发生的事情。

以下跟制程无关:

PowerPC975支援同时多执行绪(SMT),反正都沿用威力十足的Power5核心了,但没有AltiVec,Apple应不会采用,会是IBM刀锋服务器限定的型号。

PowerPC976支援VMX2(AltiVec2,按惯例,Apple应会改称为VelocityEngine2吧)SIMD延伸指令集,应为PowerPC975小改款,在Power6前,Power家族不会实装AltiVec。

何等壮大的「产品简报」,随着Apple在2005年宣布抽腿不玩PowerPC,而自动消失在世界的尽头,奠基于威镇四方Power5核心的PowerPC975没有出现。

那下面呢?下面就没有了,传说已久的PowerBookG5,只闻楼梯响,不见人滚下,连无病声吟都不曾耳闻,接着就上映Apple夜奔敌营叛逃万恶Intelx86处理器的番外篇,正义的RISC十字军不敌邪恶的CISC恶魔党,深感时不我与,令人不胜唏嘘。

2006年苹果于Macworld中宣布采用英特尔处理器,当时英特尔执行长保罗·欧德宁(PaulOttelini)身穿防尘衣上台为贾伯斯送上晶圆造势。

所以我等精简指令集革命军志士,必定万众一心,卧薪尝胆、焚膏继晷、殚精竭虑、韬光养晦,只待Wintel帝国败像毕露之日,一年准备、二年反攻、三年扫荡、五年成功。讲得好像跟真的一样,连笔者自己都差点自欺欺人了。

不过不唬你,那时某些同温层还真的垄罩着乌云罩顶、雷声大作的悲愤气围,跟「接力绝食8小时」现代版八百壮士完全有拼。行文至此,笔者赫然发现每晚竟然「自残」超过12小时,台湾经济真的很不好啊。

算了吧,RISC只在个人电脑市场昙花一现,根本跟指令集是否复杂精简无关,纯粹只能寄生于IBMPower服务器产品开发时程的PowerPC,根本被靠着Windows个人电脑的巨大市场需求为马力、在九弯十八拐山路拼飙速拼个你死我活的x86双雄Intel、AMD甩到连车尾灯都看不到了。

更不幸的,Apple做出「TheDecision」(关心NBA的读者一定看得懂这个老梗)当下,刚刚好是Intel正执行钟摆战略,对靠K8大啖高获利服务器市场后打嗝不止的AMD,发动帝国大反击的心理关键时刻。

坦白讲,稍有常识的正常人,看在血淋淋残酷现实的份上,抛弃IBM转靠Intel是唯一可做出的合理决定。有被自家软体和完整服务绑死的庞大企业客户罩着,IBMPower产品线推出时间拖个一年半载,顶多被客户骂一骂也不痛不痒,他们也不太敢冒着营运中断风险而琵琶别抱,但同样场景转到消费市场就林刀火烧厝了(其实时下的苹果帝国也具备这样的条件,但他们是基于行销考量,尽力维持在帐面硬体规格的优越性,享有芯片选择性自由度是苹果最大的优势,至于会不会哪天想不开连Mac都选择转用PASemi团队打造的自家ARM芯片,我们就不在这里开论坛了)。

我们再回头看看,就理想面和现实面的双重角度,Apple使用PowerPC碰到哪些问题,这也是RISC与CISC处理器战争的缩影。

先来看看RISC的学理面,所谓精简指令集的优越性。

当笔者只是准备进大学由我玩4年的高三生时,某晚挤在往回家路上的公车,从同一个英文补习班的国中时代死党口中,首次听闻「RISC」和PowerPC,那时对电脑根本一窍不通,残留于记忆深处,唯一留下的印象只有:

「我们常见的PCCPU,像386、486等等,都是CISC。但IBM主导的PowerPC,是RISC,指令集比较精简,比较先进,所以效能会比较好。」(在那个青涩的纯朴年代,多少人仰慕IBM这3个英文字母,一听到立马正襟危坐肃然起敬,但那时我是被迫站着的)

「如果担心跟Windows(那时候还没有Windows95)和DOS相容性的问题,后面会有一颗PowerPC615,硬体直接支援x86指令集。」

结果笔者人生的第一台电脑乖乖买单颗台币10,500元的Pentium120,只为了和其他人一起使用OS/2和Windows95,缺乏微软力挺的PowerPC615也没有问世,依后见之明,照那个芯片规格,就算出了,也是绝对是穷学生买不起的天价。

随着逐渐「懂事」,才慢慢理解RISC的起源与诉求,可简述为以下几条:

受制于杯水车薪的记忆体容量与盘古开天的制程,古早电脑的指令集须以微码打造,且指令集设计以让程式设计者直接使用为思考前提(可想成用指令集做到接近高阶程式语言的复杂操作),一路叠床架屋出各式各样的复杂功能指令与灵活多样的运算元定址模式,连带催生千奇百怪的指令编码长度,DECVAX是此类「CISC」的经典案例。假以时日,处理器市场走上竞逐高效能、低成本的修罗道,指令集将是积重难返的包袱。

记忆体单位价格随着容量激增持续下滑,随之带动编译器技术的进步,让高阶程式语言实用化,降低了直接撰写机器码的需求,加上电脑须走向低价普及,电脑要更小(在那个时代,即使是「迷你电脑」,摆在今天也一点都不迷你)、更快、更便宜、又能高效率地执行用高阶程式语言编写的程式,可谓「仓禀实而知礼节,衣食足而知荣辱」,「RISC革命」实乃水到渠成,即使CISC是RISC一词诞生后,才被发明的「对照组」。

超大型集成电路(VLSI)蓬勃发展,让处理器的控制单元,逐渐摆脱微码和由其组成的微程式,转向直接硬体线路控制的方式。

RISC精简的是指令的格式,如固定指令编码长度与简化定址模式,并非意谓减少指令的数量与单一指令的功能。

指令编码长度不固定、格式混乱,对设计例外处理会带来很大的麻烦,所以精简指令格式可降低处理器控制单元的复杂度,把有限的电晶体预算,砸到立竿见影提升效能的刀口上,如提升输出率(指令管线化)、缩小CPU和记忆体的速度差距(快取记忆体)、降低分支伤害(分支预测)、指令平行处理(超纯量)、提高运行时脉(超管线)、减少因暂存器相依性(非循序指令执行)等等。

拜精简指令集简化控制单元设计、亦缩短产品开发验证时间之所赐,上述诸多在近20年内普及于泛用处理器的实作加速机制,几乎清一色率先以RISC处理器做为初试啼声的载具。

因此,眼光喵向手机市场,RISC的必杀技是「TimeToMarket」,不要问,因为爱。

隐藏在RISC革命背后的精神,可简化成「MakeTheCommonCaseFast」,尽可能的加速常见的工作,高阶语言编译器的行为模式也满符合80/20原则,而RISC指令集的大型化暂存器档案,与限制少数载入储存指令存取记忆体,也是时代背景下的产物。

近代以AMDK5、IntelP6为首「将复杂x86指令转译为近似RISC微指令」的先进高效能x86微架构,说穿了也是MakeTheCommonCaseFast原则的信奉者:资料路径针对常用的简单指令最佳化,不常用的复杂指令,则不追求效率,仅维持执行正确性即可,以实现优异的时脉速率。

屡战屡败,RISC架构为什么打不赢CISC?

CISC与RISC对比

这些常识,电脑组织结构教科书都一字不漏写得清清楚楚,而Unix系统大厂自行打造的高性能RISC处理器,支配高阶服务器市场,也是自然而然的演进。或着倒过来说,他们支配了市场,赚取了丰硕的利润,才有打造自家芯片的本钱。

那么,为何扣除IBMPower、MIPS与一票键盘大师正汲汲营营草撰墓志铭的SPARC,这票没有成功向下深耕,进军个人电脑市场旧时代RISC贵族,一个接着一个葬身于CISC蛮族x86体系之手?

毕竟到后来,Intel、AMD仰仗庞大个人电脑市场需求而千锤百炼出来的制程技术与研发能量,太过巨大,足足抵销掉RISC该享有的强项还绰绰有余。

简而言之,RISC贵族没有那个「量」去支撑越来越昂贵的先进制程投资与产品研发开销,就算找晶圆代工(Alpha末期就有转包给Intel生产),自己花大钱研制需求没多少的高阶处理器,在IT产业的利润持之以恒往纳米化努力推进的时代,只会显得越来越不划算。

HP放弃PA-RISC,改用Itanium,到头来,还得乖乖推出Xeon的SuperdomeX,背后含意不言可喻。

问题来了,为什么连唯一成功抢滩的PowerPC也一同壮烈牺牲?其后台还是制程技术傲视业界的蓝色巨人?

不提Unix服务器市场,有谁相信十几年前约市场占有率不足2%的Mac出货量,足以养活IBM的高阶PowerPC?靠IBMPower硬撑?人家IBM就是觉得Power量不够,想把饼做大,才会去吃饱后闲不下来跑去推动PowerPC和PowerEverywhere,后者正在第三回合中。

论软体,除了专业美工绘图排版和音乐创作,那时MacOS没有其他明显优于Windows的杀手级应用,不足以吸引大量Wintel用户带枪投靠,如非有幸「躬逢其盛」Apple最落魄时期,这在每次iPhone新发表会,保证制造大量「人形猫熊」的今日,实在令人想像力发出震耳欲聋的哀号。Mac用户是弱势族群?笔者入手MacBook后,只因使用者界面和TouchPad,就快回不去Windows了。

讲得更直白一点:PowerPC没有成熟Windows和Office等桌面应用程式可用,那时的LinuxDistribution和Office替代品也不成气候(笔者在当时已使用OpenOffice为主要文书编辑工具),和游戏市场缺乏紧密连结,更是压死骆驼的最后一根稻草,偏偏使用DirectX开发游戏的供应商只会越来越多。

「人家可是和高阶服务器王者Power系出同源耶,光效能就能活活打死x86蛮族了」,Apple自行公布的效能白皮书的长条图是很漂亮没错(笔者还特别从硬碟里挖出来2003年6月的版本温习了一下),但实情真是如此吗?长期稳定的效能竞争领先,难道是只靠硬体就可以硬干出来吗?

先来瞻仰某个当年的Cinebench效能测试,其测试指标是基于绘制shadowmap计算的所需时间。

Cinebench开发商Maxon的说法是:尚未为PowerPCG5最佳化,搞定调整工作后,两颗G5的CBRating可达500分,相当于50余秒,而事后的产品测试也补考及格(50.1秒),但请各位凭着良心坦白问自己:这数据有很厉害吗?

更何况,这也暴露出一个潜在的弱点:应用程式开发平台的竞争力与完整度,也是封印顶尖硬体潜能的紧箍咒。PowerMacG52003年6月在WWDC发表,但为G5优化的XLC/C++及XLFortran编译器,其MacOSX测试版在8月才开放下载,明显慢了很多拍,而PowerMac在个人电脑市场的对手,其软体开发资源却拥有一年一亿多台的出货量作为后盾,差距显而易见,IBMPower在服务器领域表现出来压倒性效能优势,是很难被桌上型市场的PowerPC完美继承。好死不死,PowerMac的「最期」,恰巧是以Intel自家编译器疯狂压榨出自产自销x86处理器底力大杀四方的高潮。

全世界都知道论SIMD延伸指令集扩充,根本排不上AMD的3DNow!(AMD这个生父在推土机世代就自己扔掉弃养了),连IntelSSE2都比不上PowerPC的初代AltiVec,但应用程式未能充分利用,都是白搭。只不过,就算被物尽其用了,恐怕也无力挽回整体市场的颓势。

马上把天下无敌的IBMPower8、Power9拖出来,东砍西砍成桌机处理器的形状,也必定打不过现在的Intel、AMD产品,就这样。

总之,难以降尊纡贵、称霸早期高阶服务器市场的昔日RISC贵族,无法「旧时王谢堂前燕,飞入寻常百姓家」,就注定惨遭如同法国大革命,被由下而上崛起的「全民军队」彻底压垮,PowerPC在AppleMac的短暂旅程,仅为RISC处理器在服务器大崩盘后的遗绪,在桌机市场最终以失败收场的延续战争。

其实「回顾RISC与CISC处理器的战争」是极度庞大且繁杂的史诗级交响曲,绝非区区数千字即可醍醐灌顶,历史上过江之鲫的RISC一大堆,在世CISC又不是只有x86,起码IBM大型主机还活得头好壮壮,而且好VAX,不写吗?撰写此文的初衷,仅投映出笔者眼中RISC处理器苟延残喘于个人电脑的暮光残影,回顾技术看似先进,却终究不敌市场现实的血泪教训。有时候,遗忘,并不是坏事,总比留下错误的印象好上千百倍。

革命尚未成功,同志仍须努力。现在就等着瞧,开始享有微软加持的ARM阵营,距初代PowerMac超过20年后,能不能在个人电脑市场再挑战x86一次。但如果市场发生颠覆个人电脑的典范转移,那就更有趣了。

装修公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答