[net.arch] Global memory usage in the 1401

bhaskar@fluke.UUCP (K.S. Bhaskar) (09/21/84)

If my memory serves me well, even the numbering of the 1401's memory locations
were weird.  But, thankfully, I haven't used the beast in a dozen years....
(The 1620 was SO much nicer!)

bprice@bmcg.UUCP (09/21/84)

>Bill Price says:
>> Actually, the designers of the 1401 did something even worse than hiding it:
>> they used this global thing for a very local purpose.  The cell addressed by
>> the address zero was used as the row counter for the card reader!

To which sun!gnu replies:
>This was not especially bad, considering that locations 1-80 of memory
>were permanently reserved for the card reader.  The "read card" instruction
>(opcode "1") would fill locs 1-80 with the contents of the next card in the
>reader.
>101-180 was the area that would get punched if you did a "2" opcode.
>201-332 got printed if you did a "4" opcode.

In context, it was even less annoying, because there was no simple way to use
the value of location zero:  every standard instruction accessed location (n-1)
[or at least generated the address of (n-1)] when reading location n.  Except
for the "clear storage" instruction, underflowing the address register that way
would make the processor stop dead in its tracks with a red light on.  With the
"advanced programming" special feature, you got an instruction you could use to
read that address register, so that the sequence CS 0; SBR x; would store, into
x, the highest address of memory.

Location 100 did not have the (n-1) problem, though.  This was the card-punch
row counter, in which you could usually find a '9'--the code for the last row
punched.

These are just a couple of the many oddities of the 1401.  I'm sure that
sun!gnu would agree that the 1401 was a very interesting and entertaining
architecture:  since it was my first machine, I'm still pretty fond of it.
However, I don't know whether that fondness is because of, or in spite of, the
jokes that the designers played on its users.

Speaking of entertaining machines:  The 1401 had mixed-radix addressing--four
bits binary & three digits BCD.  What machine (series) had three different
radices in its mixed-radix addresses?  (Answer will be given on request)

-- 
--Bill Price    uucp:   {decvax!ucbvax  philabs}!sdcsvax!bmcg!bprice
                arpa:?  sdcsvax!bmcg!bprice@nosc

gnu@sun.uucp (John Gilmore) (09/24/84)

Bill Price says:
> Actually, the designers of the 1401 did something even worse than hiding it:
> they used this global thing for a very local purpose.  The cell addressed by
> the address zero was used as the row counter for the card reader!

This was not especially bad, considering that locations 1-80 of memory
were permanently reserved for the card reader.  The "read card" instruction
(opcode "1") would fill locs 1-80 with the contents of the next card in the
reader.

101-180 was the area that would get punched if you did a "2" opcode.
201-332 got printed if you did a "4" opcode.

Guess what happened if you executed a "7"?

[It did all three at once.  This was the only way to overlap I/O until
much later in the 1401's design cycle.]

jc@sdcsvax.UUCP (John Cornelius) (09/29/84)

Any body remember the Hexagecimal adder? Consider the problem of subtracting
two decimal numbers represented as strings of quasi-ebcdic characters, one
digit at a time. 

Of course there was always the wordmark which was and extra bit that delineated
the end of a 'thing'. As I recall the 1401 memory had bits ABC8421W where
8421 encoded the digit, AB encoded the field punches on cards, C was the parity
bit and W was the word mark.

Can you believe that this is the machine that brought us into the computer age?

John Cornelius
Western Scientific
...sdcsvax!westsci!jc

crandell@ut-sally.UUCP (Jim Crandell) (10/03/84)

>Can you believe that this is the machine that brought us into the computer age?

No.  Furthermore, I can't imagine how anyone can seriously claim that it was.
That title more reasonably belongs to any number of other machines.  For
example (this citing is surely controvertible, too), how about the 709 and
its offspring?  They (especially the 7094) have influenced later architectures
considerably more than the 1401, unless you consider only RCA.
-- 

    Jim Crandell, C. S. Dept., The University of Texas at Austin
               {ihnp4,seismo,ctvax}!ut-sally!crandell

phil@unisoft.UUCP (Phil Ronzone) (10/09/84)

>> >Can you believe that this is the machine that brought us into the computer age?

>> No.  Furthermore, I can't imagine how anyone can seriously claim that it was.
>> That title more reasonably belongs to any number of other machines.  For
>> example (this citing is surely controvertible, too), how about the 709 and
>> its offspring?  They (especially the 7094) have influenced later architectures
>> considerably more than the 1401, unless you consider only RCA.
>> -- 

    >> Jim Crandell, C. S. Dept., The University of Texas at Austin

Well, in terms of numbers, I believe that there were more 1401's produced
than any other 2nd generation machine. Yes, even more than the PDP-8's!
I don't claim this, IBM does and DEC never claimed otherwise. The 1401
contibuted heavily to the concept of variable length byte move instruction
in the 360, a now-totally-assumed concept.

Yes - the 1401 probably was the machine that brought us into the computer
age.