Friday, May 12, 2006

My first computer: Intercom 1000

The first electronic digital computer that I was ever close to was also the first that I programmed and the first that I operated (summer 1959): Intercom 1000. Intercom 1000 was a virtual machine [1], like today's Java Virtual Machine, implemented by an interpreter running on the hardware of the Bendix G-15 General Purpose Digital Computer. [2]

Intercom 1000 was intended as the source language in which the programmer worked, not as the output of a compiler. Its manual ran to 30 uncrowded pages--including instructions for operating various peripherals--and it "could be learned in just four hours."

Intercom 1000's instruction set was similar to many that were popular in the 1960s. It had single accumulator and 43 single-address instructions. It allowed two levels of subroutine call. More novel for the time, it also had nine index registers. But its Big Feature was floating point arithmetic. Single-precision had five digits of mantissa, with exponents from 10^-38 to 10^38, and was represented internally in a 29-bit word. For double precision, the same instruction set ran on a different interpreter that provided a twelve-digit mantissa. Although internal computation was in binary, I/O was automatically in decimal, and could be concurrent with computation.

Instructions could be typed on the console or stored in memory. Instructions and single-precision numbers occupied one word, double-precision numbers used two. The single-precision interpreter allowed 1,200 words for programs and data, the double-precision version, 1,000. That corresponds to not quite 5 kilobytes, and 4 KB for double-precision.

Intercom 1000 could execute 10 floating point operations per second, and up to 30 of some of the simpler instructions. That's 10 FLOPS, not 10 KiloFLOPS, MegaFLOPS, GigaFLOPS, TeraFLOPS, or PetaFLOPS. Bendix literature bragged that this was "faster than the floating point system of any computer in the G-15 price range" ($50,000 then, equivalent to about $280,000 today).

It might seem that not much interesting could be done with such limited resources, but compared with slide rules and mechanical calculators, it was an enormous advance in speed, precision, capacity, and reliability. PCs (pocket calculators) were still a decade in the future.

[Other Sources]


[1] The term "virtual machine" was not used back then. "Intercom" was a contraction of "interpretive compiler." Terminology was not yet standardized.

[2] Intercom 1000 was not intentionally designed to be machine-independent (another term not used then), but it basically was.

[3] The Computer History Museum website dates Intercom 1000 to 1955 or 1956, but other evidence suggests that it was released in 1958, and was fairly new when I first encountered it.

[4] There were several later Bendix (and CDC) Intercoms: 500, 510, 512, and 550, all hewing to the same basic design, but with better speed and/or more instructions (e.g., to support alphanumeric I/O).