Anders Magnusson, writing on the Port-vax NetBSD mailing list:
Some time ago I ended up in an architectural discussion (risc vs cisc etc…) and started to think about vax. Even though the vax is considered the “ultimate cisc” I wondered if its cleanliness and nice instruction set still could be implemented efficient enough. Well, the only way to know would be to try to implement it 🙂 I had an 15-year-old demo board with a small low-end FPGA (Xilinx XC3S400), so I just had to learn Verilog and try to implement something. And it just passed EVKAA.EXE:
Along with the development of a VAX implementation in an FPGA, discussions arose about possible 64-bit extensions:
For userspace; the vax architecture itself leave the door open for expanding the word size. The instructions are all defined to use only the part of a register it needs, so adding a bunch of ‘Q’ instructions are a no-brainer. Argument reference will work as before. The JMP/JSR/RET/… might need a Q counterpart, since it suddenly store/require 8 bytes instead of 4. Kernel; the hardware structures (SCB, PCB, …) must all be expanded. Memory management changed (but the existing leave much to wish for anyway). All this is probably a quite simple update to the architecture.
It’s nice to see people still putting work and effort into what is nearly a half-century old, and otherwise obsolete, instruction set.
Nice project. I don’t know enough about VAX to comment and there are people around who have much more architectural experitise than I do but it is a nice “What if” and may lead somewhere. While ARM began as an affordable solution to a problem and this project appears to be different you never know where it may lead.
Obsolete? Not if it gets the job done.