Computer organization and architecture : themes and variations - Clements, Alan. (Stamford, Connecticut : Cengage Learning Asia Pte Ltd, 2014)
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.
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.
Includes bibliographical references (pages 876-887) and index.
Keywords: COMPUTER ORGANIZATION