OpenBCM V1.07b12 (Linux)

Packet Radio Mailbox

IW8PGT

[Mendicino(CS)-Italy]

 Login: GUEST





  
KF5JRV > TECH     20.06.16 13:37l 240 Lines 13521 Bytes #999 (0) @ WW
BID : 4819_KF5JRV
Read: GUEST
Subj: The ENIAC
Path: IW8PGT<CX2SA<N0KFQ<KF5JRV
Sent: 160620/1117Z 4819@KF5JRV.#NWAR.AR.USA.NA BPQ1.4.65

ENIAC (/?ini.‘k/ or /??ni.‘k/; Electronic Numerical Integrator And 
Computer) was the first electronic general-purpose computer. It was 
Turing-complete, digital, and could solve "a large class of numerical 
problems" through reprogramming.

Although ENIAC was designed and primarily used to calculate artillery 
firing tables for the United States Army's Ballistic Research 
Laboratory, its first programs included a study of the feasibility 
of the thermonuclear weapon.

When ENIAC was announced in 1946, it was heralded as a "Giant Brain" 
by the press. It had a speed on the order of one thousand (103) times 
faster than that of electro-mechanical machines; this computational 
power, coupled with general-purpose programmability, excited scientists 
and industrialists alike.

ENIAC's design and construction was financed by the United States Army, 
Ordnance Corps, Research and Development Command, led by Major General 
Gladeon M. Barnes. The construction contract was signed on June 5, 1943; 
work on the computer began in secret at the University of Pennsylvania's 
Moore School of Electrical Engineering the following month, under the 
code name "Project PX", with John Grist Brainerd as principal investigator.

ENIAC was designed by John Mauchly and J. Presper Eckert of the University 
of Pennsylvania, U.S. The team of design engineers assisting the 
development included Robert F. Shaw (function tables), Jeffrey Chuan Chu 
(divider/square-rooter), Thomas Kite Sharpless (master programmer), Frank 
Mural (master programmer), Arthur Burks (multiplier), Harry Huskey 
(reader/printer) and Jack Davis (accumulators). In 1946, the researchers 
resigned from the University of Pennsylvania and formed the Eckert-Mauchly 
Computer Corporation.

ENIAC was a modular computer, composed of individual panels to perform 
different functions. Twenty of these modules were accumulators, which 
could not only add and subtract but hold a ten-digit decimal number in 
memory. Numbers were passed between these units across several general-purpose 
buses (or trays, as they were called). In order to achieve its high speed, 
the panels had to send and receive numbers, compute, save the answer and 
trigger the next operation, all without any moving parts. Key to its 
versatility was the ability to branch; it could trigger different operations, 
depending on the sign of a computed result.

By the end of its operation in 1955, ENIAC contained 17,468 vacuum tubes, 
7200 crystal diodes, 1500 relays, 70,000 resistors, 10,000 capacitors and 
approximately 5,000,000 hand-soldered joints. It weighed more than 30 short 
tons (27 t), was roughly 2.4m x 0.9m x 30m (8 x 3 x 100 feet) in size, 
occupied 167m2 (1800 ft2) and consumed 150 kW of electricity. This 
power requirement led to the rumor that whenever the computer was switched 
on, lights in Philadelphia dimmed.[14] Input was possible from an IBM card 
reader; an IBM card punch was used for output. These cards could be used to 
produce printed output offline using an IBM accounting machine, such as the 
IBM 405.

ENIAC used ten-position ring counters to store digits; each digit required 36 
vacuum tubes, 10 of which were the dual triodes making up the flip-flops of 
the ring counter. Arithmetic was performed by "counting" pulses with the ring 
counters and generating carry pulses if the counter "wrapped around," the 
idea being to electronically emulate the operation of the digit wheels of a 
mechanical adding machine.

ENIAC had 20 ten-digit signed accumulators, which used ten's complement 
representation and could perform 5000 simple addition or subtraction 
operations between any of them and a source (e.g., another accumulator or 
a constant transmitter) every second. It was possible to connect several 
accumulators to run simultaneously, so the peak speed of operation was 
potentially much higher, due to parallel operation.

