A comprehensive textbook covering the main "Computer Architecture" sections of the IEEE Body of Knowledge in Computer Engineering.
An embedded systems-relevant approach, the book includes topics that
are current in industry, and issues and technologies that embedded systems
engineers face these days, which is what industry increasingly demands and
tomorrow's graduates will need to be conversant in. Some of these topics, which
are not found in traditional texts, are:
Programming of memory in embedded systems, especially JTAG
Overlays and pages in code contexts
The different types of memory available, including parallel and serial flash (NOR/NAND)
Power supply issues, how clocking and system design relates to low power
System reset, testing and error checking (detection and correction)
General purpose I/O and pin configuration, especially in system-on-chip processors
Modern buses including I2C, SPI, LVDS etc... Evolved PC/104 systems
The use of memory management unit (MMU) in diskless embedded systems
Soft core processors – including an entire chapter in which we design and build our own
System-on-chip processors, application-specific ICs and field programmable gate arrays (FPGAs)
Apart of the main items in the typical computer architecture theory curriculum relevant to embedded engineers, the book offers a wealth of practical information including the opportunity to build and test out a custom soft-core processor.
Topics are placed into an academic framework that not only discusses the how and what, but also the why. Plenty of diagrams are given to explain tricky concepts and many explanatory boxes (containing extra worked examples, interesting snippets of information and additional explanations) are provided throughout to augment the main text.
SI units are used throughout, including the newer "kibibyte" and "mebibyte" measures for computer memory.