台湾处理器拾遗:超级抠门的Centaur造就了威盛x86

2020-05-10 12:22:39 来源:EETOP综合整理

严格说来,中国台湾厂商至今仍从未在 x86 处理器市场缺席,即使这块领域早已被 Intel 和 AMD 牢牢的支配着,少有其他厂商的生存空间。

在2019 年11 月18 日,位于美国德州奥斯丁的Centaur(中文翻译为「半人马」),发布了x86 世界首款内建人工智能辅助处理器的「服务器级SOC」CHA,原生八核心,四通道DDR4,可双处理器组态,并支持连AMDZen2 都尚未提供的AVX-512 指令集。继 2008 年 5 月 29 日发布的 Nano(凌珑)系列处理器后,相隔超过十年,总算催生出全新的微架构与处理器产品。

这家已成立25年的公司Centaur,早在1999年9月16日,被威盛电子(VIA)以5,100万美元的价码,从IDT所收购,成为威盛的子公司,并构成威盛旗下x86处理器的技术基础。

值得注意的是,威盛电子也在当年8月3日,从国家半导体(National Semiconductor),以足足超过3倍的价格(1亿6,700万美元),买下了Cyrix。但其技术血脉,却彻底绝灭,还在Cyrix III处理器上演了「狸猫换太子」、从Cyrix转为Centaur技术的戏码。Cyrix唯一留下的贡献,仅限于从Intel取得的交互技术授权,如Socket 370使用到的P6系统总线(可能还得加上一些跟Cache设计有关的知识),确保威盛不会被Intel的法务部门找麻烦。

不过当历史上如过江之鲫的x86 处理器厂商,一家家的消失在历史的洪流,一个一个逐渐被众人所遗忘,Centaur 可存活至今的理由,源自于公司创办人Glenn Henry 对于成本「斤斤计较」的坚持,可说到了走火入魔的程度,包含威盛x86处理器曾经让人「津津乐道」的「半速浮点运算」。

在了解Centaur 的产品设计哲学:简单(Simple)、迅速(Fast)、便宜(Cheap)之前,我们得先瞧瞧现已高龄77 岁、但仍以半退休状态延续职场生涯的Glenn Henry,究竟是何方神圣,会如此偏执的将1980 年代RISC的诞生初衷,贯彻于x86处理器产品设计,并开辟出一条远离x86 双雄激战区的「精巧低廉」发展路径──尽管下场好像也不是太好看。

出身自IBM 院士的Glenn Henry

Centaur 创办人兼前任总裁Glenn Henry 生于1942 年7 月26 日,在IBM 展开其职业生涯,并在1985 年因RISC 的先驱研究成果(IBM RT PC, PowerPC 的前身),得到了IBM 院士( Fellow)的头衔,拥有汗多达三百份的专利。

但他本人后来兴趣转向于「将RISC 的精神,引入高度普及的x86 指令集相容处理器」,而IBM 高层对此并不感兴趣,所以他在1988 年离开了任职21 年的IBM,转战Dell ,成为该公司历史上第一位研发部门副总裁,并在1993 年升任管理产品线的资深副总裁。

那时Glenn Henry 注意到一个问题:他无法在市面上买到售价低于160 美元的个人电脑处理器,这也变成降低个人电脑零售价格的最大障碍。如果没经历过1990年代初期,各位可能很难想像那时的x86 处理器有多昂贵:在1994年第一季,连486DX2 66MHz 都要440 美元,更不用讲793 美元的Pentium 60MHz 了。

有鉴于此,Glenn Henry 在1994 年离开Dell,重操旧业,投入于x86 指令集相容处理器的研究。有趣的是,当时在MIPS 工作的某位「前IBM 人」Tom Whiteside,希望Glenn Henry 可打造出同时兼容于MIPS 与x86 指令集的处理器,将MIPS 推入个人电脑市场,这也是Centaur 此名的由来:半人半马。

