Essentials of Computer Architecture
This text focuses on the essentials of computer architecture for programmers. It covers all aspects from the low-level building blocks to system-level architectures, and succinctly explains the interface between hardware and software. Sections on assembly language, virtual memory, caching, microcode, and device driver software provide critical insight into how programmers can design efficient, elegant, and reliable software.KEY FEATURESCovers the basics of digital logic and data representation, omitting unnecessary, low-level details.Presents broad, accurate coverage of processors, memory, and I/O.Includes an overview of assembly languages and programming paradigms.Helps the reader understand the impact of systems architecture on programming and debugging.Explains why hardware pipelining speeds execution and how programs are optimized to run on a pipeline architecture.Discusses design and implementation trade-offs.Contains "hands-on" lab exercises that allow students to put principles into practice.Provides a supporting Web site with instructor materials at http://www.eca.cs.purdue.edu