Computer organization and architecture: Designing for performance - William Stallings (Prentice-Hall, 2003)