官术网_书友最值得收藏!

CHAPTER 2 第一日上帝說:“我要計算”便有了計算機

本章要點

◆ POWER CPU和AIX操作系統的演化

◆ CPU技術

◆ 32位、64位問題

◆ 線程、進程

◆ 系統DUMP,DUMP分析

◆ 性能優化的概念

◆ 虛擬化的概念

盡管IBM pSeries服務器采用的都是POWER架構的CPU,但其間發展了幾代,而且曾經出現過幾大系列。最終,它們終于逐漸走到一起,不同的處理器內核,封裝為不同的CPU,滿足不同的成本、性能群需求。圖2-1為POWER系列芯片和AIX歷史,介紹了POWER CPU和AIX不同版本的發布時間,關于POWER系列更詳細的技術細節請參考:http://www-128.ibm.com/developerworks/power

圖2-1 POWER系列芯片和AIX歷史(摘自www.rootvg網站)

問題:為什么AIX操作系統不能安裝在PC上?

一個程序為什么能在某一款CPU上運行?這是因為此CPU能夠解讀這個程序的二進制指令。程序開端是程序員編寫的文本文件,高級語言與日常語法類似,匯編語言則與計算機CPU的語法類似,但寫出來都是人能看懂的文本!而機器/CPU是看不懂的,需要通過編譯,變成機器指令,編譯的過程類似翻譯,將你可以看懂的文本,翻譯成機器能看懂的二進制代碼,無論是高級語言還是低級的匯編語言,都需要編譯,變成機器代碼,才可以被計算機/CPU解讀(執行)。

幾乎每一種CPU都使用自己獨特格式的語言(二進制機器可執行代碼),如果兩種CPU能夠解讀同一種格式的二進制機器可執行碼,則稱其為互相二進制“兼容”;如果一種CPU能夠執行另一種的二進制代碼,而反之不可以,則稱前一種CPU“兼容”后一種CPU,這種情況多出現在同一系列CPU的前后兩代之間,新一代的CPU通常“兼容”較老的CPU,這也被稱為向前/向下兼容。現在的CPU種類浩如煙海,但是由于PC是非專業人士眼中計算機的代名詞,很多人都以為計算機CPU只有Intel/AMD的x86兼容系列。如果把x86所使用的二進制機器碼理解為是英語,但是世界上并非只有說英語的,同樣也并非只有x86架構的CPU。IBM的POWER系列CPU就是另一款,說“POWER語”的CPU,和x86之間互相聽不懂。這是最根本原因,導致了AIX不能裝在PC上。

類似的情況是Windows為什么能有Alpha版,可以在DEC的Alpha小型機跑?因為微軟將Windows另外編譯了一下,編譯成了Alpha能“聽”懂的二進制碼,AIX卻沒有這樣做。為什么呢?市場策略!Windows想從PC向上走,占據高端服務器市場,所以就要主動編譯成Alpha可理解的語言,現在甚至有了說“Intel IA-64語”的Windows。但是IBM / AIX不想這樣,他希望借AIX推廣POWER服務器,而不是推廣x86系列的PC服務器或推廣AIX。

這里又會談到虛擬機的問題,可以這樣理解,編譯程序是翻譯,將整本書翻譯了。而虛擬機是同聲傳譯,在讀書的同時進行翻譯,顯然同聲傳譯需要很高的技巧和CPU處理能力,如果是同類型的體系,例如語法相差不大,將廣東話翻譯成普通話,這個工作很容易,也不會損失多少性能,但要把廣東話翻譯成英文,這個工作量就大了,正如同同聲傳譯遠沒有演講者的原文吸引人,而且往往滯后或丟失細節。VMWare虛擬機只進行類似廣東話到普通話的翻譯,實際上的基本指令代碼根本沒翻譯,因此不會犧牲過多的性能,但要在VMWare里跑AIX,就需要將廣東話翻譯成英文,性能損失非常大,VMWare也沒有提供這種CPU轉換的仿真。

在PC上有街機游戲的仿真器,提供了這種不同CPU語言類型的仿真,但是性能損失比較大。以前CPU性能不行,所以仿真器仿真的都是前一兩代CPU的游戲,最新的PS2的游戲,就不能用現在的CPU仿真,可能過2~3年,就可以用那時的最新的CPU,仿真現在的PS2,但現在不行。有興趣的朋友可以看看這個網站:http://skyeye.org/這是仿真ARM CPU(另一款與x86,POWER都不同的CPU)的open source程序,提供對ARM CPU的仿真。

