Computer organization - Hamacher, V. Carl; Vranesic, Zvonko G.; Zaky, Safwat G.