[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: New Vax - future directions :-)
> On Jul 3, 2021, at 9:46 AM, Anders Magnusson <ragge%tethuvudet.se@localhost> wrote:
> So, some thought about expanding the Vax architecture.
> 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.
A PSL bit for “64-bit mode” would be fine, IMO. It enables the 64-bit memory references in the control flow insns, and enables the Q-variant of the others.
> 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.
Make the 64-bit mode work like the Alpha OSF/1 model, but define HW PTE bits for modified / referenced? I mean, if you’re going to have them for traditional VAX VM, might as well have them for 64-bit mode.
> IEEE floating point:
> The current floating point formats are very like IEEE formats (compared to other pre-IEEE formats). The F, G and H matches in layout the IEEE Single, Double and Extended but the exponent bias is slightly different and subnormal values are missing.
> By adding the three IEEE formats I think it would require very few extra gates to make it behave like the DEC FP instead.
Save FPGA space by using a software-completion model like Alpha.
> Vax have had multiprocessor support since ~forever, but it may be a good idea to revise the interlock instructions.
> There are only 7 of them and a few more would be nice.
> Having it in a FPGA would make it simple to clone up many Vaxen in the same cheap chip :-)
For goodness sake, just add a compare-and-swap instruction!
> Even though there are 288 instructions, a few are missing that would be nice. For example;
> - Unsigned mul/div. Vax only have signed.
> - logical shift right. Vax have EXTZV, but it is an unneccessarily complicated instruction.
> - AND. Vax have BIC instead, but that (almost) always require a complement as well.
FWIW, Alpha has “and”, “or”, “xor”, and “andnot”, “ornot”, and “xornot”.
Main Index |
Thread Index |