《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 如何簡化向多核的遷移的基本指導(dǎo)
如何簡化向多核的遷移的基本指導(dǎo)
摘要: 全球?qū)τ嬎愎β屎托阅苋找嬖鲩L的需求已經(jīng)將嵌入式計算推向多核系統(tǒng)發(fā)展路徑,。該遷移帶來一系列復(fù)雜的問題:我該如何遷移傳統(tǒng)軟件,使其與多核硬件一起使用,?我是否需要通過虛擬化實(shí)現(xiàn)更高性能,?我如何能夠在一個對我來說可以承擔(dān)的功率范圍中獲得所需的性能?通過結(jié)合高性能硬件,;強(qiáng)大的,、用戶友好型軟件和工具;以及廣泛的開放式生態(tài)系統(tǒng),,飛思卡爾可以幫助您解決這些問題和更多其他問題,。
Abstract:
Key words :

 

 全球?qū)τ嬎愎β屎托阅苋找嬖鲩L的需求已經(jīng)將嵌入式計算推向多核系統(tǒng)發(fā)展路徑。該遷移帶來一系列復(fù)雜的問題:我該如何遷移傳統(tǒng)軟件,,使其與多核硬件一起使用,?我是否需要通過虛擬化實(shí)現(xiàn)更高性能?我如何能夠在一個對我來說可以承擔(dān)的功率范圍中獲得所需的性能,?通過結(jié)合高性能硬件,;強(qiáng)大的、用戶友好型軟件和工具,;以及廣泛的開放式生態(tài)系統(tǒng),,飛思卡爾可以幫助您解決這些問題和更多其他問題。

 

      雖然向多核的遷移開始于網(wǎng)絡(luò)和無線基礎(chǔ)設(shè)施等高端應(yīng)用,,多核也開始用于過去應(yīng)用較少的領(lǐng)域,,例如汽車、工業(yè)控制應(yīng)用的安全關(guān)鍵領(lǐng)域,、以及打印機(jī)和影像應(yīng)用—可以使用更高速度和功率的任意應(yīng)用,。向全球網(wǎng)絡(luò)連接性的遷移給網(wǎng)絡(luò)帶來巨大壓力,并增加了對更高處理功率的需求,。如果沒有呈幾何級增長的功率,,單線程性能無法繼續(xù)提高,,這種方法會影響系統(tǒng)成本和可靠性。為了將功率保持在可以管理的等級,,應(yīng)用必須遷移至多核,,而不是不斷增加頻率。

 

        實(shí)現(xiàn)多核性能等級不像向系統(tǒng)中添加更多內(nèi)核那樣簡單,。當(dāng)從單核遷移至多核硬件時,,出現(xiàn)許多與傳統(tǒng)軟件的遷移有關(guān)的復(fù)雜問題??傮w來看,,在這種遷移和多線程編程領(lǐng)域軟件工程師缺乏培訓(xùn)。虛擬化對于最大限度發(fā)揮多核硬件投資的價值至關(guān)重要,,是一種截然不同的思考操作系統(tǒng)和資源分區(qū)的方式,。當(dāng)您在解決方案中添加更多處理功率時,多核系統(tǒng)當(dāng)然無法避免發(fā)生問題:功耗,。

 

      飛思卡爾是世界領(lǐng)先的嵌入式處理技術(shù)提供商,,至今已向世界各地發(fā)送了3億多個通信處理器。我們的多核QorIQ通信處理器,、面向片上基站無線系統(tǒng)的QorIQ Qonverge平臺和VortiQa軟件解決方案——在全球有眾多經(jīng)驗(yàn)豐富的現(xiàn)場支持工程師和強(qiáng)大,、開放的合作伙伴生態(tài)系統(tǒng)—將我們的嵌入式處理技術(shù)帶入新網(wǎng)絡(luò)紀(jì)元。

 

 

 

 

        軟件問題

 

       向多核遷移路徑中兩個巨大的障礙都涉及軟件,。 第一個問題是其中的一項(xiàng)遷移,。 用于單處理器順序執(zhí)行程序的數(shù)百萬行傳統(tǒng)代碼必須遷移以便保護(hù)投資。 在映射和遷移變得更加簡單和更加高效之前,,從單核遷移至多核系統(tǒng)在某種程度上將非常困難,。 第二個問題是缺乏關(guān)于多核系統(tǒng)編程的基本知識。 從硬件來看,,安裝多個內(nèi)核非常簡單,,但是與以前的單核編程相比,多核編程需要不同的思路和不同的培訓(xùn),。

 

       飛思卡爾在培訓(xùn)和工具上進(jìn)行了大量投資,,使向多核遷移變得更加簡單。QorIQ多核軟件開發(fā)套件(SDK)和CodeWarrior開發(fā)工具等開發(fā)工具有助于移植流程,。飛思卡爾和我們的合作伙伴還提供用于仿真和建模分析的工具,,包括處理器分區(qū)的“假設(shè)”分析。 開發(fā)人員的培訓(xùn)始終是需要關(guān)注的重點(diǎn),。提供了在多核處理器上重新映射序列應(yīng)用的流程的真實(shí)案例,,飛思卡爾還根據(jù)這些研究為開發(fā)人員開發(fā)了應(yīng)用說明、演示文檔和文章,。

 

       飛思卡爾預(yù)計約有60%至70%的多核研發(fā)預(yù)算都用在軟件而不是硬件上,。飛思卡爾始終關(guān)注這一點(diǎn),,使多核產(chǎn)品對軟件的適應(yīng)性非常強(qiáng)。 飛思卡爾在QorIQ平臺架構(gòu)中設(shè)計了許多功能,,提高了軟件工程師在遷移舊代碼和編寫新代碼方面的工作效率,。之前已經(jīng)提到,軟件研發(fā)時間占到60%至70%,,根據(jù)預(yù)計有超過50%的時間用在調(diào)試軟件和優(yōu)化性能,。飛思卡爾的產(chǎn)品幫助縮短這一時間,并使軟件工程師更加高效,。

 

      例如,,飛思卡爾的用戶空間數(shù)據(jù)路徑加速架構(gòu)(USDPAA)軟件比傳統(tǒng)的通過內(nèi)核訪問驅(qū)動器的方式在性能上有很大的提高。該軟件包含通過多個CPU內(nèi)核支持簡化共享網(wǎng)絡(luò)接口和加速器的硬件組件,。隊(duì)列管理器和緩沖器管理器組件提供了基礎(chǔ)架構(gòu),,用于與內(nèi)核、硬件加速器和接口之間往復(fù)傳遞數(shù)據(jù)包,。軟件通過稱為門戶的硬件組件訪問數(shù)據(jù)路徑加速架構(gòu),。USDPAA是一款使Linux用戶空間應(yīng)用能夠通過高性能的方式直接訪問門戶的軟件框架。USDPAA幫助傳統(tǒng)Pthread/用戶空間應(yīng)用的開發(fā)和移植變得非常簡單,。

 

      虛擬化和可視性

 

      多核開發(fā)與單核開發(fā)不同的另一個方面是如何集成軟件和硬件。第一代多核處理器具有相同內(nèi)核的多個實(shí)例,。從另一方面來說,,飛思卡爾QorIQ Qonverge平臺在一個芯片上混合了處理元件:Power Architecture內(nèi)核、StarCore DSP和多個加速引擎,。未來的產(chǎn)品將在一個芯片上提供更多內(nèi)核,,并且在一個芯片上混合不同的內(nèi)核類型。最大的區(qū)別是所有內(nèi)核都將被虛擬化,。在一個虛擬化的系統(tǒng)中,,應(yīng)用的每個任務(wù)都需要映射至相應(yīng)的處理模塊。目前,,該流程需要很多人力來完成,。必須提供以更緊密的方式集成的分區(qū)工具、映射工具和分解工具,,使軟件工程師能夠快速可視化分區(qū),,根據(jù)性能、功率,、存儲器等執(zhí)行“假如”分析,,然后選擇目標(biāo)實(shí)施并執(zhí)行。

 

       下一個步驟是調(diào)試應(yīng)用,。該步驟的關(guān)鍵是能夠觀察這些復(fù)雜芯片的所有等級,。大多數(shù)芯片在處理器內(nèi)核等級都將具有可視性,,但是您最終需要完整的內(nèi)部可視性,包括I/O,、存儲器控制器和加速引擎,。當(dāng)您具有可視性以后,您還需要可控制性,。

 

 

 

 

        您是否能夠以非常精細(xì)的方式控制這些具有許多內(nèi)核和不同內(nèi)核類型的高度復(fù)雜的芯片,? 您是否能夠控制數(shù)據(jù)的移動方式?為了找到答案,,您可以針對數(shù)據(jù)如何移動執(zhí)行快速的“假如”分析,。這使您可以獲得系統(tǒng)可視性。然后,,您擁有了一個“旋鈕”,,您可以從來自“假如”分析的目標(biāo)方案中獲得更高性能。這涉及軟件和硬件,。 芯片中如果沒有正確的調(diào)試hook,,它將不具有可視性。如果調(diào)試hook存在,,但是API未將其暴露給工具和調(diào)試器,,將沒有可視性。如果沒有芯片hook也將沒有可控制性,,并且hook應(yīng)與工具套件集成,。

 

 飛思卡爾QorIQ多核SDK和CodeWarrior開發(fā)工具嵌入了廣泛的可視性,可接入至我們的處理器中,,因此開發(fā)人員可以完全利用內(nèi)核和資源,,并調(diào)試復(fù)雜的片上交互。

 

      飛思卡爾的嵌入式管理程序?qū)τ谔摂M化非常重要,,它是嵌入式通信處理領(lǐng)域第一款具有最高性能的處理器,。管理程序是系統(tǒng)級軟件,允許多個操作系統(tǒng)訪問常用外設(shè)和存儲器資源,,并且在多個內(nèi)核之間提供通信機(jī)制,。 在一個多核系統(tǒng)中,任務(wù)不應(yīng)以物理的方式映射至處理資源,。

 

     如果資源進(jìn)行虛擬化,,那么任何任務(wù)都可以訪問任何虛擬資源,以便使工作完成,。這使計算資源能夠靈活,、有彈性并且不會硬性綁定至任何任務(wù)。例如,,作為嵌入式應(yīng)用中的虛擬化選擇,,在基于飛思卡爾Power Architecture的多核SoC中支持基于Linux內(nèi)核的虛擬機(jī)(KVM),。這是一個非常復(fù)雜的領(lǐng)域,飛思卡爾投入了巨大的資金,,以便為客戶提供多核系統(tǒng)最重要的優(yōu)勢之一:靈活的資源使用,。

 

      面向多核設(shè)計的硬件

 

     由于系統(tǒng)有了更多的多核處理器和處理能力,因此需要將不同應(yīng)用上的硬件充分利用起來,,這些應(yīng)用在整個系統(tǒng)解決方案內(nèi)可能并行運(yùn)行,,執(zhí)行不同的任務(wù)。在多核系統(tǒng)中,,許多不同的應(yīng)用都需要訪問外設(shè)和SoC,。例如,您可以在SoC接入多個內(nèi)核,,但是無法始終在系統(tǒng)中增加相應(yīng)的I/O,,因?yàn)槭艿叫酒幸_數(shù)量的限制。為了將八個內(nèi)核集成至SoC,,并且能夠使兩個以太網(wǎng)端口對于不同內(nèi)核以多個以太網(wǎng)端口的形式出現(xiàn),,您必須添加針對不同應(yīng)用隔離SoC的不同部分的虛擬化技術(shù)。軟件芯片在該單一SoC上運(yùn)行,,同時感知底層硬件具有為其提供的數(shù)量顯著較大的資源,。

 

     飛思卡爾的優(yōu)勢之一在于我們?nèi)绾卧赟oC中采用該虛擬化并提高性能。當(dāng)飛思卡爾開始開發(fā)多核SoC時,,我們需要基于不同的應(yīng)用類型以許多不同的方式為其提供安全,、可靠的分區(qū)方式?;诂F(xiàn)有SoC基礎(chǔ)設(shè)施開發(fā)多核SoC的一個常見方式是使用共享總線。但是,,該方法限制帶寬和延遲,。飛思卡爾從一開始就解決了這些架構(gòu)挑戰(zhàn)。 利用具有規(guī)模合適的互聯(lián),,因?yàn)镾oC本身是一個小型網(wǎng)絡(luò),,各個SoC組件之間不會爭用資源。從一開始起,,針對在我們客戶的系統(tǒng)中指配多核器件的最佳方式,,飛思卡爾已經(jīng)制定了多個架構(gòu)和應(yīng)用級決策。

 

 節(jié)省能源

 

        在關(guān)注多核能源管理方面,,飛思卡爾具有多年的歷史,。符合美國的EnergyStar、日本的Top Runner和EU Code of Conduct等協(xié)議使我們的客戶能夠隨時間推移節(jié)省能源,。我們的PowerQUICC 8315,、8536處理器和QorIQ P1022處理器具有數(shù)據(jù)包無損以太網(wǎng)等功能,,可以使設(shè)備進(jìn)入深度睡眠模式。該模式關(guān)閉內(nèi)核和緩存,,并從SoC中去掉電源,。SoC的各個部分是有效的,并且能夠處理一些關(guān)鍵事件,,可以在合適的時間,、合適的條件下喚醒設(shè)備。當(dāng)有效負(fù)載被處理后,,它將進(jìn)入深度睡眠模式,。QorIQ P1022處理器用于打印機(jī)等EnergyStar設(shè)備,并滿足多種能源要求,,例如在深層睡眠模式中只有200–300毫瓦的損耗,。

 

      飛思卡爾另一個領(lǐng)先的節(jié)電技術(shù)稱為級聯(lián)電源管理。在非峰值活動期間,,該技術(shù)將任務(wù)轉(zhuǎn)向較少數(shù)量的內(nèi)核,,以便空閑內(nèi)核可以進(jìn)入最小功率或“昏睡”狀態(tài)。當(dāng)數(shù)據(jù)包流量再次增加時,,該技術(shù)允許返回至全負(fù)載條件,。級聯(lián)電源管理不像節(jié)電技術(shù)那樣簡單,它也是一個以更高效的方式分發(fā)數(shù)據(jù)包處理的工作負(fù)載管理技術(shù),。

 

 

 

 

 

      成功的多核合作伙伴

 

       知識非常豐富的全球現(xiàn)場工作人員是多核遷移成功的關(guān)鍵組件,。在多核處理器出現(xiàn)之前,飛思卡爾也幫助我們的客戶通過高性能嵌入式處理器將產(chǎn)品推向全球市場,,飛思卡爾在嵌入式處理領(lǐng)域擁有世界最大的現(xiàn)場工程師團(tuán)隊(duì)之一,。多核應(yīng)用的軟件非常復(fù)雜。經(jīng)驗(yàn)豐富的合作伙伴可以幫助您設(shè)計,、調(diào)試和優(yōu)化,。

 

      通過我們的Freescale Connect Partner計劃,飛思卡爾繼續(xù)與嵌入式行業(yè)中的領(lǐng)先軟件和工具公司密切合作,,以幫助確保全面的解決方案能充分利用QorIQ架構(gòu)的優(yōu)勢,。飛思卡爾擁有一個開放、廣泛的生態(tài)系統(tǒng),,以便簡化向多核架構(gòu)的遷移,。我們的首選合作伙伴包括Enea、Green Hills,、Mentor Graphics和QNX,,提供在QorIQ平臺上實(shí)現(xiàn)最高性能的優(yōu)化集成解決方案。廣泛的合作伙伴組合包括6Wind、Critical Blue和Wind River,,幫助加快向多核的遷移,,并縮短上市時間。

 

      行業(yè)正在遇到一個轉(zhuǎn)折點(diǎn),,那就是通過添加更多內(nèi)核來解決性能問題將不再能夠提供所需的性能改進(jìn),。市場正在從簡單直接的方法向更加精密的功率管理和軟件技術(shù)轉(zhuǎn)變。

 

      多核的下一步發(fā)展趨勢是什么,?

 

       多核市場的未來將由對于速度更快的硬件的需求推動,,以便處理更多工作負(fù)載,并解決現(xiàn)有網(wǎng)絡(luò)存在的成本壓力問題,。服務(wù)提供商和OEM必須通過具有更高性能的系統(tǒng)做出響應(yīng),,以便保持網(wǎng)絡(luò)中的流量質(zhì)量。在I/O性能方面將出現(xiàn)逐步增加,,通過這種方式可以確定處理I/O類型和為處理不斷增加的工作負(fù)載可以在SoC中使用的內(nèi)核和存儲器緩存數(shù)量,。

 

       雖然硬件是市場的引擎,軟件將決定其過程,。通常,,開發(fā)工具落后于技術(shù)變革。但是,,在多核領(lǐng)域,,進(jìn)程應(yīng)該以其他方式出現(xiàn)。市場將見證廠商投入更多努力幫助開發(fā)人員創(chuàng)建并優(yōu)化多核應(yīng)用,。軟件將提高總體系統(tǒng)性能,,因此有許多工具可以為優(yōu)化應(yīng)用提供支持。通過這些系統(tǒng)將可以交付更多的多核軟件內(nèi)容—不僅是設(shè)備的支持驅(qū)動,,還包括更多的中間件和虛擬化軟件,,以及利用它們的其他參考應(yīng)用。將提供更多面向多核的優(yōu)化操作系統(tǒng),,以幫助對這些設(shè)備進(jìn)行排程,。

 

       總結(jié)

 

      多核解決方案可以使互聯(lián)社區(qū)獲得更好的生活質(zhì)量。無論是用于全球網(wǎng)絡(luò),、移動無線基礎(chǔ)設(shè)施、智能電網(wǎng),、自動化工廠,、智能醫(yī)院、航空航天和國防,,我們的高級多核硬件,、支持軟件和飛思卡爾全球技術(shù)團(tuán)隊(duì)都可以幫助簡化您向多核的遷移。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。