簡易檢索 / 詳目顯示

研究生: 梁春鴻
Liang, Chun-Hung
論文名稱: 在多核心平台上設計與實作一具節能功能之Android數位音樂相框
Design and Implementation a Power-saving Digital Music Photo Frame on Android Multi-core Platform
指導教授: 楊竹星
Yang, Chu-Sing
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 中文
論文頁數: 66
中文關鍵詞: 節能異質多核心
外文關鍵詞: heterogeneous, Android, PAC, Linux
相關次數: 點閱:112下載:4
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 近年來,多核心處理器架構蓬勃發展,為了提升效能及解決功率消耗的問題,對多媒體嵌入式系統環境而言,常使用異質(heterogeneous)多核心系統,本文的實驗平台是工研院的PAC Duo SoC,此晶片由一顆ARM處理器及兩顆 DSP處理器組成,我們在Android作業系統設計實作音樂數位相框應用程式,充分發揮多核心平台的特性,讓ARM與DSP處理器各司其職,平行處理音樂數位相框應用程式所需執行的工作。在目前嵌入式系統中,GHz等級的處理器已屢見不鮮,但電池的技術卻趕不上效能的提升速度,本文並在平台上設計節能的機制,分別在ARM端與DSP端設計節能機制,首先,在Android作業系統的Linux核心實作一個背景守護程式,讓系統根據目前的工作負載(workload),自動調整處理器功率狀態,動態調整處理器的電壓頻率( Dynamic Voltage Frequency Scaling (DVFS) ),我們修改了Linux核心原本就有的節能演算法Ondemand Governor,並與其做比較,經過我們音樂數位相框的實驗,有更好的節能效果,並在Android開發應用層的省電機制,讓應用程式開發者可以依據應用的不同,自行測試並定制適當的功率狀態,在不影響使用者系統穩定以及感官效果的需求下完成工作,而在DSP端的作業系統μC/OS-II,修改排程演算法為EDF (Earliest Deadline First)機制,並設計節能機制,可以達到約40%的省電效果。
    本文在硬體平台上解決PAC開發板原本無法對ARM調整電壓頻率的問題,將ARM與ㄧDSP的接腳交換解決無法調整電壓的問題,並用軟體修正硬體的缺陷,使頻率也可調整;軟體方面,Android是目前當紅的開放性嵌入式軟體平台,但儘管其開放性,各手機大廠還是必須移植許多的解碼器讓DSP處理器或是硬體晶片平行處理,以增加其效能,本文涵蓋開發Android手機軟體的流程:Android各層的開發與溝通機制、多核心協同處理與解碼器移植、Android應用程式開發、韌體與驅動程式實作,與JNI (Java Native Method)機制的使用,讓不同的程式語言能夠互相溝通。

    Recently, the multi-core system has developed rapidly and become more and more popular. For evaluating the performance and solving the power consumption problems, we usually use heterogeneous multi-core processors in multimedia embedded system. The experimental platform in this paper is PAC Duo SoC which embedded an ARM processor and two DSP cores. We design and implementation an application named “Digital Music Photo Frame” which brings the multi-core environment into full play. We implement the ARM and DSP cores perform their duties to parallel execute the jobs for the photo frame application. In addition, we design a power-saving mechanism in the platform. Nowadays, it is nothing new to the GHz level processor. However, the battery techniques can not keep up with the promotion of CPU performance. We design two aspects for power-saving issue for ARM and DSP processors. First, we make a daemon in the Linux kernel of Android operating system. It can automatically tune the processors’ power states based on workload and make the dynamic voltage frequency scaling (DVFS). We modify the energy algorithm in original Linux kernel named “Ondemand Governor”, and our algorithm consumes less energy for our digital music photo frame experiments. Second, we design the application based power-saving mechanism for Android. It make application programmers test and set the appropriate power states according to the applications. They can design a power states without affecting system stability and users’ sensory effects. Finally, we modify the operating system on DSP named μC/OS-II. We modify the scheduler and it can execute the EDF (Earliest Deadline First) mechanism. The experiments show that we can save about 40% electric power.
    In this paper, we solve the problem of the hardware platform “PAC” which can not tune ARM voltage and frequency. We change the power supply line of ARM and one DSP then we can tune the ARM voltage. In addition, we use software technique to solve hardware defect. Thus, we can tune the ARM frequency. In the aspect of software platform, Android is one of the most popular embedded platform. Despite the open source property, the mobile phone company also has to port the codec which make the DSP processor or hardware IC parallel computing for the better performance. This paper proposes the flow path to develop the Android software to market. It mainly includes how to implement Android layer communication, how to make co-work between multiple cores and codec porting, how to develop Android applications, how to implement firmware and driver, and JNI methods to communicate with different programming language.

    第一章 緒論 9 1.1 研究動機 9 1.2 研究目的 9 1.3 章節提要 10 第二章 硬體平台與軟體架構介紹 12 2.1 PAC Duo DSP開發板與動態功率調節的發展與功率的計算 12 2.2 Android軟體架構介紹 18 2.3 Android的節能機制 21 2.4 Linux核心功率管理模組Ondemand Governor 27 2.5 PAC開發板的節能與疑難排解 28 第三章 Android數位音樂相框應用程式設計與實作 33 3.1 系統架構 33 3.2 應用程式使用流程 34 3.3 功能架構設計 36 3.4 DSP JPEG解碼器與程式的溝通 (IPC) 38 3.5 VIEW SYSTEM子系統設計與實作 40 3.6 MP3解碼器與Media Player 41 第四章 ARM端功率管理設計 43 4.1 APP Based PM 43 4.2 DDD (Double Dynamic Demand) 功率管理 46 第五章 DSP端排程器修改與功率管理設計 52 第六章 實驗結果與討論 56 6.1 ARM端節能成果展示 56 6.2 DSP端節能成果展示 60 第七章 結論與未來展望 63 參考文獻 65

    [1] C. Chun and A. Barth. eXtreme energy conservation for mobile communications. Freescale Technology Forum, slide 3, July 2006.
    [2] 瞿萬邦、蘇文建、陳仕杰、蘇慶龍, "高畫質多媒體PAC Duo SoC-台灣首顆Android多核心晶片解決方案現身", 零組件雜誌, pp. 30-37, March, 2009.
    [3] Industrial Technology Research Institute (ITRI), "PAC Duo Programming’s
    Reference", 2009.
    [4] L. Benini and G. De Micheli. System-Level Power Optimization: Techniques and Tools. ACM Transactions on Design Automation of Electronic Systems, 5(2):115–192, 2000.
    [5] K. Nowka et al. A 32-bit PowerPC System-on-a-Chip with Support for Dynamic Voltage Scaling and Dynamic Frequency Scaling. IEEE Journal of Solid-State Circuits, vol. 37(11), pp. 1441–1447, Nov. 2002.
    [6] C. Y. Lai, J. H. Lin and Y. F. Wang. DVFS SoC Architecture and Implementation. SoC Technology Journal, Vol. 3, pp. 84-91, Nov. 2005.
    [7] R. Kravets and P. Krishnan, Application-driven power management for mobile communication. ACM Wireless Networks, pp. 263–277, July 2000.
    [8] C. Pereira, R. Gupta, and M. Srivastava, PASA: A SOFTWARE ARCHITECTURE FOR BUILDING POWER AWARE EMBEDDED SYSTEMS. IEEE CAS Workshop on Wireless Communication and Networking Conference, 2002.
    [9] P. Pillai and K. G. Shin. Real-Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems. In Proceedings of 18th ACM Symposium on Operating Systems Principles (SOSP’01), pages 89–102, October 2001.
    [10] S. Y. Tseng and M. W. Chang, DVFS aware Techniques on Parallel Architecture Core (PAC) Platform. IEEE DOI 10.1109/ICESS.Symposia.2008.87, 2008.
    [11] http://developer.android.com/guide/basics/what-is-android.html.
    [12] Dominik Brodowski. Current trend in linux kernel power management, linuxtag 2005. http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.pdf.
    [13] The ondemand governor, V Pallipadi, A Starikovskiy - Proc. of the Linux Symposium, 2006 – Citeseer.
    [14] R. Baumgartl and H. Hartig, “DSPs as flexible Multimedia Accelerators,” Second European Conference on Real-Time Systems, Paris, France, September 1998.
    [15] J. Chen, C. P. Young, D. W. Chang, G. Y. Huang, C. Y. Ke, S. T. Yen and T. S. Kuo, “Building Multi-Kernel Embedded System on PAC Multi-Core Platform,” 10th International Conference on Quality Software, 2010.
    [16] Jean J. Labrosse, MicroC/OS-II: The Real-Time Kernel, 2nd ed., CMP books, 2002.

    下載圖示 校內:2015-09-08公開
    校外:2015-09-08公開
    QR CODE