The principles of computer hardware. - Clements, Alan