| |
| |
Preface | |
| |
| |
| |
Background and Introduction | |
| |
| |
| |
Levels of Abstraction | |
| |
| |
| |
From Program to Execution | |
| |
| |
| |
A Brief History of Computer Development | |
| |
| |
| |
The Intel iAPX Architecture | |
| |
| |
| |
Computer Basics | |
| |
| |
| |
The Pieces and Parts | |
| |
| |
| |
Memory Operation | |
| |
| |
| |
The Instruction Fetch and Execute Cycle | |
| |
| |
| |
Performance | |
| |
| |
| |
SASM--Simple Abstract Language | |
| |
| |
| |
Assembly and Compilation | |
| |
| |
| |
Variable Declaration | |
| |
| |
| |
Arithmetic Operations | |
| |
| |
| |
Control Structures | |
| |
| |
| |
Communication with the User | |
| |
| |
| |
A SASM Program | |
| |
| |
| |
Number Systems | |
| |
| |
| |
Numbers and Their Representation | |
| |
| |
| |
Weighted Positional Notation | |
| |
| |
| |
Transformations Between Radices | |
| |
| |
| |
Representation of Noninteger Numbers | |
| |
| |
| |
Data Representation | |
| |
| |
| |
Numbers versus Their Representation | |
| |
| |
| |
Representation of Integers | |
| |
| |
| |
Characters | |
| |
| |
| |
Floating Point Representation | |
| |
| |
| |
A Little Extra On Complement Representation | |
| |
| |
| |
Arithmetic and Logical Operations | |
| |
| |
| |
Logical Operations | |
| |
| |
| |
Shift Operations | |
| |
| |
| |
Addition and Subtraction | |
| |
| |
| |
Multiplication | |
| |
| |
| |
Division | |
| |
| |
| |
Floating Point Arithmetic | |
| |
| |
| |
Hardware versus Software Calculations | |
| |
| |
| |
Addition and Subtraction | |
| |
| |
| |
Multiplication | |
| |
| |
| |
Division | |
| |
| |
| |
Advanced Topics | |
| |
| |
| |
Data Structures | |
| |
| |
| |
Memory as an Array | |
| |
| |
| |
Arrays | |
| |
| |
| |
Stacks | |
| |
| |
| |
Queues | |
| |
| |
| |
Using Registers for Efficiency | |
| |
| |
| |
Instructions and Efficiency | |
| |
| |
| |
Registers | |
| |
| |
| |
Load/Store Architectures | |
| |
| |
| |
Addressing Modes | |
| |
| |
| |
The Pentium Architecture | |
| |
| |
| |
Generalities | |
| |
| |
| |
Registers | |
| |
| |
| |
Memory Model | |
| |
| |
| |
Addressing Modes | |
| |
| |
| |
Instruction Set | |
| |
| |
| |
Code Examples | |
| |
| |
| |
Procedures | |
| |
| |
| |
Procedure Call and Return Mechanisms | |
| |
| |
| |
Dynamic Storage Allocation | |
| |
| |
| |
Activation Records | |
| |
| |
| |
Parameter Passing | |
| |
| |
| |
Saving Registers | |
| |
| |
| |
A Pentium Program That Uses Procedures | |
| |
| |
| |
The Assembly Process | |
| |
| |
| |
Where Assemblers Fit in, and What Assemblers Do | |
| |
| |
| |
Machine Code Format and Code Generation | |
| |
| |
| |
Linking and Loading | |
| |
| |
| |
Input and Output | |
| |
| |
| |
Typical I/O Devices | |
| |
| |
| |
The Processor--I/O Interface | |
| |
| |
| |
Direct Memory Access (DMA) | |
| |
| |
| |
Interrupts and Exception Handling | |
| |
| |
| |
The Mechanism | |
| |
| |
| |
The Role of the Operating System | |
| |
| |
| |
The Pentium Exception Mechanism | |
| |
| |
| |
Advanced Issues in Exception Handling | |
| |
| |
| |
Features for Architectural Performance | |
| |
| |
| |
Mimimal Instruction Sets and Choices | |
| |
| |
| |
Instruction Level Parallelism | |
| |
| |
| |
Memory Hierarchies | |
| |
| |
| |
Architecture in Perspective | |
| |
| |
| |
What's All This about RISC? | |
| |
| |
| |
The Single-Chip Constraint | |
| |
| |
| |
The Motorola 68000 Family | |
| |
| |
| |
The Cray-1 | |
| |
| |
| |
Mips Risc | |
| |
| |
| |
Sparc | |
| |
| |
| |
Alpha | |
| |
| |
| |
Memory Management and Virtual Memory | |
| |
| |
| |
| |
Basic Concept and Terms | |
| |
| |
| |
Base and Bounds | |
| |
| |
| |
Segmentation | |
| |
| |
| |
Segmentation on the Pentium | |
| |
| |
| |
Paging | |
| |
| |
| |
Paging and Segmentation | |
| |
| |
| |
Multilevel Paging | |
| |
| |
| |
Page and Segment Attributes | |
| |
| |
| |
Reserved Word | |