| 研究生: |
楊學昌 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.
[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