2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  中文3300字</b></p><p>  基于高性能嵌入式多核MPSoC的多線程系統(tǒng)設(shè)計</p><p>  摘要:本文重點(diǎn)介紹了移植多線程系統(tǒng)(OpenMP),將它作為高性能嵌入式系統(tǒng)中的一種編程模型。一個好的編程模型如OpenMP,將提高程序員的工作效率,縮短產(chǎn)品研發(fā)周期,降低成本。但為了滿足嵌入式開發(fā)人員對系統(tǒng)設(shè)計時所需具備實(shí)時性

2、和多線程管理等要求,OpenMP應(yīng)進(jìn)行系統(tǒng)擴(kuò)展,它必須是能夠支持映射不同的軟件任務(wù)或組件,對每個設(shè)備都配置相應(yīng)的體系結(jié)構(gòu)。</p><p><b>  1、背景</b></p><p>  多核和同步多線程的硬件技術(shù)的快速發(fā)展,決定著市場上的各種應(yīng)用程序開發(fā)領(lǐng)域的走向。多核技術(shù)的應(yīng)用,提高了計算能力,降低能耗,擴(kuò)大設(shè)計空間,并且提高了多處理器系統(tǒng)(MPSoCs)在嵌入

3、式應(yīng)用的性能。嵌入式系統(tǒng)將變得更加復(fù)雜,多核硬件也將在同一臺設(shè)備上實(shí)現(xiàn)更多的功能。系統(tǒng)的復(fù)雜化使得嵌入式產(chǎn)品開發(fā)中的軟硬件設(shè)計更加困難,使得嵌入式系統(tǒng)的分區(qū),調(diào)度,正確性驗(yàn)證,質(zhì)量控制和質(zhì)量保證等問題更加嚴(yán)峻。</p><p>  本文將介紹移植OpenMP,以適應(yīng)現(xiàn)有的共享內(nèi)存編程接口,符合高性能嵌入式應(yīng)用的規(guī)范。文中將提出新的語言功能作為指定符號,可以被上一層應(yīng)用程序調(diào)用,它允許非功能性特征的限制,如截止日期

4、,優(yōu)先級等。如何用改寫OpenMP使其能在不同的嵌入式設(shè)備上運(yùn)行。由于我們也需要明確的接口規(guī)范和部件之間的數(shù)據(jù)傳輸,其結(jié)果將是一個混合型分布/共享的編程模型,該模型可用于各個任務(wù)的嵌入式應(yīng)用程序,以及它們之間的相互作用?;贠penUH中的Open64以及編譯器,這將是評現(xiàn)有系統(tǒng)的重要依據(jù)。</p><p>  2、嵌入式系統(tǒng)設(shè)計2.1 硬件</p><p>  嵌入式系統(tǒng)設(shè)計普遍是在并

5、行系統(tǒng)上實(shí)現(xiàn)。 MPSoCs由多個處理單元組成,如RISC處理器、數(shù)字信號處理器(DSP)、特定于應(yīng)用程序的指令的處理器(ASIP)、現(xiàn)場可編程門陣列(FPGA)、SIMD處理器,加速器等。另外其內(nèi)核是異步流處理器,MPSoC的存儲器系統(tǒng)也可以是異步,可以作為處理器訪問的存儲塊的一個部分。德州儀器(TI)達(dá)芬奇[1]和OMAP 3[2]是RISC+ DSP的配置。德州儀器(TI)TNETV3020[3]和TMS320TCI6488[4]

6、,隨著內(nèi)核數(shù)增加和異質(zhì)性增強(qiáng),同時非對稱芯片多處理(AMP)和對稱芯片多處理(SMP)技術(shù)的發(fā)展 [5] ,擁有的多個子系統(tǒng)的MPSoCs將會在不久將來出現(xiàn)。</p><p><b>  2.2 嵌入式應(yīng)用</b></p><p>  嵌入式系統(tǒng)的應(yīng)用大致可分為事件驅(qū)動計算和數(shù)據(jù)擴(kuò)展。在事件驅(qū)動的應(yīng)用中,像汽車的嵌入式系統(tǒng),它的特征在于信號的輸入及其響應(yīng),一個給定的輸

