The sixth edition of this book covers the key topics in computer organization and embedded systems. It presents hardware design principles and shows how hardware design is influenced by the requirements of software. The book carefully explains the main principles supported by examples drawn from commercially available processors. The book is suitable for undergraduate electrical and computer engineering majors and computer science specialists. It is intended for a first course in computer organization and embedded systems.