Complete digital design : A comprehensive guide to digital electronics and computer system architecture (Island press, 2003)