a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 如何簡化向多核的遷移的基本指導

如何簡化向多核的遷移的基本指導

作者: 時間:2013-05-08 來源:網絡 收藏

簡介

本文引用地址:http://www.j9360.com/article/148037.htm

全球對計算功率和性能日益增長的需求已經將嵌入式計算推系統發展路徑。該帶來一系列復雜的問題:我該傳統軟件,使其與多核硬件一起使用?我是否需要通過虛擬化實現更高性能?我能夠在一個對我來說可以承擔的功率范圍中獲得所需的性能?通過結合高性能硬件;強大的、用戶友好型軟件和工具;以及廣泛的開放式生態系統,飛思卡爾可以幫助您解決這些問題和更多其他問題。

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

實現多核性能等級不像向系統中添加更多內核那樣簡單。當從單核遷移至多核硬件時,出現許多與傳統軟件的遷移有關的復雜問題。總體來看,在這種遷移和多線程編程領域軟件工程師缺乏培訓。虛擬化對于最大限度發揮多核硬件投資的價值至關重要,是一種截然不同的思考操作系統和資源分區的方式。當您在解決方案中添加更多處理功率時,多核系統當然無法避免發生問題:功耗。

飛思卡爾是世界領先的嵌入式處理技術提供商,至今已向世界各地發送了3億多個通信處理器。我們的多核QorIQ通信處理器、面向片上基站無線系統的QorIQ Qonverge平臺和VortiQa軟件解決方案--在全球有眾多經驗豐富的現場支持工程師和強大、開放的合作伙伴生態系統-將我們的嵌入式處理技術帶入新網絡紀元。

簡化向多核的遷移

軟件問題

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

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

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

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

虛擬化和可視性

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

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

虛擬化和可視性

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

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

飛思卡爾的嵌入式管理程序對于虛擬化非常重要,它是嵌入式通信處理領域第一款具有最高性能的處理器。管理程序是系統級軟件,允許多個操作系統訪問常用外設和存儲器資源,并且在多個內核之間提供通信機制。 在一個多核系統中,任務不應以物理的方式映射至處理資源。


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