Left to right: Type 941 Storage Unit, Type 412-418 Accounting Machine, Type 605 Electronic Calculator, Type 527 High-Speed Punch. Photo: IBM CPC Principles of Operation, 22-8686-3 (1954); CLICK IMAGE to magnify.
At an IBM-sponsored computation forum in 1946, and at another one in 1947, Columbia Professor Wallace Eckert described his Watson Lab setup in which "we have two small relay calculators which are experimental; one is being tied in with an accounting machine and a special control box to operate as a baby sequence calculator with instructions on punched cards" 1. In 1948 the people at Northrop Aircraft hooked up a 603 calculator and a 405 accounting machine (PHOTO) in much the same way [4,57]2 (it is not unlikely that they knew of Eckert's setup3), in which the "sequence of operation is controlled by a set of program cards fed through the 405. These cards contain x or digit punchings to pickup selectors to call for the required transfers, etc. These cards may also contain factors to be used in computations." Northrop called this device their "poor man's ENIAC" .
In 1949 IBM released a commercial product that combined the 604 calculator with the 402 Electronic Accounting Machine (or 417) and an external relay memory to form the Card Programmed Calculator (CPC), pictured at left , which sold 2500 units. Later CPC models such as the Model A1 (1954) pictured above substituted different accounting machines (e.g. 412, 418, 407) and the Type 605 calculator. 605-based CPC models were popularly known as CPC-II; this was the CPC configuration at Watson Lab shown in the Watson Lab Gallery.
The CPC could accommodate larger programs than the 604 (or 605) by itself, by having them stored on punched cards; hence the name. In fact, there was no limit to the length of the program. Needless to say, the ability to program a calculator with a deck of cards rather than (literally) hardwiring the program onto a panel was a rather significant development. The CPC was not, however, a stored-program computer like the 650 or 701; it was an "externally programmed automatic calculator," meaning that instructions were executed directly from cards. It was possible, however, to store up to 10 instructions in memory and execute them repeatedly in a loop.
The CPC units could be configured in various combinations; e.g. zero, one, or more 941 storage units for the desired amount of memory:
60 Cycles 230 V
BTU's per hour
|412||75"||43"||2626 lb.||6.0A||5000||100 cards/minute, alphanumeric|
|418||75"||43"||2553 lb.||6.0A||5000||150 cards/minute, numeric only|
|527||40"||26"||785 lb.||3.2A||2190||Calculating summary punch.|
|605||53"||33"||1535 lb.||33.0A||19450||Calculator, similar to 604.|
|941||32"||26"||585 lb.||1.6A||1290||Stores 16 10-digit signed numbers.|
While card programming was a major breakthrough, it was a bit different from
what you might think. Since the instruction field on the card referred to a
"microprogram" on the 604 or 605 plugboard,
the same deck of cards would produce entirely
different results with differently wired plugboards; thus it was not possible
to tell what a program did just by "reading" it. Within a few years, once
general-purpose stored-program computers such as the
650 and 701 became available,
programming languages such as SOAP and FORTRAN appeared that did, indeed, "say
what they did" (and vice versa!).
Also see: IBM 402, IBM 405, IBM 407, IBM 601, IBM 602, IBM 603, IBM 604, IBM 607, IBM 608, IBM 609, Northrop, Aberdeen.
And THIS GROUP PHOTO of the 1948 Computation Forum attendees.
Offite Links (valid as of 17 July 2003):
Most recent update: Sat Dec 27 15:13:19 2003