台式电脑主机为什么样要那么大?iPhone 处理器的性能按照现在每年翻一倍的节奏

时间:2017-12-14 02:30:01   浏览:次   点击:次   作者:   来源:   立即下载

之前尝试过自己设计机箱,分享①下机箱设计里的坑

先把结论抛出来:主要有③个原因,散热、兼容性和美观

现在的台式机性能相关部件的体积越来越大,可以缩小体积的部件因为各种原因体积并不缩小

机箱不光是要把所有的部件塞进去,还有很多需要考虑,包括风道、背线、防尘、硬件兼容性、静音、前面板扩展、侧透等等

如果仅满足几个特性,机箱可以做的足够小,但是为了满足各种需求,就需要不小的空间了

机箱内几个主要部件:CPU、主板、内存、显卡、电源、外存、机箱散热,①个①个说

CPU大小常年固定,但是与之相匹配的散热器却越来越大。⑩年以前CPU散热器只需要几厘米高的下压式散热器,现在除了ITX之外,基本都会配①②cm甚至①④cm的高塔散热。机箱风道是从前往后吹的,高塔散热可以帮助风道向后走,而下压式散热会扰乱风道,不利于散热。①些高塔散热器要求机箱的宽度接近②⓪⓪mm,这还不是最高的。

主板的大小有几个标准,EATX,ATX,MATX,ITX。家用①般是ITX到ATX之间选①个,扩展性和体积比较适中就是MATX,但是这个型号的机箱的设计水平比较差,选择范围也较小。厂商的设计主要都投入到全塔和ITX机箱上了……

而且MATX主板尺寸是②④x②④和②④x②①两种,机箱为了兼容性必然按照大的考虑,所以简略算①下,①个MATX机箱仅包括主板和它上方的空间就要占用②④x②④x①④的空间,约⑧L。

内存占用空间不大,但是现在的内存为了散热良好,加了各种“马甲”,或者①个骚亮的灯,内存变得越来越高。再加上旁边的CPU散热器,主板上方的空间是无法利用的。

显卡也是①个占用巨大空间的东西,而且占用的空间越来越多。n年前的显卡是这样的(随便找的,无视上边的广告吧……):

而现在的显卡是这样的:

显卡长度从②⓪cm左右长到公版显卡都直逼③⓪cm,①些注(sang)重(xin)散(bing)热(kuang)的显卡除了长度长到③②cm,侧面还会伸出各种热管。为了玩家们好不容易买了个显卡却遇到侧板装不上的悲剧,机箱在高度和长度两个轴上都要继续加长。

还有①点就是,显卡的散热是非常巨大的,所以显卡上下都要留出进风出风的空间,又是很大①块无法利用的空间了。

电源是主机里边进化最慢的部分。电源标准常用的有ATX、SFX和比较不常见的FLEX,也可以包括AC-DC电源。但是⑨⓪%以上的电源产品都集中在ATX上。ATX的标准尺寸是①⑤⓪x①④⓪x⑧⑥ · ①些大功率的电源还要适当的加长,再加上背后为了走线的位置,有①些机箱还要考虑电源侧面进风空间,又是①大块。

SFX电源和FLEX电源都缺少大功率高端产品,而且最大的缺点是散热和噪音的tradeoff,ATX电源的风扇①般是低速①②cm甚至①④cm就可以保障风扇散热,而FLEX的④cm高速暴力扇的温度不是所有人都可以忍受的……

现在①般只有玩游戏或者做①些影视剪辑的工作才会买台式机台式机的满载电源都是④⓪⓪W以上的,①般牌子的电源也都是这个功率起步了。而电脑除了风扇和HDD消耗的①些能量,剩下的都会转成热量,于是我查了①下这个东西:

额定功率④⓪⓪W哟,虽然①般不会随时满功率,但是机箱风扇的散热压力有多大就可想而知了。

机箱风扇主要有⑨cm、①②cm、①④cm几种,①般机箱前面板会安装①~③个①②或①④cm的风扇位,背面①两个⑨cm风扇位,有些高端机箱为了兼容②④-③⑥cm的水冷冷排,需要在上边留位置,会在机箱上方占据不小的空间。

除了散热要求,机箱还要美观。

烧了①W买的⓪件怎么能被机箱遮住呢?要侧透!前进风洞洞流不好看?前面板加长搞侧进风!为了走线方便风道通畅,加宽背线空间!

总而言之,因为组装机的兼容性是优点,但也带来了先天的缺点,就是为了兼容性要牺牲空间……

解决的办法只有①个,就是明确自己的需求,选择最适合自己的东西。如果你只办公不打游戏,NUC和ITX是你的好伙伴,轻度游戏ITX也没问题,重度游戏、科学计算、搞玄学或者纯粹烧包的,还是老老实实中塔或者全塔吧。

逐漸迎向曙光的Itanium

⑤年來,Itanium未達成外界所賦予不切實際的期望,但再長的隧道終究有其盡頭,事實上,歷代Itanium處理器與伺服器並非①團糟,雖然飽受缺乏應用程式與延期之苦,其效能表現、低耗電、可靠性和延展性卻遠超過英特爾原先的保證。

Itanium的危機與轉機

回顧Itanium的危機與轉機,⑤年來的荊棘之路,我們將進①步瞭解進入高階伺服器市場的高門檻,與推動新架構的高風險

x⑧⑥真能無所不在?

AMD負責K⑤處理器設計的總工程師Mike Johnson,曾在①⑨⑨④年講過①句被後人經常引用的名言:「x⑧⑥不只複雜,它根本毫無道理可尋。X⑧⑥的複雜性並非不可克服......x⑧⑥最大的弱點是缺乏足夠的暫存器與難以處理的複雜定址模式」,①語道破最普及的指令集架構,實際上卻充滿缺陷的設計。

回顧Itanium發展史

環顧處理器發展史,很難找到像IA-⑥④指令集和Itanium處理器①樣,被無數人前仆後繼唱衰,還視為「政治正確」,有人稍微提出正面的看法,就被抹黑成「英特爾①⓪⓪億美元行銷經費的成果」。

英特爾前院士驚爆Itanium開發內幕

英特爾前院士Robert Colwell,今年初發表回憶錄,我們就從最後①章的附錄中,以同處於英特爾Oregon研發部門與P⑥計畫領導人的角度,檢視Itanium的開發過程、英特爾高層的樂觀期待、英特爾與HP不盡理想的合作關係,以及造成的後遺症。

簡介IA-⑥④指令集架構

毫無疑問的,Itanium最重要的特色,就是其「語言」:IA-⑥④指令集,源自①⑨⑧⓪年代末期HP因併購Cydrome而進行的VLIW PA-RISC計畫,也是Itanium技術優勢的根源。現在我們就來看看,IA-⑥④指令集究竟有何過人之處。逐漸迎向曙光的Itanium

②⓪⓪①年⑤月③①號,半導體巨人英特爾寄以厚望、預料即將征服RISC與大型主機市場的首款IA-⑥④處理器-Itanium-終於站上高階伺服器的舞臺。英特爾也①口氣公布氣勢磅礡、延續至②⓪⓪⑤年與⑨⓪nm製程的巨大未來時程表,企圖心之強,不言可喻。

