Abstract:Due to the existing data prefetching algorithms can't meet the requirements of the novel heterogeneous memory system combining the dynamic random access memory (DRAM) with the non-volatile memory (NVM) in high energy-efficiency heterogeneous computing systems, a simulated annealing data prefetching algorithm (SADPA) was proposed. It was a heuristic search inspired simulated annealing algorithm, in which a random factor was introduced to confirm the global optimal threshold and the valid number of prefetching NVM pages. The results show that the average accessing latency of SADPA is 4% lower than that of the static threshold adjustment algorithm, and the average instruction per cycle (IPC) of the SADPA is 10.1% greater than that of the static threshold adjustment algorithm. Besides, the systemic power supported by SADPA, as for the cactusADM, is reduced by 3.4% compared with the cooperative hardware/software dynamic threshold adjustment algorithm.