Higher Education

Computer Organization & Architecture: Themes and Variations, 1st Edition

  • Alan Clements University of Teesside, United Kingdom
  • ISBN-10: 1111987041  |  ISBN-13: 9781111987046
  • 936 Pages
  • © 2014 | Published
  • College Bookstore Wholesale Price = $89.00
  *Why an online review copy?
  • It's the greener, leaner way to review! An online copy cuts down on paper and on time. Reduce the wait (and the weight) of printed texts. Your online copy arrives instantly, and you can review it anytime from your computer or favorite mobile device.

If you prefer a print copy to review, please contact your representative.

About

Overview

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.

Features and Benefits

  • 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.

Table of Contents

Part I. The Beginning
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
12. Input/Output
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.

Efficacy and Outcomes

Reviews

"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."

— Prabhat Mishra, University of Florida

"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."

— Aviral Shrivastava, Arizona State University

"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."

— Xiaoyan Mu, Rose-Hulman Institute of Technology

Supplements

All supplements have been updated in coordination with the main title. Select the main title's "About" tab, then select "What's New" for updates specific to title's edition.

For more information about these supplements, or to obtain them, contact your Learning Consultant.

Instructor Supplements

Instructor's Solutions Manual  (ISBN-10: 111198705X | ISBN-13: 9781111987053)

Contains fully worked solutions to all end of chapter problem sets.

Meet the Author

Author Bio

Alan Clements

Alan Clements studied Electronics at the University of Sussex. He was awarded a Ph.D. at Loughborough University in equalizers for digital data transmission in 1976. During the 1970s when literature on microcomputer design was comparatively rare, Dr. Clements wrote one of the first books in this area, The Principles of Computer Hardware. It was one of the first undergraduate texts to cover the whole spectrum of computer hardware at an introductory level, with topics ranging from Boolean algebra to peripherals that measure rotational velocity. In the 1980s Dr. Clements wrote a definitive text on microprocessor systems design which featured Motorola processors. Motorola honored Dr. Clements by endowing him with a personal chair at Teesside. Following his earlier successes Dr. Clements has become increasingly interested in the problems of teaching computer architecture and involved with education. In 2001 he became chair of the Computer Society's international student competition, CSIDC and in the same year received a National Teaching Fellowship in the UK, the UK's highest award for higher education. In 2009 he was elected Fellow of the IEEE for contributions to computer science education and became also became second Vice President of the IEEE Computer Society. Dr. Clements is the recipient of the 2002 Computer Science Engineering Undergraduate Teaching Award (IEEE CS) for teaching excellence reflected on textbooks with major impact on computer architecture education as well is the 2007 Taylor L. Booth award recipient for outstanding contributions to education in the field of computer architecture.