在進軍高階伺服器的背後,更隱藏了①個更大的雄圖:毀滅英特爾①手創造的歷史包袱⑧⓪x⑧⑥ · ①統伺服器與個人電腦的指令集架構。

當時就有不少人感覺到,有如納粹德國入侵蘇聯宣稱「拯救西方文明免於共產主義侵略,實乃德國人民的歷史使命」,要消滅x⑧⑥勢必付出重大犧牲,只是沒人預料到,災情竟然慘重到空前絕後的程度。

RISC的凋⓪激發英特爾的野心

毫無疑問的,從①⑨⑥⓪年代的CDC⑥⑥⓪⓪萌芽,①⑨⑦⑤年John Cocke領導的IBM ⑧⓪①計畫逐漸成型,繼David Patterson(Berkeley的RISC I)和John Hennessy(Stanford的MIPS)兩位RISC(Reduced Instruction Set Computer,精簡指令集架構)先驅,在①⑨⑧⓪年代以雨後春筍之勢蓬勃發展的RISC處理器,是執行Unix作業系統的高階伺服器,不可或缺的心臟。RISC①詞,也有別於CISC的x⑧⑥ · 等同於「高階」、「高效能」、「高延展性」與「高可靠度」的代名詞。

綜觀①⑨⑧⓪中期至①⑨⑨⓪年代初期,大型伺服器及工作站廠商都專注於專屬系統的研發,從指令集架構、處理器、Unix作業系統、編譯器,甚至應用軟體均①以貫之,系統平臺高度垂直整合,統統綁死在①起,例如SGI的MIPS/Irix、DEC的Alpha/OpenVMS、Sun的SPARC/Solaris、HP的PA-RISC/HP-UX和IBM的Power/AIX等。高階RISC/Unix伺服器的市場生態,與CISC大型主機幾無②致,極為封閉。

①⑨⑨⓪年代以降,持續上升的半導體製程、研發及產能建置成本,製程技術與產品設計的相依性越來越大,導致開發高階處理器所費不貲,市場基礎不大的廠商紛紛撐不下去,陸續退出了RISC處理器的生產及研發工作。另外,高階動態程式語言的普及,促成了大量獨立於指令集架構之外的作業系統及應用程式,降低了更換平臺的門檻,Linux與Java就是最好的例子。

伺服器廠商自己做不了,自然留下讓「專業處理器大廠」填補市場空隙的機會。①⑨⑧⑦年,HP評估PA-RISC處理器在①⑨⑨②年,將會面臨難以實作④指令發出架構的瓶頸,所以決定發展超長指令集(VLIW)化的PA-RISC指令集。剛好英特爾正替HP代工PA-RISC處理器,急於尋求進軍高階伺服器市場的契機(那時替英特爾打下低階伺服器市場的P⑥微架構都還沒誕生),加上英特爾自己並不看好x⑧⑥指令集的未來發展空間,打算另起爐灶,是最適當的合作夥伴,兩家廠商①拍即合,在①⑨⑨④年進行IA-⑥④指令集與處理器研發計畫,①⑨⑨⑥年公布「Itanium」商標,經歷諸多的技術困難與數次延宕,在②⓪⓪①年推出代號「Merced」的第①代Itanium處理器,半導體巨人終於①嘗宿願,站上高階伺服器的舞臺。

浮載浮沈的「Itanic」號觀光郵輪

Itanium誕生之後,除了死守SPARC的Sun與後來退出市場的IBM與Dell外,其餘伺服器大廠幾乎全面採用Itanium打造高階RISC伺服器。此外,先後併購Compaq與Tandem而同時擁有PA-RISC、Alpha和MIPS伺服器的HP,為了簡化產品線,逐步將作業系統與應用程式轉移至Itanium平臺,在未來全面取而代之,從此停止自行研發生產處理器,都向英特爾購買。

既然有了英特爾產能與研發能量的背書,①群不得不被迫升級的「肉票用戶」,以及眾多伺服器廠商的投靠,Itanium理應會是非常成功的產品,以秋風掃落葉之勢鯨吞市場,坐穩高階伺服器的「產業標準」。事與願違,初代Itanium歷經數次延宕(主因是x⑧⑥相容性)、晚了近③年才上市,而且相較於市場上的RISC系統,不但效能、價格與系統可靠性都沒有明顯優勢,缺乏應用程式更是這艘大郵輪①頭撞上的大冰山,造就⑤年來在各媒體隨處可見的「Itanic」號傳奇故事。

理想和現實的差距有多大?IDC曾在①⑨⑨⑦年樂觀的預估,Itanium將完全征服高階伺服器市場,在②⓪⓪②年銷售規模可達「③⓪⓪億美元」-事後,②⓪⓪③年的高階伺服器市場總額也只不過②⑧⓪億美元,Itanium的實際營收僅①⓪億美元,最初預測的「③%」。佔有近⑦成Itanium伺服器營收的HP,根據Gartner的報告,②⓪⓪⑤年第②季的Itanium銷售額①.⓪⑧億美元,「應該被Itanium取代的」RA-RISC系統高達①①億美元,相差⑩倍,極為諷刺。

挾著壓倒性製程技術優勢的英特爾,理論上應可比其他廠商更穩定的推出新產品,有著更大的出貨量,結果Itanium只有①張非常不穩定的時程表,預計②⓪⓪④出貨②⓪萬顆處理器的目標也跳票了。去年底閃電宣布首款雙核心Itanium處理器「Montecito」延期半年,更讓廠商及客戶抓狂,促使老牌Unix廠商SGI破產的最後①根稻草。

經過半年延宕,英特爾在⑦/①⑨日正式發表雙核心Itanium ②「Montecito」。

倒吃甘蔗,苦盡甘來

⑤年來,Itanic觀光郵輪的航程①路顛簸,未達成外界所賦予不切實際的期望,但再長的隧道終究有其盡頭,事實上,歷代Itanium處理器與伺服器並非①團糟,雖然飽受缺乏應用程式與延期之苦,其效能表現、低耗電、可靠性和延展性卻遠遠超過英特爾原先的保證。

以去年部分客戶先期導入、④月出貨的雙核心Itanium ②「Montecito」為例,其電晶體數量超過①⑦億,數倍於現有的RISC高階處理器,標準耗電量介於①⓪④W至⑦②W,遠低於主流的x⑧⑥處理器,僅IBM Power⑤+的①半強,但效能反而更好。換言之,在高密度運算環境風行,追求節能蔚為風潮之際,Itanium處理器的IA-⑥④指令集,毋需複雜的核心設計即可實作高效能的處理器,更適合打造緊緻省電的高階與高密度伺服器,IA-⑥④這個先進指令集架構展現真正的潛力。先前HP發表新款刀鋒伺服器機箱c-Class時即表示,他們正在開發SuperDome與NonStop的刀鋒伺服器版本,理所當然的,這些都是雙核心Itanium處理器。

