[转帖]深度解读:传奇的Alpha处理器

深度,解读,传奇,alpha,处理器 · 浏览次数 : 0

小编点评

## Alpha处理器效能杀遍天下无敌手的全盛时期 **1. Alpha处理器效能的挑战** * 128位VLIW架构,塞了3个41位元长的指令与对应的排序位元 * 额外标定32种指令排序规则的5位元 * 41位元指令对映「一个萝卜一个坑」的执行单元,导致效率低下 **2. 英特尔在1997年推出的Alpha 21164PC** * 移除96kB L2 快取以降低成本 * 拥有目标2,500美元Windows NT 系统 **3. Alpha的成功** * 1990年代,的确不缺此类乡野传闻 * 如某个世代的爱国者飞弹系统,就曾谣传用到某颗Alpha等等,但都死无对证,就留着让时间证明一切吧 **4. Alpha的意义** * 空有技术无法生存 * 历史很多老牌科技公司,尤其是工程师背景的创业者,往往让公司企业文化过度技术导向,也容易陷入「只要产品够好,自然卖得出去」迷思 **5. Alpha的教训** * 1990年代,的确不缺此类乡野传闻 * 如某个世代的爱国者飞弹系统,就曾谣传用到某颗Alpha等等,但都死无对证,就留着让时间证明一切吧

正文

https://jishuin.proginn.com/p/763bfbd2cf85

 

来源:科技新报(台)

 

长期关心处理器技术发展者,这20年来,很难不每隔一段时间就会偶尔听到「这技术受Alpha影响」、「这是出自于前Alpha研发团队成员的杰作」,甚至老一辈军武迷,或多或少也会听闻「传说某某某尖端武器有用到地球最快的处理器」,而英特尔晶圆厂在2005年还在使用Alpha服务器控制内部所有流程(AMD那时已全面改换自家Opteron),更曾是某些坚定反抗Wintel阵营的骨灰级老人茶余饭后的闲聊话题。

 

此外,神威·太湖之光超级计算机用的神威CPU技术来源也是DEC的Alpha21164。

 

最近因某位发迹于DEC(Digital Equipment Corporation)的Alpha研发团队,往返于AMD与英特尔的「处理器游侠」JimKeller被多次介绍之后,让充满传奇的昔日王者Alpha处理器,似乎又吸引诸多关注的目光。

 

 

事实上,Alpha不但曾在1990年代叱咤风云好一阵时日,因一系列商业购并而四散各方的技术研发团队,更对处理器业界造成极度深远的影响,从AMDK7 诞生并引进EV6总线、Sun的超级多核心多执行绪ThroughputComputing、AMD在推土机时代的丛集多执行绪(Cluster-basedMulti-Threading,CMT)、根本是EV7总线借尸还魂的英特尔QPI,到150位Alpha最终团队成员归宿的英特尔8核心Itanium「Poulson」,皆为Alpha的贡献。

 

但要了解Alpha前,必须先或多或少了解DEC这间公司在Alpha之前的早期产品与历史,才会切身感受为何Alpha能如此独树一帜。

 

「微型计算机」先驱的DEC

 

早期「电脑」可一点也不小,动辄好几个机柜甚至塞满一整个房间者比比皆是,所谓的「微型计算机」也只是相对概念,而「单芯片微处理器」更不是理所当然的产物。

 

DEC公司成立于1957年,算是早期计算机产业的先驱企业之一,1960年代推出18位元PDP-1(ProgrammedData Processor,程序化数字处理器),并让关在研究室的使用者,除了操作这台由四个机柜组成的「昂贵打字机」外,更可以用价值12万美元的PDP-1玩世界首款电脑游戏《Spacewar》。PDP-1总计生产53台,这稀少的数量,今天只会让人第一时间想到超级电脑。

 

 

因体积较小而被誉为世界第一台微型计算机的12位元PDP-8发表于1964年,靠着平均售价仅18,000美元的极高性价比,DEC生产并销售超过1,450台PDP-8。DEC也持续发展在商业取得重大成功的PDP家族,吸引大量对应操作系统。其中最具代表性者,莫过于AT&T的贝尔实验室,1971年于PDP-7和对后世影响深远的PDP-11,开发出第一个Unix操作系统。

 

 

PDP-11借高度「正交性」(Orthogonal,后面会解释)、通用暂存器、并丰富定址模式的指令集架构,并大幅降低生产成本,而获取空前成功,在市场存活长达20年,催生大量出自东欧共产国家和前苏联的复制版本。

 

DEC以其为基础,开发在1977年发表的32位元架构VAX(Virtual Address eXtension,虚拟位址扩展)计算机Model11/780,隔年进一步推出基于VAX架构的原生操作系统VMS(VirtualMemory System,虚拟存储器系统),具备大量当时前所未见的崭新技术。

 

 

