• About
  • Policies
  • What is open access
  • Library
  • Contact
Advanced search
      View Item 
      •   BUIR Home
      • Scholarly Publications
      • Faculty of Engineering
      • Department of Computer Engineering
      • View Item
      •   BUIR Home
      • Scholarly Publications
      • Faculty of Engineering
      • Department of Computer Engineering
      • View Item
      JavaScript is disabled for your browser. Some features of this site may not work without it.

      Access pattern-based code compression for memory-constrained systems

      Thumbnail
      View / Download
      924.1 Kb
      Author(s)
      Ozturk, O.
      Kandemir, M.
      Chen, G.
      Date
      2008-09
      Source Title
      ACM Transactions on Design Automation of Electronic Systems
      Print ISSN
      1084-4309
      Publisher
      Association for Computing Machinery
      Volume
      13
      Issue
      4
      Pages
      60-1 - 60-30
      Language
      English
      Type
      Article
      Item Usage Stats
      233
      views
      172
      downloads
      Abstract
      As compared to a large spectrum of performance optimizations, relatively less effort has been dedicated to optimize other aspects of embedded applications such as memory space requirements, power, real-time predictability, and reliability. In particular, many modern embedded systems operate under tight memory space constraints. One way of addressing this constraint is to compress executable code and data as much as possible. While researchers on code compression have studied efficient hardware and software based code compression strategies, many of these techniques do not take application behavior into account; that is, the same compression/decompression strategy is used irrespective of the application being optimized. This article presents an application-sensitive code compression strategy based on control flow graph (CFG) representation of the embedded program. The idea is to start with a memory image wherein all basic blocks of the application are compressed, and decompress only the blocks that are predicted to be needed in the near future. When the current access to a basic block is over, our approach also decides the point at which the block could be compressed. We propose and evaluate several compression and decompression strategies that try to reduce memory requirements without excessively increasing the original instruction cycle counts. Some of our strategies make use of profile data, whereas others are fully automatic. Our experimental evaluation using seven applications from the MediaBench suite and three large embedded applications reveals that the proposed code compression strategy is very successful in practice. Our results also indicate that working at a basic block granularity, as opposed to a procedure granularity, is important for maximizing memory space savings. © 2008 ACM.
      Keywords
      CFG
      Code access pattern
      Code compression
      Embedded systems
      Memory optimization
      Applications
      Codes (symbols)
      Concurrency control
      Constrained optimization
      Data compression
      Integrated circuits
      Optimization
      Power spectrum
      Real time systems
      Embedded systems
      Permalink
      http://hdl.handle.net/11693/23026
      Published Version (Please cite this version)
      http://dx.doi.org/10.1145/1391962.1391968
      Collections
      • Department of Computer Engineering 1510
      Show full item record

      Browse

      All of BUIRCommunities & CollectionsTitlesAuthorsAdvisorsBy Issue DateKeywordsTypeDepartmentsCoursesThis CollectionTitlesAuthorsAdvisorsBy Issue DateKeywordsTypeDepartmentsCourses

      My Account

      Login

      Statistics

      View Usage StatisticsView Google Analytics Statistics

      Bilkent University

      If you have trouble accessing this page and need to request an alternate format, contact the site administrator. Phone: (312) 290 2976
      © Bilkent University - Library IT

      Contact Us | Send Feedback | Off-Campus Access | Admin | Privacy