Port-vax archive

[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.
> 64-bit:
> 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.

> Multiprocessor:
> 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!

> Convenience:
> 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”.

-- thorpej

Home | Main Index | Thread Index | Old Index