7、入事件從在嚴(yán)格時間限定中,無法執(zhí)行完數(shù)據(jù)的采集計算。另一種是數(shù)據(jù)擴(kuò)展應(yīng)用,如無線基礎(chǔ)設(shè)施,在此系統(tǒng)中,流經(jīng)設(shè)備的數(shù)據(jù)流量大,并在需要對大量的數(shù)據(jù)流進(jìn)行計算,這種系統(tǒng)的計算復(fù)雜性的增加。這種系統(tǒng)需要有最佳的軟件/硬件配置來實(shí)現(xiàn)性能上的條件,同時滿足成本。在無線和多媒體等應(yīng)用中,往往增加系統(tǒng)復(fù)雜性,增多在軟件中的功能,來幫助縮短設(shè)計周期。此外,使用簡化應(yīng)用程序的專用指令集處理器(ASIP),摒棄通用微處理器,來降低成本、提高電源效率[6]。

8、</p><p>  2.3 編程嵌入式系統(tǒng)</p><p>  現(xiàn)有的編程模式對于來創(chuàng)建嵌入式系統(tǒng)是十分不利。嵌入式應(yīng)用程序通常為了滿足嚴(yán)格的性能,要求接近硬件的編程語言,如C語言或匯編語言。由于資源限制的設(shè)備,高性能嵌入式系統(tǒng)使用Java或C是不切實(shí)際的?,F(xiàn)今,MPSoCs開發(fā)逐步占主導(dǎo)地位,以適應(yīng)現(xiàn)有的編程語言,而不是設(shè)計新的并行編程語言?,F(xiàn)今編程MPSoCs行業(yè)標(biāo)準(zhǔn)尚未統(tǒng)一,雖然已

9、經(jīng)提出了一些。特別是,多核協(xié)會提出了他們提到的通信API(CAPI)[7],但這種模式尚未形成完整的傳遞模型。</p><p>  總體上,使用不同的編程語言和運(yùn)行環(huán)境針對于各種不同的系統(tǒng),各個機(jī)制相互作用,設(shè)計和開發(fā)軟件采用松散結(jié)合的方法,為不同的設(shè)備單獨(dú)編寫不同的代碼。例如,基于GPU的編程模型[8,9]符合GPU的設(shè)備,但不適合于通用CPU。OpenCL的[10]是最近推出的GPU編程作為一個行業(yè)標(biāo)準(zhǔn)。一些

10、供應(yīng)商已經(jīng)定義了自己的語言或擴(kuò)展了C語言,來量身定制其設(shè)備(例如ClearSpeed公司的CN和英特爾的CT)硬件擴(kuò)展性。</p><p>  數(shù)據(jù)流及其運(yùn)算往往在嵌入式使用流編程模型時被提及。其特點(diǎn)包括:高數(shù)據(jù)速率、大數(shù)據(jù)容量(數(shù)據(jù)源和數(shù)據(jù)處理單元之間的數(shù)據(jù)流)。如信號和圖像處理、語音和視頻數(shù)據(jù)、數(shù)據(jù)壓縮和加密、手機(jī)基站、財務(wù)建模和HDTV編輯控制臺。流媒體程序通常有兩個層面。每個內(nèi)核中電平控制內(nèi)核執(zhí)行的順序和

11、傳輸?shù)臄?shù)據(jù)流。內(nèi)核級的實(shí)際計算每個流元素,從大量的相關(guān)研究表明這種模式優(yōu)勢是顯而易見的 [11,12]。</p><p>  3、OpenMP和OpenUH</p><p>  OpenMP是一個被廣泛采用的共享內(nèi)存并行編程接口,提供高層次的編程結(jié)構(gòu),使用戶能夠輕松地調(diào)用觀察應(yīng)用程序的任務(wù)和并行循環(huán)方式。最近通過添加明確的任務(wù)功能[13] ,它的適用范圍更加擴(kuò)大。 由英特爾,ClearSp

12、eed,PGI和CAPS SA公司將OpenMP作為出發(fā)點(diǎn),提出了異構(gòu)系統(tǒng)的編程模型。</p><p>  3.1 OpenMP的實(shí)現(xiàn)</p><p>  大多OpenMP的編譯器用一個簡單的方式(概述[14]或內(nèi)聯(lián)[15]),將OpenMP編譯為多線程代碼。由于在編譯中許多執(zhí)行細(xì)節(jié)往往不知道,所以實(shí)際工作必須進(jìn)行動態(tài)分配計算。確保OpenMP結(jié)構(gòu)的存在但又要不妨礙順序優(yōu)化的編譯器,這對于

