Request for consultation
COMPUTER ORGANIZATION AND ARCHITECTURE: THEMES AND VARIATIONS stresses the structure of the complete system (CPU, memory, buses and peripherals) and reinforces that core content with an emphasis on divergent examples. This approach to computer architecture is an effective arrangement that provides sufficient detail at the logic and organizational levels appropriate for EE/ECE departments as well as for Computer Science readers. The text goes well beyond the minimal curriculum coverage and introduces topics that are important to anyone involved with computer architecture in a way that is both thought provoking and interesting to all.
- Instead of focusing on the heart of the computer, the CPU, this book covers all elements of the computer system and provides a more balanced approach.
- Extensive coverage of Input/Output techniques and computer buses is provided as well as in depth material on both system memory and secondary storage.
- Includes an entire chapter devoted to Multimedia processing, outlining the way in which computers have been developed to facilitate the processing of audio and video.
- Uses the ARM processor, with its simple architecture and wide range of applications, as the prime example for illustrate computer architecture concepts.
1. Computer Systems Architecture
What is Computer Systems Architecture? Architecture and Organization. Development of Computers. The Stored Program Computer. The Stored Program Concept. Overview of the Computer System. Modern Computing
2. Computer Arithmetic and Digital Logic
What is Data? Numbers.Binary Arithmetic. Signed Integers. Introduction to Multiplication and Division. Floating-Point Numbers. Floating-Point Arithmetic. Floating-Point Arithmetic and the Programmer. Computer Logic. Sequential Circuits. Buses and Tristate Gates.
Part II. Instruction Set Architectures
3. Architecture and Organization
Introduction to the Stored Program Machine. The Components of an ISA. ARM Instruction Set Architecture. ARM Assembly Language. ARM Data-Processing Instructions. ARM''s Flow Control Instructions. ARM Addressing Modes. Subroutine Call and Return. Intermission: Examples of ARM Code. Subroutines and the Stack. Data Size and Arrangement. Consolidation – Putting Things Together
4. Instruction Set Architectures – Breadth and Depth
Historical Background. The Stack and Data Storage. Privileged Modes and Exceptions. MIPS: Another RISC. Data Processing and Data Movement. Memory Indirect Addressing. Compressed Code, RISC, Thumb, and MIPS16. Variable-Length Instructions.
5. Computer Architecture and Multimedia
Applications of High-Performance Computing. Multimedia Influences – Reinventing the CISC. Introduction to SIMD Processing. Streaming Extensions and the Development of SIMD Technology.
Part III. Organization and Efficiency
6. Performance – Meaning and Metrics
Progress and Computer Technology. The Performance of a Computer. Computer Metrics. Amdahl''s Law. Benchmarks. SPEC. Averaging Metrics.
7. Processor Control
The Generic Digital Processor. RISC Organization. Introduction to Pipelining. Branches and the Branch Penalty. Branch Prediction. Dynamic Branch Prediction.
8. Beyond RISC: Superscalar, VLIW, and Itanium
Superscalar Architecture. Binary Translation. EPIC Architecture.
Part IV. The System
9. Cache Memory and Virtual Memory
Introduction to Cache Memory. Performance of Cache Memory. Cache Organization. Considerations in Cache Design. Virtual Memory and Memory Management.
10. Main Memory
Introduction. Primary Memory. DRAM. The Read-Only Memory Family. New and Emerging Nonvolatile Technologies.
11. Secondary Storage
Magnetic Disk Drives. Magnetism and Data Storage. Data Organization on Disk. Secure Memory and RAID Systems. Solid-State Disk Drives. Magnetic Tape. Optical Storage Technology
Fundamental Principles of I/O. Data Transfer. I/O Strategy. Performance of I/O Systems. The Bus. Arbitrating for the Bus. The PCI and PCIe Buses. The SCSI and SAS Interfaces. Serial Interface Buses
Part V. Processor-Level Parallelism
13. Processor-Level Parallelism
Why Parallel Processing? Performance Revisited. Flynn''s Taxonomy and Multiprocessor Topologies. Multiprocessor Topologies. Memory in Multiprocessor Systems. Multithreading. Multi-Core Processors. Parallel Programming.
"This is an outstanding text on computer organization compared to what we have today. This text has several aspects that are very important for undergraduates and unique compared to existing texts, including i) required level of emphasis on I/O and buses (instead of focusing only on processor, cache and memory), ii) in-depth discussion on memory as well as disk technology, iii) use of ARM ISA as a vehicle, and iv) making the practical connection of architecture with application domains including multimedia and compression. On one hand this book provides lot of interesting and required insights. On the other hand, it makes interesting for readers to understand the link between computer organization and real-world applications."
"This book is a very nice read. It explains difficult concepts with simplicity and ease. It gives interesting historical perspectives at several places. It makes very good use of diagrams and blue boxes to explain difficult concepts, and drive home the points."
"I think it is a great idea to use ARM because it is so popular in embedded systems and the students may see ARM processors in other classes later. Unlike some other texts which concentrate on CPUs, this book covers CPU and as well as other parts of a computer system in details, i.e. memory, bus, Input/output. Chapter 12 is my favorite because I/O and buses are important topics in computer architecture."
Cengage provides a range of supplements that are updated in coordination with the main title selection. For more information about these supplements, contact your Learning Consultant.
Instructor's Solutions Manual
Contains fully worked solutions to all end of chapter problem sets.