7.3 Optimizing performance, energy and predictability via hardware/software codesign