ebook img

The Essentials of Computer Organization and Architecture PDF

834 Pages·2016·23.87 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview The Essentials of Computer Organization and Architecture

World Headquarters Jones & Bartlett Learning 5 Wall Street Burlington, MA 01803 978-443-5000 [email protected] 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 [email protected]. 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 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

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.