兼顧處理器效能與功耗 大小核設(shè)計(jì)架構(gòu)突起
大小核(big.LITTLE)晶片設(shè)計(jì)架構(gòu)正快速崛起。在安謀國(guó)際(ARM)力推下,處理器業(yè)者已開始大量導(dǎo)入big.LITTLE設(shè)計(jì)架構(gòu),期將不同運(yùn)算任務(wù)分配到最合適的核心處理,藉此發(fā)揮最佳效能與節(jié)能效果,助力行動(dòng)裝置制造商打造更吸晴的產(chǎn)品。
本文引用地址:http://m.butianyuan.cn/article/164467.htmbig.LITTLE晶片設(shè)計(jì)架構(gòu)將快速崛起。ARM與全球IC設(shè)計(jì)業(yè)者正積極合作推廣big.LITTLE技術(shù),預(yù)期今年下半年將有大量基于此架構(gòu)的行動(dòng)處理器問(wèn)世;其透過(guò)將各種運(yùn)算任務(wù)分配到最合適的核心做處理,藉此發(fā)揮最佳效能與節(jié)能效果,有助打造下世代行動(dòng)裝置。
近年行動(dòng)領(lǐng)域出現(xiàn)重大變革,智慧型手機(jī)已成為消費(fèi)者聯(lián)網(wǎng)生活的主要工具,然而,這其中涉及各種高效能運(yùn)算任務(wù)如高速網(wǎng)頁(yè)瀏覽、導(dǎo)航與游戲,以及語(yǔ)音通話、社群網(wǎng)路和電子郵件服務(wù)等效能需求較低的「持續(xù)運(yùn)作,永遠(yuǎn)連線」后臺(tái)任務(wù)。
與此同時(shí),平板裝置也正重新定義運(yùn)算平臺(tái),這些創(chuàng)新設(shè)計(jì)轉(zhuǎn)變均為消費(fèi)者打造與內(nèi)容互動(dòng)的全新方式,將原本只限于網(wǎng)路共享裝置(TetheredDevice)的功能導(dǎo)入行動(dòng)領(lǐng)域,創(chuàng)造出真正的智慧型新世代運(yùn)算。
兼顧晶片效能與功耗big.LITTLE架構(gòu)崛起
因應(yīng)電子裝置快速變革,半導(dǎo)體摩爾定律(Moore’sLaw)又將如何往下發(fā)展?過(guò)去預(yù)測(cè)晶片效能每隔18個(gè)月就會(huì)倍增,直到電晶體數(shù)量從數(shù)千增加到數(shù)十億個(gè),但若仔細(xì)觀察單一處理器,就會(huì)發(fā)現(xiàn)效能幾乎停滯不前,這是因?yàn)橄到y(tǒng)能消耗的電量已達(dá)到高峰。
對(duì)于未來(lái)任何一種處理器,處理速度都將受限于散熱問(wèn)題而無(wú)法大幅躍進(jìn)。任何裝置一旦達(dá)到熱障(ThermalBarrier)就會(huì)開始融化,如果是行動(dòng)電話,便會(huì)使裝置溫度上升造成使用者不適。除物理層面的散熱問(wèn)題外,能源效率也會(huì)變得相當(dāng)差,若調(diào)校處理器實(shí)作使其速度加快,則所需耗能便會(huì)倍數(shù)增長(zhǎng),而為增加最后這一丁點(diǎn)的效能,后續(xù)導(dǎo)熱設(shè)計(jì)的成本真的很高。
在過(guò)去,處理器核心面積倍增代表速度倍增,但是現(xiàn)在面積倍增,速度卻只增加幾個(gè)百分點(diǎn),因此復(fù)雜度并不代表有效率,這就是單一核心系統(tǒng)有所限制的原因之一。如果無(wú)法加快單一核心速度,就必須增加獨(dú)立核心的數(shù)量,這也有助于每個(gè)核心去應(yīng)對(duì)其被分配到的任務(wù)需求,有鑒于此,安謀國(guó)際(ARM)遂于2012年提出big.LITTLE處理器架構(gòu)(圖1)。
圖1big.LITTLE系統(tǒng)結(jié)構(gòu)示意圖
big.LITTLE主要目的在于解決IC設(shè)計(jì)業(yè)界眼前最大挑戰(zhàn),也就是同時(shí)提升晶片效能、并延長(zhǎng)裝置續(xù)航力,以延伸消費(fèi)者「持續(xù)運(yùn)作,永遠(yuǎn)連線」的行動(dòng)體驗(yàn)。該技術(shù)之所以能達(dá)成上述目標(biāo),系結(jié)合一個(gè)大(big)的高效能處理器核心與一個(gè)小(LITTLE)的低功耗處理器核心,然后根據(jù)效能需求,以無(wú)縫連接方式選擇合適的處理器。更重要的是,這種動(dòng)態(tài)分配任務(wù)的動(dòng)作,對(duì)于上層應(yīng)用軟體或中介軟體在處理器上的執(zhí)行絲毫沒(méi)有任何影響。
目前已應(yīng)用于市面上行動(dòng)裝置的big.LITTLE設(shè)計(jì),結(jié)合高效能Cortex-A15多處理器叢集(Cluster)與具有節(jié)能特色的Cortex-A7多處理器叢集。這些處理器在架構(gòu)上百分之百相容,且均支援40位元實(shí)體地址擴(kuò)展LPAE、虛擬化擴(kuò)充及NEON、VFP之類的運(yùn)作單元,無(wú)須另外調(diào)整即可讓針對(duì)其中一種處理器類型所編譯的軟體應(yīng)用程式,順利于另一款處理器上運(yùn)作。
因應(yīng)任務(wù)需求處理器核心無(wú)縫切換
big.LITTLE系統(tǒng)結(jié)構(gòu)就快取記憶體一致性(CacheCoherency)的維護(hù)而言,無(wú)論是同一處理器叢集中的快取記憶體,或是跨不同處理器叢集的快取記憶體,皆保持快取記憶體資料的一致性。這種跨叢集的一致性來(lái)自ARMCoreLink快取同調(diào)匯流架構(gòu)(CCI-400,也能提供ARMMali-T604之類的繪圖處理器(GPU)系統(tǒng)等元件的I/O一致性)。
兩種叢集的中央處理器,還可透過(guò)CoreLinkGIC-400之類的共用中斷控制器互傳訊號(hào)。其中,系統(tǒng)包含big.LITTLE切換和big.LITTLEMP(Multiple-Processor)兩種執(zhí)行模式,由于同一應(yīng)用程式可采用Cortex-A7或Cortex-A15而毋須調(diào)整,因此可將應(yīng)用程式的任務(wù)隨機(jī)對(duì)應(yīng)到正確的處理器上。
切換模式是讓不同處理器類型在切換時(shí)能進(jìn)行軟體內(nèi)容的擷取與回覆。以CPU切換來(lái)說(shuō),叢集中每個(gè)CPU在另一個(gè)叢集中都有對(duì)應(yīng)的CPU,而軟體內(nèi)容則以CPU為單位,隨機(jī)在不同的叢集間切換;如果叢集中沒(méi)有正在運(yùn)轉(zhuǎn)的CPU,便可關(guān)閉整個(gè)叢集及相關(guān)的L2快取。
同時(shí),此模式也是動(dòng)態(tài)電壓頻率調(diào)整(DVFS)等能源/效能管理技術(shù)的延伸。切換動(dòng)作類似DVFS操作點(diǎn)的轉(zhuǎn)換,由于處理器上DVFS曲線的操作點(diǎn),會(huì)隨負(fù)載變化不同而來(lái)回變動(dòng),當(dāng)既有的處理器(或叢集)已達(dá)到最高操作點(diǎn),而軟體堆疊仍需更高效能,處理器切換動(dòng)作就會(huì)發(fā)生,改由另一個(gè)處理器執(zhí)行工作,這個(gè)處理器的操作點(diǎn)也會(huì)隨著負(fù)載變化不同而來(lái)回變動(dòng)(圖2)。當(dāng)效能需求不再,可換回之前的處理器(或叢集)。
圖2big.LITTLE切換模式DVFS曲線圖
顯而易見(jiàn),一致性是達(dá)到加速切換所需時(shí)間的關(guān)鍵所在,因?yàn)樗茏屢呀?jīng)儲(chǔ)存在離埠處理器(OutboundProcessor)的狀態(tài),在入埠處理器(InboundProcessor)上窺探與回覆,而不必透過(guò)主記憶體的存取。
此外,由于離埠處理器的L2有快取一致性的功能,當(dāng)任務(wù)切換時(shí),可以透過(guò)窺探資料值的方式,改善入埠處理器的快取暖機(jī)時(shí)間,此時(shí)L2快取記憶體仍然可以維持供電狀態(tài);不過(guò),因?yàn)殡x埠處理器的L2快取無(wú)法提供新資料的快取配置,最后還是必須清除并關(guān)閉電源以節(jié)省耗電(圖3)。
圖3big.LITTLE運(yùn)算任務(wù)切換流程圖
由于LITTLE處理器叢集中,每個(gè)處理器都將對(duì)應(yīng)一個(gè)big叢集的處理器,因此CPU乃成對(duì)配置(Cortex-A15及Cortex-A7處理器上都有CPU0,Cortex-A15及Cortex-A7處理器上都有CPU1,以此類推),不論何時(shí)每個(gè)配對(duì)中只有一個(gè)處理器可運(yùn)轉(zhuǎn);而系統(tǒng)則會(huì)主動(dòng)偵測(cè)各處理器負(fù)載,在高負(fù)載時(shí)將內(nèi)容執(zhí)行移到大核心(圖4)。當(dāng)負(fù)載從離埠核心移到入埠核心,便會(huì)關(guān)閉其中一個(gè)核心,這種模式讓big與LITTLE核心組合能隨時(shí)運(yùn)轉(zhuǎn)。
圖4big.LITTLE切換模式DVFS曲線圖
big.LITTLEMP支援非對(duì)稱叢集運(yùn)作
至于big.LITTLEMP模式則進(jìn)一步將軟體堆疊分配到兩個(gè)叢集中各個(gè)處理器,如此一來(lái),所有CPU皆可同時(shí)運(yùn)作,將系統(tǒng)效能提升到最高點(diǎn)。
由于big.LITTLE系統(tǒng)可經(jīng)由CCI-400達(dá)到快取記憶體的一致性,因此有另一種模式能讓Cortex-A15及Cortex-A7處理器同時(shí)運(yùn)作并同步執(zhí)行程式碼,稱為big.LITTLEMP,基本上可看作一種異質(zhì)性多工處理模型。這是big.LITTLE系統(tǒng)最先進(jìn)且最具彈性的模式,能跨越兩個(gè)叢集調(diào)整單一執(zhí)行環(huán)境。
在這種使用模式下,若執(zhí)行緒有上述處理效能方面的需求,便可開啟Cortex-A15處理器核心并同時(shí)透過(guò)Cortex-A7處理器核心執(zhí)行任務(wù)。如果沒(méi)有這方面需求,則只須開啟Cortex-A7處理器,在實(shí)際應(yīng)用上,不同叢集的處理器核心不一定一致,而big.LITTLEMP比較容易支援非對(duì)稱的叢集。
調(diào)降低頻運(yùn)算多余功耗big.LITTLE嶄露頭角
big.LITTLE技術(shù)之所以受到IC設(shè)計(jì)業(yè)者矚目,原因就是一般行動(dòng)工作量對(duì)效能的需求各有不同,必須找到最合適的核心處理。圖5顯示的是目前搭載Cortex-A9的行動(dòng)裝置中,兩個(gè)核心在DVFS、閑置與完全關(guān)機(jī)狀態(tài)下所花費(fèi)時(shí)間的百分比,(a)處代表最高頻率操作點(diǎn);(b)處則代表最低頻率操作點(diǎn),介于兩者之間則屬中級(jí)頻率。
圖5big.LITTLE切換模式DVFS曲線圖
除DVFS狀態(tài),作業(yè)系統(tǒng)電源管理也會(huì)使中央處理器閑置,圖中(c)處代表閑置時(shí)間,當(dāng)CPU閑置的時(shí)間夠長(zhǎng),系統(tǒng)電源控制軟體將完全關(guān)閉其中一個(gè)核心以節(jié)省耗電,圖中(d)處便代表這部分。
從圖5可清楚看出應(yīng)用程式處理器在好幾種普通工作量下,都有相當(dāng)多時(shí)間處于低頻率狀態(tài),在big.LITTLE系統(tǒng)里,系統(tǒng)單晶片(SoC)可利用耗能較低的Cortex-A7核心,執(zhí)行最高操作頻率以外的所有工作。以相同方式分析更為密集的工作量,Cortex-A7處理器對(duì)應(yīng)出低于1GHz頻率的機(jī)會(huì)仍然很大。
事實(shí)上,自2011年起,使用者層級(jí)軟體已能在big.LITTLE排程上運(yùn)轉(zhuǎn),不過(guò),那只是在處理器核心與互聯(lián)的軟體模型環(huán)境上發(fā)展。為完整評(píng)估big.LITTLE系統(tǒng)效能、功耗及調(diào)校是否合宜,還須打造一個(gè)能讓使用者軟體全速運(yùn)轉(zhuǎn)的測(cè)試晶片。
ARM測(cè)試晶片早在2012年初夏即由晶圓代工廠完成,并在短短幾周內(nèi)開始搭配參考設(shè)計(jì)板運(yùn)轉(zhuǎn),支援完整版的Linux系統(tǒng)及Android4.0作業(yè)系統(tǒng)。這個(gè)測(cè)試晶片包含一個(gè)雙核心Cortex-A15叢集、一個(gè)三核心Cortex-A7叢集,以及CCI-400快取一致匯流排架構(gòu)。會(huì)影響部分使用者評(píng)效基準(zhǔn)的繪圖處理器并不包括在內(nèi),但平臺(tái)仍可支援Linux、Android作業(yè)系統(tǒng)與效能測(cè)試軟體。
測(cè)試晶片的Cortex-A15最高頻率達(dá)1.2GHz,Cortex-A7則為1GHz。效能評(píng)析結(jié)果顯示,雖然測(cè)試晶片上的記憶體系統(tǒng)效能不如big.LITTLESoC量產(chǎn)后的預(yù)測(cè)水準(zhǔn),但Cortex-A15與Cortex-A7中央處理器的效能仍落在預(yù)期范圍內(nèi)。
用來(lái)測(cè)試big.LITTLE效能的任務(wù)量,主要基于Android4.0系統(tǒng),透過(guò)網(wǎng)頁(yè)進(jìn)行網(wǎng)路瀏覽器效能循環(huán),背景則有音效播放。在此實(shí)例中均以相當(dāng)密集的工作量搭配對(duì)性能需求不高的背景活動(dòng),網(wǎng)路瀏覽器每2秒便進(jìn)行網(wǎng)頁(yè)循環(huán),每頁(yè)卷動(dòng)達(dá)500畫素,因此對(duì)系統(tǒng)效能需求相對(duì)較高。
這組結(jié)論屬于較早期的測(cè)試結(jié)果,用來(lái)測(cè)試初版big.LITTLEMP修正程式組,將Linux排程程式從一個(gè)完整而平衡的排程模式調(diào)整成big.LITTLE模式。預(yù)期未來(lái)在更多業(yè)者投入軟體修正后,效能與能耗將更進(jìn)一步改善,而其他可調(diào)校的部分也將有相關(guān)解決方案被提出。
另外,測(cè)試晶片缺少GPU,使CPU的負(fù)載高過(guò)搭載GPU系統(tǒng)在卸載狀態(tài)下的負(fù)載水準(zhǔn),而在CPU負(fù)載較低的狀況下,可能會(huì)較常使用LITTLE核心,進(jìn)而達(dá)到節(jié)能目的。它包含一套基本的電壓及頻率操作點(diǎn),但沒(méi)有對(duì)單一處理器核心做獨(dú)立的電源開關(guān)設(shè)計(jì),因此big.LITTLE系統(tǒng)單晶片量產(chǎn)后測(cè)試結(jié)果可望提升。舉例來(lái)說(shuō),后臺(tái)任務(wù)效能便可節(jié)省超過(guò)70%能耗。
big.LITTLEMP模式下半年出爐
IC設(shè)計(jì)業(yè)者正全力投入big.LITTLE開發(fā),然而,各界最常見(jiàn)的疑問(wèn)就是應(yīng)選擇哪一種軟體模式?目前主要是在CPU切換與big.LITTLEMP之間擇一,而兩種方式各有正反意見(jiàn)。在CPU切換方面,由于big及LITTLE核心處于搭配成對(duì)的狀態(tài),因此對(duì)稱式的拓?fù)淠茼槙尺\(yùn)作;而big及LITTLE核心數(shù)量不同的非對(duì)稱式拓?fù)鋭t須額外的運(yùn)轉(zhuǎn)。
由于Cortex-A7中央處理器核心體積較小,因此可使用四個(gè)LITTLE核心加上一到兩個(gè)big核心,這種作法可能會(huì)具有吸引力。從正面角度來(lái)看,中央處理器切換讓電源及效能的調(diào)校更為容易,可重復(fù)利用既有的作業(yè)系統(tǒng)電源管理程式碼,代表實(shí)作將有多年的研發(fā)及測(cè)試結(jié)果作為支援。加上不必調(diào)整核心排程程式,范圍比執(zhí)行big.LITTLEMP模式更為簡(jiǎn)化,而軟體模式也能日趨成熟。
整體而言,CPU切換是一種極佳解決方案,2013上半年后可望進(jìn)入量產(chǎn),相關(guān)IC設(shè)計(jì)業(yè)者亦正研擬升級(jí)至big.LITTLEMP模式,以提供更多元的處理器運(yùn)算解決方案。big.LITTLEMP具有多項(xiàng)技術(shù)優(yōu)勢(shì),雖技術(shù)尚未完全成熟,但目前的測(cè)試結(jié)果已相當(dāng)不錯(cuò)。由于此模式也支援非對(duì)稱式拓?fù)?,故毋須調(diào)整軟體即可完全利用系統(tǒng)中所有核心,對(duì)提升晶片效能并降低功耗更有利。
舉例來(lái)說(shuō),big.LITTLEMP能同步利用所有核心在短時(shí)間內(nèi)達(dá)到最高效能,或?qū)ig與LITTLE核心上的DVFS設(shè)定與排程程式設(shè)定調(diào)成不同狀態(tài),以節(jié)省更多電力。不過(guò)彈性提升仍有其代價(jià),晶片商與系統(tǒng)業(yè)者均須增加調(diào)校動(dòng)作,才能從big.LITTLEMP平臺(tái)獲取完整的效能及能耗優(yōu)勢(shì)。
這與過(guò)去一直為主流,由晶片和晶圓代工廠將作業(yè)系統(tǒng)能源管理設(shè)定,以及DVFS參數(shù)資料,依裝置需求轉(zhuǎn)化為行動(dòng)系統(tǒng)單晶片平臺(tái)的作法并無(wú)太大差異。big.LITTLEMP模式將切換模式延伸并納入新的參數(shù)資料,不僅更為節(jié)能,更能為經(jīng)過(guò)效能優(yōu)化的big核心增加系統(tǒng)回應(yīng)度。
big.LITTLEMP模式正快速成熟,已有許多晶片商積極投入開發(fā),產(chǎn)品可望在2013下半年大量出爐。由于big.LITTLEMP模式并不須大幅改變硬體,因此晶圓廠可部署支援CPU切換模式的平臺(tái),進(jìn)行核心更新后,再升級(jí)到big.LITTLEMP模式,或直接建置現(xiàn)有完整的big.LITTLE平臺(tái)。
目前big.LITTLEMP相關(guān)軟體已開始運(yùn)轉(zhuǎn),并開始在晶片商研發(fā)平臺(tái)端進(jìn)行系統(tǒng)測(cè)試,ARM與合作夥伴亦正積極進(jìn)行軟體強(qiáng)化,針對(duì)各種使用實(shí)例將系統(tǒng)效能調(diào)校至最佳效果,包括排程程式的負(fù)載平衡政策、上下切換點(diǎn)以及執(zhí)行緒優(yōu)先秩序等。此外,ARM也在開放原始碼平臺(tái)每月定期推出big.LITTLEMP修正程式組,內(nèi)含測(cè)試晶片平臺(tái)、測(cè)試結(jié)果以及說(shuō)明文件的最新的調(diào)校結(jié)果。Linaro也已推出修正程式組和CPU切換軟體,并開始供應(yīng)Linaro聯(lián)盟成員。
布局下世代big.LITTLEARM加速推出新核心
隨著big.LITTLE技術(shù)演進(jìn),ARM近期更發(fā)布兩款具有big.LITTLE處理性能的新型CPU核心--Cortex-A57及Cortex-A53處理器。Cortex-A57是經(jīng)過(guò)效能優(yōu)化的big核心,每時(shí)脈周期的效能較Cortex-A15增加25%,頻率效能與能源效率也都高于Cortex-A15處理器。Cortex-A53則為L(zhǎng)ITTLE核心,每時(shí)脈周期效能增加40%,能源效率則等同于Cortex-A7。
這些新核心在架構(gòu)上都完全相同,并支援ARMv8架構(gòu),因此能導(dǎo)入進(jìn)階版的NEON技術(shù)與浮點(diǎn)功能、加密加速并支援64位元。除AMBA4ACE之外,兩種核心也都支援新世代快取一致匯流架構(gòu),且跟現(xiàn)有ARMv7架構(gòu)的CPU核心一樣,能在AArch32模式下執(zhí)行既有程式碼。支援64位元及額外一般用途暫存器的應(yīng)用方式洗煉而有效率,且能耗增加不多。
微架構(gòu)也經(jīng)過(guò)強(qiáng)化,以增加各核心在每個(gè)指令時(shí)脈周期中的傳輸量。這些新款核心在經(jīng)過(guò)軟體細(xì)部升級(jí)并支援64位元定址模式后,將會(huì)跟Cortex-A15及Cortex-A7處理器一樣支援big.LITTLE技術(shù)。
兩種核心將在2013年提供給合作晶圓廠,預(yù)計(jì)2014年開始量產(chǎn)。與此同時(shí),三星(Samsung)與瑞薩行動(dòng)(RenesasMobile)已針對(duì)Cortex-A15和Cortex-A7展示首款big.LITTLE晶片,2013年至少還有五家ARM合作夥伴計(jì)劃推出big.LITTLE實(shí)作。
未來(lái),big.LITTLE設(shè)計(jì)將為行動(dòng)裝置系統(tǒng)功耗及效能控制點(diǎn)的極度寬動(dòng)態(tài)(WideDynamicRange)帶來(lái)全新的可能性,這是單一類型處理器核心所無(wú)法達(dá)到的。目前市面上裝置的工作量往往混雜程度高低不同需求的執(zhí)行緒,這種寬動(dòng)態(tài)便可為其提供完美的執(zhí)行環(huán)境,提供一個(gè)在新世代行動(dòng)平臺(tái)下,提升裝置運(yùn)算效能并延長(zhǎng)續(xù)航力的大好機(jī)會(huì)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux相關(guān)文章:linux教程
評(píng)論