Automatic management of Software Programmable Memories in Many-core Architectures

Aviral Shrivastava, Nikil Dutt, Jian Cai, Majid Shoushtari, Bryan Donyanavard, Hossein Tajik

Research output: Contribution to journalArticlepeer-review

6 Scopus citations


Software Programmable Memories, or SPMs, are raw on-chip memories that are not implicitly managed by the processor hardware, but explicitly by software. For example, while caches fetch data from memories automatically and maintain coherence with other caches, SPMs explicitly manage data movement between memories and other SPMs through software instructions. SPMs make the design of on-chip memories simpler, more scalable, and power efficient, but also place additional burden for programming of SPM-based processors. Traditionally, SPMs have been utilised in embedded systems, especially multimedia and gaming systems, but recently research on SPM-based systems has seen increased interest as a means to solve the memory scaling challenges of many-core architectures. This study presents an overview of the state-of-the-art in SPM management techniques in many-core processors, summarises some recent research on SPM-based systems, and outlines future research directions in this field.

Original languageEnglish (US)
Pages (from-to)288-298
Number of pages11
JournalIET Computers and Digital Techniques
Issue number6
StatePublished - Nov 1 2016

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Electrical and Electronic Engineering


Dive into the research topics of 'Automatic management of Software Programmable Memories in Many-core Architectures'. Together they form a unique fingerprint.

Cite this