无独有偶的,在那时,IBM 也提出了通吃PowerPC 与x86 的PowerPC615。大家都想「渗透」个人电脑市场,设法分一杯羹,特别当销售x86 处理器的利润还是极为丰厚的时候。

令人难以置信的超低研发费用与超短开发时程

不过他们拿着这个混合式处理器架构的提案,绕了众多研发MIPS指令集兼容处理器的厂商们(那时很多人做MIPS)一大圈后,最后只剩下一间公司愿意买单:IDT,然后Centaur 就在1995年成立了。

但Glenn Henry 和他的老板IDT CEO Len Perham,很快的承认残酷的现实:MIPS 没有机会进入个人电脑市场,专注于x86 会更有价值,Centaur 就开始以极度拮据的预算,在x86 处理器踏出了第一步,因为以MIPS 兼容处理器和SRAM 做为主要业务的IDT,并不是什么有钱的大公司,支付不起像Intel 和AMD 那样巨大的研发团队。

Glenn 只能采取精兵政策,从摆明放弃研制x86 处理器的IBM 和TI,挖来对x86 有经验的工程师,在德州奥斯丁的Somerset PowerPC 研发中心弄来PowerPC 工程师,并从前东家Dell 找来个人电脑专家,组成了大约40 人的研发团队。

接着奇迹就降临了:Centaur 仅用不到一年的时间,就Tape Out初代的C6 处理器(第一代WinChip)设计,并在1996 年7月,首次Windows 操作系统开机成功。更骇人听闻的是,研发经费仅1,000 万到1,500 万美元,很可能连Intel P6(Pentium Pro)的十分之一都没有。

开发成本缩减至此,就算Centaur 只吃下1% 的x86 处理器市场占有率,都足以养肥自己了。况且这笔钱还有一半是由日本的MIPS 处理器厂商NKK 所分担的,他们在当时被当作IDT 部分产品的替代来源。

Centaur 如何打造如此夸张的世界奇观?在AMD 的K5 创造者Mike Johnson 口中「毫无道理可循」的x86 指令集不是出了名的难搞吗?这就跟他们坚守的三原则:简单(Simple)、迅速(Fast)、便宜(Cheap)密不可分了。

成本至上,扬弃超标量流水线和动态分支预测

1990 年代初期,「一个指令跑不够,你可以执行两个」的超标量处理器(Superscalar)流水线,与「以古鉴今」预测分支是否发生、确保指令流水线不会停摆的动态分支预测(Dynamic Branch Prediction),是奠定高效能处理器的重要技术指标,也激增了处理器的结构复杂度。

信奉精简教条的Glenn Henry 却不吃这套,吃了砰陀铁了心,要用最短的时间、最低的成本,做出最便宜的产品,所有的晶体管预算都要砸在刀口上,不允许任何一丝一毫的赘肉。

就这点来看,Centaur 的理念,和同时期的Rise 与同年成立的Transmeta,完全如出一辙,并不打算跟Intel 硬拼,而是希望在低价电脑和笔电市场开拓一片全新的蓝海。唯一的差别只有Rise认清时势急流勇退,Transmeta 如同蜡炬般的烧尽资金,资源消耗最少的Centaur 却依旧幸存至今。

Centaur 扬弃超标量流水线的主因很简单:有效率的超标量流水线,须搭配大量的配套措施(像可让指令解码器同时撷取两个指令的双通道指令Cache),太过复杂,迟至2000年揭露的C5X,才算迈进超标量流水线的世界,只是C5X 也因成本因素,默默的不见,直到2008 年的Nano(CN)才重现曙光。

关于不做动态分支预测,就是纯粹的精算了,Centaur 预估在C6 引进类似Intel Pentium 的动态分支预测功能,会提升5% 效能,但将明显增大芯片面积,得不偿失。

