Responsive image
博碩士論文 etd-0725113-211646 詳細資訊
Title page for etd-0725113-211646
論文名稱
Title
建構於Windows CE作業系統之異質多核心整合開發平台
An Integrated Development Platform for Heterogeneous Multicore Constructed on Windows CE Operating System
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
103
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2013-07-29
繳交日期
Date of Submission
2013-08-25
關鍵字
Keywords
DSP、異質多核心、Windows CE、同步機制、驅動程式
Synchronous machanism, DSP, Heterogeneous, Driver, WinCE
統計
Statistics
本論文已被瀏覽 5705 次,被下載 923
The thesis/dissertation has been browsed 5705 times, has been downloaded 923 times.
中文摘要
提升處理器運算效能的重要趨勢是「異質多核心系統」,此系統將不同型態的處理器(如GPP、GPU或DSP),或邏輯硬體電路(如ASIC或FPGA),整合進同一顆晶片內,使效能因高度並行運算而大幅提升。異質多核心系統通常在記憶體或匯流排的介面上,具有連接異質多核心間的模組介面,用來完成不同核心間的溝通;另外,在不同的核心有著不同的指令集架構下,開發應用程式需要不同的編譯器及鏈結器。面對這些異質多核心的特性下,本論文提出一套異質多核心整合開發平台,整合應用程式的開發環境以及執行環境。
異質多核心整合開發平台架構分成應用層、抽象層與硬體層。硬體層由一顆主要處理器和多顆特殊用途處理器(加速硬體)所組成,並搭配多個溝通模組。在抽象層裡分成兩部分:第一,在主要處理器端建立平台管理核心,負責以信號同步機制(Semaphore)管理加速函式和加速硬體資源、以動態記憶體管理共享記憶體資源以及使用中斷通知和FIFO協調異質多核心間溝通機制;第二,在其他多個特殊用途處理器上,建立加速函式的執行管理機制,協助加速函式的執行。而在應用層,本論文將異質多核心的應用程式開發看成一般軟體呼叫,由主要處理器端(主程式)呼叫加速函式,命令特殊用途處理器執行加速函式;因此,我們提供主要處理器端(主程式)應用程式介面(API),也在特殊用途處理器端(加速函式)的撰寫上提供開發環境和API。另外,在執行環境上,還提供可執行檔整合介面(Integrator),將主程式與加速函式,整合成單一可執行檔,讓使用者有簡單的執行介面。
本論文將以上的異質多核心整合開發平台架構套用於Windows CE(WinCE)作業系統,平台的應用層以WinCE支援的API為基礎,建立應用程式函式庫;平台的抽象層建立在WinCE操作系統層和OEM層,並在OEM層建立平台管理核心。最後,將平台實現於TI DM3730異質雙核心處理器上,成功驗證以此平台開發應用程式並不影響異質多核心應用程式的效能,並具有可行性。
Abstract
Heterogeneous multicore systems with highly parallel computing are the significant trends for being used to improve the performances of processors in computing. They are provided with some modules for communications between different cores and with different instruction set architectures so that it is difficult to develop applications on such systems. Therefore, we present an integrated development platform for heterogeneous multicore to simplify the application development flow.
The architecture of the platform is composed of application layer, abstraction layer and hardware layer. The hardware layer is the heterogeneous multicore system with a master processor and multiple slave coputational units; The abstraction layer is divided into two parts: one is the platform management core on a master processor; the other is the implementor for accelerated functions on each slave coputational unit. The former manages not only resources of accelerated functions and slave coputational units by using semaphore machanism but also shared memory by using dynamic storage management. In addition, it coordinates the communications between different cores by using interrupts and FIFOs; In the application layer, we consider the code to be accelerated on a coputational unit as function-like sub-program, called accelerated function. Therefore, we provide APIs not only on the master processor for caller but also on the slave coputational unit for the callee. Furthermore, we provide an integrator to make a single executable for simplifying implement manner.
Finally, we apply the framework of the platform to Windows CE (WinCE) operating system, and we successfully realize it on TI DM3730 processor. Using the procedure of developing applications as examples, we verify that this platform doesn't affect the total performance, and that it is feasible.
目次 Table of Contents
論文審定書…………………………………………………i
致謝…………………………………………………………ii
摘要…………………………………………………………iii
ABSTRACT…………………………………………………iv
目 錄…………………………………………………………v
圖 次…………………………………………………………viii
表 次…………………………………………………………xi
第一章 簡介…………………………………………………1
1.1 研究動機…………………………………………………1
1.2 研究目的…………………………………………………2
1.3 論文架構…………………………………………………4
第二章 背景知識與相關研究………………………………5
2.1 異質多核心開發平台研究………………………………5
2.1.1 CUDA架構……………………………………………6
2.1.2 OpenCL異質多核心開發平台………………………7
2.1.3 Vforce軟硬體整合平台………………………………9
2.2 Windows CE作業系統簡介……………………………12
2.2.1 Windows CE作業系統架構…………………………12
2.2.2 流介面驅動程式………………………………………14
2.2.3 Windows CE中斷處理機制…………………………17
2.3 多執行緒同步機制………………………………………18
2.3.1 信號同步機制…………………………………………18
2.3.2 事件同步機制…………………………………………18
第三章 異質多核心整合開發平台…………………………20
3.1 軟硬體系統架構…………………………………………20
3.1.1 應用程式設計模型……………………………………20
3.1.2 硬體系統架構…………………………………………22
3.1.3 軟體系統架構…………………………………………24
3.2 MPU端平台管理核心……………………………………26
3.2.1 平台管理核心架構……………………………………26
3.2.2 平台初始化……………………………………………28
3.2.3 共享記憶體資源管理…………………………………30
3.2.4 AF資源管理……………………………………………33
3.2.5 AU資源管理……………………………………………40
3.2.6 AF運算監控管理………………………………………45
3.2.7 異質多核心溝通管理…………………………………50
3.3 AU端AF執行單元………………………………………52
3.3.1 接收AF運算相關資訊…………………………………53
3.3.2 跳躍至AB執行…………………………………………54
第四章 平台使用者開發介面………………………………55
4.1 平台使用者開發流程……………………………………55
4.1.1 編輯Windows CE主程式………………………………57
4.1.2 編輯AB程式……………………………………………58
4.1.3 整合單一可執行檔……………………………………60
4.2 Integrator - 整合單一可執行檔………………………61
4.2.1 單一可執行檔資料結構………………………………62
4.2.2 AF啟動載入器…………………………………………64
4.3 應用程式介面……………………………………………67
4.3.1 撰寫WinCE主程式之應用程式介面…………………67
4.3.2 撰寫AB之應用程式介面………………………………70
4.4 系統運作流程……………………………………………73
第五章 平台實現與分析………………………………………75
5.1 驗證平台TI DM3730介紹………………………………75
5.1.1 MPU subsystem介紹…………………………………76
5.1.2 IVA2.2 subsystem介紹………………………………77
5.1.3 異質雙核心溝通硬體…………………………………78
5.1.4 中斷機制………………………………………………79
5.2 平台驗證與分析…………………………………………80
5.2.1 例子介紹………………………………………………81
5.2.2 開發與驗證流程………………………………………82
5.2.3 驗證結果與分析………………………………………85
第六章 結論…………………………………………………87
參考文獻……………………………………………………89
參考文獻 References
[1] Amar Shan. (2006, Jan. 02). Heterogeneous Processing: a Strategy for Augmenting Moore's Law. HPC Software[Online].Available: http://www.linuxjournal.com/article/8368?page=0,0
[2] Estrin, G., “Reconfigurable computer origins: the UCLA fixed-plus-variable (F+V) structure computer, ” IEEE Ann. Hist. Comput, vol. 24, no. 4, pp. 3-9, Oct. 2002.
[3] Estrin, G., “Organization of Computer Systems—The Fixed Plus Variable Structure Computer, ” Proc. Western Joint Computer Conf., WJCC, New York, 1960, pp. 33–40.
[4] Nvidia. (2013), NVIDIA CUDA C Programming Guide(Version4.2)[Online]. Available:http://docs.nvidia.com/cuda/cuda-c-programming-guide/
[5] Khronos. (2012), The OpenCL Specification(Version1.2) [Online]. Available: http://www.khronos.org/registry/cl/specs/opencl-1.2.pdf
[6] D. Andrews, D. Niehaus, and P. Ashenden, “Programming Models for Hybrid CPU/FPGA Chips,” Computer, vol. 37, no. 1, pp. 118-120, Jan. 2004.
[7] M. Vuletic, L. Pozzi, and P. Ienne, “Seamless Hardware-Software Integration in Reconfigurable Computing Systems,” IEEE Design & Test of Computers, vol. 22, no. 2, pp. 102-113, Mar./Apr. 2005.
[8] N. Moore, A. Conti, M. Leeser, L.S. King, “Vforce: An Extensible Framework for Reconfigurable Supercomputing,” Computer, vol. 40, no. 3, pp. 39-49, March. 2007.
[9] Microsoft. (2001), Windows CE [Online]. Available: http://www.microsoft.com/taiwan/windows/embedded/ce/
[10] Microsoft. (2010), Windows Embedded Compact 7[Online]. Available: https://www.microsoft.com/windowsembedded/zh-tw/windows-embedded-compact-7.aspx
[11] Microsoft. (2013), Windows CE Architecture[Online]. Available: http://msdn.microsoft.com/en-us/library/ms905093.aspx
[12] 周毓林, 甯楊, 陸貴強和付林林, Windows CE.net內核定制及應用開發, 臺北縣土城市:大學出版社, 2007, 第二章
[13] Microsoft. (2013), Stream Interface Drivers[Online]. Available: http://msdn.microsoft.com/en-us/library/ms923745.aspx
[14] Microsoft. (2013), Stream Interface Driver Architecture[Online]. Available: http://msdn.microsoft.com/en-us/library/ms894042.aspx
[15] Microsoft. (2013), Interrupt Handling[Online]. Available: http://msdn.microsoft.com/en-us/library/ee486431(v=winembedded.60).aspx
[16] Microsoft. (2013), Semaphore Objects[Online]. Available: http://msdn.microsoft.com/en-US/library/ee483014(v=winembedded.60).aspx
[17] Microsoft. (2013), Event Object[Online]. Available: http://msdn.microsoft.com/en-US/library/ee482736(v=winembedded.60).aspx
[18] Yedidyah Langsam, Moshe J. Augenstein and Aaron M. Tenenbaum, DATA STRUCTURES USING C AND C++, USA:Pearson Education, 1996, ch.9.
[19] TI. (2013), AM/DM37x Overview[Online]. Available: http://processors.wiki.ti.com/index.php/AM/DM37x_Overview
[20] ARM. (2013), Cortex-A8 Processor[Online]. Available: http://www.arm.com/products/processors/cortex-a/cortex-a8.php
[21] TI. (2012), AM/DM37x Multimedia Device Technical Reference Manual(Version R) [Online]. Available:http://www.ti.com/lit/ug/sprugn4r/sprugn4r.pdf
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:校內校外完全公開 unrestricted
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code