單獨為某一款CPU編寫的程序如果用另一種CPU的編譯器編譯,并不是很容易就可以通過執行的,會出現很多問題,所以一個操作系統如果支持兩種芯片,開發成本盡管沒有增加一倍,但也很高,所以如果沒有很好的市場發展要求,沒人愿意做支持兩個平臺的操作系統。

AIX沒有Intel x86版,但能否裝在其他的POWER芯片的機器上?還是不行,還需要外設、操作系統調用支持。例如蘋果機,也是使用POWER架構的CPU,從二進制執行角度,這沒問題,但是作為操作系統,而不是一個程序,不僅有二進制兼容問題,還有許多其他的外設驅動支持、中斷控制、DMA訪問等許多技術,而IBM的pSeries和蘋果計算機的體系是截然不同的,除非有人專門設計了相關的所有驅動程序、操作系統引導環境(Boot Loader和BIOS調用匹配),否則依然運行不了。由于這個工作量很大,而且要求了解很高的技術細節,往往只有操作系統的開發者才能做這個工作,鑒于AIX是IBM重要的商業軟件,IBM自己是不會做任何與自己商業目的有抵觸的事情的,因此這條路也不通。

關于虛擬化的詳細介紹,請參考本書“2.7 Simulation,Virtualization,虛擬化技術、分區”一節。

2.1 POWER家族

在第1章已經介紹過,IBM POWER家族CPU共有3大系列,分別是POWER,Power PC和CELL,其中CELL用于嵌入式系統,而其他兩大系列都在商用服務器領域有應用。其實歷史上在POWER,Power PC中間,還有一個Star系列。

2.1.1 POWER系列

POWER系列CPU從1990開始生產、裝備到RS/6000(即RISC System/6000)UNIX工作站和服務器上,現在被稱為eServer? pSeries?服務器,主要的型號有POWER 1,POWER 2,POWER 3,POWER 4,POWER 4+,以及目前的POWER 5,POWER 5+和剛剛推出的POWER 6處理器。

最早的801是POWER系列處理器的前身,它的設計非常簡單,為了實現所有的指令都能在一個時鐘周期內完成,因此缺乏浮點運算和并行處理能力,POWER架構為了解決這個問題,或者說超越801的限制,增加到了100多條指令,成為一種很“復雜”的精簡指令集CPU。

1.POWER 1

發布于1990年,每個芯片大約封裝了80萬個晶體管。

與當時其他的處理器不同,POWER 1進行了功能分區,這種設計方案使POWER 1具有非常好的擴展能力,它有單獨的浮點寄存器,可以適用于從低端UNIX工作站到高端UNIX服務器各種環境。最早的POWER 1是安裝在同一母板上的幾個芯片的組合,不過很快就集成到一個芯片中,成為單芯片設計,總計擁有超過一百萬個晶體管的RISC處理器(RSC,RISC Single Chip,即單芯片的RISC處理器)。POWER 1最成功的應用是被用于火星探路者宇宙飛船上。

2.POWER 2

發布于1993年,每個芯片封裝了一千五百萬個晶體管。

POWER 2增加了第二個浮點單元處理(floating-point unit,FPU)和更多的緩存。被稱為P2SC(Power 2 Scalable Chip)的超級芯片使用CMOS-6S技術,用一個芯片實現了POWER2 8個內核的架構(從這里你可以看到其實在1993年IBM就已經開始了多核芯片的設計,其實如果囊括大型機,在20世紀80年代,就有了多核的概念),就是使用這種處理器的32個節點的DEEP BLUE(深藍)超級計算機,在1997年戰勝了國際象棋冠軍卡斯帕羅夫。

3.POWER 3

發布于1998年,每個芯片封裝了一千五百萬個晶體管。

這是IBM第一款64位對稱多處理器結構(SMP),與原有的POWER指令集完全兼容,也兼容Power PC指令集,主要用于科學計算,從航空設計、生物制藥數據分析到天氣預測。它具有一個數據預取引擎,非阻塞的內置數據緩存和雙浮點處理單元。POWER 3-II采用與POWER 3相同的設計,在制造芯片時使用了銅導線技術,在幾乎相同的制造成本下,提高了一倍的性能。