1980年代,从小型工作站到六处理器的大型服务器,都是VAX的「守备范围」,也让DEC赚进大把大把钞票。笔者在20世纪末期的大学时代,修习SAS数据处理课程,也是使用古老的VAX系统,普及甚广之程度,由此可见一斑,象征DEC在1980年代的辉煌,DEC也因注册VAX商标,和一家本来就叫VAX的真空吸尘器厂商闹上法庭。

 

 

让VAX「逆向归类」成CISC的RISC风潮

 

但RISC潮流却即将袭来。1980年,加州大学柏克莱分校DavidPatterson 教授著名的论文,创造了「RISC」(ReducedInstruction Set Computer,精简指令集电脑)一词,间接产生对比用的CISC(ComplexInstruction Set Computer,复杂指令集电脑),并在1981年实作第一颗RISC处理器RISCI。

 

 

同时,斯坦福大学JohnHennessy 教授也提出MIPS(Micro processor without Interlocked Pipeline Stages)指令集,1984年开设MIPS公司并推出R2000处理器,有经历过SGI绘图工作站全盛时期或知悉Sony Play Station 2 心脏EmotionEngine 里塞了一颗R4000核心的读者,绝对不可能不知道MIPS的大名。

 

 

后来DavidPatterson 和JohnHennessy 共同著作的两本教科书:俗称「白算盘」(之后因应潮流,封面变成iPad的虚拟算盘)的《计算机组织与设计:软硬件介面》(Computer Organization and Design: the Hardware /SoftwareInterface)与《计算机结构:计量方法》(Computer Architecture: A Quantitative Approach),更是大学资讯相关科系的必备教科书,别说计算机结构课程的期中考和期末考(笔者还为了写作业,跑去买解答本),研究所考试更不可能不考里面内容。

 

 

像「x86指令集大概只有设计它的人才会喜欢」之类的负面评论之所以「深植人心」,这两位当代RISC大师的巨著绝对功不可没,至于为何计量方法第一版的内容会和白算盘初版有那么多的重叠,那就不在本文讨论范围了,搞不好这两位大师一开始只想写一本书也说不定。

 

这些努力,除了让更早期的类似概念产品与相关研究(如CDC6600和IBM801 实验性迷你主机)的成果渐渐浮上水面,更促使更多公司投入RISC处理器的研究与开发。当然,也包含DEC,VAX也因RISC诞生而「逆向归类」成CISC家族的成员,而且还是恶名昭彰的经典。

 

研发Alpha是DEC不得不面对的挑战

 

DEC在1982~1984年间展开RISC的相关研究,1985年整并4个研究案,成为单一PRISM(ParallelReduced Instruction Set Machine,平行精简指令集计算机)计划,并参与MIPSR3000 处理器研发,也让PRISM拥有许多和MIPS相似的特性。

 

问题来了,既然PRISM跟MIPS这么像,那DEC为何不干脆直接采用MIPS算了?干么大费周章「为了喝牛奶养一整座牧场」,1988年DEC管理高层决定采用MIPS处理器,终止觉得浪费钱的PRISM计划,计划发起人兼负责人愤而辞职,跳槽到微软开发WindowsNT 操作系统。1989年初,DEC推出使用MIPSR2000 处理器、Ultrix操作系统的首款RISC工作站DECstation3100(代号PMAX),与处理器主频较低(从16.67MHz降到12.5MHz)的DEC station2100(代号PMIN),这条产品线持续到1994年最终采用MIPSR4400 的DEC station 5000 系列(代号3MAX+)。

工作站靠「开外挂」解决燃眉之急,但1980年代末期,面对雨后春笋般诞生的RISC(MIPS、SPARC、PA-RISC)挑战,VAX在服务器市场逐渐缺乏竞争力的确是不争事实,最终DEC还是不得不打造自家RISC指令集与处理器,且需要具有非常强大的竞争力和发展潜力:目标至少25年生命周期,未来可提升1千倍效能(10倍来自提高主频、10倍来自超标量流水线、10倍来自多处理器架构),又经典、又极端、指令集又「干净过头」的Alpha就这样出现了。


 

复杂指令集经典惨案的VAX

 

虽然Alpha处理器的世代以EV(ExtendedVAX)开头,但Alpha和VAX却是光谱两端的存在,如同和x86名称很像的英特尔IA-64(IntelArchitecture 64)指令集,实际上根本却和80x86八竿子打不着。

 

理解Alpha的设计理念前,各位需要先瞧瞧归类成CISC的VAX,究竟多么夸张,连英特尔80x86都小巫见大巫。基本上,论指令集「毫无道理可寻的复杂度」,假若VAX排第二,那恐怕就没人敢排第一了。好吧,英特尔失败的「32位元迷你大型主机」iAPX432有机会可以一拼。

 

 

