This heavily revised new edition of the text teaches the organization and design of complex digital systems. The book's systematic approach involves the reader in the design process. Rather than just describe an end product, the authors employ a register-transfer and control-sequence design language - A Hardware Program Language (AHPL), through which the design of a wide variety of digital hardware systems is explored. Text contains much new material, as well as sections on peripherals, interfacing, microprocessors, hardware compiling processes and virtual memory hardware. Extensive examples and problems sets have been included which have themselves been updated and expanded.