新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Navigator Runtime 幫助您最大限度提高多內(nèi)核效率

Navigator Runtime 幫助您最大限度提高多內(nèi)核效率

作者: 時(shí)間:2012-05-04 來源:網(wǎng)絡(luò) 收藏

引言

本文引用地址:http://m.butianyuan.cn/article/149132.htm

處理器給編程人員帶來了新的挑戰(zhàn)。在多項(xiàng)目中,半數(shù)以上的成本來自軟件開發(fā)。多編程的具體挑戰(zhàn)是非對(duì)稱多內(nèi)核處理器 (AMP),因?yàn)槠渲邢嗤钠骷旭v留著 RISC 與 DSP 內(nèi)核等不同類型的處理單元。這主要是因?yàn)椴僮飨到y(tǒng) (OS) 對(duì)資源管理與負(fù)載均衡的支持非常薄弱甚至根本沒有,導(dǎo)致可擴(kuò)展性差與資源利用率低。德州儀器 (TI) 創(chuàng)新型 KeyStone II 多內(nèi)核架構(gòu)提供專用硬件實(shí)現(xiàn)調(diào)度與負(fù)載均衡功能,可簡(jiǎn)化多內(nèi)核可編程性。KeyStone II通過這些措施實(shí)現(xiàn)了多內(nèi)核編程的性能突破。

AMP 編程挑戰(zhàn)

隨著多內(nèi)核技術(shù)的演進(jìn),越來越多的 SoC 提供對(duì)稱多內(nèi)核架構(gòu)實(shí)現(xiàn)低成本以及更高的性能。典型的 AMP 具有運(yùn)行在不同操作系統(tǒng)上的異構(gòu)內(nèi)核、硬件加速器以及非所有內(nèi)核共享的分布式存儲(chǔ)器。在對(duì)稱多內(nèi)核處理器 (SMP) 應(yīng)用中,內(nèi)核完全相同并運(yùn)行支持相同共享存儲(chǔ)器架構(gòu)的相同操作系統(tǒng),因此使用操作系統(tǒng)帶來的內(nèi)核間通信、調(diào)度以及負(fù)載均衡功能相對(duì)而言更為直接。AMP 器件的編程需要更高的并行編程技能,才能通過控制和協(xié)調(diào)不同的內(nèi)核及操作系統(tǒng)實(shí)現(xiàn)可滿足單內(nèi)核或 SMP 編程需求的高穩(wěn)定性及高性能。

傳統(tǒng)非對(duì)稱多內(nèi)核處理要求在編譯時(shí)對(duì)多內(nèi)核資源進(jìn)行靜態(tài)分區(qū)。這樣做難度往往較大,因?yàn)檫\(yùn)行時(shí)的軟件加載不能提前判別,尤其是 4G LTE、LTE Advanced 以及云計(jì)算等尖端技術(shù)。一般解決辦法是預(yù)留額外的空間,以確保系統(tǒng)在最惡劣應(yīng)用條件下也能正確運(yùn)行。資源過度分配的不利影響是資源利用不足,最終會(huì)導(dǎo)致產(chǎn)品成本上升。另一方面,首次使用時(shí)或者引入新功能、需要現(xiàn)場(chǎng)強(qiáng)化或需求改更時(shí),手動(dòng)重新分區(qū)及軟件優(yōu)化會(huì)帶來大量的軟件工作。

同步性及處理器間通信 (IPC) 的在多內(nèi)核編程過程中至關(guān)重要。缺乏對(duì)各種同步性與 IPC 機(jī)制的適當(dāng)硬件支持,會(huì)因過多的軟件開銷而導(dǎo)致多內(nèi)核利用低下,降低系統(tǒng)性能。

這對(duì) AMP 多內(nèi)核系統(tǒng)而言尤為如此,因?yàn)殡y以實(shí)現(xiàn)軟件可擴(kuò)展性與靈活性。

多內(nèi)核導(dǎo)航器助力實(shí)現(xiàn)創(chuàng)新

多內(nèi)核導(dǎo)航器是一種基于數(shù)據(jù)包的創(chuàng)新基礎(chǔ)設(shè)施,支持?jǐn)?shù)據(jù)傳輸與多內(nèi)核控制。TI 異構(gòu) KeyStone 架構(gòu)完美整合了 DSP Core-Pac、ARM® CorePac、硬件 AccelerationPac 以及 I/O 外設(shè)。它們不但可通過 TeraNet 進(jìn)行物理互連,而且可通過多內(nèi)核導(dǎo)航器進(jìn)行邏輯互連。在 TI KeyStone II 架構(gòu)中,多內(nèi)核

導(dǎo)航器不但包含可容納 1.6 萬個(gè)硬件隊(duì)列的隊(duì)列管理器,通常存放指向各種數(shù)據(jù)包(由描述符及數(shù)據(jù)有效負(fù)載組成)的指針,而且還包含 8 個(gè) 3,200 MIPS uRISC、用于傳輸數(shù)據(jù)的數(shù)據(jù)包 DMA 以及支持 100 萬個(gè)描述符的硬件數(shù)據(jù)結(jié)構(gòu)。此外,還可在 AccelerationPac 與 I/O 子系統(tǒng)中構(gòu)建數(shù)據(jù)包 DMA,這樣多內(nèi)核導(dǎo)航器無需內(nèi)核干預(yù),便可將數(shù)據(jù)從任何單元傳輸至任何端點(diǎn)。

多內(nèi)核導(dǎo)航器為 CorePac、AccelerationPac 以及 I/O 提供統(tǒng)一接口,可將硬件隊(duì)列用于圖 1 所示的不同系統(tǒng)端點(diǎn)。這可為所有 IP 塊提供支持通用通信方式的 AMP 系統(tǒng)。多內(nèi)核導(dǎo)航器可充分利用內(nèi)建在隊(duì)列管理器中的 uRISC 內(nèi)核來管理流量路由、IPC、資源管理、調(diào)度以及負(fù)載均衡,從而可優(yōu)化和加速數(shù)據(jù)流。各種任務(wù)可由隊(duì)列管理器按需派送和分配給負(fù)載最輕的內(nèi)核或 IP 子系統(tǒng)。

1.jpg

圖 1:多內(nèi)核導(dǎo)航器子系統(tǒng)


上一頁 1 2 3 4 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