前面有提到VAX发展根基的PDP-11有很强的「指令正交性」,意指为数据来源和运算目标的运算元(Operand)非常「独立」,可分别是暂存器或是透过暂存器定址的存储器位址,VAX就有非常经典的指令叫「ADD6」,可将6个不限定寄存器或存储器的运算元「统统加起来」。习惯组合语言的程序设计师可能觉得很方便,但是对硬件设计者就是大灾难了,光指令解码器要如何迅速搞清楚到底有哪些运算元、计算出这些存储器运算元的有效位址,就是天大的麻烦,而VAX极度复杂的数据定址模式(AddressingMode),更让问题雪上加霜。

 

此外,设计处理器最棘手之处,在于发生中断(Interrupt)或例外(Exception)时,保存处理器「当下的执行状况」,并当中断例外处理流程结束后,再将处理器回复到先前的状态。这也难怪两位RISC大师会在著作特别强调「难以想像VAX相容处理器的设计者是怎么工作的」,「把东西做出来并验证完毕」已经相当困难,罔论「又快又便宜」。

 

以VAX-8400来说好了,总计有300多个指令、20种定址模式、指令长度从1~54Bytes,光是要实做这些指令,就需要400~500Kbits的只读存储器(ROM)容量存放微码(Microcode),光用想的就让人头皮发麻。流水线化?超标量?预测执行?非循序指令执行?真的是连想都不用想。

 

RISC的理论基础「80%程序代码只用到20%简单指令和定址模式」反向套用在VAX也一体适用。根据DEC工程师统计,20%的VAX指令用掉60%微码,但这些复杂指令,只占0.2%使用率。

 

所以当DEC迫于产品低价化的压力,1984年推出单芯片MicroVAX,将大多数的复杂指令转由软件模拟,处理器碰到这些指令就触发例外,让操作系统搞定,结果芯片总面积「缩减5倍」,还足以提供90%原生VAX效能。某部知名漫画的名言「原来我体内的怪物长这么大了」,大概就给人这样的感觉。

 

 

对复杂指令集终极反动的Alpha

 

Alpha就是对极端复杂的VAX的「终极反动」,放眼「至少在25年内,提升1千倍效能的未来」,彻头彻尾从指令集层面解除任何阻碍高效能微架构的潜在限制,甚至可说到了走火入魔的程度。

 

1992年发表的Alpha指令集架构,打从一开始就是「64位元的平面存储器定址」,配置32个64位元的整型数据寄存器和32个64位元浮点数据寄存器(讲严格一点都是31个,因为第31个寄存器的数据恒定为零,用来「与零比较」和NOP等用途),支持43位元的虚拟存储器位址(后来扩充到64位元)。

 

 

不过Alpha有3个倍受争议之处:

  • 浮点运算采用「不精确中断」(Imprecise Interrupt):若处理器发生中断(如外部I/O发出需求),然后处理器处于「明确定义」的状态,例如标定下一个要被执行指令的存储器位址的程式计数器(Program Counter,PC)存入已知的位址,前面所有指令都将被执行完毕,而在后面的指令都不可以被执行,这也是一般我们认知中的「精确中断」 (Precise Interrupt)。


    但Alpha的浮点运算却需要塞入额外的TRAPB(Trap Barrier,设陷边界)让处理器「停摆」(Stall),确保在此之前的指令都会在不触发例外的情况下,都被执行完毕,少了这个指令的浮点程式码,运算结果将无法完全符合IEEE 754规范。这作法摆明就是牺牲处理器的中断例外严谨度,将控制单元的部分复杂度从硬件转移到软件,这种「relax limitation for performance」(松绑限制为效能)精神,日后也被英特尔Itanium继承。

     

  • 无法直接载入回存8位元(Byte)和16位元(Half-Word)数据:Alpha的原始设计者不希望看到「小量」的数据存取所需要的额外功能电路,降低数据传输效率,索性采取「锯箭法」,一次只能存取32位元或64位元,再由位元组处理指令「萃取」需要的那一小块数据,等于变相增加指令的数量和程式码体积,即使这工作很单纯。隐而不现的副作用是:让从其他32位元指令集架构(如VAX、MIPS和x86)移植软件到Alpha更困难。


    很明显,后继接手新产品开发的DEC工程师并不认同「斩草除根」的暴力手段,1995年10月发表的Alpha 21164A(EV56)处理器,新增六个BWX(Byte-Word eXtension)指令,用来存取8位元和16位元数据。

     

  • 运算元定址模式只有一种:寄存器加上位移值(Register + Offset),和其他RISC指令集相比根本精简过头,这也会增加需要的指令数和程式码体积,这点也影响英特尔Itanium ,还被IBM用力批判了一番。

     

 

至于在特殊权限模式执行Alpha的机器码,以便对处理器底层硬件上下其手,介入快取存储器管理、TLB误失处理、中断例外处理、甚至可简化跨指令集的二进位码转换(BinaryTranslation )的PALcode(Privileged Architecture Library code),为了指令流水线化不支持整数除法,32位元单精确度浮点数在暂存器内会自动转换成64位元双倍精确度格式,解密运算会用到的位元计算指令等,也都是Alpha指令集的独有特色。

 

