Structuring ENIAC
Thomas Haigh, Mark Priestley, Crispin Rope
The MIT Press eBooks · 2016
This chapter explores the development of ENIAC’s overall architecture and control method. This was shaped, to a degree that has not previously been recognized, by an early and very detailed exploration led by Arthur W. Burks of how the machine could be “set up” to calculate shell trajectories, the task for which it was commissioned.
Programming ENIAC was not, as has often been asserted, an “afterthought” to its design and construction. Discussion is focused in particular on the development of its master programmer unit, used to control sets of nested loops. Although it is widely believed that the ability to change the course of a computation based on results so far obtained (later be conceptualized as a conditional branch) was added to ENIAC late in its development, we show that this capability was planned for early on and that its eventual implementation as a capability of the master programmer reflected a distinct approach to the structuring of automatic computation shaped by the team’s work on the trajectory computation problem.