雖然嵌入式市場中多核處理器的可用性并不是什么新鮮事,但今天的軟件工程師可以找到各種同質(zhì)設(shè)備以及復(fù)雜的異構(gòu)片上系統(tǒng) (SoC) 作為他們設(shè)計的選項。這種高水平的多核集成提供了許多好處,包括更小、更低成本、更低功耗和更高性能的最終產(chǎn)品。
在工具和框架領(lǐng)域取得了進步,一些產(chǎn)品增加了編程范式,以幫助緩解圍繞這種復(fù)雜性的開發(fā)挑戰(zhàn)。然而,如果軟件架構(gòu)師不能最大化多核處理器設(shè)備中每個計算元素的處理能力,那么高度集成的多核 SoC 所提供的價值就會被打折扣。
軟件工程師通過確定特定多核設(shè)備上的功能的標(biāo)準(zhǔn)方法來尋求完整的多核權(quán)利。雖然市場上有比較簡單的、通常是單核處理器的性能的標(biāo)準(zhǔn)基準(zhǔn),但它還沒有這些標(biāo)準(zhǔn)的基準(zhǔn)或方法來比較復(fù)雜 SoC 的多核性能(或多核權(quán)利),這使得軟件架構(gòu)師很難為他們的設(shè)計選擇最好的處理器。
基準(zhǔn)測試挑戰(zhàn)
在處理器簡單且計算性能是唯一關(guān)注點的時代,對 CPU 性能進行基準(zhǔn)測試相對容易。隨著處理器架構(gòu)的發(fā)展,基準(zhǔn)測試挑戰(zhàn)也隨之而來。根據(jù) Merriam-Webster 的說法,基準(zhǔn)的定義之一是“作為衡量或判斷他人的標(biāo)準(zhǔn)的東西”。換句話說,基準(zhǔn)測試不是絕對的,而是相對的活動。當(dāng)處理器架構(gòu)的優(yōu)勢和劣勢存在顯著差異時,其中存在根本挑戰(zhàn):知道如何規(guī)范這些差異以制定既公平又準(zhǔn)確的衡量標(biāo)準(zhǔn)。在實踐中,這個問題很少得到解決,最終用戶會留下難以以直接方式比較的措施。
迄今為止,傳統(tǒng)的基準(zhǔn)測試已經(jīng)很好地服務(wù)于嵌入式處理器市場,盡管其方式有限。這些基準(zhǔn)測試易于理解且范圍有限,可在不考慮整體系統(tǒng)復(fù)雜性的情況下測量 CPU 的整數(shù)或浮點計算能力。有時,作為此類基準(zhǔn)測試的測試工具執(zhí)行的軟件內(nèi)核是單一功能,可以通過使用內(nèi)在指令或其他專門功能輕松優(yōu)化,這會使收益難以在真正的客戶應(yīng)用程序中轉(zhuǎn)化。因此,傳統(tǒng)的基準(zhǔn)值為嵌入式處理工程師在選擇設(shè)備時提供了第一次通過的指標(biāo),并與潛在供應(yīng)商合作。
然而,當(dāng)今先進的 SoC 需要更全面的基準(zhǔn)測試來揭示真正的性能和功能以及任何隱藏的瓶頸。由于單個芯片上集成了如此多的功能,因此對現(xiàn)實生活中的用例進行建模和測量變得越來越困難。因此,業(yè)界已經(jīng)朝著針對特定應(yīng)用領(lǐng)域(例如 Java 加速、Android 性能或 Web 瀏覽性能)的基準(zhǔn)邁進。這種方法與綜合基準(zhǔn)測試不同,適用于具有明確定義的應(yīng)用程序段的處理器,并為用戶提供了對預(yù)期性能的相當(dāng)準(zhǔn)確的評估。
多核復(fù)雜性
對于部署在醫(yī)療成像、工業(yè)自動化、關(guān)鍵任務(wù)系統(tǒng)、通信基礎(chǔ)設(shè)施和高性能計算等各種應(yīng)用中的新一代嵌入式多核處理器而言,問題并不那么簡單。架構(gòu)復(fù)雜性與復(fù)雜的軟件實現(xiàn)相結(jié)合,使問題更加復(fù)雜。SoC 架構(gòu)內(nèi)所有處理元件和系統(tǒng)總線的內(nèi)部連接會影響設(shè)備的計算性能,并使其更難以測量和評估。
通過多核實現(xiàn),多個線程可以在不同的內(nèi)核上并行執(zhí)行,而不僅僅是在單個內(nèi)核上執(zhí)行多任務(wù)。并行路徑數(shù)量和調(diào)度可能性的增加使得建模應(yīng)用程序行為和測量性能變得更加困難。
此外,多核系統(tǒng)引入了另一個維度:可擴展性,或者說隨著使用越來越多的內(nèi)核,架構(gòu)的可擴展性如何。可擴展性不僅在為當(dāng)前應(yīng)用程序選擇合適的架構(gòu)方面很重要,而且在規(guī)劃未來增長或產(chǎn)品組合擴展方面也很重要。眾所周知的行業(yè)事實是,應(yīng)用程序加速不會與內(nèi)核數(shù)量成比例地線性增加,因為性能在某些時候會下降,并且在某些情況下實際上會隨著內(nèi)核數(shù)量的增加而降低。這主要是由于內(nèi)核數(shù)量增加所遇到的訪問瓶頸,以及額外的同步需求。加速還取決于軟件的分區(qū)方式以及它可以在多大程度上利用增加的并行性。
但是假設(shè)理想的軟件實現(xiàn),關(guān)于多核設(shè)備架構(gòu)仍有很多話要說(見圖 1)。高性能設(shè)備結(jié)合了多項創(chuàng)新技術(shù),可有效地在系統(tǒng)中移動數(shù)據(jù),從而使內(nèi)核保持忙碌,而不會在訪問停頓上浪費時間。高帶寬芯片級互連和專用加速器創(chuàng)建了處理引擎孤島,這些引擎以最少的核心干預(yù)工作,并且不會造成內(nèi)存瓶頸。類似地,具有內(nèi)置直接內(nèi)存訪問 (DMA) 的鏈?zhǔn)接布犃谐洚?dāng)迷你裝配線,減輕中斷的核心并安排這些處理任務(wù)。
圖 1: Texas Instruments 的 KeyStone 多核 SoC 架構(gòu)使用數(shù)據(jù)包 DMA 通信路徑在所有 SoC 處理元件和 I/O 上并行調(diào)度任務(wù),從而提供可擴展性。
構(gòu)建塊以獲得更好的基準(zhǔn)
隨著芯片供應(yīng)商采用截然不同的方法來提高多核效率,因此更需要設(shè)計可用于測量和比較可擴展性和性能的多核基準(zhǔn)。這些基準(zhǔn)測試應(yīng)該易于移植,以便它們可以在裸機或常用操作系統(tǒng)上運行。由于增加了復(fù)雜性和復(fù)雜性,因此遵循模塊化方法非常重要,這樣可以使用基本構(gòu)建塊創(chuàng)建復(fù)雜的工作負載。在最低級別,基準(zhǔn)測試應(yīng)該包含可以參數(shù)化以改變計算與內(nèi)存訪問比率的處理內(nèi)核。來自不同應(yīng)用領(lǐng)域的代表性算法可用于創(chuàng)建其中一些內(nèi)核。
內(nèi)核也應(yīng)該是可配置的,這樣它們就可以在不同級別的資源爭用下并行運行在不同的內(nèi)核上。然后可以將這些內(nèi)核的組合編織成復(fù)雜的工作負載拓撲,模擬各種特定于應(yīng)用程序的場景。隨著行業(yè)和多核應(yīng)用程序的發(fā)展,可以設(shè)計更多工作負載并將其添加到現(xiàn)有基準(zhǔn)測試的全部內(nèi)容中。這些基準(zhǔn)的輸出應(yīng)該是一個易于比較的分數(shù),它反映了在特定數(shù)量的核心上完成給定工作負載所花費的時間。
毫無疑問,多核處理器支持新功能,并極大地改善了現(xiàn)有嵌入式產(chǎn)品的性能、功耗和成本。正如本期《嵌入式計算設(shè)計》中的文章所反映的,這個市場保持著興奮和前景。令人著迷的是,雖然業(yè)界利用了部分多核基準(zhǔn)測試機制,但沒有主流的、市場接受的多核基準(zhǔn)測試策略到位,尤其是在這樣一個注重成本的經(jīng)濟時代。在做出最終選擇之前,工程師和管理人員經(jīng)常面臨在多臺設(shè)備上實施自己耗時的基準(zhǔn)測試工作的艱巨任務(wù)。
很難不問為什么在多核市場上有如此聰明和創(chuàng)新的工程師會出現(xiàn)這種情況。也許這個以多核為特色的特別版將呼吁采取行動,以建立一個可行的、市場接受的多核基準(zhǔn)測試策略,這不僅有利于使用此類設(shè)備的嵌入式工程師,也有利于多核 SoC 制造商。
作者:Debbie Greenstreet,Atul Verma
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19896瀏覽量
235313 -
soc
+關(guān)注
關(guān)注
38文章
4392瀏覽量
222816 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7152瀏覽量
125613
發(fā)布評論請先 登錄
噪聲的測量方法詳細干貨

睿擎多核 SMP 開發(fā):極簡開發(fā),超強性能——睿擎派開發(fā)板0元試用

熱成像儀為何都在瘋狂卷多核處理器?“多核大戰(zhàn)”背后的真相你知道嗎?
一款高性能Wi-Fi+BLE無線模組產(chǎn)品
RK3399處理器:高性能多核異構(gòu)計算平臺
SEGGER SystemView支持多核行為的觀察和驗證

QorIQ?T1042多核處理器
如何優(yōu)化SOC芯片性能
旋智多核心處理器助力電機控制應(yīng)用

評論