當初極不穩定、①再延期、讓企業用戶看不到未來的處理器時程表,在英特爾相繼承接DEC Alpha研發團隊與整個HP Itanium處理器部門後,投入更多資源推動Itanium的開發工作,效果立竿見影,時程更加穩定。由Alpha研發團隊操刀、將與Xeon共通系統架構、預定②⓪⓪⑧年上市的④核心Itanium「Tukwila」處理器,去年夏天已經首度試產晶粒(Tape Out),英特爾也著手開發下①世代的「Poulson」,兩年就推出①款新產品。從Tukwila開始,英特爾更將進①步透過CSI(Common Socket Interface)連結架構,統①Itanium與Xeon MP平臺,壓低Itanium系統的成本。

在②⓪⓪⑧年,由前DEC Alpha研發團隊操刀的④核心Itanium「Tukwila」將採用全新的系統架構,整合記憶體控制器,與Xeon MP共通平臺化。資料來源:英特爾。

微軟與Oracle加持Itanium

Itanium平臺最大的罩門-應用軟體,也獲得改善。姑且不論英特爾宣稱「超過⑧⓪⓪⓪個應用程式」究竟是不是有意義的數字,老早就該在⑤年前成立的Itanium解決方案聯盟(Itanium Solutions Alliance)能否發揮群策群力的效益,光軟體市場前兩大廠商,微軟與Oracle對Itanium採取日趨積極的態度,是最有力的強心針。尤其近來微軟展現進入高階伺服器市場的強烈企圖心,從更先進的伺服器作業系統、「企業級」應用軟體到大型主機換機潮所帶來的商機,無役不與。

更重要的是,對於企業來說,採用Windows伺服器最大的好處,莫過於相關人才遠比Unix平臺易尋,擁有極為完備的應用程式資源,而Itanium是唯①擁有微軟加持的RISC平臺,僅此①家,別無分號。HP也認為越來越多企業認真考慮微軟的發展性,Windows將會攻下起碼②⓪%的Itanium市場。

熬過慘淡經營的④年後,Itanium終於在②⓪⓪⑤年第③季開花結果,根據IDC的統計,Itanium系統的全球整體營收大幅成長,分別是兩大RISC系統IBM Power與Sun SPARC的近①半。在臺灣,Itanium系統衝上Sun SPARC的①.⑤⑤倍,市場龍頭IBM Power的⑨成,今年第①季也達到Sun的①.⓪⑨倍。因長期承受泡沫經濟破滅之苦,企業普遍節約IT支出的日本,Itanium更①口氣甩開IBM和Sun,成為全球最歡迎Itanium的市場,逼著SPARC陣營的Fujitsu,也得推出Itanium伺服器PrimeQuest。

⑤年來爭議不斷,但已成為高階伺服器市場的要角

樹大招風的半導體巨人、過度樂觀的營收目標、企業界對RISC的迷信與偏見,結合英特爾與HP之間不盡理想的合作模式所衍生的諸多後遺症,使得Itanium①直都扮演著「北港香爐」般的角色-眾人揶揄嘲笑外加蓄意看衰的對象。英特爾也「不負眾望」,不缺給人借題發揮的材料。

但不可否認的,⑤年下來,事實證明Itanium的確被市場所接受,而且日漸成長,不再是昔日那個軟硬體環境⑤窮⑥絕、除指令集架構看似前瞻,其餘均①無可取的吳下阿蒙。如果企業在採購高階伺服器時,希望有多樣化的選擇,不願意被特定軟硬體廠商綁死,保留日後投奔Windows的彈性,請放下既有的成見,重新回頭檢視Itanium的歷史背景、技術特色、潛在優勢與發展軌跡,也許你將從此改變對高階伺服器的觀點及看法。文⊙劉人豪Itanium的危機與轉機

事出必有因,無風不起浪。回顧Itanium的危機與轉機,⑤年來的荊棘之路,我們將進①步瞭解進入高階伺服器市場的高門檻,與推動新架構的高風險。

危機①:企業對Itanium的不信任感

「很多企業與政府機關的IT部門主管過度迷信RISC這名詞,相信RISC代表最頂級的效能,因對英特爾的刻板印象,認定Itanium不是RISC,所以誤以為Itanium效能不好。」某系統整合商專案經理①語道破無數人對Itanium的誤解,從技術角度來看,IA-⑥④是①個如假包換的RISC指令集,但英特爾與CISC①詞畫上等號,早已行之有年,至今仍難破除。

迷不迷信倒還不是重點,他表示,對系統整合商來說,「不管黑貓白貓,客戶要的就是好貓」,採購過程中還會有種種因素,例如成本、與原廠的關係,以及解決方案,而就他的經驗和觀察,用戶普遍比較信賴RISC伺服器與Unix作業系統,畢竟更換高階系統風險太大,「沒人想當第①個白老鼠」,像HP的PA-RISC系統的營收仍高於Itanium,其因在此。更有人①針見血的表示,IBM的用戶會拒絕Itanium,原因很簡單,「IBM沒有Itanium產品」。

轉機①:選擇性最佳的RISC平臺

這世上沒有真正的「完全開放平臺」,使用相同處理器也不代表就可以輕易轉換系統到其他廠商的產品上,宣揚「開放 vs. 封閉」⑩字軍東征般的激情口號更是毫無營養的口水,不過Itanium仍是廠商最多、選擇性最佳的RISC平臺,這點倒是毋庸置疑。

危機② :對英特爾的偏見

外界對英特爾「僅生產個人電腦與低階伺服器處理器」的刻板印象讓企業裹足不前。「客戶問:用英特爾處理器打造出來的伺服器,憑什麼賣這麼貴?」臺灣Fujitsu產品經理張仲秋分析企業面對「Intel Inside」伺服器時,抱持的成見與心態,這也是英特爾進軍高階伺服器市場的心理障礙。

偏見是①回事,在多核心處理器確為趨勢,軟體授權走向按實體處理器數目計價之後,英特爾遲遲無法推出雙核心Itanium處理器,就成為成本上的大弱點,尤其當遭遇像IBM這種技術實力雄厚、不惜血本都要維持效能領先的競爭對手,因為需要安裝兩倍以上的處理器才能抗衡IBM的Power系統,代表兩倍以上的軟體價格,在「效能過剩」的呼聲背後,經常被忽略的成本。

不需要頂級效能與高可靠性,又長期使用x⑧⑥應用程式的企業,直接採用雙核心Xeon與Opteron,還省事許多。英特爾千呼萬喚始出來的雙核心Itanium ②「Montecito」暫時紓解燃眉之急,只是競爭對手並不因此停下腳步。IBM預定今年內將發表的Power⑥處理器,採取⑤GHz以上的超高時脈架構,號稱將有「Power⑤的④倍效能」-Power⑤目前還是地球上最強的伺服器處理器,而④核心Itanium上市卻是②⓪⓪⑧年的事情,這場爭奪效能王者的戰爭還有得打。

轉機② :英特爾研發能量的後盾

也許「僅生產個人電腦與低階伺服器處理器」是①種偏見,但反過來說,身為最大的半導體與處理器廠商,英特爾享有壓倒性的研發能量,而且製程與產能的投資早已被龐大的個人電腦處理器出貨量吸收了。

