Sujet : Re: is Vax adressing sane today
De : jgd (at) *nospam* cix.co.uk (John Dallman)
Groupes : comp.archDate : 05. Sep 2024, 22:55:58
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <memo.20240905225550.19028d@jgd.cix.co.uk>
References : 1
In article <
vbd6b9$g147$1@dont-email.me>,
ggtgp@yahoo.com (Brett) wrote:
It has been determined from trusted sources that add from memory
and add to memory as used in x86 are sane, and not much of a problem.
But Vax allows all three arguments to be in memory with different
pointers.
Is this sane, just a natural progression if you allow memory
operands?
Memory-to-memory instructions, in general, are hard to get to run fast
with today's processors and memory, simply because memory access times
are long enough for many register-to-register instructions to execute. A
lot of that time can be hidden with good caches and prefetchers, but if
your memory access patterns are complicated, those speedups can fail to
work.
One reason for memory-to-memory instructions was to avoid the need to
dedicate registers to operands, but that's not much of a problem these
days, since we have space in the CPU for lots of registers and rename
systems for them.
VAX was designed when heavy use of microcoding seemed like a good idea to
make a CPU at an economical price, and memory wasn't much slower than
registers. It was a backward-looking design in some ways, being a much
better computer for the 1970s, rather than looking ahead to new concepts.
VMS was the last large operating system written in assembly language (and
Bliss, which is somewhat higher-level, bit not much).
DEC spent a lot of time and money trying to keep VAX competitive and took
too long to accept that was impractical. That was one of the seeds of
their downfall.
John