跳到主要內容

臺灣博碩士論文加值系統

(216.73.216.172) 您好!臺灣時間:2025/09/11 10:54
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:戴偉堯
研究生(外文):Wei-Yao Tai
論文名稱:uC/OS-II上可攜的對稱式多處理器模組設計
論文名稱(外文):A Portable SMP Module Design on uC/OS-II
指導教授:薛智文薛智文引用關係
學位類別:碩士
校院名稱:國立臺灣大學
系所名稱:資訊工程學研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2009
畢業學年度:97
語文別:英文
論文頁數:57
中文關鍵詞:嵌入式系統uC/OS-IISMP 模組
外文關鍵詞:embedded systemuC/OS-IISMP module
相關次數:
  • 被引用被引用:0
  • 點閱點閱:362
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
隨著越來越複雜的多媒體應用程式的發展,嵌入式平台上的處理器能力也越來越受重視,最近的多處理器嵌入式平台已經從原本的數位訊號處理器(DSP),轉移到對稱式多處理器架構。然而,在嵌入式即時作業系統 uC/OS-II 上卻不支援多核心架構。在這篇論文裡,我們在 uC/OS-II 上加入了一個 SMP 模組。透過這個模組,可以讓作業系統提升整體工作處理量以增進效能。同時,我們也提出了兩種不同的 SMP 模組實作方式,並且根據不同的嵌入式系統開發條件下,例如產品開發時程、應用程式的即時性、系統中記憶體的多寡等,給予不同方式的使用建議。
As the applications becoming complex, the requirements for computing power
have become more critical. The embedded platform development has shifted
attention from a focus on Digital Signal Processor(DSP) support to SMP archi-
tecture. Most researches focus on improving the performance of applications at
algorithm or compiler level on multiprocessor. However, scheduling is also one
of the most important roles in improving the performance on multiprocessor
system. In this thesis, we propose an SMP module to allow easy integration
with a real-time embedded operating system μC/OS-II. With this modulized
SMP design, μC/OS-II could utilize resource efficiently on x86 multiprocessor
machine easily. We adopt two different task queue implementations, shared
task queue and independent task queues, to achieve flexible configuration for
different situations. For shared task queue, all processors access the same task
queue and it is suitable for more real-time demand, less memory space, and
shorter development time. For independent task queues, each processor has
their own task queue, this method is suitable when there are both real-time
tasks and non-real-time tasks in the system, and it is more efficient in general.
Our implementation shows that such flexibility of our SMP module in support-
ing μC/OS-II on multiprocessor system is quite beneficial.
1 Introduction 1
2 Background 4
2.1 μC/OS-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Task Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 SMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Implementation 15
3.1 Porting to x86 Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Real Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.2 Protected Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.3 Source Code Revising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Multicore Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1 PIC mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.2 Virtual Wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.3 APIC mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.4 MP Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4 Experiments and Results 41
4.1 Experiment Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2 Unfair CPU Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3 Shared Task Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
i
4.4 Independent Task Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5 Conclusion and Future Work 54
Bibliography 55
[1] Embedded.com, http://www.embedded.com/.
[2] Intel corporation. http://www.intel.com/index.htm. 2004.
[3] μC/OS-II, Micrium.com, Embedded Software Components.
http://www.micrium.com/, Oct. 2008.
[4] The Linux Kernel Archives. http://www.kernel.org/, Feb. 2009.
[5] Peter B. Galvin Abraham Silberschatz. Operating System Concepts.
Addison-Wesley, Reading, Massachusetts, fourth edition, February 1994.
[6] Peter Baer Galvin Abraham Silberschatz, Greg Gagne. Operating System
Principles, Seventh Edition. John Wiley, 2004.
[7] M. Miranda F. Catthoor H. De Man. C. Kulkarni, C. Ghez. Cache con-
scious data layout organization for conflict miss reduction in embedded
multimedia applications. Computers, IEEE Trans., 54:76–81, Jan. 2005.
[8] M. Cesati and D. P. Bovet. Understanding the Linux Kernel, 2nd Edition.
O’Reilly, 2003.
[9] Intel. 82093aa io advanced programmable interrupt controller(io apic). May
1996.
[10] Intel. 82371fb(piix) and 82371sb(piix3) pci isa ide xcelerator. April 1997.
[11] Intel. Multiprocessor specification, version 1.4. May 1997.
[12] Intel. Ia-32 intel architecture software developers manual, volume 3a: Sys-
tem programming guide, part 1. Nov 2008.
[13] Intel. Intel 64 and ia-32 architectures software developer’s manual - volume
1 basic architecture. Nov 2008.
[14] M. Tim Jones. Inside the linux scheduler, http://www.ibm.com/
developerworks/linux/library/l-scheduler/. Jun. 2006.
[15] M. Tim Jones. Linux and symmetric mul-
tiprocessing, http://www.ibm.com/ developerworks/library/l-linux-smp/.
Mar. 2007.
[16] Brian C. Smith Ketan Patel and Lawrence A. Rowe. Performance of a
software mpeg video decoder. Proceddings of the ACM, 1993.
[17] Jean J. Labrosse. MicroC/OS-II The Real-Time Kernel, Second Edition.
CMP Books, 2003.
[18] Sha-Chou Yang. Analysis of the linux 2.4 scheduler, http://www.ibm.com/
developerworks/cn/linux/kernel/l-k24sch/. Mar. 2004.
[19] Sha-Chou Yang. Inside the linux scheduler, http://www.ibm.com/
developerworks/cn/linux/kernel/l-kn26sch/. Apr. 2004.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top