房黑之余, 接着讲讲俺们硅谷的故事.
上次说到, Intel一心一意要维护自己在硅工艺技术上的领先形象, 可是由于它强烈
的risk aversion, 实际上常常是走在技术研发的后端.(除了铜工艺, strained
silicon, SOI, finfet都是由别人先发表出来.) 在这种时候, intel总是顾左右而
言它, 而私底下一定是拼命追赶, 到2001年, intel终于在0.13um工艺上使用了铜互连.
落后IBM四年多, 落后Jerry Sanders的AMD一年多.
当时Intel的一位fellow说, "工艺不是最重要的, 体系结构更能决定芯片性能". 于是就
在这时候, intel在体系结构上也栽了大跟头. 其辉煌程度只会有过之而无不及. 如果说
在铜工艺上的落后是一个disaster, 那么intel在体系结构上的错误会被证明是一个
catastrophe. 很难想象, 换了是另一个公司会能够度过如此昂贵的灾难.
这就是我要说的第三次论战: 64位对64位, IA-64 vs x86-64.
到90年代后期, 很明显32位系统的4G内存限制已经满足不了高端计算的需要, 发展64位
系统是势在必行的. 而intel早在1994年就开始着手这件事. intel和当时服务器业的巨
头之一HP, 开始共同研发, 并且他们说服DEC和Compaq放弃开发自己的系统的计划而准备
采用intel和HP将要开发的新体系. 这一次, intel一改一贯谨小慎微的作风, 采取了革
命性的策略. 它抛弃了自己传统的x86体系, 而根据HP的PA-RISC体系提出一个全新的
VLIW based的64位体系IA-64, Intel Architecture 64-bit.
解释一下上个世纪九十年代最热的几个词. 一个是superscalar 超标量计算.
就是在一个时钟周期执行多个指令. 和现在的多核多线程的概念不 . 超标量计算是
指令级的并行, 多个指令使用一个CPU的不同资源, 同时运行. 很明显, 这种结构,
并行程度其实是比较低的, 而且指令的调度非常难. 另一个是VLIW, 超长指令字.
一个指令中包含有多个操作代码. 这些操作同时使用系统不同资源. 而资源调度
的问题则由编译器解决. 编译器分析指令间的依赖关系, 决定指令的执行顺序, 可以
实现更高程度的并行, 而又不需要复杂的调度逻辑.
Superscalar, VLIW, 听上去都是挺美好的事情. 可是在上一次Bubble之前, 已经有
很多公司尝试而遭到失败, 比如八十年代的cydrome, multiflow, 后来还有赫赫有
名的transmeta. 为什么intel还要往墙上扔鸡蛋呢? 也许intel以为以前搞VLIW的
都是小公司, 都是鸡蛋. 而intel在自己心目中不是乌龟, 而是坦克或者火车, 完全可
以轻易克服一切技术和资源的壁垒, 把这堵小土墙碾碎.
1994年, HP和Intel宣布开发基于HP VLIW的64位系统. 97年, 他们给这种新体系取了
个有诗意的名字, 叫做EPIC. 同时宣布, 在98年将发布第一款采用EPIC结构的服务器,
Merced.
这一次, intel一反常态的十分高调. 在各种学术会议, 期刊上史无前例地发表了大量
文章宣传这种新的体系结构的优越性. 甚至在电路设计, 工艺考虑, Intel都先后破天
荒的发表了无数文章. 声势是造得很大, 但Merced却迟迟没有发布.
在99年的intel developer forum上, Intel很郑重地宣布第一款IA-64/EPIC based
处理器, 将叫做Itanium. 而这时候, Intel和HP以外的人们已经对Itanium是否有
Intel说的那么好相当怀疑.
再经过两年的拖延, 直到2001年, intel才release 第一款 itanium. 这时候原本打算
用Itanium的DEC已经消失, SGI也风光不再. 而这千呼万唤始出来的Itanium, 表现相当
令人失望.
Itanium不但不能和当时的IBM Power, Sun UltraSpac在高端竞争, 他733/800M的频率
甚至不能让他在低端和普通x86竞争!
更令人震惊的是, Itanium上运行原先的32位程序, 奇慢! Itanium和原来的x86系统不
兼容, 运行以前的32位应用程序要靠仿真(emulation). 但是在itanium release之前,
由于intel的宣传, 人们普遍认为这不是问题.包括学术界一些人都认为itanium运行
32位程序应该比同时钟的32位机要快. 实验证明, itanium的32位performance, 甚至
不如100Mhz的Pentium! 大概可以和486匹敌!
Merced 第一季度只卖了不到500台, 第一年据说卖了几千台. 那时候Merced的target
还包括高端的desktop computing. 如果你当年有幸抢到一台, 不久的将来就可以拿
出来当老爷车展览.
Itanium turned out to be an "itanic" failure, 很多人如是说.
其实他们错了. 如果一辆火车撞了一座山, 一瞬间灰飞烟灭, 那是一个"titanic"
failure; 象itanium这样的波澜壮阔地搞了十七年的这种, 叫做EPIC failure.
从Itanium 2001年release, 到现在十年, 没有一年, 人们不重新调低itanium的销售预
期, 而又没有一次不再次失望.
1999年IDC预测itanium的销量在2002年能达到25billion一年.
2000年IDC预期itanium的销量在2003年能达到25billion一年.
2001年六月IDC预期itanium的销量在2004年能达到15billion一年
2001年十月IDC预期itanium的销量在2004年能达到12billion一年
2002年三月IDC预期itanium的销量在2004年能达到5billion一年
2001年, 分析师估计2002年一年,itanium能够卖出40万片. 后来据统计从2001到2007,
itanium一共卖出了不到20万片.
进入2003年, 问题已经没有了悬念,因为AMD发布了基于x86-64体系的64位处理器
opteron!
AMD设计的x86-64仍然采用cisc架构,对以前的32位应用程序完全兼容,不许要仿真,
没有runtime penalty. Opteron + linux 一下子风靡企业级服务器,真是横扫千军
如卷席.不独itanium远远不是对手, SUN/IBM的服务器也受到巨大冲击. 事实上,真正
首先在服务器上打败sun sparc系统的不是intel的cisc - x86, 也不是intel的risc -
itanium, 而是amd opteron.
而且opteron还有一个重大改进, 和以前的symmetric multiprocessing(SMP)不同,
采用了non-uniform memory access结构, 大大改进了并行处理时的内存的带宽. SMP也是
上一次bubble时的有名的buzz word.相当多的软件公司栽在上头.因为支持SMP的多
CPU系统大多价格高昂,不是多数用户能够拥有,而performance的改进又受到诸多限制.
直到有了opteron这样低廉而又高效的系统上, 多线程计算的巨大优点才显露出来,
随着后来多核系统的发布,今天多线程计算已经从上一个bubble时的昂贵的梦想变成了
软件业的残酷(?)现实.
话说回来, 这个时候的intel, 在desktop和enterprise server两面同时腹背受敌,
真的是差点三魂出窍, 七魄生烟了.
......
Faint. intel这部分写得实在是太放任了. 可能婆婆妈妈扯得太多? 还没写mobile
computing呢...偶去睡觉了.欢迎各位同学帮忙给写完了算了.