13、實(shí)施的復(fù)雜性很高。因此一個高效的運(yùn)行時序管理是至關(guān)重要的。</p><p>  IBM提供了一個OpenMP編譯器[16],呈現(xiàn)給用戶的共享存儲器,他們主要集中優(yōu)化DMA傳輸和內(nèi)存之間數(shù)據(jù)傳輸。這種方式導(dǎo)致性能降低,但創(chuàng)造一個更加用戶友好的界面[17]。在多個RISC和DSP內(nèi)核組成的MPSoC基礎(chǔ)上,實(shí)現(xiàn)了OpenMP。語言的擴(kuò)展提出決定了一個并行區(qū)域?qū)?zhí)行在RISC或DSP平臺,是否支持DMA傳輸。該編譯器[

14、18]實(shí)現(xiàn)目標(biāo)與共享變量,減少和同步機(jī)制有關(guān)。但是,他們不依賴于系統(tǒng)的實(shí)時性或特定于平臺。</p><p>  4、嵌入式OpenMP編程模型</p><p>  一個統(tǒng)一的編程標(biāo)準(zhǔn),對于不同的設(shè)備在MPSoCs編程十分方便。在本文中首先要考慮的不是OpenMP。隨著其EXOCHI執(zhí)行支持,英特爾建議使用OpenMP。他們的目標(biāo)是促進(jìn)在OpenMP并行區(qū)域的代碼到不同的硬件組件的映射。CA

15、PS[22]在執(zhí)行層面提供了另一種更接近于我們所提出的模型。其設(shè)定的OpenMP擴(kuò)展針對異構(gòu)共享和分布式內(nèi)存系統(tǒng),并規(guī)范程序執(zhí)行的加速器。然而,它們各自的特點(diǎn)在局限范圍內(nèi)。PGI[23]提供了一個基礎(chǔ)對OpenMP的概念異構(gòu)系統(tǒng)編程的代碼區(qū)域被標(biāo)記為加速API。ClearSpeed公司也有原型的OpenMP擴(kuò)展加速器[24]。</p><p>  研究人員已經(jīng)提出了通過擴(kuò)展OpenMP來促進(jìn)流媒體應(yīng)用,并完善任務(wù)

16、結(jié)構(gòu)和支持點(diǎn)與點(diǎn)之間的同步任務(wù)[25]。Carpenter等人[26]提出了一系列OpenMP的指令編譯C程序,將不同代碼編譯成適合各種映射到不同的架構(gòu)的指令。這種方法的缺點(diǎn)是,它并沒有用戶映射配置手動功能。此外,他們的工作在嵌入式架構(gòu)上還未實(shí)現(xiàn)。支持流編程模型的ACOTES項(xiàng)目也正在探索 [27]。</p><p>  圖1 用OpenMP定義多個組件,嵌套的并行性和任務(wù)的優(yōu)先級</p><

17、p>  5、內(nèi)核分析:多核DSP下實(shí)現(xiàn)的OpenMP</p><p>  在此內(nèi)核分析中,我們提供了一個已經(jīng)初步實(shí)現(xiàn)OpenMP,基于TI TMS320C64x+處理器高性能的嵌入式多核(參見圖2)。我們的目標(biāo)是完成以下任務(wù):</p><p>  利用OpenMP提供必要的控制程序執(zhí)行和高層次調(diào)用,開發(fā)共享為主的分布式內(nèi)存編程模型。</p><p>  實(shí)現(xiàn)一

18、個適用于各本行業(yè)的處理器編程模型。</p><p>  針對不同的處理器和內(nèi)存配置,開發(fā)相應(yīng)的編譯器工具。</p><p>  結(jié)合OpenUH性能及其開發(fā)工具,實(shí)現(xiàn)編程模型。</p><p>  評估整個嵌入式系統(tǒng)應(yīng)用程序的性能。</p><p>  圖2 多核C64+多處理器單晶片框圖</p><p>  5.1、

19、多核DSP系統(tǒng)5.1.1 、TMS320C64x+ VLIW DSP</p><p>  TMS320C64x+是一個完全流水線化的VLIW處理器,它在每個周期執(zhí)行的8條指令。所有的指令可以保護(hù)為靜態(tài)變量。該C64x+為德州儀器的C6X系列(圖3),提供了一套整型指令。它有64個靜態(tài)的通用寄存器,劃分為兩個寄存器類別。一小部分的寄存器可用于存儲。TMS320C64x+另外說明填充數(shù)據(jù)SIMD(單指令多數(shù)據(jù)),為

