Larry McVoy scripsit:
Ideally with 32 bit ints, 64 bit longs, 32 or 64 bit
pointers in the
compiler, obviously more registers, and nothing like the vax.
Sounds right. I'm torn between the 8 addressing modes of the PDP-11 and
32 registers, or the 16 addressing modes of the Vax and only 16 registers.
In either case, 32-bit instructions allow all operands to have full
addressing mode on both source and destination rather than just a register
for one or the other. The byte/word bit of the memory instructions would
become 2 bits for byte/short/int/long. One issue is whether to have
a single 32-bit index in modes 6 and 7, or provide a full 64-bit index
with two trailing 32-bit words. Branches can have much bigger offsets,
which is good.
The FPP needs a complete overhaul: it should look pretty much
like the main ISA, and of course use IEEE format operands. Hmm,
perhaps get *really* modern and use 3 bits of size for byte/short/
int/long/float32/float64/decimal64/decimal128, where the last two are
IEEE 754:2008 decimal floating point values.
I'm too dumb to get it but I never warmed up to
the vax.
When I saw it had 256 opcodes I knew I was never going to master it, no
matter how orthogonal it was. (I came from the PDP-8 to the PDP-11.)
Little did I know the Last ISA would have thousands and thousands of
opcodes!
--
Note that nobody these days would clamor for fundamental laws John Cowan
of *the theory of kangaroos*, showing why pseudo-kangaroos are cowan(a)ccil.org
physically, logically, metaphysically impossible.
http://www.ccil.org/~cowan
Kangaroos are wonderful, but not *that* wonderful. --Dan Dennett on zombies