Branch-aware data variable allocation for energy optimization of hybrid SRAM+NVM SPM

Research output: Journal Publications and Reviews (RGC: 21, 22, 62)21_Publication in refereed journalpeer-review

3 Scopus Citations
View graph of relations


Related Research Unit(s)


Original languageEnglish
Article number101797
Journal / PublicationJournal of Systems Architecture
Online published27 May 2020
Publication statusPublished - Oct 2020


In this paper, we are interested in the energy optimization of hybrid Scratchpad Memory (SPM) which consists of SRAM and Non-Volatile Memory (NVM). We approach the energy optimization by data allocation with the consideration of the impact of program structure like branches. Our method is composed of two stages, i.e., program analysis stage and data allocation stage. In program analysis stage, we design two strategies to predict the branch execution of the program and reduce the number of reading/writing operations. Specifically, we propose Branch-based Static Analysis (BSA) strategy for simple programs and Neural Network Branch Prediction (NNBP) strategy for complex programs separately. In data allocation stage, we propose an Energy-based Data Allocation (EDA) strategy to reduce the energy consumption, which can determine how to allocate/migrate data variables onto SRAM/NVM. Incorporating these two stages, we have two branch-aware data variable allocation approaches, i.e., BSA+EDA for simple programs and NNBP+EDA for complex programs. Based on the existing benchmarks, we conduct extensive experiments to evaluate the proposed approaches. The experimental results show that both BSA+EDA and NNBP+EDA can effectively reduce the energy consumption up to 39.4% compared with the other approaches. Moreover, experiments demonstrate that BSA+EDA is suitable for simple programs whereas NNBP+EDA is suitable for complex programs.

Research Area(s)

  • Branch prediction, Data variable allocation, Energy consumption, NVM, SPM