Author: Eben Upton, Jeffrey Duntemann, Ralph Roberts, Tim Mamtora, and Ben Everard
Audience: Those interested n the inner workings of hardware
Reviewer: Harry Fairhead
Finding out how computers work is what this book is all about.
However, I can tell you know that despite being an exceptional book - there aren't many books out there that go into this level of technical detail - this book is unlikely to be what you expect. The key misleading part of the title is "with Raspberry Pi". At the very least it suggests that the overall architecture of the Pi is going to be explained in some detail and at the most you are going to find out about the deep inner workings of the Pi. The fact of the matter is that you will learn very little specific to the Pi, but you will learn a lot about computers.
Chapter 1 explains what a Raspberry Pi is but not much more than you can find out from reading the website. It is a sort of "this is the Pi" and not at all deep. This level continues in the next few chapters with a look at what a program is and what memory is. By the end of Chapter 3 you will have looked at core memory, SRAM, DRAM, cache and virtual memory. All very general and not at all detailed.
Chapter 4 might make you think that you are about to find out about ARM processors but, mostly its a discussion of CISC v RISC with a description of the development of the ARM range of processors.
Chapter 5 goes back to consider programming in more depth, but again from a theoretical point of view - compilers, interpreters, byte code and so on. Next we move to hardware and a chapter on punch cards, tape, magnetic disks and so on ending in flash storage. Chapter 7 describes the OSI reference model for networking, the Ethernet, routers and WiFi. Again all very theoretical and any mention of the Pi is as an afterthought. From here we go over operating systems. video codecs, 3D graphics, audio and I/O including the Pi's GPIO.
The problem with this book is that the Raspberry Pi is added to most of the chapters as a sort of "drive by tour". After explaining all of the details of some hardware or software feature, we have the equivalent of "and the Pi has one of those". This isn't a problem as long as you haven't bought the book to find out specific things about the Raspberry Pi - it certainly isn't a "hardware secrets of the Pi" book.
If you want to learn about traditional computer science subjects with a few references to the Pi this is a good book.
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.