| |
| |
| |
Abstractions and Computers | |
| |
| |
| |
Levels of Abstraction | |
| |
| |
| |
The Tower of Computer Abstractions | |
| |
| |
| |
A Programming Language as an Abstraction | |
| |
| |
| |
Computer Architecture | |
| |
| |
| |
Computer Execution Basics | |
| |
| |
| |
SAL: A Simple Abstract Language | |
| |
| |
| |
On Assembly and Compilation | |
| |
| |
| |
Variable Declaration | |
| |
| |
| |
Arithmetic Operations | |
| |
| |
| |
Control Structures | |
| |
| |
| |
Communication with the User | |
| |
| |
| |
A SAL Program | |
| |
| |
| |
Procedures | |
| |
| |
| |
A Modular SAL Program | |
| |
| |
| |
Number Systems | |
| |
| |
| |
Numbers and Their Representation | |
| |
| |
| |
Weighted Positional Notation | |
| |
| |
| |
Transformations Between Radices | |
| |
| |
| |
Representation of Non-Integer Numbers | |
| |
| |
| |
Precision and Accuracy | |
| |
| |
| |
Data Representation | |
| |
| |
| |
Numbers versus Their Representation | |
| |
| |
| |
Representation of Integers | |
| |
| |
| |
Characters | |
| |
| |
| |
Floating Point Representation | |
| |
| |
| |
Arithmetic and Logical Operations | |
| |
| |
| |
Boolean Operations | |
| |
| |
| |
Shift Operations | |
| |
| |
| |
Addition and Subtraction | |
| |
| |
| |
Multiplication | |
| |
| |
| |
Division | |
| |
| |
| |
Floating Point Arithmetic | |
| |
| |
| |
Hardware versus Software Calculations | |
| |
| |
| |
Addition and Subtraction | |
| |
| |
| |
Multiplication | |
| |
| |
| |
Division | |
| |
| |
| |
Advanced Topics | |
| |
| |
| |
SAL Instructions | |
| |
| |
| |
Data Structures | |
| |
| |
| |
Memory as an Array | |
| |
| |
| |
Arrays | |
| |
| |
| |
Stacks | |
| |
| |
| |
Queues | |
| |
| |
| |
Registers and MAL | |
| |
| |
| |
Instructions as a Data Type | |
| |
| |
| |
Specifying Addresses in Instructions | |
| |
| |
| |
The MAL Architecture | |
| |
| |
| |
Example MAL Code | |
| |
| |
| |
Procedures | |
| |
| |
| |
MAL Procedure Call and Return Mechanisms | |
| |
| |
| |
Dynamic Storage Allocation | |
| |
| |
| |
Activation Records | |
| |
| |
| |
Parameter Passing | |
| |
| |
| |
Saving Registers | |
| |
| |
| |
MIPS RISC Register Usage | |
| |
| |
| |
A MAL Program that Uses Procedures | |
| |
| |
| |
The Assembly Process | |
| |
| |
| |
What Assemblers Do | |
| |
| |
| |
True Assembly Language (TAL) | |
| |
| |
| |
Machine Code Format and Generation | |
| |
| |
| |
Program Relocation | |
| |
| |
| |
Input and Output | |
| |
| |
| |
Typical I/O Devices | |
| |
| |
| |
The Processor-I/O Interface | |
| |
| |
| |
Interrupts and Exception Handling | |
| |
| |
| |
The Exception Mechanism | |
| |
| |
| |
The Role of the Operating System | |
| |
| |
| |
The MIPS RISC Exception Mechanism | |
| |
| |
| |
A Sample Exception Handler | |
| |
| |
| |
Operating System Issues | |
| |
| |
| |
Architectural Performance | |
| |
| |
| |
On Minimal Instruction Sets and Choices | |
| |
| |
| |
Pipelining | |
| |
| |
| |
Branching Techniques | |
| |
| |
| |
Memory Hierarchies | |
| |
| |
| |
Alternative Architectures | |
| |
| |
| |
What's All This About RISC? | |
| |
| |
| |
The Single-Chip Constraint | |
| |
| |
| |
The Motorola 68000 Family | |
| |
| |
| |
The Intel iAPS 86 Architecture | |
| |
| |
| |
The Cray-1 | |
| |
| |
| |
SPARC | |
| |
| |
| |
SAL | |
| |
| |
| |
MAL | |
| |
| |
| |
TAL | |