Overview
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 FEATURES
- Covers 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
Synopsis
This new primer offers readers an introduction to the fundamental concepts of computer architecture, providing a solid foundation for constructing programs that are more efficient and less prone to errors. Rather than focusing on engineering details, the guide approaches basic architectural concepts from the view of the programmer.
Educates programmers on the three essential areas of architecture: processors, memories, and I/O systems, helping them to improve program efficiency by understanding the consequences of programming choices and allowing them to pinpoint sources of bugs. Emphasizes essential programming concepts such as two's-compliment arithmetic and ranges of integer values. Includes high-level topics like parallelism, pipelining, and performance.
For anyone interested in learning more about computer architecture.