Arithmetic-based address translation for energy-efficient virtual memory support in low-power, real-time embedded systems

  • Authors:
  • Xiangrong Zhou;Peter Petrov

  • Affiliations:
  • University of Maryland, College Park, MD;University of Maryland, College Park, MD

  • Venue:
  • SBCCI '05 Proceedings of the 18th annual symposium on Integrated circuits and system design
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we present an arithmetic-based address translation scheme for low-power and real-time embedded processors with virtual memory support. General-purpose virtual memory support comes with its fundamental disadvantages of excessive power consumption and nondeterministic execution times. These disadvantages have been the main reason for not adopting virtual memory and its associated benefits in embedded systems where energy efficiency and real-time operations are major requirements. To address these issues, we propose a novel scheme for application-driven address translation where most of the virtual address translations, which are traditionally performed as lookups in the Translation Lookaside Buffer (TLB), are replaced with fast and energy efficient arithmetic add operations. To achieve this, a program and system-wide information is used to identify sequences of consecutive virtual page numbers, which are mapped to sequences of consecutive physical page frames. For such pairs of virtual and physical page sequences, only the addition of a constant to the virtual page number is needed to produce the physical page frame. The proposed methodology relies on the combined efforts of compiler, operating system, and hardware architecture to achieve a significant power reduction. As the approach fundamentally eliminates conflicts inherent in the hardware translation table, execution time is not only improved but also made predictable during system design time. The experiments that we have performed on a set of embedded applications show power reductions in the range of 80% to 95% compared to a general-purpose Translation Lookaside Buffer (TLB).