簡易檢索 / 詳目顯示

研究生: 陳韋翰
Chen, Wei-Han
論文名稱: EcoSwap: A Compiler-Assisted Lightweight Demand Code-Paging Scheme for Sensor Nodes
EcoSwap: 在無線感測平台上透過編譯器協助的輕量需求程式分頁機制
指導教授: 周百祥
Chou, Pai H.
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2009
畢業學年度: 97
語文別: 英文
論文頁數: 58
中文關鍵詞: 嵌入式系統無線感測網路
外文關鍵詞: Embedded System, Wireless Sensor Network
相關次數: 點閱:2下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文提出EcoSwap,在無線感測平台上透過編譯器協助的輕量需求
    程式分頁機制(code-paging scheme)。分頁管理器(page manager)管理在微控制器記憶體及外部儲存裝置的分頁。它是在編譯階段藉由編譯器和連接器(linker)來修改原先應用程式並將自已加入此應用程式。EcoSwap 會將函式(function)的呼叫及回傳(return)指令做修改並且分割較大的函式。為了最小化EcoSwap 執行的系統開銷,我們採用二個優化(optimization)來增加系統效能。


    In this thesis, we propose an application-specific demand code-paging scheme named EcoSwap for resource-constrained wireless sensor platform with EEPROM or FLASH as secondary storage. A page manager manages the pages between the on-chip RAM and the secondary storage. The page manager is generated by a compiler and is combined with the application code. EcoSwap transforms function call/return instructions into calls to the page manager and function that are larger than the page size into multiple functions. As a result, each code page can be loaded into RAM upon demand. To minimize the execution overhead, EcoSwap adopts two optimization techniques to improve
    performance.

    1 Introduction 1.1 Motivation 1.2 Objectives 1.3 Contributions 2 Related Work 2.1 Memory Overlay 2.2 Virtual Memory 2.3 Memory Compression 2.4 Code Banking 3 Problem Statement and Requirements 3.1 Goals and Assumptions 3.2 Requirements 3.2.1 Dynamic Loading 3.2.2 Virtual Memory 3.2.3 Code Optimization and Completion Time 4 System Design 4.1 Framework Overview 4.2 EcoSwap Compiler Transformation 4.3 EcoSwap Page Manager 4.4 Optimizer 5 Implementation 5.1 Compile-Time Transformation 5.1.1 Replace Function Parameter and Function Call 5.1.2 Function Division 5.1.3 EcoSwap Page Manager Header File 5.1.4 Code Segment Relocation 5.2 EcoSwap Page Manager 5.2.1 Software Acceleration 5.2.2 Inlined Assembly 5.3 Optimization 5.3.1 Pinning Code Page 5.3.2 Aggregation 6 Evaluation and Results 6.1 Experimental Setup 6.1.1 Sensor Platform 6.1.2 Eco Development Board 6.1.3 Software Tool 6.2 Experimental Results 6.2.1 Execution Time of EcoSwap Page Manager 6.2.2 Application Results 6.3 Discussion and Analysis 7 Conclusions and Future Work 7.1 Conclusions 7.2 Future Work 7.2.1 Function Split Method 7.2.2 Data Paging

    [1] Code banking. http://www.keil.com/support/man/docs/lx51/lx51_codebanking.htm.

    [2] Kcachegrind. http://kcachegrind.sourceforge.net/html/Home.html.

    [3] Lzo real-time data compression library. http://www.oberhumer.com/opensource/lzo/.

    [4] Valgrind. http://valgrind.org/.

    [5] BAI, L. S., YANG, L., AND DICK, R. P. Automated compile-time and run-time techniques
    to increase usable memory in mmu-less embedded systems. In CASES ’06: Proceedings of the
    2006 international conference on Compilers, architecture and synthesis for embedded systems
    (New York, NY, USA, 2006), ACM, pp. 125–135.

    [6] CHOUDHURI, S., AND GIVARGIS, T. Software virtual memory management for mmu-
    less embedded systems. Tech. rep., Center for Embedded Computer Systems, University of
    California, Irvine, NOV 2005.

    [7] COMPANY, K. A. A. LX51 User’s Guide.

    [8] COOPRIDER, N. D., AND REGEHR, J. D. Offline compression for on-chip ram. In PLDI
    ’07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and
    implementation (New York, NY, USA, 2007), ACM, pp. 363–372.

    [9] EGGER, B., KIM, C., JANG, C., NAM, Y., LEE, J., AND MIN, S. L. A dynamic code place-
    ment technique for scratchpad memory using postpass optimization. In CASES ’06: Proceedings
    of the 2006 international conference on Compilers, architecture and synthesis for embedded sys-
    tems (New York, NY, USA, 2006), ACM, pp. 223–233.

    [10] EGGER, B., LEE, J., AND SHIN, H. Scratchpad memory management for portable systems
    with a memory management unit. In EMSOFT ’06: Proceedings of the 6th ACM & IEEE
    International conference on Embedded software (New York, NY, USA, 2006), ACM, pp. 321–
    330.

    [11] LEKATSAS, H., HENKEL, J., AND WOLF, W. Code compression for low power embedded
    system design. In DAC ’00: Proceedings of the 37th conference on Design automation (New
    York, NY, USA, 2000), ACM, pp. 294–299.

    [12] PARK, C., AND CHOU, P. H. Eco: Ultra-wearable and expandable wireless sensor platform. In
    BSN ’06: Proceedings of the International Workshop on Wearable and Implantable Body Sensor
    Networks (Washington, DC, USA, 2006), IEEE Computer Society, pp. 162–165.

    [13] PARK, C., LIM, J., KWON, K., LEE, J., AND MIN, S. L. Compiler-assisted demand paging
    for embedded systems with flash memory. In EMSOFT ’04: Proceedings of the 4th ACM inter-
    national conference on Embedded software (New York, NY, USA, 2004), ACM, pp. 114–124.

    [14] PARK, H.-W., OH, K., PARK, S., SIM, M.-M., AND HA, S. Dynamic code overlay of sdf-
    modeled programs on low-end embedded systems. In DATE ’06: Proceedings of the conference
    on Design, automation and test in Europe (3001 Leuven, Belgium, Belgium, 2006), European
    Design and Automation Association, pp. 945–946.

    [15] SILBERSCHATZ, A., GALVIN, P. B., AND GAGNE, G. Applied Operating System Concepts.
    John Wiley and Sons, 200.

    [16] VERMA, M., WEHMEYER, L., AND MARWEDEL, P. Dynamic overlay of scratchpad mem-
    ory for energy minimization. In CODES+ISSS ’04: Proceedings of the 2nd IEEE/ACM/IFIP
    international conference on Hardware/software codesign and system synthesis (New York, NY,
    USA, 2004), ACM, pp. 104–109.

    [17] YANG, L., DICK, R. P., LEKATSAS, H., AND CHAKRADHAR, S. Crames: compressed ram for
    embedded systems. In CODES+ISSS ’05: Proceedings of the 3rd IEEE/ACM/IFIP international
    conference on Hardware/software codesign and system synthesis (New York, NY, USA, 2005),
    ACM, pp. 93–98.

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE