簡易檢索 / 詳目顯示

研究生: 楊學昌
Yang, Hsueh-Chang
論文名稱: 以8086為平台之指令壓縮法
An Instruction Compression Method for 8086 Embedded Applications
指導教授: 陳中和
CHEN, CHUNG-HO
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2003
畢業學年度: 91
語文別: 英文
論文頁數: 48
中文關鍵詞: 指令壓縮
外文關鍵詞: code compression
相關次數: 點閱:84下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 我們在此提出一個可以減少8086嵌入式系統記憶體大小的方案。每一個指令中的欄位以一個代碼取代,此代碼先由arithmetic coding產生,再經由我們所提出的演算法重新編碼。而重新編碼是依據arithmetic coding編碼後的碼長來安排。一個重新編碼後的代碼,是由group codeword及offset組成。
    重新編碼可以減少解碼單元中Content Address Memory的大小。我們設計一個即時解壓縮單元,把即將要被執行的程式解壓縮。因應解壓單元的需要,我們需要儲存一些解碼相關的資訊,然而這些資訊量是固定的。
    因為程式壓縮的關係,可能導致被壓縮後程式不再儲存於原先規劃的記憶體位置中。因此一個Line Address Table將被用來做位置空間的轉換。
    運用我們所提出的方案來壓縮8086程式,可達70﹪~75﹪的壓縮率。

    We propose a method to reduce the size of memory usage in 8086 embedded applications. Each field in an instruction is substituted by a re-coded codeword. We use arithmetic coding algorithm to generate codeword first and re-code the codeword according to their length. A re-coded codeword is composed of a group codeword and an offset.
    Re-coding can reduce the CAM (content address memory) size in decompression unit. We design a run-time decompression unit to decompress the compressed code on the-fly before execution. Several extra tables are used to keep the decompression information. The sizes of these tables are fixed.
    The location of instruction branch target changes as a result of program compression. A LAT (Line Address Table) is used to translate the program address into the address of compressed instruction.
    The compression ratio for some 8086 programs is about 70%~75% using our method.

    Chapter 1 Introduction 1 1.1 Motivation 1 1.2 Contribution of this thesis 1 1.3 Organization of this thesis 2 Chapter 2 System Description 3 2.1 Related works 3 2.2 Instructions fetch flow 4 2.3 Instruction cache 6 2.4 Design issues – CISC & RISC 6 2.5 Decompression flow 7 Chapter 3 Compression Algorithm 9 3.1 Features 9 3.2 Partitioning each instruction into three fields 10 3.3 Coding each field 12 3.4 Grouping &the components of a new codeword 13 3.5 How to assign an offset 15 3.6 How to assign a group codeword 21 3.7 Compression process 26 Chapter 4 Decompression Unit 31 4.1 Decompression flow 31 4.2 LAT (Line Address Table) 35 4.3 Decompression hardware 38 Chapter 5 Result & Conclusion 41 5.1 Simulation result 41 5.2 Conclusion 45 Reference 46 Vita 48

    [1]. Andrew Wolfe and Alex Chanin, “Executing compressed programs on an embedded RISC processor,” In 25th Annual International Symposium on Microarchitecture, pages 81–91, Dec. 1992.
    [2]. Lefurgy, C., Bird, P., Chen, I. -C. and Mudge, T., “Improving code density using compression techniques,” in Proceedings. Thirtieth Annual IEEE/ACM International Symposium on Microarchitecture, Pages 194 –203, Dec. 1997.
    [3]. Lefurgy, C., Piccininni, E.and Mudge, T., “Evaluation of a high performance code compression method,” in Proceedings. 32nd Annual International Symposium on Microarchitecture, Pages 93 –102, 1999.
    [4]. Lefurgy, C., Piccininni, E.and Mudge, T., “Reducing code size with run-time decompression,” in Proceedings. Sixth International Symposium on High-Performance Computer Architecture, Pages 218 –228, 2000.
    [5]. Benini, L., Bruni, D., Macii, A.and Macii, E., “Hardware-assisted data compression for energy minimization in systems with embedded processors,” in Proceedings. Design, Automation and Test in Europe Conference and Exhibition, Pages 449 –453, 2002.
    [6]. Benini, L., Macii, A., Macii, E. and Poncino, M., “Region compression: a new scheme for memory energy minimization in embedded systems,” in Proceedings. 25th, EUROMICRO, Conference, Volume: 1, Pages 311 -317, 1999.
    [7]. Benini, L., Macii, A. and Nannarelli, A., “Cached-code compression for energy minimization in embedded processors,” International Symposium on Low Power Electronics and Design, Pages 322 –327, 2001.
    [8]. Lekatsas, H. and Wolf, W., “Random access decompression using binary arithmetic coding,” in Proceedings, Data Compression Conference, DCC ‘99, Pages 306 –315, Mar 1999.
    [9]. Lekatsas, H. and Wolf, W., “SAMC: a code compression algorithm for embedded processors,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Volume: 18 Issue: 12, Pages 1689 –1701Dec 1999.
    [10]. Lekatsas, H., Henkel, J. and Wolf, W., “Code compression for low power embedded system design,” in Proceedings. Design Automation Conference, 37th, Pages 294 –299, 2000.
    [11]. Lekatsas, H. and Wolf, W., “Code compression for embedded systems,” in Proceedings. Design Automation Conference, Pages 516 –521, Jun 1998.
    [12]. IBM, ”CodePack PowerPC Code Compression Utility user’s manual,” version 4.1, 1998.
    [13]. Intel, “Intel Architecture Software Developer’s Manual Volume 2:Instruction Set Reference,” 1997.
    [14]. P. G. Howard and J. Vitter, “Practical Implementations of Arithmetic Coding,” Image and Text Compression, pages 85-112, 1992.
    [15]. Cormack G.V. and Horspool R.N., “Data Compression using Dynamic Markov Modelling,” Computer Journal 30, pages 541-550, Dec. 1987.
    [16]. Howard, P.G. and Vitter, J.S., “Arithmetic coding for data compression,” In proceedings of the IEEE, Volume: 82, Issue: 6, Pages: 857 –865, Jun 1994.
    [17]. http://www.programmersheaven.com/zone8/cat535/index.htm

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