Centaur 将极为有限的资源,集中在认定的效能瓶颈,如便于提高主频速率、集中加速最经常被执行简单指令的微指令转译,用较高容量的Cache、位址转译后备缓冲区(Translation Lookaside Buffer,TLB)和分页表目录Cache(Page Directory Cache,PDC),设法弥补缺少超标量流水线和动态分支预测的不足。所有的努力,仅局限于一款「最高效益的表露处理器」。

也难怪微处理器报导(MicroprocessorReport)主编曾戏称:Centaur 做的不是「超标量(Superscalar)」,而是「超级标量(Super “Scalar”)」处理器

所以Centaur 那神奇般的超低研发成本和超短开发时间,并不是没有代价的。你就知道Glenn Henry 这个人有多抠,完全的「台式中小企业经营法」。

顺便一题,为何这时所有Intel 竞争者的产品命名,从Cyrix 6×86 / 6x86MX、NexGenNx686、AMD K6、Rise mP6 等,通通都要用到「6」?道理很简单,因为要象征追的上Intel Pentium Pro(P6)的「第六世代x86 处理器微架构」。

但1997 年10 月13 日问世的WinChip(C6),本质上根本是一颗「导入先进技术的80486」,别说超标量流水线,连动态分支预测也付之阙如,甚至连效能测试项·目,只有未对超标量最佳化的Winstone97 才勉强可搬的上台面,那个「C6」,实在是受之有愧。

奇谋而短、小步快跑的闪击式产品研发路线

反过来说,天下武功,唯快不破,极短的产品开发时程,也带来更密集的产品更迭,尽速修正前代产品的弱点,并缩短进入市场的时间(Time To Market),迎合市场需求。初代WinChip 才刚上市没多久,1997 年11 月Centaur 就宣布微幅改良版的C6+ 计划,并在1998 年5 月19 日就公开样品,当年9 月WinChip 2 产品就登场,速度相当惊人。

在1998 年,Centaur 大约每季销售25 万颗WinChip系列处理器,推算一年约100 万颗,主要客户都在美国以外的市场。按照当时个人电脑年度出货量,Centaur 的确有达到1% 市占率的目标。在1999 年被威盛购并时,初代WinChip(C6)在两年半的时间,累积了150 万颗的销售量,这并不包含WinChip 2 和WinChip 3(C6+)的数字。

奇谋而短、小步快跑的打「机遇战」,看不见的副作用,莫过于混乱的产品时程表,亲身体验过某些「老板导向」企业文化的科技产业工作者,都会有一股强烈的即视感。

以C6+ 来说,根据倍频比例、制程、核心/ IO 分离式电压和Cache容量,就可分成WinChip 2、WinChip 2A、WinChip 2B 和WinChip 3 这4 种产品线。在Centaur 被威盛购并后的5 年内,更是毫无逻辑可言,连笔者都有点同情威盛的产品行销人员,看了二十几年的处理器产品时程表,还没见过这么夸张的案例。

C6+ 改进C6 的两个主要缺点:缺少动态分支预测(4096 个单位元分支历史表),和贫弱的浮点/ MMX 效能(将其管线化并可同时执行两个指令),并新增AMD 3DNow ! 指令集。

其实为了改善3D 应用的效能,Centaur 原先计划自行定义53 个SIMD浮点指令(耗用12 个x86 运算码)与22 个可直接定址(有别于80×87 的愚蠢堆叠架构)的80 位元浮点暂存器,并完全符合IEEE 754 浮点数规范,看似非常的前瞻,也明显优于AMD 的3DNow! 与Cyrix 的MMX-FP。

看在微软希望所有x86 处理器厂商,统一采用相同SIMD 浮点指令的份上,与当时AMD CEO Jerry Sanders 很大方的愿意开放3DNow! 让业界共襄盛举,Centaur 就抛弃了这念头,投奔AMD的怀抱,况且假若谣传中的Intel MMX2 使用到重复的运算码,届时将会对Centaur 带来莫大的麻烦。

