Sigh. Again, the difference is between how OPERANDS were formatted vs.
INSTRUCTIONS. As I said, I agree that lots of machines had variable
length operands (including a couple at the bit level, which the 1400
series did not do except for an individual character). But darn few had
variable length INSTRUCTIONS, things like operand address chaining, and
the like.
And again and again - it isn't about what is better or anything like that.
And again and again and again - it isn't about what survived into
current architectures.
Certainly the variable length instruction idea was about conserving memory.
On 7/15/2015 1:14 PM, Chuck Guzis wrote:
On 07/15/2015 10:48 AM, Jay Jaeger wrote:
Lots of machines supported variable length
operands (like the machine
you reference in the link, IBM S/360, Burroughs, etc. etc. However,
machines with variable length instructions not split into any kind of
word boundary are not as common.
Sure, but that doesn't mean that they didn't exist. As a matter of
fact, the machine I cited was *bit*-addressable. That doesn't imply
that any datum was absolved of some sort of alignment. But yes, you
could have bit fields overlapping word boundaries--let's see your 1410
do that...
I really don't see much of a fundamental distinction between the 1401,
1410, 7080 or 1620 or any other variable word-length machine of the
time. One really have to ask oneself "why variable word-length?" when
it costs so much in terms of performance. I believe that it's mostly
because memory was very expensive and it was viewed as a way of coping
with that issue.
FWIW, Dijkstra disliked the 1620 immensely. I don't recall his opinion
of the 1401.
--Chuck