We propose a new class of methods for VLIW code compression using variable-sized branch blocks with self-generating tables. code compression traditionally works on fixed-sized blocks with its efficiency limited by the...
详细信息
We propose a new class of methods for VLIW code compression using variable-sized branch blocks with self-generating tables. code compression traditionally works on fixed-sized blocks with its efficiency limited by their small size. A branch block, a series of instructions between two consecutive possible branch targets, provides larger blocks for code compression. We compare three methods for compressing branch blocks: table-based, Lempel-Ziv-Welch (LZW)-based and selective code compression. Our approaches are fully adaptive and generate the coding table on-the-fly during compression and decompression. When encountering a branch target, the coding table is cleared to ensure correctness. Decompression requires a simple table lookup and updates the coding table when necessary. When decoding sequentially, the table-based method produces 4 bytes per iteration while the LZW-based methods provide 8 bytes peak and 1.82 bytes average decompression bandwidth. Compared to Huffman's 1 byte and variable-to-fixed (V2F)'s 13-bit peak performance, our methods have higher decoding bandwidth and a comparable compression ratio. Parallel decompression could also be applied to our methods, which is more suitable for VLIW architectures.
This paper presents a new code compression method where we merge the Huffman algorithm with the formation of patterns of blocks, which are found into the dictionary. We seek two consecutive blocks in two levels, one o...
详细信息
This paper presents a new code compression method where we merge the Huffman algorithm with the formation of patterns of blocks, which are found into the dictionary. We seek two consecutive blocks in two levels, one of them into compressed code and the other related to uncompressed code. We have used simulation with SimpleScalar and programs from MiBench. Our proposal has achieved a compression rate of 34.5% and 7% improvement in code compression when compared to the Huffman traditional method.
The implementation of processors for embedded systems implies various issues: main constraints are cost, power dissipation and die area. On the other side, new terminals perform functions that require more computation...
详细信息
ISBN:
(纸本)0819452122
The implementation of processors for embedded systems implies various issues: main constraints are cost, power dissipation and die area. On the other side, new terminals perform functions that require more computational flexibility and effort. Long code streams must be loaded into memories, which are expensive and power consuming, to run on DSPs or CPUs. To overcome this issue, the "Slimcode" proprietary algorithm presented in this paper (patent pending technology) can reduce the dimensions of the program memory. It can run offline and work directly on the binary code the compiler generates, by compressing it and creating a new binary file, about 40% smaller than the original one, to be loaded into the program memory of the processor. The decompression unit will be a small ASIC, placed between the Memory Controller and the System bus of the processor, keeping unchanged the internal CPU architecture: this implies that the methodology is completely transparent to the core. We present comparisons versus the state-of-the-art IBM codepack algorithm, along with its architectural implementation into the ST200 VLIW family core.
compression of executable code in embedded microprocessor systems, used in the past mainly to reduce the memory footprint of embedded software, is gaining interest for the potential reduction in memory bus traffic and...
详细信息
compression of executable code in embedded microprocessor systems, used in the past mainly to reduce the memory footprint of embedded software, is gaining interest for the potential reduction in memory bus traffic and power consumption. We propose three new schemes for code compression, based on the concepts of static (using the static representation of the executable) and dynamic (using program execution traces) entropy and compare them with a state-of-the-art compression scheme, IBM's codePack. The proposed schemes are competitive with codePack for static footprint compression and achieve superior results for bus traffic and energy reduction. Another interesting outcome of our work is that static compression is not directly related to bus traffic reduction, yet there is a trade off between static compression and dynamic compression, i.e., traffic reduction.
Embedded domain has witnessed the application of different code compression methodologies on different architectures to bridge the gap between ever-increasing application size and scarce memory resources. Selection of...
详细信息
Embedded domain has witnessed the application of different code compression methodologies on different architectures to bridge the gap between ever-increasing application size and scarce memory resources. Selection of a code compression technique for a target architecture requires a detailed study and analysis of the code compression design space. There are multiple design parameters affecting the space, time, cost and power dimensions. Standard approaches of exploring the code compression design space are tedious, time consuming, and almost impractical with the increasing number of proposed compression algorithms. This is one of the biggest challenges faced by an architect trying to adopt a code compression methodology for a target architecture. We propose a novel synthesis based tool-chain for fast and effective exploration of the code compression design space and for evaluation of the tradeoffs. The tool-chain consists of a frontend framework that works with different compression/decompression schemes and a backend with high-level-synthesis, logic-synthesis, and power estimation tools to output the critical design parameters. We use the tool-chain to effectively analyze different code compression/decompression schemes of varying complexities. (C) 2013 Elsevier B.V. All rights reserved.
Web applications created using web languages such as HTML, CSS, and JavaScript are widely used regardless of execution environments, owing to their portability and popularity. Since JavaScript language is conventional...
详细信息
Web applications created using web languages such as HTML, CSS, and JavaScript are widely used regardless of execution environments, owing to their portability and popularity. Since JavaScript language is conventionally used for complex computations in large-scale web apps, many optimization techniques have been proposed to accelerate the JavaScript performance. However, most of these optimizations speed up JavaScript engines at the expense of consuming more memory. Hence, memory consumption becomes an additional concern in the JavaScript field. Based on the research on memory status, we unearthed that a substantial portion of the heap memory is allocated for JavaScript source code, particularly in lightweight JavaScript engines, which may range from 13.2% to a maximal 52.5% of the entire heap. To resolve this memory issue, this article suggests a new memory optimization method, called dynamic code compression that dynamically compresses the source code and keeps its compressed form instead of the source string. A novel heuristic is proposed to timely compress the source code. We also re-design the internal structure of the JavaScript engine to efficiently compress the source code without incurring any conflict. Using our code compression method, we could reduce the entire heap memory by up to 43.3% and consistently downsize the overall heap size. From an evaluation of standard benchmarks, our approach showed just 2.7% degradation in performance with negligible compression overhead, proving the feasibility of the code compression technique.
This paper presents a new code compression method where we use different dictionaries, all of them are based in traditional Huffman algorithm. Our method reduces code size by up to 34.5% ( including all extra costs) a...
详细信息
ISBN:
(纸本)9781467351652;9780769549149
This paper presents a new code compression method where we use different dictionaries, all of them are based in traditional Huffman algorithm. Our method reduces code size by up to 34.5% ( including all extra costs) and presents an improvement of almost 7% over the traditional Huffman method. We performed simulations using SimpleScalar and analyzes using the applications from benchmark MiBench and use the embedded processor ARM.
code density is of increasing concern in embedded system design since it reduces the need for the scarce resource memory and also implicitly improves further important design parameters like power consumption and perf...
详细信息
code density is of increasing concern in embedded system design since it reduces the need for the scarce resource memory and also implicitly improves further important design parameters like power consumption and performance. In this paper we introduce a novel, hardware-supported approach. Besides the code, also the lookup tables (LUTs) are compressed, that can become significant in size if the application is large and/or high compression is desired. Our scheme optimizes the number and size of generated LUTs to improve the compression ratio. To show the efficiency of our approach, we apply it to two compression schemes: "dictionary-based" and "statistical". We achieve an average compression ratio of 48% (already including the overhead of the LUTs). Thereby, our scheme is orthogonal to approaches that take particularities of a certain instruction set architecture into account. We have conducted evaluations using a representative set of applications and have applied it to three major embedded processor architectures, namely ARM, MIPS, and PowerPC.
In recent years, code compression has been frequently investigated for embedded systems to reduce memory use and power consumption. Among various compression schemes, dictionary-based ones are applied for their good c...
详细信息
In recent years, code compression has been frequently investigated for embedded systems to reduce memory use and power consumption. Among various compression schemes, dictionary-based ones are applied for their good compression ratios and rapid decompression engines. Bitmask-based code compression, which was derived from the dictionary-based ones, has been proven to have a superior compression ratio and rapid decompression engine. In this paper, we adopt the bitmask-based scheme and replace some of its dictionary entries to achieve greatly reduced power consumption while maintaining a competitive compression ratio. For a cacheless architecture, we propose three basic styles of replacement, namely by-access-saving, by-frequency, and by-block. Another procedure, called by-alignment, is applied afterward to further improve power consumption. According to the experimental results, the by-block scheme with the by-alignment procedure achieves the best result. In the best case, an increase of 1.61% in compression ratio can result in a 43.75% reduction in power consumption ratio. (C) 2012 Elsevier B.V. All rights reserved.
This paper presents a new compression method for compressed Firmware-over-the-air (FOTA) that reconstructs a new compressed version from an old compressed version of firmware stored in NAND flash memory. The compresse...
详细信息
This paper presents a new compression method for compressed Firmware-over-the-air (FOTA) that reconstructs a new compressed version from an old compressed version of firmware stored in NAND flash memory. The compressed FOTA requires a small delta that minimizes the amount of update data and an efficient compression method that provides fast encoding and decoding to achieve fast updating and extraction. A fast dictionary-based compression algorithm for the program code is introduced. With a high compression ratio, our method provides relatively fast encoding and very fast decoding. We demonstrate that the compression time during the update process can be reduced by utilizing the copy information stored in the delta without increasing the size of the delta. We present some experimental results to show the impact of this method in terms of the compression ratio, extraction time and updating time(1).
暂无评论