A Programmer's View of Computer Architecture: With Assembly Language Examples from the MIPS RISC Architecture / Edition 1

A Programmer's View of Computer Architecture: With Assembly Language Examples from the MIPS RISC Architecture / Edition 1

by James Goodman, Karen Miller
     
 


This introductory text offers a contemporary treatment of computer architecture using assembly and machine language with a focus on software. Students learn how computers work through a clear, generic presentation of a computer architecture, a departure from the traditional focus on a specific architecture. A computer's capabilities are introduced within the… See more details below

Overview


This introductory text offers a contemporary treatment of computer architecture using assembly and machine language with a focus on software. Students learn how computers work through a clear, generic presentation of a computer architecture, a departure from the traditional focus on a specific architecture. A computer's capabilities are introduced within the context of software, reinforcing the software focus of the text. Designed for computer science majors in an assembly language course, this text uses a top-down approach to the material that enables students to begin programming immediately and to understand the assembly language, the interface between hardware and software. The text includes examples from the MIPS RISC (reduced instruction set computer) architecture, and an accompanying software simulator package simulates a MIPS RISC processor (the software does not require a MIPS processor to run).

Product Details

ISBN-13:
9780195131093
Publisher:
Oxford University Press, USA
Publication date:
08/01/1993
Edition description:
New Edition
Pages:
416
Product dimensions:
9.30(w) x 6.60(h) x 1.00(d)

Meet the Author

James Goodman is a professor of history at Rutgers University and the author of Stories of Scottsboro, a finalist for the Pulitzer Prize. He lives in Manhattan.

Table of Contents

1. Abstractions and Computers
1.1. Levels of Abstraction
1.2. The Tower of Computer Abstractions
1.3. A Programming Language as an Abstraction
1.4. Computer Architecture
1.5. Computer Execution Basics
2. SAL: A Simple Abstract Language
2.1. On Assembly and Compilation
2.2. Variable Declaration
2.3. Arithmetic Operations
2.4. Control Structures
2.5. Communication with the User
2.6. A SAL Program
2.7. Procedures
2.8. A Modular SAL Program
3. Number Systems
3.1. Numbers and Their Representation
3.2. Weighted Positional Notation
3.3. Transformations Between Radices
3.4. Representation of Non-Integer Numbers
3.5. Precision and Accuracy
4. Data Representation
4.1. Numbers versus Their Representation
4.2. Representation of Integers
4.3. Characters
4.4. Floating Point Representation
5. Arithmetic and Logical Operations
5.1. Boolean Operations
5.2. Shift Operations
5.3. Addition and Subtraction
5.4. Multiplication
5.5. Division
6. Floating Point Arithmetic
6.1. Hardware versus Software Calculations
6.2. Addition and Subtraction
6.3. Multiplication
6.4. Division
6.5. Advanced Topics
6.6. SAL Instructions
7. Data Structures
7.l. Memory as an Array
7.2. Arrays
7.3. Stacks
7.4. Queues
8. Registers and MAL
8.1. Instructions as a Data Type
8.2. Specifying Addresses in Instructions
8.3. The MAL Architecture
8.4. Example MAL Code
9. Procedures
9.1. MAL Procedure Call and Return Mechanisms
9.2. Dynamic Storage Allocation
9.3. Activation Records
9.4. Parameter Passing
9.5. Saving Registers
9.6. MIPS RISC Register Usage
9.7. A MAL Program that Uses Procedures
10. The Assembly Process
10.1. What Assemblers Do
10.2. True Assembly Language (TAL)
10.3. Machine Code Format and Generation
10.4. Program Relocation
11. Input and Output
11.1. Typical I/O Devices
11.2. The Processor-I/O Interface
12. Interrupts and Exception Handling
12.1. The Exception Mechanism
12.2. The Role of the Operating System
12.3. The MIPS RISC Exception Mechanism
12.4. A Sample Exception Handler
12.5. Operating System Issues
13. Architectural Performance
13.1. On Minimal Instruction Sets and Choices
13.2. Pipelining
13.3. Branching Techniques
13.4. Memory Hierarchies
14. Alternative Architectures
14.1. What's All This About RISC?
14.2. The Single-Chip Constraint
14.3. The Motorola 68000 Family
14.4. The Intel iAPS 86 Architecture
14.5. The Cray-1
14.6. SPARC
Appendix A. SAL
Appendix B. MAL
Appendix C. TAL

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >