4 ms·
The CADET was in fact the IBM 1620, contemporaneous with the IBM 1401, but more for 'scientific' market. The '1620 uses these clever in-core tables and iterati
by GeorgeTirebiter 5y ago
The CADET was in fact the IBM 1620, contemporaneous with the IBM 1401, but more for 'scientific' market. The '1620 uses these clever in-core tables and iteration to achieve arbitrary-precision addition/subtraction and different tables for multiplication/division; I implemented the algo in C and it worked great, certainly fast enough for the occasional arb-precision computation.
The IBM 1401 could operate on arbitrary strings of digits in hardware ; since that was my first machine, I was disappointed when I used these silly 'binary' machines. However, a typical instruction + operand fetch/store took about 100 microseconds on the '1401; yes, that is 10 kilo-instructions per second! There were many programming tricks to minimize instruction fetch e.g.'chaining' instructions, using left-over contents of the regs in the next instr, and using parts of instr as data, the most common being:
"A *-6,FOO" because "*-6" is relative address, which points to the letter 'A', which was BCD +1, etc. Equivalent to ++FOO;
The pdp-11/45 I used next took about 2.5 usec per instruction with 2 memory operands -- 400 kilo instructions per second! This "40x" speedup of the 11/45 over the IBM 1401 more than compensated for the hardware arbitrary-precision addition/subtraction! (oh, and on the '1401, the HW 'Multiply/Divide Feature' was another big group of electronic cards, if you bought that) http://ed-thelen.org/comp-hist/ibm-1401.html http://ed-thelen.org/comp-hist/ibm-1401.html
(edit: learned that \* needed to not have * gobbled by the markdown italics sentinel https://news.ycombinator.com/formatdoc https://news.ycombinator.com/formatdoc)