Computer organization and design: the hardware/software interface

Front Cover -- Computer Organization and Design -- Copyright Page -- Acknowledgments -- Contents -- Preface -- About This Book -- About the Other Book -- Changes for the Fifth Edition -- Instructor Support -- Concluding Remarks -- Acknowledgments for the Fifth Edition -- 1 Computer Abstractions and...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Patterson, David A. 1947- (VerfasserIn), Hennessy, John L. 1952- (VerfasserIn)
Format: Elektronisch E-Book
Sprache:English
Veröffentlicht: Amsterdam Morgan Kaufmann [2014]
Ausgabe:Fifth edition
Schriftenreihe:The Morgan Kaufmann series in computer architecture and design
Schlagworte:
Online-Zugang:FHN01
TUM01
UBG01
UPA01
Zusammenfassung:Front Cover -- Computer Organization and Design -- Copyright Page -- Acknowledgments -- Contents -- Preface -- About This Book -- About the Other Book -- Changes for the Fifth Edition -- Instructor Support -- Concluding Remarks -- Acknowledgments for the Fifth Edition -- 1 Computer Abstractions and Technology -- 1.1 Introduction -- Classes of Computing Applications and Their Characteristics -- Welcome to the PostPC Era -- What You Can Learn in This Book -- 1.2 Eight Great Ideas in Computer Architecture -- Design for Moore's Law -- Use Abstraction to Simplify Design -- Make the Common Case Fast -- Performance via Parallelism -- Performance via Pipelining -- Performance via Prediction -- Hierarchy of Memories -- Dependability via Redundancy -- 1.3 Below Your Program -- From a High-Level Language to the Language of Hardware -- 1.4 Under the Covers -- Through the Looking Glass -- Touchscreen -- Opening the Box -- A Safe Place for Data -- Communicating with Other Computers -- 1.5 Technologies for Building Processors and Memory -- 1.6 Performance -- Defining Performance -- Measuring Performance -- CPU Performance and Its Factors -- Instruction Performance -- The Classic CPU Performance Equation -- 1.7 The Power Wall -- 1.8 The Sea Change: The Switch from Uniprocessors to Multiprocessors -- 1.9 Real Stuff: Benchmarking the Intel Core i7 -- SPEC CPU Benchmark -- SPEC Power Benchmark -- 1.10 Fallacies and Pitfalls -- 1.11 Concluding Remarks -- Road Map for This Book -- 1.12 Historical Perspective and Further Reading -- The First Electronic Computers -- Commercial Developments -- Measuring Performance -- The Quest for an Average Program -- SPECulating about Performance -- The Growth of Embedded Computing -- A Half-Century of Progress -- Further Reading -- 1.13 Exercises -- 2 Instructions: Language of the Computer -- 2.1 Introduction
2.2 Operations of the Computer Hardware -- 2.3 Operands of the Computer Hardware -- Memory Operands -- Constant or Immediate Operands -- 2.4 Signed and Unsigned Numbers -- Summary -- 2.5 Representing Instructions in the Computer -- MIPS Fields -- 2.6 Logical Operations -- 2.7 Instructions for Making Decisions -- Loops -- Case/Switch Statement -- 2.8 Supporting Procedures in Computer Hardware -- Using More Registers -- Nested Procedures -- Allocating Space for New Data on the Stack -- Allocating Space for New Data on the Heap -- 2.9 Communicating with People -- Characters and Strings in Java -- 2.10 MIPS Addressing for 32-bit Immediates and Addresses -- 32-Bit Immediate Operands -- Addressing in Branches and Jumps -- MIPS Addressing Mode Summary -- Decoding Machine Language -- 2.11 Parallelism and Instructions: Synchronization -- 2.12 Translating and Starting a Program -- Compiler -- Assembler -- Linker -- Loader -- Dynamically Linked Libraries -- Starting a Java Program -- 2.13 A C Sort Example to Put It All Together -- The Procedure swap -- Register Allocation for swap -- Code for the Body of the Procedure swap -- The Full swap Procedure -- The Procedure sort -- Register Allocation for sort -- Code for the Body of the Procedure sort -- The Procedure Call in sort -- Passing Parameters in sort -- Preserving Registers in sort -- The Full Procedure sort -- 2.14 Arrays versus Pointers -- Array Version of Clear -- Pointer Version of Clear -- Comparing the Two Versions of Clear -- 2.15 Advanced Material: Compiling C and Interpreting Java -- Compiling C -- The Front End -- High-Level Optimizations -- Local and Global Optimizations -- Understanding Program Performance -- Global Code Optimizations -- Implementing Local Optimizations -- Implementing Global Optimizations -- Register Allocation -- Code Generation -- Optimization Summary
Hardware/Software Interface -- Interpreting Java -- Interpretation -- Compiling for Java -- Invoking Methods in Java -- A Sort Example in Java -- Hardware/Software Interface -- 2.16 Real Stuff: ARMv7 (32-bit) Instructions -- Addressing Modes -- Compare and Conditional Branch -- Unique Features of ARM -- 2.17 Real Stuff: x86 Instructions -- Evolution of the Intel x86 -- x86 Registers and Data Addressing Modes -- x86 Integer Operations -- x86 Instruction Encoding -- x86 Conclusion -- 2.18 Real Stuff: ARMv8 (64-bit) Instructions -- 2.19 Fallacies and Pitfalls -- 2.20 Concluding Remarks -- 2.21 Historical Perspective and Further Reading -- Accumulator Architectures -- General-Purpose Register Architectures -- Compact Code and Stack Architectures -- High-Level-Language Computer Architectures -- Reduced Instruction Set Computer Architectures -- A Brief History of the ARM -- A Brief History of the x86 -- A Brief History of Programming Languages -- A Brief History of Compilers -- Further Reading -- 2.22 Exercises -- 3 Arithmetic for Computers -- 3.1 Introduction -- 3.2 Addition and Subtraction -- Summary -- 3.3 Multiplication -- Sequential Version of the Multiplication Algorithm and Hardware -- Signed Multiplication -- Faster Multiplication -- Multiply in MIPS -- Summary -- 3.4 Division -- A Division Algorithm and Hardware -- Signed Division -- Faster Division -- Divide in MIPS -- Summary -- 3.5 Floating Point -- Floating-Point Representation -- Floating-Point Addition -- Floating-Point Multiplication -- Floating-Point Instructions in MIPS -- Accurate Arithmetic -- Summary -- 3.6 Parallelism and Computer Arithmetic: Subword Parallelism -- 3.7 Real Stuff: Streaming SIMD Extensions and Advanced Vector Extensions in x86 -- 3.8 Going Faster: Subword Parallelism and Matrix Multiply -- 3.9 Fallacies and Pitfalls -- 3.10 Concluding Remarks
Beschreibung:1 Online-Ressource (1137 Seiten) Illustrationen
ISBN:9780124078864

Es ist kein Print-Exemplar vorhanden.

Fernleihe Bestellen Achtung: Nicht im THWS-Bestand!