虛擬化和可視性
多核開(kāi)發(fā)與單核開(kāi)發(fā)不同的另一個(gè)方面是如何集成軟件和硬件。第一代多核處理器具有相同內(nèi)核的多個(gè)實(shí)例。從另一方面來(lái)說(shuō),飛思卡爾QorIQ Qonverge平臺(tái)在一個(gè)芯片上混合了處理元件: Power Architecture?內(nèi)核、StarCore DSP和多個(gè)加速引擎。未來(lái)的產(chǎn)品將在一個(gè)芯片上提供更多內(nèi)核,并且在一個(gè)芯片上混合不同的內(nèi)核類型。最大的區(qū)別是所有內(nèi)核都將被虛擬化。在一個(gè)虛擬化的系統(tǒng)中,應(yīng)用的每個(gè)任務(wù)都需要映射至相應(yīng)的處理模塊。目前,該流程需要很多人力來(lái)完成。必須提供以更緊密的方式集成的分區(qū)工具、映射工具和分解工具,使軟件工程師能夠快速可視化分區(qū),根據(jù)性能、功率、存儲(chǔ)器等執(zhí)行“假如”分析,然后選擇目標(biāo)實(shí)施并執(zhí)行。
下一個(gè)步驟是調(diào)試應(yīng)用。該步驟的關(guān)鍵是能夠觀察這些復(fù)雜芯片的所有等級(jí)。大多數(shù)芯片在處理器內(nèi)核等級(jí)都將具有可視性,但是您最終需要完整的內(nèi)部可視性,包括I/O、存儲(chǔ)器控制器和加速引擎。當(dāng)您具有可視性以后,您還需要可控制性。
您是否能夠以非常精細(xì)的方式控制這些具有許多內(nèi)核和不同內(nèi)核類型的高度復(fù)雜的芯片? 您是否能夠控制數(shù)據(jù)的移動(dòng)方式?為了找到答案,您可以針對(duì)數(shù)據(jù)如何移動(dòng)執(zhí)行快速的“假如”分析。這使您可以獲得系統(tǒng)可視性。然后,您擁有了一個(gè)“旋鈕”,您可以從來(lái)自“假如”分析的目標(biāo)方案中獲得更高性能。這涉及軟件和硬件。 芯片中如果沒(méi)有正確的調(diào)試hook,它將不具有可視性。如果調(diào)試hook存在,但是API未將其暴露給工具和調(diào)試器,將沒(méi)有可視性。如果沒(méi)有芯片hook也將沒(méi)有可控制性,并且hook應(yīng)與工具套件集成。
飛思卡爾QorIQ多核SDK和CodeWarrior開(kāi)發(fā)工具嵌入了廣泛的可視性,可接入至我們的處理器中,因此開(kāi)發(fā)人員可以完全利用內(nèi)核和資源,并調(diào)試復(fù)雜的片上交互。
飛思卡爾的嵌入式管理程序?qū)τ谔摂M化非常重要,它是嵌入式通信處理領(lǐng)域第一款具有最高性能的處理器。管理程序是系統(tǒng)級(jí)軟件,允許多個(gè)操作系統(tǒng)訪問(wèn)常用外設(shè)和存儲(chǔ)器資源,并且在多個(gè)內(nèi)核之間提供通信機(jī)制。 在一個(gè)多核系統(tǒng)中,任務(wù)不應(yīng)以物理的方式映射至處理資源。
如果資源進(jìn)行虛擬化,那么任何任務(wù)都可以訪問(wèn)任何虛擬資源,以便使工作完成。這使計(jì)算資源能夠靈活、有彈性并且不會(huì)硬性綁定至任何任務(wù)。例如,作為嵌入式應(yīng)用中的虛擬化選擇,在基于飛思卡爾Power Architecture的多核SoC中支持基于Linux內(nèi)核的虛擬機(jī)(KVM)。這是一個(gè)非常復(fù)雜的領(lǐng)域,飛思卡爾投入了巨大的資金,以便為客戶提供多核系統(tǒng)最重要的優(yōu)勢(shì)之一: 靈活的資源使用。
面向多核設(shè)計(jì)的硬件
由于系統(tǒng)有了更多的多核處理器和處理能力,因此需要將不同應(yīng)用上的硬件充分利用起來(lái),這些應(yīng)用在整個(gè)系統(tǒng)解決方案內(nèi)可能并行運(yùn)行,執(zhí)行不同的任務(wù)。在多核系統(tǒng)中,許多不同的應(yīng)用都需要訪問(wèn)外設(shè)和SoC。例如,您可以在SoC接入多個(gè)內(nèi)核,但是無(wú)法始終在系統(tǒng)中增加相應(yīng)的I/O,因?yàn)槭艿叫酒幸_數(shù)量的限制。為了將八個(gè)內(nèi)核集成至SoC,并且能夠使兩個(gè)以太網(wǎng)端口對(duì)于不同內(nèi)核以多個(gè)以太網(wǎng)端口的形式出現(xiàn),您必須添加針對(duì)不同應(yīng)用隔離SoC的不同部分的虛擬化技術(shù)。軟件芯片在該單一SoC上運(yùn)行,同時(shí)感知底層硬件具有為其提供的數(shù)量顯著較大的資源。
飛思卡爾的優(yōu)勢(shì)之一在于我們?nèi)绾卧赟oC中采用該虛擬化并提高性能。當(dāng)飛思卡爾開(kāi)始開(kāi)發(fā)多核SoC時(shí),我們需要基于不同的應(yīng)用類型以許多不同的方式為其提供安全、可靠的分區(qū)方式?;诂F(xiàn)有SoC基礎(chǔ)設(shè)施開(kāi)發(fā)多核SoC的一個(gè)常見(jiàn)方式是使用共享總線。但是,該方法限制帶寬和延遲。飛思卡爾從一開(kāi)始就解決了這些架構(gòu)挑戰(zhàn)。 利用具有規(guī)模合適的互聯(lián),因?yàn)镾oC本身是一個(gè)小型網(wǎng)絡(luò),各個(gè)SoC組件之間不會(huì)爭(zhēng)用資源。從一開(kāi)始起,針對(duì)在我們客戶的系統(tǒng)中指配多核器件的最佳方式,飛思卡爾已經(jīng)制定了多個(gè)架構(gòu)和應(yīng)用級(jí)決策。
節(jié)省能源
在關(guān)注多核能源管理方面,飛思卡爾具有多年的歷史。符合美國(guó)的EnergyStar、日本的Top Runner和EU Code of Conduct等協(xié)議使我們的客戶能夠隨時(shí)間推移節(jié)省能源。我們的PowerQUICC 8315、8536處理器和QorIQ P1022處理器具有數(shù)據(jù)包無(wú)損以太網(wǎng)等功能,可以使設(shè)備進(jìn)入深度睡眠模式。該模式關(guān)閉內(nèi)核和緩存,并從SoC中去掉電源。SoC的各個(gè)部分是有效的,并且能夠處理一些關(guān)鍵事件,可以在合適的時(shí)間、合適的條件下喚醒設(shè)備。當(dāng)有效負(fù)載被處理后,它將進(jìn)入深度睡眠模式。QorIQ P1022處理器用于打印機(jī)等EnergyStar設(shè)備,并滿足多種能源要求,例如在深層睡眠模式中只有200–300毫瓦的損耗。
飛思卡爾另一個(gè)領(lǐng)先的節(jié)電技術(shù)稱為級(jí)聯(lián)電源管理。在非峰值活動(dòng)期間,該技術(shù)將任務(wù)轉(zhuǎn)向較少數(shù)量的內(nèi)核,以便空閑內(nèi)核可以進(jìn)入最小功率或“昏睡”狀態(tài)。當(dāng)數(shù)據(jù)包流量再次增加時(shí),該技術(shù)允許返回至全負(fù)載條件。級(jí)聯(lián)電源管理不像節(jié)電技術(shù)那樣簡(jiǎn)單,它也是一個(gè)以更高效的方式分發(fā)數(shù)據(jù)包處理的工作負(fù)載管理技術(shù)。
成功的多核合作伙伴
知識(shí)非常豐富的全球現(xiàn)場(chǎng)工作人員是多核遷移成功的關(guān)鍵組件。在多核處理器出現(xiàn)之前,飛思卡爾也幫助我們的客戶通過(guò)高性能嵌入式處理器將產(chǎn)品推向全球市場(chǎng),飛思卡爾在嵌入式處理領(lǐng)域擁有世界最大的現(xiàn)場(chǎng)工程師團(tuán)隊(duì)之一。多核應(yīng)用的軟件非常復(fù)雜。經(jīng)驗(yàn)豐富的合作伙伴可以幫助您設(shè)計(jì)、調(diào)試和優(yōu)化。
通過(guò)我們的Freescale Connect Partner計(jì)劃,飛思卡爾繼續(xù)與嵌入式行業(yè)中的領(lǐng)先軟件和工具公司密切合作,以幫助確保全面的解決方案能充分利用 QorIQ架構(gòu)的優(yōu)勢(shì)。飛思卡爾擁有一個(gè)開(kāi)放、廣泛的生態(tài)系統(tǒng),以便簡(jiǎn)化向多核架構(gòu)的遷移。我們的首選合作伙伴包括Enea、Green Hills、Mentor Graphics和QNX,提供在QorIQ平臺(tái)上實(shí)現(xiàn)最高性能的優(yōu)化集成解決方案。廣泛的合作伙伴組合包括6Wind、Critical Blue和Wind River,幫助加快向多核的遷移,并縮短上市時(shí)間。
行業(yè)正在遇到一個(gè)轉(zhuǎn)折點(diǎn),那就是通過(guò)添加更多內(nèi)核來(lái)解決性能問(wèn)題將不再能夠提供所需的性能改進(jìn)。市場(chǎng)正在從簡(jiǎn)單直接的方法向更加精密的功率管理和軟件技術(shù)轉(zhuǎn)變。
多核的下一步發(fā)展趨勢(shì)是什么?
多核市場(chǎng)的未來(lái)將由對(duì)于速度更快的硬件的需求推動(dòng),以便處理更多工作負(fù)載,并解決現(xiàn)有網(wǎng)絡(luò)存在的成本壓力問(wèn)題。服務(wù)提供商和OEM必須通過(guò)具有更高性能的系統(tǒng)做出響應(yīng),以便保持網(wǎng)絡(luò)中的流量質(zhì)量。在I/O性能方面將出現(xiàn)逐步增加,通過(guò)這種方式可以確定處理I/O類型和為處理不斷增加的工作負(fù)載可以在SoC中使用的內(nèi)核和存儲(chǔ)器緩存數(shù)量。
雖然硬件是市場(chǎng)的引擎,軟件將決定其過(guò)程。通常,開(kāi)發(fā)工具落后于技術(shù)變革。但是,在多核領(lǐng)域,進(jìn)程應(yīng)該以其他方式出現(xiàn)。市場(chǎng)將見(jiàn)證廠商投入更多努力幫助開(kāi)發(fā)人員創(chuàng)建并優(yōu)化多核應(yīng)用。軟件將提高總體系統(tǒng)性能,因此有許多工具可以為優(yōu)化應(yīng)用提供支持。通過(guò)這些系統(tǒng)將可以交付更多的多核軟件內(nèi)容—不僅是設(shè)備的支持驅(qū)動(dòng),還包括更多的中間件和虛擬化軟件,以及利用它們的其他參考應(yīng)用。將提供更多面向多核的優(yōu)化操作系統(tǒng),以幫助對(duì)這些設(shè)備進(jìn)行排程。
總結(jié)
多核解決方案可以使互聯(lián)社區(qū)獲得更好的生活質(zhì)量。無(wú)論是用于全球網(wǎng)絡(luò)、移動(dòng)無(wú)線基礎(chǔ)設(shè)施、智能電網(wǎng)、自動(dòng)化工廠、智能醫(yī)院、航空航天和國(guó)防,我們的高級(jí)多核硬件、支持軟件和飛思卡爾全球技術(shù)團(tuán)隊(duì)都可以幫助簡(jiǎn)化您向多核的遷移。
——本文選自電子發(fā)燒友網(wǎng)12月《處理器與DSP特刊》“透視新設(shè)計(jì)欄目”,轉(zhuǎn)載請(qǐng)注明出處,違者必究!
評(píng)論
查看更多