簡易檢索 / 詳目顯示

研究生: 柯昱仰
Ke, Yu-Yung
論文名稱: 微核心作業系統動態電源管理之設計與實作
The Design and Implementation of Dynamic Power Management in Microkernel Operating System
指導教授: 陳 敬
Chen, Jing
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 中文
論文頁數: 107
中文關鍵詞: 動態電源管理(DPM)DVFS微核心資源管理旗標嵌入式系統
外文關鍵詞: DPM, DVFS, Microkernel, Resource management flag, Embedded system
相關次數: 點閱:136下載:2
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文研究並設計與實作以微核心作業系統為基礎架構的動態電源管理(Dynamic Power Management,DPM)機制,其目的在於提供微核心作業系統能夠針對使用者需求設定CPU資源及周邊裝置使用程度,並於滿足效能最低需求情況下,有效減少系統功耗。本論文提出的架構下由下列元件所組成:策略管理器(Policy Manager)、動態電源管理之函式庫(DPM Library)、動態電源管理伺服行程(DPM Server Process)、DVFS控制器(DVFS Controller)與資源管理旗標(Resource Management Flag)等元件。
    本論文之動態電源管理機制實作於XScale PXA270開發平台上,微核心作業系統採用本實驗室開發之Zinix核心,並在作業系統核心上針對處理器及周邊裝置佈署動態電源管理機制。為了能支援電源感知型用程式,實作了DPM函式庫提供使用者設定電源管理參數及指令,以供電源感知型應用程式使用。並透過支援DPM的各項伺服行程,使程式能對硬體層的裝置進行電源管理。為了有效管理系統硬體資源的使用及需求,本論文實作了資源管理旗標(Resource Manager Flag)針對硬體的使用需求進行記錄,避免應用程式同時執行時,因不同的資源的需求度而造成硬體控制上的衝突;並經由實作的電池電源感知電路感測當下電池電量,透過電池電量感知旗標記錄電池電量後,提供給DPM管理器根據當下的電池殘存電量,調整所採用的電源管理策略。
    經由實驗分析本論文實作成果,具備DVFS控制器與 CPU運作於104MHz 工作環境下執行應用程式,其功耗僅相差3~4%,但在執行效率可提升約35%的執行時間,並藉由LCD背光處理的最佳化可降低10%的系統功耗。系統閒置時透過逾時閒置管理,自動關閉未使用的周邊裝置並將CPU切換至低功耗模式,可使系統在電池使用時間延長36%。因此證實本論文實作可有效改進系統的電源節能。

    This thesis presents a study on the design and implementation of a Dynamic Power Management (DPM) mechanism for micro-kernel operating system. The main goal is to reduce the power consumption, while meeting the least performance requirements, of the micro-kernel operating system through managing system resources, including the CPU and peripheral devices, based on their usage parameters set by users or applications. The DPM mechanism designed in this thesis is composed of a policy manager, a DVFS controller, DPM server processes, resource management flags, and a DPM library. They are implemented to work on an embedded system platform, which is equipped with an XScale PXA270 processor and various I/O devices, running the Zinix micro-kernel operating system.
    Among the components of the DPM mechanism, DPM server process and resource management flags are associated to hardware devices of the platform. The flags are used to record the usage requirements set by applications while each DPM server process implements the power management functions of its associated device. In order to fulfill battery-aware power management, the implementation includes a hardware circuit to sense the power capacity of the battery and records the battery status to the associated resource management flag. The DMP library serves as the bridge between the DPM mechanism and user applications. The functions in DPM library can be used to set parameters of power management and conduct power management. Thus, this DPM mechanism supports power-aware applications.
    Through conducting experiments to exercise and test the implementation, it is observed that, running application at CPU frequency of 104MHz with the DVFS controller configured, the improvement of performance in terms of execution time can achieve 35% while the difference in power consumption is less than 4%. In addition, the optimization in handling LCD backlight may obtain 10% reduction of system power consumption. The lifetime of battery can have an extension of 36% when the CPU is switched to low-power mode and inactive peripheral devices are turned off automatically by the idle state detection and management functions of the mechanism. Therefore, the design and implementation of this DPM mechanism effectively improves power management in micro-kernel operating system.

    第1章 緖 論 1 1.1 電源管理簡介 1 1.2 微核心作業系統 2 1.3 研究動機 3 1.4 研究方法 4 1.5 章節規劃 4 第2章 相關研究 5 2.1 CMOS功耗 5 2.2 SOC中主要的功耗 6 2.3 低功耗技術 7 2.4 作業系統之動態電源管理技術 8 2.4.1 動態電壓及頻率調整技術 9 2.4.2 電源感知系統(Power-aware System) 10 2.5 個人電腦架構之動態電源管理技術 11 2.6 LINUX 之頻率管理器 12 2.7 嵌入式作業系統之動態電源管理技術 15 2.7.1 嵌入式Linux DPM架構 15 2.7.2 DPM介面 16 2.7.3 DPM之策略架構 17 2.8 微核心作業系統上的動態電源管理機制 18 2.8.1 QNX Neutrino RTOS 18 2.8.2 Prex RTOS 19 第3章 動態電源管理之設計 22 3.1 概述 22 3.2 ZINIX微核心作業系統 24 3.2.1 Zinix之訊息傳遞機制 24 3.2.2 Zinix之驅動程式模型 25 3.2.3 Zinix之中斷機制 26 3.3 微核心作業系統之動態電源管理機制 26 3.3.1 策略管理器(Policy Manager) 28 3.3.2 動態電源管理伺服行程(DPM Server Process) 28 3.3.3 動態電源管理函式庫(DPM Library) 29 3.3.4 資源管理旗標(Resource Manager Flag) 33 3.3.5 動態電壓頻率調整控制器(DVFS Controller) 36 3.4 核心軟體監控 38 3.5 核心硬體監控 39 第4章 動態電源管理之實作 41 4.1 實作之硬體開發環境 41 4.1.1 Intel Xscale PXA270處理器 42 4.1.2 Creator PreSOC/PXA270周邊裝置 42 4.2 實作之軟體開發環境 42 4.3 DPM使用者層級(USER LEVEL)實作 43 4.3.1 終端機指令(Console Command) 44 4.3.2 電源管理函式庫(DPM Library) 45 4.4 DPM核心層級(KERNEL LEVEL)實作 46 4.4.1 資源管理旗標 (Resource Management Flag) 46 4.4.2 電源感知型管理者行程(Power-aware Manager Process) 49 4.4.3 動態電壓頻率調整控制器(DVFS Controller) 58 4.5 DPM硬體層級(HARDWARE)實作 60 4.5.1 微處理器(PXA270)的電源狀態管理技術 60 4.5.2 TFT-LCD模組及PWM控制電路 69 4.5.3 電池電量感知電路 70 第5章 動態電源管理之測試與效能分析 72 5.1 測試環境 72 5.2 動態電源管理機制之功能性驗證 74 5.2.1 CPU電壓頻率調控功能之驗證 74 5.2.2 CPU工作模式切換功能之驗證 76 5.2.3 資源管理旗標功能之驗證 78 5.2.4 DVFS控制器功能之驗證 83 5.2.5 LCD背光調控功能之驗證 85 5.2.6 電池電量感知機制之驗證 86 5.3 分析與討論 89 5.3.1 訊息傳遞機制之效能評估 89 5.3.2 動態電源管理機制之於系統待機下功耗比較 91 5.3.3 微核心作業系統上DVFS控制器功耗比較 92 5.3.4 DVFS控制器之取樣週期效能分析 95 第6章 結論與未來工作 101 參考文獻 103

    [1] Andres Weissel, Bjorn Beutel,”Cooperative I/O – A Novel I/O Semantics for Energy-Aware Applications”, 5th Symposium on Operating System Design and Implementation, Pages 117-129, 2002.
    [2] Benjamin Roch, “Monolithic kernel vs. Microkernel” , TU Wien, 2004.
    [3] Bishop Brock, Karthick Rajamani, “Dynamic Power Management for Embedded Systems” , IEEE International SOC Conference,Pages 416-419, September 2003.
    [4] C. J. Lian, S. Y. Chien, C. P. Lin, P. C. Tseng, and L. G. Chen, “Power-Aware Multimedia: Concepts and Design Perspectives”, IEEE Circuits and Systems Magazine, Volume 7, Issue 2, Pages 26-34, 2007.
    [5] Chandrakasan, S. Sheng, R. W. Brodersen, “Low-power CMOS digital design”, IEEE Journal of Solid-State Circuits, Volume 27, Pages 473–484, April, 1992.
    [6] Findlay Shearer, “Power Management in Mobile Devices”, Newnes, 2008.
    [7] Hojun Shim, “Low-Power LCD Display Systems”, School of Computer Science and Engineering , Seoul National University, 2006.
    [8] Intel , “Intel® PXA250 and PXA210 Applications Processors Power Fault Management”.
    [9] Intel , “Intel® XScale™ Microarchitecture for the PXA255 Processor”.
    [10] L. C. Feng, J. H. Lu, D. J. Lin, “Design and Implementation of a Dynamic Power Management Framework for Embedded Linux”, APESER, 2009.
    [11] Less Watts, http://www.lesswatts.org/.
    [12] Lin, A. Mallik, P. Dinda, G. Memik, R. Dick, “User- and Process-driven Dynamic Voltage and Frequency Scaling” , IEEE International Symposium on Performance Analysis of Systems and Software, Pages 11-22, April, 2009.
    [13] Linux Kernel Source Code, http://www.kernel.org/.
    [14] M. Weiser, B. Welch, A. Demers, and S. Shenker, “Scheduling for Reduced CPU Energy”, In Proceedings of the 1st Symposium on Operating Systems Design and Implementation, Pages 13-23, November 1994.
    [15] Matt Gillespie, “Power Management in the Intel® PXA27x Series Application Processors”, http://www.intel.com/, April 2005.
    [16] Matt Gillespie, “PXA270 in Power management”, http://www.intel.com/ , April 2005.
    [17] Mohamed Shalan, Dina El-Sissy, “Online power management using DVFS for RTOS”, Design and Test Workshop (IDT), 2009 4th International, Pages 15-17 November. 2009.
    [18] PICOTEST, M3500A DataSheet.
    [19] Prex, “Prex Operating System”, http://prex.sourceforge.net/.
    [20] Intel, “PXA27x Processor Family Developer's Manual”.
    [21] QNX, “Power Management Toolkit User’s Guide”.
    [22] QNX, “QNX Operating System”, http://www.qnx.com/.
    [23] SanDisk, “Ultra II CompactFlash Card”, http://www.sandisk.com/.
    [24] Sheridan Ethier, “APPLICATION-DRIVEN POWER MANAGEMENT”, QNX Software Systems Ltd.
    [25] Venkatesh Pallipadi, Alexey Starikovskiy, “The Ondemand Governor “, Intel Open Source Technology Center.
    [26] Wikipedia, “Advanced Configuration and Power Interface” , http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface.
    [27] Wikipedia, “Advanced power management” , http://en.wikipedia.org/wiki/Advanced_power_management.
    [28] Wikipedia, “PowerPC 400”, http://en.wikipedia.org/wiki/PowerPC_400.
    [29] Wikipedia, “Texas Instruments OMAP”, http://en.wikipedia.org/wiki/Texas_Instruments_OMAP.
    [30] Yung-Hsiang Lu and Giovanni De Micheli, “Comparing System-Level Power Management Policies”, IEEE Design & Test of Computers, March–April 2001, Pages 10-19.
    [31] Yung-Hsiang Lu and Luca Benini, “Power-Aware Operating Systems for Interactive Systems, ” IEEE Transactions on Very Large Scale Integration Systems , April, 2002, Pages 119-134.
    [32] Zhang Yuhua, Qian Longhua, Lv Qiang, Qian Peide, Zhao Lei, “A dynamic frequency scaling solution to DPM in embedded Linux systems”, IRI '09. IEEE International Conference on, 2009, Pages 256-261.
    [33] 王振穎, “一個改善緩衝區管理策略以提高系統效能的方式”, 資訊工程系碩士學位論文, 元智大學, 2006.
    [34] 平田豐, “Linux Device Driver Programming驅動程式設計”, 博碩文化股份有限公司, 2008.
    [35] 即時與內嵌式系統實驗室, “Zinix技術手冊”, 國立成功大學電腦與通信工程研究所, 2006.
    [36] 李榮華, “嵌入式即時系統之能源管理機制”, 電機工程學系碩士論文, 國立成功大學, 2004.
    [37] 杜偉瑜, “多工系統中個別工作耗電量分析工具”, 資訊工程研究所碩士論文, 國立中正大學, 2005.
    [38] 柳可芸, “即時系統上動態電壓調變演算法之設計分析與研究”, 資訊工程學系碩士論文, 國立清華大學, 2005.
    [39] 洪文彬, “嵌入式微心系統之設計與實作”, 碩士論文, 國立成功大學, 2005.
    [40] 許海燕, 盧傳, 楊晨暉, 吳芸, “低能耗嵌入式系統的設計”, 計算機應用研究 19卷6期, 2002年6月.
    [41] 郭煒, ”SoC嵌入式系統晶片設計-從理論邁向實務” , 博碩文化股份有限公司, 2007.
    [42] 陳宏達, “嵌入式Linux2.6在ARM9嵌入式SoC系統的節能優勢” , 國立高雄海洋科技大學學報, 第二十三期, Pages 91-92.
    [43] 黃俊霖, “微核心作業系統通用串列匯流排驅動程式之設計與實作”, 電機工程學系碩士論文, 國立成功大學, 2009.
    [44] 新華電腦公司, http://www.microtime.com.tw/product/PreSOCes/PreSOCes.htm.
    [45] 劉宗益, “中央處理器深睡眠模式對個人數位助理電池壽命之影響”, 電子工程系碩士學位論文, 國立台灣科技大學, 2006.
    [46] 賴建元(Chien-Yuan Lai), 林勁宏(Jin-Hon Lin), 王耀鋒(Yao-Feng Wang), “DVFS SoC 設計與實現”, 工研院系統晶片科技中心《系統晶片》03期, Pages 84-91 .
    [47] 應德臻, 施向玨, “嵌入式Linux動態電源管理機制之實作與探討”, ICL Technical Journal, Pages 150-155, May.25.2007.

    下載圖示 校內:立即公開
    校外:2010-08-30公開
    QR CODE