This book covers all the important topics in the field of computer organization and embedded systems. The book also demonstrates hardware design principles and illustrates how hardware design is affected by the requirements of software. The book also explains the main principles and properties along with the support of examples from commercially available processors. The book is very useful for computer engineering students at the undergraduate level and is usually intended for a first course in computer organization and embedded systems.Simultaneously, the book also retains emphasis on basic principles. Taking into consideration the dramatic changes in computer technology that have happened over the last decade, the treatment of performance-related topics such as pipelines, caches, and RISC's has also been expanded.