Computer organization - Hamacher, Carl V. (McGraw-Hill, 2002)