Raymond Chen previously wrote an excellent series of posts on the Itanium archicture, and now he’s followed that up with a series on the Alpha AXP. Below are links to the whole series:
- Part 1: Initial plunge
- Part 2: Integer calculations
- Part 3: Integer constants
- Part 4: Bit 15. Ugh. Bit 15.
- Part 5: Conditional operations and control flow
- Part 6: Memory access, basics
- Part 7: Memory access, loading unaligned data
- Part 8: Memory access, storing bytes and words and unaligned data
- Part 9: The memory model and atomic memory operations
- Part 10: Atomic updates to byte and word memory units
- Part 11: Processor faults
- Part 12: How you detect carry on a processor with no carry?
- Part 13: On treating a 64-bit processor as if it were a 32-bit processor
- Part 14: On the strange behavior of writes to the zero register
- Part 15: Variadic functions
- Part 16: What are the dire consequences of having 32-bit values in non-canonical form?
- Part 17: Reconstructing a call stack
- Epilogue: A correction about file system compression on the Alpha AXP