Computer organization and architecture : designing for performance - William Stallings (Prentice Hall, 1996)