logo资料库

The Essentials of Computer Organization and Architecture 4th Edi....pdf

第1页 / 共1249页
第2页 / 共1249页
第3页 / 共1249页
第4页 / 共1249页
第5页 / 共1249页
第6页 / 共1249页
第7页 / 共1249页
第8页 / 共1249页
资料共1249页,剩余部分请下载后查看
Title Page
Copyright
Dedication
Contents
Preface
Chapter 1 Introduction
1.1 Overview
1.2 The Main Components of a Computer
1.3 An Example System: Wading Through the Jargon
1.4 Standards Organizations
1.5 Historical Development
1.5.1 Generation Zero: Mechanical Calculating Machines (1642–1945)
1.5.2 The First Generation: Vacuum Tube Computers (1945–1953)
1.5.3 The Second Generation: Transistorized Computers (1954–1965)
1.5.4 The Third Generation: Integrated Circuit Computers (1965–1980)
1.5.5 The Fourth Generation: VLSI Computers (1980–????)
1.5.6 Moore’s Law
1.6 The Computer Level Hierarchy
1.7 Cloud Computing: Computing as a Service
1.8 The Von Neumann Model
1.9 Non–Von Neumann Models
1.10 Parallel Processors and Parallel Computing
1.11 Parallelism: Enabler of Machine Intelligence—Deep Blue and Watson
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 2 Data Representation in Computer Systems
2.1 Introduction
2.2 Positional Numbering Systems
2.3 Converting Between Bases
2.3.1 Converting Unsigned Whole Numbers
2.3.2 Converting Fractions
2.3.3 Converting Between Power-of-Two Radices
2.4 Signed Integer Representation
2.4.1 Signed Magnitude
2.4.2 Complement Systems
2.4.3 Excess-M Representation for Signed Numbers
2.4.4 Unsigned Versus Signed Numbers
2.4.5 Computers, Arithmetic, and Booth’s Algorithm
2.4.6 Carry Versus Overflow
2.4.7 Binary Multiplication and Division Using Shifting
2.5 Floating-Point Representation
2.5.1 A Simple Model
2.5.2 Floating-Point Arithmetic
2.5.3 Floating-Point Errors
2.5.4 The IEEE-754 Floating-Point Standard
2.5.5 Range, Precision, and Accuracy
2.5.6 Additional Problems with Floating-Point Numbers
2.6 Character Codes
2.6.1 Binary-Coded Decimal
2.6.2 EBCDIC
2.6.3 ASCII
2.6.4 Unicode
2.7 Error Detection and Correction
2.7.1 Cyclic Redundancy Check
2.7.2 Hamming Codes
2.7.3 Reed-Solomon
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Focus on Codes for Data Recording and Transmission
2A.1 Non-Return-to-Zero Code
2A.2 Non-Return-to-Zero-Invert Code
2A.3 Phase Modulation (Manchester Code)
2A.4 Frequency Modulation
2A.5 Run-Length-Limited Code
2A.6 Partial Response Maximum Likelihood Coding
2A.7 Summary
Exercises
Chapter 3 Boolean Algebra and Digital Logic
3.1 Introduction
3.2 Boolean Algebra
3.2.1 Boolean Expressions
3.2.2 Boolean Identities
3.2.3 Simplification of Boolean Expressions
3.2.4 Complements
3.2.5 Representing Boolean Functions
3.3 Logic Gates
3.3.1 Symbols for Logic Gates
3.3.2 Universal Gates
3.3.3 Multiple Input Gates
3.4 Digital Components
3.4.1 Digital Circuits and Their Relationship to Boolean Algebra
3.4.2 Integrated Circuits
3.4.3 Putting It All Together: From Problem Description to Circuit
3.5 Combinational Circuits
3.5.1 Basic Concepts
3.5.2 Examples of Typical Combinational Circuits
3.6 Sequential Circuits
3.6.1 Basic Concepts
3.6.2 Clocks
3.6.3 Flip-Flops
3.6.4 Finite State Machines
3.6.5 Examples of Sequential Circuits
3.6.6 An Application of Sequential Logic: Convolutional Coding and Viterbi Detection
3.7 Designing Circuits
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Focus on Karnaugh Maps
3A.1 Introduction
3A.2 Description of Kmaps and Terminology
3A.3 Kmap Simplification for Two Variables
3A.4 Kmap Simplification for Three Variables
3A.5 Kmap Simplification for Four Variables
3A.6 Don’t Care Conditions
3A.7 Summary
Exercises
Chapter 4 MARIE: An Introduction to a Simple Computer
4.1 Introduction
4.2 CPU Basics and Organization
4.2.1 The Registers
4.2.2 The ALU
4.2.3 The Control Unit
4.3 The Bus
4.4 Clocks
4.5 The Input/Output Subsystem
4.6 Memory Organization and Addressing
4.7 Interrupts
4.8 MARIE
4.8.1 The Architecture
4.8.2 Registers and Buses
4.8.3 Instruction Set Architecture
4.8.4 Register Transfer Notation
4.9 Instruction Processing
4.9.1 The Fetch–Decode–Execute Cycle
4.9.2 Interrupts and the Instruction Cycle
4.9.3 MARIE’s I/O
4.10 A Simple Program
4.11 A Discussion on Assemblers
4.11.1 What Do Assemblers Do?
4.11.2 Why Use Assembly Language?
4.12 Extending Our Instruction Set
4.13 A Discussion on Decoding: Hardwired Versus Microprogrammed Control
4.13.1 Machine Control
4.13.2 Hardwired Control
4.13.3 Microprogrammed Control
4.14 Real-World Examples of Computer Architectures
4.14.1 Intel Architectures
4.14.2 MIPS Architectures
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 5 A Closer Look at Instruction Set Architectures
5.1 Introduction
5.2 Instruction Formats
5.2.1 Design Decisions for Instruction Sets
5.2.2 Little Versus Big Endian
5.2.3 Internal Storage in the CPU: Stacks Versus Registers
5.2.4 Number of Operands and Instruction Length
5.2.5 Expanding Opcodes
5.3 Instruction Types
5.3.1 Data Movement
5.3.2 Arithmetic Operations
5.3.3 Boolean Logic Instructions
5.3.4 Bit Manipulation Instructions
5.3.5 Input/Output Instructions
5.3.6 Instructions for Transfer of Control
5.3.7 Special-Purpose Instructions
5.3.8 Instruction Set Orthogonality
5.4 Addressing
5.4.1 Data Types
5.4.2 Address Modes
5.5 Instruction Pipelining
5.6 Real-World Examples of ISAs
5.6.1 Intel
5.6.2 MIPS
5.6.3 Java Virtual Machine
5.6.4 ARM
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 6 Memory
6.1 Introduction
6.2 Types of Memory
6.3 The Memory Hierarchy
6.3.1 Locality of Reference
6.4 Cache Memory
6.4.1 Cache Mapping Schemes
6.4.2 Replacement Policies
6.4.3 Effective Access Time and Hit Ratio
6.4.4 When Does Caching Break Down?
6.4.5 Cache Write Policies
6.4.6 Instruction and Data Caches
6.4.7 Levels of Cache
6.5 Virtual Memory
6.5.1 Paging
6.5.2 Effective Access Time Using Paging
6.5.3 Putting It All Together: Using Cache, TLBs, and Paging
6.5.4 Advantages and Disadvantages of Paging and Virtual Memory
6.5.5 Segmentation
6.5.6 Paging Combined with Segmentation
6.6 A Real-World Example of Memory Management
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 7 Input/Output and Storage Systems
7.1 Introduction
7.2 I/O and Performance
7.3 Amdahl’ s Law
7.4 I/O Architectures
7.4.1 I/O Control Methods
7.4.2 Character I/O Versus Block I/O
7.4.3 I/O Bus Operation
7.5 Data Transmission Modes
7.5.1 Parallel Data Transmission
7.5.2 Serial Data Transmission
7.6 Magnetic Disk Technology
7.6.1 Rigid Disk Drives
7.6.2 Solid State Drives
7.7 Optical Disks
7.7.1 CD-ROM
7.7.2 DVD
7.7.3 Blue-Violet Laser Discs
7.7.4 Optical Disk Recording Methods
7.8 Magnetic Tape
7.9 RAID
7.9.1 RAID Level 0
7.9.2 RAID Level 1
7.9.3 RAID Level 2
7.9.4 RAID Level 3
7.9.5 RAID Level 4
7.9.6 RAID Level 5
7.9.7 RAID Level 6
7.9.8 RAID DP
7.9.9 Hybrid RAID Systems
7.10 The Future of Data Storage
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Focus on Data Compression
7A.1 Introduction
7A.2 Statistical Coding
7A.2.1 Huffman Coding
7A.2.2 Arithmetic Coding
7A.3 Ziv-Lempel (LZ) Dictionary Systems
7A.4 GIF and PNG Compression
7A.5 JPEG Compression
7A.6 MP3 Compression
7A.7 Summary
Further Reading
References
Exercises
Chapter 8 System Software
8.1 Introduction
8.2 Operating Systems
8.2.1 Operating Systems History
8.2.2 Operating System Design
8.2.3 Operating System Services
8.3 Protected Environments
8.3.1 Virtual Machines
8.3.2 Subsystems and Partitions
8.3.3 Protected Environments and the Evolution of Systems Architectures
8.4 Programming Tools
8.4.1 Assemblers and Assembly
8.4.2 Link Editors
8.4.3 Dynamic Link Libraries
8.4.4 Compilers
8.4.5 Interpreters
8.5 Java: All of the Above
8.6 Database Software
8.7 Transaction Managers
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 9 Alternative Architectures
9.1 Introduction
9.2 RISC Machines
9.3 Flynn’s Taxonomy
9.4 Parallel and Multiprocessor Architectures
9.4.1 Superscalar and VLIW
9.4.2 Vector Processors
9.4.3 Interconnection Networks
9.4.4 Shared Memory Multiprocessors
9.4.5 Distributed Computing
9.5 Alternative Parallel Processing Approaches
9.5.1 Dataflow Computing
9.5.2 Neural Networks
9.5.3 Systolic Arrays
9.6 Quantum Computing
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 10 Topics in Embedded Systems
10.1 Introduction
10.2 An Overview of Embedded Hardware
10.2.1 Off-the-Shelf Embedded System Hardware
10.2.2 Configurable Hardware
10.2.3 Custom-Designed Embedded Hardware
10.3 An Overview of Embedded Software
10.3.1 Embedded Systems Memory Organization
10.3.2 Embedded Operating Systems
10.3.3 Embedded Systems Software Development
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 11 Performance Measurement and Analysis
11.1 Introduction
11.2 Computer Performance Equations
11.3 Mathematical Preliminaries
11.3.1 What the Means Mean
11.3.2 The Statistics and Semantics
11.4 Benchmarking
11.4.1 Clock Rate, MIPS, and FLOPS
11.4.2 Synthetic Benchmarks: Whetstone, Linpack, and Dhrystone
11.4.3 Standard Performance Evaluation Corporation Benchmarks
11.4.4 Transaction Processing Performance Council Benchmarks
11.4.5 System Simulation
11.5 CPU Performance Optimization
11.5.1 Branch Optimization
11.5.2 Use of Good Algorithms and Simple Code
11.6 Disk Performance
11.6.1 Understanding the Problem
11.6.2 Physical Considerations
11.6.3 Logical Considerations
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 12 Network Organization and Architecture
12.1 Introduction
12.2 Early Business Computer Networks
12.3 Early Academic and Scientific Networks: The Roots and Architecture of the Internet
12.4 Network Protocols I: ISO/OSI Protocol Unification
12.4.1 A Parable
12.4.2 The OSI Reference Model
12.5 Network Protocols II: TCP/IP Network Architecture
12.5.1 The IP Layer for Version 4
12.5.2 The Trouble with IP Version 4
12.5.3 Transmission Control Protocol
12.5.4 The TCP Protocol at Work
12.5.5 IP Version 6
12.6 Network Organization
12.6.1 Physical Transmission Media
12.6.2 Interface Cards
12.6.3 Repeaters
12.6.4 Hubs
12.6.5 Switches
12.6.6 Bridges and Gateways
12.6.7 Routers and Routing
12.7 The Fragility of the Internet
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 13 Selected Storage Systems and Interfaces
13.1 Introduction
13.2 SCSI Architecture
13.2.1 “Classic” Parallel SCSI
13.2.2 The SCSI Architecture Model-3
13.3 Internet SCSI
13.4 Storage Area Networks
13.5 Other I/O Connections
13.5.1 Parallel Buses: XT to ATA
13.5.2 Serial ATA and Serial Attached SCSI
13.5.3 Peripheral Component Interconnect
13.5.4 A Serial Interface: USB
13.6 Cloud Storage
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Appendix A: Data Structures and the Computer
A.1 Introduction
A.2 Fundamental Structures
A.2.1 Arrays
A.2.2 Queues and Linked Lists
A.2.3 Stacks
A.3 Trees
A.4 Network Graphs
Summary
Further Reading
References
Exercises
Glossary
Answers and Hints for Selected Exercises
Index
World Headquarters Jones & Bartlett Learning 5 Wall Street Burlington, MA 01803 978-443-5000 info@jblearning.com www.jblearning.com Jones & Bartlett Learning books and products are available through most bookstores and online booksellers. To contact Jones & Bartlett Learning directly, call 800-832- 0034, fax 978-443-8000, or visit our website, www.jblearning.com. Substantial discounts on bulk quantities of Jones & Bartlett Learning publications are available to corporations, professional associations, and other qualified organizations. For details and specific discount information, contact the special sales department at Jones & Bartlett Learning via the above contact information or send an email to specialsales@jblearning.com. Copyright © 2015 by Jones & Bartlett Learning, LLC, an Ascend Learning Company All rights reserved. No part of the material protected by this copyright may be reproduced or utilized in any form, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without written permission from the copyright owner. The content, statements, views, and opinions herein are the sole expression of the respective authors and not that of Jones & Bartlett Learning, LLC. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not constitute or imply its endorsement or recommendation by Jones & Bartlett Learning, LLC and such reference shall not be used for advertising or product endorsement purposes. All trademarks displayed are the trademarks of the parties noted herein. The Essentials of Computer Organization and Architecture, Fourth Edition is an independent publication and has not been authorized, sponsored, or otherwise approved by the owners of the trademarks or service marks referenced in this product. There may be images in this book that feature models; these models do not necessarily endorse, represent, or participate in the activities represented in the images. Any screenshots in this product are for educational and instructive purposes only. Any individuals and scenarios featured in the case studies throughout this product may be real or fictitious, but are used for instructional purposes only.
Production Credits Executive Publisher: William Brottmiller Publisher: Cathy L. Esperti Acquisitions Editor: Laura Pagluica Editorial Assistant: Brooke Yee Director of Production: Amy Rose Senior Production Editor: Tiffany Sliter Associate Production Editor: Sara Fowles Associate Marketing Manager: Cassandra Peterson VP, Manufacturing and Inventory Control: Therese Connell Composition: Laserwords Private Limited, Chennai, India Cover and Title Page Design: Kristin E. Parker Director of Photo Research and Permissions: Amy Wrynn Cover and Title Page Image: © Eugene Sergeev/ShutterStock, Inc. Printing and Binding: Edwards Brothers Malloy Cover Printing: Edwards Brothers Malloy To order this product, use ISBN: 978-1-284-04561-1 Library of Congress Cataloging-in-Publication Data Null, Linda. The essentials of computer organization and architecture / Linda Null and Julia Lobur. -- Fourth edition. pages ; cm Includes index. ISBN 978-1-284-03314-4 (pbk.) -- ISBN 1-284-03314-7 (pbk.) 1. Computer organization. 2. Computer architecture. I. Lobur, Julia. II. Title. QA76.9.C643N85 2015 004.2’2--dc23 2013034383 6048 Printed in the United States of America 18 17 16 15 14 10 9 8 7 6 5 4 3 2 1
In memory of my father, Merrill Cornell, a pilot and man of endless talent and courage, who taught me that when we step into the unknown, we either find solid ground, or we learn to fly. —L. M. N. To the loving memory of my mother, Anna J. Surowski, who made all things possible for her girls. —J. M. L.
Contents Preface CHAPTER 1 Introduction 1.1 Overview 1.2 The Main Components of a Computer 1.3 An Example System: Wading Through the Jargon 1.4 Standards Organizations 1.5 Historical Development 1.5.1 Generation Zero: Mechanical Calculating Machines (1642–1945) 1.5.2 The First Generation: Vacuum Tube Computers (1945–1953) 1.5.3 The Second Generation: Transistorized Computers (1954–1965) 1.5.4 The Third Generation: Integrated Circuit Computers (1965–1980) 1.5.5 The Fourth Generation: VLSI Computers (1980–????) 1.5.6 Moore’s Law 1.6 The Computer Level Hierarchy 1.7 Cloud Computing: Computing as a Service 1.8 The Von Neumann Model 1.9 Non–Von Neumann Models 1.10 Parallel Processors and Parallel Computing 1.11 Parallelism: Enabler of Machine Intelligence— Deep Blue and Watson
Chapter Summary Further Reading References Review of Essential Terms and Concepts Exercises CHAPTER 2 Data Representation in Computer Systems 2.1 Introduction 2.2 Positional Numbering Systems 2.3 Converting Between Bases 2.3.1 Converting Unsigned Whole Numbers 2.3.2 Converting Fractions 2.3.3 Converting Between Power-of-Two Radices 2.4 Signed Integer Representation 2.4.1 Signed Magnitude 2.4.2 Complement Systems 2.4.3 Excess-M Representation for Signed Numbers 2.4.4 Unsigned Versus Signed Numbers 2.4.5 Computers, Arithmetic, and Booth’s Algorithm 2.4.6 Carry Versus Overflow 2.4.7 Binary Multiplication and Division Using Shifting 2.5 Floating-Point Representation 2.5.1 A Simple Model 2.5.2 Floating-Point Arithmetic 2.5.3 Floating-Point Errors 2.5.4 The IEEE-754 Floating-Point Standard 2.5.5 Range, Precision, and Accuracy 2.5.6 Additional Problems with Floating-Point Numbers 2.6 Character Codes
分享到:
收藏