屡战屡败,RISC为什么打不赢CISC?
2017-09-17
17:25:42
来源: 台湾水电工协会-非在职工友
点击
日前,Oracle「终于」要抬着Solaris 和SPARC 种去埋了,精简指令集历史又被撕掉了一页(喂,都忘了SPARC 还有Fujitsu 还在勉力奋斗跟IBM Power 打对台吗)。众多操作系统兼键盘计算机结构大师等万千大罗汉,迫不及待地磨刀霍霍舞文弄墨振笔疾书昭告天下祭品文,以告慰看似稍纵即逝于星空中如蜡炬般烧尽自己的闪耀流星,但东施效颦轻小说的惯用譬喻,恐无人有幸目睹其临终丰采,因为众人皆睡我也睡,况且装睡往往叫不醒。
跟Intel 力拼最先进泛用处理器制程、争夺超高时脉标竿之牛耳的蓝色巨人,还为了自家的刀锋服务器(没错,那时候是一票服务器大厂一窝蜂狂冲刀锋服务器的高峰)与Apple 的Mac,公布了惊世骇俗的前瞻计划:
Cinebench 开发商Maxon 的说法是:尚未为PowerPC G5 最佳化,搞定调整工作后,两颗G5 的CB Rating 可达500 分,相当于50 余秒,而事后的产品测试也补考及格(50.1 秒) ,但请各位凭着良心坦白问自己:这数据有很厉害吗?
RISC 处理器在服务器与工作站市场的退潮,基本上在1990 年代末期,就早已失去任何逆势拦阻的可能(Intel Itanium 算是反向操作后,自己玩死自己),连带RISC 处理器的个人电脑也一同殉情,本世纪初期Apple 的Power Mac 仅为余晖,而其心脏PowerPC 970(G5)则为RISC 桌上型处理器的绝响──假如ARM 阵营没有成功开辟战场。
PowerPC 970FX处理器
笔者亦有幸在担任某周刊技术编辑时,跟Apple 原厂陆续借测报导数款搭载PowerPC 的系统产品,包含2003 年先后各一台「由Steve Jobs 在WWDC 法会,开示世界首款64 位元且效能最好的个人电脑」Power Mac G5 和稍晚后发的双处理器版、2004 年测试Xserve G5 与搭配的Xserve RAID,2004 年底被IBM 抓去北京的Power Everywhere 布道大会实际体验蓝色巨人的洗脑功力,与2005 年制作商用笔电采购特辑的PowerBook G4,那张在红外线热侦测仪下一览无遗红通通的热区分布,事隔十多年,至今仍让笔者津津有味。
笔者还依稀记得台湾Apple 原厂动辄动员数人协助送货兼开箱兼初次安装设定,受宠若惊,当然在苹果帝国号令世界的当下,是绝对没可能了。
挥舞着第二次Power Everywhere 的大旗(笔者坚定认为推动PowerPC 的AIM 联盟,就有资格算第一枪),瞄准个人电脑市场企图进一步开疆拓土的IBM,当初的野心可是很想搞很大呢。
跟Intel 力拼最先进泛用处理器制程、争夺超高时脉标竿之牛耳的蓝色巨人,还为了自家的刀锋服务器(没错,那时候是一票服务器大厂一窝蜂狂冲刀锋服务器的高峰)与Apple 的Mac,公布了惊世骇俗的前瞻计划:
PowerPC 975 将采用11 层铜导线布线制程。
PowerPC 976 导入预应变硅(Strained Silicon)SOI 晶圆。
PowerPC 980 引进3D 垂直结构的鳍式场效电晶体(FinFET),这可是惊天动地的天杀大事,事实证明,FinFET 真正广泛应用,是十多年后才发生的事情。
以下跟制程无关:
PowerPC 975 支援同时多执行绪(SMT),反正都沿用威力十足的Power5 核心了,但没有AltiVec,Apple 应不会采用,会是IBM 刀锋服务器限定的型号。
PowerPC 976 支援VMX2(AltiVec 2,按惯例,Apple 应会改称为Velocity Engine 2 吧)SIMD 延伸指令集,应为PowerPC 975 小改款,在Power6 前,Power 家族不会实装AltiVec。
何等壮大的「产品简报」,随着Apple 在2005 年宣布抽腿不玩PowerPC,而自动消失在世界的尽头,奠基于威镇四方Power5 核心的PowerPC 975 没有出现。
那下面呢?下面就没有了,传说已久的PowerBook G5,只闻楼梯响,不见人滚下,连无病声吟都不曾耳闻,接着就上映Apple 夜奔敌营叛逃万恶Intel x86 处理器的番外篇,正义的RISC 十字军不敌邪恶的CISC 恶魔党,深感时不我与,令人不胜唏嘘。
2006 年苹果于Macworld 中宣布采用英特尔处理器,当时英特尔执行长保罗·欧德宁(Paul Ottelini)身穿防尘衣上台为贾伯斯送上晶圆造势。
所以我等精简指令集革命军志士,必定万众一心,卧薪尝胆、焚膏继晷、殚精竭虑、韬光养晦,只待Wintel 帝国败像毕露之日,一年准备、二年反攻、三年扫荡、五年成功。讲得好像跟真的一样,连笔者自己都差点自欺欺人了。
不过不唬你,那时某些同温层还真的垄罩着乌云罩顶、雷声大作的悲愤气围,跟「接力绝食8 小时」现代版八百壮士完全有拼。行文至此,笔者赫然发现每晚竟然「自残」超过12 小时,台湾经济真的很不好啊。
算了吧,RISC 只在个人电脑市场昙花一现,根本跟指令集是否复杂精简无关,纯粹只能寄生于IBM Power 服务器产品开发时程的PowerPC,根本被靠着Windows 个人电脑的巨大市场需求为马力、在九弯十八拐山路拼飙速拼个你死我活的x86 双雄Intel、AMD 甩到连车尾灯都看不到了。
更不幸的,Apple 做出「The Decision」(关心NBA 的读者一定看得懂这个老梗)当下,刚刚好是Intel 正执行钟摆战略,对靠K8 大啖高获利服务器市场后打嗝不止的AMD,发动帝国大反击的心理关键时刻。
坦白讲,稍有常识的正常人,看在血淋淋残酷现实的份上,抛弃IBM 转靠Intel 是唯一可做出的合理决定。有被自家软体和完整服务绑死的庞大企业客户罩着,IBM Power 产品线推出时间拖个一年半载,顶多被客户骂一骂也不痛不痒,他们也不太敢冒着营运中断风险而琵琶别抱,但同样场景转到消费市场就林刀火烧厝了(其实时下的苹果帝国也具备这样的条件,但他们是基于行销考量,尽力维持在帐面硬体规格的优越性,享有芯片选择性自由度是苹果最大的优势,至于会不会哪天想不开连Mac 都选择转用PA Semi 团队打造的自家ARM 芯片,我们就不在这里开论坛了)。
我们再回头看看,就理想面和现实面的双重角度,Apple 使用PowerPC 碰到哪些问题,这也是RISC 与CISC 处理器战争的缩影。
先来看看RISC 的学理面,所谓精简指令集的优越性。
当笔者只是准备进大学由我玩4 年的高三生时,某晚挤在往回家路上的公车,从同一个英文补习班的国中时代死党口中,首次听闻「RISC」和PowerPC,那时对电脑根本一窍不通,残留于记忆深处,唯一留下的印象只有:
「我们常见的PC CPU,像386、486 等等,都是CISC。但IBM 主导的PowerPC,是RISC,指令集比较精简,比较先进,所以效能会比较好。」(在那个青涩的纯朴年代,多少人仰慕IBM 这3 个英文字母,一听到立马正襟危坐肃然起敬,但那时我是被迫站着的)
「如果担心跟Windows(那时候还没有Windows 95)和DOS 相容性的问题,后面会有一颗PowerPC 615,硬体直接支援x86 指令集。」
结果笔者人生的第一台电脑乖乖买单颗台币10,500 元的Pentium 120,只为了和其他人一起使用OS/2 和Windows 95,缺乏微软力挺的PowerPC 615 也没有问世,依后见之明,照那个芯片规格,就算出了,也是绝对是穷学生买不起的天价。
随着逐渐「懂事」,才慢慢理解RISC 的起源与诉求,可简述为以下几条:
受制于杯水车薪的记忆体容量与盘古开天的制程,古早电脑的指令集须以微码打造,且指令集设计以让程式设计者直接使用为思考前提(可想成用指令集做到接近高阶程式语言的复杂操作),一路叠床架屋出各式各样的复杂功能指令与灵活多样的运算元定址模式,连带催生千奇百怪的指令编码长度,DEC VAX 是此类「CISC」的经典案例。假以时日,处理器市场走上竞逐高效能、低成本的修罗道,指令集将是积重难返的包袱。
记忆体单位价格随着容量激增持续下滑,随之带动编译器技术的进步,让高阶程式语言实用化,降低了直接撰写机器码的需求,加上电脑须走向低价普及,电脑要更小(在那个时代,即使是「迷你电脑」,摆在今天也一点都不迷你)、更快、更便宜、又能高效率地执行用高阶程式语言编写的程式,可谓「仓禀实而知礼节,衣食足而知荣辱」,「RISC 革命」实乃水到渠成,即使CISC 是RISC 一词诞生后,才被发明的「对照组」。
超大型集成电路(VLSI)蓬勃发展,让处理器的控制单元,逐渐摆脱微码和由其组成的微程式,转向直接硬体线路控制的方式。
RISC 精简的是指令的格式,如固定指令编码长度与简化定址模式,并非意谓减少指令的数量与单一指令的功能。
指令编码长度不固定、格式混乱,对设计例外处理会带来很大的麻烦,所以精简指令格式可降低处理器控制单元的复杂度,把有限的电晶体预算,砸到立竿见影提升效能的刀口上,如提升输出率(指令管线化)、缩小CPU 和记忆体的速度差距(快取记忆体)、降低分支伤害(分支预测)、指令平行处理(超纯量)、提高运行时脉(超管线)、减少因暂存器相依性(非循序指令执行)等等。
拜精简指令集简化控制单元设计、亦缩短产品开发验证时间之所赐,上述诸多在近20 年内普及于泛用处理器的实作加速机制,几乎清一色率先以RISC 处理器做为初试啼声的载具。
因此,眼光喵向手机市场,RISC 的必杀技是「Time To Market」,不要问,因为爱。
隐藏在RISC 革命背后的精神,可简化成「Make The Common Case Fast」,尽可能的加速常见的工作,高阶语言编译器的行为模式也满符合80 / 20 原则,而RISC 指令集的大型化暂存器档案,与限制少数载入储存指令存取记忆体,也是时代背景下的产物。
近代以AMD K5、Intel P6 为首「将复杂x86 指令转译为近似RISC 微指令」的先进高效能x86 微架构,说穿了也是Make The Common Case Fast 原则的信奉者:资料路径针对常用的简单指令最佳化,不常用的复杂指令,则不追求效率,仅维持执行正确性即可,以实现优异的时脉速率。
CISC(complex instruction set computer)与RISC(educed instruction set computer)对比
这些常识,电脑组织结构教科书都一字不漏写得清清楚楚,而Unix 系统大厂自行打造的高性能RISC 处理器,支配高阶服务器市场,也是自然而然的演进。或着倒过来说,他们支配了市场,赚取了丰硕的利润,才有打造自家芯片的本钱。
那么,为何扣除IBM Power、MIPS 与一票键盘大师正汲汲营营草撰墓志铭的SPARC,这票没有成功向下深耕,进军个人电脑市场旧时代RISC 贵族,一个接着一个葬身于CISC 蛮族x86体系之手?
毕竟到后来,Intel、AMD 仰仗庞大个人电脑市场需求而千锤百炼出来的制程技术与研发能量,太过巨大,足足抵销掉RISC 该享有的强项还绰绰有余。
简而言之,RISC 贵族没有那个「量」去支撑越来越昂贵的先进制程投资与产品研发开销,就算找晶圆代工(Alpha 末期就有转包给Intel 生产),自己花大钱研制需求没多少的高阶处理器,在IT 产业的利润持之以恒往纳米化努力推进的时代,只会显得越来越不划算。
HP 放弃PA-RISC,改用Itanium,到头来,还得乖乖推出Xeon 的Superdome X,背后含意不言可喻。
问题来了,为什么连唯一成功抢滩的PowerPC 也一同壮烈牺牲?其后台还是制程技术傲视业界的蓝色巨人?
不提Unix 服务器市场,有谁相信十几年前约市场占有率不足2% 的Mac 出货量,足以养活IBM 的高阶PowerPC?靠IBM Power 硬撑?人家IBM 就是觉得Power 量不够,想把饼做大,才会去吃饱后闲不下来跑去推动PowerPC 和Power Everywhere,后者正在第三回合中。
论软体,除了专业美工绘图排版和音乐创作,那时Mac OS 没有其他明显优于Windows 的杀手级应用,不足以吸引大量Wintel 用户带枪投靠,如非有幸「躬逢其盛」Apple 最落魄时期,这在每次iPhone 新发表会,保证制造大量「人形猫熊」的今日,实在令人想像力发出震耳欲聋的哀号。Mac 用户是弱势族群?笔者入手MacBook 后,只因使用者界面和Touch Pad,就快回不去Windows 了。
讲得更直白一点:PowerPC 没有成熟Windows 和Office 等桌面应用程式可用,那时的Linux Distribution 和Office 替代品也不成气候(笔者在当时已使用Open Office 为主要文书编辑工具),和游戏市场缺乏紧密连结,更是压死骆驼的最后一根稻草,偏偏使用DirectX 开发游戏的供应商只会越来越多。
「人家可是和高阶服务器王者Power 系出同源耶,光效能就能活活打死x86 蛮族了」,Apple 自行公布的效能白皮书的长条图是很漂亮没错(笔者还特别从硬碟里挖出来2003 年6 月的版本温习了一下),但实情真是如此吗?长期稳定的效能竞争领先,难道是只靠硬体就可以硬干出来吗?
先来瞻仰某个当年的Cinebench 效能测试,其测试指标是基于绘制shadow map 计算的所需时间。
Cinebench 开发商Maxon 的说法是:尚未为PowerPC G5 最佳化,搞定调整工作后,两颗G5 的CB Rating 可达500 分,相当于50 余秒,而事后的产品测试也补考及格(50.1 秒) ,但请各位凭着良心坦白问自己:这数据有很厉害吗?
更何况,这也暴露出一个潜在的弱点:应用程式开发平台的竞争力与完整度,也是封印顶尖硬体潜能的紧箍咒。Power Mac G5 2003 年6 月在WWDC 发表,但为G5 优化的XL C/C++ 及XL Fortran 编译器,其Mac OS X 测试版在8 月才开放下载,明显慢了很多拍,而Power Mac 在个人电脑市场的对手,其软体开发资源却拥有一年一亿多台的出货量作为后盾,差距显而易见,IBM Power 在服务器领域表现出来压倒性效能优势,是很难被桌上型市场的PowerPC完美继承。好死不死,Power Mac 的「最期」,恰巧是以Intel 自家编译器疯狂压榨出自产自销x86 处理器底力大杀四方的高潮。
全世界都知道论SIMD 延伸指令集扩充,根本排不上AMD 的3DNow!(AMD 这个生父在推土机世代就自己扔掉弃养了),连Intel SSE2 都比不上PowerPC 的初代AltiVec,但应用程式未能充分利用,都是白搭。只不过,就算被物尽其用了,恐怕也无力挽回整体市场的颓势。
马上把天下无敌的IBM Power8、Power9 拖出来,东砍西砍成桌机处理器的形状,也必定打不过现在的Intel、AMD 产品,就这样。
总之,难以降尊纡贵、称霸早期高阶服务器市场的昔日RISC 贵族,无法「旧时王谢堂前燕,飞入寻常百姓家」,就注定惨遭如同法国大革命,被由下而上崛起的「全民军队」彻底压垮,PowerPC 在Apple Mac 的短暂旅程,仅为RISC 处理器在服务器大崩盘后的遗绪,在桌机市场最终以失败收场的延续战争。
其实「回顾RISC 与CISC 处理器的战争」是极度庞大且繁杂的史诗级交响曲,绝非区区数千字即可醍醐灌顶,历史上过江之鲫的RISC 一大堆,在世CISC 又不是只有x86 ,起码IBM 大型主机还活得头好壮壮,而且好VAX,不写吗?撰写此文的初衷,仅投映出笔者眼中RISC 处理器苟延残喘于个人电脑的暮光残影,回顾技术看似先进,却终究不敌市场现实的血泪教训。有时候,遗忘,并不是坏事,总比留下错误的印象好上千百倍。
革命尚未成功,同志仍须努力。现在就等着瞧,开始享有微软加持的ARM 阵营,距初代Power Mac 超过20 年后,能不能在个人电脑市场再挑战x86 一次。但如果市场发生颠覆个人电脑的典范转移,那就更有趣了。
责任编辑:星野
- 半导体行业观察
- 摩尔芯闻
最新新闻
热门文章 本日 七天 本月
- 1 国产EDA突破,关键一步
- 2 思尔芯第八代原型验证S8-100全系已获客户部署,双倍容量加速创新
- 3 汽车大芯片,走向Chiplet:芯原扮演重要角色
- 4 Ampere 年度展望:2025年重塑IT格局的四大关键趋势