For undergraduate courses in computer architecture and organization.
This new concise overview offers computer science students an introduction to the fundamental concepts of computer architecture, giving them a solid foundation for constructing programs that are more efficient and less prone to errors. Rather than focusing on engineering details, the text approaches basic architectural concepts from the view of the programmer.
Product Description
Essentials of Computer Architecture is ideal for undergraduate courses in computer architecture and organization.
Douglas Comer takes a clear, concise approach to computer architecture that readers love. By exploring the fundamental concepts from a programmer 's perspective and explaining programming consequences, this unique text covers exactly the material students need to understand and construct efficient and correct programs for modern hardware.
Features + Benefits
Comprehensive presentation of the basicsEducates programmers on the three essential areas of architecture (processors, memories, and I/O systems), and helps them to improve program efficiency by understanding the consequences of programming choices and allowing them to pinpoint sources of bugs.
Conceptual focusApproaches the material from a programmers point of view.
Comprehensive coverage of data representationEmphasizes essential programming concepts such as twos-compliment arithmetic and ranges of integer values.
Advanced materialIncludes high-level topics like parallelism, pipelining, and performance.
Lab exercisesProvides exercises appropriate for a hands-on lab, including using a solderless breadboard, clocks and demultiplexing, and hex dump programs in both C and assembly language.
Accompanying websiteFeatures class presentation materials, text and lab exercises, and submissions from fellow instructors.
Backcover
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
(NOTE: All chapters begin with an Introduction and end with a Summary.)
1. Introduction And Overview.
PART I. BASICS.
2. Fundamentals of Digital Logic.
3. Data and Program Representation.
PART II. PROCESSORS.
4. The Variety of Processors and Computational.
5. Processor Types and Instruction Sets.
6. Operand Addressing and Instruction Representation.
7. CPUs: Microcode, Protection, and Processor Modes.
8. Assembly Languages and Programming Paradigm.
PART III. MEMORIES.
9. Memory and Storage.
10. Physical Memory and Physical Addressing.
11. Virtual Memory Technologies and Virtual.
12. Caches and Caching.
PART IV. I/O.
13. Input / Output Concepts and Terminology.
14. Buses and Bus Architectures.
15. Programmed and Interrupt-Driven I/O.
16. A Programmers View of Devices, I/O, and Buffering.
PART V. ADVANCED TOPICS.
17. Parallelism.
18. Pipelining.
19. Assessing Performance.
20. Architecture Examples and Hierarchy.
Appendix 1. Lab Exercises For a Computer Architecture Course.
Bibliography.
Index.
This new concise overview offers computer science students an introduction to the fundamental concepts of computer architecture, giving them a solid foundation for constructing programs that are more efficient and less prone to errors. Rather than focusing on engineering details, the text approaches basic architectural concepts from the view of the programmer.
Product Description
Essentials of Computer Architecture is ideal for undergraduate courses in computer architecture and organization.
Douglas Comer takes a clear, concise approach to computer architecture that readers love. By exploring the fundamental concepts from a programmer 's perspective and explaining programming consequences, this unique text covers exactly the material students need to understand and construct efficient and correct programs for modern hardware.
Features + Benefits
Comprehensive presentation of the basicsEducates programmers on the three essential areas of architecture (processors, memories, and I/O systems), and helps them to improve program efficiency by understanding the consequences of programming choices and allowing them to pinpoint sources of bugs.
Conceptual focusApproaches the material from a programmers point of view.
Comprehensive coverage of data representationEmphasizes essential programming concepts such as twos-compliment arithmetic and ranges of integer values.
Advanced materialIncludes high-level topics like parallelism, pipelining, and performance.
Lab exercisesProvides exercises appropriate for a hands-on lab, including using a solderless breadboard, clocks and demultiplexing, and hex dump programs in both C and assembly language.
Accompanying websiteFeatures class presentation materials, text and lab exercises, and submissions from fellow instructors.
Backcover
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
(NOTE: All chapters begin with an Introduction and end with a Summary.)
1. Introduction And Overview.
PART I. BASICS.
2. Fundamentals of Digital Logic.
3. Data and Program Representation.
PART II. PROCESSORS.
4. The Variety of Processors and Computational.
5. Processor Types and Instruction Sets.
6. Operand Addressing and Instruction Representation.
7. CPUs: Microcode, Protection, and Processor Modes.
8. Assembly Languages and Programming Paradigm.
PART III. MEMORIES.
9. Memory and Storage.
10. Physical Memory and Physical Addressing.
11. Virtual Memory Technologies and Virtual.
12. Caches and Caching.
PART IV. I/O.
13. Input / Output Concepts and Terminology.
14. Buses and Bus Architectures.
15. Programmed and Interrupt-Driven I/O.
16. A Programmers View of Devices, I/O, and Buffering.
PART V. ADVANCED TOPICS.
17. Parallelism.
18. Pipelining.
19. Assessing Performance.
20. Architecture Examples and Hierarchy.
Appendix 1. Lab Exercises For a Computer Architecture Course.
Bibliography.
Index.