ENIAC: Difference between revisions

Content deleted Content added
Improvements: 1947 ref, reverted independent discovery by Clippinger (reedited), ref for further use
→‎Improvements: refs edits & rearrangement, March 1948 Converter unit was installed, first production run in April
Line 105:
 
===Improvements===
A number of improvements were made to ENIAC after 1947,<ref>Some sources give year 1948 (probably date in which converter was added [<nowiki/>see {{harvnb|Clippinger|1948|loc=Section VIII: Modified ENIAC}}]), but there is evidence that it was done earlier in 1947
*{{harvnb|Goldstine|1972|p=|loc=233-234, 270; search string: ''eniac Adele 1947'' {{quote|By July 1947 von Neumann was writing: "I am much obliged to Adele for her letters. Nick and I are working with her new code, and it seems excellent."}}}}
*{{harvnb|Clippinger|1948|loc=Section IV: Summary of Orders}}</ref><ref name=":3" /> including a primitive read-only stored programming mechanism using the function tables as program [[Read-only memory|ROM]],<ref name=":2" /> after which programming was done by setting the switches.<ref>{{cite book |last1=Pugh |first1=Emerson W. |title=Building IBM: Shaping an Industry and Its Technology |date=1995 |publisher=MIT Press |isbn=9780262161473 |page=353 |url=https://books.google.com/books?id=Bc8BGhSOawgC&lpg=PP1&dq=eniac%20rewiring&pg=PA353#v=onepage&q=eniac%20rewiring%20switches&f=false |language=en |chapter=Notes to Pages 132-135}}</ref> The idea have been worked out in several variants by Richard Clippinger and his group, on the one hand, and the Goldstines, on the other,{{sfn|Haigh|Priestley|Rope|2014|pp=44-45}} and it was included in the ENIAC [[#patent]]. Clippinger consulted with von Neumann on what instruction set to implement.<ref name=":2" />{{sfn|Clippinger|1948|loc=INTRODUCTION}}{{sfn|Goldstine|1972|p=|loc=233-234, 270; search string: ''eniac Adele 1947''}} 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.
 
In September 1948 Converter unit was installed, which made possible programming through the Reader from standard IBM cards.{{sfn|Clippinger|1948|loc=Section VIII: Modified ENIAC}}<ref>{{cite journal |last1=Fritz |first1=W. Barkley |title=Description and Use of the ENIAC Converter Code |journal=Technical Note |date=1949 |issue=141 |url=http://eniacinaction.com/the-articles/2-engineering-the-miracle-of-the-eniac-implementing-the-modern-code-paradigm/ |at=Section 1. – Introduction, p. 1 |quote=At present it is controlled by a code which incorporates a unit called the Converter as a basic part of its operation, hence the name ENIAC Converter Code. These code digits are brought into the machine either through the Reader from standard IBM cards* or from the Function Tables (...). (...) * The card control method of operation is used primarily for testing and the running of short highly iterative problems and is not discussed in this report.}}</ref>
 
The programming of the stored program for ENIAC was done by Betty Jennings, Clippinger, Adele Goldstine and others.{{sfn|Clippinger|1948|loc=INTRODUCTION}}<ref name=":3">{{cite book |last1=Goldstine |first1=Adele K. |title=Central Control for ENIAC |date=10 July 1947 |page=1 |url=http://eniacinaction.com/the-articles/2-engineering-the-miracle-of-the-eniac-implementing-the-modern-code-paradigm/|quote=Unlike the later 60- and 100-order codes this one [51 order code] required no additions to ENIAC’s original hardware. It would have worked more slowly and offered a more restricted range of instructions but the basic structure of accumulators and instructions changed only slightly.}}</ref><ref name=":2" /> It was first demonstrated as a [[stored-program computer]] on September 16, 1948,{{cn|date=November 2018}} 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{{sfn|Goldstine|1972|p=|loc=233-234, 270; search string: ''eniac Adele 1947''}}<ref name=":2" /> 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 [[Magnetic-core memory|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.<ref name=":2">{{Cite web |url=http://epictechnologyforgreatjustice.weebly.com/eniac.html |title=Eniac |last= |first= |date= |website=Epic Technology for Great Justice |publisher= |language=en |access-date=2017-01-28}}</ref>