Iterations – Norberg – Software Development at EMCC
7
megacycles.
17
Word sizes varied from 52 pulses per word to 104, with C-
10 ending at 91 pulses per word. C-1 called for 50 20-word
mercury delay
tanks, which in C-10 became 100 10-word tanks. Block size climbed from
20 words initially to 60 at the end. As Snyder noted, the characteristics
that remained fixed throughout the code definitions were:
The handling of decimal quantities
Using excess 3 addition
The handling of coded alphabetic
Memory size from 1,000 to 100,000 words (4 digits)
Tape servos for input and output
Parallel read-write and compute
Buffer between input, output, and memory
12-character digit words
2 instructions per word
directly connected typewriter.
18
To illustrate the differences in characteristics among the three major
EMCC designs of the 1940s, Figure 1 shows a comparison of the features
of the various Eckert-Mauchly designs compiled by Nancy Stern for her
study of EMCC and the sources for the data.
19
Programming the IBM Defense Calculator
It is instructive at this point to compare these activities inside EMCC with
those occurring inside IBM while they designed programming for the new
Defense Calculator, the system delivered at the end of 1952. Developed in
1951-52, the Defense Calculator, later called the IBM 701, was similar to
the Princeton IAS design, but deviated from it in a number of ways.
Designs for tape systems to be used with other systems suggested a 36-bit
word length would allow the computer to use these tape systems, rather
than requiring design of new storage. This word length allowed two 18-bit
instructions per word. Addresses in this design could be assigned to each
18-bit half-word, and branch instructions fell naturally into the addressing
scheme. Various techniques were devised to maximize the use of
input/output systems without delaying internal operations of the system.
Punch cards contained both data and instructions and these were read into
the system while the CPU continued to operate on instructions.
20
With IBM’s Engineering-Applied Science group, a mathematical
programming study proceeded to review the Defense Calculator design to
develop programs to enhance the utility of the system to customers. The
group either developed or adopted programs from other IBM systems for
use with the Defense Calculator. Among these were programs for floating-
point, complex and double precision arithmetic, and the extraction of
roots. They designed complete application programs, a solution of
Laplace’s equation, and a partial differential equation program applicable
to determining the distribution temperature in a nuclear reactor. Many new
Iterations – Norberg – Software Development at EMCC
8
A COMPARISON OF ARCHITECTURE, PERFORMANCE, AND PHYSICAL
CHARACTERISTICS OF THE ECKERT-MAUCHLY COMPUTERS
EDVAC BINAC UNIVAC
ARCHITECTURE
Programming
Stored program
Stored program
Stored program
Data Transmission
Serial
Serial
Serial
Number representation
Binary
Binary
Decimal
Word Length
44 bits
31 bits
11 digits + sign
Other data types
-
-
12 characters/words
Instruction length
44 bits
14 bits
6 characters
Instruction format
4-address
1-address
1-address
Instruction set size*
12(16)
25(32)
45(63)
Accumulators/programmable registers 4
2
4
Main memory size
1,024 words
512 words
1,000 words
Main memory type
Delay line
Delay line
Delay line
Secondary memory
Magnetic drum
Magnetic tape
Magnetic tape
Other I/O devices
Cards, paper tape Typewriter
Typewriter, cards, paper tape
Error detection
Redundant CPUs Redundant CPUs Redundancy, parity
PERFORMANCE
Clock rate
1 MHz
4 MHz‡
2.25 MHz
Add time
0.864 ms†
0.285 ms†
0.525 ms†
Multiply time
2.9 ms†
0.654 ms†
2.15 ms†
Divide Time
2.9 ms†
0.633 ms†
3.89 ms†
PHYSICAL CHARACTERISTICS
(approximate measurements)
Vacuum tube count
3,600
1,400
5,400
Diode count
12,000
N/A
18,000
Power consumption
50 kW
13 kW
81 kW
Floor space of computer only
490 sq. ft.
N/A
352 sq. ft.
Figure 1. Adapted from Nancy Stern, From Eniac to UNIVAC: An Appraisal of the Eckert-
Mauchly Computers (Bedford, Mass.: Digital Press, 1981).
KEY:
N/A—data not available.
*—number of instructions used (number encoded).
†—includes memory access time for instructions and operands.
‡—later reduced to 2.5 M
instructions
were proposed, not necessarily to provide for new problem
solution techniques, but rather to offer programs that would make
previously attempted problems easier to solve.
21
Two significant comparisons should be made here. First, a number of the
programs developed were similar or identical to those proposed by EMCC