Where Hardware is Really Software
Jim Tomayko
Carnegie Mellon
Prior to the invention of stored programs, devices were programmable by intrinsically difficult or easier means. Babbages Difference Engine and certain analog computers are examples of the former, while Bushs Differential Analyzer and the ENIAC are examples of the latter. After the development of stored memory, software for awhile was king, the hardware, although programmed, was single-purpose; the evolution from devices to "soft logic" was next. Todays programmable devices are the latest trend.
This paper begins by discussing "software in the gears" and other ways algorithms are implemented in older analog machines. It progresses to the invention of software and the methods used to develop programs given that context. Finally, any lessons from software engineering applicable to what goes into programmable devices are presented.