It was possible to wire the carry of one accumulator into another accumulator 
to perform double precision arithmetic, but the accumulator carry circuit 
timing prevented the wiring of 3+ for even higher precision. ENIAC used 4 
of the accumulators (controlled by a special multiplier unit) to perform 
up to 385 multiplication operations/second; 5 of the accumulators were 
controlled by a special divider/square-rooter unit to perform up to 40 
division operations/second or 3 square root operations/second.

The other 9 units in ENIAC were the Initiating Unit (started and stopped 
the machine), the Cycling Unit (used for synchronizing the other units), 
the Master Programmer (controlled "loop" sequencing), the Reader (controlled 
an IBM punch-card reader), the Printer (controlled an IBM card punch), the 
Constant Transmitter and 3 function tables.

The basic machine cycle was 200 microseconds (20 cycles of the 100 kHz clock 
in the cycling unit), or 5,000 cycles per second for operations on the 10-digit 
numbers. In one of these cycles, ENIAC could write a number to a register, 
read a number from a register, or add/subtract two numbers.

A multiplication of a 10-digit number by a d-digit number (for d up to 10) 
took d+4 cycles, so a 10- by 10-digit multiplication took 14 cycles, or 
2800 microseconds-a rate of 357 per second. If one of the numbers had fewer 
than 10 digits, the operation was faster.

Division and square roots took 13(d+1) cycles, where d is the number of 
digits in the result (quotient or square root). So a division or square 
root took up to 143 cycles, or 28,600 microseconds-a rate of 35 per second. 
(Wilkes 1956: states that a division with a 10 digit quotient required 6 
milliseconds.) If the result had fewer than ten digits, it was obtained faster.

ENIAC used common octal-base radio tubes of the day; the decimal accumulators 
were made of 6SN7 flip-flops, while 6L7's, 6SJ7's, 6SA7's and 6AC7's were used 
in logic functions. Numerous 6L6's and 6V6's served as line drivers to 
drive pulses through cables between rack assemblies.

Several tubes burned out almost every day, leaving it nonfunctional about 
half the time. Special high-reliability tubes were not available until 1948. 
Most of these failures, however, occurred during the warm-up and cool-down 
periods, when the tube heaters and cathodes were under the most thermal 
stress. Engineers reduced ENIAC's tube failures to the more acceptable 
rate of one tube every two days. According to a 1989 interview with Eckert, 
"We had a tube fail about every two days and we could locate the problem 
within 15 minutes." In 1954, the longest continuous period of operation 
without a failure was 116 hours-close to five days.

ENIAC could be programmed to perform complex sequences of operations, including 
loops, branches, and subroutines. The task of taking a problem and mapping it 
onto the machine was complex, and usually took weeks. After the program was 
figured out on paper, the process of getting the program into ENIAC by 
manipulating its switches and cables could take days. This was followed 
by a period of verification and debugging, aided by the ability to execute 
the program step by step. A programming tutorial for the modulo function 
using an ENIAC simulator gives an impression of what a program on the ENIAC 
looked like.

ENIAC's six primary programmers, Kay McNulty, Betty Jennings, Betty Snyder, 
Marlyn Wescoff, Fran Bilas and Ruth Lichterman, not only determined how to 
input ENIAC programs, but also developed an understanding of ENIAC's inner 
workings. The programmers debugged problems by crawling inside 
the massive structure to find bad joints and bad tubes.

Herman Goldstine selected the programmers, then called "operators", from 
the human "computers" who had been calculating ballistics tables with 
desk calculators and a differential analyzer prior to and during the 
development of ENIAC. Under Herman and Adele Goldstine's direction, 
the programmers studied ENIAC's blueprints and physical structure to 
determine how to manipulate its switches and cables, rather than learning 
a programming language. Though contemporaries considered programming a 
clerical task and did not publicly recognize the programmers' impact on 
the successful operation and announcement of ENIAC, McNulty, Jennings, 
Snyder, Wescoff, Bilas, and Lichterman have since been recognized for 
their contributions to computing.

Following the initial six programmers, an expanded team of a hundred 
scientists was recruited to continue work on the ENIAC. Among these 
were several women again, including Gloria Ruth Gordon.
Although the Ballistic Research Laboratory was the sponsor of ENIAC, 
one year into this three-year project John von Neumann, a mathematician 
working on the hydrogen bomb at Los Alamos, became aware of this 
computer. Los Alamos subsequently became so involved with ENIAC 
that the first test problem ran consisted of computations for the 
hydrogen bomb, not artillery tables. The input/output for this 
test was one million cards.