4.POWER 4

發布于2001年,每個芯片封裝了一億七千四百萬個晶體管。

這是一款達到GHz主頻的處理器,0.18微米銅導線,硅絕緣技術。它具有POWER 3的全部特性,包括與Power PC指令集兼容,但它又是全新的設計,每個處理器包含兩個64位1GHz+ Power PC內核,這是業界第一款批量生產的單芯片雙核設計,又被稱為單芯片對稱多處理設計(multicore design on a single die,SMP on a chip,或者system on a chip),每個處理器可以同時執行200條指令。POWER 4架構可以制造IBM Regatta(即p690)大型服務器,也被用來設計Power PC 970處理器(在蘋果公司被稱為Apple G5)。POWER 4+?(又被稱為POWER 4-II)是POWER 4主頻升級的提高版。POWER 4 CPU支持了分區技術,可以將芯片切分成多個單元,運行不同的操作系統。

5.POWER 5 ?

2004年發布,與POWER 3和POWER 4類似,POWER 5同時使用了POWER和Power PC架構,利用了更快的片內通信技術、芯片多處理技術、同時多線程技術(simultaneous multithreading,SMT,一個物理CPU內核可以模擬兩個邏輯CPU,如果兩個線程的工作內容相差較大,則使用SMT技術性能最高可以達到單個CPU方式執行的1.5~1.7倍),比POWER 4性能提高了4倍。POWER 5的高端服務器代號為“騎兵隊”(“Squadrons”,IBM希望此CPU能如同騎士馬隊沖鋒一樣橫掃UNIX服務器市場,結果似乎應驗了設計者的期望)。在POWER 5上支持了微分區(Advanced Virtualization)的功能,可以將一個處理器內核虛擬切分成多個處理器,供操作系統使用,最小的分配粒度為0.1個CPU,共享使用粒度是1/100個CPU。在2006年,IBM推出了主頻提高,封裝變化的POWER 5,被稱為POWER 5+,最高主頻為2.2GHz。POWER 5的封裝和外觀如圖2-2所示。

圖2-2 包含2個P5核心的DCM(雙核)和包含4顆POWER 5 CPU的MCM(多核)模塊

討論:散熱與CPU設計、制造有什么關系?

在前面一直不停地提到芯片的散熱,似乎散熱比芯片處理能力更重要,事實確實如此。研究過CPU超頻的發燒友都知道同樣類型的CPU,主頻越快、CPU處理速度越快。如果芯片功耗小,散熱少,則簡單地提高芯片主頻(不按照廠商標準,非正常地提高主頻方式就叫超頻),就可以提升性能。但是隨著主頻的提升,發熱量以三次方的比率增加,當達到芯片散熱極限的時候,也就是此款芯片性能的最高點。因此,發熱量直接關系到CPU的處理速度。此外,發熱量還會影響以下幾個方面:

(1)溫度越高,集成電路中的晶體管結構越不穩定,漏電越多,會產生更多的熱量,最終喪失功能。長期這樣運行,晶體管結構也更容易損壞,故障率高。如果散熱少,則CPU更穩定;

(2)CPU集成度高,要求導線更細,電阻增高,相同主頻下散熱也越多。因此發熱情況是集成度和設計效率的綜合體現。如果實現相同功能,發熱量低,說明該設計還有可挖掘的潛力,只要適當提高主頻,就可以“廉價”地提高處理性能;

(3)由于散熱問題,輔助散熱的設施更加復雜。盡管單個CPU可能只消耗幾十瓦的功率,但對于一個有幾十個CPU的服務器,就需要消耗近千瓦用于CPU,另外幾百瓦用于風冷散熱。這些設施都增加的服務器的成本:服務器用的可是UPS過濾后的高質量電源,每度電成本驚人,更不用說機房的制冷系統,需要把這些剛剛產生的“熱量”再冷卻下來。

