ckmarkhsu 7 發表於 April 5, 2007 檢舉 Share 發表於 April 5, 2007 http://taiwan.cnet.com/news/hardware/0,2000064553,20116587,00.htm設計沿用30年 x86架構老當益壯CNET新聞專區:Tom Krazit 04/04/2007 1970年代末期問世的電腦技術,到現在恐怕都已成為老古董,唯獨有個例外:對世上絕大多數電腦發號施令的x86指令集架構(ISA)。 今天,世界上逾九成的PC與伺服器都採用x86指令集架構,但這種ISA設計早在1978年就問世,是英特爾8086晶片的一部分。本月英特爾全球開發者社群將在北京舉行年度大會,屆時x86指令集架構將是一大主題。 基本上,指令集是一串讓軟體程式能使用的電腦操作指令。當然,除了x86指令集之外,另有別的指令集,例如IBM的Power、昇陽的Sparc和英特爾自家的EPIC (explicitly parallel instruction computing) Itanium計畫,諸如此類。但x86仍活躍至今,而且放眼望去看不到競爭對手,因為x86提供「夠強」的效能,而且近三十年來為支援x86平台而寫的軟體不計其數。 單名Arvind的麻省理工學院(MIT)電腦科學與工程學教授說:「若你回顧電腦學的歷史,巨變之所以發生,都是因為市場上湧現截然不同的新需求或新的變化。」 . 但x86顯然是特例。即使發明了瀏覽器,或低價位的網路電腦,眼看PC似乎就要被淘汰,但x86幕後的工程師總是能想出辦法,讓它能適應環境變遷。 批評者指出,過時的功能與軟體是x86的負擔,為了維持其固有的設計,往往在節電效率與軟體開發上必須有所犧牲。 但這恐怕是見仁見智的問題。出身寒微x86 ISA在1978年隨著英特爾推出8086處理器而首度亮相。Mercury Research分析師Dean McCarron說,即使在當時,這種設計受限於它搜尋記憶體位址的方式,也不被視為市場上最優秀的指令集架構。但因IBM的新PC選用8088 ISA--與8086大同小異的版本--於是 x86架構開始普及化。超微公司(AMD)技術長Phil Hester說:「x86起初是為八位元晶片設計(英特爾與AMD目前的晶片已進步到64位元),用來執行試算表。」因此,原來的設計不足以支援當前運算所需的一般用途暫存器(general-purpose registers)的數量。暫存器基本上是資料等候處理時暫存的小型裝置,一般用途暫存器可儲存資料或位址。 隨著使用IBM PC的人數及製造IBM相容PC的廠商增家,x86逐漸成為PC市場不可或缺的心臟。1990年代中期,英特爾挾著x86晶片進攻伺服器市場,進一步鞏固ISA的支配地位。今天,全球售出的伺服器中,超過90%都採用英特爾或AMD製造的x86處理器。 英特爾與AMD不斷在ISA中加入延伸指令集,所以x86能一直與時俱進。例如,英特爾在1990年代中期加入MMX和SSE指令集,用來改善繪圖效能。AMD近年來則加入64位元延伸,協助避開暫存器的問題。 但隨著一代又一代的延伸指令集加入x86 ISA,x86晶片也變得愈來愈複雜,而且必須兼顧對舊功能的支援,才能確保軟體的相容性。 XenSource虛擬化軟體技術長Simon Crosby說:「不論如何,英特爾架構實在沒理由這麼複雜。何不捨棄晶片上60%的電晶體,畢竟其中大多數都用來支援老舊的程式。」 Crosby說,如果晶片製造商宣稱該公司的晶片只能用來跑1990或1995年以後寫的舊軟體,成本和用電量勢必大幅降低。問題是,在Windows作業系統深處埋藏了許多擷取自1980年代初期所寫的MS-DOS作業系統的程式碼,而那些程式碼在開機時會找尋某些指令集。 這正是促使英特爾與惠普聯手推動EPIC計畫的動機。EPIC計畫的目的,是以「乾淨的」設計,清除x86設計的許多怪異特色以及對舊技術的支援,以便為未來20年的現代運算奠定基礎。 然而,EPIC也演變成不宜推出新指令集的教訓。軟體開發人員怯於從頭學習全新的電腦語言,而且初期部署的問題重重,都阻撓英特爾和惠普為EPIC處理器打造廣大的市場。同時,AMD的Opteron x86-64處理器(後來英特爾也跟進)是壓倒駱駝的最後一根稻草,把EPIC和Itanium打入高階伺服器市場,讓應用程式能利用Itanium提供的效能優勢。資金也是問題。業者多年來已在x86軟體上投入鉅資,即使是影響力強大的英特爾,也無法說服軟體開發人員捨棄既有的投資。 有替代品嗎?去年,英特爾技術長Justin Rattner表示,該公司不打算在可見的未來開發新的ISA。微軟資深副總裁Rick Rashid說,他領導的研究部門並未從事有關替代指令集的計畫,雖然微軟支持多種不同的指令集,例如1999年支持Windows NT 4.0。未來有什麼變數能改變現況呢? 效能總是軟體開發人員關切的因素,但目前還看不出來有什麼重大的新發展。Hester說,不大可能出現所謂「乾淨」的設計,能夠達到比現代x86 ISA強10%以上的效能或節能效率。 英特爾數位企業事業群資深副總裁既資深晶片設計師Pat Gelsinger說,小幅的效能改良,不足以鼓勵開發人員大舉遷離x86平台。他說:「現行設計每年讓效能加倍,且能執行舊有的應用程式。」 同時,晶片業持續在處理器上塞進更多的電晶體,意味維持舊程式運作需要的電晶體日益減少。Gelsinger說:「相容性的負擔仍在,但相容性的利多於弊。」 可能促成改變的一種技術改良,是雙核心或多核心晶片的推出。晶片製造商已公認,用多個速度較慢的處理器核心來打造晶片,是迴避單一高速核心耗電問題的一種方式。不過,目前,每個核心必須使用同一指令集。 Arvind說,有些人認為,未來可能採用混合式的解決方案:為x86設計小型、節電效率更高的核心,但採用別的ISAs,專門用來執行特定的任務,例如視訊處理。IBM的Cell處理器設計便是一個例子,用於Sony的PlayStation 3遊戲機。Cell使用PowerPC核心。 放眼更遠的未來,晶片製造商可能維持基本的x86核心,以維持回溯相容性,並採專用的硬體來複雜處理任務,這部分就不一定會在x86上執行了。(唐慧文/譯) 鏈接文章 分享到其他網站
Recommended Posts
請登入後來留意見
在登入之後,您才能留意見
立即登入