I think it goes something like:
- 2106x/EV4: 34-bit physical, 43-bit virtual
- 21164/EV5: 40-bit physical, 43-bit virtual
- 21264/EV6: 44-bit physical, 48-bit virtual
The EV6 is a bit quirky as it is 43-bit by default, but can use 48-bits when I_CTL<VA_48> or VA_CTL<VA_48> is set. (the distinction of the registers is for each access type, i.e: instruction fetch versus data load/store)The 21364/EV7 likely has the same characteristics as EV6, but the hardware reference manual seems to have been lost to time...
Digital struggled with the microprocessor transition because they didn't want to kill their cash cow minicomputers with microcomputer-based replacements. They went with the 64-bit Alpha because they wanted to rule the high end in the CMOS age. And they did, for a little while. But the mass market caught up.
VMS is the only OS (that I know of) that uses all 4 processor privilege modes.
Side note: The 21064 has such bizarre IPR mappings, the read values have lots of bits scrambled around compared to their write counterparts. This is likely a hardware design decision affecting the programmer's model, if I had to guess.
One thing I remember about Alpha though was how bad the output from gcc was. Then DEC released a version of their own compilers that was command line compatible with gcc. That changed everything for open source stuff.
For what we needed, five 32 bit address spaces was enough DRAM. The individual CPU parts were way more than 20% as fast, and the 100Mbit switch was good enough.
(The data basically fit in ram, so network transport time to load a machine was bounded by 4GiB / 8MiB / sec = 500 seconds. Also, the hard disks weren’t much faster than network back then.)