從圖2-4所示的封裝芯片功率密度圖中可以比較不同芯片之間的散熱能力。在IBM的大型機中,最早使用的是Bipolar技術生產芯片,盡管Bipolar在相同的制造工藝下,可以比其他技術生產的芯片更快,但是發熱量更高。為了處理好系統散熱,IBM早在20世紀60年代中期就開始使用水冷技術,在大型機里竟然有一臺“冰箱”專門用于芯片散熱(這可能也是大型機都很大的原因之一?!)。到20世紀90年代,隨著CMOS技術的崛起,IBM的大型機也轉型采用CMOS技術生產芯片,不再需要水冷散熱,但是又過了將近10年,CMOS的處理能力才達到10年前的Bipolar芯片!。如今,CMOS也將面臨散熱的問題,好在IBM早有經驗,也許又要用“冰箱”裝備計算機了!

注意,這里的散熱功率是指封裝好的芯片平均發熱量,如果按照芯片內核計算,你就會發現芯片真的“太熱了”,例如其中POWER 5的內核只有不到1cm2,而8個POWER 5內核的封裝卻達到了100 cm2以上,平均每個內核10cm2,如果再進一步考慮其厚度只有區區幾個微米,其點功率密度遠遠超過我們的想象。一個極端的外推測算是如果按照當前芯片功率密度和處理性能增長速度(摩爾定律),15年之內,芯片中心點功率密度將超過核反應堆的中心!這當然是不可能的,因此依照現有的芯片設計方式,很快就要達到理論設計極限了。為了降低芯片產熱量,POWER 5 CPU增加了動態電源管理功能,當不需要全速工作的時候,會自動關閉一些模塊,或者降低這些模塊的時鐘頻率,使得散熱量下降(參考圖2-4 Power 5紅外影像)。熱耗散是這些極限中的一個,也是最重要的一個。其他類似的極限還有:

圖2-3 不同CPU的功率消耗情況

(1)量子隧道極限。

當CPU內集成電路中功能結構之間距離過于緊密時,電子會隨機從勢壘中躍遷到外面,發生泄漏,因此無法完成正常的開關功能。盡管此極限作用范圍是納米級別,但是我們已經逐漸趨近于這個極限,現在的集成電路標稱尺度是90納米,當達到45納米甚至10納米的時候,量子隧道效應就會非常明顯,以至于不能忽略。

(2)光速極限。

可能讀者會感到疑惑,在CPU那么小的區域內怎么會和30萬千米/秒光速有關系?其原因是由于1GHz以上的主頻。在1GHz的頻率下,在每個時鐘周期內(實際是一個方波,此處忽略各種不同定義之間的區別),電信號只能傳播0.3米(電信號是電磁波,與光速相同)。雖然CPU總體體積不大,但是其中導線連接錯綜復雜,累計長度遠比我們想象中長,一顆采用90納米技術,含有一億個晶體管的芯片,其內部導線總長度可以達到300米以上,當然并不是所有的線路都串聯在一起,不過此時光速極限的作用也變得非常明顯。

(3)封裝和IO極限。

由于CPU功能越來越強大,需要并行處理很多數據,這些數據畢竟是在內存、在磁盤上,需要將這些數據及時“填充”到CPU中執行。通過增加引腳、提高數據位數可以提高數據傳輸帶寬,但是引腳密度與工藝相關,其密度固定(增長非常緩慢),所以在做CPU的時候,應盡力增加片內集成度,把Cache,把其他IO功能也都集成到CPU中。封裝中還要考慮冷卻、機械強度等問題,這些附屬的功能也不能無限增加,其封裝成本越來越高。