Alpha还有一个很有趣、但是少人注意的特点:拜指令编码预留大量扩充空间,一开始就支持条件搬移(Conditional Move)指令,讲玄一点,将「分支相依性转化为数据相依性」,替换一般的分支条件判断,也可避开分支预测,利于指令管线化。

 

以一个简单的条件判断为例:

  • beqra, label //ra = 0,就跳到label
    orrb, rb, rc //否则就把rb的数据搬移到rc

  • Alpha可一个指令就打死:

  • cmovnera, rb, rc

 

总之,假若VAX是CISC的异端,那系出同源的Alpha堪称RISC的极致,对同公司前辈VAX的终极反动,纯洁到不能再纯的干净指令集架构,带领处理器产业迈向「25年效能千倍」的美好愿景。

 

有趣的是,当Alpha处理器要进入生产销售阶段时,DEC行销部门命名为AlphaAXP,但根本没人知道这代表什么意义,后来才有人硬掰了一个非官方全名:AlmosteXactly PRISM。唯一肯定的是:那时DEC确定没人注册AXP商标,不会重蹈VAX和真空吸尘器撞名的覆辙。

 

1990年代叱咤风云的效能王者

 

1991年发表的Alpha21064(EV4)主频已上看200MHz,隔年英特尔初代Pentium也才66MHz,可见优势多么巨大。

 

Alpha基本命名规则如下:

  • EV:Extended VAX,我们很清楚Alpha几乎和VAX无瓜葛,唯一较值得一提的是为了延续VMS操作系统,Alpha需相容VAX的浮点数据格式。

  • 21:面对21世纪。

  • 0:处理器世代流水号,从零开始。

  • 64:64位元。

     

 

从1992~2004年,总计出现20个Alpha处理器型号,也包含进攻工作站甚至个人电脑市场的低价产品,但基本上可归类成六世代。

 

 

关于扩充指令集,很可能基于对「一次新增大量指令会影响处理器主频」的担忧,DEC并不像英特尔没事一次追加动辄数十、甚至上百个新增指令,态度保守许多。

 

 

反观英特尔,就真的是乱加指令好像免钱,随便一次扩充,就比历代Alpha总和还多。

 

PentiumMMX(P55C,1996):53个MMX,还为此大兴土木加深Pentium的指令管线深度。

  • Pentium III(Katmai,1999):70 个SSE。

  • Pentium 4(Willamette,2000):144 个SSE2。

  • Pentium 4(Prescott,2004):13 个SSE3。

  • Core 2(Merom,2006):16 个SSSE3。

  • Core 2(Penryn,2007):47 个SSE4.1。

  • Core i7(Nehalem,2008):7 个SSE4.2。

  • Sandy Bridge(2011):那「可一对一替换SSE」的AVX 就不提了,数不完。

  • Skylake(2015):版本乱成一团的AVX-512,请饶了笔者吧。

 

结合一切可想到的有利条件,Alpha处理器的性能表现一直相当出色,从1992年的初代21064(EV4)就靠200MHz主频,创下浮点运算的世界纪录,接连数代主宰1990年代的「效能赛猪公」。

 

以当时的业界指标SPECCPU 95:

 

1995年:主频高人一截的EV5痛宰英特尔PentiumPro。

2000年:5年后,主频较低,EV6还是在浮点运算屠杀英特尔PentiumIII。

 

从陪衬的惠普(HP)PA-RISC处理器也可看出显而易见的事实:在相似的条件下(如市场规模、研发资源、制程技术、开发时程),RISC指令集较易打造出高效能处理器。2001年,效能王者的宝座就换原生双核的IBMPower4 上位了,至今蓝色巨人的RISC仍然坚守不动。

 

Alpha被HP放弃的十年后,2015年12月31日启用的中国超级电脑「神威太湖之光」,其「260核心」(256个用在运算,4个用于资源管理)SW26010处理器,也是基于Alpha指令集的产物,足以证明其架构的简洁性与前瞻性。

 

 

Alpha因痛失苹果机会与连续被购并而被迫消失于历史的洪流

 

不知不觉中,好像「与来自苹果的机会擦肩而过」就是一连串灾难的保证?假如英特尔当年拒绝替苹果打造第一代iPhone行动处理器,让英特尔错失重大历史机运,那1990年代初期的DEC亦不遑多让。

 

苹果跟IBM、Motorola组成「AIM联盟」推广PowerPC前,早在1991年就惊艳于初代Alpha(那时还只是展示用的工程样品)的惊人效能,有意在苹果电脑导入Alpha,就被DEC打枪了,理由是「推入市场的时机并未成熟,且VAX架构尚有值得发掘的潜力」(如果换成笔者听到这种借口,还不如一开始就押宝英特尔x86算了,谁会吃饱太闲想碰比x86还难搞的VAX),只能说创造灾难的历史,只会一再一再重演。

 

