About the Speaker
Frederick P. Brooks, Jr., is Kenan Professor of Computer Science at the University of North Carolina at Chapel Hill. A native of North Carolina, he studied physics at Duke University and did his Ph.D. work at Harvard under Howard Aiken.
At IBM in Poughkeepsie NY he was an architect of the IBM Stretch and Harvest computers. He was Corporate Project Manager for the System/360, including development of the System/360 computer family hardware, and the Operating System/360 software. The first 360 model and key components of the operating system were developed in IBM’s laboratory at Hursley, Hants.
He founded the UNC Department of Computer Science in 1964 and chaired it for 20 years. His research there has been in computer architecture, software engineering, interactive 3-D computer graphics ("virtual environments"), and the design process for complex system. His best-known books are The Mythical Man-Month: Essays on Software Engineering, (1975, 1995), Computer Architecture: Concepts and Evolution (with G.A. Blaauw, 1997), and The Design of Design: Essays from a Computer Scientist (2010).
Prof. Brooks has received the National Medal of Technology, the ACM Turing Award, the Bower Award and Prize of the Franklin Institute, the John von Neumann Medal of the IEEE, the Allen Newell and Distinguished Service awards of the ACM, and the Eckert-Mauchly Award of the IEEE and the ACM. He is a member of the the National Academy of Science, the National Academy of Engineering and a Foreign Member of the Royal Netherlands Academy of Arts and Sciences.
Prof. Brooks has spent three sabbatical stays at Cambridge and one at University College London. He is a Distinguished Fellow of the British Computer Society and a Foreign Member of the Royal Academy of Engineering.
Pilot ACE Architecture in Context
Alan Turing’s contribution to the theory of computing is unmatched. Here we look beyond that, at the architecture and implementation of his proposed computer, the National Physical Laboratory’s Pilot ACE.
Architecturally, the ACE is the very epitome of an “unclean” machine. This is understandable, given the stated objectives of Turing and the team: to build a running computer with a little equipment as possible. Hence the architecture follows directly from the implementation and the technologies chosen.
The architecture represents a wide deviation from that proposed in Burks, Goldstine, and von Neumann’s “Preliminary Discussion of the Logical Design of an Electronic Computing Instrument” (1946). It introduces several important new concepts. The most important is the use of chained instructions rather than sequential ones, to enable optimum placement of instructions and data in the serial main memory. Each instruction contains the (highly abbreviated) address of the next instruction. This technique became familiar via the popular IBM 650 (1954) A second important innovation is the one-instruction transfer of a variable-sized block of words to/from the backing store. The I/O provisions are exceptional for the date and substantially enhanced the usefulness of the machine.
Some architectural decisions seem quite ill-considered, such as the delegation of multiplication to a subroutine. Wilkes’ deep experience with scientific computing on desk calculators gave him a better instinctive grasp of operation relative frequencies, so his EDSAC didn’t embody this mistake. The ACE also embodies the (universal) mistake of radically underestimating the need for main memory and the provision of adequate addressing for sizes quite beyond the initially affordable.
NPL had various troubles realizing the machine, so it didn’t operate until October, 1950, and couldn’t be harnessed for use until May, 1951, almost two years after Kilburn’s Manchester Baby (1948) and Wilkes’s Cambridge EDSAC (1949). It served as a well-used scientific computer for some years, and spawned descendents: the English Electric ACE, the EE Deuce, the Bendix (later CDC) G-15 and G-20.