| 研究生: |
歐旭江 Ao, Iok-Kong |
|---|---|
| 論文名稱: |
異質性多處理器環境中資料流架構系統核心之設計與實作 The Design and Implementation of a Dataflow Kernel in Heterogeneous Multiprocessor Environment |
| 指導教授: |
陳 敬
Chen, Jing |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2005 |
| 畢業學年度: | 93 |
| 語文別: | 中文 |
| 論文頁數: | 60 |
| 中文關鍵詞: | 資料流核心 、異質性多處理器 、微核心 |
| 外文關鍵詞: | Micro-Kernel, Heterogeneous Multiprocessor, Dataflow Kernel |
| 相關次數: | 點閱:103 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本篇論文說明以資料流(Dataflow)的工作方式,於異性質多處理器中之特殊用途處理器上建構單體式系統核心,提供資料流應用程式之工作環境。在資料流的環境中,每一行程是利用元件導向之可重複使用及資料驅動的方式工作,應用程式由一個或以上行程組成,經過行程間不同的組合,成為不同的應用程式。
資料流架構十分適合應用於控制及資料串流的應用程式,但此種架構會存在非常多行程及行程間之互動,因此對傳統的系統形成相當大的負擔。本文闡述之實作是針對多媒體應用程式而開發之資料流核心,以資料流喚醒對應之行程執行任務,所選用之硬體平台為德州儀器產品TMS320DM270,由ARM7TDMI(一般用途處理器)與DSP C5409(特別用途處理器)組成,為異質性多處理器平台。本論文實作之核心即建立於DSP端之上,實現資料流之排程與服務使用者行程,同時於ARM端實作資料流核心的管理系統,由管理系統接收外界對特殊用途處理器端之資料處理要求並進行前端處理,以固定之溝通協定向資料流核心發出資料處理要求,並可有效管理異質性多處理器對共用記憶體之使用。
本論文實作之架構,經由ARM端之管理系統把要求送給DSP端之核心,保持主從式(Master-Slave)架構之工作方式,並且透過ARM端管理系統與DSP端核心之合作,使一般處理器可使用的資源都可以被特殊用途處理器利用,改變特殊用途處理器在傳統上的定位,使程式開發者於異質性多處理器上更容易開發多媒體應用程式。
This thesis presents the implementation of a dataflow kernel in a heterogeneous multiprocessor environment which consists of a general purpose processor (GPP) and a special purpose processor (SPP). The hardware platform used is TMS320DM270 which is a heterogeneous multiprocessor composed of an ARM7TDMI processor core (the GPP) and a TMS320C5409 DSP core (the SPP). TMS320DM270 is a product of Texas Instruments developed for multimedia applications.
Dataflow architecture is well-suited for control and “data stream” applications. In many implementations, there might be too much overhead due to many processes and inter-process communications (IPC). In this implementation, the dataflow kernel situates on the DSP side responsible for dispatching arriving data to the processes. The processes are waken up by the kernel according to the data received so that IPC overhead are effectively avoided. To help the collaboration between processes running at the DSP side and those at the ARM side, a manager process, namely DSP manager, is implemented on the ARM side which receives and handles all data requests from either the ARM side or the DSP side. The DSP manager also manages the communication interface between processors and the shared memory on the heterogeneous multiprocessor environment.
The operations of the dataflow kernel and the DSP manager not only follow the master-slave style, but the combination of the dataflow kernel and the DSP manager also allows the resources at the ARM side to be shared by the processes at the DSP side. This changes the traditional role of SPP because SPP can use the resources managed by GPP. Therefore, programmers can develop applications on heterogeneous multiprocessor environment effectively and easily.
[1] ARM, “ARM Architecture Reference Manual”, ARM Doc. No. DDI-0100E.b.
[2] Andrew S. Tanenbaum, “Modern Operating System”, 2nd edition, Prentice Hall, 2001, ISBN 0130926418.
[3] Bill Blunden, “Memory Management Algorithms and Implementation in C/C++”, Wordware Publishing Inc, 2003, ISBN 1-55622-347-1.
[4] DSPLinux, http://www.cadenux.com/ridgerun.
[5] Donald E. Thomas, Philip R. Moorby, “The Verilog Hardware Description Language”, Kluwer Academic, 2002, ISBN 1-4020-7089-6.
[6] Furber, S., “ARM System-on-Chip Architecture”, 2nd edition, Addison Wesley, 2000, ISBN 0201675196.
[7] J. Guo, S. Edwards, and D. Boroyevich. “Elementary control objects: Toward a dataflow architecture for power electronics control software.” In Proc. IEEE 33rd Annual Power Electronics Specialists Conf. (PESC 2001), June 2002.
[8] J. J. Labrosse , “MicroC/OS-II: The Real Time Kernel”, 2nd edition, CMP Books, 2002, ISBN 1-57820-103-9.
[9] John L. Hennessy, David A. Patterson, “Computer Architecture”, Third edition, Morgan Kaufmann, ISBN 1-55860-596-7.
[10] Kuljeet Singh, “Design and Evaluation of an Embedded Real-time Micro-kernel”, Virginia Polytechnic Institute and State University, 2002.
[11] Sholin Kyo, Satoshi Sekiguchi and Mitsuhisa Sato, “Data Stream Control Optimization in Dataflow Architectures”, ACM Proceedings of the 7th international conference on Supercomputing, 1993.
[12] Silberschatz, Galvin, Gagne, “Operating System Concepts”, Sixth Edition, Wiley, ISBN 0-471-26272-2.
[13] Texas Instruments, “TMS320C54x DSP Reference Set, Volume 1: CPU and Peripherals”, Literature Number SPRU131G, March, 2001.
[14] Texas Instruments, “TMS320C54x DSP Reference Set, Volume 2: Mnemonic Instruction Set”, Literature Number SPRU172C, March, 2001.
[15] Texas Instruments, “TMS320C54x DSP Reference Set, Volume 5: Enhanced Peripherals”, Literature Number SPRU131G, June, 1999.
[16] Texas Instruments, “TMS320C54x Optimizing C/C++ Compiler User’s Guide”, Literature Number SPRU131G, March, 2001.
[17] Texas Instruments, “TMS320DM270 CPU and Peripherals Technical Reference Manual Version 1.1”.
[18] Texas Instruments, http://www.ti.com/.
[19] μCLinux, http://www.uclinux.org/.
[20] 劉建宏, “A Micro-Kernel for Embedded System with Heterogeneous Multiprocessors”, National Chung Kung University, 2004.
[21] 陳敬, 歐旭江, 羅明遠, “建構於TMS320DSC25之隨身伴唱機”, 2004 Symposium on Digital Life and Internet Technologies, 2004.
[22] 陳敬, 洪文彬, 歐旭江, “Design and Implementation of Embedded μ-Kernel System for Heterogeneous Multiprocessors ”, 2005 Symposium on Digital Life and Internet Technologies, 2005.
[23] 羅明遠, 陳敬, “The Implementation of Hot-Swap Kernel”, 2005 Symposium on Digital Life and Internet Technologies, 2005.
[24] 李宜達, “TIC54xx DSP 原理與實務應用”, 全華科技圖書股份有限公司, 2002, ISBN 957-21-3819-7.
[25] 周霖, “DSP通信工程技術應用”, 國防工業出版社, 2004, ISBN 7-118-03237-9.
[26] 趙炯, “Linux內核完全注釋”, 機械工業出版社, 2004, ISBN 7-111-14968-8.