因产品价格与专利费用太过昂贵而叫好不叫座的Alpha,未能让DEC摆脱「后VAX时期」留下的困境。从1991~1994年,总计亏损40亿美元,被迫断尾求生,全力卖掉「可割可弃」的部门。

 

先在1994年7月以4亿美元价码,把生产硬盘驱动器的储存部门卖给硬碟厂商昆腾(Quantum),接着数据库软件部门以1亿美元卖给甲骨文(Oracle),1997年10月将纽约州哈德迅的晶圆厂、德州和以色列的研发中心、Alpha处理器生产权与DEC所有专利的十年使用权,以6亿2,500万美元出售给英特尔(这对英特尔是天上掉下来的大礼,却白白浪费掉),1997年11月再以4亿3千万美元把网通部门卖给Cabletron。

 

1998年1月26日,陷入财务危机的DEC被康柏(Compaq)以96亿美元收购,1999年康柏的财务危机亦影响到Alpha的开发与服务器生产,让Alpha的未来蒙上一层厚厚的阴影。2000年「.com泡沫」破灭,重创全球IT产业,知名公司股价纷纷一泻千里,惠普(HP)更在2001年9月4日宣布以225亿美元购并康柏,源自于超长指令集(VLIW)化PA-RISC的IA-64指令集与相对应的Itanium处理器,注定完全取代Alpha的地位。

 

另外某件事也值得在Alpha的墓志铭刻上一笔:专业晶圆代工与IP授权观念尚未成熟的1990年代,DEC就让Alpha成为「开放性架构」,不限DEC自家晶圆厂,三菱(Mitsubishi)、三星(Samsung)、IBM甚至英特尔,都曾生产Alpha处理器。但过度高昂的专利授权费,与DEC高层长期缺乏「电脑需要低价普及化」的意识,都让高高在上的「效能王者」,迟迟难以踏入平常百姓家,即使曾出现「个人电脑专用的Alpha处理器」也依旧让人高不可攀。

 

差点成为最有资格取代x86的RISC

 

回顾历史,最有机会也最能肩负「消灭80x86」重责大任的RISC,不是Itanium,而是Alpha。不限英特尔和AMD,「失去微软Windows的保护伞」,对DEC也同样致命。

DEC在1996年发表FX32!二进位码转译器(Binary Translator),让执行WindowsNT 的Alpha系统可执行32位元x86的Windows应用程式,号称「可达到原生环境的40%~50%效能,最佳化后达70%,然后因为同时期Alpha处理器享有对x86的压倒性主频优势,足以抵消转译损耗而有余」,看起来前途一片光明。

 

 

但康柏高层1999年8月23日,却以「只有5%的Alpha系统安装WindowsNT」为由,宣布退出WindowsNT 开发计划,也停止在Alpha系统预装WindowsNT。一周之后,继1997年宣布放弃MIPS和PowerPC,微软声明Windows2000 将不会有Alpha版,断了Alpha普及化的最后一丝希望。

 

从「孤芳自赏」到「流芳百世」

 

公司风雨飘摇,自然就会有人纷纷跳船另觅出路,尤其Alpha研发团队不少才华洋溢的工程师,他们的动向决定不少公司的命运。Alpha对处理器技术发展的影响极度深远,但篇幅有限,笔者仅能挑出几个公认案例与各位分享。

 

AMD:受Alpha影响最深的处理器公司,没有之一

 

 

让AMD首度有能力正面挑战英特尔的K7:1998年微处理器论坛(Microprocessor Forum)首度曝光时,相信很多人(包含笔者)第一时间还以为自己看到的是「换了指令集的Alpha 21264」,简直是同个模子刻出来的,而且「连系统总线都还是如假包换的EV6」,意味双方的系统芯片组理论上可彼此共通。

 

 

K7和Alpha 21264 的演进轨迹也极度神似,唯一差别在于DEC可用到的制程明显不如AMD,K7也比Alpha 21264 还早一年达阵1GHz主频大观,也可足以证明个人电脑市场的巨大出货量,对推进半导体制程发展的重大推力。提醒一点,AMD发表K7前,DEC已经被康柏购并了。

 

横空出世的K7帮助AMD创下「单季10亿美元营收」里程碑,立下重大战功的Dirk Meyer 在2006~2008年担任AMD营运长,并于AMD开始大事不妙的2008年,从Hector Ruiz手上接下执行长大位,完成分割晶圆厂为Global Foundries、解决跟英特尔的法律诉讼、推出整合处理器与GPU的APU等艰巨任务,但因无法满足AMD董事会对行动市场的期待(和英特尔当时情况如出一辙,x86义和团集体「起乩」妄想x86征服世界),2011年底仓促下台。

 