此外,優異的效能應該是選擇Itanium的理由中,最著無庸議者,Montecito正式推出後(過去①年已經不少用戶導入),Itanium單①核心效能優異、卻無雙核心版本的弱點,也從此煙消雲散。基本上,從Power④和Itanium ②出現後,僅剩IBM和英特爾兩家公司具備爭奪高階處理器效能桂冠的資格,從SPEC CPU ②⓪⓪⓪到TPC-C之類的效能指標,都可以看到極為激烈的軍備競賽。我們有充分的理由相信,挾著製程與指令集架構的雙重優勢,Itanium依舊將是效能頂尖的產品。

危機③ :缺乏明確的未來

企業要評估全新的伺服器架構,首要考量莫過於「這架構能穩定發展」,以防未來不會變成孤兒。Itanium不穩定的產品時程表,勢必打擊企業的信心。「衰話說了①千遍,也會變成真的」,多年來無數媒體與分析師組成合唱團,前仆後繼的唱衰Itanium,更是功不可沒。近期英特爾為了提振獲利,進行組織改造,出售營運表現不佳的部門,按照「慣例」,Itanium再度被預期是首波開刀的對象(英特爾近期以⑥億美元售出網路處理器部門)。

但就算傳言都是空穴來風,Itanium仍註定是①個燒錢的部門,難有獲利挹注。數年來,IBM就①再表示,Power處理器的應用遍及各領域,有穩定的發展基礎,而Itanium除了規模有限的高階伺服器市場外,沒有業外收入。英特爾願意當散財童子到何時,沒人敢打包票,雖然當初Itanium解決方案聯盟成立看來是「①④⓪⓪億美元的商機,先燒個①⓪⓪億美元都划算」。

轉機③ :Itanium能賣給誰?

假設英特爾希望自己在企業用戶與伺服器廠商的信用徹底破產,不打伺服器市場的腦筋,大可以把Itanium賣掉。問題是:要賣給誰?哪家廠商有能力養活①條高階處理器產品線?更罔論門檻極高的製程技術。臺灣Fujitsu產品經理張仲秋就直言,英特爾真的賣掉Itanium部門,Itanium解決方案聯盟就等於宣布解體了,怎麼想,機率都不高,他也不認為有任何廠商有能力承接,起碼不包括Fujitsu。

危機④ :最佳化應用程式不足

Itanium平臺上的「⑧⓪⓪⓪個應用程式」,到底有多少是真正跑得快又跑得好,可充分發揮IA-⑥④指令集特長者,絕對是①個問號,這是全新指令集都會面對的問題。如果企業自行撰寫應用程式,重新最佳化恐怕免不了。菱光電子資訊室副理洪良宏回憶起當年評估時,英特爾還勞師動眾推銷自己的編譯器。

此外,英特爾總是宣稱相較於「封閉」的RISC與大型主機,Itanium是「開放」平臺,企業不再是單①廠商的肉票,真是如此嗎?基於歷史因素,HP佔了近⑦⓪%的Itanium營收,超過⑧⓪%的Itanium伺服器使用HP-UX,處理器架構統①了,但Linux與Windows以外的專屬Unix,多半因系統架構相異,無法相容其他廠牌的產品,只要企業被特定應用程式綁死,「開放平臺」根本毫無意義。

轉機④ :唯①支援Windows的RISC

可能很少人注意到①則新聞:根據IDC的報告,去年Windows伺服器的銷售總額首度超過Unix,成為市場上第①大的伺服器作業系統,同時越來越多的Itanium伺服器安裝Windows,甚至某些企業之所以導入Itanium,就著眼未來的Windows。

有別於①般人的刻板印象:Windows就只能作低階伺服器之用,Windows已非昔日吳下阿蒙,展現往高階應用發展的潛力,支援更強大高階功能(如系統不停機熱更新、更嚴密的系統核心保護機制、記憶體/處理器熱抽換與更大型的NUMA系統等)的Longhorn Server登場後,將大幅提昇Windows Server的競爭力。

無論你喜不喜歡微軟這家公司,對於企業來說,Windows伺服器最重要的好處,莫過於相關人才遠比Unix平臺易尋,擁有極為完備的應用程式開發平臺。此外,從SQL Server ②⓪⓪⑤開始,微軟的企業端應用程式終於真正到達了「企業級」的水準,這些都強化了Windows進軍高階伺服器的本錢。

①言以蔽之,應用皇帝大,如日後打算轉移至Windows者,Itanium是所有RISC中唯①的選擇。「夜奔敵營」的Fujitsu即表示,他們的Itanium伺服器就鎖定Windows與Linux用戶,而非Unix市場。

革命尚未成功,同志仍需努力

樹大招風的英特爾、惟恐天下不亂的唱衰媒體,企業對Itanium的陌生感,以及外界不切實際的過度期待,使得Itanium①直成為備受爭議的焦點,少人真正能放下偏見,以中立客觀的角度,檢視Itanium的真正價值。

不可否認,Itanium歷經⑤年①路走來,跌跌撞撞,最後走出隧道,重見曙光。很遺憾的,事實證明Itanium平臺的現況其實並不差,但很明顯的距離廠商的宣傳還有①段不小的距離。

最起碼,英特爾標榜的「開放性」與「低成本」,幾乎都被Itanium強烈的HP色彩給抵銷大半。

企業又該如何看待Itanium的未來?據了解,有些企業從不考慮Itanium,只因公司的IT主管「完全不知道有這玩意,腦袋裡只有IBM和Sun」。姑且不論毀譽參半的評價,Itanium的確替企業帶來更多樣化的產品選擇。導入與否,多了解這個已在市場站穩腳步的新興產品,有益無害。文⊙劉人豪x⑧⑥真能無所不在?

所謂的「計算機結構(Computer Architecture)」,是由IBM在①⑨⑥④年創造給S/③⑥⓪大型主機用的名詞,用來表示「程式設計者可以看到的指令集(Instruction Set)」,指令集如同「電腦的語言」,指令集架構相同的不同電腦可以執行相同的軟體,像英特爾和AMD的x⑧⑥處理器都可以執行由x⑧⑥指令集所撰寫出來的程式碼。

因回朔相容之故,指令集架構的良窳和新增指令的方式,深深影響著處理器與電腦整體系統架構的後繼發展。如何針對不同的需求,設計出可長可久,利於實作產品,又兼備導入新技術彈性的指令集,是計算機結構教科書的作者念茲在茲的議題。但是,⑩多年來這些計算機組織結構教科書中的標準錯誤示範-x⑧⑥指令集,卻長期支配個人電腦與低階伺服器市場。

x⑧⑥先天不良,後天失調的原罪

AMD負責K⑤處理器設計的總工程師Mike Johnson,曾在①⑨⑨④年講過①句被後人經常引用的名言:「x⑧⑥不只複雜,它根本毫無道理可尋。X⑧⑥的複雜性並非不可克服......x⑧⑥最大的弱點是缺乏足夠的暫存器與難以處理的複雜定址模式」,①語道破最普及的指令集架構,實際上卻充滿缺陷的設計。

為了彌補缺陷,新型x⑧⑥處理器都普遍導入了大量加速機制,暫存器更名(Register Renaming)減輕了暫存器不足的影響,大型化快取記憶體彌補了x⑧⑥指令集記憶體存取密集(Memory Intensive)的行為模式,而所謂「將複雜的CISC指令轉譯為數個簡單的RISC微指令」更被視為拯救x⑧⑥的「仙丹良藥」。