類似的極限還有很多,但作者相信CPU的發展遠沒有達到終點,不斷有創新技術去超越這些極限(更可能是繞過,例如POWER 5技術支持的動態電源管理技術可以讓CPU閑暇的時候降低溫度(如圖2-4所示為Power 5紅外影像)。例如強制冷卻技術、立體集成電路制造工藝,從DCM(雙核)到MCM(多核),以后可能會出現XCM(作者杜撰的一個詞),總之,人類的想象力和創造力是無窮的。

圖2-4 Power 5紅外影像

6.POWER 6 ?

在2007年5月發布,目前最高主頻4.7GHz,今后將有超過5GHz主頻的版本。片內集成度約為7億5千萬個晶體管。POWER 6將一些總線控制和CPU內核之間的數據通道集成進單一芯片,與POWER 5相比,增加了更多的CPU內核間通信機制和Cache。POWER 6比較有特點的技術是可以直接支持10進制數字處理,這是計算機史上的一次回歸,我們從十進制轉到二進制以便于計算機處理,而如今,計算機芯片設計已經足夠先進,讓我們可以不再去適應機器,而是讓機器適應我們的需求。

POWER 6其他的技術包括雙核,128KB的L1 Cache(數據、指令各64KB),8條兩階流水線支持在一個時鐘周期完成兩組32位讀或一組64位寫操作;兩個內核各有4MB“半共享”的L2 Cache,雖然它被一個內核占據,但另一個內核也可以快速訪問它;另外32MB的L3 Cache可被兩個內核通過80GB/s的帶寬訪問;POWER 6還通過ViVA-2(VirtualVector Architecture)技術提高了向量處理性能;支持最多1024個虛擬分區也是POWER 6的新特點(POWER 5最多支持256個分區)。POWER 6特有的10進制運算寄存器、指令可以使它在計算時不會產生2-10進制轉換誤差,同時也提高了運算速度。POWER 6包括一些額外的電路去支持Mainframe的指令,開始了整合z系列的實踐,而POWER 6L則是“簡化”版的芯片,降低了主頻,可以用于刀片服務器。

在生產POWER 6的同時,POWER 7也處于緊張開發階段,預計2012年面世,有傳言說POWER 7將使用與AMD Opteron相同的CPU管腳插座,這幾乎意味著IBM要造出一個超級整合的計算機,最后把x系列也裝載到這個盒子里,插了POWER 7就是UNIX服務器、大型機,而換了Opteron,就是PC Server,甚至不同的CPU可以并存于同一臺服務器!

2.1.2 Star系列

Star系列處理器,是Power PC架構的另一種技術實現,與POWER系列非常類似。由于此系列的各種CPU代號都有Star或者用某一顆星的名字來命名,因此被稱為Star系列。

1.RS64

1997年發布,代號為“Apache”。

這一系列使用Power PC處理器設計,繼承了大量POWER架構的特點,但為了商業運算進行了特別優化,與POWER 3相比,其中包括指令分支預測、浮點意外處理、硬件預取等功能被取消,而取而代之的是整形計算意外處理、復雜的片內/片外緩存算法、更大的緩存容量。RS64的設計可以支持64位處理,在2000年發布的RS64 IV中采用了硬件多線程技術,單臺服務器最多可以擴展到24顆CPU,消耗的功耗也非常少,每個處理器只有15瓦。此款CPU開始用于AS/400(即后來的iSeries),從RS 64 II起,才用于RS/6000(pSeries)。

這種設計使得RS64芯片比較適用于在線交易(On-Line Transaction Processing,OLTP)、企業資源計劃系統(Enterprise Resource Planning,ERP),以及其他大型、混合的多功能、數據庫訪問、多用戶、多進程的業務。不過在實際使用的過程中,發現其計算速度稍有欠缺,可能是RS64 CPU的主頻都很低,典型的幾款服務器主頻只有100MHz左右,對于商業智能(Business Intelligence,BI)和科學計算一類的應用,性能不佳。

2.RS64 II

1998年發布,代號為:“Northstar”(北方之星)。

該CPU擁有8MB L2 Cache,256位的數據總線,262MHz主頻。裝配此款CPU的服務器可以支持最多三個CPU板,每個CPU板裝載4路CPU,這樣可以使RS/6000服務器具有4路、8路、12路的SMP結構。

3.RS64 III

1999年發布,代號為:“Pulsar”(脈沖星)。

第一款使用硅絕緣的RS64芯片,通過6個CPU卡可以實現24路SMP結構。由于此款CPU主頻提高到450MHz,使用優化的指令分支預取技術避免了跳轉懲罰(或只需要額外1個時鐘周期),5級流水線等技術,CPU處理性能大幅度提高。IBM用此款服務器裝配了RS/6000的80系列(H80,M80,S80服務器)。

4.RS64 IV

2001發布,代號為:Istar,SStar

第一款支持硬件多線程的商用處理器,比以前同系列的CPU更快,更小。600-750MHz的主頻,硬件多線程技術(HMT)使得此CPU具有不錯的市場表現。另外每個CPU僅消耗15W的功率也使得用此CPU裝配的服務器無需特別的電源、散熱系統。

由于市場對于商業和計算環境的混合需求,使得IBM重新整合了POWER系列和Power PC系列處理器,最終設計了POWER 4處理器。Star系列也最后完成了歷史使命。

2.1.3 Power PC系列

Power PC中的PC代表了高效處理的含義(Performance Computing),是從POWER架構發展出來的一個分支,最早在1993年發布,用于從單板機、電池電源管理到超級計算機和Mainframe主機。Power PC最早登上主角的地位是從作為Power Macintosh 6100的CPU開始的。

眾所周知,Power PC開始與蘋果、摩托羅拉和IBM聯盟(被稱為AIM聯盟),是源自于POWER架構的設計,但進行了大量的改動。例如,Power PC是open-endian設計,即同時支持大尾段(big-endian)和小尾段(little-endian)內存模式,而POWER是大尾段設計;Power PC希望提供更強的浮點處理能力和多線程處理能力。所以這兩種類型的CPU并沒有太大的差別,Power PC保留了絕大部分POWER指令,許多應用只要重新編譯,就可以分別在兩個平臺上運行。

當IBM和摩托羅拉分別自己設計芯片的時候,依然遵循統一的標準。在2000年,大家使用的是Book E spec,這個設計實現使Power PC能更專注于嵌入式處理系統,例如網絡、存儲和家用設施的處理器。

除了兼容之外,Power PC的架構的另一個亮點是開放,它公開了指令集,允許任何廠商設計Power PC的兼容處理器、Power PC的一些軟件的源代碼也可以下載到,Power PC的內核也非常小,可以在同一芯片上安置許多其他的輔助電路,例如緩存、協處理器,大大增加了芯片的靈活性。

IBM四條服務器產品線中有兩條都與Power PC架構有關,另外蘋果公司的臺式機和服務器、任天堂的GameCube,IBM自己的藍色基因超級計算機都使用了PowerPC芯片。

今天,Power PC家族有三條產品線,分別是嵌入式的Power PC 400系列,Power PC 700和Power PC 900系列。從歷史上看,還有一款Power PC 600系列最值得關注,因為它具有非常好的性能。

1.Power PC 600系列

Power PC 601是Power PC 600系列中的第一款,它綜合了POWER和Power PC架構的特點,并且盡量保持與POWER 1和隨后的其他Power PC芯片的兼容性(即使是同一系列的芯片,也存在兼容性問題),甚至與摩托羅拉的88110兼容。蘋果公司用Power PC 601在1994年制造了Power Mac 6100,66 MHz CPU主頻。此系列下一個芯片是603,低端、低功耗的處理器,大量使用在汽車上。與Power PC 603?同日登場的還有PowerPC 604?,是更強大的處理器,隨之的是“加強版”的603e和604e。在此之后,第一款64位Power PC——Power PC 620?在1995年被發布。

2.Power PC 700系列

在1998年,出現了Power PC 740和Power PC 750,與604e非常相像,甚至一些人說600/700兩個系列根本就是一回事。Power PC 750是第一款銅導線處理器,蘋果公司用它生產了G3,但很快就被G4所取代,使用的是摩托羅拉7400。在2002年發布的32位的Power PC 750FX曾經震驚業界,因為它是第一款達到1GHz主頻的處理器,IBM在2003年緊跟著推出了750GX,集成了1MB片上二級緩存,也是1GHz主頻,大約7瓦功耗。

3.Power PC 900系列

64位的Power PC 970,實際上是單處理器內核的POWER 4,可以同時執行200條指令,最高達到2 GHz以上的主頻,而僅僅消耗十數瓦的電力。低功耗使它被大量用于筆記本電腦和手持設備上,還有一些高密度的存儲、服務器(例如刀片中心)也在使用它。64位處理能力,單指令多數據流設計使它更適合于多媒體、圖形處理。蘋果公司的臺式機、Xserve服務器,以及其他一些圖形、網絡設備,都在使用這款處理器。例如蘋果Xserve G5就使用了Power PC 970FX,也是第一款同時使用了應變硅、硅絕緣兩項技術的芯片。

4.Power PC 400系列

這一款芯片主要用于嵌入式系統,但Power PC靈活的架構使它可以被用于從機頂盒這樣的小設備到藍色基因超級計算機。在產品線的一端,Power PC 405EP在200MHz主頻僅消耗1瓦的電力,而銅導線的Power PC 440在800 MHz主頻可以提供同類型嵌入式芯片中最高的性能。這款芯片也有許多旁支,例如利用Power PC 440GX的雙Gigabit Ethernet和TCP/IP加速功能可以降低網絡應用程序50%以上的負載。圍繞Power PC 400內核,有許多具體實現,用于建造藍色基因超級計算機的處理芯片就是包含了兩個Power PC 440處理器內核和兩個浮點處理內核。

關于Power架構的詳細介紹,有興趣的朋友可以參考以下網址:

http://www-306.ibm.com/chips/techlib/techlib.nsf/productfamilies/PowerPC

2.1.4 IBM的芯片制造專利

大家都知道IBM最早設計了SQL,FORTRAN語言,生產了第一臺硬盤驅動器、個人計算機和最早的商用計算機(這也是國際商業機器公司名稱的由來),但很少有人知道IBM在芯片制造領域也是技術領先者。最近IBM又斥資幾十億美元,建造了300mm的芯片制造工廠。

1.銅導線技術

半導體工業中一直夢想著用銅取代鋁作為芯片內部導線,因為銅比鋁的導電率高40%,這就意味著可以用更細的導線制造芯片,實現更高的集成度,而芯片發熱量更少。IBM 1997年申請了銅導線專利,并將此制造專利出售給幾乎所有的芯片制造企業,包括HP公司。

2.硅-鍺技術Silicon-Germanium(SiGe)

在制作雙極電路芯片的時候,需要使用昂貴的鎵—砷處理過程,而采用SiGe可以大幅度提高操作頻率,提高擴散度,減少信號噪音,在1994年,IBM發布了此技術。

3.硅絕緣技術Silicon on Insulator(SOI)

在制作芯片的硅基材料和三極管電路之間附著一層絕緣材料可以防止電子泄漏效應,減少晶體管漏電,從而提高芯片的性能,降低電力消耗(較少發熱)。

4.低K值門電路

三極管進行邏輯操作需要對電壓信號進行響應,如果能夠對很低的電壓信號做出反應,則整體集成電路的輸入電壓和消耗功率都會很低,因而降低了芯片發熱量,減少了門電路的電容效應,提高了響應(開關)速度,此技術可以讓芯片在更高的頻率下工作。

5.應變硅技術Strained silicon

此技術采用對制作芯片的硅預先進行拉伸(同時在另一個方向進行壓縮)處理,這種方式有點類似于鋼鐵行業的鍛造技術。通過此技術使芯片材料形成特定的晶格形式,提高電子通過速度,增加性能,降低功耗。與硅絕緣技術一起使用,能更提高更多的性能,減少更多的電力消耗。

6.3-D集成電路技術

當芯片內電路越來越密集的時候,固然可以降低芯片內器件的尺寸,但現在已經趨進了理論技術極限,越來越難以提高。另一條變通的出路就是從二維走向三維,通過將芯片內的電路立體化,可以在相同的平面集成度(工藝)下,提高至少50%的密度,最樂觀的估計是可以憑借此技術再延續摩爾定律20年。

2.1.5 POWER CPU芯片封裝

CORE,Chip,DCM,QCM,MCM,Processor,這些都是CPU封裝的一些相關概念。CORE即內核,通常代表一個CPU,但是一個單獨的CPU內核往往需要很多輔助的部件,例如Cache、協處理器等,內核不能獨立工作。如果一個CPU內核和相關的電路被集成到一個物理的封裝模塊(Chip)中,可以完成完整的處理功能,就被稱為CPU,而如果這個物理模塊中包含了兩個內核,則叫做雙核結構,IBM稱其為DCM(Dual CPU Module),Intel稱其為Dual CORE結構。

不同廠商對CPU的定義不盡相同,長時間存在模糊的定義,例如IBM通常以一個CORE為一個CPU,而Sun公司以前認為一個封裝(Chip)才是一個CPU。現在業界已經逐漸統一,一般都以一個CORE為一個CPU。

QCM和MCM在前面也有過介紹,分別是四核的封裝和多核的封裝結構。

處理器(Processor)與CORE的概念類似,但處理器更多用于表示邏輯CPU,就是從操作系統層面來看,CPU的數量和運行情況。當沒有使用SMT(虛擬多線程)技術的時候,一個內核就表現為一個處理器,而使用了SMT一類的技術,則一個內核可以“虛擬”成為兩個處理器。

2.1.6 AIX的歷史

AIX V1在1986年面世,以IBM 6150 RT(RISC Technology)工作站為硬件平臺,以System V Release 1(這是UNIX的老祖宗AT&T貝爾實驗室推出的一個商業版UNIX標準)和2為基礎開發,但是由于和IBM合作開發AIX的INTERACTIVE Systems Corporation(這是IBM的一個下包公司)也從Berkeley Software Distribution 4.2(這是由伯克利大學的計算機系創始的UNIX的另一大體系)和4.3獲得了源碼使用授權,并將其應用于AIX中,因此AIX包含了UNIX兩大體系的特點。從AIX操作系統的命名,也可以看到研發公司Interactive Systems的影子:AIX的縮寫的一種解釋是Advanced Interactive uniX。

AIX V2的內核使用PL/I語言編寫,而這種語言與UNIX領域的霸主C語言比起來,不但晦澀,而且更加死板,這使得繼續開發V3版AIX遇到了很多麻煩。V2版的AIX基本已經具有了全部現代UNIX的特征,它包括完整的TCP/IP協議支持,當然也支持IBM自己的SNA網絡協議;支持2種類型文件系統:來自Sun Microsystems授權的NFS和Distributed Services(這是IBM Mainframe和AS/400上使用的一種網絡文件系統協議)。V2也提供了圖形方式的用戶界面,即X 10R3,這是授權自MIT(麻省理工大學)的X Windows System標準,后來升級為X 10R4和X11版。編譯系統則包括C和Fortran語言支持。

當IBM發布RS/6000平臺的時候,AIX只是這種平臺可支持的幾種操作系統之一,被稱為AIX/6000,直到1990年,才成為它唯一的商用操作系統,此時的AIX版本為V3,基于AT&T System V Release 3。AIX終生坎坷,好在有驚無險,無論是20世紀90年代末的Monterey計劃,還是2003年與SCO關于版權的訴訟都沒有讓AIX夭折,相反,AIX一天天成長、壯大。

在支持RS/6000同時,AIX也有另外一個版本支持PC(x86 CPU),叫做AIX PS/2(或者AIX/386),這是由IBM另外一個下包公司:Locus Computing Co.開發、在1989年發布的,它支持IBM PS/2硬件平臺,使用Intel 386處理器。可惜此后隨著PS/2日落西山,合同并沒有續簽,AIX的PC版也就因此終結了。

作為最主要的大型機生產商,IBM當然不會放棄在Mainframe上做文章的機會,AIX也有大型機版。此版本發布于1988年,被稱為AIX/370,也是由Locus Computing開發的,1991年大型機發布了ESA/390架構之后,AIX/370也升級為AIX/ESA支持此架構。與AIX/370不同,AIX/ESA既可以作為大型機最底層操作系統,也可以由大型及傳統的操作系統VM提供一個虛擬的硬件環境,作為Guest OS使用。由于為大型機提供了一些類似UNIX的界面和功能,所以此版本還有一些市場,最后在1999年被改名為MVS/ESA OpenEdition,可惜其生命也就此終結。

其后AIX與RS/6000(即pSeries)患難與共,共度難關,終于贏得今日輝煌,想了解詳細的信息請參考《AIX從成功走向成功》一文:ftp://ftp.Software.ibm.com/common/ssi/pm/rg/n/pso 03004 USEN.PDF

主站蜘蛛池模板: 子长县| 定远县| 亚东县| 同仁县| 两当县| 比如县| 安西县| 苗栗市| 南投市| 湟源县| 泸定县| 绥宁县| 常宁市| 灵寿县| 定日县| 荣成市| 襄垣县| 锡林郭勒盟| 尤溪县| 鸡泽县| 宜黄县| 涞水县| 马龙县| 敖汉旗| 沿河| 宜宾县| 凉城县| 无棣县| 台东市| 牙克石市| 陆丰市| 吉林省| 长乐市| 通道| 托克托县| 莱阳市| 沙雅县| 民和| 宝坻区| 抚顺县| 积石山|