資料介紹
目前,嵌入式多核處理器已經在嵌入式設備領域得到廣泛運用,但嵌人式系統軟件開發技術還停留在傳統單核模式,并沒有充分發揮多核處理器的性能。程序并行化優化目前在PC平臺上有一定運用,但在嵌入式平臺上還很少,另外,嵌入式多核處理器與PC平臺多核處理器有很大不同,因此不能直接將PC平臺的并行化優化方法應用到嵌人式平臺。本文分別從任務并行和緩存優化兩方面進行并行化優化的研究,探索在嵌人式多核處理器上對程序進行并行化優化的方法。
1嵌入式多核處理器結構
嵌人式多核處理器的結構包括同構(Symmetric)和異構(Asymmetric)兩種。同構是指內部核的結構是相同的,這種結構目前廣泛應用在PC多核處理器;而異構是指內部核的結構是不同的,這種結構常常在嵌入式領域使用,常見的是通用嵌入式處理器+DSP核。本文探究的嵌入式多核處理器采用同構結構,實現同一段代碼在不同處理器上的并行執行。
圖1 ARM SMP處理器結構
在目前嵌入式領域中,使用最為廣泛的為ARM處理器,因此以ARM雙核處理器OMAP4430作為研究對象。ARM對稱多處理(Symmetric Multi-Processing,SMP)結構如圖1所示,根據程序的局部性原理,每一個處理器都具有私有的內存(Local Memory),常見的是一級緩存(L1Cache)。然而,多個處理器之間又涉及到相互通信問題,因此在常見的ARM處理器中使用二級緩存(L2 Cache)來解決這一問題。基于對稱多處理器結構,所有的處理器(通常為2的倍數)在硬件結構上都是相同的,在使用系統資源上也是平等的。更重要的是,由于所有的處理器都有權利去訪問相同的內存空間,在共享內存區域中,任何一個進程或者線程都可以運行在任意一個處理器之上,這樣就使得程序的并行化成為可能。2在嵌入式多核平臺上進行并行化優化,需要考慮以下問題:
①并行化程序的性能取決于程序中串行化部分,程序性能不會隨著并行線程數目的提升而不斷提升;
②嵌入式多核處理器相對于PC處理器而言,其總線速度較慢,并且緩存(Cache)更小,會造成大量數據在內存(Memory)和緩存(Cache)問不斷拷貝,因此在進行并行化優化的過程中,應考慮緩存友好性(Cache friendly);
③程序并行化執行線程數目應當小于或等于物理處理器的數目,線程過多會造成線程間搶占處理器資源,致使并行化性能下降。
2 OpenMP并行化優化
2.1 0penMP工作原理簡介
OpenMP是一個基于共享內存模式的跨平臺多線程并行的編程接口。主線程生成一系列的子線程,并將任務映射到子線程進行執行,這些子線程并行執行,由運行時環境將線程分配給不同的物理處理器。默認情況下,各個線程獨立執行并行區域的代碼。可以使用work-sharingconstructs來劃分任務,使每個線程執行其分配部分的代碼。通過這種方式,使用OpenMP可以實現任務并行和數據并行。
圖2任務并行模型
任務并行模式創建一系列獨立的線程,每一個線程運行一個任務,線程之間相互獨立,如圖2所示。OpenMP使用編譯原語session directive和task directive來實現任務分配,每個線程可以獨立運行不同的代碼區域,同時支持任務的嵌套和遞歸。一旦創建任務,該任務就可能會在線程池(其大小等于物理線程數目)中空閑的線程上執行。
1嵌入式多核處理器結構
嵌人式多核處理器的結構包括同構(Symmetric)和異構(Asymmetric)兩種。同構是指內部核的結構是相同的,這種結構目前廣泛應用在PC多核處理器;而異構是指內部核的結構是不同的,這種結構常常在嵌入式領域使用,常見的是通用嵌入式處理器+DSP核。本文探究的嵌入式多核處理器采用同構結構,實現同一段代碼在不同處理器上的并行執行。
圖1 ARM SMP處理器結構
在目前嵌入式領域中,使用最為廣泛的為ARM處理器,因此以ARM雙核處理器OMAP4430作為研究對象。ARM對稱多處理(Symmetric Multi-Processing,SMP)結構如圖1所示,根據程序的局部性原理,每一個處理器都具有私有的內存(Local Memory),常見的是一級緩存(L1Cache)。然而,多個處理器之間又涉及到相互通信問題,因此在常見的ARM處理器中使用二級緩存(L2 Cache)來解決這一問題。基于對稱多處理器結構,所有的處理器(通常為2的倍數)在硬件結構上都是相同的,在使用系統資源上也是平等的。更重要的是,由于所有的處理器都有權利去訪問相同的內存空間,在共享內存區域中,任何一個進程或者線程都可以運行在任意一個處理器之上,這樣就使得程序的并行化成為可能。2在嵌入式多核平臺上進行并行化優化,需要考慮以下問題:
①并行化程序的性能取決于程序中串行化部分,程序性能不會隨著并行線程數目的提升而不斷提升;
②嵌入式多核處理器相對于PC處理器而言,其總線速度較慢,并且緩存(Cache)更小,會造成大量數據在內存(Memory)和緩存(Cache)問不斷拷貝,因此在進行并行化優化的過程中,應考慮緩存友好性(Cache friendly);
③程序并行化執行線程數目應當小于或等于物理處理器的數目,線程過多會造成線程間搶占處理器資源,致使并行化性能下降。
2 OpenMP并行化優化
2.1 0penMP工作原理簡介
OpenMP是一個基于共享內存模式的跨平臺多線程并行的編程接口。主線程生成一系列的子線程,并將任務映射到子線程進行執行,這些子線程并行執行,由運行時環境將線程分配給不同的物理處理器。默認情況下,各個線程獨立執行并行區域的代碼。可以使用work-sharingconstructs來劃分任務,使每個線程執行其分配部分的代碼。通過這種方式,使用OpenMP可以實現任務并行和數據并行。
圖2任務并行模型
任務并行模式創建一系列獨立的線程,每一個線程運行一個任務,線程之間相互獨立,如圖2所示。OpenMP使用編譯原語session directive和task directive來實現任務分配,每個線程可以獨立運行不同的代碼區域,同時支持任務的嵌套和遞歸。一旦創建任務,該任務就可能會在線程池(其大小等于物理線程數目)中空閑的線程上執行。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式控制系統的ARM處理器
- 基于ARM微處理器的嵌入式TCP-IP協議的實現與應用
- ARM處理器與嵌入式系統
- 如何使用FPGA實現嵌入式多核處理器及SUSAN算法并行化 8次下載
- 使用ARM實現嵌入式處理器的最小系統 16次下載
- ARM嵌入式處理器的GNU工具應用程序免費下載 7次下載
- 嵌入式系統教程之嵌入式處理器的詳細資料說明 18次下載
- 幾種基本嵌入式處理器的介紹和應用概述包括Sitara,ARM,Cortex等 11次下載
- 嵌入式多核處理器任務調度研究 1次下載
- 嵌入式軟件開發之基于ARM處理器的嵌入式系統設計方案解析 1次下載
- 嵌入式也多核_淺析ARM_Cortex A9 MP Core多核處理器 11次下載
- 基于FPGA的嵌入式多核處理器及SUSAN算法并行化 24次下載
- ARM嵌入式處理器結構與應用基礎 9次下載
- 嵌入式RISC處理器體系結構并行技術的研究 30次下載
- 嵌入式系統及ARM微處理器概述
- dsp是嵌入式微處理器的一種設備嗎 ARM嵌入式微處理器有何特點? 1043次閱讀
- 什么是嵌入式微處理器?嵌入式微處理器有哪些? 1069次閱讀
- 嵌入式微處理器的原理和應用 991次閱讀
- 嵌入式處理器簡介和種類 1085次閱讀
- Arm?ML處理器 嵌入式評估工具包介紹 8193次閱讀
- 基于嵌入式微處理器EP9315和Linux實現NAS系統的設計 2824次閱讀
- 嵌入式處理器的種類有哪些 2.1w次閱讀
- 關于嵌入式ARM多核處理器的并行方法 4279次閱讀
- Intel嵌入式處理器的相關基礎知識 1320次閱讀
- 淺談arm處理器的優勢 1.2w次閱讀
- 基于32位ARM920T內核的微處理器的嵌入式Linux系統構建詳解 1913次閱讀
- 基于ARM9處理器的嵌入式網絡撥號設計與實現 1673次閱讀
- 嵌入式處理器匯總_常見的嵌入式處理器對比分析 1.4w次閱讀
- 32位嵌入式處理器與8位處理器應用開發的區別 1579次閱讀
- 嵌入式ARM多核處理器并行化方法 1610次閱讀
下載排行
本周
- 1AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 2嵌入式軟件開發符合ISO 26262 功能安全標準
- 1.61 MB | 1次下載 | 免費
- 3AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 4PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 5模擬電路仿真實現
- 2.94MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7EE-38:ADSP-2181 IDMA端口-周期竊取時序
- 75.0KB | 次下載 | 免費
- 8EE-82:使用ADSP-2181 DSP的IO空間對另一個ADSP-2181進行IDMA引導
- 86.86KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 132次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6感應筆電路圖
- 0.06 MB | 10次下載 | 免費
- 7LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 9次下載 | 1 積分
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多