谈到AMD从DEC取得EV6总线授权,而让价格便宜甚多、并可提供AGP的K7系统芯片组可相容Alpha 21264,倒也成为可杀入个人电脑市场的难得契机,但康柏却没有好好把握,或着很可能连想都没想过,否则也不会平白无故放弃珍贵的Windows相容性和现成的x86转译器。

 

让AMD打开服务器天堂大门的K8:笔者不是AMD内部人员,难以判断AMD在K8获得空前成功的背后,到底是「x86 Everywhere起头者」技术长Fred Weber、「处理器游侠」Jim Keller、从英特尔跑去插花短暂负责「真正K10」的Andy Glew,还是哪位大恩大德的功劳比较大,但拜同样「沿用前代核心,改进重点集中在系统架构和整合式存储器控制器」之赐,K8视为「x86世界的穷人版Alpha 21364」这点倒是没啥争议空间。

 

别忘了,继承HyperTransport遗志,AMD反攻超级电脑市场的布局中,扮演举足轻重角色的Infinity Architecture,也是源自前者留下的遗产。

 

 

同时受到多个面向影响的推土机:决定AMD推土机(Bulldozer)丛集多执行绪(Cluster-based Multi-Threading,CMT)的因素还满多,包括「将核心内部宽度扩展为双核规模但塞入四条执行绪」的Alpha 21464(EV8)、负责双核心IBM Power4 的前总工程师Chunk Moore、离开DEC后开发Sun UltraSPARC V 却又因产品被砍跑去AMD的现任ADI技术长Dan Leibholz(与位于美国东岸波士顿的Sun团队)。

 

 

但仔细考虑这3个要素融合后的样貌,再加上配合整合GPU的Fusion大战略,推土机演变成「电晶体预算毫无任何浪费、统统砸到刀口上的穷人版Alpha 21464 整数运算核心」就让人完全不感意外了。

 

 

真正K10的Zen:这就无需浪费篇幅解释了,Jim Keller这位「游侠」搞完Zen后又跳回英特尔,但对Zen的成功,也许台积电先进制程的「含金量」还比较高一点?

 

Sun「Thoughput Computing」的真正概念起源

 

 

Sun在2004年重整UltraSPARC处理器产品线,认清自身研发能力不足的现实,走向和富士通(Fujitsu)SPARC64截长补短的互补策略,取消「传统」非循序指令执行的UltraSPARC V,转进靠着大量多核心多执行绪、牢牢整合网路辅助处理器、狂拼如瀑布运算吞吐量的「Thoughput Computing」。2005年底发表的8核心、32粗质执行绪UltraSPARC T1「Niagara」(尼亚加拉瀑布)为此系列的首款处理器。

 

 

但这概念其实一点都不新鲜。

 

任职Google、现任Google Maps 工程副总裁的Luiz André Barroso,著作《The Datacenter as a Computer》是数据中心领域不可不读的大作。但2001年仍在康柏工作时,他在知名的电脑机械学会(ACM,Association for Computing Machinery)发表了「An Economic Case for Chip Multiprocessing」,也就是他在DEC和康柏时负责的「Piranha」计划,采用8个简单的循序执行/单指令发出的Alpha处理器,整合理论频宽12.8GB/s的Direct Rambus 存储器控制器与网路通讯协定辅助处理器,追求最高多执行绪效能与能耗比。

 

Piranha的预设主频并不高,仅500MHz,但经过最佳化设计版,主频将可达1.25GHz。Niagara说是Piranha「精神上的后代」,一点都不为过。

讽刺的是,重视服务反应速度,以便「让使用者接触更多广告」与服务器架构泛用性的Google,依然以传统的高效能x86处理器为数据中心主力,未公开采用这类型的特化型处理器,假若以后真的自行研发替代x86的泛用型数据中心处理器,会不会引进如此激进的概念,我们就不得而知了,感觉机率不高。

 

英特尔的QPI总线和实质末代Itanium处理器「Poulson」

 

 

2001年购并康柏的惠普,敲定Alpha死期不远的下场,并将150名原先负责Alpha21464的芯片设计团队移转给英特尔,以前只有十年专利使用权,现在这些人统统变成员工了,英特尔想做什么就做什么,这些成员也逐步接手Itanium处理器的发展工作──尽管Itanium难逃步上Alpha的后尘。

 

发展自EV7总线的QPI(QuickPath Interconnect):原名CSI(Common System Interface)、从2008年开始取代英特尔处理器前端总线(FSB,Front-Side Bus),是英特尔对抗HyperTransport的重要武器,也是统合x86与Itanium平台架构的地基。

 

QPI是序列化(Serial)的高速差动式(Differential)传输点对点连结,传输端(TX)与接收端(RX)各自20位元宽,一对CSI连结除了20×2×2=80条数据线,两个传输方向各需两条前馈主频(Forward Clock)控制线,总计84条。

