台湾处理器拾遗》成为威盛电子 x86 处理器技术基础的 Centaur(上)-

台湾处理器拾遗》成为威盛电子 x86 处理器技术基础的 Centaur(上)

阿里云服务器优惠

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

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

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

值得注意的是,威盛电子也在当年 8 月 3 日,从国家半导体(National Semiconductor),以足足超过 3 倍的价格(1 亿 6,700 万美元),买下了 Cyrix。但其技术血脉,却彻底绝灭,还在 Cyrix III 处理器上演了「狸猫换太子」、从 Cyrix 转为 Centaur 技术的戏码。Cyrix 唯一留下的贡献,仅限于从 Intel 取得的交互技术授权,如 Socket 370 使用到的 P6 系统汇流排(可能还得加上一些跟快取记忆体设计有关的知识),确保威盛不会被 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 的 PowerPC 615。大家都想「渗透」个人电脑市场,设法分一杯羹,特别当销售 x86 处理器的利润还是极为丰厚的时候。

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

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

但 Glenn Henry 和他的老闆 IDT 执行长 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 部分产品的替代来源,这笔小钱曾让 NKK 一度有机会成为日本首间 x86 处理器厂商。

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

成本至上,谁跟你超纯量管线和动态分支预测

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

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

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

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

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

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

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

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

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

但 1997 年 10 月 13 日问世的 WinChip(C6),本质上根本是一颗「导入先进技术的 80486」,别说超纯量管线,连动态分支预测也付之阙如,甚至连效能测试项目,只有未对超纯量最佳化的 Winstone 97 才勉强可搬的上檯面,那个「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 分离式电压和快取记忆体容量,就可分成 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 执行长 Jerry Sanders 很大方的愿意开放 3DNow! 让业界共襄盛举,Centaur 就抛弃了这念头,投奔 AMD 的怀抱,况且假若谣传中的 Intel MMX2 使用到重複的运算码,届时将会对 Centaur 带来莫大的麻烦。

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

但经过 Centaur 仔细盘算后,评估在 0.25µm 製程时,加挂 256kB 第二阶快取记忆体,将几乎倍增晶片面积(58 mm²→113 mm²),而加倍第一阶快取记忆体的效果相去无几,但面积成长不多(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 年底即无疾而终,死因不明,但可合理判断原因不外乎「谈不拢晶片组授权」、「研发能量不足」,或着「可能有买家快要来购併了」。而 WinChip 3 的表订时脉,就更加遥不可及了。

「半速浮点运算器」传奇故事的由来

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

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

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

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

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

Winchip 4 也採取和同时期的 Rise mP6 神似的「执行单元开工前,提前存取资料快取记忆体」等手段,将指令管线「塞好塞满」。

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

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

在威盛体系取代 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 原订的分支目标位址快取记忆体(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 的那一套省钱之道,要嘛三者皆有。

当 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 处理器技术发展,面对迎面而来的庞大竞争压力,可是想逃也逃不了,他们还有那个本钱继续死守「简单、迅速、便宜」法则吗?还是为了执着于家传宝训,而付出了更惨痛的代价?

赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • potplayer
  • directx