did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780763737696

The Essentials of Computer Organization And Architecture

by
  • ISBN13:

    9780763737696

  • ISBN10:

    0763737690

  • Edition: 2nd
  • Format: Hardcover
  • Copyright: 2006-02-15
  • Publisher: Jones & Bartlett
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $157.95

Summary

Thoroughly, revised and updated, this second edition of The Essentials of Computer Organization and Architecture is a comprehensive resource that addresses all of the necessary organization and architecture topics, yet is concise enough to cover in a single semester. Created in direct correlation to the ACM-IEEE Computing Curricula 2001 guidelines, this text exposes the inner workings of a modern digital computer through an integrated presentation of fundamental concepts and principles. The authors present real-world examples and focus on practical applications, thus encouraging students to develop a "big- picture" understanding of how essential organization and architecture concepts are applied in the world of computing.

Table of Contents

Introduction
1(38)
Overview
1(2)
The Main Components of a Computer
3(1)
An Example System: Wading Through the Jargon
4(9)
Standards Organizations
13(1)
Historical Development
14(14)
Generation Zero: Mechanical Calculating Machines (1642-1945)
15(2)
The First Generation: Vacuum Tube Computers (1945-1953)
17(4)
The Second Generation: Transistorized Computers (1954-1965)
21(3)
The Third Generation: Integrated Circuit Computers (1965-1980)
24(1)
The Fourth Generation: VLSI Computers (1980-????)
24(3)
Moore's Law
27(1)
The Computer Level Hierarchy
28(2)
The von Neumann Model
30(2)
Non-von Neumann Models
32(7)
Chapter Summary
34(1)
Further Reading
34(1)
References
35(1)
Review of Essential Terms and Concepts
36(1)
Exercises
37(2)
Data Representation in Computer Systems
39(70)
Introduction
39(1)
Positional Numbering Systems
40(1)
Decimal to Binary Conversions
40(6)
Converting Unsigned Whole Numbers
41(2)
Converting Fractions
43(3)
Converting between Power-of-Two Radices
46(1)
Signed Integer Representation
46(17)
Signed Magnitude
46(6)
Complement Systems
52(6)
Unsigned Versus Signed Numbers
58(1)
Computers, Arithmetic, and Booth's Algorithm
58(4)
Carry Versus Overflow
62(1)
Floating-Point Representation
63(11)
A Simple Model
64(2)
Floating-Point Arithmetic
66(1)
Floating-Point Errors
67(1)
The IEEE-754 Floating-Point Standard
68(3)
Range, Precision, and Accuracy
71(1)
Additional Problems with Floating-Point Numbers
71(3)
Character Codes
74(7)
Binary-Coded Decimal
74(2)
EBCDIC
76(2)
ASCII
78(2)
Unicode
80(1)
Error Detection and Correction
81(28)
Cyclic Redundancy Check
81(3)
Hamming Codes
84(6)
Reed-Soloman
90(1)
Chapter Summary
91(1)
Further Reading
91(1)
References
92(1)
Review of Essential Terms and Concepts
93(1)
Exercises
94(15)
Boolean Algebra and Digital Logic
109(68)
Introduction
109(1)
Boolean Algebra
110(8)
Boolean Expressions
111(1)
Boolean Identities
112(2)
Simplification of Boolean Expressions
114(1)
Complements
115(1)
Representing Boolean Functions
116(2)
Logic Gates
118(3)
Symbols for Logic Gates
118(1)
Universal Gates
119(1)
Multiple Input Gates
120(1)
Digital Components
121(2)
Digital Circuits and Their Relationship to Boolean Algebra
121(1)
Integrated Circuits
122(1)
Combinational Circuits
123(8)
Basic Concepts
123(1)
Examples of Typical Combinational Circuits
124(7)
Sequential Circuits
131(20)
Basic Concepts
131(1)
Clocks
131(1)
Flip-Flops
132(3)
Finite State Machines
135(5)
Examples of Sequential Circuits
140(5)
An Application of Sequential Logic: Convolutional Coding and Viterbi Detection
145(6)
Designing Circuits
151(26)
Chapter Summary
152(1)
Further Reading
152(2)
References
154(1)
Review of Essential Terms and Concepts
154(1)
Exercises
155(22)
MARIE: An Introduction to a Simple Computer
177(66)
Introduction
177(1)
CPU Basics and Organization
177(2)
The Registers
178(1)
The ALU
179(1)
The Control Unit
179(1)
The Bus
179(4)
Clocks
183(2)
The Input/Output Subsystem
185(1)
Memory Organization and Addressing
186(3)
Interrupts
189(1)
MARIE
190(8)
The Architecture
190(1)
Registers and Buses
190(3)
Instruction Set Architecture
193(2)
Register Transfer Notation
195(3)
Instruction Processing
198(5)
The Fetch-Decode-Execute Cycle
198(1)
Interrupts and the Instruction Cycle
199(4)
MARIE's I/O
203(1)
A Simple Program
203(3)
A Discussion on Assemblers
206(3)
What Do Assemblers Do?
206(2)
Why Use Assembly Language?
208(1)
Extending our Instruction Set
209(5)
A Discussion on Decoding: Hardwired Versus Microprogrammed Control
214(9)
Machine Control
214(2)
Hardwired Control
216(1)
Microprogrammed Control
217(6)
Real-World Examples of Computer Architectures
223(20)
Intel Architectures
224(6)
MIPS Architectures
230(3)
Chapter Summary
233(1)
Further Reading
234(1)
References
235(1)
Review of Essential Terms and Concepts
236(1)
Exercises
237(6)
A Closer Look at Instruction Set Architectures
243(38)
Introduction
243(1)
Instruction Formats
243(11)
Design Decisions for Instruction Sets
244(1)
Little Versus Big Endian
245(2)
Internal Storage in the CPU: Stacks Versus Registers
247(1)
Number of Operands and Instruction Length
248(4)
Expanding Opcodes
252(2)
Instruction Types
254(3)
Data Movement
254(1)
Arithmetic Operations
254(1)
Boolean Logic Instructions
255(1)
Bit Manipulation Instructions
255(1)
Input/Output Instructions
256(1)
Instructions for Transfer of Control
256(1)
Special Purpose Instructions
256(1)
Instruction Set Orthogonality
256(1)
Addressing
257(4)
Data Types
257(1)
Address Modes
258(3)
Instruction-Level Pipelining
261(5)
Real-World Examples of ISAs
266(15)
Intel
266(1)
MIPS
267(1)
Java Virtual Machine
267(4)
Chapter Summary
271(1)
Further Reading
272(1)
References
273(1)
Review of Essential Terms and Concepts
274(1)
Exercises
275(6)
Memory
281(46)
Introduction
281(1)
Types of Memory
281(2)
The Memory Hierarchy
283(2)
Locality of Reference
285(1)
Cache Memory
285(17)
Cache Mapping
287(8)
Replacement Policies
295(1)
Effective Access Time and Hit Ratio
296(1)
When Does Caching Break Down?
297(1)
Cache Write Policies
297(3)
Instruction and Data Caches
300(1)
Levels of Cache
301(1)
Virtual Memory
302(14)
Paging
303(7)
Effective Access Time Using Paging
310(1)
Putting It All Together: Using Cache, TLBs, and Paging
311(2)
Advantages and Disadvantages of Paging and Virtual Memory
313(1)
Segmentation
314(1)
Paging Combined with Segmentation
315(1)
A Real-World Example of Memory Management
316(11)
Chapter Summary
317(1)
Further Reading
318(1)
References
318(1)
Review of Essential Terms and Concepts
319(1)
Exercises
320(7)
Input/Output and Storage Systems
327(80)
Introduction
327(1)
I/O and Performance
328(1)
Amdahl's Law
328(1)
I/O Architectures
329(12)
I/O Control Methods
331(7)
Character I/O Versus Block I/O
338(1)
I/O Bus Operation
338(3)
Data Transmission Modes
341(4)
Parallel Data Transmission
341(4)
Serial Data Transmission
345(1)
Magnetic Disk Technology
345(8)
Rigid Disk Drives
347(4)
Flexible (Floppy) Disks
351(2)
Optical Disks
353(6)
CD-ROM
353(4)
DVD
357(1)
Blue-Violet Laser Disks
358(1)
Optical Disk Recording Methods
358(1)
Magnetic Tape
359(5)
RAID
364(8)
RAID Level 0
365(1)
RAID Level 1
366(1)
RAID Level 2
366(1)
RAID Level 3
367(1)
RAID Level 4
368(1)
RAID Level 5
369(1)
RAID Level 6
370(1)
RAID DP
371(1)
Hybrid RAID Systems
372(1)
The Future of Data Storage
372(35)
Chapter Summary
377(1)
Further Reading
377(1)
References
378(1)
Review of Essential Terms and Concepts
379(2)
Exercises
381(26)
System Software
407(54)
Introduction
407(1)
Operating Systems
408(12)
Operating Systems History
409(5)
Operating System Design
414(2)
Operating System Services
416(4)
Protected Environments
420(8)
Virtual Machines
421(3)
Subsystems and Partitions
424(2)
Protected Environments and the Evolution of Systems Architectures
426(2)
Programming Tools
428(11)
Assemblers and Assembly
428(3)
Link Editors
431(1)
Dynamic Link Libraries
432(2)
Compilers
434(4)
Interpreters
438(1)
Java: All of the Above
439(6)
Database Software
445(6)
Transaction Managers
451(10)
Chapter Summary
453(2)
Further Reading
455(1)
References
456(1)
Review of Essential Terms and Concepts
456(1)
Exercises
457(4)
Alternative Architectures
461(44)
Introduction
461(1)
RISC Machines
462(5)
Flynn's Taxonomy
467(4)
Parallel and Multiprocessor Architectures
471(16)
Superscalar and VLIW
472(2)
Vector Processors
474(1)
Interconnection Networks
475(5)
Shared Memory Multiprocessors
480(4)
Distributed Computing
484(3)
Alternative Parallel Processing Approaches
487(7)
Dataflow Computing
487(2)
Neural Networks
489(3)
Systolic Arrays
492(2)
Quantum Computing
494(11)
Chapter Summary
496(1)
Further Reading
497(1)
References
497(2)
Review of Essential Terms and Concepts
499(1)
Exercises
500(5)
Topics in Embedded Systems
505(36)
Introduction
505(2)
An Overview of Embedded Hardware
507(19)
Off-the-Shelf Embedded System Hardware
507(4)
Configurable Hardware
511(7)
Custom-Designed Embedded Hardware
518(8)
An Overview of Embedded Software
526(15)
Embedded Systems Memory Organization
527(1)
Embedded Operating Systems
528(3)
Embedded Systems Software Development
531(2)
Chapter Summary
533(2)
Further Reading
535(1)
References
536(1)
Review of Essential Terms and Concepts
537(1)
Exercises
538(3)
Performance Measurement and Analysis
541(50)
Introduction
541(1)
Computer Performance Equations
542(1)
Mathematical Preliminaries
543(8)
What the Means Mean
544(5)
The Statistics and Semantics
549(2)
Benchmarking
551(16)
Clock Rate, MIPS, and FLOPS
552(2)
Synthetic Benchmarks: Whetstone, Linpack, and Dhrystone
554(1)
Standard Performance Evaluation Corporation Benchmarks
555(4)
Transaction Processing Performance Council Benchmarks
559(7)
System Simulation
566(1)
CPU Performance Optimization
567(7)
Branch Optimization
567(3)
Use of Good Algorithms and Simple Code
570(4)
Disk Performance
574(17)
Understanding the Problem
574(1)
Physical Considerations
575(1)
Logical Considerations
576(6)
Chapter Summary
582(1)
Further Reading
583(1)
References
584(1)
Review of Essential Terms and Concepts
585(1)
Exercises
585(6)
Network Organization and Architecture
591(78)
Introduction
591(1)
Early Business Computer Networks
591(1)
Early Academic and Scientific Networks: The Roots and Architecture of the Internet
592(4)
Network Protocols I: ISO/OSI Protocol Unification
596(6)
A Parable
597(1)
The OSI Reference Model
598(4)
Network Protocols II: TCP/IP Network Architecture
602(20)
The IP Layer for Version 4
602(4)
The Trouble with IP Version 4
606(4)
Transmission Control Protocol
610(1)
The TCP Protocol at Work
611(4)
IP Version 6
615(7)
Network Organization
622(21)
Physical Transmission Media
622(8)
Interface Cards
630(1)
Repeaters
631(1)
Hubs
631(1)
Switches
632(1)
Bridges and Gateways
633(1)
Routers and Routing
634(9)
High-Capacity Digital Links
643(9)
The Digital Hierarchy
643(5)
ISDN
648(3)
Asynchronous Transfer Mode
651(1)
A Look at the Internet
652(17)
Ramping on to the Internet
653(7)
Ramping up the Internet
660(1)
Chapter Summary
661(1)
Further Reading
661(2)
References
663(1)
Review of Essential Terms and Concepts
663(2)
Exercises
665(4)
Selected Storage Systems and Interfaces
669(26)
Introduction
669(1)
SCSI Architecture
670(12)
``Classic'' Parallel SCSI
671(4)
The SCSI Architecture Model-3
675(7)
Internet SCSI
682(3)
Storage Area Networks
685(1)
Other I/O Connections
685(10)
Parallel Buses: XT to ATA
686(1)
Serial ATA and Serial Attached SCSI
687(1)
Peripheral Component Interconnect
688(1)
A Serial Interface: USB
689(1)
High Performance Peripheral Interface: HiPPI
689(1)
Chapter Summary
690(1)
Further Reading
691(1)
References
691(1)
Review of Essential Terms and Concepts
692(1)
Exercises
692(3)
APPENDIX A Data Structures and the Computer
695(20)
A.1 Introduction
695(1)
A.2 Fundamental Structures
695(6)
A.2.1 Arrays
695(2)
A.2.2 Queues and Linked Lists
697(1)
A.2.3 Stacks
698(3)
A.3 Trees
701(6)
A.4 Network Graphs
707(8)
Summary
710(1)
Further Reading
710(1)
References
710(1)
Exercises
710(5)
Glossary 715(42)
Answers and Hints for Selected Exercises 757(16)
Index 773

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program