While the computational engines (cores) have continuously benefited from the scaling offered by Moores law, it is widely recognized that future improvement of the system performance, is constrained by the well-known memory wall (which refers to the growing disparity of speed between cores and memories due to the limitation of communication
bandwidth) and power wall constraints.