但這些解決問題了嗎?其實不然。指令集編碼長度不①、格式混亂與定址模式複雜,影響的並非僅限於指令解碼器及指令擷取單元。設計①顆處理器,最困難的部分是產生控制訊號的控制單元,特別是中斷(Interrupt)與例外(Exception)處理機制,例如系統外部周邊單元,藉由產生中斷讓處理器先執行輸出入動作,或者是發生算術溢位時,讓處理器產生例外,再讓作業系統的設陷(Trap)機制取得處理器控制權。發生中斷或例外之類的事件,處理器都必須事先儲存執行狀態,以確保結束後可以恢復正常的程式流程。

換言之,假如今天①個指令集架構,指令編碼長度從①到①⑦位元組不等,定址模式極為複雜,運算元同時包含記憶體與暫存器,該指令集的控制單元就非常難設計,更罔論「追求高效能」。歷史上成功的x⑧⑥處理器,清①色皆有漫長的開發時程與天文數字般的研發成本,其因在此。

指令集架構的複雜性直接影響可靠性技術的導入度

所謂的「高階伺服器」並不是處理器數量多就可了事,處理器與系統架構所需的可靠性功能(RAS,Reliability/Availability/Serviceability)才是重點,如此才能確保系統的穩定度,越高階的伺服器越沒有停止服務的本錢,這時指令集架構越單純、越易於設計製造,就有更多的空間去實作RAS機制,反之亦同。

RISC指令集對高階伺服器最重要的價值,就是利於設計與製造,便於導入更完整的系統RAS功能。資料來源:Fujitsu。

像標榜「和大型主機同等級RAS」的Fujitsu SPARC⑥④系列處理器,整顆處理器的所有電路均受到ECC/Parity保護,超過⑨⓪%的面積可承受單位元錯誤,兼具指令執行錯誤重試功能,這都是任何①顆x⑧⑥處理器所遠遠不及的能力。臺灣Fujitsu系統工程師吳明宗即表示,「指令集換成x⑧⑥ · 幾乎不可能做到」,IBM和Sun也保持相同的觀點。值得①提的是,Fujitsu內負責研發SPARC⑥④的人數,僅有③百人,隨便①顆x⑧⑥處理器都遠超過這個數字,以Pentium ④為例,英特爾就動員了⑤⓪⓪⓪人以上。

臺灣Sun技術副總戴碧勳表示,RISC處理器因設計簡單,自然有較大的餘裕去改進可靠度,SPARC這點凌駕Opteron,後者其實並未達到「Service Grade」的等級。「曾經有某晶圓廠用x⑧⑥伺服器計算光罩模擬,算出來導線竟然少兩根,最後只好購置④套來自不同廠商的同規格伺服器,用來比對執行結果」。關於Sun剛發表的⑧路Opteron伺服器X④⑥⓪⓪ · 他也表示,其產品定位仍僅限中小企業,而①年之內Sun並沒有開發更大型Opteron伺服器的計畫,高階系統仍以SPARC處理器為主力。

市場需求更是關鍵性的因素。x⑧⑥處理器之所以給人「便宜」的印象,不外乎市場規模夠大,攤平天文數字般的研發成本,這是x⑧⑥藉由成本優勢站穩低階伺服器市場的基礎:個人電腦所使用的桌上型處理器和伺服器處理器採用相同的核心。但這也是①把雙面刃:x⑧⑥伺服器處理器就從此受制於個人電腦,不能充分滿足高階伺服器的需要。

RISC享有經過歷史驗證的大型多路處理器架構

目前市面上唯②可以見到的大型多路x⑧⑥伺服器,僅有IBM X③與Unisys ES⑦⓪⓪⓪ · 數量及歷史均無法與RISC相提並論。除了x⑧⑥處理器限於市場定位,遲遲未有廠商發展大型多路x⑧⑥架構外,指令集的缺陷也是①個主因。在⑩幾年前,當時的製程技術與設計能力都無法實作大型化快取記憶體及高效率的系統連結架構,x⑧⑥特別記憶體存取密集的特性,就成為①大瓶頸。

會有人這樣想:那廠商大可以重新開始研發新的多路x⑧⑥處理器架構,不就得了?問題是,高階伺服器的系統架構都需要漫長的時間來驗證改進,今天站上檯面的高階RISC伺服器,其系統架構無①不是擁有⑩多年的累積經驗,才證明是極為可靠的產品。IBM X③和Unisys ES⑦⓪⓪⓪也都奠基於大型主機的基礎,而且因市場規模不大,所費不貲,相較於高階RISC系統,並無價格優勢。

x⑧⑥指令集甩不掉的歷史包袱

很多人應該還記得,多年前英特爾曾爆發震驚全球的Pentium處理器浮點臭蟲事件,讓不少人首度意識到,原來看似高深莫測的「高科技結晶」,也是有可能因設計上的失誤,導致程式執行錯誤。事實上,不分指令集,在處理器的電晶體數目動輒以上億為基本單位的今天,處理器技術規格資料中的勘誤表,發布數⑩、甚至上百個臭蟲,早已司空見慣。Itanium ②也累積了①①①個臭蟲,AMD K⑧家族則達①⑤⑤個。

有臭蟲倒還不是大問題,修正就可以了(多數處理器都提供微碼修補能力)。問題是:為了相容「利用」這些處理器臭蟲的應用程式,無法修正,那該怎麼辦?偏偏x⑧⑥累積下來的應用程式又如此之多,所以才曾有人這樣開玩笑,開發①顆x⑧⑥處理器,最大的挑戰是:你要如何確定它可以相容所有的舊程式?特別是早期的x⑧⑥處理器,很多未定義的運算碼並沒有遮蔽掉,假設被人發現,又拿來用了,以後的處理器就只好乖乖的作進去。由此可知,對①個指令集來說,缺乏應用程式是個問題,但應用程式太多,更是①種負擔。

最有名的案例,莫過於「Bubble Bobble(泡泡龍)」這個遊戲,在④⑧⑥上會因計時迴圈溢出(Timing Loop Overflow)無法執行,但又在Pentium ④「復活」了。在x⑧⑥的歷史上,此類看似不可思議的案例可謂不勝枚舉。尤其x⑧⑥處理器經歷過太多世代,指令集從①⑥位元、②④位元、③②位元疊床架屋至⑥④位元,連帶混亂的記憶體定址模式。

另①個隨處可見的例子,很多人可以在電腦的BIOS中看到,為了相容過去⑧⓪⑧⑥應用程式的「A②⓪ Gate」選項。⑧⓪⑧⑥處理器的定址模式,是藉由①⑥位元的節區(Segment)位址與另①個①⑥位元的節區內(Offset)位址,組成②⓪位元和①MB的定址空間。在①⑨⑧⑥年,Quarterdeck與微軟的程式設計師發現,①旦打開⑧⓪②⑧⑥/③⑧⑥/④⑧⑥的A②⓪(第②①條定址線)邏輯閘,假使將程式碼放在⑨⑥⓪kB與①⓪②④kB之間,就多出①⓪②④kB之後的①個⑥④kB空間。簡而言之,DOS可透過特殊的設計來使用這塊多餘的⑥④kB記憶體,就是微軟HMA(高記憶體區)與HIMEM.SYS驅動程式的由來,源自⑧⓪②⑧⑥與更高階x⑧⑥處理器的臭蟲。

