Computer architecture and organization - John P Hayes (McGraw Hill education, 2013)