回顾历史梦幻处理器:微软惹的祸!RISC 进军个人电脑市场尝试失败!(90 年代)
2022-10-31 12:17:48 technews(台) 作者:痴汉水球本篇文章将带你了解 :
2003 年出版的《计算机结构:计量方法》第三版(也是历来最厚最重版本)附录C〈RISC 指令集架构总览〉(″A Survey of RISC Architectures for Desktop, Server, and Embedded Computers″)将RISC 分成两个族群。
结果回顾历史,RISC处理器在个人电脑市场比较有头有脸者,仅苹果的Power Mac 系列。今天论桌机和笔电,排除自己做处理器的苹果和微软摆明不想认真玩的Windows On ARM(WOA) 产品,几乎不见RISC 的影子,都是x86 双雄的天下。
BBC Micro:ARM 进军个人市场鼻祖
至于为何x86 指令集兼容处理器能统治个人电脑市场,说到底,也是受惠于微软Windows 操作系统、Office 办公套装软件与庞大生态体系的庇荫(笔者早年一度坚持IBM OS/2,但撑不到半年还是乖乖投奔Windows 95)。1995 年8 月24 日,从Windows 95 刚上市就热卖的那刻起(中文版是同年11 月28 日,微软首次与便利商店通路合作,让你在7-11 也买得到),就注定x86 处理器在这个领域的地位无可动摇。
其实RISC 处理器抢滩个人电脑,最早可追溯至1981 年12 月1 日,由艾康电脑公司(Acorn Computers)为英国广播公司(BBC)计算机认知计划(Computer Literacy Project)设计和生产BBC Micro 家用电脑,今日移动式运算平台拥有举足轻重地位的ARM 指令集兼容处理器(早期名称为Acorn Risc Machine,后来更名为Advanced RISC Machine)最初就是为BBC Micro 及后续型号设计。
▲ ARM 起源:1981 年,英国BBC Micro 家用电脑,然后走上30 年后彻底征服智能手机市场的大道。
曾参与IBM System/38的IBM 前院士Glenn Henry,1994 年创办日后成为威盛电子(VIA)x86 处理器技术基础的Centaur,原意半人半马,来自想打造同时兼容MIPS 与x86 的处理器,以便将MIPS推进个人电脑市场,也因评估技术不可行,才转专注研发x86 指令集兼容处理器。
▲ 这是x86 挑战「RISC 诸神」的初期战绩,但能战到最后的RISC,只有看起来最弱的IBM。
但1994 年11 月22 日,也是AIM 联盟(苹果、IBM、Motorola)发布第一颗PowerPC 处理器(PowerPC 601)隔年,Glenn Henry 老东家IBM 发布了神奇的PowerPC 615,号称同时兼容三种指令集架构:64 位元PowerPC、32 位元PowerPC 与32 位元80x86。这颗处理器采用当时最先进的0.35μm 制程(英特尔晚了近一年),晶粒面积高达330 mm²。
值得一提,苹果1994年3 月14 日发布第一台Power Mac 6100/60,到1995 年1 月,苹果就累积销售高达100 万台的Power Mac 系统。
PowrPC / x86 并存:传说的PowerPC 615
更重要的是,IBM采取「硬件」手段而非软件模拟,PowerPC 615 里塞了一个和英特尔初代Pentium 同等级的x86 核心(这也是芯片如此巨大的主因,也有人称为「透过硬件实作的模拟器」),不仅脚位与Pentium 兼容(应为Socket 5),更号称执行x86 指令集效能,也不输给首款超标量流水线x86 处理器的Pentium。这意味IBM 曾经「从头到尾」自行研发高效能x86 处理器微架构。
这看似天方夜谭的不可能任务,还不只是「简报王」,IBM 公开PowerPC 615 时早就做好实际可用的工程样品。IBM 并未公布何时启动专案,但极可能早在1991 年结成AIM 联盟时就开工了。非常可惜的是,IBM 从未透露PowerPC 615 的技术细节(内容想必极度刺激),只希望假以时日,也有像苹果那如梦似幻「水瓶座」四核心处理器计划,以非正式管道公诸于世的那一天。
前面提到PowerPC 615 使用领先英特尔整整一年的最先进制程技术,从下图即可感受到这是多大的芯片,推测晶体管总量超过1,000 万。也可多少看出指令集架构复杂度对晶体管数量和晶粒面积的影响,像PowerPC 601 就比初代Pentium 有更高时钟频率、1.5 倍指令执行能力与两倍容量L1 快取存储器。英特尔就承认,相较同等级RISC 处理器,Pentium 约多30%晶体管,「贡献」维持x86 指令集的兼容性。
总之,PowerPC 615 使「RISC 处理器可原生执行Windows 95」技术可行性,成了伸手可及的目标,那时笔者是高中时代,初次听闻PowerPC 615 之时,一想到「有机会组一台可跑Windows 95 和Mac OS 的电脑」就兴奋不已。
但问题来了,这件历史性的重大战略契机,却从未成为世人眼前的现实,原因很简单:因微软不愿支持这颗神奇的混血妖怪。到头来,苹果终究2006 年达成笔者的愿望,却以终结PowerPC──甚至整个RISC──在个人电脑市场的发展为代价。
此外,据传推动PowerPC普及的AIM 联盟,其他两个成员(苹果、Motorola) 也不认同IBM 试图打造「与主流x86 处理器脚位兼容PowerPC」的想法。Motorola 态度较暧昧,但苹果就摆明「打造只有苹果园的世外桃源,不想与Wintel 旧世界打交道」的姿态。
当然,技术角度看来,即使微软出手相助,也有充分理由相信PowerPC 615 的价格和耗电势必高不可攀,也很可能发生与英特尔的产品兼容性疑虑,甚至根据「后见之明」,注定衍生出与一连串系统总线专利与指令集授权的法律纠纷(英特尔的竞争对手都是受害者)。PowerPC 615 里那IBM 自研x86核心的实际表现,也很可能是个大问号。
既然没Windows可跑,苹果也摆明不会开放Mac OS 给PowerPC 615,可用的操作系统只剩下传说的Linux 前身MINIX(出自大名鼎鼎的Andrew Tanenbaum)和特殊版OS/2,因此IBM 很快中止PowerPC 615,留下无数揣测和无声叹息,世人无缘亲眼见识IBM 亲手打造的x86 处理器核心究竟有多厉害。
历史没有如果,但若苹果和微软都愿意支持PowerPC 615,计算机工业史会不会大幅改写、x86 在个人电脑和云端数据中心服务器的霸权是否牢不可破,就只能留待各位慢慢思考了。
曾有资格取代x86 的Alpha 处理器错在哪里?
但IBM PowerPC 615 并非唯一RISC 进军个人电脑市场的尝试,1990 年代末期还真的出现过「背后有微软大力支持,产品和技术也都有,更可和AMD 策略结盟,但被自己的愚蠢决策活活搞死」经典惨案:传奇性的效能王者DEC(Digital Equipment Corporation)Alpha处理器与FX!32 x86 模拟器。
DEC 在1996 年跟微软联合发布FX!32 模拟器(二进制转译),可让执行原生版Windows NT 操作系统的Alpha 处理器平台跑32 位元x86的Windows 应用程序时,号称「效能可达x86 原生环境40%~50%(最佳化后达70%),然后因同时期Alpha 处理器享有对x86 的压倒性高时钟频率,足以抵消转译造成的损耗而有余」。
大学时代的笔者曾在某届COMPUTEX(台北国际电脑展)DEC 摊位一亲芳泽,唯一印象是「速度确实不快,但还可接受,尚有改善空间,前景一片光明」。
不过DEC 与后来买家康柏(Compaq),都不重视「借进入个人电脑市场做大基本盘,低价普及化,建立可长可久的生态系统」这件事。DEC 是到1997 年3 月17 日,才与三菱联手推出规格极度无诚意的Alpha 21164PC(PCA56),对上稍晚登场的英特尔Pentium II(1997 年5 月7 日),除了高时钟频率和低单价(都被昂贵的系统芯片组抵销还有余,一加上去成本直接倍增),完全缺乏竞争优势,态度也不甚积极。
▲ 500MHz的Alpha 21164 处理器在原生Windows NT 操作系统透过FX!32 模拟器执行32 位元Windows应用程序,可借压倒性时钟频率优势取得与200MHz 的Pentium Pro 互有长短的表现,至于「原始能力」差距就更明显了。这让Alpha 成为计算机工业史上最有资格完全取代80x86 的RISC 处理器家族。
1996 年加入AMD、2008 年夏天升任CEO的Dirk Meyer,曾经历Alpha 21064 与21264 研发工作,领导誉为「x86 世界的Alpha 21264」Athlon(K7),也确立从DEC 取得EV6(21264)系统总线授权。换言之,假如DEC 真的有心,早该直接找上AMD,共同研制有价格竞争力、功能完善的共通系统平台架构。这一直是Alpha「PC」的最大弱点。
下表数据也隐约透露指令集架构的影响,一切尽在不言中。说Alpha 是计算机工业史上最简洁优美的指令集架构,没有之一,绝非过誉。
事实上,AMD 还「真的」开发出可同时用在Athlon 和Alpha 21264 的系统芯片组AMD-751(Irongate)与AMD-761(Irongate-2),也提供DEC 自家21272 / 21274 芯片组没有的AGP,但也仅代工生产Alpha 21164PC(PCA57)的三星采用。
▲ AMD在K7 世代采用来自DEC 授权的EV6 总线,这使得K7 和Alpha 21264 共用系统平台架构成为伸手可及的可能性,况且AMD 也的确开发出两者共通的系统芯片组,但DEC 并没有掌握这可推广Alpha 的大好机会。
康柏1999 年8 月23 日以「只有5% 的Alpha 系统出货时安装Windows NT」为由,宣布退出与微软联手发展Windows NT 后继版,也停在Alpha 系统内建Windows NT。
一周后,继1997年宣布放弃MIPS 和PowerPC,微软迅速声明Windows 2000 不会有Alpha 版(含让Windows NT 核心进入个人电脑的Windows XP),彻底斩断Alpha 普及化的最后一丝希望,白白浪费天时(FX!32)、地利(微软)、人和(AMD)兼具的大好机会。相对「非战之罪」的IBM PowerPC 615,DEC 的Alpha 就堪称「自作孽不可活」了。
▲ FX!32 二进位转译器是Alpha 取代x86 的王牌,但DEC并没有好好善用,到后来甚至连微软Windows NT 兼容性都被自己舍弃了。
这里也不得不稍微谈谈1990 年代末期的时代背景:全世界都傻傻相信,英特尔与惠普(HP)携手的IA-64 指令集和「64 位元真命天子」Itanium 处理器,将以秋风扫落叶之势一统RISC 高阶服务器江山,并逐步向下渗透x86 既有地盘,政治正确,毫无怀疑空间。
但事后诸葛,延续「比英特尔拥有过的一切(包括Itanium)都好」Alpha 累积的成果才是看似最正确的选择,也不必浪费时间弄什么IA-32 EL(Execution Layer)。俗语说得好,千金难买早知道。但假使英特尔可预知悲惨的结局,搞不好就像今天这样死心塌地专注x86(最起码服务器和个人电脑的确如此),不对RISC 做任何「非分之想」。应该吧?
▲ 如果时间可以重来,英特尔大概会直接沿用Alpha 累积的成果,也不必大费周章重新做轮子,弄什么IA-32 EL 只为了解决1996 年DEC 就搞定的问题,更何况还晚了整整十年。
行文至此,回到原点,最能决定指令集架构与兼容处理器站稳个人电脑市场的主宰者,还是手握Windows 操作系统的微软。ARM 跟RISC-V 能否踏入甚至站稳这块被x86 双雄主导的战场,还是得静观微软的动向。
结论就套句1986年推动苹果「水瓶座」计划的法国巴黎人Jean-Louis Gassée 个人专栏的精辟观点:说穿了,x86 指令集的「霸权」,建立在微软Windows 的兼容性之上,除此之外,x86 指令集并没有英特尔(和AMD)想的那么有价值。