CID: Co-Architecting Instruction Cache and Decompression System for Embedded Systems

Jinkwon Kim, Seokin Hong, Jeongkyu Hong, Soontae Kim

Research output: Contribution to journalArticlepeer-review

6 Scopus citations

Abstract

Code compression is widely used to reduce the footprint of code memory in cost-sensitive embedded systems. However, despite the small code size, the decompressor and the address translator required to support the code compression incur energy and area overheads. To reduce such overheads while still supporting code compression, we co-architect the instruction cache and decompression system (CID). In CID, each component is placed at the optimal location and the instruction cache is redesigned to recognize the compression state and retain the original address, through the cache division and address space decompression process. As a result of the cache division, the energy consumption and area overheads of the CID instruction cache are reduced. Since the decompressor overhead depends on the code compression technique, we propose a new code compression technique called entropy-based pattern code compression, which reduces overheads of the decompressor. Our experimental results show that the total energy consumption of the instruction cache and decompression system is reduced by up to 29.7 percent and their area is reduced by up to 15.4 percent compared to the post-cache architecture with almost no performance degradation, while achieving an 18.8 percent improvement in the compression ratio compared to the state-of-the-art code compression technique.

Original languageEnglish
Article number9143415
Pages (from-to)1132-1145
Number of pages14
JournalIEEE Transactions on Computers
Volume70
Issue number7
DOIs
StatePublished - 1 Jul 2021

Keywords

  • Code compression
  • embedded systems
  • instruction cache

Fingerprint

Dive into the research topics of 'CID: Co-Architecting Instruction Cache and Decompression System for Embedded Systems'. Together they form a unique fingerprint.

Cite this