At Modern Computer Architecture and Organization, Jim Ledin presents a comprehensive compilation of various topics about computer architecture and organization. The book is composed of three sections. It starts with the fundamentals of computer architectures where the building blocks of computers are thoroughly introduced. The second section presents the processor architectures and instruction sets. After explaining the basics of processors, and memory architectures, it covers modern processor architectures and instruction sets. There is a whole chapter about RISC-V. The last section is about the application of computer architecture. It introduces two important topics: processor virtualization and domain-specific computer architectures.
Jim Ledin is an esteemed engineer with lifelong industry experience. The reader benefits from the author's wisdom about hands-on computer architecture and organization. Communicating in the practitioners' level while achieving high scholar standards is what makes this book unique. The book will definitely serve as a textbook, moreover, it will be one of the valuable reference books of professionals' bookshelves. I enjoyed the book at many points. The paragraphs about Charles Babbage's Analytical Engine and ENIAC, the subsections regarding device drivers, and the chapter about processor virtualization are some of them. I most like finding all modern processors, x86, x64, ARM architectures, and particularly RISC-V under one cover. Personally, I would love to see more connections to systems programming, compilers, or modern software engineering practices, but that may surely be a biased remark due to my background.
I would definitely recommend the book. It is a must-read if you study CS or EE, do computer architecture and organization for living, or just enjoy reading about it.