Computer systems: Organization and architecture - Carpinelli, John D. (Pearson Education Inc., 2002)