Computer organization and architecture: designing for performance - William Stallings (Pearson Education, 2000)