This book explains, in easily understandable language, the key architectural principles and implementation techniques used to design and build modern computer systems - from embedded controllers to supercomputers, and everything in between. It will give undergraduate and master's level students studying computer science, computer engineering, an