Principles of computer hardware - Clements, Alan (Oxford University Press, 2006)