大小核(big.LITTLE)芯片設(shè)計架構(gòu)正快速崛起。在ARM全力推廣下,已有不少移動處理器開發(fā)商推出采用big.LITTLE架構(gòu)的新方案,期透過讓大小核心分別處理最適合的運(yùn)算任務(wù),達(dá)到兼顧最佳效能與節(jié)能效果的目的,以獲得更多移動裝置制造商青睞。
近年移動領(lǐng)域出現(xiàn)重大變革,智慧型手機(jī)已成為消費(fèi)者聯(lián)網(wǎng)生活的主要工具,然而,這其中涉及各種高效能運(yùn)算任務(wù)如高速網(wǎng)頁瀏覽、導(dǎo)航與游戲,以及語音通話、社群網(wǎng)路和電子郵件服務(wù)等效能需求較低的“持續(xù)運(yùn)作,永遠(yuǎn)連線”后臺任務(wù)。
與此同時,平板裝置也正重新定義運(yùn)算平臺,這些創(chuàng)新設(shè)計轉(zhuǎn)變均為消費(fèi)者打造與內(nèi)容互動的全新方式,將原本只限于網(wǎng)路共享裝置(Tethered Device)的功能導(dǎo)入移動領(lǐng)域,創(chuàng)造出真正的智慧型新世代運(yùn)算。
因應(yīng)電子裝置的快速變革,未來半導(dǎo)體向來遵循的摩爾定律(Moore‘s Law)又將如何往下發(fā)展?過去,預(yù)測芯片的效能每隔18個月就會倍增,而現(xiàn)今電晶體的數(shù)量已從數(shù)千增加到數(shù)十億個,但若仔細(xì)觀察單一處理器,就會發(fā)現(xiàn)整體的效能幾乎呈現(xiàn)停滯不前的情況,這是因為系統(tǒng)能消耗的電量已達(dá)到高峰。
克服芯片效能與功耗挑戰(zhàn)big.LITTLE設(shè)計架構(gòu)嶄露頭角
對于未來任何一種處理器,處理速度都將受限于散熱問題而無法大幅躍進(jìn)。任何裝置一旦達(dá)到熱障(Thermal Barrier)就會開始融化,如果是移動電話,便會使裝置溫度上升造成使用者不適。除物理層面的散熱問題外,能源效率也會變得相當(dāng)差,若調(diào)校處理器實作使其速度加快,則所需耗能便會倍數(shù)增長,而為增加最后這一丁點的效能,后續(xù)導(dǎo)熱設(shè)計的成本真的很高。
在過去,處理器核心面積倍增代表速度倍增,但是現(xiàn)在面積倍增,速度卻只增加幾個百分點,因此復(fù)雜度并不代表有效率,這就是單一核心系統(tǒng)有所限制的原因之一。如果無法加快單一核心速度,就必須增加獨立核心的數(shù)量,這也有助于每個核心去應(yīng)對其被分配到的任務(wù)需求,有鑒于此,ARM遂于2012年提出big.LITTLE處理器架構(gòu)(圖1)。
圖1 big.LITTLE系統(tǒng)結(jié)構(gòu)示意圖
big.LITTLE主要目的在于解決IC設(shè)計業(yè)界眼前最大挑戰(zhàn),也就是同時提升芯片效能,并延長裝置續(xù)航力,以延伸消費(fèi)者“持續(xù)運(yùn)作,永遠(yuǎn)連線”的移動體驗。該技術(shù)之所以能達(dá)成上述目標(biāo),系結(jié)合一個大(big)的高效能處理器核心與一個小(LITTLE)的低功耗處理器核心,然后根據(jù)效能需求,以無縫連接方式選擇合適的處理器。更重要的是,這種動態(tài)分配任務(wù)的動作,對于上層應(yīng)用軟體或中介軟體在處理器上的執(zhí)行絲毫沒有任何影響。
目前已應(yīng)用于市面上移動裝置的big.LITTLE設(shè)計,結(jié)合高效能Cortex-A15多處理器叢集(Cluster)與具有節(jié)能特色的Cortex-A7多處理器叢集。這些處理器在架構(gòu)上百分之百相容,且均支援40位元實體地址擴(kuò)展LPAE、虛擬化擴(kuò)充及NEON、VFP之類的運(yùn)作單元,無須另外調(diào)整即可讓針對其中一種處理器類型所編譯的軟體應(yīng)用程式,順利于另一款處理器上運(yùn)作。
因應(yīng)任務(wù)需求處理器核心無縫切換
big.LITTLE系統(tǒng)結(jié)構(gòu)就高速緩存一致性(Cache Coherency)的維護(hù)而言,無論是同一處理器叢集中的高速緩存,或是跨不同處理器叢集的高速緩存,皆保持高速緩存資料的一致性。這種跨叢集的一致性來自ARM CoreLink快取同調(diào)匯流架構(gòu)(CCI-400,也能提供ARM Mali-T604之類的繪圖處理器(GPU)系統(tǒng)等元件的I/O一致性)。
兩種叢集的中央處理器,還可透過CoreLink GIC-400之類的共用中斷控制器互傳訊號。其中,系統(tǒng)包含big.LITTLE切換和big.LITTLE MP(Multiple-Processor)兩種執(zhí)行模式,由于同一應(yīng)用程式可采用Cortex-A7或Cortex-A15而毋須調(diào)整,因此可將應(yīng)用程式的任務(wù)隨機(jī)對應(yīng)到正確的處理器上。
切換模式是讓不同處理器類型在切換時能進(jìn)行軟體內(nèi)容的擷取與回覆。以CPU切換來說,叢集中每個CPU在另一個叢集中都有對應(yīng)的CPU,而軟體內(nèi)容則以CPU為單位,隨機(jī)在不同的叢集間切換;如果叢集中沒有正在運(yùn)轉(zhuǎn)的CPU,便可關(guān)閉整個叢集及相關(guān)的L2快取。
同時,此模式也是動態(tài)電壓頻率調(diào)整(DVFS)等能源/效能管理技術(shù)的延伸。切換動作類似DVFS操作點的轉(zhuǎn)換,由于處理器上DVFS曲線的操作點,會隨負(fù)載變化不同而來回變動,當(dāng)既有的處理器(或叢集)已達(dá)到最高操作點,而軟體堆疊仍需更高效能,處理器切換動作就會發(fā)生,改由另一個處理器執(zhí)行工作,這個處理器的操作點也會隨著負(fù)載變化不同而來回變動(圖2)。當(dāng)效能需求不再,可換回之前的處理器(或叢集)。
圖2 big.LITTLE切換模式DVFS曲線圖
顯而易見,一致性是達(dá)到加速切換所需時間的關(guān)鍵所在,因為它能讓已經(jīng)儲存在離埠處理器(Outbound Processor)的狀態(tài),在入埠處理器(Inbound Processor)上窺探與回覆,而不必透過主記憶體的存取。
此外,由于離埠處理器的L2有快取一致性的功能,當(dāng)任務(wù)切換時,可以透過窺探資料值的方式,改善入埠處理器的快取暖機(jī)時間,此時L2高速緩存仍然可以維持供電狀態(tài);不過,因為離埠處理器的L2快取無法提供新資料的快取配置,最后還是必須清除并關(guān)閉電源以節(jié)省耗電(圖3)。
圖3 big.LITTLE運(yùn)算任務(wù)切換流程圖
由于LITTLE處理器叢集中,每個處理器都將對應(yīng)一個big叢集的處理器,因此CPU乃成對配置(Cortex-A15及Cortex-A7處理器上都有CPU0,Cortex-A15及Cortex-A7處理器上都有CPU1,以此類推),不論何時每個配對中只有一個處理器可運(yùn)轉(zhuǎn);而系統(tǒng)則會主動偵測各處理器負(fù)載,在高負(fù)載時將內(nèi)容執(zhí)行移到大核心(圖4)。當(dāng)負(fù)載從離埠核心移到入埠核心,便會關(guān)閉其中一個核心,這種模式讓big與LITTLE核心組合能隨時運(yùn)轉(zhuǎn)。
圖4 big.LITTLE系統(tǒng)CPU切換示意圖
[@B]big.LITTLE MP支援非對稱叢集運(yùn)作[@C]big.LITTLE MP支援非對稱叢集運(yùn)作
至于big.LITTLE MP模式則進(jìn)一步將軟體堆疊分配到兩個叢集中各個處理器,如此一來,所有CPU皆可同時運(yùn)作,將系統(tǒng)效能提升到最高點。
由于big.LITTLE系統(tǒng)可經(jīng)由CCI-400達(dá)到高速緩存的一致性,因此有另一種模式能讓Cortex-A15及Cortex-A7處理器同時運(yùn)作并同步執(zhí)行程式碼,稱為big.LITTLE MP,基本上可看作一種異質(zhì)性多工處理模型。這是big.LITTLE系統(tǒng)最先進(jìn)且最具彈性的模式,能跨越兩個叢集調(diào)整單一執(zhí)行環(huán)境。
評論
查看更多