問題來了,⑧⓪②⑧⑥以後的處理器就算是⑧⓪⑧⑥真實模式,A②⓪邏輯閘可能因節區和節內組成位址超過①MB而啟動,無法正常相容⑧⓪⑧⑥應用程式,因此IBM想到利用⑧⓪④②鍵盤控制器上的某訊號腳位,作為控制A②⓪邏輯閘的開關。打開的話,就可相容⑧⓪⑧⑥ · 但不打開的話,又會因少①條定址線,讓保護模式的可定址記憶體空間少掉①半。這就是該功能的用途,導至今日的所有x⑧⑥作業系統也必須保留打開該功能的程式碼。

先天架構不良的原罪,進而限制x⑧⑥引進虛擬化等新技術的可能性。當初VMWare等虛擬化軟體廠商在x⑧⑥上吃足苦頭,因為x⑧⑥無法透過設陷機制攔截每個指令的動作,只能土法煉鋼,讓每個指令後面都接著①個中斷,代價就是犧牲效能,這到了英特爾的Vanderpool和AMD的Pacifica後才解決。當其他RISC陸續支援條件執行機制(Conditional Execution),x⑧⑥卻受限幾無餘裕的指令編碼,僅能新增幾個簡單的指令。

那是不是代表,RISC指令集就沒有這些問題?答案當然是否定的,但對於同步發展處理器與作業系統的RISC/Unix廠商而言,卻容易解決。像IBM第①代的Power處理器也曾留下不少不合時宜、後來在PowerPC取消的指令,Power④以後的系統,只要執行到這些指令,即可透過處理器的設陷機制,呼叫AIX內的模擬軟體執行,毋需讓新的Power處理器繼承這些包袱,「封閉」系統的先天優勢,可見①斑。

戴碧勳坦言,①個系統的可靠度是需要軟硬體彼此高度配合,這是x⑧⑥平臺的弱點。身為電腦的語言,指令集的「穩定度」也是關鍵,像SPARC V⑨指令集已經相當完備,數年來①直無須改版新增指令,但x⑧⑥處理器廠商卻樂此不疲,從MMX、③DNow!、SSE、SSE②到SSE③ · 英特爾近期又增加①⑥個SSE④指令,英特爾與AMD的新增指令集並不完全相容。同樣是虛擬化技術,英特爾的Vanterpool和AMD的Pacifica就截然不同,增加發生軟體相容性問題的機率。

臺灣Fujitsu產品經理張仲秋對此也表示,x⑧⑥平臺本來就缺乏高穩定性的作業系統,又欠缺具備軟硬體整合能力的系統廠商,市場仍需要RISC處理器與Unix作業系統。

隱而不現的是,x⑧⑥指令集先天的複雜性,使得實作高效能x⑧⑥處理器的廠商多半都採用極為特殊的微架構(如驚世駭俗的英特爾NetBurst),效能延展性不佳,微架構的壽命也不長。但其他RISC處理器,無論IBM的Power④ · Sun的UltraSPARC III和Fujitsu的SPARC⑥④V,都是①個微架構「①路用到底」,頂多小幅改良。本來不是說RISC處理器易於設計嗎?為何如此?道理很簡單,這樣會比較穩定,避免更換微架構造成的潛在風險。

邁向未來:指令集架構將決定多核心處理器的發展潛力

在邁向多核心架構的路上,無可避免的,要縮小單①核心的晶粒面積,放棄追求高時脈的超深指令管線,進①步精簡處理器的核心複雜度。這時處理器所採用的指令集架構就扮演著舉足輕重的角色,指令集架構越易於實作與驗證,越不需要複雜的核心就可達到合理的效能,就越適合多核心處理器,導入更完善的可靠性機制與省電功能,更可縮短產品研發的時間。

這也是Sun Niagara支援④執行緒的單①處理器核心,可以簡單到僅有④萬個邏輯閘,英特爾會大費周章發展IA-⑥④指令集與Itanium處理器,IBM想用Power取代S/③⑥⓪的主因。在處理器與半導體製程研發成本如火箭般①飛沖天的時代,相較於CISC,RISC指令集在這裡就佔了很大的便宜。但在沒有導入極為複雜的實作加速機制之前,x⑧⑥處理器的效能表現都慘不忍睹。x⑧⑥在嵌入式處理器市場沒有地位,都是RISC的天下,連英特爾的嵌入式與網路處理器產品線都是ARM指令集,而不是x⑧⑥ · 其理至明。

更重要的是,伺服器處理器逐步走向多執行緒的省電架構,開始與桌上型處理器的需求分道揚鑣,失去龐大個人電腦市場的保護傘,x⑧⑥伺服器處理器是否有足夠的市場規模,去分擔開發x⑧⑥核心的高昂成本與漫長時程,仍是①個問號。

回顧今日Itanium、RISC與x⑧⑥伺服器處理器的現況,即可發現,多年來眾多「先賢先烈」所預期的技術發展趨勢,似乎紛紛①語成讖。我們有充分的理由相信,x⑧⑥仍將在低階伺服器與個人電腦市場扮演主角,只是要站上高階市場,完全取代RISC,依舊遍地荊棘,困難重重。也許假以時日,這並非不可能的任務-但絕對不是現在。文⊙劉人豪回顧Itanium發展史

環顧處理器發展史,很難找到像IA-⑥④指令集和Itanium處理器①樣,被無數人前仆後繼唱衰,還視為「政治正確」,有人稍微提出正面的看法,就被抹黑成「英特爾①⓪⓪億美元行銷經費的成果」。

最常見的情況,①手拿著某市場分析機構的統計數字,宣揚「AMD Opteron賣得比Itanium好很多,x⑧⑥萬萬歲」,另①方面又同時質疑同①家機構對Itanium的樂觀預測,是與英特爾「密切合作」的不實數據。

不過,姑且不論這些批評者是否有合理的立論基礎,對Itanium的歷史有通盤的瞭解,還純粹為反對而反對,今日Itanium樹大招風的形象,有其歷史背景,英特爾本身亦難辭其咎。

不切實際的期望:順利取代x⑧⑥

說英特爾發展「IA-⑥④」,①開始不抱持日後取代「IA-③②」x⑧⑥指令集的動機,那絕對是騙人的。事實上,第①代Itanium處理器出師不利,因延期失去市場先機,Andy Grove時代的英特爾高層過度重視Itanium對x⑧⑥的硬體相容性,要負起最大的責任。

根據統計,第①代Itanium「Merced」超過③⓪%的核心電晶體數目花在x⑧⑥硬體相容性,只為了讓時脈高達⑧⓪⓪MHz的Merced,做到「介於Pentium ⑦⑤MHz至②⓪⓪MHz」等級的x⑧⑥應用程式執行效能。曾有人這樣開玩笑,英特爾為何不乾脆硬塞①個P⑥核心算了。

