" Computer organization and design : " David A. Patterson, John L. Hennessy ; with a contribution by Peter J. Ashenden, James R. Larus, Daniel J. Sorin.