20、可變長的指令,硬件循環(huán)緩沖區(qū)[28,29]。</p><p>  圖3 c64x+處理器內(nèi)核</p><p>  TI C6X嵌入式DSP(數(shù)字信號處理)的應(yīng)用,如電信和圖像處理。這些應(yīng)用程序運(yùn)行需花費(fèi)大量的時間,程序表現(xiàn)出指令高度并行、計算嚴(yán)格循環(huán)嵌套。程序設(shè)計流水線化是并行開發(fā)的許多功能單元的關(guān)鍵。</p><p><b>  6、結(jié)果</b&g

21、t;</p><p>  從現(xiàn)有的實(shí)驗(yàn)結(jié)果中,來評估各個運(yùn)算模塊的執(zhí)行時序的性能。我們在C64x + MPSoC環(huán)境上,執(zhí)行一個簡單的OpenMP矩陣乘法的運(yùn)算程序和一個點(diǎn)積(即減少了一個臨時變量)。在執(zhí)行程序時的進(jìn)程同步,并使用MSGQ等可擴(kuò)展的方法,使相關(guān)的開銷減小,提高了并行應(yīng)用程序的執(zhí)行效率。一個簡單的優(yōu)化,包括內(nèi)核共享內(nèi)存時實(shí)現(xiàn)同步,使得系統(tǒng)的開銷顯著減少。</p><p>  

22、圖6 各個程序效率和負(fù)載</p><p><b>  7、結(jié)論</b></p><p>  綜上闡述,根據(jù)上述文中闡述的多種增強(qiáng)功能, 將OpenMP的嵌入式系統(tǒng)作適當(dāng)?shù)臄U(kuò)展,將會成為一個合適的和高效的編程模型。高性能嵌入式系統(tǒng)中摒棄了一些通用處理器上的功能,如內(nèi)存管理單元,同步緩存系統(tǒng),以及統(tǒng)一的內(nèi)存存取時間等。進(jìn)一步擴(kuò)展OpenUH,使其成為多核嵌入式DSP系統(tǒng)在

23、高速緩存中的OpenMP編譯器,從而使嵌入式操作系統(tǒng)變得高效。這項(xiàng)工作是在它的早期階段,下一步將全面落實(shí)當(dāng)前的OpenMP和進(jìn)一步為嵌入式系統(tǒng)探索語言擴(kuò)展。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] T. Instruments, TMS320DM6467 Digital Media System-on-Chip, December 2

24、007.</p><p>  [2] ——, “Omap 3 family of multimedia applications processors,”http://focus.ti.com/pdfs/wtbu/ti omap3family.pdf,2007.</p><p>  [3] ——, “TNETV3020 carrier infrastructure platform,” h

25、ttp://focus.ti.com/lit/ml/spat174/spat174.pdf.</p><p>  [4] ——, “TMS320TCI6488 DSP platform,” http://focus.ti.com/lit/ml/sprt415/sprt415.pdf.</p><p>  [5] G. Martin, “Overview of the MPSoC desig

26、n challenge,” inDAC ’06: Proceedings of the 43rd annual conference on Design automation. Santa Clara, CA, USA: ACM, 2006,pp. 274 – 279.</p><p>  [6] P. G. Paulin, C. Liem, M. Cornero, F. Nacabal, andG. Gooss

27、ens, “Embedded Software in Real-Time Signal Processing Systems: Application and Architecture Trends,” in Proceedings of the IEEE. IEEE, 1997, pp. 419–433.</p><p>  [7] T. M. Association, http://www.multicore

28、-association.com/workgroup/ComAPI.html.</p><p>  [8] GPGPU, “Gpgpu: General purpose computation using graphics hardware,” http://www.gpgpu.org.</p><p>  [9] NVIDIA, “Cuda: Compute unified device

29、 architecture,” http://www.nvidia.com/object/cuda home.html.</p><p>  [10] “OpenCL 1.0 Specification,” http://www.khronos.org/opencl/.</p><p>  [11] S. Amarasinghe, M. I. Gordon, M. Karczmarek,

30、J. Lin,D. Maze, R. M. Rabbah, and W. Thies, “Language and compiler design for streaming applications,” Int. J. Parallel Program., vol. 33, no. 2, pp. 261–278, 2005.</p><p>  [12] I. Buck, T. Foley, D. Horn,

31、J. Sugerman, K. Fatahalian,M. Houston, and P. Hanrahan, “Brook for gpus: stream computing on graphics hardware,” in SIGGRAPH ’04: ACM SIGGRAPH 2004 Papers. New York, NY, USA: ACM, 2004,pp. 777–786.</p><p>  

32、[13] E. Ayugade, N. Copty, A. Duran, J. Hoeflinger, Y. Lin,F. Massaioli, E. Su, P. Unnikrishnan, and G. Zhang, “A proposal for task parallelism in openmp,” in Proceedings of the 3rd International Workshop on OpenMP, June