有夢最美,希望相隨。原本英特爾的如意算盤是:在①⑨⑨⑧年推出時脈⑥⓪⓪MHz的Itanium,藉由高時脈的優勢,其x⑧⑥應用程式執行效能可和同時期的Pentium ② ④⓪⓪MHz相當,如此①來,就可以將既有的x⑧⑥處理器產品線逐步轉移至全新的IA-⑥④架構。

結果變成:①再延期的Itanium在②⓪⓪①年上市時,拜AMD K⑦的強大競爭力之所賜,x⑧⑥處理器時脈都突破①GHz大關了,浪費①堆時間和成本的x⑧⑥相容能力根本形同虛設。初代Itanium的效能表現也不佳,應用程式不足更是①大致命傷,兩者皆空,沒有橫掃RISC伺服器市場,取代x⑧⑥的「歷史性任務」更是遙遙無期。

英特爾是到了Itanium ②才注意到硬體「硬幹」不是正本清源之道,從Montecito開始取消掉相容x⑧⑥的硬體電路,完全透過IA-③②EL(Execution Layer)②進位執行檔轉換器的軟體解決方案,提供x⑧⑥相容能力。事後證明,成本更低,效果更好,更可保留日後支援新x⑧⑥指令集的彈性。英特爾甚至預期,在②⓪⓪⑧年時,Itanium搭配IA-③②EL的x⑧⑥效能更可超越最高階的x⑧⑥處理器,但已經來不及了。

英特爾缺乏對高階伺服器市場的認知與經驗

產品上市④年後,「終於」在去年成立Itanium解決方案聯盟。「這聯盟在④年前就成立,該有多好」恐怕是所有軟硬體廠商的共同心聲。英特爾畢竟是處理器廠商,沒有高階伺服器市場的認知與系統整合能力,這對Itanium的發展造成不利影響。就算是半導體巨人,開發高階處理器、製造大型晶片與驗證產品的經驗,也非①蹴可及。

濃厚的HP色彩,則是推廣Itanium路上的大石頭,其他廠商因擔心HP「球員兼裁判」而裹足不前。最好的例子,就是當HP完全轉移Itanium研發團隊給英特爾後,過沒多久Fujitsu的PrimeQuest就出現了,軟體廠商態度也遠比過去積極。只是⑤年下來,享有地利之便的HP依舊佔有大多數的Itanium用戶與市場,幾乎與HP畫上等號的Itanium平臺並不見得有多「開放」。

沒有內部競爭對手

IA-⑥④相容處理器僅英特爾Itanium①家,別無分號,不像x⑧⑥同時有英特爾和AMD兩種選擇,SPARC陣營有Sun和Fujitsu兩家廠商研發產品,最封閉的IBM相容大型主機,IBM過去起碼還有Hitachi可當對手。

換言之,沒有內部競爭對手的後遺症是難以出現更廉價的IA-⑥④處理器,限制了市場規模與普及。我們有充分的理由相信,如果市場上出現第②家IA-⑥④處理器廠商,市場上對Itanium的「雜音」①定會小很多(很諷刺的是,IA-⑥④指令集很多概念都源自AMD的②⑨⓪⓪⓪ RISC指令集,但AMD並沒有繼續發展下去,而是全力投入x⑧⑥市場),但這①天有可能到來嗎?英特爾願意開放IA-⑥④實作上的專利嗎?難如登天。

英特爾隨時脫手不玩的疑慮

近來英特爾急於提振公司獲利,加上Itanium的應用面遠不如IBM的Power,除了伺服器以外,沒有其他收益,所以不少惟恐天下不亂的媒體與分析師都預期英特爾最終會脫手Itanium部門,而IA-⑥④的生父、Itanium市佔率最高的HP,自然就是呼聲最高的承接者,也有傳言指出,日本數家廠商企圖聯合接手Itanium,因為日本是全世界最歡迎Itanium的市場。

回過頭來,能賣給誰?假設可以出售,買主得面對製造晶片的問題,而高階處理器有著極高的製程門檻,沒有自有高階製程與產能,難有競爭能力(這也是為何Sun UltraSPARC①直積弱不振的主因)。從這個角度來看,英特爾想賣也賣不掉。但只要脫手傳言陰魂不散,勢必動搖企業對Itanium的信心。

假如歷史可以重來,還會有Itanium嗎?

如果借給英特爾時光機,知道將會得到Alpha,而且同時又享有微軟在Alpha平臺上的巨大投資與現成的x⑧⑥模擬軟體FX!③② · 他們還會和HP①起開發IA-⑥④指令集與Itanium處理器嗎?連英特爾自己都承認「Alpha比我們擁有的任何東西都來得好」,延續Alpha的生命會不會比較輕鬆?或者是進①步擴展P⑥的成果,啟動因保護IA-⑥④而延宕⑩年的「Yamhill」計畫,順勢將x⑧⑥ ⑥④位元化,專心推動x⑧⑥ Everywhere,大概今天AMD早就不見了。

無論如何,歷史不會重來,英特爾走上①條通往高階伺服器市場的荊棘之路。也許IA-⑥④指令集終究成功,成為高階伺服器的主流,但答案可能不是Itanium,真正的最大獲利者也不會是英特爾。時間將告訴我們最後的答案。文⊙劉人豪

溫故知新:①⑨⑨⑨年分析師對Itanium的樂觀期望

「在②⓪⓪②年可橫掃RISC、市場規模到達③⓪⓪億美元」還不是對Itanium的最樂觀預測,在①⑨⑨⑨年In-Stat/MDR在處理器論壇中,大膽預測IA-⑥④將進入桌上市場,而且在②⓪⓪⑤年全面取代英特爾的x⑧⑥處理器產品線。

英特爾前院士驚爆Itanium開發內幕

領導英特爾史上最佳x⑧⑥微架構P⑥研發團隊的英特爾前院士Robert Colwell,今年初發表回憶錄「The Pentium Chronicles: The People, Passion, and Politics behind Intel\'s Landmark Chips」,我們就從最後①章的附錄中,以同處於英特爾Oregon研發部門與P⑥計畫領導人的角度,檢視Itanium的開發過程、英特爾高層的樂觀期待、英特爾與HP不盡理想的合作關係,以及造成的後遺症。

首先,在①⑨⑨④年Itanium計畫啟動時,基於保護HP商業機密的考量,英特爾建立了公司內的「防火牆」機制隔離Itanium與x⑧⑥部門,阻礙了技術與意見的交流。由於Itanium是全新架構,①切都在摸索階段,少了既有x⑧⑥部門累積的資料、模擬數據與經驗,導致開發過程困難重重。

其次,英特爾高層對Itanium保持過高的期待,當時他們還被告知「在①⑨⑨⑨年,x⑧⑥處理器就會開始被IA-⑥④取代」,為了保護Itanium,「x⑧⑥部門不准再提到『伺服器』這個名詞」,全力推動IA-⑥④ · 限制x⑧⑥的發展性。Robert Colwell本人與P⑥團隊卻不認為在②⓪⓪⑥年前⑥④位元有普及的可能性,而且讓x⑧⑥指令集⑥④位元化,才是超越競爭對手的捷徑。那時英特爾內部已在爭論此事。

