意法愛立信移動(dòng)平臺(tái)多核處理技術(shù)(二)
我們對(duì)手機(jī)的其它重要應(yīng)用軟件進(jìn)行了類似的測(cè)試,例如,視頻游戲、程序啟動(dòng)時(shí)間和多媒體功能,每次都取得相似的結(jié)果:在頻率相同的條件下,CPU 從雙核進(jìn)化到四核,性能提升很小或根本沒有提升;當(dāng)速度相差15-20%時(shí),速度較快的雙核總能擊敗速度較慢的四核。
從正面看,智能手機(jī)搭載四核處理器應(yīng)當(dāng)會(huì)刺激軟件開發(fā)人員更有效地利用四核處理器,希望比PC 業(yè)在最近10 年做得更成功。智能手機(jī)的可用資源比PC 機(jī)的可用資源更敏感,即使移動(dòng)處理器無(wú)限接近PC 處理器,兩者之間還有很大差距。在軟件方面,在移動(dòng)移動(dòng)平臺(tái)上運(yùn)行級(jí)的應(yīng)用軟件還有很大的壓力,綜合以上,再加上更低的功耗限制和更激烈的市場(chǎng)競(jìng)爭(zhēng)環(huán)境,這些應(yīng)該給軟件開發(fā)人員足夠的動(dòng)機(jī),投入更多的資源提高多核處理器的利用率。
多媒體是一個(gè)令人關(guān)注的領(lǐng)域,這個(gè)領(lǐng)域通常對(duì)處理性能要求嚴(yán)格,多媒體軟件自然適合并行化。擴(kuò)增實(shí)境、計(jì)算攝影學(xué)、手勢(shì)識(shí)別等令人興奮的新應(yīng)用領(lǐng)域都將應(yīng)用并行處理技術(shù),因?yàn)檫@些功能的穩(wěn)定性不適合硬件加速。在這些應(yīng)用領(lǐng)域,多核處理器也有競(jìng)爭(zhēng)技術(shù),通用圖形處理器(GPGPU)同樣是可編程多核處理器解決方案,不同的是,GPGPU 將代碼映射到GPU 而不是CPU。目前,GPGPU 的編程難度比多核CPU 更大,但是GPU 硬件發(fā)展速度很快,編程模型和工具也取得很大進(jìn)展,因此,目前發(fā)展趨勢(shì)還不明朗。
異構(gòu)多核處理技術(shù)
移動(dòng)異構(gòu)多核處理器的設(shè)計(jì)原理是,使用高性能但功耗高的處理器執(zhí)行要求嚴(yán)格的應(yīng)用任務(wù),使用速度慢但高能效的處理器運(yùn)行要求不高的任務(wù)。目前市場(chǎng)上已經(jīng)有異構(gòu)四核處理器平臺(tái),例如,NVIDIA 的 Tegra 3 采用的Variable SMP [6]技術(shù),采用 ARM big.LITTLE[7]解決方案的異構(gòu)多核處理器預(yù)計(jì)不久就會(huì)上市。這個(gè)想法當(dāng)然很好,但是成功還需要一些時(shí)間;像比較雙核與四核處理器一樣,簡(jiǎn)單的解決方案只要可行,總是被優(yōu)先選用,特別是涉及復(fù)雜的軟件修改時(shí),簡(jiǎn)單的解決方案總是勝出。我們稍后將分析如何利用 FD-SOI 硅技術(shù)以更簡(jiǎn)單、更有效的方式達(dá)到同樣的效果。
異構(gòu)多核處理器使軟硬件都變得十分復(fù)雜,圖6 所示是ARM big.LITTLE 硬件解決方案。
硬件變復(fù)雜的主要原因是,處理器高速緩存只有保持一致性,才能用于智能手機(jī)操作系統(tǒng)假設(shè)的共享存儲(chǔ)器系統(tǒng),為此,AMR 在互聯(lián)線上引入了ARM ACE 接口技術(shù),但這卻提高了硬件復(fù)雜程度,導(dǎo)致緩存一致性流量增加。
在軟件方面,如果把架構(gòu)的全部潛力都發(fā)揮出來(lái),系統(tǒng)異質(zhì)管理對(duì)于操作系統(tǒng)可能是一件非常復(fù)雜的任務(wù)。理論上,操作系統(tǒng)應(yīng)該有足夠高的智能,能夠區(qū)別要求條件不同的應(yīng)用任務(wù),將其分配給大處理器或小處理器執(zhí)行。為限制在昂貴的集群器間移植軟件,這些決策應(yīng)該相對(duì)穩(wěn)定。同時(shí),應(yīng)用軟件可能會(huì)突然改變行為,系統(tǒng)必須能夠迅速做出響應(yīng),這需要提高動(dòng)態(tài)電壓和頻率,而且在兩個(gè)集群器上單獨(dú)進(jìn)行,增加要考慮的功率狀態(tài)的數(shù)量。不僅今天的操作系統(tǒng)無(wú)法提供發(fā)揮多核處理器的全部潛能所需的先進(jìn)復(fù)雜技術(shù),而且錯(cuò)誤的決策在實(shí)際應(yīng)用中可能會(huì)適得其反,大量的軟件移植會(huì)引起用戶可見的系統(tǒng)故障,錯(cuò)誤決策引起性能降低或浪費(fèi)電能。
完美地支持異構(gòu)多核處理器需要多年的研發(fā)活動(dòng)和優(yōu)調(diào)技術(shù)。
為了限制系統(tǒng)做出錯(cuò)誤決策的風(fēng)險(xiǎn),研發(fā)人員開發(fā)出了中間解決方案,但是,該解決辦法需要以降低多核處理器潛能利用率為代價(jià)。例如,某個(gè)解決方案通過(guò)專屬方式使用大小 集群器,即不是并行處理,而是根據(jù)系統(tǒng)總體負(fù)荷從一個(gè)集群器切換至另一個(gè)集群器,以避免智能映射每個(gè)獨(dú)立軟件線程變得更加復(fù)雜,這種方法的缺點(diǎn)是沒有并行使用集群器,所以沒有發(fā)揮多核處理器的全部潛能。
另一個(gè)最新的方法是把大小處理器整合成一對(duì)固定的處理器,操作系統(tǒng)負(fù)責(zé)管理每個(gè)大小處理器,將其視為一個(gè)電壓/頻率工作點(diǎn)擴(kuò)展的單一抽象處理器,這種方法的缺點(diǎn)是在集群器之間頻繁移植軟件具有一定的風(fēng)險(xiǎn),抽象處理器的工作模式配對(duì)不是原生的,因?yàn)樵谟布?,工作點(diǎn)是由集群器實(shí)現(xiàn)的,而非大小處理器對(duì)。
評(píng)論