Computer architecture : software and hardware. - Kain, Richard Y.