[comp.arch] 1620

gottlieb@allan.ultra.nyu.edu (Allan Gottlieb) (10/06/90)

In article <270CB430.21156@ics.uci.edu> baxter@zola.ics.uci.edu (Ira Baxter) writes:

   Earlier 1620s had a multiply instruction which worked by looking
   up multipler/multiplicand digit pairs in the multiplication table
   in lower memory.   This table had to be loaded correctly before
   you used multiply.  There are apocryphal stories of folk loading
   the table in such a way that multiplies worked in octal rather
   than the standard decimal.

I programmed one at Grumman Aircraft in the 60s and believe that it
was the add tables that were stored.  You had a 10 by 10 array that
gave the sum (using the mark as carry).  I/O devices were (as
stated) card reader/punch and typewritter.  Huge I/O edge over paper
tape in Bendix G15.
--
Allan Gottlieb
gottlieb@nyu.edu

fetter@cos.com (Bob Fetter) (10/08/90)

  Weren't the add tables provided as an extra feature, this feature named
CADET?  If memory serves me, the 1620 itself had no add hardware (which, it
being decimal based, makes some kind of sense), so CADET was described as
a "feature".  CADET itself, of course, standing for Can't Add, Doesn't Even
Try.

jthomas@nmsu.edu (James Thomas) (10/09/90)

In article <38885@cos.com> fetter@cos.com (Bob Fetter) writes:

bob>   Weren't the add tables provided as an extra feature, this feature named
bob> CADET?  If memory serves me, the 1620 itself had no add hardware (which, it
bob> being decimal based, makes some kind of sense), so CADET was described as
bob> a "feature".  CADET itself, of course, standing for Can't Add, Doesn't Even
bob> Try.

I suppose one might call the add and multiply tables an "extra feature".
But they were standard.  The add was done by tacking the two source digits
onto the address 003nm.  The digit at that address was the sum, with a flag
bit indicating carry (requiring an extra add cycle next digit).
Recomplement cycles were painful :-)

Jim

dwh@twg.com (Dave W. Hamaker) (10/09/90)

gottlieb@allan.ultra.nyu.edu (Allan Gottlieb) writes:

>In article <270CB430.21156@ics.uci.edu> baxter@zola.ics.uci.edu (Ira Baxter) writes:

>   Earlier 1620s had a multiply instruction which worked by looking
>   up multipler/multiplicand digit pairs in the multiplication table
>   in lower memory.   This table had to be loaded correctly before
>   you used multiply.  There are apocryphal stories of folk loading
>   the table in such a way that multiplies worked in octal rather
>   than the standard decimal.

>I programmed one at Grumman Aircraft in the 60s and believe that it
>was the add tables that were stored.  You had a 10 by 10 array that
>gave the sum (using the mark as carry).  I/O devices were (as
>stated) card reader/punch and typewritter.  Huge I/O edge over paper
>tape in Bendix G15.

The IBM 1620 Model I used both an addition table and a multiplication table
in low memory.  The 1620 Model II did addition in hardware (and probably
multiplication as well, but I'm not certain of that).  The Model I's add
and multiply tables could indeed be configured to operate in octal (in fact,
the tables could be configured operate in bases 2-9).

-Dave Hamaker
dwh@twg.com

guy@auspex.auspex.com (Guy Harris) (10/09/90)

(Followups directed to "alt.folklore.computers"; I suspect the only
interest in the 1620 at this point is historical....)

>  Weren't the add tables provided as an extra feature, this feature named
>CADET?

Err, umm, you mean the standard machine couldn't add, period?

No, that's not the case.  The Model 1 (or somesuch) had both add *and*
multiply tables.  The Model 2 (or somesuch) had add hardware, but I
think no multiply hardware, and still had multiply tables. 

jthomas@nmsu.edu (James Thomas) (10/10/90)

In article <1990Oct8.220412.25532@ns.network.com> ddb@ns.network.com (David Dyer-Bennet) writes:

ddb> ......  The instructions lengths were different,
ddb> and the 1620 used fixed length instructions whereas I'm nearly certain
ddb> the 1401 had variable length.

Technically the 1620 instructions were 2, 7, or 12 digits long (remember BB
- Branch Back????).  The 14xx instructions were 1 through 8 characters.

ddb> .....   A  "record mark" was a character code
ddb> (2 digits) relevant to some (few) character string instructions.

Naw, the record mark was a single "digit" - C82 - used by the TR (Transmit
Record) instruction (op=31).  It was also findable via the BR (Branch
Record) instruction (op=45).  Then there was also the "group mark".  Both of
these were stolen from the 14xx, which got them from ???

ddb> ...
ddb> there was a version using the transmit record instruction that was
ddb> special because it moved through memory in the other direction
ddb> (transmit record going left to right instead of right to left).

310000800009, e.g.

ddb> This is weird; I remember instruction names, and I remember numeric
ddb> opcodes, but I DON'T remember assembler mnemonics.

26=TF (Transmit Field), 16=TFM (Transmit Field Immediate)

ddb> ...

Jim Thomas

mo@messy.bellcore.com (Michael O'Dell) (10/10/90)

The 1620 Model II actually had a decimal adder but still did table-lookup
multiplies.  One interesting thing to do with a CADET (Model I) was that
by changing the add tables, you could change the arithmetic base!!

Talk about weird bugs...

	-Mike