everyone,
I'm working on a new CPU Instruction Set Architecture inspired heavily by the DEC Alpha architecture, with the eventual goal of implementing it as an actual silicon chip.
One thing I'm trying to avoid is simply making "Alpha with some new instructions." I'd like to understand which parts of Alpha were genuinely excellent architectural decisions, which were mainly products of the technology and compiler landscape of the 1990s, and which would be worth changing in a more modern implementation.
For people familiar with Alpha:
- Which Alpha ISA features do you think were particularly well designed and worth preserving?
- Which features were primarily motivated by the constraints of the original Alpha implementations?
- Are there any Alpha design decisions that seem strange or unnecessarily restrictive in hindsight?
- If you were designing a new ISA based on Alpha today, what would you absolutely not change?
- Were there any important Alpha design goals or trade-offs that are easy to miss when looking at the ISA documentation alone?
I'm especially interested in the historical reasoning behind the design rather than just "RISC is good/bad." I'd like to understand why the Alpha designers made the choices they did, what assumptions they were making about hardware and compilers at the time, and which of those assumptions still make sense today.
I'd also appreciate pointers to particularly good Alpha architecture/design documents or papers that explain the reasoning behind the ISA rather than just documenting the instructions.
Thanks!

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.