在1997 年底透露的「C6 强化方案」还有一项未能实行:新增256kB 二级Cache,这档事倒是对Centaur 的母公司IDT 相当有意义,毕竟IDT 的本业除了MIPS 相容处理器,还有SRAM。

但经过Centaur 仔细盘算后,评估在0.25µm 制程时,加挂256kB 二级Cache,将几乎倍增芯片面积(58 mm²→113 mm²),而加倍一级Cache的效果相去无几,但面积成长不多(58 mm²→75 mm²),自然着毋庸议的在WinChip 3 选择了后者。

低价电脑一直是Centaur的大好机会,Cyrix 在1997 年3 月,发布x86 处理器史上第一颗整合绘图和音效的系统单芯片MediaGX,促使Centaur 在产品时程表摆上了如法泡制的WinChip 2+NB(整合北桥),也与威盛(VIA)、矽统(SiS)和扬智(ALi)等台湾芯片组厂商,洽谈北桥芯片的技术授权,预定在1999 年第一季量产。

但WinChip 2+ 和WinChip 2+NB 在1998 年底即无疾而终,死因不明,但可合理判断原因不外乎「谈不拢芯片组授权」、「研发能量不足」,或着「可能有买家快要来购并了」。而WinChip3 的表订时脉,就更加遥不可及了。

「半速浮点运算器」的传奇

在21 世纪初期经历过Cyrix III 和早期C3/Eden(C5A/B/C/N 核心)处理器的个人电脑玩家,或多或少听闻「威盛处理器的浮点运算频率只有主频一半」的传奇故事,而坊间谣传的解释多半是「为了提高良率」,这说法完全大错特错。

Intel Pentium Pro 三位总工程师之一的Robert Colwell,在其回忆录《The Pentium Chronicles》的第五章「产品量产阶段(TheProduction Phase)」,引用了一段冷笑话,突显在这个跟时间赛跑的「死线期」,工程团队到底在想些什么。

两个男性工程学系的学生,骑车穿过校园。其中一人好奇的问「你这台绿色脚踏车是怎么来的?」另一人回答「我昨天独自散步,一边走一边想着我的作业时,有位漂亮女孩骑着这台脚踏车,在我面前停下,一下车,马上脱个一丝不挂,要求我带走想要的东西。」发问者就猛点头表示同意,「好选择,因为那些衣服你可能穿不下」。

这种「实用主义」在当你面临最严酷的时间压力时,就是再自然也不过的「政治正确」。

Centaur 在1998 年底披露的WinChip 4(代号C4,数字终于一致),企图藉由从头全新设计的11 级指令流水线(主频目标500MHz 以上)、号称x86世界最强大的动态分支预测机制、大型化的位址转译后备缓冲区、有限度的超标量(指令解码器可在同时钟周期内解码一个复杂指令和一个简单指令,两个MMX /3DNow! 指令可配对执行)和非循序指令执行(限于存储器载入回存),拉近与其他竞争对手的效能差距。

Winchip 4 也采取和同时期的Rise mP6 神似的「执行单元开工前,提前存取数据Cache」等手段,将指令流水线「塞好塞满」。

毫无疑问,Glenn Henry 坚持WinChip 4 依循「简单、迅速、便宜」的「Centaur 登山宝训」,并表示「谋略优于电晶体(Tricks are better than transistors.)」与暂存器更名(非循序指令执行)是「魔鬼的工作(Work of the Devil)」。eetop编辑

但问题来了,Centaur 一方面想提高WinChip 4 的主频,另一方面又不愿意多花时间,重新设计可跟上高主频的深度流水线化浮点运算器,该怎么办?很简单,原封不动的移植WinChip 2 的浮点运算器,两个时钟周期当一个用,让它只跑主频一半的时脉就好了,一切功德圆满,皆大欢喜,让原本性能就偏弱的浮点运算,从此变成威盛x86 处理器的超级大劣势,到了2003 年的C5XL 核心VIA C3 才解决。这「谋略」有多「厉害」,就见仁见智了。eetop编辑

