天極yesky
文/包涵
前言:
DEC公司
整個80年代VAXen銷售都非常成功
PRISM項目
從80年代開始,DEC公司通過銷售量節節攀升的VAX而賺了大把大把的鈔票。不過隨著技術的發展,VAX也逐漸的退居幕後,將市場留給新架構的發布。從此時開始,越來越多的公司開始對RISC(精簡指令集計算機)發生了興趣。DEC自然不會忽略這個趨勢。在1982年到1985年間,DEC將RISC劃分為幾個部分來分開研究:
·Titan,從1982年開始,由DEC公司位於加利福尼亞州的西部研究實驗室負責研制的一種高速設計方案
·SAFE,快速執行流線架構,從1983年開始,由Alan Kotok和David Orbits領銜負責開發
·HR-32,以DEC工廠的所在地哈德迅命名(Hudson RISC 32-bit),從1984年開始,由Richard Witek和Daniel Dobberpuhl領銜開發
·CASCADE,從1984年開始,由David Cutler負責開發
1985年,Cutler主動提出“協作RISC計劃”後,上述四個項目就被合並為一個項目,並且更名為PRISM(並行指令集計算機),關於這款新RISC處理器的第一份草圖發布於1985年8月。為了進一步順利的將新架構打入市場,DEC在參與MIPS R3000的處理器項目開發過程中,主動發起創建了高級計算環境協會(Advanced Computing Environment consortium)來提升新架構的影響力。
因此,新處理器中有些許多和MIPS架構相似的特性就不足為奇了,不過兩者之間不同之處也是顯而易見的。首先是新處理器中的所有指令都采用了固定的32-bits長度,上6位和下5位用於表示指令代碼,剩下的21個字節用來保存即時數據和尋址需求。另外新處理器中還有64個32-bit通用目的寄存器(MIPS裡只有32個寄存器),另外追加了16個64-bit矢量寄存器,3個控制寄存器:其中兩個7-bit,用於存儲矢量長度和矢量計算;還有一個64-bit用於vector mask。
不過新產品沒有處理器狀態寄存器,這也是為什麼將兩個標量操作數的比較結果放在通用目的寄存器中的原因。而兩個矢量操作數比較的結果,就直接放入vector mask。同時在處理器中沒有內建浮點單元,而是使用一組在軟件中被創建的特殊指令(擴展處理器指令代碼),采用讀取微代碼的方式,通過運行環境或操作系統的幫助來處理特殊任務,並且這些特殊的擴展指令代碼並不屬於標准指令集。稍後不久,這個功能被移植到了Apha架構中,重新被命名為PAL編碼(專用架構庫編碼)。
然而這個計劃還沒有最終完成的時候,1988年DEC公司的管理高層決定采用MIPS處理器,同時不再繼續這個項目。認為繼續為這個項目提供財政支持純屬浪費錢,決定終止計劃。計劃的發起者和負責人Cutler曾激烈反對未果,於是辭職來到微軟,著手從事WindowsNT的開發,這是後話。
1989年初,DEC就推出了公司第一款RISC工作站處理器—DECstation 3100,這款處理器基於MIPS R2000,內部時鐘頻率為16MHz,其系列產品DECstation 2100采用相同的處理器,核心頻率為12MHz,操作系統使用Ultrix OS。在1990年,這款工作站計算機售價為8000美元(在當時不算貴)。
Alpha計劃
到了1989年,日益老化的VAX架構,面對MIPS和SPARC等第二代RISC架構的強力挑戰越來越感到力不從心。很顯然,留給VAX的時間不多了。因此在此年中,DEC的工程師接到任務,開發一款更具有競爭力的RISC架構,並且要在相當長的時期內保持足夠的升級潛力,同時還要對VAX/VMS以及所有相關的應用程序保證最大的兼容性。64-bit解決方案由此而誕生。開發團隊初步確立,Richard Witek和Richard Sites成為了這個項目的首席架構師。
Alpha架構於1992年2月25日,在東京召開的一次會議上面被正式推介,新架構的關鍵特性都一一的被羅列出來。當時說Alpha只是產品開發的內部代號。新處理器采用完全64-bit RISC設計,執行固定長度指令(32 bits)。有32個64 bit整數寄存器,操作43-bit的虛擬地址(在後來能夠擴充到64-bit)。和VAX相同,使用little-endian字節順序,即低字節的寄存器占用低內存地址線。而不像如摩托羅拉等大多數處理器所使用的big-endian字節順序,即低字節寄存器占用高內存地址線。除此之外,處理器還內建一個算術協處理器,有32個浮點64-bit寄存器,采用隨機存取,而不是在intel x87協處理器上使用的堆棧存取方式。整個Alpha的生命周期被設計為至少25年。
被簡化後的指令集更利於流水線操作,它由5個部分所組成:
·整數指令
·浮點數指令
·分支和比較指令
·讀取和存儲指令
·PAL編碼指令
和現在一些I386架構的處理器不同,Alpha的架構是完完全全的RISC架構。而RISC(精簡指令集計算機)和CISC(復雜指令集計算機)兩者的概念是完全不同:
特性CISCRISC指令長度可變長度
要求指令類型固定長度
不要求指令類型指令集廣泛
適用於程序員的需要平衡
適用於處理器執行的需要內存訪問允許不同類型的指令訪問只允許存取指令訪問
Alpha處理器當時發布的時候,運行在一個很高的頻率上—150MHz,而且還有提升的空間,不改變生產工藝就可以將頻率提升到200MHz。這是一個從哪方面看都會取得成功的架構。項目也進行的很順利,到了生產銷售階段。這時候,DEC公司市場部突然提出要將新架構命名為AXP,於是產品就被正式定名為Alpha AXP。沒有人知道AXP代表什麼意思,或許它根本就沒有意義。
這讓人聯想到DEC公司以前在命名VAX商標的時候所遇到的一些麻煩。當時要注冊VAX商標的公司除了DEC外,還有一家本身名字就為VAX的真空吸塵器的制造商。雙方爭執不下,還鬧上法庭,這給DEC帶來不小的負面影響。正因為有此不快往事,因此取一個完全沒有意義,但絕對沒有重名的名字,對於DEC公司來說還是很有可能的。不過還是有人從雞蛋裡面挑出了骨頭,指出AXP即意為“Almost Exactly PRISM”。
EV4,LCA4,EV45,LCA45
第一款Alpha系列的處理器被稱為21064(21意為alpha是一款面向21世紀的新架構,0代表處理器的版本,64代表具備64-bit的計算能力)。開發代號為EV4,其中EV是Extended VAX(擴展VAX)的簡稱,采用CMOS4的生產工藝。EV4的展示原型是在1991年推出的,當時限於生產工藝水平,使用了CMOS3,因此只有較小的緩存,同時沒有浮點運算單元。 這對於一款處理器的性能來說,打了一個非常大的折扣。
而EV4是在92年發布的,當時的生產工藝已經達到了3層0.75μ的水平,並且在後來一段時間中,采用了更為先進的0.675μ CMOS4S制造工藝,自然可以將節省出來的空間裝入更多的晶體管,來增強性能。由此可以看出,在那個時候,生產工藝對於處理器的性能影響相當巨大。處理器設計工作電壓為3.3V,核心頻率為150MHz-200MHz(TDP為21W到27W之間)。處理器內部共由168萬個晶體管組成,芯片面積為233平方毫米,芯片采用PGA-431方式進行封裝。從EV4開始,就能夠支持多處理器,這是其架構中很關鍵的一個特性之一。
其中的L1緩存由:8KB的指令緩存(I-cache)和8KB的數據緩存(D-cache)組成。其中D-cache讀取延遲為3個時鐘。每一個I-cache由32字節指令,21-bit的tag record,8-bit的分支記錄區域和其他的一些輔助部分所組成。每一個D-cache由32字節的數據和21bit的tag record所組成。
L2緩存,當時又被稱為備份緩存(B-cache),不過采用的卻是外置的同步或異步SRAM芯片,最大容量達到了16MB(通常從512KB到2MB不等)。B-cache由帶有1-bit長的奇偶校驗和7-bit的ECC校驗的32字節的數據和指令,帶有1-bit奇偶校驗的tag record和3-bit的狀態標簽所組成。由於采用外置式的L2緩存設計方式,因此緩存的速度在很大程度上都限制著處理器的運算。
系統數據總線作為溝通處理器和L2緩存之間的接口,作用越發顯得重要,系統數據總線采用了兩種位寬64bit和128bit。由於B-cache的多樣性,這種轉換是相當有必要的。系統地址總線為34-bit位寬。
除此之外,處理器還采用了一種叫做“victim write”的機制,用於將B-cache中的數據,儲存到主內存中。在整個系統中,只有處理器才能夠對B-cache執行讀寫操作,系統其他的邏輯核心只能夠讀取B-tag數據。這對於後來越來越復雜的多處理器系統中,顯得尤為重要。只有這樣,才能夠盡可能的保證B-cache中的數據一致性。
在處理器中的分支預測單元有一個4096個入口的分支預測表,還有有一根整數管線(E-box,7級流水線)和一根浮點管線(F-box,10級流水線)。指令解碼器的執行單元能夠每個時鐘周期執行2個命令(I-box)。除此之外,還有讀取單元(A-box)。讀取單元的作用很重要,主要用於協調緩存和系統總線控制器之間的操作,其中涉及到的部件有:I-cache、D-cache和B-cache。
盡管有非常出色的性能,不過EV4對於大多數的潛在消費者而言,還是太貴了。因此在1993年九月,其低價的孿生兄弟21066(LCA4)被推出市場。新處理器基本上是基於EV4核心,另外整合了內存和PCI控制器,以及一些其他的小功能。為了降低成本,並在性能上和EV4拉開差距,LCA4的系統數據總線位寬被縮減到64bit,這對性能會造成一個比較大的影響。
LCA4采用了更為先進的0.675μ CMOS4S制造工藝,芯片面積比EV4略有縮小。由於當時的桌面機箱,通風散熱問題較為突出。因此處理器工作的頻率也被調低到100MHz-166MHz。整個處理器由175萬個晶體管組成,工作電壓為3.3V。該芯片被授權給日本三菱生產,三菱公司同一時期所生產的LCA4也包括了200MHz的版本。
21064A(EV45)在1993年10月的微處理器論壇上面被發布。它是EV4的修改版,采用4層0.5μ CMOS5制造工藝。第二年21066A(LCA45)在11月舉行的Comdex大會上被推出。LCA4同樣是在生產工藝上面進行了更新。DEC公司的市場開發人員習慣於,將采用更先進的生產工藝制作出來的產品後面增加一個字母,以示區別。
其實這一時期所推出的核心架構都沒有多少變化,如:EV45中的I-cache和D-cache的容量分別增大了一倍,分支記錄區域和I-cache分別擴展到了16bit,D-cache變成了2路相關。除此之外,EV45和LCA45在浮點運算單元中有進一步的優化,在EV4中,執行單精度操作數和雙精度操作數分別需要34個時鐘和63個時鐘周期。而且這個過程和操作數本身的復雜程度無關。
在EV45中,單精度的操作數處理時間為19-34個時鐘周期,雙精度的操作數處理時間為29-63個時鐘周期。並且和操作數本身的值密切相關。LCA45同樣委任給三菱生產。由於采用了當時最新的生產工藝,EV45和LCA45的芯片核心面積進一步下降到164mm²和161mm²,雖然EV45內部晶體管的數量有較大的增幅,達到了285萬個。不過能耗和發熱量都有所降低。EV45的核心頻率為200-300MHz之間,LCA45的頻率為166MHz-233MHz。
第一款基於EV4開發的芯片組支持:TURBOchannel,FutureBus+和XMI外設總線。盡管這些設計在當時有著非常快的速度(大約100Mb/s),不過它們的擴展性卻不強,因此能夠支持的外設數量有限。為了解決這個問題,DEC特別將業界標准總線架構:PCI和ISA作為重點參考的對象。在1994年發布了基於PCI總線的新芯片組—DEC Apecs,該芯片組有兩個不同的版本:64-bit系統數據總線(21071)和128-bit系統數據總線(21072)。
這兩款芯片組的復雜程度也不相同,前者由4塊芯片所組成,分別是:1個通用控制器,兩個數據片和一個PCI總線控制器,後者由6塊芯片組成(增加了兩個數據片)。芯片組支持33MHz系統總線頻率,最高支持16MB L2緩存和最大4GB的奇偶校驗內存(內存的訪問延遲為100到50ns)。同時在標准橋接芯片中,還支持ISA和EISA總線。
第一款基於Alpha的工作站發布於1992年11月,全名叫做DEC 3000 Model 500 AXP(開發代號:Flamingo)。采用的是EV4 150MHz,512KB的L2緩存和32MB主內存,1GB SCSI硬盤和SCSI光驅,內建10Mbit以太網控制器、音效芯片和ISDN控制器。配備了19英寸顯示器(1280 x 1024 8位色)。機器售價為38995美元。
技術參數
EV5,EV56,PCA56,PCA57
其實在94年8月14日舉行的Hot Chips大會上,DEC就已經非常詳細的闡述了第二代Alpha處理器的第一手資料。不過正式的官方發布會還要推遲到94年9月7日,新處理器被命名為21164(EV5),該處理器是在EV45的基礎上發展出來的,不過產品的名稱已經告訴人們,這是一款有著重要架構改進的產品。在新處理器中,整數單元和浮點單元的管線數量均增加了一倍,即每一個單元有兩根管線。
在EV5裡面,DEC的工程師將每個運算單元的功能很明確的分配給每一個管線來處理。比如說:整數單元中的一根管線專門用於處理算術運算部分,而第二根管線則用於處理邏輯運算部分;而浮點單元中的兩個管線也同樣是分別處理單浮點代碼和多重浮點代碼。除此之外,該處理器采用4層0.5μ CMOS5制造工藝,工作電壓為3.3V,共由930萬個晶體管所組成,其中緩存部分占用了718萬個晶體管。芯片面積為299平方毫米,這已經非常接近該制造工藝的極限了。處理器的核心頻率在266MHz到333MHz之間,TDP為46W到56W不等。處理器采用IPGA-499封裝方式。
EV5技術圖解
21164A(EV56)在1995年10月的微處理器論壇上被發布。它是EV5的修改版,後者采用更先進的0.35μ CMOS6生產工藝。為了提升生產工藝,DEC特別投資了4億5000萬美元在哈德迅修建了一座現代化的工廠。新處理器架構中采用了BWX(Byte-Word Extension),即增加了一組6個命令來存取8位或16位的數據。
最開始,Alpha架構處理的數據都是32位或64位的,不過要在其他的處理器架構,如i386和MIPS上移植或模擬代碼變得比較困難。因此從1994年6月開始,BWX被應用到新的處理器和芯片組中。該處理器由966萬個晶體管所組成,核心面積為209平方毫米,需要兩種工作電壓2.5V和3.3V。EV56的設計時鐘頻率為366MHz到666MHz,TDP為31W到55W不等。從96年夏天開始,授權生產的三星開始出貨。
EV56
21164PC(PCA56)在1997年3月17日,作為EV56的低價版發布。這款處理器是由DEC和三菱聯合研制的。S-cache和與此相關的邏輯電路被取消,不過I-cache增大為原來的兩倍(16KB)。處理器由350萬個晶體管所組成,芯片面積為141平方毫米,采用和EV56相同的制造工藝和工作電壓。不過封裝方式變為IPGA-499。核心頻率為400MHz-533MHz,TDP為26W到35W不等。
之後不久,三星采用更先進的0.28μ的制造工藝重新生產PCA56(PCA57),I-cache和D-cache都增大了一倍,晶體管的總數也增加到了570萬個,不過核心面積卻減小到101平方毫米,工作電壓進一步下降到2.0V和2.5V。核心頻率提升到533MHz—666MHz。除了從EV56那裡繼承了BWX指令之外,PCA56還支持新的指令集—MVI(Motion Video Instructions),用於加速使用SIMD指令的視頻、音頻計算速度,和MMX比較類似。
第一款支持EV5的標准芯片組為DEC Alcor(21171)。支持33MHz系統總線,最大支持64MB外置L2緩存,支持8GB FPM ECC內存,主內存使用256bit位寬和64bit PCI總線(33MHz)。標准橋接芯片中還支持ISA和EISA總線,沒有內建IDE控制器,不過能夠使用第三方產品獨立安裝。芯片組由五個物理芯片組成:1個通用控制器,4個數據轉換器。後來為了配合EV56,從新發布了支持BWX的Alcor修訂版。
DEC公司的終結
在1998年1月26日,這家世界上歷史最悠久,規模最龐大的計算機公司,因為財政危機而被康柏(Compaq)所收購。1998年2月2日,DEC公司召開股東大會,並且通過了這項提議。DEC公司以96億美元的價格被收購,當時評估DEC公司的市場占有份額為70億美元。整個並購過程大約持續了半年左右,1998年6月11日,DEC公司正式在紐約證交所摘牌。
雙方從1995年開始接觸,96年DEC公司高層同意了康柏的收購提議,到98年被最終摘牌只有短短的三年時間。根據89年的公司報告,DEC公司大約有13萬名雇員,市值超過140億美元,是僅次於IBM的全美國最大的計算機制造公司,它們還有著非常優秀的研究/開發部門和規模龐大的生產工廠。人們有理由問道:為什麼如此龐大的公司會在頃刻之間倒下?其中的原因自然是紛繁復雜,下文將會對DEC公司7大敗筆作出一一描述。
敗筆之一,思想落後:
很長時間中,DEC公司的創始人,也是一直的CEO—Kenneth Olsen的銷售理念有很大的偏差。工程師出身的他,對於銷售並不了解。他曾說過“一款優秀的產品能夠自己被賣出去”。這句話深刻的反應了DEC公司對於產品宣傳和市場開發的一貫態度。他同時還認為“每家每戶都擁有一台電腦是不可能的”。
也許這些想法放在以前可能是正確的,因為當時的計算機產量很少,價格高昂。不過在進入20世紀末,當時每年要銷售數百萬台計算機,計算機的銷售網點遍布全美,消費者可以很輕松的買到適合自己的電腦。與此同時,購買計算機的消費對象也發生了變化,消費的主體從技術/專業人員轉移到了普通人群中,這些消費者沒有專業的背景知識,甚至分不清“晶體管”和“電阻器”的寫法(注:晶體管和電阻器寫法接近,分別為transistor和resistor)。因此對於市場宣傳不夠重視,對於市場變化不夠敏感,仍然用向專業人員銷售的方法,向普通消費者兜售產品,結果事半功倍。此為敗筆一也。
敗筆之二,錯失良機:
1991年二月,DEC公司推出了EV4處理器。與此同時,APPLE的工程師們正在為公司的產品尋求一款性能更好的處理器,而EV4的推出給他們留下了深刻的印象。於是APPLE的CEO John Sculley曾在同年6月會晤Kenneth Olsen,希望能夠在今後的APPLE電腦中,使用DEC的新處理器。不過Olsen認為EV4推出市場的時機還不成熟,而且VAX架構的潛力也還沒有充分挖掘出來,因此拒絕了APPLE的請求。
數月之後,APPLE就推出了基於IBM和Motorola所開發的PowerPC的Macs。1997年4月28日,DEC公司曾參與開發VAX和Alpha的工程師Willian Demmer在接受商務周刊訪問的時候,就曾指出:公司的高層並不想將未來的賭注押在APPLE。因此優柔寡斷,錯失良機是第二個敗筆
敗因之三,不夠重視配件生產:
DEC公司將所有和Alpha處理器相關的配件和外設都自己生產,不過為桌面電腦開發的主板卻不支持SMP,而當時幾乎所有采用Alpha處理器的公司都會使用多處理器系統,因此DEC公司所推出的桌面機型很沒競爭力。不過這些主板在電氣設計上卻是很好,由於這些主板布局電路都可以公開獲得,因此吸引了很多的公司對此進行模仿改造,生產出了大量的克隆版本。
在此其間,只有一家公司為桌面市場開發了自己的主板DeskStation。雖然有越來越多的公司將它們生產出來的主板銷往使用Alpha處理器的用戶,不過DEC對此並不在意,他們認為首先將自己的工作站或服務器整機銷售出去是最重要的,一些零碎的電腦配件市場並不重要。因此有人評價說:DEC公司占有了市場,卻沒有征服市場。
敗因之四,定價過高:
DEC公司從來都沒有想過要將他們的產品(處理器,芯片組和主板)的價格降低到大多數潛在消費者能夠承受的價位。例如在95年初,266MHz和300MHz的EV5每千顆售價高達2052美元和2937美元。當然這還是批發的價格,如果考慮到實際的零售價格的話,EV5的定價要比同時期RISC設計競爭者高出兩倍以上。
雖然DEC曾經一度發布了一款廉價產品Alcor,這種主板每5000片的售價為295美元,雖然遠遠低於處理器的價格,不過卻將處理器(EB164,1MB L2緩存)和16MB主內存捆綁銷售。由於主內存實在太小,對於當時的程序來說,也顯得捉襟見肘,就這款主機售價為7500美元。
敗因之五,收取昂貴的專利費:
雖然DEC公司很提倡開放式架構的概念,而且從一開始Alpha計劃就是開放的,不過一直以來,所有的研究開發工作都是由DEC自己的工程師來完成的,只有在生產階段委托給了三菱。既然是自己完成的,所以公開的只有大致的產品框架,而最重要的硬件設計部分卻被秘而不宣,要得到就需要交納高額的專利費。
盡管從EV4開始,DEC公司就先後向Intel,MOTOROLA,NEC和Texas Instruments伸出過橄榄枝,奈何專利費太高了,這些公司都沒有接受DEC的“好意”,轉眼就開發出了自己的產品。鼠目寸光,利令智昏,是第五個敗因。
再優秀的計算機也離不開操作系統的支持,否則就只是一個昂貴的發熱機。因此DEC公司對操作系統格外重視,Windows NT,Digital UNIX和OpenVMS都曾成為公司高層的選擇對象,不過……
敗因之六,選擇NT架構作為首選操作系統:
首先要知道的是,WINNT是設計給用戶,而不是給程序員使用的。操作系統裡面沒有整合軟件開發工具,而且運行軟件都需要進行預編譯。當時市場上已經有相當一部分基於Alpha和i386所開發出來的軟件,兩者之間不能夠在對方平台上運行,這需要先進行一次轉化。
1996年才發布的FX!32由Anton Chernoff小組所開發,能夠很好的模擬並將x86轉化為Alpha,不過轉化後的結果是,大概有40%的性能損失。任何驅動程序和FX!32對此都無能為力,大家對此都百思不得其解,然後才有少數程序員發現,WINNT是32位的操作系統,即使能夠在64位的Alpha平台上面工作,也難以充分發揮出64位架構的潛能。其實根本就不應該將NT作為Alpha架構的首選操作系統,最多作為一個備選方案存在。
敗因之七,操作系統價格昂貴:
其實市場上還有兩款操作系統很適合Alpha架構,分別是OpenVMS和Digital UNIX。不過這兩款商業操作系統的定價過高,導致其市場占有率很低,並且未開放源代碼。再則這兩款操作系統對外設的支持也沒有NT豐富,操作系統的問題一直困擾著Alpha的普及,所有選擇的操作系統都不盡如人意。
敗因之八,不使用開源操作系統:
雖然所有的商業操作系統都有這樣或那樣的問題而沒有被成功推廣到Alpha平台上,不過DEC公司一直都不支持免費開源操作系統。早在1995年,NetBSD就移植到了Alpha平台上,接下來還有Linux,OpenDSB和FreeBSD。這些系統的性能不必Digital UNIX和OpenVMS差,對硬件的兼容性也比WINNT要好,而且還可以提供大量的開源程序供用戶使用。因此後來這些系統都在Alpha平台上廣為流行。
當然還可以繼續列舉出DEC策略失誤的長長清單,包括他們不夠重視主流市場和個人電腦市場的變化等等,不過這些都和Alpha架構本身沒有直接的關系,所以略過不談。總而言之,DEC的確傾注了大量的心血在Alpha上面,不過當產品推出之後,DEC公司想到的只是怎麼來Alpha架構來換錢,而不是如何將這個架構推廣開來。
小結:
80年代末,90年代初這段時間,DEC作出了許多糟糕的決定,包括1992年新任命的董事會主席Robert Palmer,對DEC進行的一系列重組。Palmer認為現存的matrix模式(按照功能不同來劃分出不同的部門,每個項目由多個部門協調完成)不適合公司,要回到傳統的vertical模式下(從最上到最下,每一個人的職位和任務都分配的非常具體)。
從91年到94年,DEC公司的損失超過了40億美元,單93到94年度,就損失了20億元。為了彌補大量的財政赤字,Palmer計劃將DEC其他可以分割出去的部分全部賣掉。因此一次全球大甩賣拉開了序幕。1994年7月,將DEC生產硬盤驅動器的存儲部門,以4億美元的價格賣給了Quantum(昆騰)。之後不久,又將數據庫軟件研發部門以1億美元的價格賣給了Oracle。97年11月,DEC再次將網絡產品部門作價4億3000萬美元賣給了Cabletron。
重病纏身的DEC在97年還將Intel告上法庭,指其在Pentium,Pentium Pro和Pentium II處理器中,使用了10項Alpha處理器的專利。97年9月,雙方對簿公堂,兩不相讓。但同年的10月27日,雙方在庭外達成諒解。DEC授權給Intel所有硬件的生產權利(除了Alpha之外),並且同意在未來支持它的IA-64架構開發計劃。而Intel也以6億2500萬美元的價格,購買了DEC在哈德迅的制造工廠和位於以色列及得克薩斯的設計中心,並且同意以後將生產DEC的Alpha處理器,同時得到DEC所有專利10年的使用權。
最後還不得不說說那些在DEC工作多年,並且才華橫溢的工程師們的去向。Derrick Meyer加入了AMD公司,設計K7;James Keller也去了AMD,不過是K8的架構師。Daniel Leibholz到Sun開發UltraSPARC V。Intel遠沒有想象中的如此幸運:雖然在DEC公司最後關頭得到了很多好處,不過StrongARM架構卻只能夠看著它胎死腹中,因為當初設計StrongARM-110的首席架構師—Daniel Dobberpuhl,Richard Witek,Gregory Hoeppner和Liam Madden沒有一個願意加入Intel。而第一個提出Alpha架構的Richard Sites則一蹶不振,一直沒有找到像樣的工作……
到1998年5月18日,只有32000名雇員的Compaq收購了有著38000名雇員的DEC,結束了DEC在歷史舞台上的最後一幕戲。
EV6,EV67,EV68C,EV68A
21265(EV6)處理器的開發項目最初是由DEC負責完成,並且在1996年十月舉行的微處理器論壇上面被首次披露。不過直到1998年2月芯片的整體研制才完全結束,那時DEC公司已經在進行資產清算了。不過這款處理器本身相對於EV5來說,仍是一個巨大的進步,在多個方面都所突破。一個對性能影響很重要的技術—亂序執行(out of o rder execution)功能得到應用。
和傳統的順序執行不同,具備亂序執行的處理器能夠利用空閒的運算資源,對需要執行的指令進行重組,以此來提高處理器執行效率。因此對重組指令的多少,就說明了處理器亂序執行的能力高低。
而不同處理器之間,重組指令數也不盡相同,EV6能夠重組80條指令,同時期的處理器如:Intel的P6架構能夠重組40條指令,惠普的PA-8x00能夠重組56條指令,MIPS R12000能夠重組48條指令,IBM的Power3能夠重組32條指令,而PowerPC G4只能夠重組5條指令,Sun的UltraSPARCII還不支持亂序執行功能。和亂序執行相關的寄存器重命名技術,能夠提供給程序員48個整數寄存器,40個浮點寄存器,可對其進行重新命名。
整數管線增加到了4條,同樣也是根據執行的工作不同兩兩分組。第一根和第三根管線用於操作A-box,為讀取指令計算虛擬地址。A-box自身由I-TLB、D-TLB、讀取隊列(32個命令的隊列)和8個64字節的緩沖器組成,用於處理B-cache和主內存中存取的數據。第二根和第四根管線主要用於計算,第二根管線能夠執行乘法指令(7個時鐘周期)和移位指令(1個時鐘),第四根管線能夠執行MVI代碼(3時鐘周期)和移位操作。
所有的四根管線都支持基本的算術操作和邏輯操作,每一組管線都有自己的整數寄存器。浮點管線也有變化:首先是第一根管線用於運行加法(4時鐘),除法(單精度12個時鐘周期,雙精度15個時鐘周期)和平方根計算(15到30個時鐘周期),其中平方根計算和相關的指令都是首次應用到Alpha新架構中的。
第二根浮點管線則只能夠執行乘法運算(4個時鐘周期)。和EV5的工作方式相同,解碼器每時鐘提交4個指令,調度程序將其分配到2個隊列:整數管線執行整數隊列(20個命令),浮點管線執行浮點隊列(15個命令)。除此之外,新款的Alpha處理器中還第一次加入了預取指令,用於在整數寄存器和浮點寄存器中預取數據。
EV6在緩存方面也有較大的變化。C-box支持兩個緩存級別:芯片內的L1緩存和外置式的B-cache。L1緩存由64KB的I-cache和64KB的D-cache所組成,並且緩存采用兩向結合性。其中D-cache為write-back方式,用於將B-cache中的資料復制過來。由於采用了較大的容量和更復雜的多向結合性,因此D-cache的讀寫延遲均超過了3時鐘周期。
外置式的B-cache容量從1MB到16MB不等,采用了直接映射和write-back方式,使用128bit雙向數據總線(具備16bit ECC校驗)和一個獨立20bit的單向地址總線。B-cache由LW SSRAM和DDR SSRAM芯片所組成。B-cache的工作頻率為可變頻率,大約是全速核心頻率2/3到1/8。並且從EV6開始,B-cache開始成為處理器的必備項。
除了緩存總線之外,系統數據總線為64位寬,采用雙向設計並支持DDR技術。系統地址總線44bit位寬,采用單向設計,不支持DDR技術。系統控制總線為15bit位寬,也不支持DDR技術。由於系統總線的工作原理發生了變化,因此處理器和芯片組之間有了一條專用的總線路徑。
分支預測邏輯單元也被完全重新設計過。並且分為2級體系,即:本地預測器和全局預測器,兩者分別記錄有1024條和4096條記錄。彼此算法不同,不過卻可獨立運行,本地預測器用於每一個分支偵測,而全局預測器則用於跟蹤分支序列。如果本地預測器和全局預測器的預測結果不一致,則選擇記錄多(4096)的預測器的結論,這樣會得到更為精確的結果。采用兩個不同級別的分支預測器協調工作,可以降低分支預測失敗的情況出現的次數。
在EV6的開發過程中,由於內核中太多的功能單元,並且彼此之間相互影響,因此時鐘頻率發生器子系統也被完全重新設計。這讓核心處理單一數據流變得更有效率,而且時鐘子系統占總核心功率比例也在下降,EV6只占到了32%的總核心功率,EV5是37%,EV4則在40%上下。
EV6采用了6層0.35μ CMOS6制造工藝。由1520萬個晶體管所組成,其中有900萬個晶體管用於I-cache、D-cache和分支預測器。由於晶體管數量較多,因此芯片面積較大,為314平方毫米,工作電壓為2.1V-2.3V。核心頻率為466MHz-600MHz不等,TDP為80W到110W。芯片采用PGA-587的方式進行封裝。EV6及其其他采用新制造工藝所生產的衍生型號也較為紛繁。
EV6
21264A(EV67)1999年末被推出市場,采用三星0.25μ CMOS7制程,芯片面積為210平方毫米,工作電壓進一步降低為2.0V。內核與EV6相比沒有變化。核心頻率從600Mhz到833MHz,TDP為70W-100W。由於當時處理器市場百家爭鳴,發展迅速,Intel和AMD的處理器在整數性能方面都曾一度超越了Alpha,不過借由這次采用新制造工藝的EV67發布,才奪回了整數運算性能之最的稱號,實屬不易。
在2000年初,IBM采用最新的0.18μ銅互連工藝,生產出第一款21264B(EV68C)處理器樣品。與EV6相比,架構同樣沒有什麼變化,不過新工藝卻讓處理器的核心頻率第一次超越了1000MHz,最高達到1250MHz。2001年,三星采用0.18μ鋁互連制程,開始批量生產21264B(EV68A)處理器,核心頻率從750MHz到940MHz,TDP為60W到75W。
之後不久,IBM又分別推出了和EV68C制程相同的EV68CB和EV68DC兩款產品。三款產品規格大致相當,頻率和架構也無甚變化,不過IBM首次采用了“無針腳”的CLGA-675封裝方式,來代替沿襲已久的PGA。
為EV6所開發的芯片組有兩款,分別為DEC Tsunami(21272,也被稱為Typhoon)和AMD Irongate(AMD-751)。由於AMD得到了DEC的總線授權,因此為EV6設計了一款芯片組,同時將EV總線逐步應用到該公司後面的多款產品上,直到Athlon XP時代。
DEC Tsunami是一款極具適應性的芯片組。它既能夠支持單處理器,也能夠支持多處理器。內存總線位寬從128位到512位不等,采用具備ECC校驗的registered SDRAM,工作頻率位83MHz,同時還支持多種PCI總線。為了達到如此高的可適應性,Tsunami集成了系統總線控制器,內存總線控制器,PCI總線控制器等等。這款芯片組所集成的芯片還不算多,還有一款名為AlphaPC 264DP的芯片組集成了多達12款的芯片。
盡管AMD Irongate是一款面向服務器市場推出的芯片組,不過卻只能夠支持單處理器。采用Alpha處理器作為服務器的用戶,主要都是使用多處理器,因此缺乏對此支持的Irongate芯片組即時售價更低,功耗更小,也難以得到市場的青睐。不過這是市場上第一款支持AGP總線的Alpha芯片組,但卻僅此而已。
文/包涵
康柏時代綜述
其實當初康柏之所以購買DEC,正是看中了它技術先進的裝配工廠,分布廣泛的銷售網絡(全球98個國家),以及和Intel和DEC公司所簽署的互換專利條約。但是由於康柏已經長時間和Intel及AMD在服務器/工作站上面合作,因此DEC留下來的Alpha架構對於康柏來說反而成了包袱,不過康柏在一開始並沒有放棄Alpha。
早在98年2月,三星和DEC公司簽署協議,獲得了Alpha處理器相關的所有專利使用權,並且能夠獨立生產和開發新的Alpha處理器。因此同年6月,康柏和三星在其麾下建立了一家聯合子公司—API(Alpha Pr ocessor Inc),以此為基礎共同開發和生產新的Alpha架構,康柏的這一舉措大概也是吸取了DEC的失敗經驗。
1998年夏天,基於EV6的系統開始進入大規模生產的階段,並且在當時的市場上有著非常高的性價比,同樣在當時推出市場的Intel的IA-64架構則因為種種原因難以和EV6競爭。更為滑稽的是,Intel為了履行當年和DEC所簽署的協議,在自己的IA-64表現不佳的同時,還必須在哈德迅FAB-6工廠中生產EV6處理器……
1999年,康柏由於對於Internet時代的到來准備不足,沒有預先察覺到PC市場的快速成長,因此在個人電腦市場遭遇了很明顯的業績下滑。而與此同時,DELL等其他幾家大型的PC業務運營公司,則因提供了更具吸引力的價格而成長迅速,一躍成為最頂尖的公司之一。康柏的CEO—Eckhard Pfeiffer於1999年第一季度的財政危機爆發後宣布辭職。康柏為了控制並減少赤字而開始大幅度的簡化下屬機構,其中還包括到Alpha系統的開發,1999年五月,位於新罕布什爾的AlphaServers裝配線被迫停產。
1999年8月23日,康柏突然宣布退出參與Windows NT的開發計劃,停止了在Alpha主機上預裝Windows NT操作系統,同時還裁撤了在DEC西部研究實驗室中為此項目所工作的120名程序員,這對Alpha系統的打擊巨大。不過康柏公司高層卻並不這麼認為,根據公司的一份公開統計報告所言,在Alpha主機上所預裝的操作系統,有60%是Tru64,有35%是OpenVMS,只有不到5%的機器預裝了WindowsNT操作系統。因此沒有理由繼續在Windows的項目上投入資金,然後大量的Alpha系統的個人用戶首選系統都選擇的是—Windows NT。一周之後,繼1997年宣布放棄PowerPC和MIPS架構之後,微軟再次聲明,Windows 2000將不會支持Alpha系統……
1999年12月,為了確保Alpha架構在未來繼續保持領先地位,康柏和三星簽署了備忘錄,雙方同意投資共計5億美元,用於Alpha的架構生產研制費用。其中三星將投資2億美元用於更新生產工藝,康柏投資3億美元用於對新架構的研發和對新版Tru64 UNIX的開發。也是在12月,康柏還與IBM達成一致,一旦新工藝完成,後者將為Alpha處理器的制造采用最新的銅互連制造技術。雖然為Alpha做出了種種努力,不過在年度總結會上,康柏的股價從2月份的每股51美元,下跌到12月份的每股28美元。越來越多的分析家也開始看空康柏,前景一片黯淡。
康柏的公元2000年終於到來。三星在轉型0.18µ鋁互連制造工藝時失敗,EV67被迫延期,但市場普遍對EV67的延期持樂觀態度,認為只是暫時現象。同時IBM開始向市場少量供應EV68C。為了刺激市場,正在研發的EV7(也被稱為Marvel)和EV8(被稱為Araña)的消息陸續被披露出來。一切似乎正在慢慢變好,但此時納斯達克終於承受不住市場的壓力,潛藏已久的矛盾相繼爆發,網絡及高科技上市公司的股票開始狂瀉,dot-com神話終於破滅,2000年每一家IT公司迎來的都是全球IT業的一片蕭條。康柏12月份的股價跌至每股15美元,和一月份相比,跌幅超過了44%。而其他IT公司的股票價格更是慘不忍睹:Gateway跌幅達75%,APPLE跌幅達71%,DELL跌幅為65%,YAHOO和Priceline.com分別損失了95%和97%的市值。其他Dot-com公司關門倒閉的不計其數。
在經過了網絡泡沫破滅的沖擊後,2001年初,三星開始嘗試量產EV68A,不過最好的推廣時機已經被錯過。康柏決定采用EV68C作為Alpha主機系統,並且升級現有的產品。各種關於EV7的消息悄悄湧現出來,一切跡象似乎顯示出康柏還是希望繼續倚重Alpha架構的。但是2001年6月25日,一個出乎所有人意料的日子(黑色星期一),康柏宣布放棄Alpha,到2004年所有的產品都采用IA-64。
尚未露面的EV8被立馬取消(其實這款處理器的工作原理細節都已經在99年10月的微處理器論壇上面被討論過了),EV7也計劃在2002年第一季度被全面撤銷。接著Alpha微處理器部門也被解散,其中絕大多數雇員都投奔了Intel。三星和IBM也很快停止了繼續生產Alpha處理器。到2001年12月,康柏的每股股價僅為10美元,並且公司有很嚴重的財政問題。同年惠普宣布有意入主康柏,這一次購並風潮甚至驚動了美國和加拿大政府,不過惠普最後還是在2002年5月,成功兼並了康柏。
2001年10月21日,康柏和三星共同成立的子公司API更名為API網絡公司,而其傳統業務,即對Alpha系統提供技術支持也由Microway公司接盤處理。而Microway本身就是康柏以後,最大的Alpha工作站和服務器裝配商,同時也是DEC的長期合作伙伴,因此由它接盤並不出人意料。API自己出讓Alpha產品業務之後,也專注於網絡技術的研究,陸續開發出HyperTransport總線和數據存儲系統。
曾經財大氣粗的康柏在90年代收購了DEC,自己卻在10年後被惠普所兼並。康柏雖然力圖讓自己不要重蹈DEC的覆轍,不過最終也沒有將給予厚望的Alpha架構發揚廣大。在90年代的最後階段,康柏疊遭天災人禍的雙重打擊,的確對於推廣Alpha顯得力不從心。因此基於21264A和21264B的Alpha系統價格始終沒有降到一個合理的價位(2000美元)以下,而較為廉價的21264PC在市場上又難覓蹤跡。芯片組方面的情況也是一樣,低價的AMD Irongate性能太差;高價的Tsunami卻又異常昂貴。在往往復復的新品發布中,Alpha系統一直都處在曲高和寡的尴尬境地,高價讓它始終高高在上,難惹人愛,阻止了它試圖進入主流市場的一次次努力。
EV7,EV79,EV7z,EV8
1998年10月的微處理器論壇上,EV7架構被正式推介。這款處理器基於EV6內核,不過集成了4通道的Rambus DRAM控制器和1.5MB,6向結合性的L2緩存。由於有較多的工程師離開了康柏公司另謀高就,因此EV7的內核架構和EV6相同,基本沒有發生變化。整個設計預計在2000年完成。
不過緊接著康柏公司面臨財政危機和收購風波,EV7的研發暫時陷入停滯。惠普入主康柏之後,由於已經有自己開發的64-bit PA-RISC架構處理器,同時惠普還和Intel聯合開發IA-64架構。因此Alpha對惠普而言更像是一個可有可無的選項,接盤之後的惠普沒有完全將Alpha架構打入冷宮,而是繼續銷售康柏留下來的EV6、EV67和EV68系列服務器。並繼續完成EV7的研發工作,直至所有研發工作完成,已是2002年1月。
EV7的核心架構和EV68相似,另外還增加了幾個集成單元:兩個內存控制器(Z-box),用於操控Rambus DRAM PC800;一個多功能路由器(R-box),用於多處理器和網絡功能的支持;一個7向結合性的全速L2緩存(S-cache,1.75MB)。S-cache總線位寬128-bit,並且有較明顯的延遲(讀取延遲12個時鐘周期)。Z-box和R-box的運行頻率為核心頻率的2/3。內存通道的速度和內存控制器密切相關,是控制器頻率的一半(約為1/3核心頻率)。
每一個Z-box支持5根內存通道(4根主通道和1根輔助通道),每根通道位寬18-bit(16bit用於傳輸命令、數據和地址,2bit用於ECC校驗)。輔助通道為可選,其租用的功能是可以在內存中形成一個隊列(有點像RAID3)。例如:當向內存中寫入一個64 bits的四倍長字時,能夠首先將其分解為4個16bits的字,分別發送到專用的通道中。
輔助通道則用於存儲校驗和。每一個z-box控制器最多可以打開1024個內存頁面,因此總共理論內存帶寬為12GB/s。很顯然在多處理器系統中,每一個EV7都有自己的內存區域,這種內存模型被成為NUMA(非統一內存訪問)。和傳統的SMP(同步多處理器)系統中,每一個處理器都可以訪問全部的內存區域不同。
EV7中的每一個處理器要想訪問到其他的內存區域,只能夠通過另外處理器中的控制器來實現。R-box就是多處理器之間用於通信的單元,它同時也能夠為指定處理器和本地外設之間的通信服務。R-box支持4根獨立的通道和一根輔助通道組成,每根主通道的理論帶寬為6GB/s,輔助通道則用於高速輸入/輸出數據傳輸。
EV7處理器能夠通過多種算法彼此之間進行互連,不過之後真正被應用的只有被稱為“torus”和“shuffle”兩種互連算法。如下圖所示,可以很容易發現,shuffle這種連接方式更有效率,因為在8處理器的情形下,同一時間采用shuffle算法能夠讓每一個處理器直接和其他四個處理器相連,而采用torus只能夠和三個處理器相連。
“torus”和“shuffle”
EV7采用7層 0.18μ CMOS8制造工藝,由1億520萬個晶體管所組成,其中I-cache、D-cache和S-cache占了1億37萬個晶體管。芯片面積為397平方毫米。第一款EV7樣品時鐘頻率為1250MHz,TDP為155W。正式銷售的的系統中,處理器頻率為1000MHz到1150MHz不等。雖然EV7和EV6相比,在核心架構上沒有明顯的變化,不過從工程學的觀點來看,EV7能夠在芯片內部集成了如此多的功能單元的確是一個非常大的飛躍,但過多的功能單元導致核心復雜度大大增加,同時也導致緩存延遲時間加長,整體性能受到影響。
2002年12月份,惠普召開的一次新聞發布會上面正式宣稱基於EV7的服務器將於2003年一月推出市場。稍後不久采用新工藝的EV79將被生產的消息也不斷傳出,2003年3月,ISSCC2003上展示了EV79的樣品,采用0.13μ SOI制造工藝,時鐘頻率為1450MHz,TDP為100W,工作電壓為1.2V,核心面積為251平方毫米。不過同年10月份,IBM傳出量產遇到困難的傳言,半年之後,這款處理器的生產也就不了了之了……
2004年8月,最後一款Alpha處理器—EV7z被發布。該款處理器時鐘頻率為1300MHx,制造工藝為0.18μ。和EV7相同,這也是專為惠普的產品而設計的。雖然從此以後,再也沒有推出過新款的Alpha處理器,但是采用Alpha架構的服務器和工作站仍將被冠以惠普的招牌一直銷售到2006年,而所提供的技術支持也將持續到2011年。
原本為了取代EV7所開發的EV8則早已被取消,現在關於這款處理器的資料就還剩一些書面規格:包括有8根整數管線和4根浮點管線,3MB的S-cache。支持新的SMT(同步多線程)技術,單核心能夠同時執行4條軟件流(也許Intel的HyperThreading就是從此演變而來)。芯片的制造工藝為0.13μ SOI,芯片面積為420平方毫米。在此之後有著7個系列,走過20多年風風雨雨的Alpha架構,就這樣在人們的視線中漸行漸遠……
結語:
這篇文章中絕大部分關於Alpha系統的資料都取材自惠普和Microway。後者現在還在推出基於21164A,預裝Linux的AlphaPC164LX。而很多“退休”下來的Alpha服務器和工作站的老硬件,也還活躍在各個跳蚤市場中。根據統計,截止到2001年6月,DEC和康柏總共銷售了超過80萬台Alpha工作站和服務器。而在此期間通過自己組裝的Alpha系統數量則難以估算,不過保守估計也超過了50萬台。歷史有很多種可能,本來還具有很多潛力沒有被挖掘的Alpha架構,就在一次又一次的商業購並中,過早的結束了自己的宿命……