|
晶片業界面臨多核心技術領域之「軟體落差」難題6 c9 _% ]2 `4 T
上網時間: 2008年04月11日
* Q- @3 o: ]5 m ?2 P
/ j. d4 j a% r% Y+ o多核心處理器日益風行,但市面上卻缺乏可支援的平行編程工具與相關技術;目前,透過新的研究、標準與工具,產業界已開始著手解決此一「軟體落差」問題。
& [' \/ V( A/ F8 u9 l. @- D5 n g% M0 B0 y/ G
在日前於美國加州舉行的Multicore Expo展會上,有關多核心處理器的軟體落差問題成為產業界矚目的焦點。在該場展會中,包括Freescale、Intel與MIPS等晶片大廠,以及許多新創晶片設計業者,紛紛展示其多核心產品;而也有業界人士提出警告,產業界目前所面臨的艱鉅任務,就是開發可支援此類新一代晶片的軟體。
* q4 T; S' c& D {7 o, u, _
; ?3 m4 o3 ~7 r: k4 _' r在Venture Development (VDC)擔任嵌入式硬體研究主管的Eric Heikkila表示,當前的硬體與軟體之間存在很大的落差;根據該公司的調查,有55%的嵌入式系統開發捨表示,他們正在使用、或即將在未來的12個月之內使用多核心處理器。而根據VDC的預測,嵌入式多核心處理器市場將由2007年的3.72億美元規模,在2011年成長至24.7億美元。
! n0 C3 f1 p3 E6 |" ]' ^( x" V) I6 D! {2 A
此一趨勢在PC市場尤其明顯。根據Intel嵌入式事業群總經理Doug Davis透露,該公司在2007年所推出的所有處理器產品中,有40%採用多核心架構,而該比例到2011年,將大幅成長至95%。
/ `$ H& U; F2 }% Q
1 C/ e+ |9 [5 f- d8 x* M8 s但是在軟體這一端,根據供應商的說法,至2007年,他們所提供的工具中只有6%可支援平行編程晶片;而VDC指出,該比例到2011年也不過將成長至40%左右。Heikkila表示,目前有85%的嵌入式編程工作,有85%是使用C或C++語言所完成,這些編程語言並不易針對多核心架構最佳化。- I4 N4 m( i2 Z3 O! N4 H* g: K
. P, K9 r/ H0 m: a& p0 {. g; K1 a「為了短期之內的應用,有必要提升C/C++語言的效益;但以長期的角度來看,我們還是需要新的編程語言與工具來支援多核心架構。」Heikkila認為。4 w$ g1 i6 g# T) i3 F
* n$ W1 E$ A1 ^& K8 U* A9 n對此TI通訊基礎設施事業群的技術長Alan Gatherer表示,改善現有技術的困難度,與開發新工具一樣高;產業界既缺乏解決方案,也缺乏可用的程式碼。他指出,像Ericsson等公司都有上百人的軟體工程師團隊,以嚴謹的方式在撰寫程式碼;而有許多新的軟體構想還有待證實,但這並非一朝一夕可完成的工作。
- ]! L8 A0 u6 g9 E
X8 n; ?7 }& ]- ?一家新創公司RapidMind的首席科學家Michael McCool則呼籲,業界應開發新的編程模型,以協助嵌入式系統設計者了解如何最佳化其平行編程晶片的應用。他表示,多核心編程的複雜度已經超越了某個程度。! X1 m. Q' f1 t! i% A( M
: Y% u8 N& x5 ^/ \對此,長期研究平行編程技術的伊利諾大學香檳校區(University of Illinois at Urbana-Champaign)工程系教授Wen-mei Hwu,要開發一個主流的平行編程模型並不容易,而其背後的困難所在,才剛剛開始逐漸浮上檯面。
% L4 m. R1 W! M1 v% d/ P
8 k ^1 W, e6 r- r% p. V不久前,Hwu任教的大學才獲得Intel與Microsoft的1,000萬美元資金,將用以開發新一代平行編程技術。他表示,該筆鉅款僅能支援一種平行編程模型的開發,沒有人能負擔開發多種編程模型應用程式的龐大資金。目前該校也在與其他業者與研究單位進行相關技術的研發合作。# u8 ~$ z7 o+ }/ }
+ O* ^! H9 g$ r' ~
而在相關標準訂定方面,多核心協會(Multicore Association)在該場展會上宣佈,該組織已完成了供核心之間通訊用的應用編程介面開發,而現在則正在著手為嵌入式虛擬化(embedded virtualization)訂定標準。VDC的Heikkila表示,多核心趨勢使各家業者不得不更開放、並推動新的業務模式,而業界對標準化的需求程度也是前所未有。# E/ z( \% W" Y' [4 m
9 g/ R9 I% a* H g(參考原文: Chip industry confronts 'software gap' between multicore, programming)
1 ^5 I3 r* [2 X* s- {: `$ }- }% t/ F0 B, ]+ F0 h H+ n
(Rick Merritt) |
|