DocumentCode :
3432250
Title :
Compiler-Directed Code Restructuring for Operating with Compressed Arrays
Author :
Yemliha, T. ; Chen, G. ; Ozturk, O. ; Kandemir, M. ; Degalahal, V.S.
Author_Institution :
Dept. of Electr. & Comput. Sci., Syracuse Univ., NY
fYear :
2007
fDate :
Jan. 2007
Firstpage :
221
Lastpage :
226
Abstract :
Memory system utilization is an important issue for many embedded systems that operate under tight memory limitations. This is a strong motivation for recent research on reducing the number of banks required during execution of a given application. Reducing memory space requirements of an application can bring three potential benefits. First, if we are to design a customized memory system for a given embedded application, reducing its memory requirements can cut the overall cost. Second, if we are to execute our application in a multi-programmed environment, the saved memory space can be used by other applications, thereby increasing the degree of multiprogramming. Third, it is also possible to reduce the energy consumption in a banked memory system by reducing the amount of memory space occupied by application data and placing the unused banks into low-power operating modes. This paper proposes a novel memory saving strategy for array-dominated embedded applications. The idea is to exploit the value locality in array data (e.g., those from the multi-media domain) by storing arrays in a compressed form to save memory space. Based on the compressed forms of the input arrays, our compiler-based approach automatically determines the compressed forms of the intermediate and output arrays and also automatically restructures the application code so that we can also reduce execution time (by exploiting value locality). Our experimental results show that this scheme is very effective in practice and reduces the memory space requirements of the applications tested by 19% on average. The experimental results also show that the proposed approach reduces the execution cycles of the original codes by 14% on average
Keywords :
data structures; embedded systems; integrated memory circuits; memory architecture; program compilers; storage management; application code; application data; array-dominated embedded applications; banked memory system; compiler-directed code restructuring; compressed arrays; embedded systems; energy consumption; memory saving strategy; memory space requirements; memory system utilization; multiprogrammed environment; Computer science; Constraint optimization; Costs; Embedded computing; Embedded system; Energy consumption; Memory management; Programming profession; Scalability; Testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
VLSI Design, 2007. Held jointly with 6th International Conference on Embedded Systems., 20th International Conference on
Conference_Location :
Bangalore
ISSN :
1063-9667
Print_ISBN :
0-7695-2762-0
Type :
conf
DOI :
10.1109/VLSID.2007.50
Filename :
4092049
Link To Document :
بازگشت