Computer Systems A Programmer's Perspective

ISBN-10: 013034074X

ISBN-13: 9780130340740

Edition: 2003

Authors: Randal E. Bryant, David R. O'Hallaron

List price: $149.00
30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy


For Computer Organization and Architecture and Computer Systems courses in CS and EE and ECE departments. Developed out of an introductory course at Carnegie Mellon University, this text explains the important and enduring concepts underlying all computer systems, and shows the concrete ways that these ideas affect the correctness, performance, and utility of application programs. The text's concrete and hands-on approach will help students understand what is going on under the hood of a computer system.
what's this?
Rush Rewards U
Members Receive:
You have reached 400 XP and carrot coins. That is the daily max!
Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS PowerPoint® 2010 Online content $4.95 $1.99
Customers also bought

Book details

List price: $149.00
Copyright year: 2003
Publisher: Prentice Hall PTR
Publication date: 8/13/2002
Binding: Hardcover
Pages: 1304
Size: 7.75" wide x 9.25" long x 1.50" tall
Weight: 3.740
Language: English

A Tour of Computer Systems
Information Is Bits + Context
Programs Are Translated by Other Programs into Different Forms
It Pays to Understand How Compilation Systems Work
Processors Read and Interpret Instructions Stored in Memory. Caches Matter
Storage Devices Form a Hierarchy
The Operating System Manages the Hardware
Systems Communicate with Other Systems Using Networks
The Next Step
Program Structure and Execution
Representing and Manipulating Information
Information Storage
Integer Representations
Integer Arithmetic
Floating Point
Machine-Level Representation of Programs
A Historical Perspective
Program Encodings
Data Formats
Accessing Information
Arithmetic and Logical Operations
Array Allocation and Access
Heterogeneous Data Structures
Putting It Together: Understanding Pointers
Life in the Real World: Using the GDB Debugger
Out-of-Bounds Memory References and Buffer Overflow
Floating-Point Code
Embedding Assembly Code in C Programs
Processor Architecture
The Y86 Instruction Set Architecture
Overview of Logic Design and the Hardware Control Language
A Sequential Implementation
General Principles of Pipelining
Pipelined Implementations
Optimizing Program Performance
Capabilities and Limitations of Optimizing Compilers
Expressing Program Performance
Program Example
Eliminating Loop Inefficiencies
Reducing Procedure Calls
Eliminating Unneeded Memory References
Understanding Modern Processors
Reducing Loop Overhead
Converting to Pointer Code
Enhancing Parallelism
Putting It Together: Summary of Results for Optimizing Combining Code
Branch Prediction and Misprediction Penalties
Understanding Memory Performance
Life in the Real World: Performance Improvement Techniques
Identifying and Eliminating Performance Bottlenecks
The Memory Hierarchy
Storage Technologies
The Memory Hierarchy
Cache Memories
Writing Cache-Friendly Code
Putting It Together: Exploiting Locality in Your Programs
Running Programs on a System
Compiler Drivers
Static Linking
Object Files
Relocatable Object Files
Symbols and Symbol Tables
Symbol Resolution
Executable Object Files
Loading Executable Object Files
Dynamic Linking with Shared Libraries
Loading and Linking Shared Libraries from Applications
Position-Independent Code (PIC)
Tools for Manipulating Object Files
Exceptional Control Flow
System Calls and Error Handling
Process Control
Nonlocal Jumps
Tools for Manipulating Processes
Measuring Program Execution Time
The Flow of Time on a Computer Systems
Measuring Time by Interval Counting
Cycle Counters
Measuring Program Execution Time with Cycle Counters
Time-of-Day Measurements
Putting It Together: An Experimental Protocol
Looking into the Future
Life in the Real World: An Implementation of theK-Best Measurement Scheme
Lessons Learned
Virtual Memory. P
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.