本文論述并比較目前移動平臺所采用的主要的多核處理技術,重點介紹多核處理技術與意法·愛立信未來產品所采用的具有突破性的FD-SOI 硅技術之間的協同效應,通過對比個人計算機市場,例證移動平臺的單核處理器還有很大的性能提升空間,從軟件性能角度分析,目前集中資源于速度更快的雙核處理器比速度較慢的四核處理器更贏利。
此外,我們還將論述 FD-SOI 技術如何在相同功耗條件下提高雙核處理器頻率,以及如何擴展高能效工作模式,所有這些優勢產生一個比異構和同構四核處理器更簡單、更便宜、更高效的解決方案。
多核處理器的問世是必然,而不是可以選擇
多核處理器是技術發展的必然,而不是人類可選的,在此重申這一點很重要。從歷史看,當工作頻率提高到芯片散熱極限時,主流PC 機多核處理器開始問世。事實上,自硅技術集成初期到2003-2005 年間,在主流計算機中,工作頻率提高和晶體管數量主要用于提升單核處理器的性能(見圖1)。在此期間,應用軟件的性能提升與硬件技術發展保持同步,日益增多的舊版軟件無需做任何修改,導致計算機行業出現空前的增長。
只要可能,這個趨勢就不會發生改變,直到芯片散熱達到極限為止。頻率提高而非晶體管數量增加是芯片達到散熱極限的部分原因。在這一問題上,多核處理器被認為是連續利用數量不斷增加的晶體管同時把功耗限制在可控范圍內的唯一解決辦法。雖然有悖常理,但是,單核處理器在假定頻率時的功耗高于雙核處理器在假定頻率的二分之一時的功耗,這是因為處理器頻率越高,所需的電壓就越高,此外,動態功耗與電壓是平方關系(圖2 所示是簡單的動態功耗計算式)。
多核處理器確實使硬件集成度遵循摩爾定律(晶體管數量每18 個月增加一倍),為此而付出的代價是軟件性能提升被完全破壞。對于軟件,再也沒有免費的午餐,正如年發表的一篇著名論文[1]所述,從那時開始,為了繼續高效地應用硬件技術進步,軟件開發人員必須采用并行且均衡的編程方式,使代碼能夠高效地映射到多核處理器,換句話說,軟件需要并行化,糟糕地是,軟件并行化在整個計算機領域仍然是最嚴峻的挑戰之一,雖然最初的研發熱情還沒有減退,但是,到目前還沒有發現一個效率令人滿意的通用解決方案[2]。很多本身是串行的應用軟件則根本沒有并行化解決方案。
這個問題難度非常大,在過去10 年來進展很小。G. Blake et al 在2010 年的論文[3]中提出兩個重要看法:
· 在雙核處理器問世時,用戶感受到的響應速度快是雙核處理器的最直接的優點,但是, 10 年后,大多數軟件,包括要求嚴格的游戲、辦公軟件、多媒體播放器和網絡瀏覽器,還是僅能充分利用雙核處理器,只有很少的應用軟件(視頻制作)能夠更高效地利用雙核處理器。
事實上,自多核處理器在10 年前問世至今,除很少的應用軟件外,大多數PC 軟件還沒有實現并行化。因為多任務操作系統和某些應用軟件的設計方法的原因,例如,用于處理用戶界面等異步事件的事件驅動型代碼,某些并行處理功能是原生的,但是,這些原生并行線程的均衡性通常很差,通常相互關聯,只有少數線程可并行使用現有多核處理器,然而最終只能發揮雙核以下處理器的能力。
軟件開發人員選擇不將其代碼并行化,因為大多數PC 機應用軟件根本沒有必要并行化,或者并行化成本過高。某些小眾市場是例外,例如,某些多媒體應用軟件、CAD 工具和某些專業領域,軟件性能是這些市場最關注的差異化特性。人們預計多核處理器將在視頻游戲中找到用武之地,如上文所述,實際上卻不是這樣,其中一個原因是,最近幾年,圖形處理器 (GPU)的發展速度比多核CPU 還要快,因此,在充分利用圖形處理器上投入資源的回報率更高,而將復雜的游戲引擎并行化,使其能夠在多核CPU 上運行,是一件費力不討好的工作。
在其它領域,多核處理器的情況不盡相同。例如,在網絡數據中心,因為并行工作負荷量大,多核處理器發展順利。在科學計算領域,軟件并行化有其合理性。
移動業和 PC 業一樣嗎?
智能手機性能演進實質上是一個加速的且時空轉換版的臺式計算機性能演進過程。蘋果的演進過程是一個很好的實例,我們很容易在一定時期內找到一致的數據,且蘋果也能代表大多數手機平臺。
圖3 所示是Dhrystone MIPS (DMIPS) CPU 性能測試成績,其中數據是ARM 分析其處理器所用數據。同樣地,我們應將測試成績轉換成圖1 中的英特爾CPU 性能測試所用的指令級并行測試(ILP),即在不考慮處理器的頻率時測試CPU 架構的效率。IDMIPS-single 表示單核處理器的相對性能,測試成績是通過DMIPS/MHz 乘以頻率而得來,而DMIPS-dual 是 DMIPS-single 乘以,表示蘋果從iPhone 4S 開始的雙核處理器的最高總體性能。對于軟件性能分析,我們只是引用了Anandtech[4]的iPhone 5 產品評測中的基準測試成績: Sunspider 和 Browsermark 是網絡瀏覽器 (Javascript) 基準測試工具,因為是單線程,所以無法測試多核處理器;Geekbench 是一個多線程基準測試工具,應該能夠體現多核處理器的性能優勢。
我們在圖3 中注意到兩個要素:
1.架構效率 (DMIPS/MHz) 、頻率和最終的單核性能 (DMIPS-single) 并沒有飽和,相反,還有很大的提升空間,這種趨勢完全不同于PC 機單核處理器的演進路線,后者顯然從年開始達到飽和。因此,我們得到的初步結論是,移動應用單核處理器不同于處理器,到目前其性能還沒有達到飽和狀態。
2.我們預想軟件性能與單核處理器性能成正比例關系。實際上,從iPhone 4S 到 iPhone 5,和 Browsermark 的測試成績增幅很大。這兩款手機都是雙核處理器,而且這兩種基準測試都是單線程,因此,軟件性能提升與多核處理器無關。測試成績提升的原因是網絡瀏覽器的軟件性能大幅提升,特別是Javascript 的優化起到重要作用,另外,其它硬件也很可能被優化,例如,改進存儲器子系統。相反, Geekbench 是一個多核線程基準測試工具,系統軟件變化對其影響不大。iPhone 5 的Geekbench 測試成績大幅提升,這似乎表明多核處理器至少發揮了一定作用,但是,令人奇怪地是,從單核到雙核iPhone 4S,我們并沒有看到同樣的成績提升。在任何情況下,所有的基準測試,包括Geekbench,都保持在雙核處理器的理論性能峰值以下。我們稍后將提供更多的軟件性能提升數據,但是,分析這些基準測試工具的測試成績,我們至少可以得到以下初步結論:像 PC機一樣, 軟件性能提升與單核處理器性能成正比,同時還與應用軟件有關;而與多核處理器性能的關系不大,或根本不成比例關系。
移動平臺并沒有出現我們看到的臺式機CPU 演進過程中的飽和狀態,這是因為智能手機市場剛剛開始高速增長,是平臺廠商進一步優化處理器架構和硅技術起主要動因,而競爭不激烈的傳統嵌入式系統市場卻沒有這種動因。顯然,PC 機更成熟的超級優化的架構和硅技術與智能手機平臺剛起步的架構與技術之間存在很大的差異:
PC單核處理器在2003 年達到散熱極限時,此后性能再也沒有增長的空間;而移動平臺則不同,智能手機時代始于2007 年,移動單核處理器還擁有巨大的性能提升空間,到今天為止,還沒有跡象顯示移動平臺性能飽和。
人們不禁要問:為什么移動平臺不同于PC 處理器,在單核性能達到飽和前就轉向多核處理器?
我們認為有兩個原因,第一個原因是,移動計算產品沿用數十年前的技術知識,特別是人們普遍知道,現代的操作系統能夠更高效地利用雙核處理器,高速緩存一致性和多任務處理操作系統等基本技術已經到位。因為能夠充分利用雙核處理器,就沒有必要再等。而且,這個過程進展得非???;第二個原因是進攻性的營銷策略。
像大多數商用平臺一樣,CPU 在進入四核時代后的發展方向目前尚不清楚,PC 業的經驗告訴我們,即使多核處理器存在于市場10 年后,使用雙核以上的處理器對于大多數軟件是沒有實用意義,唯一的技術解釋是移動應用軟件比PC 軟件更易于多核處理,但是,我們在短時間內不會看到這種情況發生。
事實上,有說服力的技術原因根本就不存在。動機似乎都與市場營銷有關,因為智能手機市場競爭激烈,多核處理器是一個很有進攻性的武器。目前,廠商利用處理器內核數量使自己的產品保持差異化,甚至消費者也這樣做。具有諷刺意義的是,技術上沒有任何新發明,市場營銷上沒有新意,相同的廣告詞早在PC 多核問世時就被廣泛使用。像PC 機一樣,人們很快就會意識到,移動設備內的CPU 內核數量與產品帶給客戶的真正價值沒有直接關聯。
網絡瀏覽器是最重要的手機應用軟件之一,也是手機高性能CPU 的最大受益者,同時還是要求嚴格的PC 級應用軟件的一個實例,瀏覽器的性能非常重要,因為它直接影響用戶視覺互動性。隨著網絡帶寬不斷增加,今天的處理速度已處于臨界線,將來HTML5 rich API 和不斷增加的編程內容(javascript)對處理速度要求更高。網絡瀏覽器還是高效使用今天的雙核處理器的一個很好的實例,因為操作系統支持功能、軟件工程、人機互動(防止UI 死屏)、安全性和穩健性(不同處理過程中的多個標簽)的原因,瀏覽器引入了并行活動。但是,因為缺少充足的均衡的軟件并行技術,瀏覽器無法滿足雙核以上數理器的運行需求,測試結果顯示,處理器從雙核進化到四核,瀏覽器性能提升很小或根本沒有提升。
圖4 所示是在同一四核處理器硬件/軟件平臺上運行的兩款主流瀏覽器的測試成績,通過軟件設置(熱插撥)可以選擇不同的處理器數量,因此,測量結果完全是同一硬件/軟件環境的真實數據。在所有的配置中,工作頻率完全相同。相對分數是指在多次重復測量中若干個主流網站上的網頁加載時間的平均值,因此,這個用例代表了真實的網站瀏覽體驗,而不是人為的基準測試。當從單核切換到雙核時,速度提升30%是一個較好的成績,符合預期。然而,從雙核切換到四核時,處理速度只取得0-11%的提升。在雙核處理器上進行相似的測試,從單核切換到雙核時,處理速度提升高達50%。
另一方面,如前文分析PC 處理器時提到的,不論處理器有多少個內核,頻率提高總是有益于提升軟件性能。當對多核處理器方案進行比較時,這一點很重要,因為處理器內核增加會對頻率產生負面影響?;ミB線和存儲器等共享資源沖突,高速緩存、一致性電路的擴展受限,這些因素都會限制多核處理器的頻率提升。為提升多核處理器的總體頻率,需要使用軟件多核處理方法補償多核處理器降低的頻率。例如,我們在以前的折衷分析 [5]中提到,四核處理器的頻率比雙核處理器降低約27%,軟件必須有70%的代碼實現并行化,才能使四核處理器的性能優于雙核處理器,這是一個很大的比例,幾乎沒有應用軟件能夠達到這個水平,當然不是通過原生并行,因為取得如此高的平行化,需要特殊的專門的并行化工作。
前文提到軟件并行化程度很低,所以速度較快的雙核處理器可輕松戰勝速度較慢的四核處理器,這種現象在網絡瀏覽器中特別明顯,如圖5 所示,為了與1.4GHz 的雙核處理器比較,我們人為的將四核處理器的配置降至1.2GHz,從圖中可以看出,即便兩者頻率相差很小,低于20%,速度較快的雙核處理器始終優于速度較慢的四核處理器。
我們對手機的其它重要應用軟件進行了類似的測試,例如,視頻游戲、程序啟動時間和多媒體功能,每次都取得相似的結果:在頻率相同的條件下,CPU 從雙核進化到四核,性能提升很小或根本沒有提升;當速度相差15-20%時,速度較快的雙核總能擊敗速度較慢的四核。
從正面看,智能手機搭載四核處理器應當會刺激軟件開發人員更有效地利用四核處理器,希望比PC 業在最近10 年做得更成功。智能手機的可用資源比PC 機的可用資源更敏感,即使移動處理器無限接近PC 處理器,兩者之間還有很大差距。在軟件方面,在移動移動平臺上運行級的應用軟件還有很大的壓力,綜合以上,再加上更低的功耗限制和更激烈的市場競爭環境,這些應該給軟件開發人員足夠的動機,投入更多的資源提高多核處理器的利用率。
多媒體是一個令人關注的領域,這個領域通常對處理性能要求嚴格,多媒體軟件自然適合并行化。擴增實境、計算攝影學、手勢識別等令人興奮的新應用領域都將應用并行處理技術,因為這些功能的穩定性不適合硬件加速。在這些應用領域,多核處理器也有競爭技術,通用圖形處理器(GPGPU)同樣是可編程多核處理器解決方案,不同的是,GPGPU 將代碼映射到GPU 而不是CPU。目前,GPGPU 的編程難度比多核CPU 更大,但是GPU 硬件發展速度很快,編程模型和工具也取得很大進展,因此,目前發展趨勢還不明朗。
異構多核處理技術
移動異構多核處理器的設計原理是,使用高性能但功耗高的處理器執行要求嚴格的應用任務,使用速度慢但高能效的處理器運行要求不高的任務。目前市場上已經有異構四核處理器平臺,例如,NVIDIA 的 Tegra 3 采用的Variable SMP [6]技術,采用 ARM big.LITTLE[7]解決方案的異構多核處理器預計不久就會上市。這個想法當然很好,但是成功還需要一些時間;像比較雙核與四核處理器一樣,簡單的解決方案只要可行,總是被優先選用,特別是涉及復雜的軟件修改時,簡單的解決方案總是勝出。我們稍后將分析如何利用 FD-SOI 硅技術以更簡單、更有效的方式達到同樣的效果。
異構多核處理器使軟硬件都變得十分復雜,圖6 所示是ARM big.LITTLE 硬件解決方案。
硬件變復雜的主要原因是,處理器高速緩存只有保持一致性,才能用于智能手機操作系統假設的共享存儲器系統,為此,AMR 在互聯線上引入了ARM ACE 接口技術,但這卻提高了硬件復雜程度,導致緩存一致性流量增加。
在軟件方面,如果把架構的全部潛力都發揮出來,系統異質管理對于操作系統可能是一件非常復雜的任務。理論上,操作系統應該有足夠高的智能,能夠區別要求條件不同的應用任務,將其分配給大處理器或小處理器執行。為限制在昂貴的集群器間移植軟件,這些決策應該相對穩定。同時,應用軟件可能會突然改變行為,系統必須能夠迅速做出響應,這需要提高動態電壓和頻率,而且在兩個集群器上單獨進行,增加要考慮的功率狀態的數量。不僅今天的操作系統無法提供發揮多核處理器的全部潛能所需的先進復雜技術,而且錯誤的決策在實際應用中可能會適得其反,大量的軟件移植會引起用戶可見的系統故障,錯誤決策引起性能降低或浪費電能。
完美地支持異構多核處理器需要多年的研發活動和優調技術。
為了限制系統做出錯誤決策的風險,研發人員開發出了中間解決方案,但是,該解決辦法需要以降低多核處理器潛能利用率為代價。例如,某個解決方案通過專屬方式使用大小 集群器,即不是并行處理,而是根據系統總體負荷從一個集群器切換至另一個集群器,以避免智能映射每個獨立軟件線程變得更加復雜,這種方法的缺點是沒有并行使用集群器,所以沒有發揮多核處理器的全部潛能。
另一個最新的方法是把大小處理器整合成一對固定的處理器,操作系統負責管理每個大小處理器,將其視為一個電壓/頻率工作點擴展的單一抽象處理器,這種方法的缺點是在集群器之間頻繁移植軟件具有一定的風險,抽象處理器的工作模式配對不是原生的,因為在硬件上,工作點是由集群器實現的,而非大小處理器對。
總之,異構多核處理器當然是一項前景不錯的技術,特別是在移動市場。然而,因為技術復雜,特別是在軟件方面,這項技術需要經過多年的研發和優調才會發揮出全部的潛能。
硅制造工藝的新進展: FD-SOI
近些年,為確保硅制造技術節點進一步降低,突破傳統技術即將達到的極限,半導體企業進行了大量新技術研發,取得了很多具有突破性的開發成果,例如, FinFET 和 FD-SOI 制造工藝。
意法·愛立信將意法半導體的FD-SOI (全耗盡型絕緣體上硅)技術用于其性能非常優異的下一代28nm 移動平臺。在這里,我們只從計算性能的角度簡要分析FD-SOI 的技術優勢,說明此項技術如何能夠進一步提升單核處理器的性能,讓我們繼續專注速度更快的雙核處理器,以獲得更高的軟件性能。
如圖7 所示,由于插入超溥埋氧層襯底,FD-SOI 使晶體管電特性得到大幅提升,同時繼續使用非常成熟的平面工藝制造芯片。
下面概括FD-SOI 的優點
· 速度更快:在相同的技術節點,FD-SOI 晶體管的溝道比體效應晶體管的溝道短,而且前者是全耗盡型溝道,無摻雜劑。在這兩個因素共同作用下,FD-SOI 晶體管在相同電壓時開關速度更快,在功耗相同條件下,高壓工作頻率提高35%,低壓工作頻率提高。
· 功耗更低:有多個因素促使功耗降低:全耗盡溝道消除了漏極引起的寄生效應,在低功耗模式,可更好地限制載流子從源極流向漏極;更厚的柵電介質層可降低柵極泄漏電流;更好地控制體偏壓技術 (為更好地控制速度和功耗而向晶體管體施加的電壓)。結果,在高性能時,功耗降低 35%;在低性能時,功耗降幅更大,高達50% 。
· 工藝更簡單:FD-SOI 制造工藝與28nm 體效應技術(bulk)的相近程度達到 90%,總工序減少15%,研發周期更短。此外,FD-SOI 技術無需壓力源或其它類似的復雜技術,而其它工藝可能需要這些技術。最終工藝的復雜度低于體效應技術,遠遠低于技術。
從微處理器設計角度看, 相對于體效應技術,FD-SOI 的優勢十分明顯(見圖
· 電壓/功耗相同時,FD-SOI 可取得更高的頻率,或者在頻率相同時,FD-SOI 的功耗更低;
· 可取得的最高頻率更高
· 采用FD-SOI 技術的處理器能夠以更低的電壓維持非常不錯的頻率 (比如,1GHz,0.65V),在低功耗模式時, FD-SOI 的對比優勢更加突出,如圖8 的低壓區所示,在低功耗模式,的頻率比bulk 技術高100%。
在高頻率時,能效提高幅度大約35%。在大量的用例中,這個成績足以讓FD-SOI 雙核處理器戰勝速度較慢的bulk 四核處理器,如前文所述,這是因為目前軟件性能提升受限。
在低功耗方面,FD-SOI 技術的影響更大,無需采用更復雜且還不成熟的異構多核處理器降低功耗的方式。
上文論述的擴展的工作模式是以前提到的FD-SOI 的技術優勢共同實現的,其中體偏壓(body biasing)扮演重要作用。體偏壓是在晶體管體上施加特定電壓,根據每個特定工作模式優調晶體管特性。FD-SOI 技術無需體效應晶體管的管體與源漏極之間的寄生二極管,所以,FD-SOI 準許施加電壓范圍更寬的偏壓。
)實際上,我們似乎用兩個不同的處理器設計取得了相同的效果(見圖9)。其中一個是為高性能優化的,另一個則是為低功耗優化的,但是我們只使用一個電路,通過改變體偏壓,利用電壓控制高性能和低功耗模式的轉換。意法·愛立信將這個概念稱為 “eQuad”,最終特性相當于甚至高于前文提及的異構四核處理器。
圖10 比較了我們的首款 FD-SOI 產品 NovaThor? L8580 與采用big.LITTLE 配置的四核處理器;前者內置一顆基于兩個ARM Cortex-A9 處理器的 eQuad 處理器,后者的工作頻率在最近新推出的四核處理器中具有代表性。因為電壓/頻率范圍被擴展,不論是在高頻工作還是低功耗時,在相同的功耗下總能提供更高的性能,這歸功于Cortex-A9 處理器。與相比,Cortex-A9 是ARM 的上一代處理器架構。除更高的性能和更低的功耗外,還有一個重要優勢:采用簡單的傳統的雙核處理器結構,且處理器管理軟件的技術也非常成熟,而big.LITTLE 產品則需要前文討論的異構多核處理器所需的復雜的軟硬件管理方法。
意法·愛立信計算技術開發藍圖
意法·愛立信計算產品戰略與開發藍圖 (圖11) 反映了目前可以例證的觀點:采取能夠讓當代手機軟件充分發揮處理器全部潛能的方式,充分利用隨著硅技術演進而不斷提高的處理器性能,這意味著速度較快的雙核處理器是最佳選擇。
值得一提的是,設計頻率更高的雙核處理器,同時遵守移動功耗限制標準,比復制缺乏主動性的設計,開發頻率較低的四核處理器,需要投入更大的研發資源。我們始終堅持這個發展方向的原因是,目前軟件性能直接受益于更高的頻率,而無需對軟件代碼做任何修改,要想發揮雙核以上的處理器的全部潛能,需要在軟件上投入巨大的研發資源。
考慮到將來,我們正在研究各種不同的可行方案,其中包括四核處理器以及此后的技術演進。
像PC 處理器一樣,移動處理器的頻率提升遲早受到功耗限制。我們的下一代產品還將受益于取得的硅技術突破,但是,將來頻率開始無限接近PC 處理器的情況,不可避免地達到飽和狀態,轉向四核處理器是繼續提升性能的唯一途徑。希望軟件在此之前有長遠的發展,以便更有進攻性的四核處理器的全部潛能被全部發揮出來。
結論
本文重點介紹了PC 機處理器與智能手機處理器在產品演進路線上的主要不同之處:2005 年,機處理器頻率引起的功耗達到飽和后,PC 多核處理器上市,這是必然結果;而智能手機的多核處理器卻遠在頻率飽和前就提前問世。
手機提前進入雙核時代要歸功于PC 業。雙核技術已經成熟,可隨時實現和應用。雙核處理器之所以卓有成效,是因為:在操作系統和應用軟件內,存在原生、但有限的并行代碼。然而,從雙核演進到四核主要是智能手機市場的進攻性營銷策略導致。從技術層面講,不存在令人信服的動因,軟件還不能有效地利用雙核以上的處理器。事實上,不論是10 年來的PC 業,還是最近的智能手機業,還沒有充足的動力推動大多數開發人員從事成本昂貴且費事的軟件并行化項目。由于雙核以后的處理器需要軟件并行化,這導致現有的四核處理器無法發揮全部潛能。
評論