簡易檢索 / 詳目顯示

研究生: 劉建宏
Liu, Jian-Hong
論文名稱: 異質性多處理器嵌入式系統微核心之設計與實作
A Micro-Kernel for Embedded Systems with Heterogeneous Multiprocessors
指導教授: 陳 敬
Chen, Jing
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2004
畢業學年度: 92
語文別: 中文
論文頁數: 54
中文關鍵詞: 異質性多處理器嵌入式系統微核心
外文關鍵詞: heterogeneous multiprocessors, microkernel, embedded systems
相關次數: 點閱:110下載:3
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  •   本篇論文採用微核心架構在異質性多處理器上建構核心,經由在不同處理器上執行相同設計之核心以提供上層應用程式統一的介面。上層應用程式可依據其所在處理器的特性執行相對應的服務等待其它應用程式的請求。藉由在不同處理器上執行相同核心以及不同特性的應用程式達到系統的擴充性以及彈性。
      本文主要在闡述說明異質性多處理器上微核心的設計。本論文所設計的微核心是以訊息傳遞為基礎;並且將核心分成四個主要部份:行程間通訊、硬體中斷處理、處理器間通訊與排程器。行程間通訊負責行程間的訊息傳遞;發生硬體中斷時則交由硬體中斷處理;處理器間欲相互溝通則是交由處理器間通訊處理;排程器依排程策略負責選出下一個將執行的行程。
      本文所使用的實作平台為德儀公司(Texas Instruments) TMS320DSC25。其內包含了ARM7TDMI與C5409兩個微處理器核心、週邊控制等,屬於異質性多處理器的系統晶片。ARM7是一通用型的32位元處理器可用來控制所有的週邊控制,例如:串列埠、記憶卡、螢幕顯示等週邊輸入輸出裝置。C5409則是一16位元訊數位號處理器,其主要功能是在數位訊號處理上有顯著的效能。
    藉由在DSC25上執行本文設計之微核心,在不同處理器上執行之行程可利用本核心所設計之處理器間通訊傳遞訊息、要求服務以完成特定工作。經由測量本核心在TSM320DSC25上執行之時間可以得到:無論是在那一個處理器上執行本核心,核心內每個關鍵區域之執行時間皆為可預測性。

      This thesis presents how to build a kernel which is based on micro-kernel architecture on a SOC of heterogeneous multiprocessors. The micro-kernel architecture is based on message-passing mechanism. There are four essential parts in the kernel, namely inter-process communication, hardware interrupt handler, inter-processor communication and scheduler. Message-passing between processes is the responsibility of inter-process communication. When a hardware interrupt is triggered, hardware interrupt handler must handle it. Inter-processor communication handles the communication between processors. Choosing next process to execute is scheduler’s duty.
      The kernel described in this thesis has been implemented on a reference design of TI TMS320DSC25 which is a heterogeneous multiprocessors SOC containing a ARM7TDMI core and a C5409 DSP core. ARM7 is a general purpose processor with 32-bit capability, while C5409 is a digital signal processor with 16-bit capability. The ARM processor and the DSP processor run their own copy of the kernel independently. Except the hardware dependent functionality, the two copies of the kernel are designed with the same structure providing same service functions through the same application program interfaces.
      By executing micro-kernel on DSC25, different processes executing on different processors can communicate or request services via inter-processor communication. Finally, every critical sections of the kernel, no matter whichever processor it running on, can complete in a bounded time.

    第一章 簡介............................................... 1 1.1 背景知識.............................................. 1 1.1.1 多處理器架構........................................ 1 1.1.2 多處理器作業系統.................................... 4 1.2 異質性多處理器........................................ 6 1.3 研究動機.............................................. 7 1.4 章節規劃.............................................. 8 第二章 相關研究........................................... 9 2.1 微核心................................................ 9 2.1.1 微核心定義.......................................... 9 2.1.2 微核心架構.......................................... 9 2.2 異質性多處理器作業系統............................... 10 2.3 實例探討............................................. 12 2.3.1 QNX.................................................12 2.3.2 DSPLinux............................................13 2.3.3 AsyMOS..............................................15 第三章 核心架構.......................................... 17 3.1 硬體模式............................................. 17 3.2 核心總覽............................................. 18 3.3 行程間通訊........................................... 19 3.3.1 行程溝通介面....................................... 20 3.3.2 行程訊息傳輸方式................................... 20 3.3.3 訊息格式........................................... 21 3.4 硬體中斷............................................. 22 3.5 處理器間溝通介面..................................... 22 3.6 行程排程............................................. 24 第四章 核心實作.......................................... 25 4.1 硬體架構............................................. 25 4.1.1 DSC25 上ARM 和DSP 溝通的機制....................... 26 4.2 核心實作............................................. 27 4.2.1 行程............................................... 27 4.2.1.1 行程初始化....................................... 30 4.2.1.2 本文切換......................................... 31 4.2.2 行程間通訊......................................... 33 4.2.3 中斷處理........................................... 36 4.2.4 處理器間通訊....................................... 37 4.2.5 行程排程........................................... 39 4.2.6 核心初始化......................................... 40 第五章 系統測試與效能分析................................ 41 5.1 系統測試............................................. 41 5.2 效能分析............................................. 44 第六章 結論與展望........................................ 49 6.1 結論................................................. 49 6.2 展望................................................. 50 參考文獻................................................. 51 自 述.................................................... 54

    [1] ARM, “ARM Architecture Reference Manual”, ARM Doc. No.DDI-0100E.b

    [2] Baumgartl, R., and Härtig, H., “On the Integration of DSP Hardware into a Microkernel-based Operating System”, Proceedings of ICSPAT'96, October, 1996.

    [3] Baumgartl, R., and Härtig, H., “Efficient Communication Mechanisms for DSP-based Multimedia Accelerators”, Proceedings of ICSPAT'97, September, 1997.

    [4] Baumgartl, R., and Härtig, H., “DSPs as flexible Multimedia Accelerators”, Proceedings of EDRC'98, September, 1998.

    [5] Bortolotti, J. F., Bernard, P., and Bouchet, E., “RTMK: A Real-Time Microkernel”, Dr. Dobb’s Journal, May, 1994.

    [6] Crowley, C., “Operating Systems : a Design-Oriented Approach”, Irwin Book Team, 1997, ISBN 0256151512.

    [7] DSPLinux, http://www.cadenux.com/ridgerun.

    [8] Friedrich, L. F., Stankovic, J., Humphrey, M., Marley, M. and Haskins, J., “A survey of Configurable, Component-Based Operating Systems for Embedded Applications”, IEEE Computer, vol.21, no.3, pp 54-68, 2001.

    [9] Furber, S., “ARM System-on-Chip Architecture”, 2nd edition, Addison Wesley, 2000, ISBN 0201675196.

    [10] Gabber, E., Small, C., Bruno, J., Brustoloni, J., and Sliberschatz, A., “The Pebble Component-Based Operating System”, Proceedings of USENIX Annual Technical Conference, pp 267-282, 1999.

    [11] Hildebrand, D., “Message-Passing Operating Systems”, Dr. Dobb’s Journal, June, 1988.

    [12] Hildebrand, D., “An Architectural Overview of QNX”, Proceedings of the USENIX Workshop on Microkernel and Other Kernel Architecture, pp 113-126, 1992.

    [13] Labrosse, J. J., “MicroC/OS II: The Real Time Kernel”, 2nd edition, CMP Books, 2002, ISBN 1578201039.

    [14] Liedtke, J., “On -Kernel Construction”, Proceedings of 15th ACM Symposium on Operating System Principles, pp 237-250, December, 1995.

    [15] Liedtke, J., “Toward Real-Kernels”, Communications of the ACM, vol.39, Issue 9, pp 70-77, September, 1996.

    [16] Liedtke, J., “-Kernels Must And Can Be Small”, 5th IEEE International Workshop on Object-Orientation in Operating Systems, pp 152-155, October, 1996.

    [17] Liu, J. W. S., “Real-Time Systems”, Prentice Hall, 2000, ISBN 0130996513.

    [18] McNutt G., and Fischer T., “Using Linux to Control DSP Processors in Mixed-Processor Systems”, Embedded Edge, Issue 4, pp 8-13, October, 2001.

    [19] Muir, S., and Smith, J., “AsyMOS - An Asymmetric Multiprocessor Operating System”, Proceedings of OPENARCH '98, pp 25-34, April, 1998.

    [20] Mukherjee, B., Schwan, K., and Gopinath, P., “A Survey of Multiprocessor Operating System Kernels”, Technical Report, Georgia Institute of Technology, College of Computing, 1993.

    [21] Sain, B., and Gonsalves, T. A., “KeRTESy: A Real-Time Event-Driven Microkernl”, Dr. Dobb’s Journal, March, 1997.

    [22] Silberschatz, A., and Galvin, P., “Applied Operating System Concepts”, John Wiley, 2000, ISBN 0471365084.

    [23] Singh, K., “Design and Evaluation of an Embedded Real-time Micro-kernel”, Master's Thesis, Department of Computer Science, Virginia Polytechnic Institute and State University, October, 2002.

    [24] Stallings, W., “Operating Systems: Internals and Design Principles”, 4th edition, Prentice Hall, 2001, ISBN 0130319996.

    [25] Tanenbaum, A. S., and Woodhull, A. S., “Operating Systems: Design and Implementation”, 2nd edition, Prentice Hall, 1997, ISBN 0136301959.

    [26] Tanenbaum, A. S., “Structured computer Organization”, 4th edition, Prentice Hall, 1999, ISBN 9814024589.

    [27] Tanenbaum, A. S., “Modern Operating Systems”, 2nd edition, Prentice Hall, 2001, ISBN 0130926418.

    [28] Texas Instruments, “TMS470R1x Assembly Language Tools User's Guide”, Literature Number SPRU118D, March, 1999.

    [29] Texas Instruments, “TMS470R1x Optimizing C/C++ Compiler User's Guide”, Literature Number SPRU151A, April, 1999.

    [30] Texas Instruments, “TMS320C54x DSP Reference Set, Volume 1: CPU and Peripherals”, Literature Number SPRU131G, March, 2001.

    [31] Texas Instruments, “TMS320DSC25 Technical Reference Manual”, 2001.

    [32] Tripathi, A. R., and Karnik, N. M., “Trends in Multiprocessor and Distributed Operating System Designs”, the Journal of Supercomputing, vol.9, no.1/2, pp 23-49, 1995.

    [33] QNX4 System Architecture, http://www.qnx.com.

    下載圖示 校內:立即公開
    校外:2004-07-20公開
    QR CODE