|
對無線系統設計工程師來說,清楚地瞭解單處理器上的多執行緒和利用多處理器處理之間的差異至關重要。行動電話是首個實現了雙核心設計的大量應用,然而雙核心實現對於許多需要高性能、低功耗的無線應用同樣適用。
# ?7 \( O! v- `: C7 {1 A$ p* Y, a8 U9 X; ?5 \: u9 b, ?7 C
當然,多處理器/多執行緒的話題同樣適用於除無線電之外的許多系統,最普遍的誤解是,多處理器和多執行緒處理器是具有同等軟體複雜度的同類技術。這一點應該會引起許多設計工程師的興趣。
+ W# e% x# d+ D9 m, y' Z6 [3 Y6 y: {5 }2 M2 A% o1 y- X0 P
重新考慮速度
' m8 @8 W5 p( O: ]* H. a; g* G8 G* B# ^# q; C: E; C
在過去十年中,桌上型電腦處理器設計的差異化因素很簡單,就是速度。英特爾和AMD在處理器設計上都全力追求提高速度的方法,熱衷於領先競爭對手先行開發出更高頻率的處理器。 6 l- k% p' r4 \* T6 M$ Z& `
$ _0 t( \" A8 M2 E
在搶先推出全球第一款1GHz處理器的白熱化競爭中,AMD脫穎而出成為贏家。但在這期間,業界慢慢開始認識到:處理器的時脈速度越高,硬體的複雜性也會隨之成長。 4 n* f" u3 x; `) s8 M; d
$ b2 ?) r: f% L: }業界還意識到:速度提高的路線不可能無限制地走下去,需要採取其它辦法。除了改善處理器的效率外,透過多處理器(MP)或多執行緒(MT)技術實現多處理而獲得的執行緒級平行可以提高整體性能。 3 E/ N' ?+ l4 w3 s2 f+ K$ c
! T* L0 F, f$ X7 g
英特爾是第一個推動稱為超執行緒(Hyper-Threading)的MT技術的公司,而AMD則將自身定位於雙核心與64位元處理器。但是這個過程也變成了一場雙核心競賽,兩家公司都千方百計地要成為第一個為家庭和商業運算提供真正多處理器解決方案的公司。
6 l s8 y$ @( W4 ~( q9 X
9 q7 I {, S2 x$ ~# U: v" @最近,這種向多處理轉移的趨勢已推動著桌上型電腦的軟體技術進入嵌入式設計中。多年以來,嵌入式設計工程師一直在他們的設計中採用多處理器,以在有限的功率預算內提供所需要的運算性能。 : H# H; U4 `; ?9 s" F, B$ H
& x E/ X" N/ ?1 O; ]! F+ l在嵌入式市場現在真正的變化是:應用軟體必須把通用處理器單元視為一個多處理系統,以從可能實現的的更高性能和低功耗中獲益。
$ i% F: l- e# a2 i
! N* k4 P6 M( K0 k儘管MP和MT都為軟體開發者帶來了多處理的複雜性,可是當在這兩者之間檢查代價和複雜性的折衷因素的時候,你會發現並非一切都相同。
2 |1 ~! d" [- R! s
4 _1 t) w. I2 G& P改變處理特性4 r' Z! u5 V' z: R' J
$ w$ i/ L# g ?" K5 H: _; r& q5 f
為了不斷提高性能,IC設計工程師要為他們的下一代設計研究處理器架構,以提供滿足消費者需求的靈活性和可擴展性。
6 Q9 C. u# G. v; y) o6 B8 J& F
! A- P; c* ^3 n: ?3 p6 H如果全新的架構不能沿用傳統的軟體,就會強烈阻礙在處理器架構中作出任何根本上的變化。運算技術發展歷史充斥著此類架構的案例。不論它們的運算性能多麼優越,也會因它們對軟體社群的需求和造成的中斷而未被採用。
3 L1 r! a2 D! a. J
& x" D/ E) G' Y$ n! R任何向多處理架構的轉移都要考慮到這一點,因此必須找到一種方法,針對現有軟體的需求,平衡多處理在理論上的可行性。 ; X6 u! i8 ?1 |$ ]7 b3 v1 i, t7 g
0 A7 `" @; C, D5 d3 G9 w# a
此外,由於在嵌入式設備中的應用軟體和作業系統越來越多地採用並行行為,因而推動了向多處理的轉移。這種軟體的並行性有助於推進MP或MT(或兩者的結合)的應用,以實現下一代嵌入式設備所需要的性能和效率。
; Z; T. {8 T% v! v
* B, s4 f; y4 }7 @/ C4 t0 D# n) ?- [多處理器和多執行緒技術
, v/ T. R% L" t. |2 E
, Q t* l( c4 m; r2 y X2 i5 \1 U, t! W" X1 s& v l6 ~8 J
[ 本帖最後由 masonchung 於 2008-4-12 05:19 PM 編輯 ] |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?申請會員
x
|