Hardware/software managed scratchpad memory for embedded system

  • Authors:
  • Andhi Janapsatya;Sri Parameswaran;A. Ignjatovic

  • Affiliations:
  • Sch. of Comput. Sci. & Eng., New South Wales Univ., Sydney, NSW, Australia;Sch. of Comput. Sci. & Eng., New South Wales Univ., Sydney, NSW, Australia;Sch. of Comput. Sci. & Eng., New South Wales Univ., Sydney, NSW, Australia

  • Venue:
  • Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design
  • Year:
  • 2004

Quantified Score

Hi-index 0.01

Visualization

Abstract

We propose a methodology for energy reduction and performance improvement. The target system comprises of an instruction scratchpad memory instead of an instruction cache. Highly utilized code segments are copied into the scratchpad memory, and are executed from the scratchpad. The copying of code segments from main memory to the scratchpad is performed during runtime. A custom hardware controller is used to manage the copying process. The hardware controller is activated by strategically placed custom instructions within the executing program. These custom instructions inform the hardware controller when to copy during program execution. Novel heuristic algorithms are implemented to determine locations within the program to insert these custom instructions, as well as to choose the best sets of code segments to be copied to the scratchpad memory. For a set of realistic benchmarks, experimental results indicate the method uses 50.7% lower energy (on average) and improves performance by 53.2% (on average) when compared to a traditional cache system which is identical in size. Cache systems compared had sizes ranging from 256 to 16K bytes and associativities ranging from 1 to 32.