2004 年 4 月 01 日 在最近 10 年中,IBM 在半導(dǎo)體領(lǐng)域?qū)崿F(xiàn)了一個又一個的突破:銅技術(shù),絕緣硅,硅鍺合金,應(yīng)變硅和 low-k 絕緣體。所有這些技術(shù)都滋生于 IBM 肥沃的研究土壤。這種對現(xiàn)代芯片制造知根知底的能力并非是空穴來風(fēng),而是來自于半導(dǎo)體工業(yè)中最先進的 R & D 部門的封閉且潔凈的實驗室。 最初,每個計算機的中央處理單元(或稱為 CPU)都是惟一的。每個 CPU 都有自己的指令集,且與其他 CPU 的指令集不兼容。這種情況的變化要回溯到 1964 年引入 IBM S/360 產(chǎn)品線的電子管年代:突然之間,我們不需要每次新買一臺計算機時都丟棄原來的代碼并重新設(shè)計代碼了。現(xiàn)在的 IBM 大型機依然保持著對 1962 年這種革命性的指令集的向后兼容性。IBM 其他的 CPU 產(chǎn)品線也保持著相同的兼容性。 從用戶模式來看,PowerPC? 系列處理器對應(yīng)用提供了完全的兼容性:從最底層的自動交通指示燈到功能強大的 Apple Xserve G5。另外,PowerPC 微處理器還與 IBM 的其他 RISC 處理器產(chǎn)品線 POWER? 和 Star 共用一大組通用指令集,這樣就使得這三條產(chǎn)品線保持著“近似”的兼容性。在很多情況中,這等價于二進制兼容;在有些情況中,則意味著需要進行簡單的重編譯;不論如何,這都意味著程序移植已經(jīng)是小菜一碟了。 IBM 的四條處理器產(chǎn)品線 -- POWER 體系結(jié)構(gòu),PowerPC 系列的處理器,Star 系列,以及 IBM 大型機上所采用的芯片 -- 都有一個共同的祖先:IBM 801。
當(dāng)時的大部分計算機,例如 IBM S/360 大型機,都有復(fù)雜的冗余指令集,我們今天稱之為 CISC(復(fù)雜指令集計算機)。計算機的趨勢是日益小型化,而 1947 年開始的晶體管的變革更加加劇了這一趨勢的變化。隨著集成電路越來越小,設(shè)計人員可以利用更多的空間在芯片中實現(xiàn)更多指令。到 20 世紀(jì) 70 年代,芯片的復(fù)雜度已經(jīng)發(fā)展到芯片可以實現(xiàn)非常不可思議的事情(例如日益復(fù)雜的數(shù)字鐘表)。但是另外一個事實是芯片執(zhí)行指令時需要更多的機器時間,這使得 801 項目組無法實現(xiàn)自己的性能指標(biāo)。 IBM 的 John Cocke 在實現(xiàn)復(fù)雜性領(lǐng)域并不是生手,他早就從事于 IBM Stretch 計算機的研究,IBM Stretch 計算機是 IBM 704大型機的一個競爭對手,它的繼承者是 ACS (高級計算機系統(tǒng));而 704 的繼承者是 S/360,二者也是競爭對手。
他對指令集進行了拆分,并設(shè)計了一臺只有當(dāng)時同類計算機一半電路的機器,但是其運行速度卻是同類計算機的兩倍。快速的核心和更少的電路帶來的不僅僅是性能的提升,而且功耗也更少(這對于現(xiàn)在的很多用戶來說都是最重要的一個問題),成本也更低。這種體系結(jié)構(gòu)稱為 RISC(精簡指令集計算機)。有些人喜歡稱 RISC 為“l(fā)oad-store”,意思是想強調(diào) RISC 計算機只有 100 多條指令(POWER 體系結(jié)構(gòu)也是如此)。其他的 RISC 計算機并沒有采用一套精簡指令集,而是采用一組精簡過的指令:CISC 的每條復(fù)雜指令都被拆分成更小的基本單元,然后再組合起來實現(xiàn)復(fù)雜指令的功能。 無論如何,CPU 中的復(fù)雜性并沒有簡單地消失,而是轉(zhuǎn)嫁到編譯器中了。為了更好地實現(xiàn)這種功能,John Cocke 不僅成為編譯器領(lǐng)域的專家,而且在編譯器的優(yōu)化方面特有專長。他在 RISC 和編譯器優(yōu)化方面的工作為他贏得了很多榮譽,其中包括 1987 年的圖靈獎。 就 IBM 801 而言,它從來都沒有成為一個電話轉(zhuǎn)換器。相反,IBM 801 后來成為第一個 RISC 芯片,在很多 IBM 的硬件產(chǎn)品中廣泛采用 -- 曾經(jīng)有一段時間,它作為一個微控制器和處理器甚至限制了其競爭對手 IBM 大型機的發(fā)展。 RISC 體系結(jié)構(gòu)在工作站和嵌入式市場中很快占據(jù)了主導(dǎo)地位,John Cocke 之后又轉(zhuǎn)入其他項目的研究之中。在 20 世紀(jì) 80 年代,他有機會在一個后來被命名為“America”的項目中重新提煉 801 的設(shè)計,這個項目后來就成為 POWER 系列的芯片。之后的幾年中,他甚至在 PowerPC 體系結(jié)構(gòu)的開發(fā)中貢獻(xiàn)了很大的力量。與 801 類似,PowerPC 也被設(shè)計成為可以在任何機器上運行的一個通用微處理器,它在從最高端到最低端的機器上都可以運行。 現(xiàn)在,RISC 體系結(jié)構(gòu)是惟一一種最通用的 CPU,它是很多平臺的基礎(chǔ):從工作站到蜂窩電話,從視頻游戲終端到超級計算機,從交通指示燈到桌面系統(tǒng),從寬帶調(diào)制解調(diào)器到自動加油站和防撞系統(tǒng)。甚至 x86 的制造商(他們在相當(dāng)長的一段時間內(nèi)都生產(chǎn) CISC 芯片)也基于 RISC 體系結(jié)構(gòu)研制了他們的第五代和第六代芯片,并將 x86 的操作碼轉(zhuǎn)換成 RISC 操作,以保持向后兼容。
801 的設(shè)計非常簡單。但是由于所有的指令都必須在一個時鐘周期內(nèi)完成,因此其浮點運算和超量計算(并行處理)能力很差。POWER 體系結(jié)構(gòu)就著重于解決這個問題。POWER 芯片采用了 100 多條指令,是非常優(yōu)秀的一個 RISC 體系結(jié)構(gòu)。 以下對每種 POWER 芯片簡單進行一下介紹;更詳細(xì)的內(nèi)容請參考 參考資料中的鏈接。
Star 系列芯片源自于對 PowerPC 體系結(jié)構(gòu)的修改,同時還從 POWER 產(chǎn)品線中繼承了很多特點。從一開始起,這些芯片就只針對于一種應(yīng)用進行優(yōu)化:商業(yè)應(yīng)用。這種專用化使其在 UNIX 服務(wù)器領(lǐng)域幾乎在 10 年的時間中都牢居霸主地位。 RS64 系列將諸如分支預(yù)測、浮點處理以及硬件預(yù)取之類的問題留給其兄弟 POWER3 芯片來解決,自己則專注于整數(shù)運算性能和大型復(fù)雜的片上、片外緩存的處理。RS64 系列從面世以來就一直是 64 位的,2000 年在 RS64 IV 中引入了多線程的設(shè)計。RS64 可以在一臺機器內(nèi)擴展到多達(dá) 24 個處理器,功耗則只需要每個處理器 15 瓦即可,這一點與其兄弟 POWER 芯片有很大的區(qū)別。 這些特性使 RS64 芯片非常適合一些系統(tǒng),例如聯(lián)機事務(wù)處理(OLTP)、商業(yè)智能、企業(yè)資源計劃(ERP)以及其他一些大型的、功能強大的、具有多用戶和多任務(wù)而緩存命中率很低的系統(tǒng),其中包括 Web 服務(wù)。RS64 芯片只裝備在 IBM 的 eServer iSeries(RS 系列)和 pSeries(AS 系列)服務(wù)器中。
現(xiàn)在,商業(yè)計算和科學(xué)計算的聚合對處理器的設(shè)計提出了一個要求:在一個處理器上解決兩方面的市場需求。因此 Star 系列正被全新設(shè)計的 POWER4 芯片所取代。
PowerPC 是 Apple、IBM 和摩托羅拉(Motorola)聯(lián)盟(也稱為 AIM 聯(lián)盟)的產(chǎn)物,它基于 POWER 體系結(jié)構(gòu),但是與 POWER 又有很多的不同。例如,PowerPC 是開放的,它既支持高端的內(nèi)存模型,也支持低端的內(nèi)存模型,而 POWER 芯片是高端的。最初的 PowerPC 設(shè)計也著重于浮點性能和多處理能力的研究。當(dāng)然,它也包含了大部分 POWER 指令。很多應(yīng)用程序都能在 PowerPC 上正常工作,這可能需要重新編譯以進行一些轉(zhuǎn)換。 盡管 IBM 和摩托羅拉分別獨自開發(fā)了自己的芯片,但是從用戶層來講,所有的 PowerPC 處理器都運行相同的關(guān)鍵 PowerPC 指令集,這樣可以確保在之上運行的所有軟件產(chǎn)品都保持 ABI 兼容性。從 2000 年開始,摩托羅拉和 IBM 的 PowerPC 芯片都開始遵循 Book E 規(guī)范,這樣可以提供一些增強特性,從而使得 PowerPC 對嵌入式處理器應(yīng)用(例如網(wǎng)絡(luò)和存儲設(shè)備,以及消費者設(shè)備)更具有吸引力。 除了兼容性之外,關(guān)于 PowerPC 體系結(jié)構(gòu)的最大一個優(yōu)點是它是開放的:它定義了一個指令集(ISA),并且允許任何人來設(shè)計和制造與 PowerPC 兼容的處理器;為了支持 PowerPC 而開發(fā)的軟件模塊的源代碼都可以自由使用。最后,PowerPC 核心的精簡為其他部件預(yù)留了很大的空間,從新添加緩存到協(xié)處理都是如此,這樣可以實現(xiàn)任意的設(shè)計復(fù)雜度。 IBM 的 4 條服務(wù)器產(chǎn)品線中有兩條與 Apple 計算機的桌面和服務(wù)器產(chǎn)品線同樣基于 PowerPC 體系結(jié)構(gòu),分別是 Nintendo GameCube 和 IBM 的“藍(lán)色基因(Blue Gene)”超級計算機。 現(xiàn)在,三種主要的 PowerPC 系列是嵌入式 PowerPC 400 系列以及獨立的 PowerPC 700 和 PowerPC 900 系列。由于歷史的原因,我們介紹獨立的 PowerPC 600 系列,因為它是第一個 PowerPC 芯片。
雖然最初考慮用作一個桌面系統(tǒng)的芯片,但是 PowerPC 的低功耗使其成為嵌入式領(lǐng)域中很好的一個替代品,其高性能又對高級應(yīng)用很有吸引力。現(xiàn)在,PowerPC 已經(jīng)是很多東西的大腦:從視頻游戲終端、多媒體娛樂系統(tǒng),到數(shù)字助手和蜂窩電話,再到基站和 PBX 開關(guān)。我們家中的寬帶的調(diào)制解調(diào)器、hub 和路由器、自動化子系統(tǒng)、打印機、復(fù)印機以及傳真中也都可以找到 PowerPC。當(dāng)然,桌面系統(tǒng)中也會有 PowerPC。
原因之一是與其他類型的機器相比,大型機對于 CPU 的依賴程度更少,而對于系統(tǒng)體系結(jié)構(gòu)和 I/O 通道的依賴程度則更多。S/360 系列大型機是一個創(chuàng)新,它引入了對業(yè)界機器的兼容性的概念,現(xiàn)在有些磁心仍然支持當(dāng)時的功能。當(dāng)它在 1971 年名字換成 S/370 時,就成為業(yè)界第一個切換為芯片的大型機。當(dāng)然,它們使用的是 CISC 芯片:具體地講,是具有 CISC 體系結(jié)構(gòu)的二極管。大約 10 年之后,當(dāng) RISC 體系結(jié)構(gòu)出現(xiàn)時,它又切換為 RISC 芯片,令人驚奇的是,其性能獲得了顯著的提升。然而更重要的一次變化是采用 CMOS 來替代二極管;第一代(G1)CMOS 大型機芯片于 1985 年面世,直到 1997 年 IBM 宣布此后所有的大型機都將只配備 CMOS 而不再采用二極管。實際上不只大型機切換到了 CMOS:盡管二極管統(tǒng)治了早期的芯片制造世界,但是現(xiàn)在大部分處理器都是使用 CMOS。 那么這些 CMOS 芯片究竟是什么呢?哦,CMOS(互補金屬氧化物半導(dǎo)體)芯片使用金屬氧化物半導(dǎo)體場效應(yīng)晶體管(MOSFET),顯然它是一種 FEI(場效應(yīng)晶體管)。這是與二極管的根本區(qū)別,有關(guān)這些區(qū)別的影響的詳細(xì)信息請參閱 參考資料。 雖然二極管的速度很快,但是功耗也高,即使處于備用狀態(tài)或恒態(tài)時也是如此。相反,F(xiàn)ET 的速度較慢,但是在恒態(tài)下根本不消耗能源。因此,對于那些需要長期供電(而系統(tǒng)性能并不重要)的系統(tǒng)來說,F(xiàn)ET 才是正確的選擇。因此,當(dāng)計算還很原始時,人們想出數(shù)字鐘表來就是很好的一種思路,現(xiàn)在是 CMOS 芯片來驅(qū)動。它們還需要滿足其他需要更少功耗和并不要求太高性能的系統(tǒng)(例如存放個人計算機的 BIOS 信息)的要求。 這就是為什么它這么慢! 現(xiàn)在,二極管和 FET 之間另外一個重要的區(qū)別是拓?fù)浣Y(jié)構(gòu):二極管采用的是縱向布線,而基于 FET 的芯片則采用橫向布線。因此,在基于 FET 的芯片上空間就更大。在 20 世紀(jì) 80 年代和 90 年代的早期,芯片的小型化已經(jīng)使得芯片的尺寸非常之小,以至于更小的基于 FET 的芯片上可以留出更多的空間,可以放置更多的晶體管,從而實現(xiàn)遠(yuǎn)遠(yuǎn)高出二極管模型的性能。基于 FET 的芯片還有最后一個優(yōu)點:與臨近晶體管之間的電子干擾遠(yuǎn)遠(yuǎn)小于二極管。因此,盡管二極管也在進行一場日益小型化的戰(zhàn)爭,但是每次更小一點時,就會加劇了電子干擾的程度,甚至到不可接受的程度;而基于 FET 的芯片則可以變得更小,甚至可以在更大的表面區(qū)域中實現(xiàn)更高的布線密度。因此,大部分最新的高級納米級的芯片都是 CMOS 芯片。 關(guān)于大型機芯片另外一個真正有意義的指標(biāo)是芯片的冗余度。大型機芯片通常會將 20 或 30 甚至更多個芯片封裝在一個多芯片模型(MCM)中:其中一半用作備用芯片,以便在活動芯片失效時立即接管這些芯片的工作。更詳細(xì)地說,大型機會將自己接收到的每條指令都在獨立的芯片上執(zhí)行兩次,并在返回結(jié)果之前對其進行校驗。每個芯片集成 10 億個晶體管是芯片制造業(yè)中的一個里程碑,當(dāng)我們達(dá)到這個水平時,可以發(fā)現(xiàn)這種穩(wěn)定性對于消費用的處理器也同樣適用。
在最近幾年中,IBM 逐漸向外界開始開放自己的制造工廠和研發(fā)中心,這在以前是從未有過的事情。芯片用戶包括 Sony、Qualcomm 甚至 AMD。 圖 1. 薄晶片:300mm 的晶片生產(chǎn)出了更多芯片 ![]() 原因之一是 IBM 在紐約的頂級 Fishkill 工廠。Fishkill 工廠如此先進,可以生產(chǎn)幾乎所有最新的芯片:從銅 CMOS XS 到絕緣硅、硅鍺合金以及l(fā)ow-k 絕緣體,所有這些都可以在 300mm 的晶片上生產(chǎn)。Fishkill 工藝是如此先進,以至于工人甚至無需穿“兔形套裝”,因為晶片從頭到尾都是在封閉的 FOUP 中生產(chǎn)的。最后,F(xiàn)ishkill 操作非常優(yōu)秀,服務(wù)器中只運行 Linux。 Fishkill 以及 IBM 的大部分其他工藝都花費了大量的時間來使用 PowerPC 核心生產(chǎn)芯片。這是因為 PowerPC 核心速度非???,而且非常?。ㄟ@樣可以在芯片上為定制留出更多空間);另外一個原因是由于 PowerPC 體系結(jié)構(gòu)可以與多個協(xié)處理器組合使用。這也是為什么 PowerPC 會在諸如機頂盒、游戲機和 Playstation2 視頻游戲控制臺等高度專用化的環(huán)境中如此成功的原因。 IBM 工廠也是世界上領(lǐng)先的 ASIC(專用集成電路)的供應(yīng)商,業(yè)務(wù)范圍從可定制控制處理器(CCP,這種芯片中很大一部分設(shè)計是固定的,但是要留下足夠的空間進行定制)到 IBM 專家對現(xiàn)有產(chǎn)品進行裁減從而為新應(yīng)用制造芯片,到對其他供應(yīng)商的處理器和協(xié)處理器提供技術(shù)支持。簡而言之,他們?nèi)魏问露伎梢宰觥?/p>
每個芯片集成了 10 億個晶體管的芯片現(xiàn)在已經(jīng)不入主流,業(yè)界觀察家認(rèn)為到 2010 年,芯片主頻將達(dá)到 100 GHz。 同時,我們期望看到 POWER5 和細(xì)胞超級芯片的發(fā)布,后者是由 Sony、Toshiba 和 IBM 共同開發(fā)的。
|