The Discovery of Debugging

Total Page:16

File Type:pdf, Size:1020Kb

The Discovery of Debugging THE INFORMATION AGE Brian Hayes Louise Neve/solt, Tra nsparent Sculpture VI. 1967-68 The Discovery of Debugging n May 6, 1949, a length of who teaches ar the University of War­ bles for the U.S. Army since 1945, but it punched paper tape was threaded wic k. The simuhuor turns a modern was noc a computer in the modern sense. O into a mac hine at the University Macintosh computer into a surprisingly Ie eQuId not he programmed except by of Cambridge; a few seconds later a near­ faithful- sometimes frustratingly faith ­ setting switches and pluggi ng in patch by teleprinter began tapping OUt a list of ful-replica of rhe EDSAC. cords. The idea of controlling a machine numbers: 1, 4,9, 16, 25, .... The tape It is a commonplace observation that all by means of a program StOred in its own reade r and the teleprinte r were the input the computing power of forty years ago---­ memory made its public debut in John and ou'rput devices of an electronic digi­ the rooms filled with glowing vacuum von Neumann's " First Draft of a Report tal computer, a machine called the ED­ tubes, the tons of <lir conditioning, the on the EDVAC," written in 1945, JUSt af­ SAC; calculating the squares of a list of squadrons of attending technicians-will ter the end of (he Second World War. numbers was iIS fir st fu ll test. Indeed, it now fit comfonably on a corner of your At Cambridge a year later, Maurice V. was the first time any full-scale compmer, desk or in your briefcase or evell in yo ur Wilkes, rhe new directOr of the Mathe­ in the modern sense of the rerm, had suc­ Docket. But it is one thing ro compare per­ matics Laboratory, saw a copyofvon Neu­ cessfully fun a program. formance specifications, me mory capaci­ mann 's report. Soon the reafter he was on Computers and computing have ties and program benchmarks; it is quite hi s way to Philadelphia for a summer changed drastically since 1949-more so, another accual]y to see one ofthe earl y iron school at the Uni versity of Pennsylvania, pe rhaps, chan any other e lement of tech­ giants of computing encompassed in the where the stored-program concept was nology. The EDSAC is long gone; most of little plastic box of a Macintosh. There is discussed in detail. The Pennsylva nia its pans were sold for scrap in 1958. No so mething incongruous about it, like the group was then gearing up to begin build­ one will ever build another machine like dozen ci rcus clowns in the miniaru re car. in g the EDVAC (Electronic Discrete Vari. it. Nevenheless, it is still possible to write able Automatic Computer), and Wilkes programs for the EDSAC, ro load those he EDSAC was part of the first gener­ return ed co England with the determina­ programs in to the paper-rape reader and Tation of computing machines to ci on (Q create a stored-program machine of rh en co see (and hear) the results come e merge in the aftermath of the wartime his own. He called it the Electronic Delay ti cking out of the te leprinter. The rime ENlAC (Electronic N umerical Integrator Storage Automatic Calculator. The simi· machine that offers this transport ioco {he and Computer) project. The ·EN IAC it­ lariry of the acronyms EDSAC and EDVAC pase is a simulator created by Manin self, built at the University of Pennsylva­ was no coincidence. Campbell-Kell y, a historian ofcomputing nia, had been churning Out ba llistics ta­ Back in the United States the EDVAC 10 THE SCIENCES 'July/AuguJlI99J project suffered several changes of lead­ er, the EDSAC exceeded the fondest chine to be a word processor one moment, ership and also deve loped a case of creep­ dreams of the modern "power user." It an artist's sketch pad the next and a sim­ ing-enhancement disease: every stage of dtew about twelve ki lowatts from the mu­ ulator of an antique computer th e next. construction was delayed by some bright nicipal electric supply. (A Macintosh to­ The disparity between the advanced idea about how to make the mac hine big­ day draws about a tenth of a kilowatt.) state of hardware design and the primi­ ger or better or faster. Indeed, the version Comparing the EOSAC with the very tive state ofsoftware development can be of the EDVAC finally constru cted at latest computer technology may noc be expressed as follows. Most of th e abstrac­ Pennsylvania bore little resemblance co the best way of conveying 3 sense of its tions th at serve as the fundamental build­ the machine described in von Neumann 's capabilities. The EDSAC reminds me ing blocks of computer hardware had al­ "First Draft." Wilkes stuck close to his strongly not of the computers I see on ev­ ready bee n recognized in 1949: Boolean original design and finished a year earlier. ery deskcop coday but of the fiIst machine logic ga tes, regisre rs, clock ci rcuits, coun­ The EDSAC occupied the upper Roa r on which I had any expe rience of pro­ re rs, adders, shifters. and perhaps most ofa building that had once been the anat­ gramming, not quite twenty years ago. important rhe di vision of the machine in ­ omy school in Cambridge. T he control That machine was closely matched to the to subunits for me mory, control, arith­ circuits, as well as the circuits responsible EDSAC in memory capacity and execu­ me tic and logic, input and Output. T here for logical and arithmetical operations, tion speed, as well as in its Spartan facili­ is a corresponding set of abstractions for were based on vacuum tubes- some ties for in put and output. Ie was a pro­ software: sequences, branches, loops, If­ 3,500 of them-arranged in ta ll steel grammable hand-held calculator made by eration, recursion, procedures, armys, racks that filled the room like li brary Hewlett-Packard. sets, lists, queues, stacks and so forth. shelves. The memory clements of [he Few of those concepts had ye t appeared, compute r were mercury delay lines: few weeks after the EDSAC ran its except in the most embryonic form. Even tubes fi ve fee t long, fill ed with mercury, A first program, a conference on "high more conspicuously absent was the idea wj th a quar[Z transducer at each end. UI­ speed automatic calculating machines" of a programming language. No hi gher­ uasonic pulses representing binary digits was convened at Cambridge. Here was a level programming languages existed were uansmicred inm the mercury at one chance for Wilkes and the rest of the EO­ (FORTRAN did not come along until end of the tube and received at the othe r SAC crew to show off their accomplish­ 1954), and ehe programmin g nocations end; the received signal was the n ampli­ mencs and {O compare notes with repre­ then in use, namely the in struction sets of fie d and transmitted aga in , so that the sentati ves of other laboratories in Great the various computers. were not viewed pulses circulated continuously and cou ld Britain and in Europe and the U.S. The as having a linguistic aspect. N o one had be scored indefinitely. Each such "long record ohhe confe re nce has been reprint­ set forth th e grammar of an instruction tank" in the main memory held 576 bits, ed as Vo lume 14 in rh e Charles Babbage set, and no one was ready to attribute organized as thirry-two "words" of eigh­ Institute Reprint Series for {he History of meanin g to a program as an independent teen bits each; the design ca lled for Computing; reading it offers a glimpse in­ entity, separate from the computer that thirty-two tanks, and so the total capacity to the small world of computer engineer­ would execute il- was 1,024 words. ing at midcentury. I can suggest fWO reasons software was What snuck me first when I read clle so much the stunted sibling of hardware in he EOSAC, like most of the other conference record was the remarkably ad­ the earliest years ofcomputing. First, most Telectronic computers conceived in vanced state of thinking on computer ar­ of the computing pioneers still viewed th e the 1940s, was a "bit-serial" machine. chitecture and hardware design at a mo­ compute r. as a strictly numerica l calcul ator. The data paths threading throughout the ment when there was little practical Its function was to solve mathe matica l processor were just one bit wide, and so experi ence to guide that thinking. Much problems. T he idea chat it might operate communicating an eighteen-bit machine of the "des ign space" for digital computers not JUSt on numbers bl){ also on sy mbols word from one place to another required had already been explored or at least more generally-incl uding its own pro­ eighteen steps. Bit-serial architectures roughly mapped Ollt. The basic circuits for grams-had nor yet caught on. Programs are rare today;' mOSt of the common performing various arithmetical and logical were seen not as interesting objects in microprocessors have dara paths that are operations had been devised. The relative themselves bue merely as tools for manip­ sixteen or thirty -two bits wide. The serial merits of binary notation and of other op­ ulating numbers. Second, no one yet ap­ arrangement was slower, but it had th e tions such as binary-coded-decimal were preciated that programming a digital com­ imporcant advantages of sim plicity and well understood.
Recommended publications
  • May 21St at the Time, the EDSAC Used IBM 726 Three Small Cathode Ray Tube Börje Langefors Screens to Display the State of Its Announced Memory
    it played tic-tac-toe (known as Noughts and Crosses in the UK). May 21st At the time, the EDSAC used IBM 726 three small cathode ray tube Börje Langefors screens to display the state of its Announced memory. Each one could draw a May 21, 1952 Born: May 21, 1915; grid of 35 x 16 dots. Douglas re- purposed one of them for his Ystad, Sweden The IBM 726 was the company’s game, and obtained input (i.e. Died: Dec. 13, 2009 first magnetic tape unit, where to place a nought or intended for use with the Langefors developed the cross) via EDSAC’s rotary recently announced IBM 701 ‘infological equation’ in 1980, controller. [April 7], the company’s first which describes the difference electronic computer. between information and data in terms of additional semantic The 726 utilized half-inch tapes background and a with seven tracks. Six were for communication time interval. the data and the seventh was employed as a parity track. Langefors joined SAAB, the Some tapes were 1,200 feet long, Swedish aerospace and defense could store 2.3 MB of data, and company, in 1949 where he IBM claimed that just one could utilized analog devices for replace 12,500 punch cards. calculating wing stresses. The need for more powerful tools The drive could write 100 became evident, and the only characters per inch on a tape Swedish computer of the time, EDSAC CRT Tubes. Computer and read 75 inches per second. the BESK [April 1], was Lab, Univ. of Cambridge. CC BY To withstand the system’s fast insufficient for the task.
    [Show full text]
  • An Early Program Proof by Alan Turing F
    An Early Program Proof by Alan Turing F. L. MORRIS AND C. B. JONES The paper reproduces, with typographical corrections and comments, a 7 949 paper by Alan Turing that foreshadows much subsequent work in program proving. Categories and Subject Descriptors: 0.2.4 [Software Engineeringj- correctness proofs; F.3.1 [Logics and Meanings of Programs]-assertions; K.2 [History of Computing]-software General Terms: Verification Additional Key Words and Phrases: A. M. Turing Introduction The standard references for work on program proofs b) have been omitted in the commentary, and ten attribute the early statement of direction to John other identifiers are written incorrectly. It would ap- McCarthy (e.g., McCarthy 1963); the first workable pear to be worth correcting these errors and com- methods to Peter Naur (1966) and Robert Floyd menting on the proof from the viewpoint of subse- (1967); and the provision of more formal systems to quent work on program proofs. C. A. R. Hoare (1969) and Edsger Dijkstra (1976). The Turing delivered this paper in June 1949, at the early papers of some of the computing pioneers, how- inaugural conference of the EDSAC, the computer at ever, show an awareness of the need for proofs of Cambridge University built under the direction of program correctness and even present workable meth- Maurice V. Wilkes. Turing had been writing programs ods (e.g., Goldstine and von Neumann 1947; Turing for an electronic computer since the end of 1945-at 1949). first for the proposed ACE, the computer project at the The 1949 paper by Alan M.
    [Show full text]
  • Alan Turing's Automatic Computing Engine
    5 Turing and the computer B. Jack Copeland and Diane Proudfoot The Turing machine In his first major publication, ‘On computable numbers, with an application to the Entscheidungsproblem’ (1936), Turing introduced his abstract Turing machines.1 (Turing referred to these simply as ‘computing machines’— the American logician Alonzo Church dubbed them ‘Turing machines’.2) ‘On Computable Numbers’ pioneered the idea essential to the modern computer—the concept of controlling a computing machine’s operations by means of a program of coded instructions stored in the machine’s memory. This work had a profound influence on the development in the 1940s of the electronic stored-program digital computer—an influence often neglected or denied by historians of the computer. A Turing machine is an abstract conceptual model. It consists of a scanner and a limitless memory-tape. The tape is divided into squares, each of which may be blank or may bear a single symbol (‘0’or‘1’, for example, or some other symbol taken from a finite alphabet). The scanner moves back and forth through the memory, examining one square at a time (the ‘scanned square’). It reads the symbols on the tape and writes further symbols. The tape is both the memory and the vehicle for input and output. The tape may also contain a program of instructions. (Although the tape itself is limitless—Turing’s aim was to show that there are tasks that Turing machines cannot perform, even given unlimited working memory and unlimited time—any input inscribed on the tape must consist of a finite number of symbols.) A Turing machine has a small repertoire of basic operations: move left one square, move right one square, print, and change state.
    [Show full text]
  • History of ENIAC
    A Short History of the Second American Revolution by Dilys Winegrad and Atsushi Akera (1) Today, the northeast corner of the old Moore School building at the University of Pennsylvania houses a bank of advanced computing workstations maintained by the professional staff of the Computing and Educational Technology Service of Penn's School of Engineering and Applied Science. There, fifty years ago, in a larger room with drab- colored walls and open rafters, stood the first general purpose electronic computer, the Electronic Numerical Integrator And Computer, or ENIAC. It spanned 150 feet in width with twenty banks of flashing lights indicating the results of its computations. ENIAC could add 5,000 numbers or do fourteen 10-digit multiplications in a second-- dead slow by present-day standards, but fast compared with the same task performed on a hand calculator. The fastest mechanical relay computers being operated experimentally at Harvard, Bell Laboratories, and elsewhere could do no more than 15 to 50 additions per second, a full two orders of magnitude slower. By showing that electronic computing circuitry could actually work, ENIAC paved the way for the modern computing industry that stands as its great legacy. ENIAC was by no means the first computer. In 1839, an Englishman Charles Babbage designed and developed the first true mechanical digital computer, which he described as a "difference engine," for solving mathematical problems including simple differential equations. He was assisted in his work by a woman mathematician, Ada Countess Lovelace, a member of the aristocracy and the daughter of Lord Byron. They worked out the mathematics of mechanical computation, which, in turn, led Babbage to design the more ambitious analytical engine.
    [Show full text]
  • The Manchester University "Baby" Computer and Its Derivatives, 1948 – 1951”
    Expert Report on Proposed Milestone “The Manchester University "Baby" Computer and its Derivatives, 1948 – 1951” Thomas Haigh. University of Wisconsin—Milwaukee & Siegen University March 10, 2021 Version of citation being responded to: The Manchester University "Baby" Computer and its Derivatives, 1948 - 1951 At this site on 21 June 1948 the “Baby” became the first computer to execute a program stored in addressable read-write electronic memory. “Baby” validated the widely used Williams- Kilburn Tube random-access memories and led to the 1949 Manchester Mark I which pioneered index registers. In February 1951, Ferranti Ltd's commercial Mark I became the first electronic computer marketed as a standard product ever delivered to a customer. 1: Evaluation of Citation The final wording is the result of several rounds of back and forth exchange of proposed drafts with the proposers, mediated by Brian Berg. During this process the citation text became, from my viewpoint at least, far more precise and historically reliable. The current version identifies several distinct contributions made by three related machines: the 1948 “Baby” (known officially as the Small Scale Experimental Machine or SSEM), a minimal prototype computer which ran test programs to prove the viability of the Manchester Mark 1, a full‐scale computer completed in 1949 that was fully designed and approved only after the success of the “Baby” and in turn served as a prototype of the Ferranti Mark 1, a commercial refinement of the Manchester Mark 1 of which I believe 9 copies were sold. The 1951 date refers to the delivery of the first of these, to Manchester University as a replacement for its home‐built Mark 1.
    [Show full text]
  • A Large Routine
    A large routine Freek Wiedijk It is not widely known, but already in June 1949∗ Alan Turing had the main concepts that still are the basis for the best approach to program verification known today (and for which Tony Hoare developed a logic in 1969). In his three page paper Checking a large routine, Turing describes how to verify the correctness of a program that calculates the factorial function by repeated additions. He both shows how to use invariants to establish the correctness of this program, as well as how to use a variant to establish termination. In the paper the program is only presented as a flow chart. A modern C rendering is: int fac (int n) { int s, r, u, v; for (u = r = 1; v = u, r < n; r++) for (s = 1; u += v, s++ < r; ) ; return u; } Turing's paper seems not to have been properly appreciated at the time. At the EDSAC conference where Turing presented the paper, Douglas Hartree criticized that the correctness proof sketched by Turing should not be called inductive. From a modern point of view this is clearly absurd. Marc Schoolderman first told me about this paper (and in his master's thesis used the modern Why3 tool of Jean-Christophe Filli^atreto make Turing's paper fully precise; he also wrote the above C version of Turing's program). He then challenged me to speculate what specific computer Turing had in mind in the paper, and what the actual program for that computer might have been. My answer is that the `EPICAC'y of this paper probably was the Manchester Mark 1.
    [Show full text]
  • Alan Turing's Other Universal Machine
    viewpoints VDOI:10.1145/2209249.2209277 Martin Campbell-Kelly Historical Reflections Alan Turing’s Other Universal Machine Reflections on the Turing ACE computer and its influence. LL COMPUTER SCIENTISTS know about the Univer- sal Turing Machine, the theoretical construct the British genius Alan Turing Adescribed in his famous 1936 paper on the Entscheidungsproblem (the halting problem). The Turing Machine is one of the foundation stones of theoreti- cal computer science. Much less well known is the practical stored program computer he proposed after the war in February 1946. The computer was called the ACE—Automatic Comput- ing Engine—a name intended to evoke the spirit of Charles Babbage, the pio- neer of computing machines in the previous century. Almost all post-war electronic com- puters were, and still are, based on the famous EDVAC Report written by John von Neumann in June 1945 on behalf The Pilot ACE, May 1950. Jim Wilkinson (center right) and Donald Davies (right). of the computer group at the Moore School of Electrical Engineering at the roles. Computers were in the air and of one, and over the next few months University of Pennsylvania. Von Neu- universities at Manchester, Cam- he evolved the design of the ACE. His mann was very familiar with Turing’s bridge, and elsewhere established report was formally presented to the 1936 Entscheidungsproblem paper. In electronic computer projects. Out- NPL’s executive committee in Febru- 1937, Turing was a research assistant side the academic sphere, in Lon- ary 1946. at the Institute for Advanced Study at don, the National Physical Laboratory Although the ACE drew heavily on Princeton University, where von Neu- (NPL—Britain’s equivalent of the Na- the EDVAC Report, it had many novel mann was a professor of mathematics.
    [Show full text]
  • Computer Hardware
    Computer Hardware MJ Rutter mjr19@cam Michaelmas 2017 Typeset by FoilTEX c 2016 MJ Rutter Contents History 4 The CPU 12 instructions ....................................... ............................................. 18 pipelines .......................................... ........................................... 19 vectorcomputers.................................... .............................................. 38 performancemeasures . ............................................... 39 Memory 44 DRAM .................................................. .................................... 45 caches............................................. .......................................... 57 Memory Access Patterns in Practice 86 matrixmultiplication. ................................................. 86 matrixtransposition . ................................................110 Memory Management 120 virtualaddressing .................................. ...............................................121 pagingtodisk ....................................... ............................................130 memorysegments ..................................... ............................................139 Compilers & Optimisation 160 optimisation....................................... .............................................161 thepitfallsofF90 ................................... ..............................................185 I/O, Libraries, Disks & Fileservers 198 librariesandkernels . ................................................198
    [Show full text]
  • World War II and the Advent of Modern Computing Based on Slides Originally Published by Thomas J
    15-292 History of Computing World War II and the Advent of Modern Computing ! Based on slides originally published by Thomas J. Cortina in 2004 for a course at Stony Brook University. Revised in 2013 by Thomas J. Cortina for a computing history course at Carnegie Mellon University. WW II l At start of WW II (1939) l US Military was much smaller than Axis powers l German military had best technology l particularly by the time US entered war in 1941 l US had the great industrial potential l twice the steel production as any other nation, for example ! l A military and scientific war l Outcome was determined by technological developments l atomic bomb, advances in aircraft, radar, code-breaking computers, and many other technologies Konrad Zuse l German Engineer l Z1 – built prototype 1936-1938 in his parents living room l did binary arithmetic l had 64 word memory l Z2 computer had more advances, called by some first fully functioning electro-mechanical computer l convinced German government to fund Z3 l Z3 funded and used by German’s Aircraft Institute, completed 1941 l Z1 – Z3 were electromechanical computers destroyed in WWII, not rebuilt until years later l Z3 was a stored-program computer (like Von Neumann computer) l never could convince the Nazis to put his computer to good use l Zuse smuggled his Z4 to the safety of Switzerland in a military truck l The accelerated pace of Western technological advances and the destruction of German infrastructure left Zuse behind George Stibitz l Electrical Engineer at Bell Labs l In 1937, constructed
    [Show full text]
  • Generations of Computers
    Chapter- 2 Generations of Computers The rapid development was characterized by the phases of growth, which have come to be called generation of computer. First Generation Basic component – Vacuum Tubes 1940-1956 Vacuum Tube consumed huge amount of electricity. Processing Speed – Slow & Unreliable Machine Heat Generation – Huge amount of Heat generated Size – Bulky & Non – Portable Machine. Lying frequently hardware failure. Instructions – Only Machine Language was used User Friendly – Very Difficult to operate Cost – Production & Maintenance costs was very High Example – ENIAC , UNIVAC , EDVAC, EDSAC, IBM-701 ENIAC - Electronic Numerical Integrator and Calculator UNIVAC - Universal Automatic Computer (First Digital Computer) EDVAC – Electronic discrete variable automatic computer EDSAC – Electronic delay storage automatic calculator IBM – International Business Machine Second Generation Basic component – Transistors & Diodes Processing Speed – More reliable than 1st one Heat Generation – Less amount of Heat generated Size – Reduced size but still Bulky Instructions – High level Language was used ( Like COBOL , ALGOL, SNOBOL) COBOL – Common Business Oriented Language ALGOL – ALGOrithmic Language SNOBOL – StriNg Oriented Symbolic Language User Friendly – Easy to operate from 1st one Cost – Production & Maintenance costs was < 1st Example – IBM 7090, NCR 304 Third Generation Basic component – IC (Integrated Circuits ) 1964-1971 IC is called micro electronics technology integrate a large number of circuit components in to
    [Show full text]
  • At Grange Farm the COMPUTER – the 20Th Century’S Legacy to the Next Millennium
    Computer Commemoration At Grange Farm THE COMPUTER – the 20th century’s legacy to the next millennium. This monument commemorates the early pioneers responsible for the development of machines that led to, or indeed were, the first electronic digital computers. This spot was chosen because the COLOSSUS, the first effective, operational, automatic, electronic, digital computer, was constructed by the Post Office Research Station at Dollis Hill (now BT research), whose research and development later moved from that site to Martlesham, just east of here and the landowners thought this would be a suitable setting to commemorate this achievement. The story of these machines has nothing to do with the names and companies that we associate with computers today. Indeed the originators of the computer are largely unknown, and their achievement little recorded. All the more worth recording is that this first machine accomplished a task perhaps as important as that entrusted to any computer since. The electronic digital computer is one of the greatest legacies the 20th century leaves to the 21st. The History of Computing… The shape of the monument is designed to reflect a fundamental concept in mathematics. This is explained in the frame entitled “The Monument”. You will notice that some of the Stations are blue and some are orange. Blue stations talk about concepts and ideas pertinent to the development of the computer, and orange ones talk about actual machines and the events surrounding them. The monument was designed and funded by a grant making charity. FUNDAMENTAL FEATURES OF COMPUTERS The computer is now so sophisticated that attention is not normally drawn to its fundamental characteristics.
    [Show full text]
  • TNMOC-Newsletter-Q2-2014.Pdf
    InSync News desk ummer Bytes is upon us. From TNMOC’s You Tube channel is 26th July to 2nd September, expanding with some fascinating Featured Machine Sthe whole Museum is open videos. Recent additions include every day from 11am to 5pm with two videos of TNMOC volunteers. digital fun and games for all the Machine People was made by a family. See page 16 for more details group from Queen Mary University and keep up-to-date on the web at of London and a video on two www.tnmoc.org/bytes EDSAC volunteers has been made by David Allen. Summer Bytes is being supported by Bloomberg and there will be There are now 13 videos tracing some fascinating special events the development of the EDSAC including a retro games weekend, project. The latest one gives a creating your own special effects great overview of progress by and a look back at effects pre-GCI Andrew Herbert and a first switch- with Mat Irvine of Blake’s 7 props on event is planned for the autumn. fame. At the beginning of September, The TNMOC shop has been watch out for an announcement of refurbished and is beginning to stock sponsorship from Ocado lots of new merchandise. An Technology to introduce youngsters example of the new items will be a to coding. reproduction of the Colossus infographic that appeared in The We welcome your suggestions Times earlier this year. and comments. Contact us via After the highly successful Colossus [email protected] Robinson at 70 event in February and the May or via regular post to: There’s a new project at TNMOC: to BBC TV One Show programme on recreate the Robinson.
    [Show full text]