The completed machine was announced to the public the evening of 
February 14, 1946 and formally dedicated the next day at 
the University of Pennsylvania. The original contract amount was 
$61,700; the final cost was almost $500,000 (approximately 
$6,100,000 today). It was formally accepted by the U.S. Army 
Ordnance Corps in July 1946. ENIAC was shut down on November 9, 1946 
for a refurbishment and a memory upgrade, and was transferred to 
Aberdeen Proving Ground, Maryland in 1947. There, on July 29, 1947, 
it was turned on and was in continuous operation until 11:45 p.m. 
on October 2, 1955.
   
A few months after ENIAC's unveiling, in the summer of 1946, as 
part of "an extraordinary effort to jump-start research in the 
field", the Pentagon invited "the top people in electronics 
and mathematics from the United States and Great Britain" to 
a series of forty-eight lectures altogether called The Theory 
and Techniques for Design of Digital Computers more often named 
the Moore School Lectures. Half of these lectures were 
given by the inventors of ENIAC.

ENIAC was a one-of-a-kind design and was never repeated. The 
freeze on design in 1943 meant that the computer design would 
lack some innovations that soon became well-developed, notably 
the ability to store a program. Eckert and Mauchly started 
work on a new design, to be later called the EDVAC, which 
would be both simpler and more powerful. In particular, in 1944 
Eckert wrote his description of a memory unit (the mercury 
delay line) which would hold both the data and the program. 
John von Neumann, who was consulting for the Moore School on 
the EDVAC, sat in on the Moore School meetings at which the 
stored program concept was elaborated. Von Neumann wrote up 
an incomplete set of notes (First Draft of a Report on the 
EDVAC) which were intended to be used as an internal 
memorandum describing, elaborating, and couching in formal 
logical language the ideas developed in the meetings. ENIAC 
administrator and security officer Herman Goldstine distributed 
copies of this First Draft to a number of government and 
educational institutions, spurring widespread interest in 
the construction of a new generation of electronic computing 
machines, including Electronic Delay Storage Automatic 
Calculator (EDSAC) at Cambridge University, England and 
SEAC at the U.S. Bureau of Standards.
Improvements

A number of improvements were made to ENIAC after 1948, 
including a primitive read-only stored programming mechanism 
using the Function Tables as program ROM, an idea included 
in the ENIAC patent and proposed independently by Dr. Richard 
Clippinger of BRL. Clippinger consulted with von Neumann on 
what instruction set to implement. Clippinger had thought of 
a 3-address architecture while von Neumann proposed a 1-address 
architecture because it was simpler to implement. Three 
digits of one accumulator (6) were used as the program 
counter, another accumulator (15) was used as the main 
accumulator, a third accumulator (8) was used as the address 
pointer for reading data from the function tables, and most 
of the other accumulators (1-5, 7, 9-14, 17-19) were used 
for data memory.

The programming of the stored program for ENIAC was done 
by Betty Jennings, Clippinger and Adele Goldstine. It was 
first demonstrated as a stored-program computer on 
September 16, 1948, running a program by Adele Goldstine 
for John von Neumann. This modification reduced the speed 
of ENIAC by a factor of six and eliminated the ability of 
parallel computation, but as it also reduced the reprogramming 
time to hours instead of days, it was considered well worth 
the loss of performance. Also analysis had shown that due 
to differences between the electronic speed of computation 
and the electromechanical speed of input/output, almost any 
real-world problem was completely I/O bound, even without 
making use of the original machine's parallelism. Most 
computations would still be I/O bound, even after the 
speed reduction imposed by this modification.

Early in 1952, a high-speed shifter was added, which 
improved the speed for shifting by a factor of five. 
In July 1953, a 100-word expansion core memory was 
added to the system, using binary coded decimal, 
excess-3 number representation. To support this expansion 
memory, ENIAC was equipped with a new Function Table 
selector, a memory address selector, pulse-shaping 
circuits, and three new orders were added to the 
programming mechanism.






Read previous mail | Read next mail


 11.05.2024 21:23:05lGo back Go up