俗语说得好:眼见为凭,当你看过Alpha 21364 的EV7总线的长相及技术白皮书,再仔细瞧瞧英特尔QPI的细节与大型多处理器环境的虚拟网路功能,一看就知道QPI是由EV7总线衍生出来的产物(单向最小数据传输宽度从16位元扩展到20位元,再提高主频),连有效频宽比率都是80%,没有任何足以让你怀疑的余地。

 

顺便一题,当年在微处理器论坛代表康柏发表Alpha 21364 和EV7总线的Joel S. Emer,后来跑去英特尔当院士了,目前人在nVidia。

 

解放IA-64指令集真正潜能的实质末代Itanium 9500「Poulson」:这是有点曲折离奇的故事,英特尔和惠普本来在2003年宣布,四核心Itanium「Tukwila」要交由「前Alpha团队」操刀,也将是第一个支援QPI总线的产品。那时候外界对此深表期待,寄望战功彪炳的这票人能够跳脱惠普研发团队的既有巢臼,做出焕然一新的IA-64处理器架构,特别是更有效率的小型核心。

 

Alpha团队加入Itanium研发之前,无论英特尔(初代Itanium)和惠普(Itanium 2),都遭遇处理器核心过大的麻烦,主因来自IA-64是超长指令集(VLIW)架构,一个128位元长的指令包,塞了3个41位元长的指令与对应的排序位元,与额外标定32种指令排序规则的5位元,直接静态指令排程,对映「一个萝卜一个坑」的执行单元,也因此,当时的Itanium处理器最多同时执行6条指令(2个指令包),必须提供足够的内部资源,以匹配6个指令的组合,固然简化了处理器内部的数据路径,但却也浪费了庞大的内部执行单元,这是Itanium核心肥大化的元凶。

 

 

那时某票专业人士预期的理想手段是:屏弃IA-64的初衷,比照一般超纯量x86处理器,让管线的前后端就此「拖钩」,不再一条肠子通到底,将IA-64指令包变相视为「复杂的指令,再转译为3个独立的41位元微指令」,再送到相对简单、执行单元较少的处理器核心,但这就完全违背IA-64全力发掘指令层级平行化、尽力降低硬件复杂度的设计理念,况且如此一来,过往针对旧款Itanium最佳化的软件,恐怕在新架构处理器会效能不彰(VLIW处理器极度仰赖编译器才能发挥实力)。该如何兼顾指令平行化(ILP)和执行绪平行化(TLP),成为英特尔眼前的大难题。

概因技术风险太高,时程缓不济急,英特尔又将4核心Tukwila专案转回旧有团队,使其继续双核心Montecito设计,变成「核心数加倍+同时多执行绪+旧核心移除x86硬件执行功能+QPI+整合存储器控制器」的过渡期产物。

 

但2011年7月IEEE Hotchips 23 揭露的8核心Poulson却让众人耳目一新,隐约溢出淡淡的EV8色彩,让人重温昔日Alpha团队的强盛,Poulson不仅配备动态指令排程,管线前后端的执行绪区域完全分而治之,改善功能单元的利用率,并减少多达12%核心电晶体,却倍增可同时发出的指令数(高达12个,等同4个指令包),单核心效能激增25%~40%,无愧于Itanium问世十年来最重大的革新之誉。

 

可惜时不我与,为时已晚,2012年惠普与甲骨文的法律诉讼(后者单方面停止支援Itanium)虽尘埃落定,但也替Itanium的未来敲响了迟来的丧钟,2017年换汤不换药的末代Kittson,沦为英特尔旗舰产品线的绝响,连制程都还停在32纳米,规格连同期Xeon E7 车尾灯都看不到。

 

Alpha留给后世的教训:空有技术无法生存

 

历史很多老牌科技公司,特别是工程师背景的创业者,往往让公司企业文化过度技术导向,也容易陷入「只要产品够好,自然卖得出去」迷思,但商业竞争从来就不是这么一回事,再优异的技术,也要透过行销推广让产品快速普及化,并建立完善的生态系统,才能持续发展,欣欣向荣。这些今日众人习以为常的常识,在那个古老的年代,却是一道难以跨越的心理门槛,只能说这真的是时代的悲剧。事后诸葛是很容易,洞烛机先却很困难,IBM也是到2004年才开始推动「Power Everywhere」。

 

 

DEC(或许得加上康柏)跟后知后觉的IBM一样,无法预见家家户户人人都有电脑的愿景,更未对网路时代的到来做好准备,当面对个人电脑市场需求的挑战时,更犯下同样错误,未将操作系统视为关键性技术,错过了放手让微软Windows加上Linux / FreeBSD 等开源操作系统,开疆辟土并巩固处理器市场半壁江山的可能性。讲白了,时下x86指令集的主要价值就建立在相容Windows之上,讲其他的都多余。

 

