Computer organization and architecture - Stallings William Ed. (1996)