33、 2007.</p><p>  [14] C. Brunschen and M. Brorsson, “OdinMP/CCp - a portable implementation of Open MP for C,” Concurrency – Practice and Experience, vol. 12, no. 12, pp. 1193–1203, 2000.</p><p>

34、  [15] C. Liao, O. Hernandez, B. Chapman, W. Chen, and W. Zheng, “OpenUH: An optimizing, portable OpenMP compiler,” in 12th Workshop on Compilers for Parallel Computers, 2006.</p><p>  [16] A. Eichenberger,

35、K. O’Brien, P. Wu, T. Chen, P. Oden,D. Prener, J. Shepherd, B. So, Z. Sura, A. Wang, T. Zhang,P. Zhao, and M. Gschwind, “Optimizing compiler for a cell processor,” in PACT ’05: Proceedings of the 14th International Confe

36、rence on Parallel Architectures and Compilation Techniques. Washington, DC, USA: IEEE Computer Society, 2005, pp. 161–172.</p><p>  [17] F. Liu and V. Chaudhary, “A practical Open MP compiler for system on c

37、hips,” in Open MP Shared Memory Parallel Programming: International Workshop on Open MP Applications</p><p>  [18] W.-C. Jeun and S. Ha, “Effective open mp implementation and translation for multiprocessor s

38、ystem-on-chip without using os,” in ASP-DAC ’07: Proceedings of the 2007 conference on Asia South Pacific design automation. Washington, DC,USA: IEEE Computer Society, 2007, pp. 44–49.[19] B. M. Chapman, L. Huang, H. Jin

39、, G. Jost, and B. R.de Supinski, “Toward enhancing open mp’s work-sharing directives,” in Europar 2006, 2006, pp. 645–654.</p><p>  [20] V. Bui, O. Hernandez, B. Chapman, R. Kufrin, P. Gopalkrishnan, and D.

40、Tafti, “Towards an implementation of the open mp collector api,” in PARCO, 2007.</p><p>  [21] O. Hernandez, F. Song, B. Chapman, J. Dongarra, B. Mohr, S. Moore, and F. Wolf, “Performance instrumentation and

41、 compiler optimizations for mpi/open mp applications,” in Second International Workshop on Open MP, 2006.</p><p>  [22] C. Enterprise, “Hmpp: A hybrid multicore parallel programming platform,”http://www.caps

42、-entreprise.com/en/ documentation/caps hmpp product brief.pdf.</p><p>  [23] “PGI Fortran & C Accelerator Compilers and Programming Model,” http://www.pgroup.com/lit/pgi whitepaper accpre.pdf.</p>

43、<p>  [24] B. Gaster and C. Bradley, “Exploiting loop-level parallelism for simd arrays using openmp,” in Proceedings of IWOMP 2007, June, 2007.</p><p>  [25] M. Gonzalez, E. Ayguade, X. Martorell, and

44、 J. Labarta, “Exploiting pipelined executions in openmp,” in International Conference on Parallel Processing, 2003, pp. 153 – 160.</p><p>  [26] P. Carpenter, D. Rodenas, X. Martorell, A. Ramirez, and E. Ayg

45、uade, “A streaming machine description and programming model.” in SAMOS, ser. Lecture Notes in Computer Science. Springer, 2007, pp. 107–116.</p><p>  [27] “Acotes:Advanced Compiler Technologies for Embedded

46、 Streaming,” http://www.hitech-projects.com/euprojects/ ACOTES.</p><p>  [28] E. Stotzer and E. Leiss, “Modulo scheduling for the tms320c6x vliw dsp architecture,” in LCTES ’99: Proceedings of the ACM SIGPLA

47、N 1999 workshop on Languages, compilers, and tools for embedded systems. NewYork,NY,USA: ACM, 1999, pp. 28–34.</p><p>  [29] T. Hahn, E. Stotzer, and M. Asal., “Compilation strategies for reducing code size

48、on a vliw with variable length instructions,” in High Performance Embedded Architectures and Compilers (HIPEAC’08), 2008,pp.147–160.</p><p>  [30] T. Instruments, “Tms320 dsp/bios user’s guide, spru423f,” Te

49、ch. Rep., Nov. 2004.</p><p>  [31] ——, “Tms320c6000 dsp/bios 5.32 application programming interface (api) reference guide, spru403o,” Tech. Rep., Sept. 2007.</p><p>  [32] O. ARB, “Openmp applic

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論