

ILLIAC I Programming Manual (1956) [pdf] - nimz
http://bitsavers.trailing-edge.com/pdf/univOfIllinoisUrbana/illiac/ILLIAC/ILLIAC_programming_Sep56.pdf

======
DonGateley
I wish I could find the part written by J.E. Robertson. I took several
graduate level courses from him as an undergraduate in the mid '60s. He became
the world expert on division. He found that if you recoded to the redundant
base -1, 0, 1 then number encodings could be found that had lots of zeros
which he could optimize over and speed the division up. There were other
sequential configurations he did special things with as well. You wouldn't
believe the amount of theory he deduced from studying the redundant encoding
problem and its application. The result was SRT division. He was the R and I
can't remember who S and T were.

SRT division was implemented in the Illiac II.

~~~
pbsd
SRT is named after Sweeney [1], Robertson [2], Tocher [3], which came up with
the idea independently of each other. There is also a 1956 paper by Nadler
said to have a similar algorithm, but it seems impossible to find.

[1]
[http://www.computerhistory.org/collections/catalog/102632302](http://www.computerhistory.org/collections/catalog/102632302)

[2]
[https://archive.org/details/newclassofdigita82robe](https://archive.org/details/newclassofdigita82robe)

[3]
[http://qjmam.oxfordjournals.org/content/11/3/364.full.pdf](http://qjmam.oxfordjournals.org/content/11/3/364.full.pdf)

~~~
DonGateley
Thanks. [3] is essentially the outline of the first course I took from him.

It didn't occur me that SRT division might have any recent relevance, ancient
history and all that, but Google tells me that the Pentium floating point bug
was in fact a buggy lookup table for SRT division and that it is still
apparently in use in microprocessors today. I wish he could know that.

------
acqq
The context:

[http://en.wikipedia.org/wiki/ILLIAC](http://en.wikipedia.org/wiki/ILLIAC)

"ILLIAC I was built at the University of Illinois based on the same design as
the ORDVAC. It was the first von Neumann architecture computer built and owned
by an American university. It was put into service on September 22, 1952.

ILLIAC I was built with 2,800 vacuum tubes and weighed about 5 tons. By 1956
it had gained more computing power than all computers in Bell Labs combined.
Data was represented in 40-bit words, of which 1024 could be stored in the
main memory, and 12800 on drum memory."

The interesting information from the manual is that the computer had 40-bits
fixied-point arithmetic, directly calculating only numbers between -1 and +1.
If was certainly very demanding programming it.

Another interesting detail: the puritans still didn't influence the name of
the number system, they write about "sexadecimal" coding, and interestingly
use "0 1 2 3 4 5 6 7 8 9 K S N J F L." Why "K S N J F L"? I don't know.

And a really fascinating detail: it was not only punched tapes and stuff: it
had a 256x256 pixels CRT as an output device too. Sample on pg. 12-9

~~~
cryptnotic
I just had to search for it.

From:
[http://en.wikipedia.org/wiki/ORDVAC](http://en.wikipedia.org/wiki/ORDVAC)

"Unlike the other computers of its era, the ORDVAC and ILLIAC I were twins and
could exchange programs with each other."

"Instead of the sequence A B C D E F universally used today, the digits ten to
fifteen were represented by the letters K S N J F L (King Sized Numbers Just
for Laughs), corresponding to the teleprinter characters on five-track paper
tape."

~~~
acqq
The info you quote is a description and not the answer. The whole alphabet is
on the page 9-5. I still don't know why there isn't some "order" in encoding
(like it is now in ASCII, that would still result in the encoding for 10 to be
A and not K. and it's not a USTTY
[http://en.wikipedia.org/wiki/Baudot_code](http://en.wikipedia.org/wiki/Baudot_code)
there is K == 01111) but I'd expect they must have had some reason.

~~~
pdw
It looks like they took the ITA2 telegraphy code, which has the numbers in
normal order but the letters in typewriter order, and re-sorted it so that the
letters are alphabetical. That would explain the scrambled numbers, but not
the punctuation or "K S N J F L".

~~~
acqq
The letter codes of ORDVAC and ILLIAC are clearly not ITA2 / USTTY. So we
still don't know why they have been selected.

------
nimz
Reading this manual really brought me back to the time when being a programmer
was probably closely tied to being a mechanic of the machine. We take
computing for granted today but it must have been amazing to see first-hand
how physical inanimate objects come together to build intelligence.

~~~
userbinator
It still is, if you work with embedded systems and other lower-level stuff.

 _but it must have been amazing to see first-hand how physical inanimate
objects come together to build intelligence._

Many CS curricula still start with building a CPU out of basic logic gates
(and for those who haven't done this before, this is certainly a recommended
exercise - make a simple CPU in a logic simulator that can run a short
program). The first time you see how it all works seems like magic, then you
remember that everything just fits together logically, and realise that it
isn't magic after all.

~~~
brudgers
A resource for going from NAND to a running program (Tetris in this case):
[http://nand2tetris.org/](http://nand2tetris.org/)

~~~
pdw
A bit less flashy/more old-fashioned, Niklaus Wirth's 2013 edition of Project
Oberon covers an FPGA-based CPU, operating system, compiler, tiled window
manager and text and vector graphics editors. No Tetris though.
[http://projectoberon.com/](http://projectoberon.com/)

------
Mithrandir
Mirror on archive.org:
[https://archive.org/details/bitsavers_univOfIlliIACILLIACpro...](https://archive.org/details/bitsavers_univOfIlliIACILLIACprogrammingSep56_10672625)
(as the Dropbox link is down)

~~~
nimeshneema
Dropbox link is now up.

------
erikschoster
Dropbox is returning a 509 status code on the file, but I can't wait to take a
look at this. My interest in this specific machine comes from its important
place in the history of computer music with Lejaren Hiller's Illiac Suite:

[https://www.youtube.com/watch?v=n0njBFLQSk8](https://www.youtube.com/watch?v=n0njBFLQSk8)
[http://ems.music.uiuc.edu/history/illiac.html](http://ems.music.uiuc.edu/history/illiac.html)
[https://en.wikipedia.org/wiki/Illiac_Suite](https://en.wikipedia.org/wiki/Illiac_Suite)

------
fernly
The Computer History Museum has a number of physical artifacts from the ILLIAC
II, III and IV, including a number of the logic modules: metal chassis units
that held from 3 to 8 vacuum tubes that performed a single function.

[http://www.computerhistory.org/collections/search/?s=illiac&...](http://www.computerhistory.org/collections/search/?s=illiac&t=objects&f=physicalobject)

------
pbsd
Interesting. 7.3 seems to be a very early instance of the xor swap trick,
albeit with addition and subtraction as group operations.

------
hvs
Bitsavers.org Link (where there is even more cool stuff):

[http://bitsavers.trailing-
edge.com/pdf/univOfIllinoisUrbana/...](http://bitsavers.trailing-
edge.com/pdf/univOfIllinoisUrbana/illiac/ILLIAC/ILLIAC_programming_Sep56.pdf)

~~~
dang
Thanks! We changed the url to that from
[https://dl.dropboxusercontent.com/u/12852544/serve/ILLIAC_pr...](https://dl.dropboxusercontent.com/u/12852544/serve/ILLIAC_programming_Sept56.pdf).

