The beginning of Modern Computer Architecture and Organization felt very familiar. It brought back memories of my sophomore year microprocessor course. Most of the books I buy these days feel like they are aimed at someone who's already working and wants to pick up something new. Ledin has produced a really excellent classroom text for first or second year students in Computer Science and about halfway through I started catching up on the advances since I graduated so long ago.
I've long been an adherent to the idea that it is critical to be conversant with at least one layer of technology below the layer at which I am working, and preferably two. Ledin indulges me by going right to the base. He opens with a chapter on digital logic. That chapter would have been the first half of the course when I took it, but that's OK since even chip designers no longer actually work at the level of individual gates anymore. They use software to define and design new systems and Ledin introduces VHDL at the close of the chapter. He shows the VHDL description of the 4 bit adder that he had gradually built up over the previous 30 pages.
Over the following four chapters Ledin raises the level of the reader's view until it has reached the scale of a modern processor, with stops on the way for processor elements, system components and IO subsystems. At this point the reader has a lexicon and understands at least the high level purpose of each part of a processor.
In the second section Ledin moves on to the design of processors. Here he talks about how the hardware is organized and optimized for performance. He covers topics like caching and pipelining as well as specialized processor types power management. I especially enjoyed what was, for me, a review of current RISC and CISC instruction sets. Ledin dedicates the final chapter in this section to one I hope will catch on, the RISC-V instruction set. The merger of NVidia and ARM removes the one independent processor design company and the introduction of RISC-V provides for continued innovation without the spector of a commercial monopoly restricting access for short term profits. The source of RISC-V, University of California, Berkeley has a long history of contributing to the advancement of the field. The growth of the IoT ecosystem provides a market that can support demand for short-run production of inexpensive but sophisticated processor designs.
The final section of Modern Computer Architecture and Organization explores the current range of target applications for computing devices. From virualization to desktops and servers to "Warehouse Scale" computing and the Internet of Things, the possiblities and the variety of optimizations is vast and a bit frightening. For completness' sake he briefly touches on elements of quantum computing and nano-scale manufacturing. However brief it is, I appreciated the short final chapter where he notes the modern need for continuous learning. He talks candidly about the value and limitations of college degrees at several levels.
I mentioned in my opening that this a fantastic text book, and the exercises at the end of each chapter are as good as a teaching text gets. The answers section at the back of the book makes this manageable even for the self-taught reader. Each example is restated and in many cases walks the reader through code examples that demonstrate the point. The answer section makes up a full quarter of the text and I read through it with as much interest as I did the main text. If you pick up this book make a point to work through the examples and then review the answers. They're not there merely for form and they add materially to the value of the text.
For all my enthusiasm, this is a text that has a short term value. It's not a timeless classic and it won't become a cherished well-thumbed reference. It's a great jumping off point for a lifetime of learning and work or a window for someone who wants a glimpse of what goes on inside the chassis. If those are your interests, read it, and pass it on.