簡易檢索 / 詳目顯示

研究生: 洪明璋
Ming-Chang Hung
論文名稱: uC/OS-II 於多核心處理器平台之實作
Implement uC/OS-II on Homogeneous multicore processor
指導教授: 謝仁偉
Jen-Wei Hsieh
口試委員: 黃元欣
Yuan-Shin Hwang
張立平
Li-Pin Chang
張原豪
Yuan-Hao Chang
學位類別: 碩士
Master
系所名稱: 電資學院 - 資訊工程系
Department of Computer Science and Information Engineering
論文出版年: 2011
畢業學年度: 99
語文別: 中文
論文頁數: 74
中文關鍵詞: μC/OS-II對稱式多核心處理器(SMP)
外文關鍵詞: μC/OS-II, Symmetric MultiProcessing (SMP)
相關次數: 點閱:211下載:5
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報

近年來, 嵌入式系統越來越強調大量運算、多媒體的整合, 以及穩固的通訊
功能, 因此單核心處理器已不敷需求。目前普遍的解決方法是透過多核心處理器
來滿足大量運算的需求; 嵌入式系統中, 多核心處理器的使用越來越普遍,其低
功率、低耗能和高效能的特性完全符合嵌入式系統的需求。μC/OS-II是一套簡單
而有效率的即時作業系統, 本身支援多工執行(multitask), 但不支援對稱式多核
心x86處理器(SMP)。本論文主要目的是將μC/OS-II移植到x86多核心處理器平台,
我們開發了獨立的多核心處理器程式模組,並修改μC/OS-II 核心的排程器, 使μ
C/OS-II 可運作於對稱式多核心處理器平台, 並有效地利用每個處理器, 以達到
系統的最大效能。


In recent years, the increasing demands on computational performance make uniprocessor infeasible for embedded systems. With low power, low energy consumption, and high performance features, multiprocessor are widely adopted in embedded systems. μC/OS-II is a simple and efficient real-time operating system and supports multitasking. However, it is designed for uniprocessor platform and does not support Symmetric MultiProcessing (SMP). The major goal of our research is porting μC/OS-II to x86 multi-core platform. We develop an independent multi-core module and modify the scheduler in μC/OS-II kernel to make μC/OS-II applicable in multiprocessor platform such that the capability of each processor can be fully utilized!

1 緒論6 1.1 即時作業系統簡介. . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 多核心處理器架構簡介. . . . . . . . . . . . . . . . . . . . . . . 7 1.3 多核心處理器作業系統. . . . . . . . . . . . . . . . . . . . . . . 8 1.4 研究動機與論文架構. . . . . . . . . . . . . . . . . . . . . . . . 10 2 相關研究技術背景12 2.1 C/OS-II簡介. . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.1 工作管理. . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.2 工作狀態. . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.3 事件管理. . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.1.4 工作排程的處理流程. . . . . . . . . . . . . . . . . . . . 15 2.2 FAT檔案系統. . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.1 FAT檔案系統儲存裝置的整體佈局. . . . . . . . . . . . . 17 2.2.2 FAT檔案系統開機磁區. . . . . . . . . . . . . . . . . . . 17 2.3 記憶體定址模式- Big Real Mode 介紹. . . . . . . . . . . . . . 18 2.4 Advanced Program Interrupt Controller . . . . . . . . . . . . . 23 2.4.1 LOCAL APIC . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.2 I/O APIC . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.5 x86 處理器的Symmetric MultiProcessor 架構. . . . . . . . . . 29 2.6 多核心處理器初始化協定介紹. . . . . . . . . . . . . . . . . . . 31 3 OS架構與實作34 3.1 x86多核心系統硬體架構. . . . . . . . . . . . . . . . . . . . . . 34 3.2 多核心嵌入式作業系統軟體架構. . . . . . . . . . . . . . . . . . 34 3.3 系統開機流程. . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4 作業系統記憶體配置. . . . . . . . . . . . . . . . . . . . . . . . 40 3.5 Application Processor Startup . . . . . . . . . . . . . . . . . . 41 3.6 多核心處理器程式模組. . . . . . . . . . . . . . . . . . . . . . . 45 4 OS開發過程所遭遇之問題與解決方案50 4.1 重新定址(Relocation) . . . . . . . . . . . . . . . . . . . . . . . 50 4.2 製作Startup Code . . . . . . . . . . . . . . . . . . . . . . . . 53 4.3 未知的中斷. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.4 USB儲存裝置開機原理探討. . . . . . . . . . . . . . . . . . . . 57 4.5 如何讓USB 儲存裝置的FAT32檔案系統可以在WINDOWS 下 正常被辨別. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5 開發工具62 6 效能分析65 6.1 矩陣乘法介紹. . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.2 結果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7 結論與未來展望70 7.1 結論. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.2 未來展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

[1] Jean J. Labrosse,”Microc/OS II:The Real-Time Kernel”,CMP Publishedr,
2002.
[2] Intel Corporation,”Intel 64 and IA-32 Architectures Software Developer’s
Manual Volume III”,2008.
[3] Intel Corporation,”Multiprocessor Specification”,1997.
[4] 馬林,”資料重現-檔案系統原理精解與資料恢復最佳實踐”, 佳魁,2009.
[5] 胡竹生, 伊燕陶,”即時多工核心程式設計”, 全華科技,2002.
[6] 于淵,”自己動手寫作業系統”, 文魁資訊,2007.
[7] 共筆首頁-作業系統設計與實做. http://cs101.cs.ccu.edu.tw/.
[8] Arium. http://www.arium.com/.
[9] Bochs. http://bochs.sourceforge.net/.
[10] WinHex. http://www.x-ways.net/winhex/.
[11] 白俊德,”Implementation and comparison of Real-time Schedulers on a
Heterogeneous Dual-core System-on-Chip”, 碩士論文,2011.
[12] 郭書銘,”Design and Implementation of RTOS in Hardware Software
Codesign”, 碩士論文, 2007.
[13] Microsoft Corporation,”FAT32 File System Specification”,2000.
[14] Andrew Tucker and Anoop Gupta,”Process Control and Scheduling Issue
for Multiprogrammed Shared-Memory Multiprocessors”,ACM,1989.

QR CODE