Program overlays revisited

  • Authors:
  • Benedict R. Gaster

  • Affiliations:
  • ClearSpeed Technology Plc, UK

  • Venue:
  • PDCN '08 Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Networks
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Due to the need to reduce power, size, and the requirement for real time access of both data and code, large caches have fallen out of favour for many embedded processors. Replaced by small software managed scrachpads a number of designs have been presented for managing the dynamic movement of data and/or code to and from larger, less responsive memories. To date these approaches have been deemed unnecessary in the context of memory contention. However this trend is changing with the introduction of highly parallel components as co-processors in SOC designs. While the same arguments concerning caches continue to be made in this context it is also the contention for bus and memory bandwidth that is seeing numerous levels of memory placed closer and closer to the core(s). Unlike the scratchpads seen thus far in the embedded domain often these memories can be hundreds of kilobytes and thus are capable of holding large working sets and in some cases even complete applications. In this paper we present an alternative approach to managing on-chip memory. A simple set of directives is provided, allowing the programmer to describe 'overlays', themselves containing groupings of sub-routines, which are managed at runtime between on-chip and off-chip memories.