簡易檢索 / 詳目顯示

研究生: 陳瑞春
Jui-chun Chen
論文名稱: 利用互斥或參照方法提升以字典為基礎之RISC/VLIW程式碼壓縮技術
Improved Dictionary-based Code-compression Schemes with XOR Reference for RISC/VLIW Architecture
指導教授: 林昌鴻
Chang-hong Lin
口試委員: 阮聖彰
none
許孟超
none
吳晉賢
none
學位類別: 碩士
Master
系所名稱: 電資學院 - 電子工程系
Department of Electronic and Computer Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 中文
論文頁數: 65
中文關鍵詞: 字典基礎之程式碼壓縮嵌入式系統
外文關鍵詞: dictionary-based code-compression, embedded system
相關次數: 點閱:146下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 嵌入式系統有著記憶體使用上的限制,且程式碼壓縮技術透過降低應用程式的程式碼大小來解決此一問題。一個有效率的程式碼壓縮技術,其主要的挑戰為,如何在不影響系統整體效能下盡可能的降低程式碼的大小。以字典為基礎的程式碼壓縮技術是目前最常被採用的方法;因為它除了可以提供良好的壓縮效率之外,更可滿足快速的解壓縮需求。
    在本論文中,我們提出一個以「互斥或運算(XOR)」為基礎的參照方法,可應用於現存之所有以字典為基礎的程式碼壓縮技術上;透過改變符號的分佈,可以進一步的提升以字典為基礎的程式碼壓縮技術之壓縮效率。我們的方法可以應用在所有固定指令長度的計算機架構上,例如簡單指令指架構(RISC)或固定長度之超長指令碼架構(VLIW)上。本論文採用TSMC 0.13-um technology library對解碼單元進行合成,並且使用Synopsys公司的工具軟體對功率消耗進行分析;實驗結果指出,我們的方法可以進一步提升程式碼之壓縮效率,並且幾乎不會造成硬體成本、執行效能與系統功耗上之額外負擔。


    Embedded systems are constrained by the available memory, and code-compression techniques address this issue by reducing the code size of application programs. The main challenge for the development of an effective code-compression technique is to reduce the code size without affecting the overall system performance. Dictionary-based code- compression schemes are the most commonly used code-compression methods, because they can provide both a good compression ratio and fast decompression.
    In this dissertation, we propose an XOR-based reference scheme that can enhance the compression ratio on all the existing dictionary-based algorithms by changing the distribution of the symbols. Our approach works on all kinds of computer architecture with fixed length instructions, such as RISC or VLIW. We use Synopsys’ tools to estimate the power consumption using TSMC 0.13-m technology. Experiments show that our approach can further improve the compression ratio with nearly no hardware, performance, and power overheads.

    中文摘要 I Abstract II 誌謝 III 目次 IV 圖索引 VI 表索引 IX 第1章. 緒論 1 1.1. 研究動機與背景 1 1.2. 研究目標與計劃 2 1.3. 論文組織與概觀 2 第2章. 無損耗資料壓縮技術 4 2.1. 資訊理論觀念 4 2.1.1. 前置碼 4 2.1.2. 熵(Entropy) 6 2.1.3. 熵的相關定理 6 2.2. 無損耗資料壓縮技術介紹 8 2.2.1. 統計模式之無損耗壓縮介紹 9 2.2.2. 字典基礎模式之無損耗壓縮法 14 第3章. 無損耗資料壓縮於程式碼壓縮上的應用 21 3.1. 無損耗資料壓縮與程式碼壓縮技術上的差別 21 3.2. 程式碼壓縮系統架構簡介 21 3.3. 壓縮率(Compression Ratio) 22 3.4. 以字典為基礎的程式碼壓縮技術 22 3.5. 相關研究 23 3.6. 標準字典基礎程式碼壓縮法[11](standard dictionary-based code-compression) 24 3.7. 位元遮罩程式碼壓縮法[10](bitmask-based code-compression) 26 3.7.1. bitmask動作原理 27 3.7.2. bitmask中的position形態 28 3.7.3. bitmask對於branch的處理 29 3.7.4. bitmask解壓縮硬體單元 31 第4章. 利用互斥或參照提升以字典為基礎之程式碼壓縮法 33 4.1. 互斥或閘的重要特性 33 4.2. 以互斥或參照應用於字典基礎的程式碼壓縮方法 35 4.2.1. 編碼格式的修正 36 4.2.2. 程式碼壓縮流程的修正 37 4.3. 互斥或參照選擇演算法 37 4.3.1. 以頻率為基礎(frequency-based)的參照資料選擇法 38 4.3.2. 互斥或參照選擇法(XOR reference selection) 39 4.4. 解壓縮硬體的修改 41 第5章. 實驗結果 44 5.1. 壓縮率評估 45 5.2. 面積成本的評估 48 5.3. 功率消耗的評估 49 第6章. 結論與未來方向 53 參考文獻 54

    [1] Synopsys, “Design compiler user guide.” December, 2007.
    [2] Synopsys, “Primepower manual.” June, 2006.
    [3] Uniquify website, http://www.uniquify.com, 2010.
    [4] 蔡文輝, 林家禎, 張真誠, 資料壓縮技術與應用, 全華圖書, 2007
    [5] Texas Instruments, “Literature Number: SPRU731 TMS320C62x DSP CPU and instruction set reference guide.” July, 2006.
    [6] Texas Instruments, “Literature Number: SPRU186N TMS320C6000 assembly language tools user’s guide.” April, 2004.
    [7] Texas Instruments, “Literature Number: SPRU187L TMS320C6000 optimizing compiler user’s guide.” May, 2004.
    [8] Texas Instruments, “Literature Number: SPRU198I TMS320C6000 programmer’s guide.” March, 2006.
    [9] S. Seong and P. Mishra, “An efficient code compression technique using application-aware bitmask and dictionary selection methods.” Design, Automation & Test in Europe Conference & Exhibition, 2007.
    [10] A. Wolfe and A. Chanin, “Executing compressed programs on an embedded RISC architecture.” Microarchitecture, 1992.
    [11] C. Lefurgy, P. Bird, I. Chen and T. Mudge, “Improving code density using compression techniques.” Microarchitecture, 1997.
    [12] H. Lekatsas and W. Wolf, “SAMC: A code compression algorithm for embedded processors.” IEEE transactions on Computer-Aided Design of Integrated Circuits and System, 18(12):1689-1701, 1999.
    [13] H. Lekatsas, J. Henkel, and V. Jakkula, “Design of an one-cycle decompression hardware for performance increase in embedded systems,” Design Automation Conference, 2002.
    [14] S. Larin and T. Conte, “Compiler-driven cached code compression schemes for embedded ILP processors,” in Proc. Int. Symp. Microarchitecture, 1999.
    [15] D. Das, R. Kumar, and P. P. Chakrabarti, “Dictionary based code compression for variable length instruction encodings,” International Conference on VLSI Design, 2005.
    [16] M. Ros and P. Sutton, “A post-compilation register reassignment technique for improving hamming distance code compression,” International Conference on Compilers, Architecture and Synthesis for Embedded Systems, 2005.
    [17] Y. Xie, W. Wolf and H. Lekatsas. “Code compression for embedded VLIW processors using variable-to-fixed coding.” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 14(5):525 - 536, 2006.
    [18] C. Lin, Y. Xie and W. Wolf, “Code compression for VLIW embedded systems using a Self-Generating Table.” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 15(10):1160 - 1171, 2007.
    [19] M. S. Ali, A. Mahajan and N. V. Choudhari “Compiled code compression for embedded systems using evolutionary computing.” Information Technology: New Generations, 2008.
    [20] L. Yang, T. Zhang, D. Wang and C. Hou, “Optimal-partition based code compression for embedded processor.” IEEE 8th International Conference on ASIC, 2009.
    [21] T. Bonny and J. Henkel, “LICT: Left-uncompressed instructions compression technique to improve the decoding performance of VLIW processors.” Design Automation Conference, 2009.
    [22] L. Benini, F. DeMichelli, and M Olivieri, “A class of code compression schemes for reducing power consumption in embedded microprocessor systems,” IEEE Transactions on Computers, Volume 53, Issue 4, April 2004 Page(s):467 - 482.
    [23] J. Lau, S. Schoenmackers, T. Sherwood, and B. Calder, “Reducing Code Size With Echo Instructions,” in Proceedings of the IEEE international conference on compilers, architecture, and synthesis for embedded systems, November 2003.
    [24] S. Shogan and B. R. Childers, “Compact binaries with code compression in a software dynamic translator,” Design, Automation & Test in Europe Conference & Exhibition, 2004.
    [25] O. Ozturk, H. Saputra, M. Kandemir, and I. Kolcu, “Access patternbased code compression for memory-constrained embedded systems,” Design, Automation & Test in Europe Conference & Exhibition, 2007.
    [26] J. Prakash, C. Sandeep, P. Shankar and Y.N. Srikant, “A simple and fast scheme for code compression for VLIW processors.” Data Compression Conference, 2003.
    [27] M. Ros and P. Sutton, “A hamming distance based VLIW/EPIC code compression technique.” International Conference on Compilers, Architecture and Synthesis for Embedded Systems, 2004.
    [28] M. Collin and M. Brorsson, “Two-level dictionary code compression: A new scheme to improve instruction code density of embedded applications.” Code Generation and Optimization, 2009.
    [29] MediaBench Consortium website, http://euler.slu.edu/~fritts/mediabench/
    [30] Texas Instruments, “Literature Number: SPRU509E Code composer studio v3.0 getting started guide.” May, 2004.
    [31] Texas Instruments, “Application Report: SPRAA08 Code composer studio IDE v3 white paper.” July, 2004.

    QR CODE