IBM POWER微處理器
此條目翻譯品質不佳。 (2018年8月24日) |
IBM POWER是RISC處理器的一種,由IBM設計,全稱為「Performance Optimization With Enhanced RISC」,《IBM Connect電子報》2007年8月號譯為「增強RISC性能優化」。POWER系列微處理器在不少IBM伺服器、超級電腦、小型電腦及工作站中,廣泛作為主CPU使用。而PowerPC架構也是源自POWER架構,並應用在蘋果電腦的麥金塔電腦及部份IBM的工作站,以及各式各樣的嵌入式系統上。此外,IBM透過Power.org網站,向其他開發者及製造商推廣POWER架構及其他衍生產品。
POWER同樣也是一系列實施了同樣架構指令集的微處理器的名字。POWER系列微處理器用於IBM的服務器、微電腦、工作站、超級電腦的主處理器。POWER3以及隨後的POWER系列微處理器均全部實施了64-bit PowerPC架構。從POWER3開始及其之後的POWER處器都不再具備與支援更早之前的舊POWER的指令集架構,包括PowerPC指令集架構或任何POWER2所追加延伸的指令,如lfq或stfq等,都不再具備與支援。
歷史
IBM 801計畫
西元1974年,IBM開始了一個計畫,目標是創造一個至少可處理每秒300路通話的大型電話交換網路。預想中每路通話需要20000個指令來處理,以達到即時回應,因此需要一個速度為12 MIPS的處理器。這在當時是很有野心的需求,但他們認知到,並不需要如同時期處理器那樣的複雜設計,因為這部機器只需要處理I/O,分歧、暫存器加法、在暫存器和記憶體間搬移資料,不需要用來處理大量數學運算的特殊指令。
複雜運算的每個步驟,都可以簡單的指令來取代,而所有的簡單指令,都在同樣的時間內完成。這個精簡設計的理念,後來成為人們所熟知的RISC。
西元1975年,這個電話交換計畫在還沒有原型之前,就被中止了。然而,由計畫第一年中模擬所得到的估計來看,為這個計畫所設計的處理器將會是個很有潛力的通用型處理器,因此後續工作在湯瑪斯·華生研究中心的801號樓繼續進行,也就是801計畫。
1982 Research Project「Cheetah」
為了判斷RISC機器是否能同時處理多個指令,或"801"的設計需要哪些修改,來製造擁有多個執行單元的"801",在華生研究中心的兩年中,探索了"801"設計的超純量極限。例如使用多個運算單元實作"801"的設計來增進效能,這與先前在IBM System/360 Model 91和CDC 6600上的作法類似。
"Cheetah"擁有個別的分歧、整數及小數點執行單元。在"801"上作了許多改變以容許多重執行單元的設計。
"Cheetah"原本計畫使用Bipolar ECL製程 ,但在1984年CMOS已經可提供積體電路整合,同時增進電晶體邏輯效能。
The America Project
1985年,華生研究中心開始了第二世代RISC架構的研究,成果是"AMERICA架構"。1986年,IBM以這個架構為基礎,在奧斯汀開始開發RS/6000系列。
POWER and RS/6000
1990年2月,第一部採用POWER架構的IBM電腦被稱作"RISC System/6000"或RS/6000。RS/6000分成工作站和伺服器兩個等級,分別稱作POWERstation和POWERserver。RS/6000的中央處理器有兩種組態,分別稱作RIOS-1和RIOS.9(更常被稱作"POWER" CPU)。RIOS-1有11個晶片 - 一個指令快取晶片、整數晶片、浮點數晶片、四個資料快取晶片、儲存控制晶片、兩個I/O晶片、和一個時鐘晶片。較低成本的RIOS.9有8個晶片 - 一個指令快取晶片、整數晶片、浮點數晶片、兩個資料快取晶片、儲存控制晶片、一個I/O晶片、和一個時鐘晶片。
單晶片的RIOS, RSC(RISC Single Chip的縮寫),是為了較低階的RS/6000開發出來的。第一部使用RSC的機器在1992年推出。
Amazon
1990年亞馬遜計畫啟動,目標是創造一個可以使用AIX和OS/400的共通架構。IBM的AS/400工程團隊當時正在設計一個RISC指令集,用來取代既存AS/400電腦的CISC指令集。原始的設計是從既有的"IMPI"指令集衍生而來,擴展為六十四位元,增加一些RISC指令以加速那些原本在AS/400上執行,較需求計算能力的商業應用。IBM曾想讓他們使用PowerPC,但他們抗命不從,爭辯說現有的32/64位元PowerPC指令集無法執行OS/400,也需要擴充以執行AS/400上的商業應用。最後,開發出"Amazon"這個PowerPC的指令集延伸。
同時,RS/6000的開發者正大幅擴充產品線,延伸到低階工作站,大型對稱式處理(SMP)系統,和叢集式的RS/6000-SP2系統。AIM聯盟開發出來的PowerPC很適合低階工作站和小型伺服器。但大型主機和大型叢集式系統需要的效能和可靠性(RAS)特性,比專為Apple PowerMac設計的處理器更多。多處理器功能需要同時符合PowerMac注重的成本需求、RS/6000系統的效能和可靠性需求、以及AS/400到PowerPC的轉換需求。
亞馬遜再度擴充支援這些特性,以設計出可同時使用在RS/6000和AS/400的處理器。
第一個開發這種處理器的計畫是「參宿五」(Bellatrix,獵戶座的其中一顆星)。參宿五計畫在廣泛使用時脈電路、和EDA工具來支援設計工作上相當具有野心,最終被中止。為滿足技術工作站、超級電腦、和工程、科學市場,IBM奧斯汀(RS/6000的誕生地)開始同時開發能及時上市的單晶片版本Power2 (P2SC),和擁有POWER2延伸、兩個複雜MAF浮點單元的精密64位元PowerPC處理器(POWER3/630)。為滿足RS/6000的商業應用和AS/400系統,IBM Rochester(AS/400的誕生地)開始開發第一個有AS/400延伸的高階64位元PowerPC處理器。IBM Endicott也開始開發擁有AS/400延伸的低階PowerPC處理器。
AS/400所使用的高階多晶片處理器A25/30 "Muskie",和單晶片處理器A10 "Cobra"在1995年亮相。
1997年,在IBM Endicott研究中心開發的"Apache"處理器發表。使用在RS/6000上時它被稱作RS64。後續型號也使用在AS/400上。
POWER2
在AIM聯盟1991年成立的兩年之前,IBM已在德州奧斯汀開始Power1後繼者POWER2的開發。儘管因AIM聯盟而分散了資源,POWER2從開始到出貨還是花了五年。POWER2在1993年11月公布時,因加入第二個整數、浮點運算單元和其他效能改進,在效能處於領先地位。
指令集也加入了新指令:
- 四字集儲存指令,這個載入指令將兩個相鄰的倍精度數值載入兩個相鄰的浮點暫存器。
- 硬體開方根指令
- 浮點-整數轉換指令
為支援RS/6000和RS/6000 SP2產品線,在AIM聯盟外,IBM以自家的設計團隊,和當時最先進的CMOS-6s製程,實作了單晶片的POWER2, P2SC (POWER2 Super Chip)。P2SC在一個巨大的晶片上,結合了所有個別的指令快取,整數、浮點、儲存控制、和資料快取晶片。在推出的當時,P2SC是業界最大、電晶體數最多的處理器。它也領先在處理器上內建記憶體控制器。儘管晶片尺寸、複雜度和先進CMOS製程的挑戰艱鉅,它第一次tape-out即能上市,而且在公布的當時具有領先的浮點運算效能。P2SC是1997年打敗棋王Gary Kasparov的IBM深藍超級電腦所採用的處理器。因具有兩個精密的MAF浮點運算單元和寬且低延遲的記憶體界面,P2SC主要瞄準工程和科學應用。P2SC後來被擁有64位元、對稱式處理能力、第二階快取,且能完整移植到PowerPC的Power3/630所取代。
PowerPC
1991年,IBM了解到如果將晶片賣給其他系統製造商,也許能將POWER變成一個大量生產的架構。他們和蘋果公司緊密合作,目標是開發一整個家族以POWER為基礎的單晶片微處理器。當時蘋果公司是摩托羅拉在桌上型微處理器等級的最大客戶,因和摩托羅拉長久以來的關係,他們大量生產微處理器的經驗,和保有第二來源的理由,不久蘋果公司就徵詢摩托羅拉加入討論。這個三方合作以德州奧斯汀為基地,後來成為知名的AIM聯盟,也就是Apple, IBM,和Motorola。
兩年的開發之後,在1993年,從POWER架構修改而來的PowerPC架構誕生了。PowerPC架構加入了單精度浮點運算指令,和通用暫存器間的乘法和除法指令,移除了一些POWER的特性,像是使用MQ暫存器的乘法和除法指令。它也在架構中加入了64位元的延伸和SMP的支援。
第一個PowerPC晶片是PowerPC 601。更多資訊請參考PowerPC頁面。
POWER3
IBM在1998年引介了POWER3。它實作了64位元POWER指令集,包括所有(在當時是)選擇性的指令集,也擁有兩個浮點運算單元,三個整數運算單元,和兩個存儲單元。後續所有的POWER處理器都實作了完整的64位元PowerPC和POWER指令,因此IBM不再有隻實作POWER或POWER2的處理器。
POWER4
2001年IBM引介了第一個GIGA系列的處理器,POWER4。它是個完全64位元的處理器,實作了完整的64位元指令集,同時也擁有AS/400延伸,同時使用在RS/6000和AS/400系統上,取代POWER3和RS64處理器。當時有個叫作PowerPC 2.00的指令集發布。在這個指令集上加入了一些延伸,像是帶一個參數的mfcr指令。
POWER5
2004年IBM介紹了POWER5處理器。它是個擁有兩個核心的多核心處理器,支援兩個執行緒的並行多執行緒(SMT),因此它實作了四個邏輯處理器。多個POWER5處理器透過ViVA "虛擬向量架構"可結合在一起當成一個向量處理器。POWER5在指令集架構中加入了更多指令。
POWER5+ 在ISA 2.02版時又加入了更多指令。
POWER6
POWER6在2007年5月21日公開。它為POWER系列加入了VMX。它也引入了從POWER3到POWER4的轉移以來最大的改變,第二代的ViVA, ViVA-2。它是雙核心設計,以65奈米製程達到了4.7 GHz。它擁有非常先進的晶片間通訊技術。它的功耗幾乎和前一代的POWER5相等,而能提供兩倍的效能。
POWER7
POWER7是Peta系列的第一個處理器。在2010年發布,已被美國國防先進研究計畫局選為他們Peta-FLOPS等級超級電腦的候選之一。200x年初期,IBM送交了他們的計畫書,從DARPA得到五千三百萬美元以繼續參與這個挑戰。2006年IBM收到兩億四千四百萬用來為DARPA建造一台Peta-FLOPS電腦。 IBM在2008年完工的使用PowerXCell 8i 3.2 Ghz芯片的Roadrunner超級計算機已經達到了Peta-FLOPS級的計算能力。[1]
POWER8
POWER9
相較於前一代的POWER8處理器,POWER9提昇4倍的頻寬,相較於Intel x86處理器,帶來9.5倍的I/O頻寬,記憶體支援容量為2.6倍,高效能核心數量提昇2倍,記憶體頻寬則是1.8倍。首款採用POWER9的伺服器Power Systems AC922也同時亮相。
POWER10
衍生的處理器
第一個PowerPC處理器PowerPC 601,基本上是一個部份基本指令用微碼模擬的RSC處理器,採用了Motorola 88000為基礎的匯流排設計。這允許IBM在許多工作站機器上使用這個處理器,只需要更換主板。自此 PowerPC和POWER架構有些許分岐,但大部份在指令層級仍然保持相容。
使用在太空應用的抗輻射設計RAD6000處理器是一個POWER/RSC的衍生架構。
IBM RS64家族處理器根基於PowerPC(因此也包括POWER),使用在RS/6000和AS/400產品線。它對商用工作最佳化,沒有POWER產品線應有的浮點運算。它被POWER4取代。
IBM Gekko處理器是修改過的PowerPC 750CXe,使用在任天堂Gamecube。任天堂的Wii使用更新的Gekko,Broadway。
Cell處理器也是從POWER架構衍生。它具有一個複雜的多線程超純量核心,和稱作SPE (Synergistic Processing Elements)的八個獨立向量處理器核心。這個處理器支撐了Sony的Playstation 3、Toshiba的數位電視系統,和IBM的高效能電腦。
微軟的遊戲主機Xbox 360使用一個循序執行的三核Xenon處理器,它基於PowerPC,擁有修改過的向量單元,時脈3.2 GHz[2]。
參看
外部連結
- IBM Power Architecture[永久失效連結] - Official IBM website
- Linux on Power[永久失效連結]
- Linux on Power WIKI[永久失效連結]
- IBM Power Architecture weekly magazine(頁面存檔備份,存於網際網路檔案館)
- Power.org
- POWER to the people - an IBM history of POWER and PowerPC
- When Is PowerPC Not PowerPC? - History of the POWER Architecture by Frank Soltis
- Migrating Source Programs
- Meet the experts: John McCalpin(頁面存檔備份,存於網際網路檔案館) - interesting discussion on power5 and beyond
- 27 years of IBM RISC