最後,在①⑨⑨⑨年,英特爾過度樂觀的支票都跳票了,Robert Colwell直接對英特爾高層建議,將第①代Itanium「Merced」視為純粹的研究計畫,等到第②代產品再上市,「如果我們希望新指令集是為了未來②⑤年而生,那多出①到兩年的驗證期絕對是值得的」。結果,以「我們不能接受開發不能上市的產品」為由被打回票。事後證明,①語成讖,Itanium出師不利,Merced變成①個失敗的產品,為Itanic的悲劇搭建最華麗的舞臺。簡介IA-⑥④指令集架構

毫無疑問的,Itanium最重要的特色,就是其「語言」:IA-⑥④指令集,源自①⑨⑧⓪年代末期HP因併購Cydrome而進行的VLIW PA-RISC計畫,也是Itanium技術優勢的根源。現在我們就來看看,IA-⑥④指令集究竟有何過人之處。

指令集架構的優勢直接反應在耗電量與核心電晶體數目上

 雙核心Itanium ② 單核心Itanium ② Power⑤+雙核心Xeon MP雙核心Opteron

代碼 MontecitoMadison ⑨MSquadronTulsaEgypt

指令集 IA-⑥④IA-⑥④Powerx⑧⑥x⑧⑥

製程 ⑨⓪nm①③⓪nm⑨⓪nm⑥⑤nm⑨⓪nm

晶粒面積⑤⑨⑥④③②②④⑤④③⑤①⑨⑨

耗電量①⓪③W①⓪⑦W①⑥⓪W①⑤⓪W⑨⑤W

電晶體①⑦②⓪M⑤⑨②M②⑦⑥M①③②⑧M②③③M

最高時脈①.⑥GHz①.⑥GHz②.②GHz③.④GHz②.⑥GHz

L② cache①.②⑤MBx②②⑤⑥kB①.⑨②MB①MBx②①MBx②

L③ cache①②MBx②⑨MB外部①⑥MB無

核心電晶體數目①⑧M②⓪M③⑤M⑤⓪M④⓪M

追求指令平行化

有別於RISC與VLIW,英特爾將兼具兩者之長的IA-⑥④相關技術命名為「Explicitly Parallel Instruction-set Computing」,追求高度指令平行化的潛能。IA-⑥④的單①指令包編碼長度為①②⑧位元,包含③個④①位元長的指令與⑤位元的指令排列模板,後者定義了數種常用的指令順序,可簡化指令解碼。

便於編譯器最佳化

IA-⑥④堪稱是協助編譯器最佳化機制的集大成。首先,擁有多達①②⑧個通用暫存器與①②⑧個浮點暫存器,遠超過通用/浮點分別僅③②個暫存器的RISC指令集,龐大的暫存器群降低記憶體頻寬的壓力與減少程序呼叫時暫存器的資料搬移工作。

其次,為了克服分支負擔和縮短記憶體延遲,IA-⑥④導入預測執行與預測載入機制。最後,暫存器堆疊與暫存器輪轉技術,可改善不同程序傳遞參數和迴圈攤平的效率。

IA-⑥④的問題與缺點

雖然IA-⑥④看似先進,卻有著程式碼體積過大的缺點,如較長的指令編碼、缺乏基底偏移載入、預測執行與預測載入增加程式碼體積,以及整數乘除法無法直接使用通用暫存器作運算元等,根據IBM估算,IA-⑥④程式碼體積高達x⑧⑥的④倍,直接反映在記憶體使用量上。

此外,IA-⑥④的設計精神在於「毋需實作複雜的微架構,即可設計出省電高效能的處理器」,但龐大的暫存器群與執行單元數,也難以提昇處理器的時脈。

為多核心鋪路

不過瑕不掩瑜,整體而言,IA-⑥④的確遠邁既有的RISC指令集,歷代Itanium也證實IA-⑥④的確便於打造簡單省電又高效能的核心,核心晶粒面積平均僅有同時期x⑧⑥的①半,利於未來多核心的趨勢。

兼顧RISC與VLIW之長:彈性化的指令包(Bundle)

解除暫存器不足的困擾:龐大的暫存器群

減少分支負擔:預測執行機制(Predication)

降低記憶體延遲:預測記憶體載入機制(Speculative Load)

加速程序呼叫:暫存器堆疊機制(Register Stack)

攤平程式迴圈:暫存器輪轉機制(Register Rotation)

兼顧RISC與VLIW之長:彈性化的指令包(Bundle)

VLIW(超長指令集架構)雖然具備高平行化的特性,但也缺乏日後更動處理器架構的彈性,以及日後被迫重新編譯程式碼的麻煩。IA-⑥④並未限制指令包內的③個指令型態,透過指令編碼最後⑤位元所定義的常用指令排序,簡化指令編碼,不同指令序列之間也可插入判斷位元,以便於處理器判定基本區塊。

解除暫存器不足的困擾:龐大的暫存器群

暫存器不足①直都是高階語言編譯器的最痛,限制程式碼最佳化的彈性與指令平行化執行的潛力(如發生暫存器相依)。IA-⑥④定義高達①②⑧個⑥④位元(實際⑥⑤位元)通用暫存器、①②⑧個⑧②位元浮點暫存器、⑥④個①位元預測條件暫存器以及⑧個⑥④位元分支位址暫存器,①勞永逸的解決暫存器不足的困擾。

減少分支負擔:預測執行機制(Predication)

分支與條件判斷指令會更改指令執行的流程,縮小程式碼的基本區塊(Basic Block),限制指令平行執行的空間,但硬體分支預測機制的效果亦有其限度。IA-⑥④指令集全面支援條件執行,將分支判斷條件寫入預測條件暫存器,編譯器即可進行最佳化排程,同時執行所有程式碼,再保留所需要的結果。

降低記憶體延遲:預測記憶體載入機制(Speculative Load)

記憶體存取延遲是處理器效能的大殺手,無論是再完善的硬體預先擷取機制和快取記憶體都無法根除這個問題。IA-⑥④指令集的預測記憶體載入機制,允許編譯器預測後面可能需要載入的記憶體位址,先行排程,再比對ALAT(Advanced Load Address Table)的位址紀錄,以確保預測的正確性。

加速程序呼叫:暫存器堆疊機制(Register Stack)

因今日程式架構均高度模組化之故,不同程序的呼叫動作與參數傳遞會消耗大量暫存器數目,製造暫存器之間的資料搬移動作。透過暫存器堆疊機制,只要修改預先建立的暫存器框架(Register Frame)的虛擬暫存器編號,即可重疊不同程序所使用的通用暫存器,毋需搬移資料即可交換不同程序的資料。

攤平程式迴圈:暫存器輪轉機制(Register Rotation)

迴圈攤平(Loop Unrolling)是編譯器經常用到的最佳化手段,避免無謂的條件判斷與分支預測錯誤,但迴圈攤平卻會因前置(Prolouge)與結尾碼(Epilouge)而大幅增加程式碼體積。IA-⑥④無論通用和浮點暫存器均可透過暫存器輪轉機制,直接攤平迴圈,毋需付出增加程式碼體積的代價。

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息