Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
New Vax - future directions :-)
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.
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.
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.
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 :-)
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.
-- R
Home |
Main Index |
Thread Index |
Old Index