在威盛体系取代Cyrix

威盛在1999 年6 月30 日与8 月5 日,先后宣布购并Cyrix 和Centaur。第一个标上威盛品牌的x86 处理器,是Cyrix 代号「Joshua(约书亚)」的Cyrix III,在2000 年2 月22 日进入市场,但极为短命,活不到半年就夭折。

Centaur 为了配合新东家的产品发展策略,Socket 7 脚位的WinChip 4(C4)仅停留于工程样品阶段,转为Socket 370 的C5A(威盛代号Samuel)。「理论上」C5A 应沿用大半的C4 设计,但很明显的,光动态分支预测的部分,C5A 就省略掉了C4 原订的分支目标位址Cache(Branch Target Address Cache,BTAC),已知资料也显示流水线结构也有所差异,总之C5A 没有照单全收C4 的改进项目,恐怕也是为了降低成本。请大家再跟着喊一次:简单、迅速、便宜。

C5A 从开工到Tape Out,从IBM 0.25µm 转进台积电0.18µm 制程,仅花了两个月的时间。更在2000 年6 月6 日,一举取代Cyrix,「鸠占鹊巢」的抢走Cyrix III 这个原本不属于Centaur 的名号。如梦似幻般的Cyrix M3「Jalapeno」微架构与相对应的Socket 370 处理器「Mojave」亦无以为继,替Cyrix 划下了充满遗憾的句点。

在2019 年,AMD 结束了最早源自于MediaGX 的Geode LX 产品线,意味着Cyrix 的技术血脉,从此永远断绝。威盛之所以做出这样的决定,要嘛既有Cyrix 团队的人才大量流失(据闻Joshua 刚「杀青」没多久,团队就解散了),要嘛威盛本来就不打算让Cyrix 活下来,要嘛威盛高层也认同Glenn Henry 的那一套省钱之道,要嘛三者皆有。eetop编辑

当x86 双雄开始在低价市场大打出手

但威盛进军x86 处理器市场的时机却极度微妙。站在更远的角度观察1999 年的x86 处理器市场,就不难理解国家半导体和IDT 急着脱手旗下x86 处理器部门的缘由──Intel 和AMD 早就盯上了低价市场,这让他们手上的x86 处理器业务,变成欲除之而后快的烫手山竽。

在1998 年11 月,Cyrix 在美国的零售通路还保有22% 占有率,但在1999 年2 月,Intel 发动高主频Celeron 大攻势之后(同时AMD 也用K6-2 展开抢攻),Cyrix 产品竞争力一落千丈,只能低价促销,美国零售通路占有率瞬间被侵蚀到剩下不到5%,单季销量量跌至150 万颗,产品平均单价更从49 美元一路滑落到42 美元,而品牌电脑和笔电市场就更毫无还手之力。讲的白话一点就是「大环境恶化」,时不我与。

Centaur 的总体销售量跟Cyrix 相比,还差得远了,搞不好累积一整年,还比不过人家最惨澹的一季。这一点都不奇怪,要不然为何Cyrix 的购并价码会是Centaur 的3 倍还要多一些。

但过去只想靠着卖便宜芯片过着安稳日子的Centaur,已经主导威盛的x86 处理器技术发展,面对迎面而来的庞大竞争压力,可是想逃也逃不了,他们还有那个本钱继续死守「简单、迅速、便宜」法则吗?还是为了执着于家传宝训,而付出了更惨痛的代价?

  1. EETOP 官方微信

  2. 创芯大讲堂 在线教育

  3. 创芯老字号 半导体快讯

相关文章

全部评论

  • 最新资讯
  • 最热资讯
@2003-2024 EETOP
×