别说x86,Alpha系统起码都是同期RISC竞争对手的两倍价,硬件平台的售价高昂到令人发指,更让潜在消费者望而却步,拿下再多效能王者的头衔,都没人愿意掏钱买单。1997年英特尔Pentium II「大弹夹」处处出现在电脑卖场的玻璃柜时,DEC才推出「目标2,500美元Windows NT 系统」的Alpha 21164PC(移除96kB L2 快取以降低成本),早就大势已去。

 

行文至此,Alpha处理器效能杀遍天下无敌手的全盛时期,难道不会有军火商把脑袋动到效能王者的头上吗?1990年代,的确不缺此类乡野传闻,如某个世代的爱国者飞弹系统,就曾谣传用到某颗Alpha等等,但都死无对证,就留着让时间证明一切吧。

 

与[转帖]深度解读:传奇的Alpha处理器相似的内容:

[转帖]深度解读:传奇的Alpha处理器

https://jishuin.proginn.com/p/763bfbd2cf85 来源:科技新报(台) 长期关心处理器技术发展者,这20年来,很难不每隔一段时间就会偶尔听到「这技术受Alpha影响」、「这是出自于前Alpha研发团队成员的杰作」,甚至老一辈军武迷,或多或少也会听闻「传说某某某尖端

[转帖]深度解读 V11a : Veeam Backup & Replication 又一重要版本

https://zhuanlan.zhihu.com/p/423553709 前言 近日Veeam 发布了旗舰产品 Veeam Backup & Replication 的新版本 — v11a ( Build 11.0.1.1261 )。这是继 2 月份发布的 v11 后的又一次重大更新。 虽然这次

[转帖]IBM 、英特尔、台积电、三星2nm先进工艺的豪赌(编辑中,收录于先进芯片技术深度解读)

https://zhuanlan.zhihu.com/p/512405788 根据摩尔定律,芯片上的晶体管数量每两年翻一番。这一定律的实现在12nm之后变得愈来愈简单。 头部半导体制造厂已经量产了 5 nm芯片。工艺从FinFET逐渐过渡到GAA甚至是VTFET。 目前半导体制造厂在一掷千金,改善G

[转帖]ChatGPT发展历程、原理、技术架构详解和产业未来 (收录于先进AI技术深度解读)

https://zhuanlan.zhihu.com/p/590655677 陈巍谈芯::本文将介绍ChatGPT的特点、功能、技术架构、局限、产业应用、投资机会和未来。作者本人曾担任华为系自然语言处理( NLP )企业的首席科学家。 ChatGPT的关键改进可以参考paper:Augmenting

[转帖]深度解析:ARM 处理器在云计算领域的崛起!

https://zhuanlan.zhihu.com/p/377544841 最近是不是听了很多关于ARM处理器的内容? ARM处理器是什么?它在未来的云计算领域中又占据着什么地位? ARM未来的趋势是怎样的? 跟随小编一起来看看吧~ ARM 处理器的崛起 近年来科技媒体上关于 ARM 芯片的新闻可

[转帖]Redis 使用指南:深度解析 info 命令

https://www.cnblogs.com/hwpaas/p/9442410.html Redis 是一个使用 ANSI C 编写的开源、基于内存、可选持久性的键值对存储数据库,被广泛应用于大型电商网站、视频网站和游戏应用等场景,能够有效减少数据库磁盘 IO, 提高数据查询效率,减轻管理维护工作

[转帖]Redis 使用指南:深度解析 info 命令

https://www.cnblogs.com/hwpaas/p/9442410.html Redis 是一个使用 ANSI C 编写的开源、基于内存、可选持久性的键值对存储数据库,被广泛应用于大型电商网站、视频网站和游戏应用等场景,能够有效减少数据库磁盘 IO, 提高数据查询效率,减轻管理维护工作

[转帖]IPv6报文头深度解析

https://blog.51cto.com/key3feng/5725797 IPv6报文由IPv6基本报文头、IPv6扩展报文头以及上层协议数据单元3部分组成。上层协议数据单元一般由上层协议报文头和它的有效载荷构成,上层协议数据单元可以是一个ICMPv6报文、一个TCP报文或一个UDP报文。1、

[转帖]JVM 运行数据区深度解析

https://my.oschina.net/jiagoushi/blog/5597878 运行数据区 字节码只是一个二进制文件存放在那里。要想在 jvm 里跑起来,先得有个运行的内存环境。 也就是我们所说的 jvm 运行时数据区。 1)运行时数据区的位置 运行时数据区是 jvm 中最为重要的部分,

[转帖]深入内存/主存:解剖DRAM存储器

https://zhuanlan.zhihu.com/p/561501585 2022/9/9更新:经过和评论区大佬的交流,准备研读一下JEDEC标准,主要是加深自己对banking和访存加速的理解(对应本文的第五节,主要问题集中在提出banking是为了隐藏row缺失造成的损失还是为了隐藏CPU和