Essentials of computer architecture. (2017)